:root{--bg:#f6f7fb;--surface:#fff;--ink:#16213e;--ink-soft:#4a5470;--line:#d9dde8;--brand:#1d2b53;--brand-ink:#fff;--accent:#b45309;--accent-bg:#fff4e5;--ok:#0f6b3d;--ok-bg:#e4f5ec;--warn:#8a4b00;--warn-bg:#fff1d6;--danger:#a31d1d;--danger-bg:#fdeaea;--focus:#1a56db;--radius:12px;--gap:16px;--touch:48px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--scale:1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e1424;--surface:#172037;--ink:#eef1fa;--ink-soft:#b4bcd4;--line:#2c3757;--brand:#8fb0ff;--brand-ink:#0e1424;--accent:#f5b25c;--accent-bg:#3a2b12;--ok:#6fdba3;--ok-bg:#12301f;--warn:#f5c36b;--warn-bg:#3a2b12;--danger:#ff9b9b;--danger-bg:#3d1919;--focus:#8fb0ff}}*{box-sizing:border-box}html{font-size:calc(100% * var(--scale));-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;line-height:1.5}h1,h2,h3{margin:0 0 8px;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.2rem}p{margin:0 0 12px}a{color:var(--brand)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.brand{color:var(--brand);letter-spacing:.02em;font-weight:700;text-decoration:none}.tools{align-items:center;gap:6px;display:flex}main.page{max-width:640px;margin:0 auto;padding:20px 16px 48px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:var(--gap);padding:20px 16px}button,.btn{font:inherit;min-height:var(--touch);min-width:var(--touch);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;padding:0 18px}button.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);font-weight:600}button.link{color:var(--brand);background:0 0;border:0;min-width:0;padding:0 4px;text-decoration:underline}button:disabled{opacity:.55;cursor:not-allowed}.tools button{min-width:36px;min-height:36px;padding:0 10px}label.field{margin-bottom:14px;font-weight:600;display:block}label.field span.hint{color:var(--ink-soft);font-size:.9rem;font-weight:400;display:block}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=number],select{width:100%;min-height:var(--touch);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--ink-soft);border-radius:10px;margin-top:6px;padding:8px 12px;display:block}.row{gap:0 12px;display:grid}@media (width>=520px){.row.two{grid-template-columns:1fr 1fr}}.check{min-height:var(--touch);align-items:flex-start;gap:12px;padding:8px 0;font-weight:400;display:flex}.check input{flex:none;width:24px;height:24px;margin:2px 0 0}.notice{margin-bottom:var(--gap);border-radius:10px;padding:12px 14px}.notice.error{background:var(--danger-bg);color:var(--danger)}.notice.info{background:var(--accent-bg);color:var(--warn)}.notice.ok{background:var(--ok-bg);color:var(--ok)}.scroll-text{border:1px solid var(--line);background:var(--bg);border-radius:10px;max-height:40vh;margin-bottom:12px;padding:12px;overflow:auto}.muted{color:var(--ink-soft)}.stack>*+*{margin-top:12px}.player{grid-template-rows:auto 1fr auto;min-height:100dvh;display:grid}.player-head{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 12px;display:flex;position:sticky;top:0}.player-head .title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.timer{font-variant-numeric:tabular-nums;background:var(--bg);border-radius:8px;padding:4px 10px;font-size:1.15rem;font-weight:700}.timer.low{background:var(--warn-bg);color:var(--warn)}.save{background:var(--ok-bg);color:var(--ok);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:.85rem}.save.saving{background:var(--accent-bg);color:var(--warn)}.save.offline,.save.closed{background:var(--danger-bg);color:var(--danger)}.player-body{align-content:start;gap:16px;width:100%;max-width:1100px;margin:0 auto;padding:16px 12px 96px;display:grid}@media (width>=900px){.player-body{grid-template-columns:minmax(0,1fr) 280px;padding-bottom:96px}}.q-meta{color:var(--ink-soft);margin-bottom:8px;font-size:.9rem}fieldset.question{border:0;min-width:0;margin:0;padding:0}fieldset.question legend{overflow-wrap:anywhere;margin-bottom:14px;padding:0;font-size:1.15rem;font-weight:600}.options{gap:10px;display:grid}.option{min-height:var(--touch);background:var(--surface);border:2px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:10px 14px;display:flex}.option input{flex:none;width:22px;height:22px;margin:0}.option.selected{border-color:var(--brand);background:var(--accent-bg)}.option .label{color:var(--ink-soft);flex:none;width:1.4em;font-weight:700}.q-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.player-foot{background:var(--surface);border-top:1px solid var(--line);z-index:5;justify-content:space-between;gap:8px;padding:10px 12px;display:flex;position:fixed;bottom:0;left:0;right:0}.player-foot .spacer{flex:1}.palette{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.palette h3{color:var(--ink-soft);margin:10px 0 6px;font-size:.95rem}.palette-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.pbtn{min-width:44px;min-height:44px;padding:0;font-weight:600;position:relative}.pbtn.answered{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.pbtn.marked:after{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;right:4px}.pbtn.current{outline:3px solid var(--focus);outline-offset:1px}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:.8rem;display:flex}@media (width<=899px){.palette-wrap{z-index:6;max-height:60dvh;padding:0 12px;display:none;position:fixed;bottom:68px;left:0;right:0;overflow:auto}.palette-wrap.open{display:block}.palette{box-shadow:0 -8px 24px #0000002e}}@media (width>=900px){.only-mobile{display:none!important}}.overlay{z-index:20;background:#0a0f1e99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);width:100%;max-width:480px;max-height:90dvh;padding:20px;overflow:auto}.dialog .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px;display:flex}table.summary{border-collapse:collapse;width:100%;margin:8px 0}table.summary th,table.summary td{text-align:left;border-bottom:1px solid var(--line);padding:6px 4px}table.summary td:last-child,table.summary th:last-child{text-align:right}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.progress{background:var(--line);height:4px}.progress>i{background:var(--ok);height:100%;transition:width .2s;display:block}.banner{text-align:center;padding:10px 14px;font-weight:600}.banner.warn{background:var(--danger-bg);color:var(--danger)}.banner.time{background:var(--warn-bg);color:var(--warn)}.chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.chip{min-width:44px;min-height:44px;padding:0 10px;font-weight:600}.hint{margin-top:10px;font-size:.85rem}@media (width<=899px){.only-desktop{display:none}}.field-block{margin-bottom:14px}.field-label{margin-bottom:4px;font-weight:600;display:block}.field-block input:not([type=checkbox]),.field-block select,.field-block textarea{width:100%;min-height:var(--touch);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--ink-soft);border-radius:10px;padding:8px 12px;display:block}.field-block [aria-invalid=true],label.field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:4px 0 0;font-size:.9rem;font-weight:600}.question-set{border:0;margin:0 0 14px;padding:0}.question-set legend{margin-bottom:4px;padding:0;font-weight:600}.results-grid{gap:12px;display:grid}@media (width>=520px){.results-grid.two{grid-template-columns:1fr 1fr}}.score-big{font-size:2.2rem;font-weight:700;line-height:1.1}.score-big small{color:var(--ink-soft);font-size:1rem;font-weight:400}.meter{background:var(--line);border-radius:5px;height:10px}.meter>i{background:var(--brand);border-radius:5px;height:100%;display:block}.meter.fit>i{background:var(--accent)}table.results{border-collapse:collapse;width:100%}table.results th,table.results td{text-align:left;border-bottom:1px solid var(--line);padding:8px 4px}table.results td:last-child,table.results th:last-child{text-align:right}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{padding:3px 0}:root{--bg:#f3f5fd;--surface:#fff;--ink:#0f1633;--ink-soft:#4b5577;--line:#dde2f2;--brand:#4338ca;--brand-2:#7c3aed;--brand-ink:#fff;--focus:#4338ca;--tint:#eef0ff;--grad:linear-gradient(135deg, #4338ca 0%, #7c3aed 55%, #0ea5e9 120%);--grad-text:linear-gradient(100deg, #1e1b8f, #6d28d9 60%, #0369a1);--glow:0 10px 28px -10px #4338ca8c;--shadow:0 1px 2px #0f16330d, 0 14px 32px -18px #0f163347;--radius:16px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#070b1b;--surface:#101733;--ink:#eef1ff;--ink-soft:#aab3d6;--line:#263059;--brand:#a5b4fc;--brand-2:#c4b5fd;--brand-ink:#0b1020;--focus:#a5b4fc;--tint:#1a2350;--grad:linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #38bdf8 120%);--grad-text:linear-gradient(100deg, #c7d2fe, #ddd6fe 55%, #7dd3fc);--glow:0 10px 28px -10px #818cf880;--shadow:0 1px 2px #0000004d, 0 14px 32px -18px #000000b3}}body{background:var(--bg);position:relative}body:before{content:"";z-index:-2;pointer-events:none;background-color:#0000;background-image:radial-gradient(900px 500px at 12% -10%,#7c3aed29,#0000 60%),radial-gradient(800px 500px at 100% 0,#0ea5e924,#0000 60%),radial-gradient(700px 500px at 60% 110%,#4338ca1f,#0000 60%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;animation:26s ease-in-out infinite alternate aurora;position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:.55;background-image:radial-gradient(var(--line) 1px, transparent 1.2px);background-size:30px 30px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 0,#000,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 0,#000,#0000 75%)}@keyframes aurora{0%{background-position:0 0}to{background-position:100% 60%}}h1{background:var(--grad-text);color:#0000;letter-spacing:-.01em;-webkit-background-clip:text;background-clip:text;width:fit-content;max-width:100%}h2{letter-spacing:-.005em}a{text-underline-offset:3px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.page-enter>*{animation:rise .55s var(--ease) both}.page-enter>:nth-child(2){animation-delay:60ms}.page-enter>:nth-child(3){animation-delay:.12s}.page-enter>:nth-child(4){animation-delay:.18s}.page-enter>:nth-child(5){animation-delay:.24s}.page-enter>:nth-child(n+6){animation-delay:.3s}.dialog{animation:pop .25s var(--ease) both}.overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:.2s both fade}@keyframes fade{0%{opacity:0}to{opacity:1}}.card,.stat,.palette{border-radius:var(--radius);box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--line) 80%, transparent)}.stat{transition:transform .3s var(--ease), box-shadow .3s var(--ease);position:relative;overflow:hidden}.stat:before{content:"";background:var(--grad);height:3px;position:absolute;inset:0 0 auto}.stat:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px #4338ca73}.notice{border:1px solid color-mix(in srgb, currentColor 22%, transparent)}button,.btn{transition:transform .2s var(--ease), box-shadow .2s var(--ease), background-color .2s, border-color .2s, filter .2s}button:not(:disabled):hover,.btn:hover{border-color:var(--brand)}button.primary,.btn.primary{background:var(--grad);color:var(--brand-ink);box-shadow:var(--glow);background-size:140% 100%;border:0;position:relative;overflow:hidden}button.primary:not(:disabled):hover{filter:brightness(1.07)saturate(1.1);background-position:100% 0;transform:translateY(-1px)}button.primary:not(:disabled):active{transform:none}button.primary:after{content:"";background:linear-gradient(110deg,#0000 30%,#ffffff59 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}button.primary:not(:disabled):hover:after{transition:transform .7s var(--ease);transform:translate(120%)}input,select,textarea{transition:border-color .2s,box-shadow .2s}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--brand) 22%, transparent);outline:none}.option{transition:border-color .2s, background-color .2s, transform .2s var(--ease)}.option:hover{border-color:var(--brand);transform:translate(2px)}.option.selected{background:var(--tint)}select{appearance:none;cursor:pointer;background-color:var(--surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b5577' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;line-height:1.3;padding-right:38px!important}select:hover{border-color:var(--brand)}select:disabled{cursor:not-allowed}select[multiple]{background-image:none;padding-right:12px!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aab3d6' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}.toolbar select,.toolbar input{min-height:40px;margin:0}.toolbar select{min-width:140px}.wordmark{letter-spacing:.01em;align-items:center;gap:10px;font-weight:800;display:inline-flex}.wordmark small{opacity:.7;letter-spacing:0;margin-left:8px;font-weight:600}.logo{filter:drop-shadow(0 4px 10px #7c3aed73);flex:none}.logo-needle{transform-origin:24px 24px;animation:settle 1.6s var(--ease) both}@keyframes settle{0%{transform:rotate(-130deg)}55%{transform:rotate(18deg)}80%{transform:rotate(-6deg)}to{transform:rotate(0)}}a:hover .logo-needle,.wordmark:hover .logo-needle{animation:spin-once 1s var(--ease)}@keyframes spin-once{to{transform:rotate(360deg)}}.split{display:block}.hero{display:none}@media (width>=1040px){.split{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);min-height:calc(100dvh - 64px);display:grid}.hero{color:#eef1ff;background:radial-gradient(900px 600px at 20% 10%,#3b2a9a 0%,#0000 60%),radial-gradient(700px 500px at 100% 100%,#0b5d86 0%,#0000 60%),#0b1020;flex-direction:column;justify-content:flex-start;gap:12px;padding:max(12vh,64px) 56px 48px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:44px 44px;animation:30s linear infinite grid-drift;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 75%);mask-image:radial-gradient(circle,#000,#0000 75%)}@keyframes grid-drift{to{background-position:44px 44px}}.hero-copy{z-index:2;max-width:460px;animation:rise .8s var(--ease) both;position:relative}.hero .eyebrow{letter-spacing:.18em;text-transform:uppercase;color:#7dd3fc;margin-bottom:14px;font-size:.78rem;font-weight:700;display:inline-block}.hero h2{color:#fff;background:linear-gradient(100deg,#fff,#c4b5fd 60%,#7dd3fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font-size:clamp(2rem,3.2vw,3rem);line-height:1.08}.hero p{color:#c9d1f0;max-width:46ch;font-size:1.05rem}.hero ul{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.hero li{color:#dfe5ff;animation:rise .7s var(--ease) both;align-items:center;gap:10px;display:flex}.hero li:first-child{animation-delay:.3s}.hero li:nth-child(2){animation-delay:.42s}.hero li:nth-child(3){animation-delay:.54s}.hero li svg{color:#22d3ee;flex:none}.hero-stage{aspect-ratio:1;z-index:1;opacity:.95;width:min(580px,66%);position:absolute;bottom:-70px;right:-70px}.hero-art{width:100%;height:100%;overflow:visible}.split-main{justify-content:center;align-items:center;padding:32px;display:flex}.split-main>*{width:min(460px,100%)}}.orbit{transform-origin:260px 260px}.o1{animation:90s linear infinite spin}.o2{animation:60s linear infinite reverse spin}.o3{animation:40s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.node{animation:3.2s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}.pulse{transform-origin:260px 260px;animation:7s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.8;transform:scale(1.06)}}.needle{transform-origin:260px 260px;animation:7s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(-16deg)}35%{transform:rotate(24deg)}65%{transform:rotate(-8deg)}}.chip-float{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff40;border-radius:999px;padding:8px 14px;font-size:.85rem;font-weight:600;animation:6s ease-in-out infinite float;position:absolute;box-shadow:0 10px 30px -12px #00000080}.chip-float.c1{top:30%;left:2%}.chip-float.c2{animation-delay:-2s;bottom:30%;left:-2%}.chip-float.c3{animation-delay:-4s;top:16%;right:24%}@keyframes float{50%{transform:translateY(-12px)}}.how{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);margin-bottom:18px;position:relative;overflow:hidden}.how:before{content:"";background:var(--grad);width:4px;position:absolute;inset:0 auto 0 0}.how summary{cursor:pointer;align-items:center;gap:10px;min-height:44px;padding:12px 16px 12px 20px;font-weight:700;list-style:none;display:flex}.how summary::-webkit-details-marker{display:none}.how summary .ico{background:var(--tint);width:30px;height:30px;color:var(--brand);border-radius:9px;flex:none;place-items:center;display:grid}.how summary .chev{transition:transform .25s var(--ease);color:var(--ink-soft);margin-left:auto}.how[open] summary .chev{transform:rotate(180deg)}.how-body{animation:rise .35s var(--ease) both;padding:0 20px 16px}.how-lead{color:var(--ink-soft);margin:0 0 12px}.how-steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.how-steps li{background:var(--bg);border:1px solid var(--line);counter-increment:step;transition:transform .25s var(--ease), border-color .25s;border-radius:14px;padding:14px 14px 12px;position:relative}.how-steps li:hover{border-color:var(--brand);transform:translateY(-3px)}.how-steps li:after{content:counter(step);color:var(--ink-soft);opacity:.7;font-size:.75rem;font-weight:800;position:absolute;top:10px;right:12px}.how-steps .ico{background:var(--grad);width:34px;height:34px;color:var(--brand-ink);box-shadow:var(--glow);border-radius:10px;place-items:center;margin-bottom:8px;display:grid}.how-steps b{margin-bottom:2px;display:block}.how-steps span{color:var(--ink-soft);font-size:.9rem;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.page-enter>*,.hero-copy,.hero li{opacity:1!important;transform:none!important}}.shell-header{z-index:10;background:color-mix(in srgb, var(--surface) 78%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding:10px 24px;position:sticky;top:0}.shell-header .brand{color:var(--ink);display:inline-flex}@media (width>=1040px){main.page.wide{max-width:none;padding:0}.shell-header{padding:12px 32px}}main.page{animation:none}.player{background:var(--bg);z-index:1;position:relative}@media (width>=900px){main.page{max-width:720px;padding-top:32px}main.page h1{font-size:1.9rem}}
