* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
    height: 100%;
    overflow: hidden;
    background: transparent;
  }

  body {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-family: 'Nunito', system-ui, sans-serif;
  }

  .header {
    text-align: center;
    padding: 14px 20px 6px;
    flex-shrink: 0;
  }

  .header h1 {
    font-family: 'Poppins', system-ui;
    font-size: clamp(1.2rem, 2.4vw, 1.9rem);
    font-weight: 900;
    background: #ffffff;;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.5px;
  }

  .header p {
    color: #7c6fa6;
    font-size: 0.78rem;
    margin-top: 2px;
    font-weight: 600;
  }

  .canvas-wrap {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px 10px;
    min-height: 0;
  }

  canvas {
    display: block;
    border-radius: 20px;
    box-shadow: 0 0 0 1.5px rgba(124,58,237,0.12);
    max-width: 100%;
    max-height: 100%;
  }


