  .stage{position:relative;min-height:calc(100vh - 64px);overflow:hidden;display:flex;align-items:center;justify-content:center}
  .stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
  .stage .glow{background:radial-gradient(90% 70% at 50% -6%,rgba(27,148,222,.22),transparent 60%);z-index:0}
  .veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 60% at 50% 48%,rgba(4,7,12,.78),rgba(4,7,12,.35) 70%,rgba(4,7,12,.15))}
  .veil.hide{opacity:0;transition:opacity .5s ease}
  .panel{position:relative;z-index:3;width:min(560px,92vw);background:rgba(8,15,24,.5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border:1px solid rgba(98,198,255,.22);border-radius:var(--radius-lg);padding:clamp(24px,4vw,40px);box-shadow:0 40px 120px -30px rgba(0,0,0,.8)}
  .panel h1,.panel h2{font-size:clamp(26px,3.4vw,40px);line-height:1.08}
  .panel .eyebrow{margin-bottom:14px}
  .panel .eyebrow::before{display:none}
  .panel .sub{color:var(--muted-2);font-size:15px;line-height:1.6;margin:14px 0 22px}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
  .field input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--paper);font:inherit;font-size:15px;transition:border-color .2s}
  .field input:focus{outline:none;border-color:rgba(98,198,255,.6);background:rgba(98,198,255,.06)}
  .field input::placeholder{color:#6a7c8b}
  .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:520px){.two{grid-template-columns:1fr}}
  .pains .row{display:flex;align-items:center;gap:10px;margin-bottom:9px}
  .pains .row .n{flex:none;width:22px;height:22px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--lex-blue-2);background:rgba(27,148,222,.14);border:1px solid rgba(98,198,255,.3)}
  .pains .row input{flex:1}
  .err{color:#ff7a7a;font-size:13px;margin:2px 0 10px;min-height:16px}
  .btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
  .note{color:var(--muted);font-size:12px;margin-top:16px;line-height:1.5}
  /* HUD + overlays */
  .hud{position:absolute;top:16px;left:0;right:0;z-index:3;display:none;flex-direction:column;align-items:center;gap:10px;pointer-events:none;padding:0 16px}
  .hud.on{display:flex}
  .hud-title{color:var(--paper);font-size:clamp(13px,1.7vw,17px);font-weight:700;text-align:center;max-width:46ch;text-shadow:0 2px 14px rgba(0,0,0,.75)}
  .hud-chips{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
  .hud .chip{background:rgba(8,15,24,.72);border:1px solid rgba(98,198,255,.24);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--paper)}
  .hud .chip b{color:var(--lex-blue-2)}
  .hint{position:absolute;bottom:26px;left:0;right:0;z-index:3;text-align:center;color:var(--muted-2);font-size:13px;display:none;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}
  .hint.on{display:block}
  .crosshair{cursor:crosshair}
  .win{position:relative;z-index:3;width:min(520px,92vw);text-align:center;background:rgba(8,15,24,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    border:1px solid rgba(98,198,255,.3);border-radius:var(--radius-lg);padding:clamp(28px,4vw,44px);box-shadow:0 40px 120px -30px rgba(0,0,0,.85)}
  .win h2{font-size:clamp(24px,3vw,34px)}
  .win .big{color:var(--lex-blue-2);font-weight:800}
  .win .sub{color:var(--muted-2);margin:14px auto 24px;font-size:15px;line-height:1.6;max-width:40ch}
  .hidden{display:none!important}
