:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#071525;color:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#071525}button,a{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:env(safe-area-inset-top) 18px calc(100px + env(safe-area-inset-bottom));background:radial-gradient(circle at 88% -8%,#1b4b65 0,transparent 37%),linear-gradient(155deg,#102a43 0,#071525 65%);position:relative;overflow:hidden}.app-shell:before{content:"";position:fixed;z-index:0;inset:auto -20vw -16vh auto;height:50vh;width:80vw;pointer-events:none;opacity:.22;background:repeating-linear-gradient(90deg,transparent 0 24px,#f0bc5e 26px 29px,transparent 31px 60px);transform:skewY(-14deg) rotate(-4deg)}.app-shell>*{position:relative;z-index:1}.topbar{height:72px;display:flex;align-items:center;gap:12px}.route-mark{display:grid;place-items:center;width:42px;height:42px;color:#071525;font-weight:900;letter-spacing:-.08em;background:#f0bc5e;border:3px solid #f9dc96;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.brand{background:none;color:inherit;border:0;padding:0;text-align:left;flex:1;line-height:1.05}.brand strong{display:block;color:#f0bc5e;font-size:.93rem;letter-spacing:.14em}.brand span{display:block;margin-top:4px;font-size:.62rem;color:#b9c8d8;letter-spacing:.09em}.icon-button{border:1px solid #43617c;color:#dbe8f6;background:#102a43cc;border-radius:50%;width:38px;height:38px;font-weight:800}.eyebrow{margin:0;font-weight:800;font-size:.68rem;letter-spacing:.13em;color:#8db7d0}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,8vw,3.55rem);letter-spacing:-.055em;line-height:.98;margin-bottom:16px}h2{letter-spacing:-.035em}.hero{padding:36px 8px 22px}.hero h1{max-width:10ch;margin-top:8px}.hero-copy{max-width:43ch;color:#c0cfdd;line-height:1.5}.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.hero-badges span{border:1px solid #385873;background:#112e48aa;padding:7px 10px;border-radius:999px;color:#d8e7f4;font-size:.73rem}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;margin:8px 0 18px;border:1px solid #2d4a63;background:#2d4a63;border-radius:17px}.stats-row div{background:#102a43e8;padding:16px 10px;text-align:center}.stats-row b{display:block;color:#fff;font-size:clamp(1rem,5vw,1.45rem);letter-spacing:-.04em}.stats-row span{display:block;color:#98afc2;font-size:.68rem;margin-top:5px}.resume-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px;margin:16px 0 28px;border:1px solid color-mix(in srgb,var(--accent),transparent 40%);border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent),#102a43 87%),#102a43);box-shadow:0 15px 30px #0003}.resume-card h2{margin:5px 0;font-size:1.15rem}.resume-card p{margin:0;color:#c5d4e1;font-size:.77rem}.module-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#061729;font-size:1.35rem;font-weight:900;background:var(--accent, #f0bc5e)}.module-symbol.large{width:62px;height:62px;margin-bottom:16px;font-size:1.9rem}.primary,.secondary{width:100%;border-radius:14px;padding:15px 18px;font-weight:850;border:0;margin-top:12px}.primary{color:#102a43;background:#f0bc5e;box-shadow:0 10px 20px #0003}.primary.compact{width:auto;margin:0;padding:10px 14px}.secondary{color:#d7e5ef;background:#193b57;border:1px solid #45647e}.danger{color:#ffc8c1;border-color:#874d4b;background:#3f2329}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:24px 0 12px}.section-heading h2{font-size:1.33rem;margin:3px 0 0}.text-button{border:0;color:#f0bc5e;background:none;font-weight:750;padding:8px 0}.module-grid,.module-list{display:grid;gap:10px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;min-height:90px;padding:14px;text-align:left;color:#edf4fa;border:1px solid #31516c;border-left:4px solid var(--accent);border-radius:15px;background:#112d47e8;transition:transform .16s ease,background .16s ease}.module-card:hover{transform:translateY(-2px);background:#173956}.module-card .module-symbol{width:33px;height:33px;font-size:1rem}.module-card-copy{min-width:0}.module-card-copy b,.module-card-copy small{display:block}.module-card-copy b{font-size:.9rem;line-height:1.1}.module-card-copy small{color:#9db5c7;font-size:.67rem;margin-top:7px;line-height:1.3}.chevron{color:#adc9da;font-size:1.5rem}.source-note{margin:22px 0;padding:16px;border-radius:14px;color:#bed0df;background:#0a2035cc;border:1px solid #294863;font-size:.77rem;line-height:1.45}.source-note b,.source-note span{display:block}.source-note b{color:#f0bc5e;margin-bottom:5px}.page-intro{padding:34px 0 18px;max-width:650px}.page-intro h1{font-size:clamp(1.8rem,7vw,3rem);margin:8px 0 12px}.page-intro p:not(.eyebrow){color:#bbcad7;line-height:1.5;margin-bottom:0}.topic-hero,.results-hero{padding:42px 4px 24px}.topic-hero h1{margin:6px 0;font-size:clamp(2.1rem,8vw,3.8rem)}.topic-hero>p:not(.eyebrow){color:#bdd0df;margin-bottom:20px}.topic-results{display:flex;gap:10px;flex-wrap:wrap}.topic-results span{min-width:88px;padding:10px 12px;border:1px solid #355773;border-radius:12px;background:#102b46b3;color:#aabed0;font-size:.67rem}.topic-results b{display:block;color:#fff;font-size:1rem;margin-bottom:3px}.mode-stack{display:grid;gap:12px;margin:14px 0 16px}.mode-card{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border:1px solid #3d607a;background:#102c47;color:#f5f7fa;padding:20px 18px;border-radius:18px;text-align:left}.mode-card.exam{background:linear-gradient(105deg,#102c47,#183b50)}.mode-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f0bc5e;color:#102a43;font-size:1.35rem;font-weight:900}.mode-card b,.mode-card small{display:block}.mode-card small{color:#a9bdcc;margin-top:5px;line-height:1.35;font-size:.76rem}.mode-card em{color:#f0bc5e;font-style:normal;font-size:1.65rem}.manual-link{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;border:1px dashed #4b7795;padding:16px;border-radius:14px;color:#e5f1f9;text-decoration:none;background:#0e263e}.manual-link>span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:#0d2942;background:#8bd3e6;font-weight:900}.manual-link b,.manual-link small{display:block}.manual-link small{color:#9bb4c6;margin-top:4px;font-size:.72rem;line-height:1.35}.question-top{display:flex;justify-content:space-between;gap:15px;padding:20px 0 12px}.question-top b{display:block;margin-top:6px;font-size:1.05rem}.timer{height:fit-content;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent),#102a43 72%);font-weight:900;font-variant-numeric:tabular-nums}.question-progress{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;color:#98aec1;font-size:.68rem;font-weight:800;letter-spacing:.08em}.question-progress i{display:block;height:6px;overflow:hidden;border-radius:999px;background:#27455f}.question-progress i b{display:block;height:100%;background:#f0bc5e;border-radius:inherit;transition:width .2s ease}.question-card{padding:30px 0 10px}.question-card h1{max-width:17ch;font-size:clamp(1.7rem,6.7vw,2.6rem);line-height:1.04}.answers{display:grid;gap:10px}.answer{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:15px;color:#f3f8fb;text-align:left;background:#102b45;border:1px solid #395c77;border-radius:14px}.answer:hover:not(:disabled){border-color:#f0bc5e;background:#163754}.answer:disabled{cursor:default}.answer span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#a8bdcc;background:#1f425e;font-size:.75rem}.answer b{font-size:.89rem;line-height:1.3}.answer em{color:#ecfff4;font-weight:900;font-style:normal}.answer.correct{border-color:#4ac78d;background:#163d37}.answer.correct span{background:#4ac78d;color:#05261b}.answer.wrong{border-color:#e16d68;background:#442a31}.answer.wrong span{background:#e16d68;color:#31070a}.question-hint{color:#90aabd;text-align:center;font-size:.76rem;padding:8px}.feedback{margin:16px 0;padding:17px;border-radius:16px;border:1px solid #3c627d;background:#102d47;line-height:1.45}.feedback.correct{border-color:#4ac78d;background:#113b34}.feedback.wrong{border-color:#e16d68;background:#402931}.feedback b{display:block;font-size:.9rem}.feedback a{display:inline-block;margin-top:10px;color:#b9e5ff;font-size:.76rem}.feedback-reference{margin:12px 0 0;color:#f2c7c4;font-size:.74rem;line-height:1.4}.feedback-citation{color:#b9e5ff;text-decoration:underline;text-underline-offset:3px}.manual-review{margin-top:14px}.manual-review>span{display:block;color:#efc7c3;font-size:.63rem;font-weight:850;letter-spacing:.11em}.manual-page-links{display:grid;gap:8px;margin-top:8px}.feedback .manual-page-link{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:0;padding:11px 12px;color:#f4f8fb;text-decoration:none;border:1px solid #b95f5c;border-radius:11px;background:#2a1d26}.manual-page-link>span:first-child{display:grid;place-items:center;width:26px;height:26px;color:#391119;border-radius:8px;background:#ffd1c9;font-weight:900}.manual-page-link b{color:#fff4f1;font-size:.76rem}.manual-page-link small{display:block;margin-top:2px;color:#e8bbb5;font-size:.66rem;line-height:1.35}.next-button{margin-top:3px}.results-hero{text-align:center;padding-top:60px}.results-hero strong{display:block;margin:8px 0;color:var(--accent);font-size:clamp(4rem,20vw,7rem);letter-spacing:-.1em;line-height:.9}.results-hero h1{margin:14px 0 7px;font-size:1.75rem}.results-hero p{color:#b5c9d8}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 18px}.result-grid div{padding:13px 10px;border-radius:13px;background:#112e49;border:1px solid #31516b;text-align:center}.result-grid b,.result-grid span{display:block}.result-grid b{color:#fff;font-size:.85rem}.result-grid span{margin-top:5px;color:#92acbf;font-size:.64rem}.review-list{display:grid;gap:9px}.review-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px;text-align:left;color:#edf6fb;background:#112e49;border:1px solid #385b75;border-radius:14px}.review-item span{display:grid;place-items:center;width:37px;height:30px;border-radius:8px;background:#294962;color:#f0bc5e;font-size:.67rem;font-weight:800}.review-item b{font-size:.82rem;line-height:1.3}.review-item em{font-style:normal;font-size:1.3rem;color:#f0bc5e}.empty-state{margin:30px 0;padding:35px 20px;text-align:center;border:1px dashed #466681;border-radius:18px;color:#acc3d2}.empty-state>span{display:grid;place-items:center;margin:0 auto 15px;width:50px;height:50px;border-radius:50%;color:#092820;background:#58cd94;font-size:1.7rem;font-weight:900}.empty-state h2{margin-bottom:8px;color:#edf6fb}.empty-state p{margin:0;font-size:.84rem;line-height:1.5}.about-card{margin:12px 0;padding:18px;border:1px solid #31526d;background:#112d47;border-radius:15px}.about-card b{color:#f0bc5e}.about-card p{margin:7px 0 0;color:#bfd0dd;font-size:.86rem;line-height:1.5}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,760px);padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #294963;background:#081b2cf2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;gap:4px;justify-items:center;color:#8da8bc;background:none;border:0;font-size:.68rem}.bottom-nav button span{font-size:1.25rem;line-height:1}.bottom-nav button.active{color:#f0bc5e;font-weight:800}@media(min-width:700px){.app-shell{padding-left:42px;padding-right:42px;border-left:1px solid #31516b;border-right:1px solid #31516b}.module-grid{grid-template-columns:repeat(2,1fr)}.module-list{grid-template-columns:repeat(2,minmax(0,1fr))}.module-list .module-card{min-height:100px}}@media(max-width:430px){.app-shell{padding-left:15px;padding-right:15px}.module-grid{gap:8px}.module-card{padding:12px;min-height:96px;grid-template-columns:auto 1fr}.module-card .chevron{display:none}.module-card-copy b{font-size:.8rem}.module-card-copy small{font-size:.61rem}}
