    /* v6.2 — consent-first cinematic voice welcome. No browser autoplay. */
    #welcome-gate[hidden] { display: none !important; }
    #welcome-gate {
      position: fixed;
      inset: 0;
      z-index: 100;
      display: grid;
      place-items: center;
      padding: max(20px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
      background: radial-gradient(ellipse at 50% 43%, rgba(14, 86, 64, .30), transparent 65%), rgba(3, 12, 12, .91);
      backdrop-filter: blur(17px);
      -webkit-backdrop-filter: blur(17px);
      transition: opacity .35s ease, visibility .35s ease;
      overflow-y: auto;
    }
    #welcome-gate.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }
    .welcome-panel {
      position: relative;
      isolation: isolate;
      width: min(470px, 100%);
      padding: 32px 28px 26px;
      border: 1px solid rgba(214, 184, 112, .35);
      border-radius: 28px;
      background: linear-gradient(155deg, rgba(18, 46, 37, .97), rgba(8, 22, 28, .98));
      box-shadow: 0 30px 110px rgba(0,0,0,.65), inset 0 0 50px rgba(22, 124, 90, .06);
      text-align: center;
      overflow: hidden;
    }
    .welcome-panel::before {
      content: ''; position: absolute; inset: 0; border-radius: inherit;
      background: linear-gradient(115deg, transparent 45%, rgba(230,196,110,.055) 50%, transparent 55%);
      pointer-events: none; z-index: -1;
    }
    .welcome-eyebrow { color: #e5cc90; text-transform: uppercase; letter-spacing: .22em; font-size: 10px; font-weight: 800; }
    .welcome-visual { position: relative; width: 174px; height: 174px; margin: 16px auto 22px; display: grid; place-items: center; }
    .welcome-orbit { position: absolute; width: 152px; height: 152px; border: 1px dashed rgba(82, 218, 165, .54); border-radius: 50%; animation: welcome-spin 24s linear infinite; }
    .welcome-orbit:nth-child(2) { width: 122px; height: 122px; border-color: rgba(225, 192, 113, .66); animation-direction: reverse; animation-duration: 18s; }
    .welcome-orbit:nth-child(3) { width: 172px; height: 172px; border-style: solid; border-color: rgba(67, 176, 135, .17); animation-duration: 36s; }
    .welcome-core { width: 93px; height: 93px; border-radius: 50%; display: grid; place-items: center; color: #eed69a; font-family: Amiri, serif; font-size: 38px; line-height: 1; background: radial-gradient(circle, rgba(45,110,84,.50),rgba(14,39,33,.95)); border: 2px solid rgba(234, 200, 118,.65); box-shadow: 0 0 34px rgba(53, 181, 129,.26), inset 0 0 22px rgba(233,197,117,.08); }
    @keyframes welcome-spin { to { transform: rotate(360deg); } }
    .welcome-panel h2 { margin: 0 auto 10px; max-width: 360px; color: #f7f5ea; font-size: clamp(18px, 4.4vw, 25px); font-weight: 800; line-height: 1.35; }
    .welcome-description { color: #c2d7ca; font-size: 13px; line-height: 1.65; margin: 0 auto 24px; max-width: 365px; }
    .welcome-actions { display: flex; gap: 10px; flex-direction: column; }
    .welcome-actions button { min-height: 49px; border-radius: 13px; font: inherit; font-size: 13px; font-weight: 800; padding: 12px 15px; transition: filter .2s ease, transform .2s ease; touch-action: manipulation; }
    .welcome-actions button:hover { filter: brightness(1.12); transform: translateY(-1px); }
    .welcome-actions button:focus-visible { outline: 3px solid #e7c57b; outline-offset: 3px; }
    #welcome-with-audio { color: #102a20; background: linear-gradient(115deg, #dcb875, #f3dca1); display: flex; gap: 9px; align-items: center; justify-content: center; }
    #welcome-without-audio { color: #c8e6d6; background: rgba(14, 52, 39, .9); border: 1px solid rgba(84, 159, 128, .36); }
    .welcome-footnote { font-size: 10px; color: #8ca99d; margin: 16px 0 0; line-height: 1.6; }
    #replay-greeting { width: 38px; min-width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; color: #e7c980; background: rgba(29, 68, 50, .70); border: 1px solid rgba(213, 183, 116, .30); border-radius: 11px; touch-action: manipulation; }
    #replay-greeting:hover, #replay-greeting.is-speaking { background: rgba(211, 177, 95, .23); box-shadow: 0 0 0 3px rgba(223, 185, 107, .08); }
    #replay-greeting:focus-visible { outline: 2px solid #dfc586; outline-offset: 2px; }
    #replay-greeting:disabled { opacity: .55; cursor: not-allowed; }
    #voice-announcement { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    @media (max-width: 767px) {
      .welcome-panel { padding: 25px 19px 21px; border-radius: 22px; }
      .welcome-visual { width: 144px; height: 144px; margin: 13px auto 18px; transform: scale(.79); }
      .welcome-description { font-size: 12px; }
      .welcome-panel h2 { font-size: 20px; }
      #replay-greeting { width: 34px; min-width: 34px; height: 34px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .welcome-orbit { animation: none !important; }
      .welcome-actions button { transition: none !important; }
      #welcome-gate { transition: none; }
    }
  
