@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2) format("woff2-variations");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f3f4f0;--surface: #ffffff;--text: #14181a;--text-2: color-mix(in srgb, var(--text) 80%, var(--surface));--hint: #5a6660;--brand: #1f4fbf;--brand-ink: #1f4fbf;--brand-text: #ffffff;--signal: #f5b700;--signal-ink: #7a5300;--right: #11733e;--right-ink: #11733e;--wrong: #c2321f;--wrong-ink: #b42318;--hero: #14181a;--hero-text: #ffffff;--hero-hint: #c9d0cb;--line: color-mix(in srgb, var(--text) 11%, var(--surface));--line-soft: color-mix(in srgb, var(--text) 6%, var(--surface));--soft: color-mix(in srgb, var(--text) 5%, var(--surface));--track: color-mix(in srgb, var(--text) 13%, var(--bg));--brand-soft: color-mix(in srgb, var(--brand) 12%, var(--surface));--signal-soft: color-mix(in srgb, var(--signal) 16%, var(--surface));--right-soft: color-mix(in srgb, var(--right) 13%, var(--surface));--wrong-soft: color-mix(in srgb, var(--wrong) 12%, var(--surface));--font: "Onest Variable", "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--r-sm: 10px;--r: 14px;--r-card: 18px;--r-hero: 22px;--tap: 44px;--gutter: 16px;--side: 248px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f1214;--surface: #181d20;--text: #eceeea;--hint: #9aa6a0;--hero: #232a2e;color-scheme:dark}}:root[data-theme=dark]{color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--brand: #3563d6;--brand-ink: #9db4ff;--signal-ink: #f5c84a;--right: #1e7c47;--right-ink: #62d394;--wrong: #c8392b;--wrong-ink: #ff8f80;--brand-soft: color-mix(in srgb, var(--brand) 28%, var(--surface));--right-soft: color-mix(in srgb, var(--right) 30%, var(--surface));--wrong-soft: color-mix(in srgb, var(--wrong) 28%, var(--surface));--hero: color-mix(in srgb, var(--text) 9%, var(--surface))}}:root[data-theme=dark]{--brand: #3563d6;--brand-ink: #9db4ff;--signal-ink: #f5c84a;--right: #1e7c47;--right-ink: #62d394;--wrong: #c8392b;--wrong-ink: #ff8f80;--brand-soft: color-mix(in srgb, var(--brand) 28%, var(--surface));--right-soft: color-mix(in srgb, var(--right) 30%, var(--surface));--wrong-soft: color-mix(in srgb, var(--wrong) 28%, var(--surface));--hero: color-mix(in srgb, var(--text) 9%, var(--surface))}@media(min-width:600px){:root{--gutter: 32px}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:var(--brand-ink)}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.hint{color:var(--hint);font-size:14px}.error-text{color:var(--wrong-ink);font-size:14px;text-align:center}.empty{text-align:center;padding:24px 0}.num{font-variant-numeric:tabular-nums}.label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hint)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 60%,transparent);outline-offset:2px}.page{width:100%;max-width:820px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) calc(var(--gutter) + env(safe-area-inset-left));display:flex;flex-direction:column;gap:18px}.tg .page{padding-top:12px}.tg .web-only{display:none!important}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.section{display:flex;flex-direction:column;gap:10px}.section-title{font-size:18px;font-weight:700;margin:0 2px}.center-fill{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px}.notice{text-align:center;display:grid;gap:12px;justify-items:center;max-width:360px}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--soft);border-radius:var(--r-card);animation:pulse 1.2s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.55}to{opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:50px;padding:0 22px;border:0;border-radius:var(--r);font-weight:700;font-size:16px;cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform .08s ease,background-color .15s ease,opacity .15s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--brand);color:var(--brand-text)}.btn-secondary{background:var(--brand-soft);color:var(--brand-ink)}.btn-ghost{background:transparent;color:var(--text-2);font-weight:600;padding:0 14px}.btn-light{background:#fff;color:#1f4fbf}.btn-wide{width:100%}.btn-small{min-height:var(--tap);padding:0 14px;font-size:15px}@media(hover:hover){.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 88%,#000)}.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 18%,var(--surface))}.btn-ghost:hover:not(:disabled){background:var(--soft);color:var(--text)}}.icon-btn{display:inline-grid;place-items:center;width:var(--tap);height:var(--tap);flex:none;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);cursor:pointer;text-decoration:none}@media(hover:hover){.icon-btn:hover{background:var(--soft)}}kbd{font:600 12px/1 var(--mono);color:inherit;opacity:.8;border:1px solid currentColor;border-radius:6px;padding:3px 5px}.shell{min-height:100vh;min-height:100dvh}.side{display:none}.shell-main{min-width:0}@media(min-width:1024px){.shell{display:flex}.side{display:flex;flex-direction:column;gap:28px;position:sticky;top:0;height:100vh;height:100dvh;width:var(--side);flex:none;padding:24px 16px;background:var(--surface);border-right:1px solid var(--line)}.shell-main{flex:1}.shell-main .page{max-width:1144px;margin:0;padding:40px 48px;gap:24px}.shell .mobile-only{display:none!important}}.brand-mark{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.01em}.side .brand-mark{padding:0 8px}.side-nav{display:flex;flex-direction:column;gap:4px}.side-link{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--tap);padding:0 12px;border:0;border-radius:12px;background:transparent;color:var(--text-2);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;text-align:left}.side-link:disabled{opacity:.5;cursor:default}@media(hover:hover){.side-link:hover:not(:disabled):not([aria-current]){background:var(--soft);color:var(--text)}}.side-link[aria-current]{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.side-badge{margin-left:auto;font-size:12px;font-weight:700;color:var(--wrong-ink);background:var(--wrong-soft);border-radius:8px;padding:0 7px}.side-goal{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--bg)}.streak{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:18px;background:var(--surface);border:1px solid var(--line);font-size:14px;font-weight:700;white-space:nowrap}.side-goal .streak{height:auto;padding:0;border:0;background:none}.goal-bar{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.goal-bar span{display:block;height:100%;border-radius:3px;background:var(--signal)}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-row-end{display:flex;align-items:center;gap:8px}.greet{display:flex;flex-direction:column;gap:2px}.greet h1{font-size:30px}.greet .goal-bar{margin-top:8px;max-width:360px}@media(min-width:1024px){.greet h1{font-size:34px}}.hero-grid{display:grid;gap:16px}@media(min-width:600px){.hero-grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.hero-grid{grid-template-columns:5fr 7fr;gap:24px}}.readiness{background:var(--hero);color:var(--hero-text);border-radius:var(--r-hero);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.readiness .label{color:var(--hero-hint)}.readiness-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.readiness-num{font-size:60px;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.readiness-num small{font-size:28px;color:var(--hero-hint)}.readiness-note{font-size:13px;color:var(--hero-hint);max-width:200px}.exam-marks{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:12px;color:var(--hero-hint)}.exam-marks div{display:flex;gap:4px}.mark{width:24px;height:24px;border-radius:7px;display:grid;place-items:center;color:#fff}.mark.passed{background:#11733e}.mark.failed{background:#c2321f}.mark.none{border:1.5px dashed color-mix(in srgb,var(--hero-text) 30%,transparent)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid color-mix(in srgb,var(--hero-text) 14%,transparent);padding-top:14px}.hero-stats div{display:flex;flex-direction:column;min-width:0}.hero-stats div+div{padding-left:14px;border-left:1px solid color-mix(in srgb,var(--hero-text) 14%,transparent)}.hero-stats b{font-size:18px;font-variant-numeric:tabular-nums}.hero-stats b small{font-size:13px;font-weight:500;color:var(--hero-hint)}.hero-stats span{font-size:12px;color:var(--hero-hint)}.next-step{background:#1f4fbf;color:#fff;border-radius:var(--r-hero);padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}.next-step .label{color:#f5b700}.next-step h2{font-size:22px;font-weight:800;line-height:1.25;margin-top:4px}.next-step p{font-size:15px;color:#dce4f7;margin-top:4px}.next-step .btn{align-self:stretch}@media(min-width:600px){.next-step .btn{align-self:flex-start}}@media(min-width:1024px){.next-step{padding:24px}.next-step h2{font-size:28px}}.modes{list-style:none;margin:0;padding:4px 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.modes li+li{border-top:1px solid var(--line-soft)}.mode{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 14px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}.mode:disabled{cursor:default}.mode:disabled .mode-text b{color:var(--hint)}.mode-icon{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.mode-text{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}.mode-text b{font-weight:700}.mode-text span{font-size:13px;color:var(--hint)}.mode-chev{color:var(--hint);display:grid}.i-blue{background:var(--brand-soft);color:var(--brand-ink)}.i-amber{background:var(--signal-soft);color:var(--signal-ink)}.i-red{background:var(--wrong-soft);color:var(--wrong-ink)}.i-green{background:var(--right-soft);color:var(--right-ink)}@media(min-width:600px){.modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;background:none;border:0}.modes li+li{border-top:0}.mode{height:100%;flex-direction:column;align-items:stretch;gap:14px;min-height:132px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);transition:transform .08s ease,border-color .15s ease}.mode-icon{width:44px;height:44px;border-radius:13px}.mode-text{margin-top:auto}.mode-text b{font-size:17px}.mode-chev{display:none}.mode:active:not(:disabled){transform:scale(.98)}}@media(min-width:760px){.modes{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(hover:hover){.mode:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}}.list{list-style:none;margin:0;padding:4px 0}.list li+li{border-top:1px solid var(--line-soft)}.list-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:8px 16px;border:0;background:none;color:var(--text);cursor:pointer;text-align:left}.list-main{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}.list-main b{font-weight:700}.list-main span{font-size:13px;color:var(--hint)}.list-score{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.status-dot{flex:none;width:32px;height:32px;border-radius:16px;display:grid;place-items:center}.passed .status-dot,.status-dot.passed{background:var(--right-soft);color:var(--right-ink)}.failed .status-dot,.status-dot.failed{background:var(--wrong-soft);color:var(--wrong-ink)}.status-dot.done,.status-dot.abandoned{background:var(--brand-soft);color:var(--brand-ink)}.tag{font-size:12px;font-weight:700}.tag.passed{color:var(--right-ink)}.tag.failed{color:var(--wrong-ink)}.tag.done,.tag.abandoned{color:var(--brand-ink)}.footer-note{text-align:center}.bar{display:flex;align-items:center;gap:14px;min-height:var(--tap)}.bar h1{font-size:24px;flex:1}.bar-side{white-space:nowrap}@media(min-width:1024px){.bar h1{font-size:34px}}.tabs{display:flex;gap:4px;padding:4px;background:color-mix(in srgb,var(--text) 7%,var(--bg));border-radius:var(--r)}.tab{flex:1;min-height:40px;padding:0 6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.tab[aria-selected=true]{background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 1px 2px #14181a1a}.tab .n{color:var(--hint);font-variant-numeric:tabular-nums}.tab .n-red{color:var(--wrong-ink)}.tab .n-green{color:var(--right-ink)}@media(min-width:600px){.tab{font-size:14px}}.tickets-tools{display:flex;flex-direction:column;gap:14px}@media(min-width:1024px){.tickets-tools{flex-direction:row;align-items:center;gap:20px}.tickets-tools .tabs{flex:1 1 480px;max-width:560px}.tickets-tools .continue{flex:1 1 360px;max-width:520px}}.continue{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;border-radius:16px;background:var(--signal-soft);border:1.5px solid var(--signal);color:var(--text);text-align:left;cursor:pointer}.continue-num{flex:none;width:42px;height:42px;border-radius:12px;background:var(--signal);color:#14181a;display:grid;place-items:center;font-weight:800}.continue-text{flex:1;display:flex;flex-direction:column;line-height:1.3}.continue-text span{font-size:13px;color:var(--signal-ink)}.continue>:last-child{color:var(--signal-ink);display:grid}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;font-weight:600;color:var(--text-2)}.legend span{display:inline-flex;align-items:center;gap:5px}.legend .ok{color:var(--right-ink)}.legend .bad{color:var(--wrong-ink)}.legend-dot{width:8px;height:8px;border-radius:4px;background:var(--signal);box-shadow:0 0 0 1.5px var(--signal-ink)}.legend-dash{width:10px;height:2px;background:var(--hint)}.ticket-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}@media(min-width:600px){.ticket-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}}@media(min-width:1024px){.ticket-grid{grid-template-columns:repeat(11,minmax(0,1fr))}}.tile{height:60px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .08s ease}@media(min-width:600px){.tile{height:70px}}@media(min-width:1024px){.tile{height:78px}}.tile:active:not(:disabled){transform:scale(.94)}.tile-num{font-size:17px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}@media(min-width:1024px){.tile-num{font-size:20px}}.tile-sub{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--hint);font-variant-numeric:tabular-nums}@media(min-width:600px){.tile-sub{font-size:12px}}.tile.passed{background:var(--right-soft);border-color:color-mix(in srgb,var(--right) 22%,var(--surface))}.tile.passed .tile-sub{color:var(--right-ink)}.tile.failed{background:var(--wrong-soft);border-color:color-mix(in srgb,var(--wrong) 22%,var(--surface))}.tile.failed .tile-sub{color:var(--wrong-ink)}.tile.active{background:var(--signal-soft);border:2px solid var(--signal)}.tile.active .tile-sub{color:var(--signal-ink)}.tile-dot{width:6px;height:6px;border-radius:3px;background:currentColor}.tile.skeleton{border:0}@media(hover:hover){.tile:hover:not(:disabled){border-color:var(--brand)}}.quiz-head{max-width:820px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) 0 calc(var(--gutter) + env(safe-area-inset-left))}.tg .quiz-head{padding-top:12px}.quiz{gap:16px;padding-top:16px;padding-bottom:calc(190px + env(safe-area-inset-bottom))}.tg .quiz{padding-top:16px}.quiz-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 12px}.quiz-progress{flex:1 1 100%;order:10}.hide-phone,.laptop-only{display:none}@media(min-width:600px){.hide-phone{display:inline-flex}}@media(min-width:1024px)and (hover:hover){.laptop-only{display:inline}}.quiz-title{flex:1;display:flex;flex-direction:column;align-items:center;line-height:1.25;min-width:0}.quiz-title b{font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.quiz-title span{font-size:13px;color:var(--hint);font-variant-numeric:tabular-nums}.tg .quiz-bar .quiz-title{align-items:flex-start}.qnav{display:none}.quiz-progress{display:flex;flex-direction:column;gap:8px}.segs{display:flex;gap:3px}.seg{flex:1;height:6px;border-radius:3px;background:var(--track)}.seg.right{background:var(--right)}.seg.wrong{background:var(--wrong)}.seg.current{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--text)}.seg.current:not(.right):not(.wrong){background:var(--text)}.bar-progress{height:6px;border-radius:3px;background:var(--track);overflow:hidden}.bar-progress span{display:block;height:100%;background:var(--brand);transition:width .3s ease}.progress-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.score{display:flex;gap:12px}.score span,.pill{display:inline-flex;align-items:center;gap:3px}.score .ok{color:var(--right-ink)}.score .bad{color:var(--wrong-ink)}.pill{height:30px;padding:0 10px;border-radius:15px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:14px}.pill-danger{color:var(--wrong-ink);background:var(--wrong-soft);border-color:transparent}.qnum{width:38px;height:38px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--hint);cursor:pointer;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.qnum.right{background:var(--right);border-color:var(--right);color:#fff}.qnum.wrong{background:var(--wrong);border-color:var(--wrong);color:#fff;text-decoration:line-through}.qnum.skipped{background:var(--wrong-soft);border-color:transparent;color:var(--wrong-ink)}.qnum[aria-current]{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--text);color:var(--text)}.qnum.right[aria-current],.qnum.wrong[aria-current]{color:#fff}.sheet{width:min(560px,100%);max-width:100%;max-height:80dvh;margin:auto auto 0;padding:0;border:0;border-radius:22px 22px 0 0;background:var(--surface);color:var(--text)}.sheet::backdrop{background:#00000073}.sheet-inner{padding:18px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{font-size:18px}.sheet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.sheet-grid .qnum{width:100%;height:48px;font-size:16px}@media(min-width:600px){.sheet{margin:auto;border-radius:22px}}.qview{display:flex;flex-direction:column;gap:16px}.qimage{position:relative;display:block;width:100%;padding:0;border:0;cursor:zoom-in;border-radius:var(--r-card);overflow:hidden;background:var(--track)}.qimage img{display:block;width:100%;height:auto;max-height:38vh;object-fit:contain;margin:0 auto}@media(min-width:600px){.qimage img{max-height:400px}}.zoom-hint{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#14181ab8;color:#fff}.qbody{display:flex;flex-direction:column;gap:16px;min-width:0}.qtext{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.005em}@media(min-width:600px){.qtext{font-size:23px}}.opts{list-style:none;margin:0;padding:0;display:grid;gap:8px}@media(min-width:600px)and (max-width:1023px){.opts.opts-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.opts li{display:flex}.opt{width:100%;min-height:56px;display:flex;align-items:center;gap:12px;text-align:left;padding:10px 14px 10px 10px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);cursor:pointer;transition:transform .08s ease,border-color .15s ease,background-color .15s ease,opacity .2s ease}@media(min-width:600px){.opt{min-height:64px}}@media(hover:hover){.opt:hover:not(:disabled){border-color:var(--brand)}}.opt:active:not(:disabled){transform:scale(.985)}.opt:disabled{cursor:default}.opt-key{flex:none;width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--soft);color:var(--text-2);font-weight:700;font-size:15px}.opt-text{flex:1;display:flex;flex-direction:column;line-height:1.35}.opt-note{font-size:12px;font-weight:700}.opt-mark{flex:none;display:grid}.opt.right{border:2px solid var(--right);background:var(--right-soft)}.opt.right .opt-key{background:var(--right);color:#fff}.opt.right .opt-mark,.opt.right .opt-note{color:var(--right-ink)}.opt.wrong{border:2px solid var(--wrong);background:var(--wrong-soft)}.opt.wrong .opt-key{background:var(--wrong);color:#fff}.opt.wrong .opt-mark,.opt.wrong .opt-note{color:var(--wrong-ink)}.opt.dim{opacity:.5}.opt.picked{animation:pop .25s ease}@keyframes pop{50%{transform:scale(1.015)}}.expl{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden}.expl-head{display:flex;align-items:center;gap:8px;width:100%;min-height:56px;padding:12px 16px 12px 18px;border:0;background:none;cursor:pointer;color:var(--text);font-size:17px;font-weight:700;text-align:left}.expl-head>:first-child{color:var(--brand-ink);display:grid}.expl-ref{margin-left:auto;font-size:12px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);border-radius:8px;padding:4px 8px;white-space:nowrap}.expl-chev{display:grid;color:var(--hint);transition:transform .2s ease}.expl-head .expl-chev{margin-left:4px}.expl-head:not(:has(.expl-ref)) .expl-chev{margin-left:auto}.expl.open .expl-chev{transform:rotate(90deg)}.expl-body{padding:0 18px 18px;display:flex;flex-direction:column;gap:16px}@media(min-width:600px)and (max-width:1023px){.expl-body.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;grid-template-areas:"intro intro" "rule opts" "warn opts" "memo opts" "src src";align-items:start}}.expl-block{display:flex;flex-direction:column;gap:6px}.expl-block p,.expl-intro p{font-size:15px;line-height:1.55;white-space:pre-line}.expl-intro{grid-area:intro;display:flex;flex-direction:column;gap:8px}.expl-rule{grid-area:rule}.expl-opts{grid-area:opts}.expl-warn{grid-area:warn;padding:12px 14px;border-radius:var(--r);background:var(--soft)}.expl-memo{grid-area:memo;display:flex;gap:12px;padding:14px;border-radius:var(--r);background:var(--signal-soft)}.expl-memo>span{flex:none;color:var(--signal-ink);display:grid;align-self:start}.expl-memo b{font-size:13px;letter-spacing:.04em;color:var(--signal-ink)}.expl-memo p{font-size:15px;line-height:1.45;white-space:pre-line}.expl-src{grid-area:src;font-size:13px;color:var(--hint)}.verdict-line{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:14px;line-height:1.45}.verdict-line.ok{background:var(--right-soft)}.verdict-line.bad{background:var(--wrong-soft)}.verdict-key{flex:none;min-width:22px;height:22px;padding:0 5px;border-radius:6px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#fff;background:var(--hint)}.verdict-line.ok .verdict-key{background:var(--right)}.verdict-line.bad .verdict-key{background:var(--wrong)}.verdict-line.ok b{color:var(--right-ink)}.verdict-line.bad b{color:var(--wrong-ink)}.more-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 4px;border:0;background:none;color:var(--brand-ink);font-size:14px;font-weight:600;cursor:pointer}.qfoot{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:10px max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}.qfoot-inner{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qfoot-spacer{flex:1}.qfoot-keys{display:none}.qfoot.right{background:var(--right-soft);border-top:2px solid var(--right)}.qfoot.wrong{background:var(--wrong-soft);border-top:2px solid var(--wrong)}.qfoot.right,.qfoot.wrong{padding-top:14px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.fb{flex:1 1 260px;display:flex;align-items:center;gap:12px;min-width:0}.fb-icon{flex:none;width:38px;height:38px;border-radius:19px;display:grid;place-items:center;color:#fff}.qfoot.right .fb-icon{background:var(--right)}.qfoot.wrong .fb-icon{background:var(--wrong)}.fb-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.fb-text b{font-size:18px;font-weight:800}.qfoot.right .fb-text b{color:var(--right-ink)}.qfoot.wrong .fb-text b{color:var(--wrong-ink)}.fb-text span{font-size:14px;color:var(--text-2)}.qfoot .fb-next{flex:1 1 100%}@media(min-width:600px){.qfoot,.qfoot.right,.qfoot.wrong{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}.qfoot .fb-next{flex:0 0 auto;min-width:220px}}.tg .quiz{padding-bottom:calc(110px + env(safe-area-inset-bottom))}@media(min-width:1024px){.quiz-page{min-height:100dvh}.quiz-head{position:sticky;top:0;z-index:6;background:var(--surface);border-bottom:1px solid var(--line)}.quiz-head{max-width:none;padding:0}.quiz-head .quiz-bar{max-width:1280px;margin:0 auto;min-height:76px;padding:8px 32px;gap:20px;flex-wrap:nowrap}.quiz-head .quiz-title{flex:none;width:160px;align-items:flex-start}.qnav{display:flex;flex:1;justify-content:center;flex-wrap:wrap;gap:4px;min-width:0}.qnav .qnum{width:34px;height:34px;font-size:13px}.quiz-head .sheet-btn,.quiz-progress .segs,.quiz-progress .bar-progress{display:none}.quiz-progress{display:contents}.quiz-progress .progress-row{order:0}.quiz-progress .progress-row{flex:none}.quiz-progress .left-count{display:none}.quiz{max-width:1280px;padding:32px 48px 160px}.qview.has-image{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.qview.has-image .qmedia{position:sticky;top:108px}.qview:not(.has-image){max-width:760px;width:100%;margin:0 auto}.qimage img{max-height:70vh}.qtext{font-size:26px;line-height:1.32}.opt{min-height:60px}.qfoot-inner{max-width:1280px;padding:0 16px}.qfoot-keys{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--hint)}.qfoot.right .qfoot-keys,.qfoot.wrong .qfoot-keys{display:none}}.qmedia{display:flex;flex-direction:column;gap:10px}.lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:16px;border:0;background:#000000eb;cursor:zoom-out}.lightbox[open]{display:grid;place-items:center;animation:fade .15s ease}.lightbox::backdrop{background:transparent}.lightbox img{max-width:100%;max-height:100%;object-fit:contain}.lightbox-close{position:absolute;top:calc(12px + env(safe-area-inset-top));right:12px;background:#ffffff26;color:#fff;border:0}@keyframes fade{0%{opacity:0}}.result-grid{display:grid;gap:18px;align-items:start}@media(min-width:1024px){.result-grid{grid-template-columns:5fr 7fr;gap:24px}.result-side{position:sticky;top:40px}}.result-side{display:flex;flex-direction:column;gap:14px}.verdict{padding:26px 20px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.verdict h2{font-size:28px;font-weight:800;letter-spacing:-.01em}.verdict-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin-bottom:6px;color:#fff}.v-pass .verdict-icon{background:var(--right)}.v-fail .verdict-icon{background:var(--wrong)}.v-done .verdict-icon{background:var(--brand-soft);color:var(--brand-ink)}.verdict .segs{width:100%;margin-top:14px}.verdict .seg{height:8px;border-radius:4px}.verdict .seg.skipped{background:var(--wrong-soft);box-shadow:inset 0 0 0 1.5px var(--wrong)}.verdict-stats{width:100%;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;margin-top:14px;border-top:1px solid var(--line-soft);padding-top:14px;font-variant-numeric:tabular-nums}.verdict-stats div{display:flex;flex-direction:column}.verdict-stats div+div{border-left:1px solid var(--line-soft)}.verdict-stats b{font-size:20px}.verdict-stats .ok{color:var(--right-ink)}.verdict-stats .bad{color:var(--wrong-ink)}.verdict-stats span{font-size:13px;color:var(--hint)}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actions>:first-child,.actions>.btn-ghost{grid-column:1 / -1}@media(min-width:600px)and (max-width:1023px){.actions{grid-template-columns:repeat(3,minmax(0,1fr))}.actions>:first-child{grid-column:auto}}.mistake{padding:14px;display:flex;gap:14px;align-items:flex-start}.mistake-img{flex:none;width:96px;height:68px;object-fit:cover;border-radius:12px;background:var(--track)}@media(min-width:600px){.mistake-img{width:150px;height:105px}}.mistake-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.mistake-body p{font-size:15px;font-weight:600;line-height:1.4}.mistake-lines{display:flex;flex-direction:column;gap:4px;font-size:14px}.mistake-lines span{display:flex;gap:6px;align-items:flex-start}.mistake-lines svg{flex:none;margin-top:2px}.mistake-lines .bad{color:var(--wrong-ink)}.mistake-lines .ok{color:var(--right-ink)}.link-btn{align-self:flex-start;min-height:32px;padding:0;border:0;background:none;color:var(--brand-ink);font-size:14px;font-weight:600;cursor:pointer}.mistake-open{padding:0 14px 14px}.review{display:flex;flex-direction:column;gap:12px;margin-top:4px}.qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.qgrid .qnum{width:100%;height:44px}.auth{min-height:100vh;min-height:100dvh;justify-content:center;align-items:center;text-align:center;max-width:420px}.auth h1{font-size:30px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
