@font-face{font-family:Onest;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/onest-400.woff2)format("woff2")}@font-face{font-family:Onest;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/onest-500.woff2)format("woff2")}@font-face{font-family:Onest;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/onest-600.woff2)format("woff2")}@font-face{font-family:Onest;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/onest-700.woff2)format("woff2")}@font-face{font-family:Onest;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/onest-800.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/golos-400.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/golos-500.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/golos-600.woff2)format("woff2")}@font-face{font-family:Golos Text;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/golos-700.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jbmono-500.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jbmono-600.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jbmono-700.woff2)format("woff2")}:root{--blue-50:#eaf2fb;--blue-100:#d2e3f6;--blue-200:#a7c8ec;--blue-300:#74a6df;--blue-400:#4382ce;--blue-500:#2468b5;--blue-600:#1b5798;--blue-700:#16487c;--blue-800:#143c64;--blue-900:#112e4a;--amber-50:#fdf6e6;--amber-100:#fae8bf;--amber-200:#f4d287;--amber-300:#edb949;--amber-400:#e5a31f;--amber-500:#c9870f;--amber-600:#a06a0c;--amber-700:#7c520c;--green-50:#e8f5ee;--green-100:#c6e7d4;--green-200:#93cdac;--green-300:#5db482;--green-400:#2f9a60;--green-500:#1f8a5b;--green-600:#176e49;--green-700:#125539;--red-50:#fcebec;--red-100:#f7ced1;--red-200:#ec9aa0;--red-300:#e2737b;--red-400:#d6444f;--red-500:#cc1f2d;--red-600:#ad1623;--red-700:#8b121d;--paper-0:#fdfbf6;--paper-50:#faf6ee;--paper-100:#f5f0e6;--paper-200:#ece5d7;--paper-300:#ddd4c2;--paper-400:#c9bda6;--ink-900:#181b20;--ink-800:#23282f;--ink-700:#383f48;--ink-600:#525a63;--ink-500:#5e646a;--ink-450:#62676d;--ink-400:#969ba2;--ink-300:#bcc0c5;--surface-page:var(--paper-100);--surface-card:var(--paper-0);--surface-sunken:var(--paper-200);--surface-inverse:var(--ink-900);--surface-inverse-hover:var(--ink-700);--surface-tint:var(--blue-50);--text-strong:var(--ink-900);--text-body:var(--ink-800);--text-muted:var(--ink-500);--text-subtle:var(--ink-450);--text-on-fill:#fff;--text-on-blue:var(--text-on-fill);--text-link:var(--blue-600);--border-hairline:var(--paper-300);--border-strong:var(--paper-400);--border-focus:var(--blue-500);--border-hover:var(--blue-300);--action-primary:var(--blue-600);--action-primary-hover:var(--blue-700);--action-primary-press:var(--blue-800);--accent:var(--amber-400);--accent-soft:var(--amber-50);--accent-strong:var(--amber-600);--correct:var(--green-500);--correct-soft:var(--green-50);--correct-line:var(--green-200);--correct-text:var(--green-700);--wrong:var(--red-500);--wrong-soft:var(--red-50);--wrong-line:var(--red-200);--wrong-text:var(--red-700);--accent-text:var(--amber-700);--focus-ring:0 0 0 3px var(--paper-0), 0 0 0 5px var(--blue-400);--font-display:"Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Golos Text", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-extra:800;--t-display-xl:3.25rem;--t-display-l:2.5rem;--t-display-m:2rem;--t-heading:1.5rem;--t-subhead:1.25rem;--t-body-l:1.125rem;--t-body:1rem;--t-body-s:.9375rem;--t-caption:.8125rem;--t-micro:.6875rem;--lh-tight:1.08;--lh-snug:1.25;--lh-normal:1.5;--lh-relaxed:1.65;--ls-tight:-.02em;--ls-snug:-.01em;--ls-normal:0;--ls-wide:.04em;--ls-caps:.08em;--text-display:var(--w-extra) var(--t-display-l)/var(--lh-tight) var(--font-display);--text-title:var(--w-bold) var(--t-display-m)/var(--lh-snug) var(--font-display);--text-heading-role:var(--w-bold) var(--t-heading)/var(--lh-snug) var(--font-display);--text-question:var(--w-medium) var(--t-body-l)/var(--lh-relaxed) var(--font-body);--text-explanation:var(--w-regular) var(--t-body)/var(--lh-relaxed) var(--font-body);--text-ui:var(--w-medium) var(--t-body)/var(--lh-normal) var(--font-body);--text-meta:var(--w-medium) var(--t-caption)/var(--lh-normal) var(--font-body);--text-overline:var(--w-medium) var(--t-micro)/var(--lh-normal) var(--font-mono);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--container-max:72rem;--reading-max:38rem;--app-max:28rem;--gutter:var(--space-5);--tap-min:2.75rem;--tap-comfortable:3.25rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--border-width:1px;--border-width-strong:1.5px;--shadow-xs:0 1px 2px #181b200d;--shadow-sm:0 1px 2px #181b200d, 0 2px 6px #181b200d;--shadow-md:0 2px 4px #181b200a, 0 6px 16px #181b2012;--shadow-lg:0 4px 10px #181b200d, 0 14px 34px #181b201a;--shadow-focusable:0 0 0 3px var(--blue-100);--shadow-tutor:0 2px 6px #143c640f, 0 12px 30px #143c641f;--ease-standard:cubic-bezier(.32, .08, .24, 1);--ease-out:cubic-bezier(.16, .84, .44, 1);--dur-fast:.12s;--dur-base:.2s;--dur-slow:.32s;--dur-spin:.9s;--xp:var(--amber-400);--xp-soft:var(--amber-50);--streak-flame:#e5631f;--streak-soft:#fdeee2;--streak-frozen:var(--blue-300);--tier-bronze:#b07a43;--tier-bronze-soft:#f3e7d6;--tier-silver:#8a93a0;--tier-silver-soft:#eceef1;--tier-gold:var(--amber-400);--tier-gold-soft:var(--amber-50);--tier-legend:#8a5cc4;--tier-legend-soft:#f1eaf9;--league-wood:#9a7b53;--league-bronze:#b07a43;--league-silver:#8a93a0;--league-gold:var(--amber-400);--reward-glow:0 0 0 6px var(--amber-50), 0 10px 30px #e5a31f40}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--surface-page);color:var(--text-body);font:var(--text-ui);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--ls-snug);margin:0}p{text-wrap:pretty;margin:0}a{color:var(--text-link);text-underline-offset:2px}button{font-family:inherit}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-xs);outline:none}::selection{background:var(--amber-200);color:var(--ink-900)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);margin:0}.app{flex-direction:column;min-height:100vh;display:flex}.app-head{width:100%;max-width:var(--container-max);box-sizing:border-box;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-4) var(--space-5);margin:0 auto;display:flex}.app-brand{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--t-subhead);color:var(--text-strong);text-decoration:none}.app-tag{color:var(--text-muted);font-size:var(--t-body-s)}.app-head-right{align-items:center;gap:var(--space-3);display:flex}.auth{font-size:var(--t-body-s);align-items:center;gap:.5rem;display:inline-flex}.auth-me{align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.auth-me:hover .auth-name{color:var(--action-primary)}.auth-ava{object-fit:cover;border-radius:50%;flex:none}.auth-name{color:var(--text-strong);font-weight:var(--w-semibold)}.auth-out{cursor:pointer;color:var(--text-muted);font-size:var(--t-body-s);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.auth-in{color:var(--text-on-fill);white-space:nowrap;border-radius:var(--radius-sm);font-size:var(--t-body-s);font-weight:var(--w-semibold);cursor:pointer;background:#07f;border:none;align-items:center;gap:.4rem;padding:.4rem .8rem;font-family:inherit;text-decoration:none;display:inline-flex}.auth-in-form{display:contents}.auth-in:hover{background:#0a6ae0}.auth-in--ya{background:#fc3f1d}.auth-in--ya:hover{background:#e23314}.auth-in__ya{font-size:1.05em;font-weight:800;line-height:1}.auth-in--google{color:#1f1f1f;background:#fff;border:1px solid #dadce0}.auth-in--google:hover{background:#f7f8f8}.auth-trigger{background:var(--action-primary);color:var(--text-on-fill);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--t-body-s);font-weight:var(--w-semibold);border:none;align-items:center;padding:.4rem .9rem;display:inline-flex}.auth-trigger:hover{background:var(--action-primary-hover)}.auth-modal{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-modal__card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xl);width:100%;max-width:340px;box-shadow:var(--shadow-md);padding:var(--space-6);outline:none;position:relative}.auth-modal__close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:1.6rem;line-height:1;position:absolute;top:.6rem;right:.8rem}.auth-modal__title{font-family:var(--font-display);color:var(--text-strong);margin:0 0 .3rem;font-size:1.3rem;font-weight:800}.auth-modal__sub{color:var(--text-muted);font-size:var(--t-body-s);margin:0 0 1.1rem}.auth-modal__list{flex-direction:column;gap:.6rem;display:flex}.auth-modal__list .auth-in{justify-content:center;padding:.6rem;font-size:.95rem}.auth-modal__ok{cursor:pointer;border-radius:var(--radius-sm);width:100%;font-family:inherit;font-weight:var(--w-semibold);background:var(--text-strong);color:var(--text-on-fill);border:none;padding:.6rem;font-size:.95rem}.auth-modal__ok:hover{background:var(--surface-inverse-hover)}.auth-modal__err{color:var(--wrong);font-size:var(--t-body-s);margin:.8rem 0 0}@media (width<=640px){.app-tag{display:none}}.app-nav{display:none}.app-nav__item{min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font:var(--text-ui);align-items:center;text-decoration:none;display:inline-flex}.app-nav__item:hover{color:var(--action-primary)}.app-nav__item.active{color:var(--action-primary);font-weight:var(--w-semibold)}@media (width>=641px){.app-nav{gap:var(--space-2);display:flex}}.app-main{flex:1;width:100%;padding-bottom:84px}@media (width>=1024px){.app-main{padding-bottom:var(--space-6)}}.page{width:100%;max-width:var(--app-max);box-sizing:border-box;padding:0 var(--space-5);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.page-title{font-family:var(--font-display);font-size:var(--t-heading);margin:0}.muted{color:var(--text-muted);font-size:var(--t-body-s);line-height:1.6}.errbox{max-width:24rem;padding:var(--space-6);align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;margin:12vh auto 0;display:flex}.errbox__icon{width:3.5rem;height:3.5rem;color:var(--wrong);background:var(--wrong-soft);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.errbox__title{font-family:var(--font-display);font-size:var(--t-subhead);color:var(--text-strong);margin:0}.errbox__msg{color:var(--text-muted);margin:0;line-height:1.6}.errbox__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.sec-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--t-subhead);color:var(--text-strong)}.sec-ctx{font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-link);font-size:12px;font-weight:400}.sec-link{color:var(--text-link);margin-top:12px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.sec-link:hover{text-decoration:underline}.home-head{flex-direction:column;gap:2px;display:flex}.home-hi{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--ls-snug);margin:0;font-size:26px;font-weight:800}.home-sub{color:var(--text-muted);margin:0;font-size:14px}.cat-ctx{flex-direction:column;gap:8px;display:flex;container-type:inline-size}.cat-ctx__lbl{font-family:var(--font-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--text-subtle);font-size:11px}.cat-seg{background:var(--surface-sunken);border:1px solid var(--border-hairline);border-radius:var(--radius-pill);gap:4px;padding:4px;display:flex}.cat-seg__btn{border-radius:var(--radius-pill);cursor:pointer;min-height:44px;font-family:var(--font-body);white-space:nowrap;color:var(--text-muted);transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.cat-seg__btn svg{width:16px;height:16px}.cat-seg__btn.on{background:var(--action-primary);color:var(--text-on-fill);box-shadow:var(--shadow-xs)}.cat-seg--many .cat-desc{display:none}@container (width<=380px){.cat-seg .cat-desc{display:none}}.veh-ico{background-color:currentColor;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.veh-ico--car{-webkit-mask-image:url(/veh/car.png);mask-image:url(/veh/car.png)}.veh-ico--moto{-webkit-mask-image:url(/veh/moto.png);mask-image:url(/veh/moto.png)}.veh-ico--truck{-webkit-mask-image:url(/veh/truck.png);mask-image:url(/veh/truck.png)}.veh-ico--bus{-webkit-mask-image:url(/veh/bus.png);mask-image:url(/veh/bus.png)}.ready{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:18px;display:flex}.ready-top{justify-content:space-between;align-items:baseline;display:flex}.ready-top span{color:var(--text-body);font-size:14px;font-weight:600}.ready-top b{font-family:var(--font-display);color:var(--action-primary);font-size:26px;font-weight:800}.ready-note{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.ready-actions{flex-direction:column;gap:10px;display:flex}.ready-actions__row{gap:10px;display:flex}.ready-ctx{color:var(--text-muted);align-items:flex-start;gap:6px;margin:0;font-size:12px;line-height:1.4;display:flex}.ready-ctx svg{color:var(--action-primary);flex:none;margin-top:2px}.ready-ctx b{color:var(--action-primary-hover);white-space:nowrap;font-weight:600}.topics{flex-direction:column;gap:12px;display:flex}.topic{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);color:inherit;transition:border-color var(--dur-fast) var(--ease-standard);flex-direction:column;gap:9px;padding:13px 15px;text-decoration:none;display:flex}.topic:hover{border-color:var(--border-hover)}.topic-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.topic-row span{color:var(--text-strong);font-size:14px;font-weight:500;line-height:1.3}.topic-row em{font-family:var(--font-mono);color:var(--text-subtle);white-space:nowrap;font-size:12px;font-style:normal}.tg-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.tg-tile{aspect-ratio:1;background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);color:inherit;flex-direction:column;justify-content:center;align-items:center;gap:1px;text-decoration:none;display:flex;position:relative}.tg-tile:hover{border-color:var(--border-hover)}.tg-tile b{font-family:var(--font-display);color:var(--text-strong);font-size:19px;font-weight:800}.tg-tile small{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--text-subtle)}.tg-tile--completed{background:var(--correct-soft);border-color:var(--correct-line)}.tg-tile--completed b{color:var(--correct-text)}.tg-tile--inProgress{background:var(--accent-soft);border-color:var(--accent)}.tg-tile--inProgress small{color:var(--accent-text);font-weight:var(--w-semibold)}.tg-tile__ck{color:var(--correct);display:inline-flex;position:absolute;top:5px;right:5px}.quiz{width:100%;max-width:var(--container-max);box-sizing:border-box;padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.quiz-bar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.quiz-bar__seg{flex:1;min-width:140px}.quiz-bar__count{font-family:var(--font-mono);font-size:var(--t-caption);color:var(--text-muted);white-space:nowrap}.quiz-grid{gap:var(--space-4);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=1024px){.quiz-grid{grid-template-columns:1fr 400px;gap:32px}}.quiz-main{flex-direction:column;gap:18px;min-width:0;display:flex}.quiz-img{border-radius:var(--radius-lg);border:1px solid var(--border-hairline);background:var(--surface-card);width:100%;height:auto}.quiz-q{font-family:var(--font-body);color:var(--text-strong);margin:0;font-size:22px;font-weight:500;line-height:1.5}.quiz-opts{flex-direction:column;gap:12px;display:flex}.quiz-foot{align-items:center;gap:16px;min-height:48px;display:flex}.quiz-verdict{margin-bottom:var(--space-6);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.quiz-verdict.ok{color:var(--correct-text)}.quiz-verdict.no{color:var(--wrong-text)}.quiz-side{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=1024px){.quiz-side{position:sticky;top:24px}}.quiz-side__hint{padding:var(--space-5);background:var(--surface-card);border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-muted);font-size:var(--t-body-s);margin:0;line-height:1.5}.quiz-nav{gap:10px;display:flex}.quiz-nav .sv-btn{flex:1}.ready-actions__row .sv-btn,.page .quiz-nav .sv-btn{white-space:normal;text-align:center;min-width:0}.quiz-actionbar,body.quiz-mode .tabbar,body.quiz-mode .app-nav,body.quiz-mode .app-foot,body.exam-mode .app-head{display:none}@media (width<=1023px){html.quiz-mode,body.quiz-mode{overscroll-behavior:none;overflow:hidden}body.quiz-mode .app{height:100svh;min-height:0;overflow:hidden}body.quiz-mode .app-main{flex-direction:column;min-height:0;padding-bottom:0;display:flex;overflow:hidden}.quiz{flex:1;gap:16px;min-height:0;padding:10px 16px 0}.quiz-grid{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable both-edges;flex:1;min-height:0;overflow-y:auto}.quiz-bar{background:var(--surface-page);flex:none;padding:6px 0}.quiz-foot,.quiz-grid .quiz-nav .sv-btn:last-child{display:none}.quiz-actionbar{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0));border-top:1px solid var(--border-hairline);background:var(--surface-card);flex:none;margin:0 -16px;display:block;position:static}.quiz-actionbar .sv-btn{width:100%}.quiz-actionbar__hint{text-align:center;color:var(--text-subtle);margin:6px 0 0;font-size:12px}}.exam-q{flex-direction:column;gap:18px;width:100%;max-width:720px;margin:0 auto;display:flex}.exam-timer{font-family:var(--font-mono);color:var(--text-strong);white-space:nowrap;align-items:center;gap:6px;font-weight:700;display:inline-flex}.exam-timer--low{color:var(--wrong)}.exam-result{text-align:center;padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--border-hairline);flex-direction:column;align-items:center;gap:8px;display:flex}.exam-result--ok{background:var(--correct-soft);border-color:var(--correct-line)}.exam-result--no{background:var(--wrong-soft);border-color:var(--wrong-line)}.exam-result__icon{color:var(--text-strong)}.exam-result--ok .exam-result__icon{color:var(--correct)}.exam-result--no .exam-result__icon{color:var(--wrong)}.exam-result__title{font-family:var(--font-display);font-size:var(--t-heading);margin:0}.exam-result__stats{font-family:var(--font-mono);color:var(--text-muted);font-size:var(--t-body-s);margin:0}.exam-review{gap:var(--space-4);flex-direction:column;display:flex}.exam-review__q{margin:0 0 var(--space-2);font-weight:var(--w-semibold)}.exam-extra-note{color:var(--accent-text);font-size:13px;font-weight:var(--w-semibold);margin:0}.quiz-norm{margin:-2px 0 2px;font-size:14px;font-weight:600}.quiz-norm.ok{color:var(--correct)}.quiz-norm.no{color:var(--accent-text)}.quiz-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 8px;display:grid}@media (width<=560px){.quiz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.quiz-stats__tile{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:12px 14px;display:flex}.quiz-stats__tile span{color:var(--text-muted);font-size:13px}.quiz-stats__tile b{font-family:var(--font-display);color:var(--text-strong);font-size:22px;font-weight:800;line-height:1}.quiz-stats__tile b.ok{color:var(--correct-text)}.quiz-stats__tile b.no{color:var(--wrong-text)}.tabbar{z-index:40;background:var(--surface-card);border-top:1px solid var(--border-hairline);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar__item{min-height:56px;color:var(--text-subtle);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;font-size:11px;text-decoration:none;display:flex}.tabbar__item.is-active{color:var(--action-primary)}@media (width>=641px){.tabbar{display:none}}.app-foot{width:100%;max-width:var(--container-max);margin:var(--space-6) auto 0;box-sizing:border-box;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-hairline);flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.app-foot a{color:var(--text-muted);font-size:var(--t-body-s);text-decoration:none}.app-foot a:hover{color:var(--action-primary)}body.onboarding-active .app-head,body.onboarding-active .tabbar,body.onboarding-active .app-foot{display:none}body.onboarding-active .app-main{padding-bottom:0}.ob{box-sizing:border-box;max-width:480px;min-height:100dvh;padding:18px 20px calc(18px + env(safe-area-inset-bottom,0));flex-direction:column;gap:18px;margin:0 auto;display:flex}.ob-head{align-items:center;gap:12px;display:flex}.ob-back{background:var(--surface-sunken);width:40px;height:40px;color:var(--text-body);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ob-progress{flex:1}.ob-step{font-family:var(--font-mono);color:var(--text-subtle);white-space:nowrap;font-size:11px}.ob-body{flex-direction:column;flex:1;justify-content:center;display:flex}.ob-actions{flex-direction:column;gap:6px;display:flex}.ob-skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px;text-decoration:underline}.ob-hero{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.ob-logo{border-radius:var(--radius-lg)}.ob-h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-strong);margin:0;font-size:28px;font-weight:800;line-height:1.15}.ob-lead{color:var(--text-muted);max-width:32ch;margin:0;font-size:16px;line-height:1.55}.ob-points{text-align:left;flex-direction:column;gap:12px;width:100%;margin-top:10px;display:flex}.ob-point{color:var(--text-body);align-items:center;gap:12px;font-size:15px;display:flex}.ob-point .pi{background:var(--surface-tint);width:40px;height:40px;color:var(--action-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.ob-q{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-strong);margin:0 0 6px;font-size:24px;font-weight:800}.ob-qsub{color:var(--text-muted);margin:0 0 22px;font-size:15px;line-height:1.5}.ob-opts{flex-direction:column;gap:12px;display:flex}.ob-opt{text-align:left;cursor:pointer;background:var(--surface-card);border:1.5px solid var(--border-hairline);border-radius:var(--radius-lg);width:100%;min-height:44px;transition:border-color var(--dur-fast) var(--ease-standard), background var(--dur-fast) var(--ease-standard);align-items:center;gap:14px;padding:16px;display:flex}.ob-opt:hover{border-color:var(--border-hover)}.ob-opt.sel{border-color:var(--border-focus);background:var(--surface-tint)}.ob-opt .oi{background:var(--surface-sunken);width:44px;height:44px;color:var(--text-body);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.ob-opt.sel .oi{background:var(--action-primary);color:var(--text-on-fill)}.ob-opt .ot{flex:1}.ob-opt .ot b{font-family:var(--font-display);color:var(--text-strong);font-size:16px;font-weight:700;display:block}.ob-opt .ot span{color:var(--text-muted);font-size:13px}.ob-opt .ock{color:var(--action-primary);opacity:0;flex:none}.ob-opt.sel .ock{opacity:1}.ob-seg{flex-direction:column;gap:10px;display:flex}.ob-segopt{cursor:pointer;background:var(--surface-card);border:1.5px solid var(--border-hairline);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;width:100%;padding:16px 18px;display:flex}.ob-segopt.sel{border-color:var(--border-focus);background:var(--surface-tint)}.ob-segopt b{font-family:var(--font-display);color:var(--text-strong);align-items:center;font-size:17px;font-weight:700;display:flex}.ob-segopt .mins{font-family:var(--font-mono);color:var(--text-subtle);font-size:12px}.ob-segopt.sel .mins{color:var(--text-link)}.ob-rec{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);background:var(--accent-soft);border-radius:999px;margin-left:8px;padding:2px 7px;font-size:10px}.ob-plan{text-align:center;flex-direction:column;align-items:center;gap:14px;display:flex}.ob-plan-badge{color:var(--correct-text);background:var(--correct-soft);border:1px solid var(--correct-line);border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-flex}.ob-plan-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-md);text-align:left;flex-direction:column;gap:14px;padding:18px;display:flex}.ob-plan-row{align-items:center;gap:12px;display:flex}.ob-plan-row .ri{background:var(--surface-tint);width:38px;height:38px;color:var(--action-primary);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.ob-plan-row .rt b{color:var(--text-strong);font-size:15px;font-weight:700;display:block}.ob-plan-row .rt span{color:var(--text-muted);font-size:13px}.gp{flex-direction:column;gap:16px;display:flex}.gp-head{align-items:center;gap:14px;display:flex}.gp-av{background:var(--action-primary);width:60px;height:60px;color:var(--text-on-fill);font-family:var(--font-display);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.gp-av--img{object-fit:cover;background:0 0}.gp-name{font-family:var(--font-display);color:var(--text-strong);font-size:22px;font-weight:800}.gp-sub{color:var(--text-muted);margin-top:2px;font-size:13px}.gp-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:16px 18px}.gp-readiness{flex-direction:column;gap:10px;display:flex}.gp-rt{justify-content:space-between;align-items:baseline;display:flex}.gp-rt span{color:var(--text-body);font-size:14px;font-weight:600}.gp-rt b{font-family:var(--font-display);color:var(--action-primary);font-size:24px;font-weight:800}.gp-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width>=560px){.gp-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.gp-tiles .sv-stat{min-width:0;padding:14px}.gp-goal-edit{justify-content:space-between;align-items:center;gap:12px;margin:12px 0 2px;display:flex}.gp-goal-cap{font-size:var(--t-body-s);color:var(--text-muted)}.gp-goal-opts{gap:6px;display:flex}.gp-goal-opt{cursor:pointer;min-width:44px;font:inherit;border:1px solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-strong);padding:7px 0;font-weight:600}.gp-goal-opt.on{background:var(--action-primary);color:var(--text-on-fill);border-color:#0000}.gp-best{margin-top:12px}.gp-ach-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));justify-items:center;gap:16px 6px;display:grid}.gp-areas{gap:12px;display:grid}@media (width>=560px){.gp-areas{grid-template-columns:1fr 1fr}}.gp-area{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);flex-direction:column;gap:3px;padding:14px 16px;display:flex}.gp-area--weak{border-left:3px solid var(--accent)}.gp-area--strong{border-left:3px solid var(--correct)}.gp-area b{color:var(--text-muted);font-size:13px;font-weight:600}.gp-area span{font-family:var(--font-display);color:var(--text-strong);font-size:16px;font-weight:700}.gp-area em{color:var(--text-subtle);font-size:12px;font-style:normal}.gp-topics{flex-direction:column;gap:12px;display:flex}.gp-topic{color:inherit;flex-direction:column;gap:7px;text-decoration:none;display:flex}.gp-topic:hover .gp-topic-row span{color:var(--action-primary)}.gp-topic-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.gp-topic-row span{color:var(--text-strong);font-size:14px}.gp-topic-row em{font-style:normal;font-family:var(--font-mono);color:var(--text-subtle);font-size:12px}.gp-login{text-align:center;width:100%;color:var(--text-on-fill);cursor:pointer;border-radius:var(--radius-sm);background:#07f;border:none;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;display:block}.gp-login:hover{background:#0a6ae0}.gp-logins{margin-top:var(--space-5);flex-direction:column;gap:10px;display:flex}.gp-login-sub{font-size:var(--t-body-s);color:var(--text-muted);margin:-4px 0 2px}.gp-login-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.gp-login-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.gp-login-prov{color:var(--text-strong);align-items:center;gap:8px;font-size:14px;display:inline-flex}.gp-login-unlink{cursor:pointer;color:var(--text-muted);font-family:inherit;font-size:var(--t-body-s);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.gp-login-unlink:hover:not(:disabled){color:var(--text-strong)}.gp-login-unlink:disabled{cursor:default;opacity:.4;text-decoration:none}.gp-legal{margin-top:var(--space-6)}.gp-legal-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gp-legal-list a,.gp-legal-btn{min-height:var(--tap-min);cursor:pointer;font:var(--text-ui);color:var(--text-link);text-align:left;background:0 0;border:none;align-items:center;padding:0;text-decoration:none;display:inline-flex}.gp-legal-list a:hover,.gp-legal-btn:hover{text-decoration:underline}.gp-danger{margin-top:var(--space-5);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.gp-danger__btn{cursor:pointer;color:var(--text-muted);font-family:inherit;font-size:var(--t-body-s);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.gp-danger__btn:hover{color:var(--text-strong)}.gp-danger__q{font-size:var(--t-body-s);color:var(--text-body)}.gp-danger__row{gap:8px;display:flex}.gp-danger__yes,.gp-danger__no{border-radius:var(--radius-sm);font-family:inherit;font-weight:600;font-size:var(--t-body-s);cursor:pointer;padding:8px 14px}.gp-danger__yes{background:var(--text-strong);color:var(--text-on-fill);border:1px solid var(--text-strong)}.gp-danger__no{color:var(--text-body);border:1px solid var(--border-hairline);background:0 0}.consent{z-index:60;max-width:var(--app-max);gap:var(--space-3);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #00000014}.consent-text{font-size:var(--t-body-s);color:var(--text-body);margin:0;line-height:1.5}.consent-link{color:var(--action-primary)}.consent-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.consent-btn{padding:var(--space-2) var(--space-5);font-family:var(--font-body);font-weight:var(--w-semibold);font-size:var(--t-body-s);background:var(--action-primary);color:var(--text-on-fill);border:1px solid var(--action-primary);border-radius:var(--radius-pill);cursor:pointer}.consent-btn--ghost{color:var(--text-body);border-color:var(--border-hairline);background:0 0}.foot-link{cursor:pointer;color:var(--text-muted);font-family:inherit;font-size:var(--t-body-s);background:0 0;border:none;padding:0}.foot-link:hover{color:var(--action-primary)}.legal{font-size:var(--t-body-s)}.legal h1{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--t-heading)}.legal h2{margin:var(--space-5) 0 var(--space-2);font-family:var(--font-display);font-size:var(--t-subhead)}.legal p,.legal li{line-height:1.6}.legal ul{flex-direction:column;gap:4px;padding-left:1.2rem;display:flex}.legal a{color:var(--action-primary)}.legal-back{margin-top:var(--space-6)}.aie{gap:var(--space-3);flex-direction:column;display:flex}.aie__cta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.aie__hint{color:var(--text-muted);font-size:var(--t-body-s)}.aie__ask{cursor:pointer;border-radius:var(--radius-sm);background:var(--action-primary);color:var(--text-on-fill);font-weight:var(--w-semibold);border:none;align-items:center;gap:6px;padding:.5rem .9rem;font-size:.92rem;display:inline-flex}.aie__ask:hover{filter:brightness(.96)}.aie__thinking{color:var(--text-muted);font-size:var(--t-body-s);align-items:center;gap:8px;margin:0;display:inline-flex}.aie__spin{animation:aie-spin var(--dur-spin) linear infinite}@keyframes aie-spin{to{transform:rotate(360deg)}}.aie__error{flex-direction:column;gap:8px;display:flex}.aie__error p{color:var(--wrong-text);font-size:var(--t-body-s);align-items:center;gap:6px;margin:0;display:inline-flex}.aie__card{background:var(--surface-tint);border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-xl);padding:var(--space-4) var(--space-5)}.aie__head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.aie__brand{color:var(--action-primary);font-weight:var(--w-semibold);font-size:var(--t-body-s);align-items:center;gap:6px;display:inline-flex}.aie__disc{color:var(--text-subtle);align-items:center;gap:4px;font-size:11px;display:inline-flex}.aie__body{line-height:1.7}.aie__body p{margin:0 0 .5rem}.aie__body p:last-child{margin-bottom:0}.aie__cursor{color:var(--action-primary);animation:1s step-end infinite aie-blink}@keyframes aie-blink{50%{opacity:0}}.aie__foot{margin-top:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.aie__vote{align-items:center;gap:8px;display:flex}.aie__voteHint{color:var(--text-muted);font-size:var(--t-body-s)}.aie__v{cursor:pointer;border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-muted);justify-content:center;align-items:center;padding:5px 9px;display:inline-flex}.aie__v:hover{color:var(--text-body)}.aie__v.on{background:var(--action-primary);border-color:var(--action-primary);color:var(--text-on-fill)}.aie__more{cursor:pointer;border:var(--border-width) solid var(--border-hairline);border-radius:var(--radius-sm);background:var(--surface-card);color:var(--text-strong);padding:.4rem .8rem;font-size:.88rem}.aie__more:hover{background:var(--surface-sunken)}.app-brand,.auth-trigger,.sec-link,.app-foot a,.foot-link,.consent-btn{min-height:var(--tap-min);align-items:center;display:inline-flex}
