:root{color-scheme:dark;--bg:#050914;--panel:#0b1426;--line:#24375f;--text:#f4f7ff;--muted:#9cb0d3;--cyan:#54ddff;--violet:#8a68ff;--good:#65f2b2;--bad:#ff7187}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 20% 10%,#17265b 0,transparent 30%),radial-gradient(circle at 80% 20%,#21144f 0,transparent 35%),var(--bg);color:var(--text)}
body{overflow-x:hidden}
.bg-grid{position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(99,135,200,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(99,135,200,.13) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,black,transparent 85%)}
button,input{font:inherit;color:inherit}
.site-header{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px clamp(18px,5vw,68px);border-bottom:1px solid rgba(111,145,211,.16)}
.site-header h1{margin:2px 0 0;font-size:clamp(1.45rem,3vw,2.3rem)}
.eyebrow,.kicker{margin:0;color:var(--cyan);font-size:.74rem;letter-spacing:.16em;font-weight:800;text-transform:uppercase}
.session-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.session-stats span{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(10,19,38,.72);color:var(--muted)}
.session-stats b{color:var(--text)}
.shell{position:relative;z-index:1;width:min(1320px,100%);margin:auto;padding:clamp(18px,4vw,48px)}
.screen{display:none}
.screen.active{display:block;animation:screenIn .35s ease}
@keyframes screenIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.intro-screen{min-height:70vh;grid-template-columns:1.15fr .85fr;align-items:center;gap:50px}
.intro-screen.active{display:grid}
.hero-copy h2{max-width:900px;margin:16px 0;font-size:clamp(2.25rem,5.8vw,5.4rem);line-height:.98;letter-spacing:-.045em}
.hero-copy p:not(.kicker){max-width:720px;color:var(--muted);font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.7}
.primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:13px 20px;background:linear-gradient(110deg,var(--cyan),var(--violet));color:#06101d;font-weight:900;cursor:pointer;box-shadow:0 12px 36px rgba(89,103,255,.25);text-decoration:none}
.primary:disabled{filter:grayscale(1);opacity:.52;cursor:not-allowed;box-shadow:none}
.primary.loading{gap:10px;filter:none;opacity:.78}
.primary.loading:before{content:"";width:18px;height:18px;border-radius:50%;border:3px solid rgba(6,16,29,.28);border-top-color:#06101d;animation:buttonSpin .8s linear infinite}
.large{padding:17px 28px;font-size:1.05rem}
.secondary-action{background:transparent;color:var(--text);border:1px solid rgba(84,221,255,.35);box-shadow:none}
.hero-visual{position:relative;min-height:430px;display:grid;place-items:center}
.core{position:relative;z-index:2;width:170px;aspect-ratio:1;display:grid;place-items:center;border:2px solid var(--cyan);border-radius:32%;font-size:4rem;font-weight:1000;background:rgba(7,16,34,.88);box-shadow:0 0 80px rgba(84,221,255,.35);animation:float 3s ease-in-out infinite}
.orb{position:absolute;border:1px solid rgba(112,148,230,.5);border-radius:50%;animation:spin 14s linear infinite}
.orb-a{width:330px;height:330px}
.orb-b{width:450px;height:450px;animation-direction:reverse;animation-duration:20s}
.orb:after{content:"";position:absolute;width:18px;height:18px;background:var(--violet);border-radius:50%;top:12%;left:17%;box-shadow:0 0 25px var(--violet)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes buttonSpin{to{transform:rotate(360deg)}}
@keyframes float{50%{transform:translateY(-12px)}}
.question-screen{max-width:980px;margin:20px auto}
.question-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:22px}
.question-head h2{margin:7px 0 0;font-size:clamp(1.7rem,4vw,3rem)}
.question-progress{min-width:180px;text-align:right;color:var(--muted)}
.question-progress>div{height:7px;background:#14213d;border-radius:99px;margin-top:8px;overflow:hidden}
.question-progress i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .3s}
.question-card{padding:clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(145deg,rgba(16,29,55,.95),rgba(7,14,29,.95));box-shadow:0 30px 80px rgba(0,0,0,.25)}
.domain-chip{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(84,221,255,.1);color:var(--cyan);font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}
.question-card h3{font-size:clamp(1.25rem,2.6vw,2rem);line-height:1.35;margin:20px 0 26px}
.answers{display:grid;gap:12px}
.answer{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:15px;background:#0b1529;cursor:pointer;transition:.18s}
.answer:hover{transform:translateY(-2px);border-color:var(--cyan)}
.answer .letter{display:grid;place-items:center;min-width:30px;height:30px;border-radius:8px;background:#172441;color:var(--cyan);font-weight:900}
.answer.correct{border-color:var(--good);background:rgba(46,172,119,.12)}
.answer.wrong{border-color:var(--bad);background:rgba(195,58,81,.12)}
.answer:disabled{cursor:default;transform:none}
.feedback{margin:18px 0;padding:16px;border-left:3px solid var(--cyan);background:rgba(84,221,255,.07);color:#dbe8ff;line-height:1.55}
.assignment-screen{min-height:70vh;place-items:center}
.assignment-screen.active{display:grid}
.assignment-card{text-align:center;width:min(740px,100%);padding:48px 28px;border:1px solid var(--line);border-radius:30px;background:rgba(8,16,34,.9)}
.assignment-card h2{font-size:clamp(2rem,5vw,4.5rem);margin:18px 0 10px}
.assignment-card p:not(.eyebrow){color:var(--muted)}
.result-card{position:relative;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.32)}
.result-card:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 18% 18%,rgba(84,221,255,.18),transparent 26%),radial-gradient(circle at 82% 28%,rgba(138,104,255,.18),transparent 30%);pointer-events:none}
.result-card>*{position:relative;z-index:1}
.badge-medal{width:clamp(118px,18vw,170px);aspect-ratio:1;margin:22px auto 18px}
.badge-medal svg,.share-card-badge svg{display:block;width:100%;height:100%}
.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px auto 18px;max-width:620px}
.result-stats span{padding:13px 12px;border:1px solid rgba(84,221,255,.22);border-radius:16px;background:rgba(7,15,31,.72);color:var(--muted);font-size:.9rem}
.result-stats b{display:block;color:var(--text);font-size:clamp(1.15rem,2.4vw,1.7rem);margin-bottom:2px}
.name-field{display:grid;gap:8px;max-width:620px;margin:0 auto 16px;text-align:left}
.name-field span{color:var(--cyan);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.name-field input{width:100%;border:1px solid rgba(84,221,255,.28);border-radius:14px;background:rgba(7,15,31,.72);color:var(--text);font-weight:800;padding:14px 16px;outline:0}
.name-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(84,221,255,.13)}
.share-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:center;max-width:620px;margin:18px auto 22px;padding:16px;border:1px solid rgba(84,221,255,.22);border-radius:22px;background:linear-gradient(135deg,rgba(5,9,20,.92),rgba(19,35,68,.78));text-align:left}
.share-card-badge{width:92px;aspect-ratio:1}
.share-card small{display:block;color:var(--cyan);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.share-card strong{display:block;margin:6px 0;color:var(--text);font-size:clamp(1.2rem,3vw,1.75rem);line-height:1.1}
.share-card span{display:block;color:var(--muted);line-height:1.45}
.badge-feedback{max-width:620px;margin:0 auto 24px!important;line-height:1.6;color:#dbe8ff!important}
.result-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
@media(max-width:900px){.intro-screen.active{grid-template-columns:1fr}.hero-visual{min-height:300px}}
@media(max-width:620px){.site-header{align-items:flex-start;flex-direction:column;padding:16px}.session-stats{justify-content:flex-start}.session-stats span{padding:7px 9px;font-size:.78rem}.shell{padding:14px}.hero-visual{display:none}.question-head{align-items:start;flex-direction:column}.question-progress{width:100%;text-align:left}.result-card{padding:34px 18px}.result-stats{grid-template-columns:1fr}.badge-medal{width:118px}.share-card{grid-template-columns:70px minmax(0,1fr);gap:12px}.share-card-badge{width:70px}.result-actions>*{width:100%;justify-content:center;text-align:center}}
