:root{color-scheme:light;--bg-deep: oklch(99% .003 180);--bg-primary: oklch(100% 0 0);--bg-secondary: oklch(97% .004 200);--bg-tertiary: oklch(95.5% .006 200);--bg-overlay: oklch(21% .02 250 / .45);--surface-panel: var(--bg-primary);--surface-panel-strong: var(--bg-primary);--surface-panel-muted: var(--bg-secondary);--surface-line: oklch(90% .008 220);--surface-line-strong: oklch(80% .012 220);--text-primary: oklch(21% .02 250);--text-secondary: oklch(45% .02 250);--text-tertiary: oklch(48% .02 250);--text-muted: oklch(49% .02 250);--primary-400: oklch(46% .1 175);--primary-500: oklch(50% .11 175);--primary-600: oklch(43% .1 175);--primary-soft: oklch(55% .11 175 / .08);--primary-medium: oklch(55% .11 175 / .25);--accent-300: oklch(49% .12 75);--accent-400: oklch(50% .12 75);--accent-500: oklch(45% .12 75);--accent-soft: oklch(60% .13 75 / .1);--accent-medium: oklch(60% .13 75 / .25);--signal-correct: oklch(46% .11 168);--signal-wrong: oklch(50% .18 25);--signal-warning: oklch(49% .12 75);--signal-info: oklch(46% .12 250);--correct-soft: oklch(55% .12 168 / .1);--wrong-soft: oklch(56% .19 25 / .09);--warning-soft: oklch(60% .13 75 / .1);--info-soft: oklch(55% .12 250 / .08);--highlight: oklch(46% .13 138);--button-primary: var(--text-primary);--button-ink: var(--bg-primary);--font-display: "Cabinet Grotesk", system-ui, sans-serif;--ground: oklch(99% .003 180);--surface: oklch(100% 0 0);--surface-2: oklch(95.5% .006 200);--ink: oklch(21% .02 250);--mut: oklch(48% .02 250);--line: oklch(91% .008 220);--sig: oklch(55% .11 175);--sig-ink: oklch(99% .01 175);--focus: oklch(55% .11 175);--ok: oklch(55% .12 168);--bad: oklch(56% .19 25);--midc: oklch(60% .13 75);--wrong: var(--bad);--ok-soft: oklch(55% .12 168 / .09);--bad-soft: oklch(56% .19 25 / .08);--mid-soft: oklch(60% .13 75 / .1);--sig-soft: oklch(55% .11 175 / .08);--pick-bg: oklch(55% .11 175 / .07);--bar: oklch(62% .13 172);--primary: oklch(21% .02 250);--primary-ink: oklch(99% .003 180);--tint: 24%;--logo-ink: oklch(47% .01 250);--shadow: 0 1px 2px rgba(16, 26, 69, .06), 0 8px 20px rgba(16, 26, 69, .08);--s-perfect: oklch(50% .12 172);--s-t90: oklch(56% .15 138);--s-okk: oklch(55% .12 168);--s-mid: oklch(60% .13 75);--s-low: oklch(56% .19 25);--font-heading: "Cabinet Grotesk", system-ui, sans-serif;--font-body: "Switzer", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 48px;--pad-page-x: clamp(12px, 4vw, 20px);--pad-card: clamp(14px, 4vw, 24px);--pad-panel: clamp(12px, 3.5vw, 20px);--radius-sm: 10px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-pill: 999px;--shadow-card: none;--shadow-elevated: 0 12px 36px oklch(20% .02 250 / .08);--shadow-glow: none;--gradient-panel: var(--bg-primary);--gradient-panel-strong: var(--bg-primary);--gradient-practice: var(--primary-600);--gradient-mock: var(--accent-500);--gradient-success: var(--primary-600);--gradient-danger: var(--signal-wrong);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s}:root[data-theme=dark]{color-scheme:dark;--bg-deep: oklch(17% .02 255);--bg-primary: oklch(21% .022 255);--bg-secondary: oklch(23% .022 255);--bg-tertiary: oklch(26% .025 255);--bg-overlay: oklch(10% .02 255 / .7);--surface-line: oklch(33% .025 255);--surface-line-strong: oklch(48% .025 255);--text-primary: oklch(94% .008 250);--text-secondary: oklch(75% .02 250);--text-tertiary: oklch(70% .02 250);--text-muted: oklch(68% .02 250);--primary-400: oklch(77% .13 175);--primary-500: oklch(60% .11 175);--primary-600: oklch(43% .1 175);--primary-soft: oklch(74% .13 175 / .1);--primary-medium: oklch(74% .13 175 / .3);--accent-300: oklch(81% .13 80);--accent-400: oklch(75% .13 80);--signal-correct: oklch(79% .14 165);--signal-wrong: oklch(75% .15 25);--signal-warning: oklch(81% .13 80);--signal-info: oklch(77% .1 250);--highlight: oklch(86% .17 138);--correct-soft: oklch(79% .14 165 / .1);--wrong-soft: oklch(70% .17 25 / .11);--ground: oklch(17% .02 255);--surface: oklch(21% .022 255);--surface-2: oklch(26% .025 255);--ink: oklch(94% .008 250);--mut: oklch(70% .02 250);--line: oklch(31% .025 255);--sig: oklch(74% .13 175);--sig-ink: oklch(18% .03 200);--focus: oklch(74% .13 175);--ok: oklch(79% .14 165);--bad: oklch(70% .17 25);--midc: oklch(81% .13 80);--ok-soft: oklch(79% .14 165 / .1);--bad-soft: oklch(70% .17 25 / .11);--mid-soft: oklch(81% .13 80 / .1);--sig-soft: oklch(74% .13 175 / .1);--pick-bg: oklch(74% .13 175 / .1);--bar: oklch(76% .14 170);--primary: oklch(94% .008 250);--primary-ink: oklch(17% .02 255);--tint: 20%;--logo-ink: oklch(86% .01 250);--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 22px rgba(0, 0, 0, .35);--s-perfect: oklch(52% .11 172);--s-t90: oklch(88% .19 136);--s-okk: oklch(79% .14 165);--s-mid: oklch(81% .13 80);--s-low: oklch(70% .17 25)}.app-shell{min-height:100vh}.app-rail{position:fixed;inset:0 auto 0 0;width:232px;border-right:1px solid var(--surface-line);background:var(--bg-primary);padding:28px 18px 20px;display:flex;flex-direction:column;z-index:20}.app-wordmark{font-family:var(--font-heading);font-size:24px;font-weight:800;text-decoration:none;padding:0 10px}.cert-switch{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:16px 10px;margin:16px 0 20px;text-align:left;background:transparent;border:1px solid var(--surface-line);border-radius:12px;color:var(--text-primary);font-size:12px}.cert-switch img{grid-column:1/-1;height:15px;max-width:100%;object-fit:contain;object-position:left}:root[data-theme=dark] .cert-switch img{background:#fff;border-radius:3px;padding:3px;height:21px}.app-rail nav{display:grid;gap:5px}.app-rail nav button,.command-results button{display:flex;gap:11px;align-items:center;padding:11px 13px;border:0;border-radius:999px;text-align:left;background:transparent;color:var(--text-secondary);font-size:13px}.app-rail nav button:hover,.command-results button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.app-rail nav button[aria-current=page]{color:var(--primary-400);background:var(--primary-soft);font-weight:600}.rail-bottom{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding-top:24px;align-items:center}.jump-button{border:1px solid var(--surface-line);border-radius:999px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;gap:8px;padding:9px 12px;font-size:12px}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--surface-line);border-radius:50%;background:transparent;color:var(--text-primary)}.icon-button:hover{background:var(--bg-tertiary)}.app-body{margin-left:232px}.app-content{width:100%;max-width:1170px;margin:auto;padding:48px clamp(24px,4vw,60px) 40px}.app-content:focus{outline:0}.page-heading{margin-bottom:28px}.page-heading h1{margin:0 0 12px}.cert-meta{display:flex;flex-wrap:wrap;gap:7px;color:var(--text-secondary);font-size:11px}.chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 9px;background:var(--bg-tertiary)}.chip.updated{background:var(--correct-soft);color:var(--signal-correct)}.mobile-header,.mobile-tabs{display:none}.skip-link{position:fixed;top:-60px;left:20px;z-index:1000;padding:12px;background:var(--bg-primary);border:2px solid var(--primary-400)}.skip-link:focus{top:12px}.command-dialog{width:min(540px,calc(100% - 32px));margin:15vh auto auto;border:1px solid var(--surface-line);border-radius:20px;padding:12px;color:var(--text-primary);background:var(--bg-primary);box-shadow:var(--shadow-elevated)}.command-dialog::backdrop{background:var(--bg-overlay)}.command-head{display:flex;gap:10px;align-items:center}.command-head input{width:100%;min-width:0;border:0;background:transparent;padding:10px;color:inherit}.command-results{display:grid;gap:4px;padding-top:10px}.o2-card{padding:24px;border:1px solid var(--surface-line);border-radius:20px;background:var(--bg-primary)}.o2-card h2,.o2-card h3{margin:0}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}.o2-primary,.o2-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;border:1.5px solid var(--surface-line);font-size:13px;font-weight:600;white-space:normal}.o2-primary{background:var(--button-primary);color:var(--button-ink);border-color:var(--button-primary)}.o2-secondary{background:transparent;color:var(--text-primary)}.text-button{border:0;background:transparent;color:var(--text-secondary);padding:0;font-size:12px;text-align:left}.text-button:hover{color:var(--primary-400);text-decoration:underline}.muted{color:var(--text-secondary)}.small{font-size:12px}.home-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:22px;align-items:start}.home-column{display:grid;gap:22px;min-width:0}.readiness{margin:0 0 28px;max-width:360px}.readiness-label{font-size:12px;color:var(--text-secondary)}.readiness-value{font-size:48px;font-weight:700;line-height:1.15;font-family:var(--font-heading);letter-spacing:-.03em}.meter{height:6px;position:relative;background:var(--bg-tertiary);border-radius:999px;overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:var(--signal-correct)}.meter .pass-marker{position:absolute;top:0;bottom:0;width:2px;background:var(--text-tertiary)}.home-actions{display:grid;border:1px solid var(--surface-line);border-radius:18px;overflow:hidden}.home-actions button{background:var(--bg-primary);color:var(--text-primary);border:0;border-bottom:1px solid var(--surface-line);display:flex;align-items:center;gap:14px;text-align:left;padding:17px 20px;width:100%}.home-actions button:last-child{border-bottom:0}.home-actions button:hover{background:var(--bg-secondary)}.home-actions button>span{flex:1;min-width:0}.home-actions strong,.home-actions small{display:block}.home-actions strong{font-size:14px;font-weight:600}.home-actions small{color:var(--text-secondary);font-size:11px;margin-top:3px}.home-actions svg{color:var(--text-secondary)}.block-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}.block-tile{--score: var(--surface-line);min-height:76px;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:9px;border:1px solid var(--surface-line);border-radius:12px;background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-mono);text-align:left}.block-tile[data-scored=true]{background:color-mix(in oklch,var(--score) 20%,var(--bg-primary));color:color-mix(in oklch,var(--score) 55%,var(--text-primary));border-color:transparent}.block-tile[data-perfect=true]{background:var(--s-perfect);color:var(--bg-primary)}.block-tile[data-active=true]{border:1.5px solid var(--text-primary);box-shadow:0 0 0 3px var(--surface-line)}.block-tile[aria-pressed=true]{outline:2px solid var(--text-primary);outline-offset:2px}.block-tile b{font-family:var(--font-body);font-size:16px;font-weight:600}.block-tile .tile-number{font-size:10px}.round-dots{display:flex;gap:3px;min-height:4px}.round-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.7}.block-detail{margin-top:20px;padding:20px;border-radius:14px;background:var(--bg-tertiary)}.block-detail h3{margin:0 0 6px}.stat-row{display:flex;gap:24px;flex-wrap:wrap;margin:16px 0}.stat-row dt{color:var(--text-secondary);font-size:11px}.stat-row dd{margin:3px 0 0;font-size:20px;font-weight:600;font-family:var(--font-heading)}.question-dots{display:flex;flex-wrap:wrap;gap:5px;margin:18px 0}.question-dots i{width:7px;height:7px;background:var(--surface-line);border-radius:50%}.question-dots .correct{background:var(--s-okk)}.question-dots .wrong{background:var(--s-low)}.question-dots .current{background:var(--text-primary)}.domain-list{display:grid;gap:18px}.domain-row{display:grid;grid-template-columns:minmax(90px,1.2fr) minmax(30px,1fr) 42px;align-items:center;gap:14px;font-size:12px}.domain-row small{display:block;color:var(--text-secondary);font-size:10px}.domain-row strong{text-align:right;font-size:13px}.home-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:24px}.rewards-summary{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:12px;padding:16px 0}.app-footer{margin:36px 0 0;padding:20px 0 0;border-top:1px solid var(--surface-line);color:var(--text-secondary);font-size:11px;line-height:1.7}.app-footer p{max-width:75ch;margin:0 0 10px}.footer-links{display:flex;flex-wrap:wrap;gap:16px}.segmented{display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--bg-tertiary);padding:4px;border-radius:999px}.segmented button{background:transparent;border:0;padding:7px 12px;border-radius:999px;color:var(--text-secondary);font-size:12px}.segmented button[aria-pressed=true]{background:var(--button-primary);color:var(--button-ink)}.round-list{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.round-item{border:1px solid var(--surface-line);border-radius:10px;padding:9px;font-size:11px}.practice-config{display:grid;gap:24px}.practice-config legend{font-family:var(--font-heading);font-size:18px;font-weight:700;margin-bottom:14px}.source-options{display:flex;flex-wrap:wrap;gap:8px}.source-choice{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 16px;border:1.5px solid var(--surface-line);border-radius:14px;background:transparent;color:var(--text-primary);font-size:13px}.source-choice small{color:var(--text-secondary);font-size:11px}.topic-group{padding:16px 0;border-bottom:1px solid var(--surface-line)}.topic-domain{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:500;font-size:13px}.topic-domain input{width:17px;height:17px;accent-color:var(--primary-400)}.topic-chips{display:flex;gap:7px;flex-wrap:wrap}.topic-chips button{border:1px solid var(--surface-line);border-radius:999px;padding:7px 11px;color:var(--text-secondary);background:transparent;font-size:12px}.topic-chips button[aria-pressed=true]{border-color:var(--primary-medium);color:var(--primary-400);background:var(--primary-soft)}.config-number{padding:10px 12px;border:1px solid var(--surface-line);border-radius:10px;max-width:100px;background:var(--bg-primary);color:var(--text-primary)}.state-card{max-width:560px;margin:10vh auto;padding:24px;border:1px solid var(--surface-line);border-radius:20px;background:var(--bg-primary)}.mock-chart{width:100%;height:92px;display:block;color:var(--text-primary)}@media (max-width: 1050px){.app-rail{width:205px;padding-inline:12px}.app-body{margin-left:205px}.app-content{padding-inline:26px}.home-grid{gap:18px}.o2-card{padding:20px}}@media (max-width: 760px){.app-rail{display:none}.app-body{margin:0}.app-content{padding:24px 16px 100px}.mobile-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 0}.mobile-tools{display:flex;gap:8px;align-items:center}.mobile-cert{display:flex;align-items:center;gap:7px;background:transparent;border:0;color:var(--text-primary);font-size:13px;font-weight:600;padding:0}.mobile-cert i{width:7px;height:7px;background:var(--primary-400);border-radius:50%}.mobile-tabs{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--surface-line);background:var(--bg-primary);padding:9px 8px calc(9px + env(safe-area-inset-bottom))}.mobile-tabs button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 0;font-size:10px;border:0;background:transparent;color:var(--text-secondary)}.mobile-tabs button[aria-current=page]{color:var(--primary-400)}.home-grid{grid-template-columns:1fr}.page-heading h1{font-size:25px}.page-heading{margin-bottom:24px}.readiness-value{font-size:42px}.domain-row{gap:10px}.home-actions button{padding:16px}.command-dialog{margin-top:8vh}}.tile-number{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%}.app-shell .sub{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}.app-shell .btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;white-space:nowrap;padding:.8rem 1.5rem;cursor:pointer;border-radius:999px;border:1px solid var(--line);color:var(--ink);background:var(--surface)}.app-shell .btn-primary{background:var(--sig);border-color:var(--sig);color:var(--sig-ink)}.app-shell .btn-primary:hover{opacity:.88}.app-shell .btn-ghost:hover{border-color:var(--mut)}.app-shell .btn:disabled{opacity:.4;cursor:not-allowed}.app-shell{min-height:100dvh}.app-shell .rail{border-right:1px solid var(--line);background:var(--surface);padding:1.25rem .9rem;display:flex;flex-direction:column;gap:.15rem;position:fixed;top:0;bottom:0;left:0;width:13.5rem;z-index:150}.app-shell .rail .brand{font-weight:600;letter-spacing:-.02em;padding:.4rem .7rem 1.1rem;display:flex;align-items:center;gap:.5rem}.app-shell .rail .brand i{width:.5rem;height:.5rem;border-radius:50%;background:var(--sig)}.app-shell .rail a{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--mut);padding:.6rem .7rem;border-radius:10px;white-space:nowrap;display:flex;align-items:center;gap:.6rem}.app-shell .rail a svg{flex:none}.app-shell .rail a:hover{color:var(--ink);background:var(--surface-2)}.app-shell .rail a[aria-current=page]{color:var(--sig);background:var(--surface-2)}.app-shell .rail .sp{flex:1}.app-shell .cert-switch{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);padding:.55rem .7rem;cursor:pointer;text-align:left;margin:.4rem .2rem .8rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;white-space:nowrap}.app-shell .cert-switch svg{flex:none}.app-shell .appcol{display:flex;flex-direction:column;min-width:0;margin-left:13.5rem}.app-shell .appbar{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--line);background:var(--ground);padding:.7rem clamp(1rem,3vw,2rem);position:sticky;top:0;z-index:200}.app-shell .cmdk{margin-left:auto;display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:.75rem;color:var(--mut);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.5rem .9rem;cursor:pointer;white-space:nowrap}.app-shell .cmdk kbd{font-family:inherit;border:1px solid var(--line);border-radius:6px;padding:.1rem .4rem;font-size:.75rem}.app-shell .cmdk:hover{border-color:var(--mut);color:var(--ink)}.app-shell .iconbtn{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer}.app-shell .iconbtn:hover{border-color:var(--mut)}.app-shell .iconbtn.wide{width:auto;border-radius:999px;padding:.4rem .9rem;gap:.45rem;display:inline-flex;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.app-shell .iconbtn[aria-pressed=true]{background:var(--sig);color:var(--sig-ink);border-color:var(--sig)}.app-shell .appmain{padding:clamp(1.25rem,3vw,2.25rem) clamp(1rem,3vw,2.25rem) 6rem}.app-shell .card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:clamp(1.1rem,2.5vw,1.5rem)}.app-shell .card h2{font-size:1.15rem;font-weight:500}.app-shell .card .sub{margin-top:.35rem}.app-shell .card-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.app-shell .textbtn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;background:none;border:0;padding:0;color:var(--sig);cursor:pointer;white-space:nowrap}.app-shell .seg-ctrl{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.2rem;background:var(--surface-2)}.app-shell .seg-ctrl button{font-family:var(--font-mono);font-size:.75rem;padding:.35rem .85rem;background:none;color:var(--mut);border:0;border-radius:999px;cursor:pointer}.app-shell .seg-ctrl button[aria-pressed=true]{background:var(--sig);color:var(--sig-ink)}.app-shell .switch{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;background:none;border:0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}.app-shell .sw-track{width:2.3rem;height:1.25rem;border-radius:999px;border:1px solid var(--line);position:relative;background:var(--surface-2)}.app-shell .sw-thumb{position:absolute;top:2px;left:2px;width:.9rem;height:.9rem;border-radius:50%;background:var(--mut);transition:transform .18s ease-out,background .18s ease-out}.app-shell .switch[aria-checked=true] .sw-thumb{transform:translate(1.05rem);background:var(--sig)}.app-shell .tabbar{display:none}@media (max-width: 56rem){.app-shell .rail{display:none}.app-shell .appcol{margin-left:0}.app-shell .tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--surface);border-top:1px solid var(--line);padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));justify-content:space-around}.app-shell .tabbar a{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--mut);display:flex;padding:.3rem .6rem;white-space:nowrap}.app-shell .tabbar a[aria-current=page]{color:var(--sig)}.app-shell .appmain{padding-bottom:7rem}}.app-shell .palette{max-width:34rem;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.app-shell .palette input{width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:1rem 1.2rem;font-family:var(--font-mono);font-size:.85rem;color:var(--ink)}.app-shell .palette li button{width:100%;text-align:left;background:none;border:0;padding:.75rem 1.2rem;cursor:pointer;font-size:.9rem;display:flex;justify-content:space-between;gap:1rem}.app-shell .palette li button .h{font-family:var(--font-mono);font-size:.75rem;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}.app-shell .palette li button:hover{background:var(--surface-2)}.app-shell .sub,.app-shell .lab{font-family:var(--font-body);font-size:.84rem;letter-spacing:0;text-transform:none;color:var(--mut)}.app-shell .rail a{font-family:var(--font-body);font-size:.88rem;letter-spacing:0;text-transform:none}.app-shell .rail .grp{font-size:.75rem;color:var(--mut);padding:1rem .7rem .3rem}.app-shell .cert-switch{font-family:var(--font-body);font-size:.84rem;letter-spacing:0;text-transform:none}.app-shell .btn{font-family:var(--font-body);font-size:.88rem;letter-spacing:0;text-transform:none;font-weight:500;padding:.7rem 1.25rem}.app-shell .textbtn{font-family:var(--font-body);font-size:.84rem;letter-spacing:0;text-transform:none}.app-shell .tabbar a{font-family:var(--font-body);font-size:.8rem;letter-spacing:0;text-transform:none}.app-shell .big{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:-.02em}.app-shell .c-ok{color:var(--ok)}.app-shell .c-bad{color:var(--bad)}.app-shell .c-mid{color:var(--midc)}.app-shell .c-sig{color:var(--sig)}.app-shell .r3w{max-width:72rem;margin:0 auto;display:grid;gap:1.25rem}.app-shell .r3w h1{font-size:clamp(1.6rem,2.8vw,2.3rem);font-weight:450}.app-shell .card h2{font-size:1.05rem}.app-shell .chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:.2rem .65rem;color:var(--mut);white-space:nowrap}.app-shell .chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:var(--ok-soft)}.app-shell .chip.sig{color:var(--sig);border-color:color-mix(in srgb,var(--sig) 40%,transparent);background:var(--sig-soft)}.app-shell .chip.mid{color:var(--midc);border-color:color-mix(in srgb,var(--midc) 40%,transparent);background:var(--mid-soft)}.app-shell .chip.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,transparent);background:var(--bad-soft)}.app-shell .hhead{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap}.app-shell .hhead .meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}.app-shell .ready{min-width:15rem}.app-shell .ready .lab{display:block}.app-shell .ready .row{display:flex;align-items:baseline;gap:.6rem}.app-shell .ready .big{font-size:2.4rem;line-height:1}.app-shell .ready .bar{height:.4rem;border-radius:999px;background:var(--surface-2);position:relative;margin-top:.6rem}.app-shell .ready .bar i{position:absolute;top:0;bottom:0;left:0;right:auto;border-radius:999px;background:var(--ok)}.app-shell .ready .bar:after{content:"";position:absolute;left:70%;top:-.3rem;bottom:-.3rem;border-left:1px dashed var(--mut)}.app-shell .hero3{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem}@media (max-width: 62rem){.app-shell .hero3{grid-template-columns:minmax(0,1fr)}}.app-shell .cont{background:linear-gradient(160deg,color-mix(in srgb,var(--sig) 9%,var(--surface)),var(--surface) 60%);border-color:color-mix(in srgb,var(--sig) 30%,var(--line))}.app-shell .cont .lab{margin-bottom:.35rem}.app-shell .cont h2{font-size:1.5rem;font-weight:450}.app-shell .cont h2 .rng{font-family:var(--font-mono);color:var(--sig);font-size:1.1rem;margin-left:.35rem}.app-shell .dots{display:grid;grid-template-columns:repeat(25,minmax(0,1fr));gap:4px;margin:1.2rem 0 .6rem;max-width:30rem}.app-shell .dots i{aspect-ratio:1;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:block}.app-shell .dots i.ok{background:var(--ok);border-color:var(--ok)}.app-shell .dots i.bad{background:var(--bad);border-color:var(--bad)}.app-shell .dots i.cur{border:2px solid var(--sig);background:transparent}.app-shell .cont .row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}.app-shell .qa{display:grid;gap:.6rem}.app-shell .qa a{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.85rem;align-items:center;text-decoration:none;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:.85rem 1rem}.app-shell .qa a:hover{border-color:var(--mut)}.app-shell .qa .ic{width:2.2rem;height:2.2rem;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--sig)}.app-shell .qa b{display:block;font-weight:500;font-size:.95rem}.app-shell .qa span.s{font-size:.82rem;color:var(--mut)}.app-shell .qa .n{font-family:var(--font-mono);font-size:.9rem;color:var(--mut)}.app-shell .bmap .card-head{margin-bottom:.25rem}.app-shell .bmap .summary{font-size:.86rem;color:var(--mut)}.app-shell .bm-body{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:1.25rem;margin-top:1.1rem;align-items:start}@media (max-width: 62rem){.app-shell .bm-body{grid-template-columns:minmax(0,1fr)}}.app-shell .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.5rem}.app-shell .tiles.lg{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}.app-shell .tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:.35rem;text-align:left;min-height:4.9rem;padding:.55rem .6rem;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;font-family:var(--font-mono);color:var(--ink);transition:border-color .15s ease-out,transform .15s ease-out}.app-shell .tile:hover{border-color:var(--mut)}.app-shell .tile .tn{font-size:.72rem;color:var(--mut);display:flex;justify-content:space-between}.app-shell .tile .tp{font-size:1.05rem;font-weight:500}.app-shell .tile .pips{display:flex;gap:3px}.app-shell .tile .pips i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75}.app-shell .tile .rg{font-family:var(--font-body);font-size:.75rem;color:var(--mut)}.app-shell .tile .stt{font-family:var(--font-body);font-size:.75rem}.app-shell .tile.hi{background:color-mix(in srgb,var(--ok) 20%,var(--surface));border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.app-shell .tile.hi .tp,.app-shell .tile.hi .pips,.app-shell .tile.hi .stt{color:var(--ok)}.app-shell .tile.okk{background:color-mix(in srgb,var(--ok) 10%,var(--surface));border-color:color-mix(in srgb,var(--ok) 28%,transparent)}.app-shell .tile.okk .tp,.app-shell .tile.okk .pips,.app-shell .tile.okk .stt{color:var(--ok)}.app-shell .tile.mid{background:var(--mid-soft);border-color:color-mix(in srgb,var(--midc) 32%,transparent)}.app-shell .tile.low{background:var(--bad-soft);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.app-shell .tile.prog{border-color:var(--sig);background:var(--sig-soft)}.app-shell .tile.prog .tp,.app-shell .tile.prog .stt{color:var(--sig)}.app-shell .tile.prog .pbar{height:3px;border-radius:999px;background:var(--line);position:relative}.app-shell .tile.prog .pbar b{position:absolute;top:0;bottom:0;left:0;right:auto;background:var(--sig);border-radius:999px}.app-shell .tile.none{background:transparent;border-style:dashed}.app-shell .tile.none .tp{color:var(--mut)}.app-shell .tile .mast{position:absolute;top:.45rem;right:.5rem;color:var(--ok)}.app-shell .blegend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem;font-size:.78rem;color:var(--mut)}.app-shell .blegend span{display:inline-flex;align-items:center;gap:.4rem}.app-shell .blegend i{width:.75rem;height:.75rem;border-radius:3px;display:inline-block;border:1px solid var(--line)}.app-shell .blegend .l-hi{background:color-mix(in srgb,var(--ok) 35%,var(--surface))}.app-shell .blegend .l-ok{background:color-mix(in srgb,var(--ok) 14%,var(--surface))}.app-shell .blegend .l-mid{background:color-mix(in srgb,var(--midc) 30%,var(--surface))}.app-shell .blegend .l-low{background:color-mix(in srgb,var(--bad) 30%,var(--surface))}.app-shell .blegend .l-none{border-style:dashed}.app-shell .bdetail{border:1px solid var(--line);border-radius:14px;background:var(--surface-2);padding:1.1rem}.app-shell .bdetail h3{font-size:1.15rem;font-weight:500}.app-shell .bdetail h3 .rng{font-family:var(--font-mono);color:var(--sig);font-size:.95rem;margin-left:.3rem}.app-shell .bdetail .stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1rem 0}.app-shell .bdetail .stats div{font-size:.78rem;color:var(--mut)}.app-shell .bdetail .stats b{display:block;font-family:var(--font-mono);font-size:1.1rem;font-weight:500;color:var(--ink);margin-top:.1rem}.app-shell .rounds{display:grid;gap:.4rem;margin:.4rem 0 1rem}.app-shell .rounds .rr{display:grid;grid-template-columns:2rem minmax(0,1fr) 2.6rem;gap:.6rem;align-items:center;font-family:var(--font-mono);font-size:.75rem;color:var(--mut)}.app-shell .rounds .rr span:last-child{text-align:right;color:var(--ink)}.app-shell .rounds .tr{height:.4rem;border-radius:999px;background:var(--line);position:relative}.app-shell .rounds .tr i{position:absolute;top:0;bottom:0;left:0;right:auto;border-radius:999px}.app-shell .bdetail .acts{display:flex;gap:.5rem;flex-wrap:wrap}.app-shell .bdetail .acts .btn{padding:.6rem 1rem}.app-shell .duo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem;align-items:start}@media (max-width: 62rem){.app-shell .duo{grid-template-columns:minmax(0,1fr)}}.app-shell .dom{display:grid;grid-template-columns:8.5rem minmax(0,1fr) 3rem;gap:.9rem;align-items:center;padding:.6rem 0}.app-shell .dom .nm{font-size:.88rem}.app-shell .dom .nm small{display:block;font-size:.75rem;color:var(--mut)}.app-shell .dom .tr{height:.5rem;border-radius:999px;background:var(--surface-2);position:relative}.app-shell .dom .tr i{position:absolute;top:0;bottom:0;left:0;right:auto;border-radius:999px;background:var(--ok)}.app-shell .dom .tr:after{content:"";position:absolute;left:70%;top:-.3rem;bottom:-.3rem;border-left:1px dashed var(--mut)}.app-shell .dom .pc{font-family:var(--font-mono);font-size:.85rem;text-align:right}.app-shell .dom.low .pc{color:var(--bad)}.app-shell .dom.mid .pc{color:var(--midc)}.app-shell .dom-note{font-size:.84rem;color:var(--mut);margin-top:.6rem}.app-shell .side{display:grid;gap:1.25rem}.app-shell .spark{width:100%;height:56px;display:block;margin:.8rem 0 .3rem}.app-shell .hfoot{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center;padding-top:.5rem;font-size:.86rem}.app-shell .hfoot a{color:var(--mut);text-decoration:none}.app-shell .hfoot a:hover{color:var(--ink)}.app-shell .rw-strip{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.app-shell .rw-strip .big{font-size:1.2rem}.app-shell .cont{display:flex;flex-direction:column}.app-shell .cont .row{margin-top:auto;padding-top:1.1rem}.app-shell .blegend .l-hi{background:color-mix(in srgb,var(--ok) 55%,var(--surface))}.app-shell .blegend .l-ok{background:color-mix(in srgb,var(--ok) 25%,var(--surface))}.app-shell .blegend .l-none{border-color:var(--mut)}.app-shell .seg-ctrl button{font-family:var(--font-body);font-size:.84rem}.app-shell .dom .tr i,.app-shell .ready .bar i{background:var(--bar)}.app-shell .dom.mid .tr i{background:var(--midc)}.app-shell .dom.low .tr i{background:var(--bad)}.app-shell .cstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}.app-shell .cstats div{font-size:.8rem;color:var(--mut)}.app-shell .cstats b{display:block;font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--ink);margin-top:.15rem}@media (max-width: 40rem){.app-shell .cstats{grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell .big,.app-shell .tile,.app-shell .tile .tp,.app-shell .dots,.app-shell .cmdk,.app-shell .cmdk kbd,.app-shell .rng,.app-shell .rounds .rr,.app-shell .dom .pc,.app-shell .chip,.app-shell .seg-ctrl button,.app-shell .switch,.app-shell .sub,.app-shell .lab{font-family:var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}.app-shell .r3w h1,.app-shell .card h2{font-family:var(--font-body);font-weight:500;letter-spacing:-.015em}.app-shell .r3w h1{font-size:1.75rem}.app-shell .card h2,.app-shell .bdetail h3{font-size:1rem}.app-shell .cont h2{font-size:1.3rem}.app-shell .big,.app-shell .ready .big{font-weight:500}.app-shell .ready .big{font-size:2.4rem;letter-spacing:-.03em!important}.app-shell .cstats b,.app-shell .bdetail .stats b{font-family:var(--font-body);font-weight:500}.app-shell .card,.app-shell .qa a,.app-shell .bdetail{border-color:transparent;box-shadow:none}.app-shell .card{background:var(--surface);border-radius:14px}.app-shell .bdetail{background:var(--surface-2);border-radius:12px}.app-shell .qa a{background:var(--surface);border-radius:12px}.app-shell .qa a:hover{background:var(--surface-2)}.app-shell .cont{background:var(--surface)!important;border-color:transparent!important}.app-shell .rail{background:var(--ground);border-right:0}.app-shell .rail .brand i{display:none}.app-shell .rail a[aria-current=page]{color:var(--ink);background:var(--surface)}.app-shell .appbar{border-bottom-color:transparent;background:var(--ground)}.app-shell .cmdk,.app-shell .iconbtn{background:transparent;border-color:var(--line)}.app-shell .chip{border:0;background:var(--surface-2);color:var(--mut);font-size:.78rem;padding:.25rem .6rem}.app-shell .chip.ok{background:var(--ok-soft);color:var(--ok)}.app-shell .chip.sig{background:var(--surface-2);color:var(--ink)}.app-shell .chip.mid{background:var(--mid-soft);color:var(--midc)}.app-shell .tile,.app-shell .tile.hi,.app-shell .tile.okk,.app-shell .tile.mid,.app-shell .tile.low,.app-shell .tile.prog{background:var(--surface-2);border:1px solid transparent;border-radius:10px;box-shadow:none}.app-shell .tile.none{background:transparent;border:1px dashed var(--line)}.app-shell .tile.okk .tp,.app-shell .tile.okk .pips{color:color-mix(in srgb,var(--ok) 75%,var(--ink))}.app-shell .tile.prog{border-color:var(--ink)}.app-shell .tile.prog .tp,.app-shell .tile.prog .stt{color:var(--ink)}.app-shell .tile.prog .pbar b{background:var(--ink)}.app-shell .tile[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:2px}.app-shell .blegend .l-hi{background:var(--ok)}.app-shell .blegend .l-ok{background:color-mix(in srgb,var(--ok) 60%,var(--surface))}.app-shell .blegend .l-mid{background:var(--midc)}.app-shell .blegend .l-low{background:var(--bad)}.app-shell .blegend i{border:0;border-radius:50%;width:.55rem;height:.55rem}.app-shell .dots i{border:0;background:var(--surface-2)}.app-shell .dots i.cur{background:transparent;box-shadow:inset 0 0 0 2px var(--ink)}.app-shell .btn{border-radius:999px;font-weight:500}.app-shell .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.app-shell .btn-primary:hover{opacity:.9}.app-shell .btn-ghost{background:transparent;border-color:var(--line)}.app-shell .seg-ctrl{background:var(--surface-2);border-color:transparent}.app-shell .seg-ctrl button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.app-shell .textbtn{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em}.app-shell .textbtn:hover{text-decoration-color:var(--ink)}.app-shell .switch[aria-checked=true] .sw-thumb{background:var(--ok)}.app-shell .spark polyline{stroke:var(--ink)}.app-shell .spark g{fill:var(--ink)}.app-shell .spark line{opacity:.25}.app-shell .cstats{border-top-color:var(--surface-2)}.app-shell .dom .tr,.app-shell .ready .bar,.app-shell .rounds .tr{background:var(--surface-2)}.app-shell .dom .tr:after,.app-shell .ready .bar:after{border-left-color:var(--mut);opacity:.6}.app-shell .tile.hi{background:color-mix(in srgb,var(--ok) 24%,var(--surface));border-color:transparent}.app-shell .tile.okk{background:color-mix(in srgb,var(--ok) 12%,var(--surface));border-color:transparent}.app-shell .tile.mid{background:color-mix(in srgb,var(--midc) 16%,var(--surface));border-color:transparent}.app-shell .tile.low{background:color-mix(in srgb,var(--bad) 16%,var(--surface));border-color:transparent}.app-shell .tile.hi .tp,.app-shell .tile.hi .pips,.app-shell .tile.hi .stt,.app-shell .tile.okk .tp,.app-shell .tile.okk .pips,.app-shell .tile.okk .stt{color:var(--ok)}.app-shell .tile.mid .tp,.app-shell .tile.mid .pips,.app-shell .tile.mid .stt{color:var(--midc)}.app-shell .tile.low .tp,.app-shell .tile.low .pips,.app-shell .tile.low .stt{color:var(--bad)}.app-shell .blegend .l-hi{background:color-mix(in srgb,var(--ok) 60%,var(--surface))}.app-shell .blegend .l-ok{background:color-mix(in srgb,var(--ok) 28%,var(--surface))}.app-shell .blegend .l-mid{background:color-mix(in srgb,var(--midc) 45%,var(--surface))}.app-shell .blegend .l-low{background:color-mix(in srgb,var(--bad) 45%,var(--surface))}.app-shell .blegend i{border-radius:3px;width:.7rem;height:.7rem}.app-shell .chip.qid{font-family:var(--font-mono)!important;color:var(--ink);background:var(--surface-2)}.app-shell .blegend{display:none!important}.app-shell .card,.app-shell .qa a{border:1.5px solid var(--line)!important;border-radius:16px;box-shadow:none!important}.app-shell .btn{border-radius:999px;font-weight:600;padding:.8rem 1.6rem}.app-shell .r3w h1,.app-shell .card h2{font-weight:600;letter-spacing:-.02em}.app-shell .rail .brand i{display:inline-block;background:var(--sig)}.app-shell .dots i{width:auto}.app-shell .btn:focus-visible{outline-width:2px;outline-offset:2px;border-radius:999px}.app-shell .r3w h1,.app-shell .card h2{font-family:var(--font-display)}.app-shell .chip.qid{font-family:var(--font-mono)!important}.app-shell .c-perfect{color:var(--s-perfect)}.app-shell .c-t90{color:var(--s-t90)}.app-shell .c-ok{color:var(--s-okk)}.app-shell .c-mid{color:var(--s-mid)}.app-shell .c-bad{color:var(--s-low)}.app-shell .tile.t90,.app-shell .tile.okk,.app-shell .tile.mid,.app-shell .tile.low{border-color:transparent}.app-shell .tile.t90{background:color-mix(in oklab,var(--s-t90) var(--tint),var(--surface))}.app-shell .tile.okk{background:color-mix(in oklab,var(--s-okk) var(--tint),var(--surface))}.app-shell .tile.mid{background:color-mix(in oklab,var(--s-mid) var(--tint),var(--surface))}.app-shell .tile.low{background:color-mix(in oklab,var(--s-low) var(--tint),var(--surface))}.app-shell .tile.t90 :is(.tp,.pips,.stt,.mast){color:color-mix(in oklab,var(--s-t90) 80%,var(--ink))}.app-shell .tile.okk :is(.tp,.pips,.stt){color:color-mix(in oklab,var(--s-okk) 85%,var(--ink))}.app-shell .tile.mid :is(.tp,.pips,.stt){color:color-mix(in oklab,var(--s-mid) 85%,var(--ink))}.app-shell .tile.low :is(.tp,.pips,.stt){color:color-mix(in oklab,var(--s-low) 85%,var(--ink))}.app-shell .tile.perfect{background:var(--s-perfect);border-color:transparent;color:var(--primary-ink)}.app-shell .tile.perfect :is(.tn,.rg,.tp,.pips,.stt,.mast){color:var(--primary-ink)}.app-shell .tile.perfect .tn,.app-shell .tile.perfect .rg{opacity:.8}.app-shell .dots i{border:0}.app-shell .dots i:not(.ok):not(.bad):not(.cur){background:transparent;box-shadow:inset 0 0 0 1px var(--line)}.app-shell .dots i.ok{background:color-mix(in oklab,var(--s-okk) calc(var(--tint) * 2.2),var(--surface))}.app-shell .dots i.bad{background:color-mix(in oklab,var(--s-low) calc(var(--tint) * 2.2),var(--surface))}.app-shell .r3w h1,.app-shell .card h2{font-weight:700;letter-spacing:-.02em}.app-shell .btn{min-height:2.75rem;padding-inline:1.3rem;transition:background-color .15s,border-color .15s,color .15s,transform .1s}.app-shell .btn:active{transform:translateY(1px)}.app-shell .btn:disabled{opacity:.4;cursor:default;transform:none}.app-shell .dom.t90 .tr i{background:var(--s-t90)}.app-shell .mbrand{display:none}@media (max-width: 860px){.app-shell .appbar{justify-content:flex-start;gap:.5rem}.app-shell .mbrand{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--ink);text-decoration:none;height:2.5rem;padding:0 .2rem}.app-shell .mbrand i{width:8px;height:8px;border-radius:50%;background:var(--sig)}.app-shell .mbrand svg{color:var(--mut)}.app-shell .cmdk kbd{display:none}.app-shell .cmdk{height:2.5rem;padding:0 .9rem}.app-shell .appbar .iconbtn{width:2.5rem;height:2.5rem}.app-shell .tabbar{background:color-mix(in oklab,var(--surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom))}.app-shell .tabbar a{flex:1;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem 0;font-size:.7rem;font-weight:500;color:var(--mut);min-height:2.75rem;justify-content:center}.app-shell .tabbar a[aria-current=page]{color:var(--ink)}.app-shell .tabbar a[aria-current=page] svg{color:var(--sig)}.app-shell .appmain{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}.app-shell .cert-switch{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:.35rem}.app-shell .cert-switch .slogo{height:12px;width:auto;display:block}.app-shell .cert-switch{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;row-gap:.35rem}.app-shell .cert-switch .slogo{grid-column:1/-1}.app-shell .r3w h1,.app-shell .card h2{font-weight:700;letter-spacing:-.015em}.app-shell :is(h1,h2,h3,p,ul){margin:0}.app-shell ul{padding:0;list-style:none}.app-shell :is(h1,h2,h3){line-height:1.08}.app-shell .rail>button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.6rem .7rem;border:0;border-radius:10px;background:transparent;color:var(--mut);font-size:.88rem;text-align:left}.app-shell .rail>button:hover{color:var(--ink);background:var(--surface-2)}.app-shell .rail>button[aria-current=page]{color:var(--ink);background:var(--surface)}.app-shell .rail>.cert-switch{width:auto;margin:.4rem .2rem .8rem;padding:.55rem .7rem;border:1px solid var(--line);background:var(--surface-2);font-size:.84rem;color:var(--ink);gap:.45rem}.app-shell .rail .cert-switch>span:not(.provider-mark){flex:1}.app-shell .rail .brand{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--ink)}.app-shell .rail .slogo{width:14px;height:14px;flex:none;overflow:hidden}.app-shell .rail .slogo svg{display:block;width:14px;height:14px}.app-shell .mbrand{border:0;background:transparent}.app-shell .qa>button{display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.85rem;align-items:center;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);padding:.85rem 1rem;text-align:left}.app-shell .qa>button:hover:not(:disabled){background:var(--surface-2)}.app-shell .qa>button:disabled{opacity:.65}.app-shell .qa .ic{background:transparent;color:var(--mut);width:1.6rem}.app-shell .hfoot button{border:0;padding:0;background:transparent;color:var(--mut);font-size:.86rem}.app-shell .hfoot button:hover{color:var(--ink)}.app-shell .hfoot-reset{margin-left:auto}.app-shell .textbtn{padding:0;border:0;background:transparent}.app-shell .card .card-head{margin:0}.app-shell .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--line);font-size:.88rem;text-decoration:none;white-space:nowrap}.app-shell .btn-primary{border-color:var(--primary)}.app-shell .ready .bar:after{left:var(--pass, 70%)}.app-shell .ready-empty{font-size:.84rem;color:var(--mut);max-width:28ch}.app-shell .dots{grid-template-columns:repeat(var(--n, 25),minmax(0,1fr))}.app-shell .dom-list{margin-top:.6rem}.app-shell .dom.none .tr i{width:0}.app-shell .dom.none .pc{color:var(--mut)}.app-shell .dom.okk .tr i{background:var(--s-okk)}.app-shell .dom.t90 .pc{color:var(--s-t90)}.app-shell .dom.low .tr i{background:var(--s-low)}.app-shell .mock-empty{margin-top:.8rem;color:var(--mut);font-size:.84rem}.app-shell .rw-link{margin-left:auto}.app-shell .palette{position:fixed;inset:12vh 1rem auto;padding:0;width:calc(100% - 2rem);color:var(--ink)}.app-shell .palette::backdrop{background:var(--bg-overlay)}.app-shell .palette-empty{padding:1rem 1.2rem;color:var(--mut)}.app-shell .palette button:focus-visible{outline-offset:-3px}.app-shell .rail-account{margin-top:.8rem}.app-shell .rail-account .account-menu{position:relative}.app-shell .appmain:focus{outline:0}@media (max-width: 56rem){.app-shell .tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;border:0;background:transparent;padding:.35rem 0;min-height:2.75rem;font-size:.7rem;font-weight:500;color:var(--mut)}.app-shell .tabbar button[aria-current=page]{color:var(--ink)}.app-shell .tabbar button[aria-current=page] svg{color:var(--sig)}.app-shell .mbrand{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto;padding:0 .2rem;height:2.5rem;font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--ink)}.app-shell .mbrand i{width:8px;height:8px;border-radius:50%;background:var(--sig)}.app-shell .appbar{justify-content:flex-start;gap:.5rem}.app-shell .cmdk{margin-left:0;height:2.5rem;padding:0 .9rem}.app-shell .cmdk kbd{display:none}.app-shell .appbar .iconbtn{width:2.5rem;height:2.5rem}}@media (max-width: 400px){.app-shell .dom{grid-template-columns:6.5rem minmax(0,1fr) 2.5rem;gap:.5rem}.app-shell .cstats,.app-shell .cont .row{gap:.75rem}.app-shell .hfoot{gap:1rem}}.app-shell .rail .slogo{width:auto;height:12px;overflow:visible}.app-shell .rail .slogo svg{width:auto;height:12px}.app-shell .app-legal{margin-top:2rem;color:var(--mut);font-size:.75rem;line-height:1.6}.app-shell .app-legal p{margin:0 0 .5rem;max-width:80ch}.app-shell .app-legal a{display:inline-block;margin-right:1rem;text-underline-offset:3px}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html,body,#root{margin:0;min-height:100%}html{scroll-padding-top:24px}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-underline-offset:.2em}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.2;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(1.7rem,4vw,2.2rem)}h2{font-size:1.2rem}h3{font-size:1.05rem}::selection{background:var(--sig);color:var(--sig-ink)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}input,textarea{caret-color:var(--primary-400)}*{scrollbar-color:var(--surface-line-strong) transparent;scrollbar-width:thin}[hidden]{display:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes floatUp{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-180%) scale(1.6)}}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-120%)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes glow{0%,to{box-shadow:0 0 8px #fbbf244d}50%{box-shadow:0 0 25px #fbbf24b3}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes rainbow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes chestOpen{0%{transform:scale(1) rotateY(0)}50%{transform:scale(1.3) rotateY(180deg)}to{transform:scale(1) rotateY(360deg)}}@keyframes scratchReveal{0%{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}@keyframes bossEntrance{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(400px) rotate(720deg);opacity:0}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.study-blocks{min-width:0;color:var(--text-primary)}.sb-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.sb-head h1{margin:0;font:700 1.75rem/1.2 var(--font-heading);letter-spacing:-.015em}.sb-head-acts{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.sb-seg{display:inline-flex;padding:.2rem;border:1px solid transparent;border-radius:999px;background:var(--bg-tertiary)}.sb-seg button{padding:.35rem .85rem;min-height:32px;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font:400 .75rem var(--font-body);cursor:pointer}.sb-seg button[aria-pressed=true]{background:var(--button-primary);color:var(--button-ink)}.sb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.sb-card{padding:clamp(1.1rem,2.5vw,1.5rem);border:1.5px solid var(--surface-line);border-radius:16px;background:var(--bg-primary);min-width:0}.sb-card h2{margin:0;font:700 1rem/1.3 var(--font-heading);letter-spacing:-.015em}.sb-sug{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem}.sb-card-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.sb-cont h2{font-size:1.3rem}.study-blocks .rng{margin-left:.35rem;font:400 .95rem var(--font-body);color:var(--primary-400)}.sb-chip{display:inline-flex;padding:.25rem .6rem;border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.78rem}.sb-chip.ok{background:var(--correct-soft);color:var(--signal-correct)}.sb-chip.sig{color:var(--text-primary)}.sb-stats4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.1rem 0 1.3rem}.sb-stats4 dt{font-size:.8rem;color:var(--text-secondary)}.sb-stats4 dd{margin:.15rem 0 0;font-size:1.3rem;font-weight:500}.sb-dots{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:4px;margin:1.2rem 0 .6rem;max-width:30rem}.sb-dots i{display:block;aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px var(--surface-line)}.sb-dots i.ok{background:color-mix(in oklab,var(--s-okk) 53%,var(--bg-primary));box-shadow:none}.sb-dots i.bad{background:color-mix(in oklab,var(--s-low) 53%,var(--bg-primary));box-shadow:none}.sb-dots i.cur{box-shadow:inset 0 0 0 2px var(--text-primary)}.sb-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1.1rem}.sb-btn{min-height:44px;padding:.8rem 1.3rem;border:1px solid var(--surface-line);border-radius:999px;font:600 .9rem var(--font-body);cursor:pointer}.sb-btn-primary{background:var(--button-primary);border-color:var(--button-primary);color:var(--button-ink)}.sb-btn-ghost{background:transparent;color:var(--text-primary)}.sb-btn:hover{opacity:.9}.sb-btn-ghost:hover{border-color:var(--text-secondary)}.sb-btn:active{transform:translateY(1px)}.study-blocks button:focus-visible{outline:2px solid var(--primary-400);outline-offset:3px}.sb-rounds{display:grid;gap:.4rem;margin:.4rem 0 1rem}.sb-rounds .rr{display:grid;grid-template-columns:2rem minmax(0,1fr) 2.6rem;gap:.6rem;align-items:center;font-size:.75rem;color:var(--text-secondary)}.sb-rounds .rr span:last-child{text-align:right;color:var(--text-primary)}.sb-rounds .tr{height:.4rem;border-radius:999px;background:var(--surface-line);position:relative}.sb-rounds .tr i{position:absolute;top:0;bottom:0;left:0;right:auto;border-radius:999px}.sb-lab{margin:1rem 0 .4rem;color:var(--text-secondary);font-size:.85rem}.sb-latest{display:grid;list-style:none;padding:0;margin:.6rem 0 0}.sb-latest li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--surface-line);font-size:.86rem}.sb-latest li:last-child{border:0}.sb-latest .d{font-size:.78rem;color:var(--text-secondary)}.sb-none,.sb-empty{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.sb-none{margin:.9rem 0 0}.sb-map{margin-top:1.25rem}.sb-summary{margin:.3rem 0 0;color:var(--text-secondary);font-size:.86rem}.sb-body{display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:1.25rem;margin-top:1.1rem;align-items:start}.sb-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem}.sb-tile{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:.35rem;min-width:0;min-height:4.9rem;padding:.55rem .6rem;border:1px solid var(--surface-line);border-radius:12px;background:var(--bg-tertiary);color:var(--text-primary);text-align:left;font-family:var(--font-body);cursor:pointer}.sb-tile:hover{border-color:var(--text-secondary)}.sb-tile .tn{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-secondary)}.sb-tile .rg{font-size:.75rem;color:var(--text-secondary)}.sb-tile .tp{font-size:1.05rem;font-weight:500}.sb-tile .stt{font-size:.75rem}.sb-tile .pips{display:flex;gap:3px}.sb-tile .pips i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.75}.sb-tile .mast{position:absolute;top:.45rem;right:.5rem}.sb-tile.t90{--tile-score: var(--s-t90)}.sb-tile.okk{--tile-score: var(--s-okk)}.sb-tile.mid{--tile-score: var(--s-mid)}.sb-tile.low{--tile-score: var(--s-low)}.sb-tile:is(.t90,.okk,.mid,.low){background:color-mix(in oklab,var(--tile-score) 24%,var(--bg-primary));border-color:transparent}.sb-tile:is(.t90,.okk,.mid,.low) :is(.tp,.pips,.stt,.mast){color:color-mix(in oklab,var(--tile-score) 85%,var(--text-primary))}.sb-tile.perfect{background:var(--s-perfect);color:var(--button-ink);border-color:transparent}.sb-tile.perfect :is(.tn,.rg){color:inherit;opacity:.8}:root[data-theme=dark] .sb-tile.perfect{color:var(--text-primary)}.sb-tile.prog{border-color:var(--text-primary);background:var(--primary-soft)}.sb-tile.prog .pbar{height:3px;border-radius:999px;background:var(--surface-line);position:relative}.sb-tile.prog .pbar b{position:absolute;top:0;bottom:0;left:0;right:auto;background:var(--text-primary);border-radius:999px}.sb-tile.none{background:transparent;border-style:dashed}.sb-tile.none .tp{color:var(--text-secondary)}.sb-tile[aria-pressed=true]{outline:2px solid var(--text-primary);outline-offset:2px}.sb-detail{min-width:0;border:1px solid transparent;border-radius:12px;background:var(--bg-tertiary);padding:1.1rem}.sb-detail h3{margin:0;font:700 1rem/1.3 var(--font-heading);letter-spacing:-.015em}.sb-detail .sub{margin:.35rem 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.5}.sb-detail .stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 1rem;margin:1rem 0}.sb-detail dt{font-size:.78rem;color:var(--text-secondary)}.sb-detail dd{margin:.1rem 0 0;font-size:1.1rem;font-weight:500}.sb-detail .acts{display:flex;gap:.5rem;flex-wrap:wrap}.sb-detail .acts .sb-btn{padding:.6rem 1rem}@media (max-width: 62rem){.sb-sug,.sb-body{grid-template-columns:minmax(0,1fr)}}@media (max-width: 420px){.sb-seg button{padding-inline:.65rem}.sb-tiles{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))}.sb-stats4{gap:.6rem}}.exam{--ground: oklch(99% .003 180);--surface: oklch(100% 0 0);--surface-2: oklch(95.5% .006 200);--ink: oklch(21% .02 250);--mut: oklch(48% .02 250);--line: oklch(91% .008 220);--sig: oklch(55% .11 175);--sig-ink: oklch(99% .01 175);--ok: oklch(55% .12 168);--bad: oklch(56% .19 25);--midc: oklch(60% .13 75);--ok-soft: oklch(55% .12 168 / .09);--bad-soft: oklch(56% .19 25 / .08);--mid-soft: oklch(60% .13 75 / .1);--sig-soft: oklch(55% .11 175 / .08);--pick-bg: oklch(55% .11 175 / .07);--bar: oklch(62% .13 172);--primary: oklch(21% .02 250);--primary-ink: oklch(99% .003 180);--s-perfect: oklch(50% .12 172);--s-t90: oklch(56% .15 138);--s-okk: oklch(55% .12 168);--s-mid: oklch(60% .13 75);--s-low: oklch(56% .19 25);--tint: 24%;--font-display: var(--font-heading);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.55}:root[data-theme=dark] .exam{--ground: oklch(17% .02 255);--surface: oklch(21% .022 255);--surface-2: oklch(26% .025 255);--ink: oklch(94% .008 250);--mut: oklch(70% .02 250);--line: oklch(31% .025 255);--sig: oklch(74% .13 175);--sig-ink: oklch(18% .03 200);--ok: oklch(79% .14 165);--bad: oklch(70% .17 25);--midc: oklch(81% .13 80);--ok-soft: oklch(79% .14 165 / .1);--bad-soft: oklch(70% .17 25 / .11);--mid-soft: oklch(81% .13 80 / .1);--sig-soft: oklch(74% .13 175 / .1);--pick-bg: oklch(74% .13 175 / .1);--bar: oklch(76% .14 170);--primary: oklch(94% .008 250);--primary-ink: oklch(17% .02 255);--s-perfect: oklch(52% .11 172);--s-t90: oklch(88% .19 136);--s-okk: oklch(79% .14 165);--s-mid: oklch(81% .13 80);--s-low: oklch(70% .17 25);--tint: 20%}.exam :focus-visible{outline:2px solid var(--sig);outline-offset:3px;border-radius:4px}.exam p,.exam h1,.exam h2,.exam h3{margin:0}.exam h1,.exam h2,.exam h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;line-height:1.08;overflow-wrap:anywhere;text-wrap:balance}.exam button{font-family:inherit;color:inherit}.exam button:disabled{opacity:1}.exam-page{min-height:100vh;background:var(--ground);padding:0 clamp(1rem,3vw,2.25rem) 6rem}.exam.r3w,.exam .r3w{max-width:72rem;margin:0 auto;display:grid;gap:1.25rem}.exam-page .r3w{max-width:48rem}.exam-page .r3w.is-mock{max-width:78rem}@media (max-width: 860px){.exam-page{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}}.exam .btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.25rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-family:var(--font-body);font-size:.88rem;font-weight:500;line-height:1.55;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .1s}.exam .btn:active{transform:translateY(1px)}.exam .btn:disabled{opacity:.4;cursor:default;transform:none}.exam .btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.exam .btn-primary:hover{opacity:.9}.exam .btn-ghost{background:transparent;border-color:var(--line)}.exam .btn-ghost:hover{border-color:var(--mut)}.exam .btn:focus-visible{outline-width:2px;outline-offset:2px;border-radius:999px}.exam .textbtn{background:none;border:0;padding:0;color:var(--ink);font-family:var(--font-body);font-size:.84rem;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:.2em;white-space:nowrap;cursor:pointer}.exam .textbtn:hover{text-decoration-color:var(--ink)}.exam .iconbtn{display:inline-grid;place-items:center;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.exam .iconbtn:hover{border-color:var(--mut);background:var(--surface)}.exam .iconbtn[aria-pressed=true]{background:var(--sig-soft);border-color:var(--sig);color:var(--sig)}.exam .iconbtn[aria-pressed=true] svg path{fill:currentColor}.exam .fexit{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:2.5rem;min-width:2.5rem;height:2.5rem;padding:0;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:.88rem;text-decoration:none;white-space:nowrap;cursor:pointer;transition:border-color .15s,background-color .15s,color .15s}.exam .fexit:hover{border-color:var(--mut);background:var(--surface)}.exam .fexit.has-label{width:auto;padding:0 1rem 0 .8rem}.exam .fexit:focus-visible{outline-width:2px;outline-offset:2px;border-radius:999px}.exam .fbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:.9rem;padding:.9rem 0;background:var(--ground)}.exam .fprog{display:block;flex:1 1 12rem;max-width:30rem;height:8px;margin-inline:auto;border-radius:999px;overflow:hidden;background:var(--surface-2)}.exam .fprog i{display:block;height:100%;background:var(--sig);transition:width .2s ease-out}.exam .blknav{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem;border-radius:999px;background:var(--surface)}.exam .blkbtn,.exam .mnav{display:inline-flex;align-items:center;gap:.35rem;height:2.5rem;padding:0 .95rem;border:1.5px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:.85rem;white-space:nowrap;cursor:pointer}.exam .mnav{gap:.4rem;padding:.45rem .9rem;font-size:.88rem}.exam .blkbtn:hover,.exam .blkbtn[aria-expanded=true],.exam .mnav:hover,.exam .mnav[aria-expanded=true]{border-color:var(--mut);background:var(--surface)}.exam .blkbtn svg,.exam .mnav svg{transform:rotate(90deg)}.exam .blkbtn[aria-expanded=true] svg,.exam .mnav[aria-expanded=true] svg{transform:rotate(-90deg)}.exam .timer3{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;font-family:var(--font-mono);font-size:.85rem;color:var(--mut)}@media (max-width: 40rem){.exam .fbar{flex-wrap:wrap;gap:.6rem}}.exam .navpop{position:fixed;z-index:420;top:4.4rem;left:50%;transform:translate(-50%);width:min(26rem,100vw - 2rem);max-height:calc(100dvh - 6rem);overflow:auto;padding:1.1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 18px 50px #02030673}.exam .navpop .nh{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.7rem}.exam .navpop .nh b{font-weight:500}.exam .navpop .nempty{font-size:.84rem;color:var(--mut)}.exam .ngrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.exam .ngrid button{display:grid;gap:.05rem;padding:.4rem .5rem;border:1px solid transparent;border-radius:10px;background:var(--surface-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.exam .ngrid button small{font-family:var(--font-mono);font-size:.7rem;color:var(--mut)}.exam .ngrid button.ok{background:color-mix(in oklab,var(--s-okk) var(--tint),var(--surface))}.exam .ngrid button.bad{background:color-mix(in oklab,var(--s-low) var(--tint),var(--surface))}.exam .ngrid button.cur{border-color:var(--ink)}.exam .ngrid button.none{background:transparent;border:1px dashed var(--line)}.exam .ngrid button:disabled{cursor:default}.exam .qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.3rem,1fr));gap:.4rem}.exam .qn{position:relative;height:2.2rem;border:1px solid transparent;border-radius:8px;background:var(--surface);color:var(--mut);font-family:var(--font-body);font-size:.75rem;cursor:pointer}.exam .qn.q-ans{background:var(--surface-2);color:var(--ink)}.exam .qn.q-flag{color:var(--sig)}.exam .qn.q-flag:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;border-radius:50%;background:var(--midc)}.exam .qn.q-cur{outline:2px solid var(--ink);outline-offset:1px}.exam .fcol{display:grid;gap:1rem;padding-top:1.75rem}.exam .qmeta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.exam .qchip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;color:var(--sig);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.exam .qchip.qid{color:var(--mut);font-family:var(--font-mono)}.exam .qchip.diff{gap:.45rem;color:var(--mut)}.exam .qchip.diff.d3{color:var(--s-low)}.exam .qchip.warn{color:var(--midc)}.exam .dbars{display:inline-flex;align-items:flex-end;gap:2px;height:11px}.exam .dbars i{width:3px;border-radius:1px;background:var(--line)}.exam .dbars i:nth-child(1){height:5px}.exam .dbars i:nth-child(2){height:8px}.exam .dbars i:nth-child(3){height:11px}.exam .d1 .dbars i:nth-child(1),.exam .d2 .dbars i:nth-child(-n+2){background:var(--sig)}.exam .d3 .dbars i{background:var(--s-low)}.exam .legacy{margin:1rem 1.4rem 0;padding:.55rem .8rem;border:1px solid color-mix(in srgb,var(--midc) 40%,transparent);border-radius:10px;background:var(--mid-soft);color:var(--midc);font-size:.86rem}.exam .qnote{padding:.55rem .8rem;border-radius:10px;background:var(--surface-2);font-size:.86rem}.exam .qtext{padding:1.1rem 0 .4rem;font-family:var(--font-body);font-size:1.3rem;font-weight:500;line-height:1.5;letter-spacing:-.01em;white-space:pre-line}.exam .qimg{display:block;max-width:100%;margin-top:.75rem;border:1.5px solid var(--line);border-radius:12px}.exam .opts{display:grid;gap:.55rem;padding:1rem 0}.exam .optrow{display:grid;gap:.3rem}.exam .opt{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.15rem;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);color:var(--ink);font-size:.95rem;line-height:1.55;text-align:left;cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out}.exam .opt:not(:disabled):hover{background:var(--surface-2)}.exam .opt:disabled{cursor:default}.exam .opt .key{display:grid;place-items:center;flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--surface-2);color:var(--mut);font-size:.75rem;font-weight:600}.exam .opt .mk{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-left:auto;background:currentColor;mask:var(--mk) center/contain no-repeat;opacity:0}.exam .opt.is-pick{border-color:var(--sig);background:var(--pick-bg)}.exam .opt.is-pick .key{background:var(--sig);color:var(--sig-ink)}.exam .opt.is-pick .mk{--mk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='black'/%3E%3C/svg%3E");opacity:1;color:var(--sig)}.exam .opt.is-correct{border-color:var(--ok);background:var(--ok-soft)}.exam .opt.is-correct .key{background:var(--ok);color:var(--ground)}.exam .opt.is-correct .mk{--mk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");opacity:1;color:var(--ok)}.exam .opt.is-wrong{border-color:var(--bad);background:var(--bad-soft)}.exam .opt.is-wrong .key{background:var(--bad);color:var(--ground)}.exam .opt.is-wrong .mk{--mk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 4l8 8M12 4l-8 8' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");opacity:1;color:var(--bad)}.exam .opt.dim{color:var(--mut);opacity:1}.exam .opt.removed{border-style:dashed;background:transparent;color:var(--mut);opacity:.55}.exam .why{padding:.15rem 1rem .5rem 3.6rem;color:var(--ink);font-size:.88rem;line-height:1.5}.exam .why b{margin-right:.4rem;font-size:.78rem;font-weight:600}.exam .why.w-ok b{color:var(--ok)}.exam .why.w-no b{color:var(--bad)}.exam .qfoot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 0;border-top:1px solid var(--surface-2)}.exam .qacts{display:flex;flex-wrap:wrap;gap:.5rem}.exam .qfoot .qacts{margin-left:auto}.exam .qtools{display:flex;flex-wrap:wrap;gap:.5rem}.exam .verd,.exam .disc3,.exam .case{padding:1.1rem 1.3rem;border:1.5px solid var(--line);border-radius:16px;background:var(--surface)}.exam .verd .vt{font-size:1.05rem;font-weight:600}.exam .verd.ok .vt{color:var(--ok)}.exam .verd.bad .vt{color:var(--bad)}.exam .verd .vt small{margin-left:.5rem;font-size:.78rem;font-weight:500;color:var(--mut)}.exam .verd .concept{margin-top:.6rem;font-size:.8rem;color:var(--mut)}.exam .verd .concept b{display:block;margin-top:.15rem;color:var(--ink);font-size:.95rem;font-weight:500}.exam .verd .ex{margin-top:.6rem;font-size:.92rem;line-height:1.6}.exam .dhead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem}.exam .dhead h3{font-size:1rem}.exam .vlab{font-size:.75rem;color:var(--mut)}.exam .vote{display:flex;height:.55rem;margin:.8rem 0 .35rem;border-radius:999px;overflow:hidden;background:var(--surface-2)}.exam .vote i{display:block;height:100%}.exam .vote .v-ok{background:var(--ok)}.exam .vote .v-no{background:color-mix(in oklab,var(--mut) 45%,var(--surface-2))}.exam .dsum{margin-top:.6rem;font-size:.86rem;color:var(--mut)}.exam .cmts{display:grid;gap:.85rem;margin-top:1rem}.exam .cmt{display:grid;grid-template-columns:1.9rem minmax(0,1fr);gap:.7rem}.exam .cmt .av{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--surface-2);color:var(--sig);font-family:var(--font-mono);font-size:.72rem}.exam .cmt b{font-size:.84rem;font-weight:500}.exam .cmt p{margin-top:.15rem;color:var(--mut);font-size:.86rem;white-space:pre-line;overflow-wrap:anywhere}.exam .disc3 .textbtn{margin-top:.9rem}.exam .nocmts{margin-top:.9rem;font-size:.86rem;color:var(--mut)}.exam .qmode{font-size:.8rem;color:var(--mut)}.exam .qmode .textbtn{font-size:inherit;color:var(--sig);text-decoration-color:currentColor;text-underline-offset:.18em}.exam .case{padding:0}.exam .case summary{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.3rem;font-size:.9rem;font-weight:500;list-style:none;cursor:pointer}.exam .case summary::-webkit-details-marker{display:none}.exam .case summary .lab{color:var(--sig);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.exam .case summary svg{margin-left:auto;color:var(--mut);transform:rotate(90deg);transition:transform .15s ease-out}.exam .case[open] summary svg{transform:rotate(-90deg)}.exam .case-body{display:grid;gap:.8rem;padding:0 1.3rem 1.1rem}.exam .case-body .legacy{margin:0}.exam .case-text{max-height:26rem;overflow:auto;padding-top:.9rem;border-top:1px solid var(--surface-2);font-size:.9rem;line-height:1.6;white-space:pre-line}.exam .case-src{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;font-size:.8rem;color:var(--mut)}.exam .mock-top{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;padding:.85rem 1.2rem;border:1px solid transparent;border-radius:16px;background:var(--surface)}.exam .mock-top .fexit{margin-right:.25rem}.exam .mock-top .timer{font-size:1.5rem;font-weight:500;font-variant-numeric:tabular-nums}.exam .mock-top .timer.urgent{color:var(--bad)}.exam .mock-top .sp{flex:1}.exam .mock-top .fprog{flex:1 1 100%}.exam .mockwrap{display:grid;gap:1.25rem;max-width:48rem;margin:1.25rem auto 0;width:100%}.exam .qtop{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--line)}.exam .lab{font-size:.84rem;color:var(--mut)}.exam .toggle{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .8rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--mut);font-size:.82rem;cursor:pointer}.exam .toggle[aria-pressed=true]{border-color:var(--sig);background:var(--sig-soft);color:var(--sig)}.exam .seg-ctrl{display:inline-flex;padding:.2rem;border:1px solid transparent;border-radius:999px;background:var(--surface-2)}.exam .seg-ctrl button{padding:.35rem .85rem;border:0;border-radius:999px;background:none;color:var(--mut);font-family:var(--font-body);font-size:.84rem;cursor:pointer}.exam .seg-ctrl button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.exam .navpop .seg-ctrl button{padding:.25rem .7rem;font-size:.78rem}.exam .confirm-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;display:grid;place-items:center;padding:1rem;background:#0000001a}.exam .confirm{max-width:26rem;padding:1.5rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink)}.exam .confirm p{margin-bottom:1rem}.exam .confirm .qacts{gap:.75rem}@media (max-width: 640px){.exam .mock-top{gap:.6rem;padding:.7rem .85rem}.exam .mock-top .timer{font-size:1.15rem}.exam .mock-top .mnav{order:5}.exam .mock-top .fprog{order:6}.exam .mock-top .submit{min-height:0;padding:.5rem .9rem;font-size:.85rem}}.exam .card{padding:clamp(1.1rem,2.5vw,1.5rem);border:1.5px solid var(--line);border-radius:16px;background:var(--surface)}.exam .card h2{font-size:1rem}.exam .sub{font-size:.84rem;color:var(--mut)}.exam .card .sub{margin-top:.35rem}.exam.r3w h1,.exam .r3w h1{font-size:1.75rem}.exam .hhead{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem}.exam .duo{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:1.25rem}.exam .card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.exam .c-perfect{color:var(--s-perfect)}.exam .c-t90{color:var(--s-t90)}.exam .c-ok{color:var(--s-okk)}.exam .c-mid{color:var(--s-mid)}.exam .c-bad{color:var(--s-low)}.exam .mkstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.exam .mkstats div,.exam .res-stats div{font-size:.8rem;color:var(--mut)}.exam .mkstats b{display:block;color:var(--ink);font-size:1.6rem;font-weight:500}.exam .wlist{display:grid;gap:.15rem;margin:.7rem 0 .2rem}.exam .wrow{display:grid;grid-template-columns:minmax(0,1fr) 7rem 2.6rem 3.6rem;align-items:center;gap:.8rem;padding:.45rem 0;font-size:.9rem}.exam .wrow .tr{position:relative;height:.45rem;border-radius:999px;background:var(--surface-2)}.exam .wrow .tr i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:var(--bar)}.exam .wrow .wp{font-size:.85rem;text-align:right}.exam .wrow .wq{color:var(--mut);font-size:.78rem;text-align:right;white-space:nowrap}.exam .mkrecent{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--line)}.exam .mkrecent b{font-weight:500}.exam .switch{display:inline-flex;align-items:center;gap:.6rem;padding:0;border:0;background:none;color:var(--mut);font-size:.75rem;cursor:pointer}.exam .sw-track{position:relative;width:2.3rem;height:1.25rem;border:1px solid var(--line);border-radius:999px;background:var(--surface-2)}.exam .sw-thumb{position:absolute;top:2px;left:2px;width:.9rem;height:.9rem;border-radius:50%;background:var(--mut);transition:transform .18s ease-out,background .18s ease-out}.exam .switch[aria-pressed=true] .sw-thumb{transform:translate(1.05rem);background:var(--ok)}.exam .mkstart{margin-top:1.4rem}.exam .latest{display:grid;margin-top:.8rem}.exam .latest div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.86rem}.exam .latest div:last-child{border-bottom:0}.exam .latest .d{color:var(--mut);font-size:.78rem}.exam .card .latest+.sub{margin-top:.8rem}.exam .card .empty{margin-top:.8rem}.exam .res-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2rem}.exam .ring{position:relative;width:9rem;height:9rem}.exam .ring svg{width:100%;height:100%;transform:rotate(-90deg)}.exam .ring .rv{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center}.exam .ring .rv b{display:block;font-size:1.9rem;font-weight:500;line-height:1}.exam .ring .rv span{font-size:.8rem;color:var(--mut)}.exam .res-stats{display:flex;flex-wrap:wrap;gap:2rem;margin:1rem 0 1.2rem}.exam .res-stats b{display:block;color:var(--ink);font-size:1.15rem;font-weight:500}.exam .res-stats b.c-ok{color:var(--s-okk)}.exam .res-stats b.c-bad{color:var(--s-low)}.exam .rlist{display:grid;margin-top:.8rem}.exam .rrow-d{border-bottom:1px solid var(--line)}.exam .rrow-d:last-child{border-bottom:0}.exam .rrow{display:grid;grid-template-columns:.7rem 3.2rem minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.7rem 0;font-size:.88rem;list-style:none;cursor:pointer}.exam .rrow::-webkit-details-marker{display:none}.exam .rrow:hover .qq{text-decoration:underline;text-underline-offset:.18em}.exam .rrow .dt{width:.6rem;height:.6rem;border-radius:50%}.exam .rrow.ok .dt{background:var(--ok)}.exam .rrow.bad .dt{background:var(--bad)}.exam .rrow .id{color:var(--mut);font-size:.78rem}.exam .rrow .qq{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam .rrow .ans{color:var(--mut);font-size:.78rem;white-space:nowrap}.exam .rrow.bad .ans b{color:var(--bad)}.exam .rrow .ans i{font-style:normal;color:var(--ok)}.exam .rbody{display:grid;gap:.6rem;padding:0 0 1rem calc(4.6rem + 1.8rem);font-size:.88rem;line-height:1.55}.exam .rbody .rq{white-space:pre-line}.exam .rbody .ropt{color:var(--mut)}.exam .rbody .ropt b{margin-right:.4rem;font-weight:600}.exam .rbody .ropt.w-ok b{color:var(--ok)}.exam .rbody .ropt.w-no b{color:var(--bad)}.exam .rbody .ropt.mine{color:var(--ink)}.exam .rlist .empty{padding:.7rem 0}@media (max-width: 62rem){.exam .duo{grid-template-columns:minmax(0,1fr)}}@media (max-width: 44rem){.exam .res-top{grid-template-columns:minmax(0,1fr)}.exam .rrow{grid-template-columns:.7rem minmax(0,1fr) auto}.exam .rrow .id{display:none}.exam .rbody{padding-left:1.6rem}}@media (max-width: 40rem){.exam .qtext{font-size:1.1rem}.exam .why{padding-left:1rem}.exam .wrow{grid-template-columns:minmax(0,1fr) 2.6rem}.exam .wrow .tr,.exam .wrow .wq{display:none}}@media (max-width: 640px){.exam .qfoot .qacts{display:flex;flex-wrap:nowrap;gap:.6rem;width:100%}.exam .qfoot .qacts .btn{flex:1;padding-inline:.8rem;white-space:nowrap}}@media (max-width: 34rem){.exam .qfoot{flex-direction:column;align-items:stretch}.exam .qacts{flex-direction:column}.exam .qacts .btn{justify-content:center}}@media (prefers-reduced-motion: reduce){.exam *,.exam *:after{transition:none!important}}.exam .fcol .qtext{font-family:var(--font-body);font-size:1.3rem;font-weight:500;line-height:1.5;letter-spacing:-.01em;text-wrap:initial}@media (max-width: 40rem){.exam .fcol .qtext{font-size:1.1rem}}.exam.r3w{width:100%}.exam .recent-description{display:block;margin-top:.25rem}.exam .mkrecent{position:relative;cursor:pointer}.exam .mkrecent>span:first-of-type{flex:1;min-width:0}.exam .recent-checkbox{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden}.exam .mkrecent:has(input:focus-visible){outline:2px solid var(--sig);outline-offset:4px;border-radius:4px}.exam .switch[data-enabled=true] .sw-thumb{transform:translate(1.05rem);background:var(--ok)}.exam .topic-result{grid-template-columns:minmax(0,1fr) minmax(4rem,2fr) 3rem}.rewards-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:52px;padding:1rem 1.2rem;border:1px solid var(--surface-line);border-radius:16px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font:inherit;font-size:.9rem;font-weight:500}.rewards-toggle:hover{border-color:var(--primary-400)}.rewards-toggle:focus-visible{outline:2px solid var(--primary-400);outline-offset:3px}.rewards-toggle:active{background:var(--primary-soft)}.rewards-toggle-state{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.8rem}.rewards-toggle-state i{position:relative;width:30px;height:18px;border-radius:999px;background:var(--bg-tertiary)}.rewards-toggle-state i:before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;left:3px;top:3px;background:var(--text-secondary);transition:transform .15s}.rewards-toggle-state .is-on{background:var(--primary-soft)}.rewards-toggle-state .is-on:before{transform:translate(12px);background:var(--primary-400)}.rewards-page{display:grid;gap:1.5rem}.rewards-section{background:var(--bg-primary);border:1px solid var(--surface-line);border-radius:20px;padding:clamp(18px,4vw,28px)}.rewards-section h2{margin:0 0 1rem;font-family:var(--font-heading);font-size:1.25rem;font-weight:700}.rewards-inventory{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin:0}.rewards-item{padding:.8rem 1rem;border:1px solid var(--surface-line);border-radius:12px}.rewards-item dt{color:var(--text-secondary);font-size:.85rem}.rewards-item dd{margin:.3rem 0 0;font-family:var(--font-mono);font-size:1.25rem}.rewards-achievements{display:flex;flex-wrap:wrap;gap:.65rem}.rewards-empty{margin:0;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.rewards-xp-pop{position:fixed;left:50%;top:34%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:var(--signal-correct);z-index:500;pointer-events:none;animation:floatUp 1.3s ease-out forwards;font-family:var(--font-mono)}@media (prefers-reduced-motion: reduce){.rewards-toggle-state i:before{transition:none}.rewards-xp-pop{animation:none}}.practice-config{min-width:0;color:var(--text-primary);font-family:var(--font-body)}.practice-config>h1{margin:0 0 1.25rem;font:700 1.75rem/1.2 var(--font-heading);letter-spacing:-.015em}.practice-config__layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:1.25rem;align-items:start}.practice-config__card{min-width:0;padding:clamp(1.1rem,2.5vw,1.5rem);border:1.5px solid var(--surface-line);border-radius:16px;background:var(--bg-primary)}.practice-config fieldset{margin:0;padding:0;border:0;min-width:0}.practice-config legend,.practice-config__launch h2{margin:0;font:700 1rem/1.3 var(--font-heading);letter-spacing:-.015em}.source-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem;margin-top:.9rem}.source-choice{display:grid;gap:.2rem;text-align:left;padding:.8rem .9rem;border:1px solid transparent;border-radius:12px;background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-body);cursor:pointer}.source-choice b{font-size:.92rem;font-weight:500}.source-choice span{font-size:.78rem;color:var(--text-secondary)}.source-choice small{font:400 .78rem var(--font-mono);color:var(--primary-400)}.source-choice[aria-pressed=true]{border-color:var(--primary-400);background:var(--primary-soft)}.source-choice:disabled{opacity:.6;cursor:not-allowed}.source-choice:not(:disabled):hover{border-color:var(--text-secondary)}.practice-config__settings{display:grid;gap:1.5rem;margin-top:1.5rem}.practice-config__settings legend,.topic-picker h2{margin:0 0 .6rem;font:400 .85rem var(--font-body)}.practice-config .segmented{display:inline-flex;flex-wrap:wrap;padding:.2rem;border:1px solid transparent;border-radius:999px;background:var(--bg-tertiary)}.practice-config .segmented button{min-height:32px;padding:.35rem .85rem;border:0;border-radius:999px;color:var(--text-secondary);background:transparent;font:400 .75rem var(--font-body);white-space:nowrap;cursor:pointer}.practice-config .segmented button[aria-pressed=true]{color:var(--button-ink);background:var(--button-primary)}.practice-config .segmented button:disabled{opacity:.45;cursor:not-allowed}.practice-config__count{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.practice-config__text-button{justify-self:start;border:0;padding:4px 0;min-height:32px;background:transparent;color:var(--text-primary);font:400 .85rem var(--font-body);text-decoration:underline;text-decoration-color:var(--surface-line);text-underline-offset:.2em;cursor:pointer;white-space:nowrap}.practice-config__text-button:hover{text-decoration-color:var(--text-primary)}.practice-config__custom-count{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;font-size:13px}.practice-config__custom-count span{color:var(--text-secondary)}.practice-config .config-number{min-height:44px;width:100px;max-width:100%;padding:10px 12px;border:1px solid var(--surface-line-strong);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font:400 14px var(--font-mono)}.practice-config__message,.practice-config__empty{margin:1rem 0 0;color:var(--text-secondary);font-size:.85rem;line-height:1.6}.practice-config__launch{position:sticky;top:5rem}.practice-config__big{margin:.6rem 0 .3rem;font-size:2.6rem;font-weight:500;line-height:1}.practice-config__launch p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.6}.practice-config__primary{width:100%;min-height:44px;margin-top:1.2rem;padding:.8rem 1.3rem;border:1px solid var(--button-primary);border-radius:999px;background:var(--button-primary);color:var(--button-ink);font:600 .9rem var(--font-body);cursor:pointer}.practice-config__primary:hover{opacity:.9}.practice-config__primary:disabled{opacity:.45;cursor:not-allowed}.practice-config :is(button,input):focus-visible{outline:2px solid var(--primary-400);outline-offset:3px}.topic-picker{min-width:0;margin-top:1.5rem}.topic-picker__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.topic-picker__heading h2{margin:0}.topic-group{margin:0;padding-bottom:.75rem;border-bottom:1px solid var(--surface-line)}.topic-domain{display:grid;grid-template-columns:1.2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.6rem 0 .45rem;font-size:.9rem;cursor:pointer}.topic-domain input{width:1rem;height:1rem;margin:0;accent-color:var(--primary-400)}.topic-domain small{font:400 .78rem var(--font-mono);color:var(--text-secondary)}.topic-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding-left:1.9rem}.topic-chips button{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;max-width:100%;padding:.35rem .75rem;border:1.5px solid var(--surface-line);border-radius:999px;background:transparent;color:var(--text-secondary);font:400 .82rem var(--font-body);cursor:pointer}.topic-chips button span{font:400 .72rem var(--font-mono);opacity:.75}.topic-chips button[aria-pressed=true]{background:var(--primary-soft);border-color:color-mix(in oklab,var(--primary-400) 55%,transparent);color:var(--text-primary)}.topic-chips button:not(:disabled):hover{border-color:var(--text-secondary)}.topic-chips button:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 62rem){.practice-config__layout{grid-template-columns:minmax(0,1fr)}.practice-config__launch{position:static}}@media (max-width: 640px){.topic-chips{padding-left:0}}.cert-picker{display:grid;gap:1.25rem}.cert-picker .hhead{align-items:center}.cert-picker__toolbar{display:flex;align-items:center;gap:.5rem}.prov-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.prov-filter button{font:inherit;font-size:.88rem;display:inline-flex;align-items:center;gap:.6rem;height:2.75rem;padding:0 1rem;border-radius:999px;border:1.5px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .15s,background-color .15s}.prov-filter button:hover{border-color:var(--mut)}.prov-filter button[aria-pressed=true]{border-color:var(--ink);background:var(--surface)}.prov-filter small{font-family:var(--font-mono);font-size:.75rem;color:var(--mut)}.prov-filter :is(img,.provider-mark){display:block;height:16px;width:auto}.provider-mark{color:var(--logo-ink);line-height:0}.provider-mark svg{display:block;height:100%;width:auto}.cert-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:1rem}.cert-tools input{flex:1 1 14rem;max-width:22rem;font:inherit;font-size:.9rem;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.6rem 1rem}.cert-tools input::placeholder{color:var(--mut)}.cert-tools .lab,.cert-picker__notice{font-size:.84rem;color:var(--mut)}.cert-picker__empty{display:grid;justify-items:start;gap:.6rem;padding:1.5rem 0 0}.cert-picker__empty h2{font-size:1.05rem}.prov{margin-top:2rem}.prov+.prov{margin-top:2.5rem}.prov-h{display:flex;align-items:center;gap:1rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.prov-h h2{margin:0;line-height:0}.prov-h :is(img,.provider-mark){height:24px;width:auto;display:block}.prov-h>span{font-size:.85rem;color:var(--mut)}.lvl{font-family:var(--font-body);font-size:.8rem;font-weight:400;letter-spacing:0;color:var(--mut);margin:1.1rem 0 .55rem}.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:.75rem}.ccard{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:inherit;background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:1rem 1.1rem;transition:border-color .15s ease-out,background-color .15s ease-out}.ccard:hover{background:var(--surface-2)}.ccard.current{border-color:var(--ink)}.ccard .top{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.ccard .code{font-family:var(--font-mono);font-size:.75rem;font-weight:500;background:var(--surface-2);border-radius:6px;padding:.15rem .45rem}.ccard .upd{font-size:.75rem;color:var(--ok)}.ccard h4{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.015em;line-height:1.25;text-wrap:balance}.ccard p{margin:0;font-size:.84rem;color:var(--mut)}.ccard .meta{font-size:.78rem;color:var(--mut);margin-top:auto;padding-top:.4rem}.ccard .nw{white-space:nowrap}.ccard .prog{display:flex;align-items:center;gap:.6rem;font-size:.78rem}.ccard .prog i{flex:1 1 0%;max-width:5rem;height:.35rem;border-radius:999px;background:var(--surface-2);position:relative;overflow:hidden}.ccard .prog i b{position:absolute;inset:0 auto 0 0;background:var(--bar);border-radius:999px}.cert-picker__legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.75rem;color:var(--mut)}.cert-picker__legal p{max-width:75ch;margin:0 0 .4rem}.cert-picker__legal nav{display:flex;gap:1rem;margin-top:.6rem}.cert-picker__legal a{color:var(--mut)}@media (max-width: 640px){.prov-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-1rem;padding-inline:1rem}.prov-filter button{flex:none}.cert-tools input{max-width:none}}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:2rem 1rem;background:var(--bg-deep)}.auth-card{width:100%;max-width:420px;border:1px solid var(--surface-line);border-radius:24px;padding:clamp(24px,5vw,36px);background:var(--bg-primary)}.auth-card h1{font-family:var(--font-heading);font-size:2rem;line-height:1.15;letter-spacing:-.025em;margin:0 0 .6rem}.auth-card .auth-subtitle{color:var(--text-secondary);margin:0 0 1.75rem;font-size:.95rem;line-height:1.5}.auth-card form,.auth-providers{display:grid;gap:.8rem}.auth-card label{display:grid;gap:.4rem;font-size:.875rem;font-weight:500}.auth-card input{width:100%;min-width:0;padding:.8rem .9rem;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--surface-line-strong);border-radius:12px;font:inherit}.auth-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;min-height:44px;border:1px solid var(--surface-line-strong);border-radius:999px;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-weight:600;cursor:pointer;line-height:1.25}.auth-card .auth-button{width:100%}.auth-button-primary{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.auth-button:hover:not(:disabled){border-color:var(--primary-400)}.auth-button:active:not(:disabled){transform:translateY(1px)}.auth-button:disabled{cursor:wait;opacity:.55}.auth-card input:focus-visible,.auth-button:focus-visible,.auth-link:focus-visible,.account-menu summary:focus-visible{outline:2px solid var(--primary-400);outline-offset:3px}.auth-link{border:0;background:transparent;color:var(--primary-400);font:inherit;font-size:.8rem;cursor:pointer;padding:.3rem 0;text-underline-offset:3px}.auth-link:hover{text-decoration:underline}.auth-help{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.75rem}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.4rem 0;color:var(--text-secondary);font-size:.8rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--surface-line)}.auth-message{border-radius:12px;padding:.75rem .9rem;font-size:.875rem;line-height:1.5;margin-bottom:1rem;color:var(--signal-correct);background:var(--correct-soft)}.auth-message[data-error=true]{color:var(--signal-wrong);background:var(--wrong-soft)}.auth-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;margin-top:1.75rem;font-size:.8rem}.auth-legal a{color:var(--text-secondary);text-underline-offset:3px}.account-bar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.6rem max(1rem,env(safe-area-inset-right));background:var(--bg-primary);border-bottom:1px solid var(--surface-line);font-size:.8rem}.account-menu{position:relative;max-width:100%}.account-menu summary{list-style:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;min-height:40px;padding:.45rem .8rem;border:1px solid var(--surface-line);border-radius:999px;color:var(--text-primary)}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover{border-color:var(--primary-400)}.account-menu summary svg{flex:none}.account-panel{position:absolute;z-index:80;right:0;top:calc(100% + .5rem);width:min(320px,calc(100vw - 2rem));display:grid;gap:.8rem;padding:1rem;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--surface-line);border-radius:16px;box-shadow:var(--shadow-elevated)}.account-email{margin:0;overflow-wrap:anywhere;font-weight:600}.account-panel p{margin:0;line-height:1.5}.account-status{color:var(--text-secondary);font-size:.85rem}.account-plan{color:var(--primary-400)}.account-panel footer{display:flex;gap:1rem;font-size:.8rem}.account-panel footer a{color:var(--text-secondary)}.account-delete-link{justify-self:start;padding:0;border:0;background:none;color:var(--text-secondary);font:inherit;font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.account-delete-link:hover:not(:disabled){color:var(--signal-wrong)}.account-delete{display:grid;gap:.6rem;padding:.75rem;border-radius:12px;background:var(--wrong-soft)}.account-delete p{font-size:.85rem}.account-delete-confirm{color:var(--signal-wrong);border-color:var(--signal-wrong)}.account-notice{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1rem;padding:.65rem 1rem;color:var(--signal-correct);background:var(--correct-soft);font-size:.85rem}.account-notice[data-error=true]{color:var(--signal-wrong);background:var(--wrong-soft)}.account-trial{margin:0;color:var(--text-secondary);flex:1;line-height:1.5}@media (max-width: 420px){.auth-card{border-radius:18px}.account-bar{gap:.4rem}}.auth-link:disabled{opacity:.55;cursor:wait}
