
  .quiz{position:relative;margin-top:-78px;min-height:100svh;background:var(--pine);color:var(--paper);overflow:hidden;isolation:isolate;display:flex;align-items:center;padding:140px 0 80px}
  .quiz::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 85% 15%,rgba(243,192,79,.12),transparent 60%),radial-gradient(45% 55% at 10% 95%,rgba(227,93,52,.18),transparent 60%);z-index:-2}
  .noise{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
  .noise path{fill:none;stroke-linecap:round}
  .scr{display:none;width:100%}
  .scr.on{display:block;animation:paneIn .7s var(--ease)}
  @keyframes paneIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
  /* intro */
  .intro{text-align:center;max-width:720px;margin-inline:auto}
  .intro .ic{width:96px;height:96px;margin:0 auto 26px;border-radius:30px;background:var(--sun);display:grid;place-items:center;animation:float 6s ease-in-out infinite}
  .intro .ic svg{width:48px;height:48px;stroke:var(--pine)}
  .intro h1{font-size:clamp(40px,6vw,84px);line-height:1.3;font-weight:900}
  .intro .stats2{display:flex;justify-content:center;gap:14px;margin:34px 0 38px}
  .intro .stats2 div{min-width:150px;padding:20px 24px;border-radius:24px;background:rgba(246,240,231,.07);border:1px solid rgba(246,240,231,.12)}
  .intro .stats2 b{display:block;font-size:40px;font-weight:800;color:var(--sun);line-height:1.2;direction:ltr}
  .intro .stats2 span{font-size:15px;color:rgba(246,240,231,.75)}
  .intro .btn{font-size:18px;padding:19px 36px}
  /* question */
  .qwrap{max-width:820px;margin-inline:auto}
  .qtop{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
  .ring{position:relative;width:74px;height:74px;flex:none}
  .ring svg{width:100%;height:100%;transform:rotate(-90deg)}
  .ring circle{fill:none;stroke-width:6}
  .ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:15px;font-weight:800;direction:ltr}
  .qbadge{display:inline-flex;padding:7px 14px;border-radius:999px;background:rgba(246,240,231,.08);font-size:13px;font-weight:700;color:var(--sun)}
  .qtext{font-size:clamp(26px,3.2vw,42px);line-height:1.55;font-weight:800;margin-top:14px;min-height:2.2em}
  .answers{display:grid;gap:12px;margin-top:30px}
  .ans{position:relative;display:flex;align-items:center;gap:18px;padding:20px 22px;border-radius:22px;background:rgba(246,240,231,.06);border:1.5px solid rgba(246,240,231,.12);cursor:pointer;text-align:right;font-size:18px;font-weight:600;color:var(--paper);transition:transform .4s var(--ease),background .35s,border-color .35s;opacity:0;transform:translateY(16px);animation:ansIn .55s var(--ease) forwards;animation-delay:calc(var(--i) * 70ms + 120ms)}
  @keyframes ansIn{to{opacity:1;transform:none}}
  .ans:hover{background:rgba(246,240,231,.1);transform:translateX(-6px)}
  .ans .lt{width:42px;height:42px;border-radius:14px;background:rgba(246,240,231,.1);display:grid;place-items:center;font-weight:800;flex:none;transition:.35s}
  .ans .ck{margin-inline-start:auto;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(246,240,231,.3);display:grid;place-items:center;flex:none;transition:.35s}
  .ans .ck svg{width:16px;height:16px;stroke:var(--pine);opacity:0;transition:.3s}
  .ans.sel{background:var(--paper);color:var(--pine);border-color:var(--paper)}
  .ans.sel .lt{background:var(--clay);color:#fff}
  .ans.sel .ck{background:var(--sun);border-color:var(--sun)}
  .ans.sel .ck svg{opacity:1}
  .qnav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
  .qnav .btn{--bg:transparent;--fg:var(--paper);box-shadow:inset 0 0 0 1.5px rgba(246,240,231,.35)}
  .qnav .btn[disabled]{opacity:.35;pointer-events:none}
  .qnav .btn.next{--bg:var(--clay);--fg:#fff;box-shadow:none}
  .keys{font-size:12.5px;color:rgba(246,240,231,.45);text-align:center;margin-top:18px}
  /* loading */
  .loading{text-align:center}
  .loading .breathe{width:140px;height:140px;margin:0 auto 26px;border-radius:50%;background:radial-gradient(circle,var(--sun),rgba(243,192,79,.15) 60%,transparent 70%);animation:breath 2.4s ease-in-out infinite}
  .loading p{font-size:20px;font-weight:600}
  /* result */
  .res{display:grid;grid-template-columns:auto 1fr;gap:60px;align-items:center;max-width:1000px;margin-inline:auto}
  .gauge{position:relative;width:320px;aspect-ratio:1}
  .gauge svg{width:100%;height:100%}
  .gauge .val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .gauge .val b{font-size:76px;font-weight:900;line-height:1;direction:ltr}
  .gauge .val span{font-size:14px;color:rgba(246,240,231,.6);margin-top:6px;direction:ltr}
  .res .lvl{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;font-weight:700;background:var(--lc);color:var(--pine)}
  .res h2{font-size:clamp(30px,3.6vw,50px);line-height:1.45;margin-top:14px}
  .res p{color:rgba(246,240,231,.78);margin-top:12px;font-size:17px;max-width:52ch}
  .res .scale{display:flex;gap:6px;margin-top:22px}
  .res .scale span{flex:1;height:8px;border-radius:8px;background:rgba(246,240,231,.12);position:relative}
  .res .scale span.on{background:var(--lc)}
  .res .scale-l{display:flex;justify-content:space-between;font-size:12px;color:rgba(246,240,231,.5);margin-top:8px}
  .res .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
  .res .ctas .btn.ghost{color:var(--paper)}
  .alert{display:none;gap:12px;margin-top:22px;padding:16px 18px;border-radius:18px;background:rgba(227,93,52,.18);border:1px solid rgba(227,93,52,.5);font-size:15px;line-height:1.8}
  .alert.on{display:flex}
  .alert svg{width:22px;height:22px;flex:none;stroke:var(--sun)}
  .disc{font-size:13px;color:rgba(246,240,231,.5);margin-top:22px}
  @media (max-width:900px){.res{grid-template-columns:1fr;justify-items:center;text-align:center;gap:30px}.res p{margin-inline:auto}.res .ctas{justify-content:center}.gauge{width:240px}.alert{text-align:right}}
  @media (max-width:600px){.quiz{margin-top:-68px;padding:110px 0 60px;align-items:flex-start}.ans{padding:16px;font-size:16px;gap:12px}.ans .lt{width:36px;height:36px}.intro .stats2 div{min-width:0;flex:1}.qnav .btn{flex:1;justify-content:center}.keys{display:none}.gauge .val b{font-size:60px}}
