    * { margin: 0; padding: 0; box-sizing: border-box; }
    html, body { width: 100%; height: 100%; }
    html, body { touch-action: none; overscroll-behavior: none; }
    body {
      /* Quiet-luxury studio + a soft gold whisper behind the box (brand DNA, not a puddle). */
      background:
        radial-gradient(36% 28% at 50% 44%,
          rgba(201,166,89,0.20) 0%,
          rgba(201,166,89,0.07) 48%,
          rgba(201,166,89,0.00) 76%),
        radial-gradient(72% 58% at 50% 44%,
          #1a2d58 0%,
          #12244a 38%,
          #0c1836 68%,
          #070e20 100%);
      overflow: hidden;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      cursor: grab;
    }
    body.grabbing { cursor: grabbing; }
    canvas { display: block; position: fixed; inset: 0; width: 100%; height: 100%; touch-action: none; }
    .info {
      position: fixed;
      bottom: 1.6rem;
      left: 50%;
      transform: translateX(-50%);
      color: #c9a05f;
      font-size: 0.8rem;
      text-align: center;
      opacity: 0.65;
      pointer-events: none;
      z-index: 10;
      letter-spacing: .02em;
    }
    .fold-ctrl {
      position: fixed;
      bottom: 1.2rem;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      gap: 1rem;
      z-index: 11;
      padding: .62rem 1.05rem;
      border-radius: 999px;
      background: rgba(15, 22, 42, 0.42);
      border: 1px solid rgba(201,160,95,0.28);
      box-shadow:
        0 8px 30px rgba(0,0,0,0.45),
        inset 0 1px 0 rgba(255,255,255,0.06);
      -webkit-backdrop-filter: blur(14px) saturate(140%);
      backdrop-filter: blur(14px) saturate(140%);
      touch-action: pan-x;
    }
    .fold-ctrl .lbl {
      font-size: .66rem;
      font-weight: 600;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(255,255,255,.5);
      transition: color .25s ease, text-shadow .25s ease;
      user-select: none;
    }
    .fold-ctrl .lbl.active {
      color: #e8c589;
      text-shadow: 0 0 12px rgba(201,160,95,.5);
    }
    .fold-ctrl input[type="range"] {
      -webkit-appearance: none;
      appearance: none;
      width: 168px;
      height: 4px;
      border-radius: 999px;
      background:
        linear-gradient(90deg, #c9a05f 0%, #e8c589 var(--val,100%), rgba(255,255,255,.16) var(--val,100%));
      outline: none;
      cursor: pointer;
    }
    .fold-ctrl input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      width: 20px; height: 20px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 30%, #fff 0%, #f4e6cd 40%, #d9b374 100%);
      border: 1.5px solid #c9a05f;
      box-shadow: 0 0 0 5px rgba(201,160,95,0.14), 0 3px 8px rgba(0,0,0,0.5);
      cursor: pointer;
      transition: box-shadow .2s ease, transform .12s ease;
    }
    .fold-ctrl input[type="range"]:active::-webkit-slider-thumb {
      transform: scale(1.12);
      box-shadow: 0 0 0 8px rgba(201,160,95,0.20), 0 4px 12px rgba(0,0,0,0.55);
    }
    .fold-ctrl input[type="range"]::-moz-range-thumb {
      width: 18px; height: 18px;
      border-radius: 50%;
      background: radial-gradient(circle at 35% 30%, #fff 0%, #f4e6cd 40%, #d9b374 100%);
      border: 1.5px solid #c9a05f;
      box-shadow: 0 0 0 5px rgba(201,160,95,0.14), 0 3px 8px rgba(0,0,0,0.5);
      cursor: pointer;
    }
    .fold-ctrl input[type="range"]::-moz-range-track {
      height: 4px; border-radius: 999px; background: transparent;
    }
