@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-cyrillic-400-normal-BTdD9fLi.woff2)format("woff2"),url(/assets/onest-cyrillic-400-normal-BQq8x-Ju.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/onest-cyrillic-700-normal-3rOSeAdn.woff2)format("woff2"),url(/assets/onest-cyrillic-700-normal-BYHfPO1G.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/onest-cyrillic-800-normal-QkauEl2X.woff2)format("woff2"),url(/assets/onest-cyrillic-800-normal-BK5UozLr.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/onest-latin-400-normal-9AYXx_QC.woff2)format("woff2"),url(/assets/onest-latin-400-normal-RaMPE1jb.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/onest-latin-700-normal-DMkYZIUB.woff2)format("woff2"),url(/assets/onest-latin-700-normal-HOulLaZS.woff)format("woff")}@font-face{font-family:Onest;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/onest-latin-800-normal-wB2poyF_.woff2)format("woff2"),url(/assets/onest-latin-800-normal-ovMoM2vU.woff)format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2)format("woff2"),url(/assets/source-serif-4-latin-400-normal-C1O10bxN.woff)format("woff")}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2)format("woff2"),url(/assets/source-serif-4-latin-400-italic-DZulBB6l.woff)format("woff")}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2)format("woff2"),url(/assets/source-serif-4-latin-600-normal-DeJomR3S.woff)format("woff")}:root{--font-ui:"Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-text:"Source Serif 4", Georgia, "Times New Roman", serif;--bg:#f5f5fa;--bg-elev:#fff;--bg-sunk:#eeeef4;--text:#16182b;--text-soft:#4e5170;--text-faint:#5f6283;--border:#e4e4ee;--primary:#4f46e5;--primary-strong:#4338ca;--primary-soft:#eef0ff;--on-primary:#fff;--xp:#4338ca;--streak:#c2410c;--crystal:#0369a1;--gold:#f59e0b;--gold-soft:#fff3d6;--success:#047857;--success-bright:#059669;--success-soft:#ecfdf5;--success-line:#a7f3d0;--danger:#be123c;--danger-bright:#e11d48;--danger-soft:#fff1f3;--danger-line:#fecdd3;--highlight:#fde68a;--vocab-underline:#6366f1;--shadow:0 1px 2px #16182b0d, 0 8px 24px #16182b0f;--radius:18px;--radius-sm:12px;--tap:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1020;--bg-elev:#181a2f;--bg-sunk:#21233b;--text:#eef0ff;--text-soft:#bcbfe0;--text-faint:#9497b8;--border:#2c2e4d;--primary:#8b85ff;--primary-strong:#a5a0ff;--primary-soft:#26254d;--on-primary:#0f1020;--xp:#a5a0ff;--streak:#fb923c;--crystal:#38bdf8;--gold:#fbbf24;--gold-soft:#3a2e10;--success:#4ade80;--success-bright:#22c55e;--success-soft:#10291c;--success-line:#1f5236;--danger:#fb7185;--danger-bright:#fb7185;--danger-soft:#35121c;--danger-line:#5c2232;--highlight:#7c5e10;--vocab-underline:#a5a0ff;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1020;--bg-elev:#181a2f;--bg-sunk:#21233b;--text:#eef0ff;--text-soft:#bcbfe0;--text-faint:#9497b8;--border:#2c2e4d;--primary:#8b85ff;--primary-strong:#a5a0ff;--primary-soft:#26254d;--on-primary:#0f1020;--xp:#a5a0ff;--streak:#fb923c;--crystal:#38bdf8;--gold:#fbbf24;--gold-soft:#3a2e10;--success:#4ade80;--success-bright:#22c55e;--success-soft:#10291c;--success-line:#1f5236;--danger:#fb7185;--danger-bright:#fb7185;--danger-soft:#35121c;--danger-line:#5c2232;--highlight:#7c5e10;--vocab-underline:#a5a0ff;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}#root{min-height:100dvh}img,svg{max-width:100%}a{color:var(--primary)}h1,h2,h3{letter-spacing:-.015em;margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(1.55rem,4vw,2.1rem);font-weight:800}h2{font-size:1.2rem;font-weight:800}h3{font-size:1.02rem;font-weight:700}p{margin:0 0 .8em}:focus-visible{outline:3px solid var(--primary);outline-offset:2px;border-radius:8px}.icon{vertical-align:middle;flex-shrink:0;display:inline-block}.btn{min-height:var(--tap);border:2px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;text-decoration:none;transition:transform 60ms,background .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 3px 0 var(--primary-strong)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-primary:active{box-shadow:0 1px 0 var(--primary-strong)}.btn-success{color:#fff;background:#047857;border-color:#047857;box-shadow:0 3px #065f46}.btn-ghost{background:0 0;border-color:#0000}.btn-small{border-radius:12px;min-height:40px;padding:0 14px;font-size:.92rem}.btn-block{width:100%}.icon-btn{border:1px solid var(--border);background:var(--bg-elev);min-width:44px;min-height:44px;color:var(--text-soft);cursor:pointer;font:inherit;border-radius:12px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.icon-btn.plain{background:0 0;border-color:#0000}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.stack>*+*{margin-top:14px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.grid-auto{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=760px){.grid-auto{grid-template-columns:1fr 1fr}}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.raised{box-shadow:var(--shadow)}.muted{color:var(--text-soft)}.faint{color:var(--text-faint);font-size:.88rem}.eyebrow{letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:800}.section-title{justify-content:space-between;align-items:baseline;margin:4px 0 10px;display:flex}.section-title h2{margin:0;font-size:1.05rem}.pill{background:var(--bg-sunk);color:var(--text-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.pill-primary{background:var(--primary-soft);color:var(--primary)}.pill-gold{background:var(--gold-soft);color:#854d0e}.pill-success{background:var(--success-soft);color:var(--success)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.bar{background:var(--bg-sunk);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--primary);border-radius:999px;height:100%;transition:width .5s;display:block}.input{width:100%;min-height:var(--tap);border:2px solid var(--border);background:var(--bg-elev);color:var(--text);font:inherit;border-radius:14px;padding:0 14px;font-size:1.05rem}.input:focus{border-color:var(--primary);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.shell{min-height:100dvh;display:flex}.sidenav{display:none}.main{min-width:0;padding-bottom:calc(76px + env(safe-area-inset-bottom));flex:1}.topbar{z-index:20;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:9px;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.chips{gap:6px;display:flex}.chip{background:var(--bg-elev);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:17px;align-items:center;gap:5px;height:34px;padding:0 11px;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.chip.streak{color:var(--streak)}.chip.xp{color:var(--xp)}.chip.crystal{color:var(--crystal)}.chip.idle{color:var(--text-faint)}.bottomnav{z-index:30;background:var(--bg-elev);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.navlink{min-height:60px;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:700;text-decoration:none;display:flex}.navlink.active{color:var(--primary)}@media (width>=960px){.sidenav{border-right:1px solid var(--border);background:var(--bg-elev);flex-direction:column;flex-shrink:0;gap:4px;width:236px;height:100dvh;padding:20px 14px;display:flex;position:sticky;top:0}.sidenav .navlink{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:46px;padding:0 12px;font-size:.95rem}.sidenav .navlink.active{background:var(--primary-soft)}.bottomnav{display:none}.main{padding-bottom:0}.topbar .brand{visibility:hidden}}.page{padding-top:8px;padding-bottom:28px}.footer{border-top:1px solid var(--border);color:var(--text-faint);margin-top:36px;padding:18px 0 8px;font-size:.78rem;line-height:1.45}.footer p{margin:0 0 6px}.feedback-fab{right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:25;background:var(--bg-elev);border:1px solid var(--border);min-width:44px;min-height:44px;box-shadow:var(--shadow);color:var(--text-soft);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex;position:fixed}.feedback-fab .fab-label{display:none}@media (width>=960px){.feedback-fab{padding:0 14px;bottom:20px}.feedback-fab .fab-label{display:inline}}.hero{background:var(--d-strong,var(--primary));color:#fff;border-radius:22px;flex-direction:column;gap:8px;min-height:190px;padding:20px;text-decoration:none;display:flex;position:relative;overflow:hidden}.hero .hero-art{opacity:.95;pointer-events:none;width:160px;height:auto;position:absolute;bottom:-8px;right:-10px}.hero .hero-tag{background:#00000038;border-radius:12px;align-self:flex-start;padding:4px 10px;font-size:.75rem;font-weight:700}.hero .hero-title{max-width:62%;font-size:1.45rem;font-weight:800;line-height:1.15}.hero .hero-sub{opacity:.92;max-width:60%;font-size:.85rem}.hero .hero-cta{min-height:44px;color:var(--d-strong,var(--primary-strong));background:#fff;border-radius:14px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:0 18px;font-weight:800;display:inline-flex;position:relative}.tile{background:var(--bg-elev);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.tile .big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800}.ring-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}@media (width>=760px){.ring-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.skill-ring{align-items:center;gap:10px;min-width:0;display:flex}.skill-ring .name{font-size:.83rem;font-weight:700;line-height:1.2}.skill-ring .state{color:var(--text-faint);font-size:.72rem}.list-tile{background:var(--bg-elev);border:1px solid var(--border);min-height:60px;color:var(--text);font:inherit;text-align:left;border-radius:16px;align-items:center;gap:12px;width:100%;padding:10px 14px;text-decoration:none;display:flex}button.list-tile{cursor:pointer}.list-tile.locked{color:var(--text-faint);pointer-events:none}.list-tile .badge{background:color-mix(in srgb, var(--d,var(--primary)) 13%, var(--bg-elev));width:38px;height:38px;color:var(--d,var(--primary));border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.list-tile .grow{flex:1;min-width:0}.list-tile .title{font-size:.95rem;font-weight:700;display:block}.list-tile .sub{color:var(--text-faint);font-size:.8rem;display:block}.world-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:22px;overflow:hidden}.world-band{background:color-mix(in srgb, var(--d) 10%, var(--bg-elev));border-bottom:1px solid color-mix(in srgb, var(--d) 22%, var(--bg-elev));align-items:center;gap:12px;padding:14px 16px;display:flex}.world-icon{background:var(--d);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.world-card.locked .world-icon{background:var(--bg-sunk);color:var(--text-faint)}.world-card.compact .world-band{background:var(--bg-elev);border-bottom:0}.world-card.compact .world-icon{background:color-mix(in srgb, var(--d) 13%, var(--bg-elev));color:var(--d)}.world-desc{color:var(--text-soft);margin:0;padding:12px 16px 0;font-size:.9rem}.path{flex-direction:column;padding:14px 16px 18px;display:flex}.path-step{min-height:56px;color:var(--text);border-radius:16px;align-items:center;gap:14px;padding:2px 6px;text-decoration:none;display:flex}.path-step.indent{margin-left:30px}.path-link{background:var(--border);width:2px;height:12px;margin-left:33px}.path-link.done{background:color-mix(in srgb, var(--d) 40%, var(--bg-elev))}.node{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;font-size:1.15rem;font-weight:800;display:inline-flex}.node.done{background:var(--d);color:#fff;box-shadow:0 4px 0 var(--d-strong)}.node.current{background:var(--bg-elev);border:4px solid var(--d);width:58px;height:58px;color:var(--d-strong);box-shadow:0 0 0 6px color-mix(in srgb, var(--d) 18%, transparent)}.node.locked{background:var(--bg-sunk);color:var(--text-faint)}.node.boss{color:#fbbf24;background:#1f2140;border-radius:16px}.node.boss.locked{background:var(--bg-sunk);color:var(--text-faint)}.path-step .label{min-width:0}.path-step .label strong{font-size:.95rem;display:block}.path-step .label span{color:var(--text-faint);font-size:.8rem;display:block}.path-step.is-locked{pointer-events:none}.path-step.is-locked .label strong{color:var(--text-faint);font-weight:600}.stars{color:var(--gold);gap:1px;display:inline-flex}.stars .off{color:var(--bg-sunk)}.exam{z-index:40;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.exam-top{z-index:20;padding:8px 12px 10px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--bg-elev);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;display:flex;position:sticky;top:0}.exam-row{align-items:center;gap:8px;min-width:0;display:flex}.exam-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.timer{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-soft);font-size:.95rem;font-weight:800}.timer.low{color:var(--danger)}.segments{flex:1;gap:4px;display:grid}.segments span{background:var(--bg-sunk);border-radius:4px;height:8px}.segments span.done{background:var(--d,var(--primary))}.segments span.miss{background:color-mix(in srgb, var(--danger-bright) 55%, var(--bg-sunk))}.segments span.now{background:color-mix(in srgb, var(--d,var(--primary)) 45%, var(--bg-sunk))}.dchip{text-overflow:ellipsis;white-space:nowrap;background:color-mix(in srgb, var(--d,var(--primary)) 12%, var(--bg-elev));min-width:0;max-width:100%;color:color-mix(in srgb, var(--d-strong,var(--primary)) 82%, #000);border-radius:10px;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:700;display:inline-flex;overflow:hidden}.exam-body{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:18px 16px}.q-layout{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.q-layout.has-passage{grid-template-columns:1.1fr 1fr;gap:28px}.q-layout.has-passage .q-passage{border-right:1px solid var(--border);padding-right:28px}}.q-passage{font-family:var(--font-text);font-size:1.08rem;line-height:1.65}.q-passage p{margin:0 0 .9em}.q-passage .text-label{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin:0 0 4px;font-size:.8rem;font-weight:800}.q-passage ul{margin:0 0 .9em;padding-left:1.2em}.q-passage li{margin-bottom:.35em}.blank{border-bottom:2px solid var(--text);min-width:4.5em;display:inline-block;transform:translateY(-3px)}.tok{border-radius:3px}.tok.hl{background:var(--highlight)}.tok.vocab{-webkit-text-decoration:underline dotted var(--vocab-underline);text-decoration:underline dotted var(--vocab-underline);text-underline-offset:4px;cursor:pointer;text-decoration-thickness:2px}.highlight-mode .tok{cursor:pointer}.q-stem{margin:0 0 14px;font-size:1rem;font-weight:700}.q-number{align-items:center;gap:10px;margin-bottom:12px;display:inline-flex}.q-number b{background:var(--text);min-width:30px;height:30px;color:var(--bg);border-radius:9px;place-items:center;padding:0 6px;font-size:.88rem;display:inline-grid}.choices{gap:9px;display:grid}.choice-row{align-items:stretch;gap:6px;display:flex}.choice{border:2px solid var(--border);background:var(--bg-elev);min-height:52px;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:14px;flex:1;align-items:flex-start;gap:12px;padding:12px 14px;font-weight:500;transition:border-color .12s,background .12s;display:flex}.choice .letter{background:var(--bg-sunk);border-radius:9px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.82rem;font-weight:800;display:inline-grid}.choice .ctext{padding-top:3px}.choice.selected{border-color:var(--primary);background:var(--primary-soft)}.choice.selected .letter{background:var(--primary);color:var(--on-primary)}.choice.correct{border-color:var(--success-bright);background:var(--success-soft);box-shadow:0 3px 0 var(--success-bright);font-weight:700}.choice.correct .letter{background:var(--success-bright);color:#fff}.choice.wrong{border-color:var(--danger-bright);background:var(--danger-soft)}.choice.wrong .letter{background:var(--danger-bright);color:#fff}.choice.dim{color:var(--text-faint)}.choice.struck .ctext,.choice.struck .letter{opacity:.45;text-decoration:line-through}.strike-btn{border:1px solid var(--border);background:var(--bg-elev);min-width:44px;color:var(--text-soft);cursor:pointer;border-radius:12px;font-size:.82rem;font-weight:800;text-decoration:line-through}.strike-btn.undo{font-size:.72rem;text-decoration:none}.exam-bottom{z-index:20;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--bg-elev);border-top:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid;position:sticky;bottom:0}.qnav-btn{border:1px solid var(--border);background:var(--bg-sunk);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;justify-self:center;align-items:center;gap:6px;padding:0 14px;font-weight:700;display:inline-flex}.practice-actions{z-index:20;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--bg-elev);border-top:1px solid var(--border);position:sticky;bottom:0}.practice-actions .inner{flex-wrap:wrap;align-items:center;gap:10px;max-width:1240px;margin:0 auto;display:flex}.feedback{z-index:20;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.22s ease-out slideUp;position:sticky;bottom:0}.feedback .inner{flex-direction:column;gap:10px;max-width:1240px;margin:0 auto;display:flex}.feedback.ok{background:var(--success-soft);border-top:2px solid var(--success-line);color:var(--success)}.feedback.bad{background:var(--danger-soft);border-top:2px solid var(--danger-line);color:var(--danger)}.feedback .headline{justify-content:space-between;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:flex}.feedback .reward{color:var(--xp);align-items:center;gap:4px;font-size:.9rem;display:inline-flex}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.pop{animation:.35s ease-out both pop}@media (prefers-reduced-motion:reduce){.feedback,.pop{animation:none}.bar>span{transition:none}}.review-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:10px;display:grid}.review-cell{border:2px dashed var(--text-faint);min-height:52px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:12px;font-weight:800;position:relative}.review-cell.answered{border-style:solid;border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.review-cell.current{outline:3px solid var(--gold)}.review-cell .flag{color:var(--danger-bright);position:absolute;top:-8px;right:-6px}.sheet-backdrop{z-index:50;background:#0a0a1973;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=760px){.sheet-backdrop{align-items:center}}.sheet{background:var(--bg-elev);width:100%;max-width:640px;max-height:85dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;overflow:auto}@media (width>=760px){.sheet{border-radius:22px}}.popover{z-index:60;left:16px;right:16px;bottom:calc(96px + env(safe-area-inset-bottom));background:var(--bg-elev);border:1px solid var(--border);max-width:420px;box-shadow:var(--shadow);border-radius:18px;margin:0 auto;padding:14px 16px;position:fixed}.explain{border:1px solid var(--border);background:var(--bg-elev);color:var(--text);border-radius:18px;margin-top:4px;padding:16px}.explain h4{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:0 0 6px;font-size:.72rem}.explain .section+.section{margin-top:14px}.explain .wrong-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.explain .wrong-list li{gap:8px;display:flex}.explain .wrong-list b{background:var(--danger-soft);width:24px;height:24px;color:var(--danger);border-radius:7px;flex-shrink:0;place-items:center;font-size:.75rem;display:inline-grid}.inline-rich p{margin:0}.hint-box{background:var(--gold-soft);color:var(--text);border-radius:14px;margin-top:14px;padding:12px 14px}.verdict{border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-weight:700;display:flex}.verdict.ok{background:var(--success-soft);color:var(--success)}.verdict.bad{background:var(--danger-soft);color:var(--danger)}.rich p{margin:0 0 .7em}.rich p:last-child{margin-bottom:0}.rich ul{margin:0 0 .7em;padding-left:1.2em}.rich li{margin-bottom:.3em}.rich em{font-family:var(--font-text);font-size:1.04em}.lesson-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:22px;min-height:300px;padding:20px 18px}.lesson-card .kind{text-transform:uppercase;letter-spacing:.06em;border-radius:10px;align-items:center;gap:8px;margin-bottom:12px;padding:5px 10px;font-size:.75rem;font-weight:800;display:inline-flex}.lesson-card.rule .kind{background:var(--primary-soft);color:var(--primary)}.lesson-card.trap .kind{background:var(--danger-soft);color:var(--danger)}.lesson-card.example .kind{background:var(--success-soft);color:var(--success)}.lesson-card.tip .kind{background:var(--gold-soft);color:#854d0e}.lesson-card.text .kind{background:var(--bg-sunk);color:var(--text-soft)}.dots{justify-content:center;gap:6px;display:flex}.dots span{background:var(--border);border-radius:4px;width:8px;height:8px;transition:width .2s}.dots span.on{background:var(--d,var(--primary));width:22px}.shop-item{background:var(--bg-elev);border:1px solid var(--border);border-radius:18px;align-items:center;gap:12px;padding:14px;display:flex}.shop-item .grow{flex:1;min-width:0}.price{border:2px solid var(--crystal);min-height:40px;color:var(--crystal);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;align-items:center;gap:5px;padding:0 14px;font-weight:800;display:inline-flex}.price:disabled{opacity:.45;cursor:not-allowed}.price.owned{border-color:var(--border);color:var(--text-faint)}.swatch{color:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.landing-nav{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.landing-hero{padding:28px 0 36px}.landing-hero h1{margin-bottom:16px;font-size:clamp(2rem,6vw,3.3rem);line-height:1.06}.landing-hero .lead{color:var(--text-soft);max-width:640px;font-size:1.1rem}.accent-text{color:var(--primary)}.feature-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=640px){.feature-grid{grid-template-columns:1fr 1fr}}@media (width>=960px){.feature-grid{grid-template-columns:repeat(3,1fr)}}.feature .f-icon{background:color-mix(in srgb, var(--d,var(--primary)) 13%, var(--bg-elev));width:44px;height:44px;color:var(--d,var(--primary));border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.shots{scroll-snap-type:x mandatory;grid-auto-columns:minmax(220px,260px);grid-auto-flow:column;gap:14px;padding-bottom:8px;display:grid;overflow-x:auto}.shots img{border:1px solid var(--border);width:100%;box-shadow:var(--shadow);scroll-snap-align:start;border-radius:20px;display:block}.section-block{padding:26px 0}.disclaimer-box{border:1px solid var(--border);background:var(--bg-sunk);color:var(--text-soft);border-radius:18px;padding:14px 16px;font-size:.85rem}.seg-toggle{border:1px solid var(--border);background:var(--bg-elev);border-radius:999px;display:inline-flex;overflow:hidden}.seg-toggle button{min-width:48px;min-height:40px;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 14px;font-weight:700}.seg-toggle button.on{background:var(--primary);color:var(--on-primary)}.score-range{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(1.8rem,6vw,2.5rem);font-weight:800}.flashcard{text-align:center;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);width:100%;min-height:250px;font:inherit;color:inherit;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.flashcard .word{font-size:2rem;font-weight:800}.table-fig{border-collapse:collapse;width:100%;font-family:var(--font-ui);margin:6px 0 14px;font-size:.9rem}.table-fig caption{text-align:left;margin-bottom:6px;font-weight:700}.table-fig th,.table-fig td{border:1px solid var(--border);text-align:left;padding:6px 8px}.table-fig th{background:var(--bg-sunk)}.fig-scroll{overflow-x:auto}.chart-fig{font-family:var(--font-ui);margin:6px 0 14px}.chart-fig figcaption{margin-bottom:6px;font-size:.9rem;font-weight:700}.legend{color:var(--text-soft);flex-wrap:wrap;gap:12px;font-size:.8rem;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:4px;display:inline-block}.empty{text-align:center;color:var(--text-soft);padding:40px 16px}.empty .empty-icon{background:var(--primary-soft);width:72px;height:72px;color:var(--primary);border-radius:22px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.result-hero{text-align:center;padding:24px 16px}.result-hero .medal{background:var(--d-strong,var(--primary));color:#fff;border-radius:28px;justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:12px;display:inline-flex}.toast{left:50%;top:calc(16px + env(safe-area-inset-top));z-index:70;background:var(--text);color:var(--bg);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex;position:fixed;transform:translate(-50%)}.report-btn{color:var(--text-faint);min-height:40px;padding:0 6px;font-weight:600}@media print{.sidenav,.bottomnav,.topbar,.feedback-fab,.footer,.no-print{display:none!important}.main{padding:0}body{background:#fff}}.d-ink{color:color-mix(in srgb, var(--d-strong,var(--primary)) 82%, #000)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .d-ink,:root:not([data-theme=light]) .dchip{color:color-mix(in srgb, var(--d,var(--primary)) 55%, #fff)}}:root[data-theme=dark] .d-ink,:root[data-theme=dark] .dchip{color:color-mix(in srgb, var(--d,var(--primary)) 55%, #fff)}
