:root{--c-brand: #384b70;--c-brand-strong: #2a3955;--c-brand-soft: #e6e9f0;--c-on-brand: #fcfaee;--c-secondary: #4a8fd4;--c-secondary-soft: #e8f1fb;--c-secondary-strong: #2f6496;--c-accent: #b8001f;--c-accent-strong: #940019;--c-accent-soft: #f6e1e4;--c-on-accent: #fcfaee;--c-bg: #ffffff;--c-surface: #ffffff;--c-sunken: #f7f7f8;--c-border: #e6e6ea;--c-border-strong: #c9cbd3;--c-fg: #1e2433;--c-fg-2: #4a5468;--c-fg-3: #626b7d;--c-good: #2f7d4f;--c-good-soft: #e1f1e6;--c-warn: #8f5a0c;--c-warn-soft: #fbefd9;--c-bad: var(--c-accent);--c-bad-soft: var(--c-accent-soft);--c-info: var(--c-secondary-strong);--c-info-soft: var(--c-secondary-soft);--c-chart-right: var(--c-brand);--c-chart-wrong: var(--c-accent);--c-chart-time: var(--c-secondary);--c-chart-pace: var(--c-fg);--c-chart-track: #eef0f4;--c-chart-grid: #e9ebef;--f-logo: "Outfit", var(--f-body);--f-display: var(--f-body);--f-body: "Overused Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--f-num: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--f-mono: var(--f-num);--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 999px;--shadow-sm: 0 1px 2px rgb(56 75 112 / .07);--shadow-md: 0 4px 16px rgb(56 75 112 / .1);--shadow-lg: 0 16px 48px rgb(56 75 112 / .16);--w-page: 1160px;--w-prose: 720px;--gutter: clamp(16px, 4vw, 32px);--header-h: 84px;color-scheme:light}@font-face{font-family:Overused Grotesk;src:url(/fonts/OverusedGrotesk-Roman.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Overused Grotesk;src:url(/fonts/OverusedGrotesk-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Overused Grotesk;src:url(/fonts/OverusedGrotesk-SemiBold.woff2) format("woff2");font-weight:600 800;font-display:swap}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{margin:0;background:var(--c-bg);color:var(--c-fg);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;color:var(--c-fg)}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.5rem,3.2vw,2.1rem)}h3{font-size:1.2rem}h4{font-size:1rem;font-family:var(--f-body);font-weight:600}p{margin:0 0 1em}a{color:var(--c-brand);text-underline-offset:3px}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px;border-radius:4px}.container{width:100%;max-width:var(--w-page);margin:0 auto;padding:0 var(--gutter)}.container-prose{max-width:calc(var(--w-prose) + 2 * var(--gutter))}.page{padding:48px 0 80px}.section{padding:56px 0}.section+.section{border-top:1px solid var(--c-border)}.section-tint{background:var(--c-sunken)}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}.grid-4{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.stack>*+*{margin-top:12px}.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.muted{color:var(--c-fg-2)}.small{font-size:.875rem}.center{text-align:center}.eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary);margin-bottom:10px}.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;font-size:.875rem;color:var(--c-fg-3);margin-bottom:16px}.breadcrumb a{color:var(--c-fg-2);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.sh{margin-bottom:28px;max-width:720px}.sh p{color:var(--c-fg-2);font-size:1.05rem;margin:0}.sh-center{margin-left:auto;margin-right:auto;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--r-full);border:1px solid transparent;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,transform .1s}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--c-brand);color:var(--c-on-brand)}.btn-primary:hover{background:var(--c-brand-strong)}.btn-accent{background:var(--c-accent);color:var(--c-on-accent)}.btn-accent:hover{background:var(--c-accent-strong)}.btn-outline{background:transparent;color:var(--c-fg);border-color:var(--c-border-strong)}.btn-outline:hover{background:var(--c-sunken)}.btn-ghost{background:transparent;color:var(--c-fg-2)}.btn-ghost:hover{background:var(--c-sunken);color:var(--c-fg)}.btn-danger{background:var(--c-bad);color:#fff}.btn-sm{min-height:36px;padding:0 14px;font-size:.875rem}.btn-lg{min-height:52px;padding:0 28px;font-size:1.05rem}.btn-block{width:100%}.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm)}.card h3{margin-bottom:6px}.card p:last-child{margin-bottom:0}a.card{display:block;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}a.card:hover{border-color:var(--c-brand);box-shadow:var(--shadow-md)}.card-foot{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--r-full);font-size:.75rem;font-weight:600;background:var(--c-sunken);color:var(--c-fg-2);border:1px solid var(--c-border);white-space:nowrap}.badge-brand{background:var(--c-brand-soft);color:var(--c-brand);border-color:transparent}.badge-accent{background:var(--c-accent-soft);color:var(--c-accent);border-color:transparent}.badge-good{background:var(--c-good-soft);color:var(--c-good);border-color:transparent}.badge-warn{background:var(--c-warn-soft);color:var(--c-warn);border-color:transparent}.badge-bad{background:var(--c-bad-soft);color:var(--c-bad);border-color:transparent}.badge-info{background:var(--c-info-soft);color:var(--c-info);border-color:transparent}.tabs{display:inline-flex;gap:4px;padding:4px;background:var(--c-sunken);border:1px solid var(--c-border);border-radius:var(--r-full);margin-bottom:28px;max-width:100%;overflow-x:auto}.tab{border:0;background:transparent;padding:8px 18px;border-radius:var(--r-full);font-weight:600;font-size:.9rem;color:var(--c-fg-2);cursor:pointer;white-space:nowrap}.tab[aria-selected=true]{background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow-sm)}.empty{border:1.5px dashed var(--c-border-strong);border-radius:var(--r-lg);padding:40px 24px;text-align:center;color:var(--c-fg-2);background:color-mix(in srgb,var(--c-surface) 60%,transparent)}.empty h3{color:var(--c-fg)}.empty p{max-width:460px;margin:0 auto 16px}.empty p:last-child{margin-bottom:0}.slot{border:1.5px dashed var(--c-border-strong);border-radius:var(--r-md);padding:20px;color:var(--c-fg-3);font-size:.9rem;background:var(--c-sunken)}.table-wrap{overflow-x:auto;border:1px solid var(--c-border);border-radius:var(--r-md)}table{width:100%;border-collapse:collapse;font-size:.925rem;background:var(--c-surface)}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--c-border)}th{font-weight:600;color:var(--c-fg-2);background:var(--c-sunken);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.field{display:grid;gap:6px}.field label{font-weight:600;font-size:.9rem}.input,.select{min-height:44px;padding:0 14px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface)}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{margin-top:5px;width:18px;height:18px;accent-color:var(--c-brand)}.rows{border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;background:var(--c-surface)}.rowlink{display:flex;align-items:center;gap:16px;padding:14px 18px;color:inherit;text-decoration:none;border-bottom:1px solid var(--c-border)}.rowlink:last-child{border-bottom:0}.rowlink:hover{background:var(--c-sunken)}.rowlink-n{font-family:var(--f-mono);font-size:.8rem;color:var(--c-fg-3);min-width:3.5em}.rowlink-t{flex:1;font-weight:500}.rowlink-tags{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.stat{display:grid;gap:4px}.stat-v{font-family:var(--f-num);font-size:2rem;font-weight:600;letter-spacing:-.03em;line-height:1;color:var(--c-fg)}.stat-l{font-size:.8rem;color:var(--c-fg-3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.meter{height:8px;border-radius:var(--r-full);background:var(--c-sunken);overflow:hidden;border:1px solid var(--c-border)}.meter>span{display:block;height:100%;background:var(--c-brand);border-radius:inherit}.modal-scrim{position:fixed;inset:0;background:#141a268c;display:grid;place-items:center;padding:16px;z-index:200}.modal{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(100%,460px);padding:24px}.modal h3{margin-bottom:8px}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:20px}.page-intro{margin-bottom:40px;max-width:760px}.page-intro .lede{font-size:1.15rem;color:var(--c-fg-2)}.page-intro .row{margin-top:20px}.dx-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;padding:9px var(--gutter);background:var(--c-brand);color:var(--c-on-brand);font-size:.92rem;font-weight:500;text-align:center;text-decoration:none}.dx-strip:hover .dx-strip-btn{background:var(--c-accent-strong)}.dx-strip:focus-visible{outline:3px solid var(--c-secondary);outline-offset:-3px}.dx-strip-btn{padding:4px 14px;border-radius:var(--r-full);background:var(--c-accent);color:var(--c-on-accent);font-size:.85rem;font-weight:700;transition:background .15s}.dx-strip-payoff{color:#fcfaeed1}@media(max-width:560px){.dx-strip{font-size:.85rem}.dx-strip-payoff{flex-basis:100%}}.logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.book-mark{width:64px;height:auto;flex-shrink:0}.bm-navy{fill:var(--c-brand)}.bm-teal{fill:var(--c-secondary)}.bm-red{fill:var(--c-accent)}.logo-word{font-family:var(--f-logo);font-weight:700;font-size:1.9rem;line-height:1;letter-spacing:-.02em;color:var(--c-brand)}.logo-sat{color:var(--c-accent)}.logo.on-dark .bm-navy{fill:var(--c-on-brand)}.logo.on-dark .bm-teal{fill:#8db4c4}.logo.on-dark .bm-red{fill:#e8546a}.logo.on-dark .logo-word{color:var(--c-on-brand)}.logo.on-dark .logo-sat{color:#ff8193}.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--c-bg) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--c-border)}.header-inner{height:var(--header-h);padding:0 clamp(16px,3vw,40px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.header-left{justify-self:start}.header-right{justify-self:end;display:flex;align-items:center;gap:10px}.signin-btn{min-height:40px;padding:0 18px;font-size:.95rem;border-color:var(--c-brand);color:var(--c-brand)}.signin-btn:hover{background:var(--c-brand);color:var(--c-on-brand)}.nav-list{display:flex;gap:clamp(8px,2vw,32px);list-style:none;margin:0;padding:0}.nav-link{display:inline-block;padding:10px 14px;border-radius:var(--r-md);color:var(--c-fg);text-decoration:none;font-size:1.05rem;font-weight:500;white-space:nowrap}.nav-link:hover{color:var(--c-brand);background:var(--c-sunken)}.nav-link.active{color:var(--c-brand);font-weight:600;box-shadow:inset 0 -2px 0 var(--c-accent);border-radius:0}.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px}.menu-btn span{display:block;width:18px;height:2px;background:var(--c-fg);border-radius:2px}.mobile-menu{border-top:1px solid var(--c-border);background:var(--c-bg);padding:8px clamp(16px,3vw,40px) 16px}.mobile-menu ul{list-style:none;margin:0;padding:0}.mobile-link{display:block;padding:14px 0;font-weight:600;font-size:1.05rem;color:var(--c-fg);text-decoration:none;border-bottom:1px solid var(--c-border)}.mobile-menu li:last-child .mobile-link{border-bottom:0}@media(max-width:860px){.header-inner{grid-template-columns:1fr auto}.nav{display:none}.menu-btn{display:inline-flex}.signin-btn{min-height:44px;padding:0 14px;font-size:.9rem}.book-mark{width:48px}.logo-word{font-size:1.45rem}}@media(min-width:861px){.mobile-menu{display:none}}.site-footer{border-top:1px solid var(--c-border);padding:0 clamp(16px,3vw,40px)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px;padding:28px 0}.footer-links,.footer-legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px}.footer-links a{color:var(--c-fg-2);text-decoration:none;font-weight:500}.footer-links a:hover{color:var(--c-brand)}.footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:16px 0 24px;border-top:1px solid var(--c-border);font-size:.8rem;color:var(--c-fg-3)}.footer-base a{color:inherit}.footer-tm{flex-basis:100%}.as{position:relative;padding:88px 0 96px;border-top:1px solid var(--c-border);background:radial-gradient(circle at 12% 0%,var(--c-secondary-soft),transparent 42%),radial-gradient(circle at 92% 100%,var(--c-brand-soft),transparent 46%),var(--c-bg);overflow:hidden}.as:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--c-border) 1px,transparent 1px),linear-gradient(90deg,var(--c-border) 1px,transparent 1px);background-size:32px 32px;opacity:.45;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none}.as>.container{position:relative}.as-head{max-width:720px;margin:0 auto 48px;text-align:center}.as-head h2{font-family:var(--f-logo);font-weight:800;letter-spacing:-.02em;font-size:clamp(1.8rem,4.4vw,2.75rem);line-height:1.1;color:var(--c-brand);margin:0 0 14px}.as-head p{color:var(--c-fg-2);font-size:1.1rem;margin:0}.as-body{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:28px;align-items:start;max-width:980px;margin:0 auto}.as-rail{display:grid;gap:8px}.as-step{position:relative;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;text-align:left;padding:14px 16px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s,box-shadow .2s}.as-step:hover{background:var(--c-surface);border-color:var(--c-border)}.as-step[aria-selected=true]{background:var(--c-surface);border-color:var(--c-border);box-shadow:var(--shadow-md)}.as-step[aria-selected=true]:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--c-brand)}.as-step-n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:var(--f-logo);font-weight:800;background:var(--c-sunken);color:var(--c-fg-3);transition:background .2s,color .2s}.as-step[aria-selected=true] .as-step-n{background:var(--c-accent-soft);color:var(--c-accent)}.as-step-t{display:grid;gap:2px}.as-step-t strong{color:var(--c-fg)}.as-tick{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--c-secondary);transform-origin:left;animation:as-tick var(--ms) linear forwards}@keyframes as-tick{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.as-card{padding:22px 24px 24px;box-shadow:var(--shadow-lg);min-height:500px}.as-card-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--c-border)}.as-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary-strong);margin-bottom:8px}.as-card-top .as-label{margin:0}.as-gap{margin-top:18px}.as-note{margin:14px 0 0}.as-score{margin-bottom:18px}.as-big{display:block;font-family:var(--f-logo);font-weight:800;font-size:clamp(2.2rem,5vw,3rem);line-height:1;color:var(--c-brand);margin-bottom:10px}.as-sections{display:flex;flex-wrap:wrap;gap:6px 20px}.as-dots{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.as-dot{display:grid;justify-items:center;gap:3px}.as-dot>span:first-child{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:.78rem;font-weight:700;background:var(--c-sunken);color:var(--c-fg-3)}.as-dot.is-r>span:first-child{background:var(--c-good-soft);color:var(--c-good)}.as-dot.is-w>span:first-child{background:var(--c-bad-soft);color:var(--c-bad)}.as-sec{font-size:.68rem;color:var(--c-fg-3);font-variant-numeric:tabular-nums}.as-dot.is-slow .as-sec{color:var(--c-warn);font-weight:700}.as-dom,.as-prog{display:grid;grid-template-columns:minmax(0,1fr) 150px 160px;gap:12px;align-items:center;padding:8px 0}.as-dom+.as-dom,.as-prog+.as-prog{border-top:1px solid var(--c-border)}.as-acc{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.as-prog{grid-template-columns:minmax(0,1fr) 150px 210px}.as-time,.as-flip{white-space:nowrap;justify-self:end}.as-skill{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:6px 0}.as-plan{list-style:none;margin:0;padding:0;display:grid;gap:14px}.as-plan li{display:grid;grid-template-columns:28px 1fr;gap:12px}.as-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c-brand);color:var(--c-on-brand);font-weight:700;font-size:.85rem}.as-plan-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:4px}.as-plan p{margin:0 0 8px}.as-chips{display:flex;flex-wrap:wrap;gap:6px}.as-grow>span{width:var(--to)}.as-flip{display:inline-flex;align-items:center;gap:6px;color:var(--c-fg-3)}.as-cta{margin-top:48px;text-align:center}.as-cta .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.25}.as.is-armed .as-row{animation:as-pop .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i, 0) * .07s)}@keyframes as-pop{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.as.is-armed .as-grow>span{animation:as-grow 1.1s .35s cubic-bezier(.2,.7,.2,1) both}@keyframes as-grow{0%{width:var(--from)}to{width:var(--to)}}@media(prefers-reduced-motion:reduce){.as-tick{display:none}}@media(max-width:760px){.as{padding:64px 0 72px}.as-head{margin-bottom:28px}.as-body{grid-template-columns:1fr;gap:16px}.as-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:4px var(--gutter)}.as-rail::-webkit-scrollbar{display:none}.as-step{flex:0 0 auto;grid-template-columns:auto auto;align-items:center;gap:8px;padding:8px 14px 8px 8px;border-radius:var(--r-full);border-color:var(--c-border);background:var(--c-surface)}.as-step[aria-selected=true]{border-color:var(--c-brand);box-shadow:var(--shadow-sm)}.as-step[aria-selected=true]:before{display:none}.as-step-n{width:28px;height:28px;font-size:.85rem}.as-step-t .muted{display:none}.as-card{padding:18px 16px 20px;min-height:0}.as-dots{gap:4px}.as-dot>span:first-child{width:22px;height:22px;font-size:.7rem}.as-sec{font-size:.6rem}.as-dom,.as-prog{grid-template-columns:minmax(0,1fr) auto}.as-cta{margin-top:32px}.as-dom .as-acc,.as-prog .as-acc{grid-column:1 / -1;grid-row:2}.as-skill{grid-template-columns:1fr auto}.as-skill .muted{display:none}}.cd{padding:88px 0 96px;border-top:1px solid var(--c-border);background:var(--c-bg)}.cd-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin:0 auto 20px;max-width:980px}.cd-dates{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.cd-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--c-border-strong);border-radius:var(--r-full);background:var(--c-surface);font-weight:600;font-size:.9rem;color:var(--c-fg-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.cd-chip:hover{border-color:var(--c-brand);color:var(--c-fg)}.cd-chip[aria-checked=true]{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.cd-est{font-size:.7rem;font-weight:600;opacity:.75}.cd-hours{margin:0}.cd-hours .tab[aria-checked=true]{background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow-sm)}.cd-board{max-width:980px;margin:0 auto;padding:28px;box-shadow:var(--shadow-lg)}.cd-top{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:28px;padding-bottom:24px;border-bottom:1px solid var(--c-border)}.cd-count{display:grid;align-content:start;justify-items:start;gap:8px}.cd-big{font-family:var(--f-logo);font-weight:800;font-size:clamp(4rem,10vw,6rem);line-height:.85;letter-spacing:-.04em;color:var(--c-accent);font-variant-numeric:tabular-nums}.cd-to{color:var(--c-fg-2);margin-bottom:4px}.cd-to strong{color:var(--c-fg)}.cd-split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cd-sec{padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface)}.cd-sec-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.cd-sec-top .as-label{margin:0}.cd-sec-h{font-family:var(--f-logo);font-size:1.5rem;font-weight:800;color:var(--c-fg)}.cd-areas{list-style:none;margin:0;padding:0;display:grid;gap:7px}.cd-areas li{display:grid;grid-template-columns:minmax(0,1fr) 64px 36px;gap:10px;align-items:center}.cd-areas .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-bar{height:8px;border-radius:var(--r-full);background:var(--c-sunken);overflow:hidden}.cd-bar>span{display:block;height:100%;border-radius:inherit;background:var(--c-brand);transition:width .4s ease}.cd-sec.is-rw .cd-bar>span{background:var(--c-secondary)}.cd-num-s{text-align:right;font-variant-numeric:tabular-nums}.cd-phases{display:flex;gap:4px;margin:22px 0 20px}.cd-phase{flex-basis:0;min-width:56px;display:grid;gap:2px}.cd-phase-bar{height:8px;border-radius:var(--r-full);background:var(--c-border-strong);margin-bottom:6px}.cd-phase.is-setup .cd-phase-bar{background:var(--c-secondary)}.cd-phase.is-fix .cd-phase-bar{background:var(--c-brand)}.cd-phase.is-tests .cd-phase-bar{background:var(--c-accent)}.cd-phase.is-taper .cd-phase-bar{background:var(--c-good)}.cd-phase strong,.cd-phase .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-main{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start}.cd-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:5px}.cd-tile{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:var(--r-sm);font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .12s,box-shadow .12s}.cd-tile:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.cd-tile[aria-pressed=true]{box-shadow:0 0 0 2px var(--c-surface),0 0 0 4px var(--c-fg)}.cd-m{position:absolute;top:2px;left:4px;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.cd-grid.is-long{grid-template-columns:repeat(auto-fill,minmax(24px,1fr));gap:3px}.cd-grid.is-long .cd-tile{font-size:0}.cd-grid.is-long .cd-m{display:none}.is-math.cd-tile,.is-math.cd-key,.is-math.cd-pill{background:var(--c-brand);color:var(--c-on-brand)}.is-rw.cd-tile,.is-rw.cd-key,.is-rw.cd-pill{background:color-mix(in srgb,var(--c-secondary) 26%,var(--c-surface));color:var(--c-brand-strong)}.is-test.cd-tile,.is-test.cd-key,.is-test.cd-pill{background:var(--c-accent);color:var(--c-on-accent)}.is-review.cd-tile,.is-review.cd-key,.is-review.cd-pill{background:color-mix(in srgb,var(--c-warn) 22%,var(--c-surface));color:var(--c-warn)}.is-rest.cd-tile,.is-rest.cd-key,.is-rest.cd-pill{background:var(--c-sunken);color:var(--c-fg-3)}.is-rest.cd-tile,.is-rest.cd-key{box-shadow:inset 0 0 0 1px var(--c-border-strong)}.cd-legend{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.8rem;color:var(--c-fg-2)}.cd-legend li{display:inline-flex;align-items:center;gap:6px}.cd-key{width:12px;height:12px;border-radius:3px}.cd-day{padding:18px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-sunken);min-height:220px}.cd-day-top{display:flex;justify-content:space-between;align-items:center}.cd-day-top .as-label{margin:0}.cd-nav{display:inline-flex;gap:4px}.cd-nav button{width:30px;height:30px;border-radius:50%;border:1px solid var(--c-border-strong);background:var(--c-surface);font-size:1.1rem;line-height:1;cursor:pointer;color:var(--c-fg)}.cd-nav button:disabled{opacity:.35;cursor:default}.cd-day h3{margin:10px 0 8px;font-size:1.2rem;color:var(--c-fg)}.cd-day-meta{gap:6px 8px;margin-bottom:14px}.cd-pill{padding:2px 10px;border-radius:var(--r-full);font-size:.75rem;font-weight:700}.cd-tasks{margin:0;padding:0;list-style:none;display:grid;gap:8px}.cd-tasks li{position:relative;padding-left:18px;font-size:.925rem;color:var(--c-fg)}.cd-tasks li:before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:2px;background:var(--c-accent)}@media(max-width:860px){.cd-top{grid-template-columns:1fr;gap:20px}.cd-main{grid-template-columns:1fr}}@media(max-width:760px){.cd{padding:64px 0 72px}.cd-board{padding:18px 16px 20px}.cd-split{grid-template-columns:1fr;gap:12px}.cd-hours{max-width:100%}.cd-grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px}.cd-phases{flex-wrap:wrap}.cd-phase{min-width:calc(50% - 4px)}.cd-day{min-height:0}}.cm{padding:88px 0 96px;border-top:1px solid var(--c-border);background:linear-gradient(var(--c-sunken),var(--c-bg) 340px)}.cm-board{max-width:980px;margin:0 auto;padding:28px;box-shadow:var(--shadow-lg)}.cm-top{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--c-border)}.cm-score .as-label{margin-bottom:4px}.cm-big{display:block;font-family:var(--f-logo);font-weight:800;font-size:clamp(3rem,7vw,4.25rem);line-height:.9;letter-spacing:-.03em;color:var(--c-brand);font-variant-numeric:tabular-nums;min-width:4ch}.cm-slider input{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:var(--r-full);cursor:pointer;background:linear-gradient(90deg,var(--c-brand) var(--p),var(--c-sunken) var(--p));outline-offset:6px}.cm-slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--c-surface);border:3px solid var(--c-accent);box-shadow:var(--shadow-md)}.cm-slider input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--c-surface);border:3px solid var(--c-accent)}.cm-slider-ends{display:flex;justify-content:space-between;margin-top:8px;font-variant-numeric:tabular-nums}.cm-counts{list-style:none;margin:0;padding:0;display:flex;gap:8px}.cm-counts li{display:grid;justify-items:center;min-width:68px;padding:8px 10px;border-radius:var(--r-md)}.cm-counts strong{font-family:var(--f-logo);font-size:1.6rem;line-height:1;font-weight:800}.cm-counts .is-dream{background:var(--c-accent-soft);color:var(--c-accent)}.cm-counts .is-target{background:var(--c-brand-soft);color:var(--c-brand)}.cm-counts .is-likely{background:var(--c-good-soft);color:var(--c-good)}.cm-tabs{margin-bottom:16px}.cm-row{display:grid;grid-template-columns:190px 1fr 92px;gap:16px;align-items:stretch;min-height:52px}.cm-row+.cm-row:not(.cm-axis){border-top:1px solid var(--c-border)}.cm-axis{min-height:28px}.cm-name{display:flex;align-items:center;gap:10px;min-width:0}.cm-name>span:last-child{display:grid;min-width:0}.cm-name strong{color:var(--c-fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-range{font-variant-numeric:tabular-nums}.cm-verdict{align-self:center;justify-self:end}.cm-logo{flex-shrink:0;display:inline-grid;place-items:center;border-radius:var(--r-sm);background:var(--c-surface);overflow:hidden}.cm-logo img{width:100%;height:100%;object-fit:contain}.cm-mono{width:100%;height:100%;display:grid;place-items:center;background:var(--c-brand-soft);color:var(--c-brand);font-weight:700;font-size:.62rem;letter-spacing:-.02em;text-transform:uppercase;border-radius:inherit}.cm-track{position:relative}.cm-line{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--c-border)}.cm-bar{position:absolute;top:calc(50% - 7px);height:14px;border-radius:var(--r-full);background:var(--c-brand);opacity:.85;transition:background .2s}.cm-row.is-dream .cm-bar{background:var(--c-accent);opacity:.75}.cm-row.is-likely .cm-bar{background:var(--c-good);opacity:.75}.cm-min{position:absolute;top:calc(50% - 9px);width:4px;height:18px;margin-left:-2px;border-radius:2px;background:var(--c-fg-2)}.cm-min:after{content:"→";position:absolute;left:8px;top:-2px;font-size:.8rem;color:var(--c-fg-3)}.cm-you{position:absolute;top:0;bottom:0;left:var(--you);width:2px;margin-left:-1px;background:var(--c-fg);transition:left .08s linear;pointer-events:none}.cm-tick{position:absolute;bottom:4px;transform:translate(-50%);font-size:.7rem;color:var(--c-fg-3);font-variant-numeric:tabular-nums}.cm-tick:first-child{transform:none}.cm-tick:nth-last-child(2){transform:translate(-100%)}.cm-you-tag{position:absolute;bottom:2px;transform:translate(-50%);padding:1px 8px;border-radius:var(--r-full);background:var(--c-fg);color:var(--c-bg);font-size:.68rem;font-weight:700;transition:left .08s linear;z-index:1}.cm-dot{position:absolute;top:calc(50% - 6px);width:12px;height:12px;margin-left:-6px;padding:0;border-radius:50%;border:2px solid var(--c-surface);background:var(--c-warn);box-shadow:0 0 0 1px var(--c-warn);cursor:pointer;z-index:2}.cm-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 10px;border-radius:var(--r-sm);white-space:nowrap;background:var(--c-fg);color:var(--c-bg);font-size:.75rem;font-weight:600;opacity:0;pointer-events:none;transition:opacity .12s}.cm-dot:hover .cm-tip,.cm-dot:focus-visible .cm-tip,.cm-dot:focus .cm-tip{opacity:1}.cm-legend{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--c-border);display:flex;flex-wrap:wrap;gap:6px 20px}.cm-legend li{display:inline-flex;align-items:center;gap:8px}.cm-key-bar{width:22px;height:8px;border-radius:var(--r-full);background:var(--c-brand)}.cm-key-dot{width:10px;height:10px;border-radius:50%;background:var(--c-warn)}.cm-key-you{width:2px;height:14px;background:var(--c-fg)}.cm-empty{margin:8px 0}.cm-unranged{margin-top:18px}.cm-unranged ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.cm-unranged .cm-chip{font-weight:500}.cm-unranged .cm-chip strong{color:var(--c-fg);font-weight:600}.cm-students{max-width:980px;margin:40px auto 0}.cm-students h3{font-size:1.15rem;margin:0 0 14px;color:var(--c-fg)}.cm-cards{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}.cm-card{display:grid;gap:10px;align-content:start;padding:16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface)}.cm-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.cm-card-top strong{min-width:0;color:var(--c-fg);line-height:1.3}.cm-card-score{flex-shrink:0;font-family:var(--f-logo);font-weight:800;font-size:1.35rem;color:var(--c-accent);font-variant-numeric:tabular-nums}.cm-super{display:block;font-family:var(--f-body);font-size:.65rem;font-weight:600;color:var(--c-fg-3);text-align:right}.cm-card-cols{display:flex;flex-wrap:wrap;gap:6px}.cm-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border-radius:var(--r-full);border:1px solid var(--c-border);font-size:.78rem;font-weight:600;color:var(--c-fg-2)}.cm-chip:not(:has(.cm-logo)){padding-left:9px}.cm-chip .cm-logo{border-radius:50%}.cm-fine{max-width:980px;margin:24px auto 0;text-align:center}@media(max-width:860px){.cm-top{grid-template-columns:auto 1fr}.cm-counts{grid-column:1 / -1}.cm-counts li{flex:1}}@media(max-width:760px){.cm{padding:64px 0 72px}.cm-board{padding:18px 16px 20px}.cm-top{gap:16px 20px}.cm-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 0;min-height:0}.cm-row .cm-track{grid-column:1 / -1;grid-row:2;height:22px}.cm-axis{padding:0}.cm-axis>span{display:none}.cm-axis .cm-track{height:24px}.cm-tick:nth-child(2n):not(:nth-last-child(2)){display:none}}.ts{padding:64px 0 72px;border-top:1px solid var(--c-border);background:var(--c-bg)}.ts-head{margin-bottom:32px}.ts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,200px));gap:24px;justify-content:center;margin:0;padding:0;list-style:none}.ts-card{position:relative;aspect-ratio:9 / 16;border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;background:var(--c-sunken);box-shadow:var(--shadow-sm);transition:box-shadow .2s,transform .2s}.ts-card:hover,.ts-card.is-on{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ts-card.is-on{border-color:var(--c-accent)}.ts-card video{display:block;width:100%;height:100%;object-fit:cover}.ts-controls{position:absolute;inset:auto 10px 10px;display:flex;justify-content:center;gap:6px}.ts-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;border:0;border-radius:var(--r-full);background:#1418228c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font:600 .72rem/1 var(--f-body);cursor:pointer;transition:background .15s}.ts-controls button:hover{background:#141822bf}.ts-controls button:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.ts-sound{padding:0 10px 0 12px;white-space:nowrap}.ts-sound[aria-pressed=true]{background:var(--c-accent)}.ts-sound[aria-pressed=true]:hover{background:var(--c-accent-strong)}.ts-pause{width:32px;flex:none}.ts-controls svg{flex:none;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ts-controls .ts-fill{fill:currentColor}@media(max-width:760px){.ts{padding:48px 0 56px}.ts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:360px;margin:0 auto}.ts-sound{padding:0 8px 0 10px;font-size:.66rem}}.hero{min-height:calc(100vh - var(--header-h) - 160px);padding:64px 16px 80px;display:grid;place-content:center;justify-items:center;text-align:center}.hero-title{font-family:var(--f-logo);font-weight:800;letter-spacing:-.03em;line-height:.95;margin:0;display:grid;justify-items:center}.hero-ace{font-size:clamp(2.4rem,7vw,4.5rem);color:var(--c-brand)}.hero-sat{font-size:clamp(7rem,26vw,15rem);color:var(--c-accent);line-height:.9}.hero-sub{margin:20px 0 36px;font-family:var(--f-logo);font-weight:700;font-size:clamp(1.2rem,3vw,1.75rem);color:var(--c-brand)}.mock-title{margin-top:12px}.lock-card{max-width:560px}.chapter{margin-bottom:40px}.chapter-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}.chapter-head h2{margin:0;font-size:1.5rem}.chapter-n{font-family:var(--f-mono);color:var(--c-secondary);font-weight:700}.topic-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}.topic-main section .sh{margin-bottom:12px}.topic-main>section+section{margin-top:32px}.topic-side{position:sticky;top:calc(var(--header-h) + 20px)}.side-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:.925rem}.side-list a{color:var(--c-fg-2);text-decoration:none}.side-list a:hover{color:var(--c-fg);text-decoration:underline}.side-list .is-current a{color:var(--c-brand);font-weight:600}@media(max-width:900px){.topic-layout{grid-template-columns:1fr}.topic-side{position:static}}.plans{align-items:stretch}.plan{display:flex;flex-direction:column}.plan .btn{margin-top:auto}.plan.is-featured{border:2px solid var(--c-brand)}.plan-name{margin:0;font-size:1.6rem}.plan-price{font-family:var(--f-num);font-size:2rem;font-weight:600;margin:12px 0 4px}.plan-features{padding-left:20px;margin:8px 0 24px;color:var(--c-fg-2)}.plan-features li{margin-bottom:6px}.nf-actions{justify-content:center}.signin{display:grid;place-items:center;min-height:calc(100vh - var(--header-h) - 200px)}.signin-card{width:100%;max-width:420px;padding:36px 32px 28px;text-align:center;box-shadow:var(--shadow-md)}.signin-mark{width:56px;margin:0 auto 14px;display:block}.signin-card h1{font-family:var(--f-logo);font-weight:800;letter-spacing:-.02em;color:var(--c-brand);font-size:1.9rem;margin:0 0 6px}.signin-sub{margin:0 0 24px}.signin-google{gap:10px}.signin-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--c-fg-3);font-size:.8rem}.signin-or:before,.signin-or:after{content:"";flex:1;height:1px;background:var(--c-border)}.signin-card form{text-align:left}.signin-card .input{width:100%}.signin-note{margin:16px 0 0;padding:10px 12px;border-radius:var(--r-md);background:var(--c-info-soft);color:var(--c-info);text-align:left}.signin-fine{margin:20px 0 0}.signin-fine a{color:inherit}@media(max-width:480px){.signin-card{padding:28px 20px 22px}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.engine{--f-q: 14.5px;--x-bar: #1f2a44;--x-bar-line: rgb(252 250 238 / .18);--x-on-bar: var(--c-on-brand);--x-on-bar-2: rgb(252 250 238 / .72);position:fixed;inset:0;z-index:150;background:var(--c-bg);display:grid;grid-template-rows:auto 1fr auto}.engine-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:8px var(--gutter);background:var(--x-bar);color:var(--x-on-bar)}.engine-brand{display:flex;align-items:center;gap:16px;min-width:0}.engine-top .book-mark{width:44px}.engine-top .logo-word{font-size:1.3rem}.engine-title{display:grid;line-height:1.3;min-width:0;padding-left:16px;border-left:1px solid var(--x-bar-line)}.engine-title strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engine-title span{font-size:.78rem;color:var(--x-on-bar-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engine-top-actions{display:flex;align-items:center;gap:10px;flex:none}.engine-tool{min-height:36px;padding:0 14px;border:1px solid rgb(252 250 238 / .35);border-radius:var(--r-sm);background:transparent;color:var(--x-on-bar);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}.engine-tool:hover{background:#fcfaee1f}.engine-tool:focus-visible{outline:2px solid #8db4c4;outline-offset:2px}.engine-exit:hover{background:var(--c-accent);border-color:var(--c-accent)}.timer{display:flex;flex-direction:column;align-items:center;line-height:1.15;padding-right:14px;margin-right:4px;border-right:1px solid var(--x-bar-line)}.timer-v{font-family:var(--f-mono);font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--x-on-bar)}.timer.is-low .timer-v{background:var(--c-warn-soft);color:var(--c-warn);padding:0 8px;border-radius:var(--r-sm)}.timer-toggle{border:0;background:none;font:inherit;font-size:.72rem;color:var(--x-on-bar-2);text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:2px 6px}.timer-toggle:hover{color:var(--x-on-bar)}.timer-toggle[disabled]{cursor:default;opacity:.5}.timer-sub{font-size:.72rem;color:var(--x-on-bar-2);white-space:nowrap}.timer-sub .timer-toggle{padding:0 2px}.engine-body{display:flex;flex-direction:column;min-height:0;overflow-y:auto}.qv{width:100%;max-width:760px;margin:0 auto;padding:28px var(--gutter)}.qv.has-passage{flex:1;min-height:0;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"main passage";padding:0}.qv.has-passage>section{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:24px clamp(20px,3vw,44px)}.qv.has-passage>section>*{max-width:680px}.qv.has-passage>.qv-main>*{margin-left:auto}.qv-main{grid-area:main}.qv-passage{grid-area:passage;border-left:1px solid var(--c-border);background:var(--c-surface)}.qv-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px 6px 6px;margin-bottom:18px;background:var(--c-sunken);border-radius:var(--r-sm) var(--r-sm) 0 0;border-bottom:2px dashed var(--c-border-strong)}.qv-n{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:var(--r-sm);background:var(--x-bar);color:var(--x-on-bar);font-weight:700;font-size:13.5px}.qv-flag{border:0;background:none;cursor:pointer;color:var(--c-fg-2);font:inherit;font-weight:500;font-size:13.5px;padding:6px 8px;border-radius:var(--r-sm)}.qv-flag:hover{background:var(--c-border)}.qv-flag.is-on{color:var(--c-warn);font-weight:600}.qv-options{border:0;padding:0;margin:0 0 16px;display:grid;gap:10px}.qv-opt{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1.5px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);cursor:pointer;min-height:46px}.qv-opt:hover{border-color:var(--c-brand)}.qv-opt input{position:absolute;opacity:0;pointer-events:none}.qv-opt:has(input:focus-visible){outline:3px solid var(--c-secondary);outline-offset:2px}.qv-letter{display:inline-grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--c-border-strong);font-weight:700;font-size:13.5px}.qv-opt.is-chosen{border-color:var(--c-brand);background:var(--c-brand-soft);box-shadow:inset 0 0 0 1px var(--c-brand)}.qv-opt.is-chosen .qv-letter{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.engine-bottom{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:10px var(--gutter);background:var(--c-surface);border-top:1px solid var(--c-border)}.engine-bottom:before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--c-brand) 0 40%,var(--c-secondary) 40% 80%,var(--c-accent) 80%)}.engine-nav{justify-self:end;display:flex;gap:10px}.engine-map-btn{justify-self:center;border:0;background:var(--x-bar);color:var(--x-on-bar);border-radius:var(--r-full);padding:9px 18px;font:inherit;font-size:.9rem;font-weight:600;white-space:nowrap;cursor:pointer}.engine-map-btn:hover{background:var(--c-brand)}.engine-map-btn:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px}.tracker{display:grid;gap:5px;min-width:0;justify-self:start}.tracker-bar{display:flex;gap:3px;width:min(260px,100%)}.tracker-seg{flex:1;height:8px;border-radius:2px;background:var(--c-border)}.tracker-seg.is-unanswered{background:var(--c-bad-soft);box-shadow:inset 0 0 0 1px var(--c-bad)}.tracker-seg.is-answered{background:var(--c-brand)}.tracker-seg.is-flagged{background:var(--c-warn);box-shadow:none}.tracker-seg.is-current{outline:2px solid var(--c-secondary);outline-offset:1px}.tracker-counts{font-size:.85rem;color:var(--c-fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracker-counts strong{color:var(--c-fg)}.tracker-sub{font-size:.75rem;color:var(--c-fg-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.engine-palette{position:fixed;left:50%;bottom:86px;transform:translate(-50%);width:min(calc(100% - 32px),500px);max-height:calc(100vh - 180px);overflow-y:auto;background:var(--c-surface);border:1px solid var(--c-border);border-radius:14px;box-shadow:var(--shadow-lg);padding:18px 20px 20px;z-index:160;display:grid;gap:16px}.engine-palette-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--c-border-strong)}.palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:16px 10px;padding-top:8px}.pal-btn{position:relative;height:40px;border-radius:var(--r-sm);font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border:1.5px dashed var(--c-border-strong);background:var(--c-surface);color:var(--c-fg-2)}.pal-btn:hover{border-color:var(--c-brand)}.pal-btn.is-unanswered{border-style:solid;border-color:var(--c-bad);color:var(--c-bad)}.pal-btn.is-answered{border:1.5px solid var(--c-brand);background:var(--c-brand);color:var(--c-on-brand)}.pal-btn.is-flagged:after,.pal-dot.is-flagged:after{content:"";position:absolute;top:-2px;right:5px;width:9px;height:13px;background:var(--c-warn);clip-path:polygon(0 0,100% 0,100% 100%,50% 72%,0 100%)}.pal-btn.is-current{outline:3px solid var(--c-secondary);outline-offset:2px}.pal-btn.is-current:before{content:"";position:absolute;top:-14px;left:50%;transform:translate(-50%);border:5px solid transparent;border-top:6px solid var(--c-secondary)}.legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.85rem;color:var(--c-fg-2)}.legend li{display:inline-flex;align-items:center;gap:8px}.pal-dot{width:18px;height:18px;border-radius:4px;border:1.5px dashed var(--c-border-strong);display:inline-block;position:relative}.pal-dot.is-answered{border:1.5px solid var(--c-brand);background:var(--c-brand)}.pal-dot.is-unanswered{border:1.5px solid var(--c-bad)}.pal-dot.is-flagged{border:1.5px solid var(--c-border-strong)}.pal-dot.is-flagged:after{top:-2px;right:3px;width:8px;height:11px}.modal:has(.exit-summary){width:min(100%,560px)}.exit-summary{color:var(--c-fg)}.exit-summary p{margin:0 0 14px}.exit-table{font-size:.875rem}.exit-table td,.exit-table th{padding:8px 10px}@media(max-width:760px){.qv.has-passage{flex:none;grid-template-columns:1fr;grid-template-areas:"passage" "main"}.qv.has-passage>section{overflow:visible}.qv.has-passage>section>*{max-width:none}.qv-passage{border-left:0;border-bottom:1px solid var(--c-border)}.engine-top{gap:10px;padding:8px 16px}.engine-title span{display:none}.engine-bottom{grid-template-columns:auto 1fr;grid-template-areas:"track track" "map nav";gap:10px;padding:10px 16px}.tracker{grid-area:track;justify-self:stretch}.tracker-bar{width:100%}.tracker-sub{display:none}.engine-map-btn{grid-area:map;justify-self:start}.engine-nav{grid-area:nav}.engine-palette{bottom:120px}}@media(max-width:560px){.engine-top .logo-word{display:none}.engine-title{padding-left:10px}.engine-top-actions{gap:6px}.engine-tool{padding:0 10px}.timer{padding-right:8px;margin-right:0}.timer-sec{display:none}}.instr{display:grid;gap:28px}.instr-grid{display:grid;grid-template-columns:3fr 2fr;gap:32px}.instr-rules{margin:0;padding-left:20px;color:var(--c-fg-2)}.instr-rules li{margin-bottom:8px}.instr-ack{padding:16px;border-radius:var(--r-md);background:var(--c-sunken);border:1px solid var(--c-border)}.instr .btn{justify-self:start}.instr-resume{margin:0;padding:12px 16px;border-radius:var(--r-md);background:var(--c-brand-soft);color:var(--c-brand-strong);font-weight:500}@media(max-width:760px){.instr-grid{grid-template-columns:1fr}}.report{display:grid;gap:48px}.report-block .sh{margin-bottom:20px}.report-hero{display:grid;grid-template-columns:1fr auto;gap:24px 40px;align-items:center;padding:32px}.report-score{display:grid;gap:6px}.report-big{font-family:var(--f-display);font-size:clamp(2.6rem,7vw,4rem);font-weight:650;line-height:1;color:var(--c-brand)}.report-stats{display:flex;flex-wrap:wrap;gap:32px}.report-ending{grid-column:1 / -1;margin:0}@media(max-width:760px){.report-hero{grid-template-columns:1fr;padding:24px}}.bars{display:grid;gap:14px;margin-top:12px}.bar-row{display:grid;gap:6px}.bar-label{display:flex;justify-content:space-between;gap:12px;font-size:.925rem}.report-pace{margin:12px 0 0}.report-pace-counts{margin-bottom:14px}.cap{text-transform:capitalize}.rec-card h3{margin-top:12px}.rec-links{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.rec-links a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--c-fg);font-size:.925rem}.rec-links a:hover{color:var(--c-brand);text-decoration:underline}.sol summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;cursor:pointer;font-weight:600}.sol[open] summary{margin-bottom:12px}.sol{padding:16px 20px}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich p{margin:0 0 .85em}.rich ul,.rich ol{margin:0 0 .85em;padding-left:1.4em}.rich li{margin-bottom:.35em}.rich math{font-size:1.08em}.rich figure{margin:0 0 1em;text-align:center;max-width:100%;overflow-x:auto}.rich figure svg,.rich img:not(.math-img){max-width:min(100%,420px);height:auto;background:#fff;border-radius:var(--r-sm);padding:6px}.rich svg *{stroke-linecap:butt;stroke-linejoin:round}.rich img.math-img{vertical-align:middle}.rich table{border-collapse:collapse;width:100%;margin:0 auto;font-size:.92rem}.rich caption{caption-side:top;font-weight:600;padding-bottom:8px}.rich caption p{margin:0}.rich th,.rich td{border:1px solid var(--c-border-strong);padding:6px 10px}.rich th{text-transform:none;letter-spacing:normal;font-size:inherit;font-weight:600;color:var(--c-fg)}.rich thead th{background:var(--c-sunken)}.qv-passage .rich{font-family:var(--f-display);font-size:var(--f-q);line-height:1.7}.qv-passage .rich table{font-family:var(--f-body)}.qv-stimulus{font-size:var(--f-q);margin-bottom:16px}.qv-stem{font-size:var(--f-q);line-height:1.6;margin-bottom:18px}.qv-opt-body{min-width:0;font-size:var(--f-q);line-height:1.5}.qv-opt-body p{margin:0}.engine-source{flex:none;text-align:center;padding:6px var(--gutter) 10px;margin:0;font-size:.75rem}.spr{display:grid;gap:10px;max-width:360px}.spr-label{font-weight:600}.spr-input{font-family:var(--f-mono);font-size:1.4rem;letter-spacing:.08em;width:9ch;padding:10px 14px;border:1.5px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-fg)}.spr-input:focus{outline:3px solid var(--c-secondary);outline-offset:2px;border-color:var(--c-brand)}.spr-preview{display:flex;align-items:center;gap:8px;min-height:2.6em}.spr-frac{display:inline-flex;align-items:center;gap:3px;font-weight:700}.spr-frac-stack{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}.spr-frac-n{padding:0 3px;border-bottom:1.5px solid currentColor}.spr-frac-d{min-height:1.2em}.spr-rules{margin:4px 0 0;padding-left:18px}.spr-rules li{margin-bottom:2px}.ref-sheet{display:grid;gap:16px;color:var(--c-fg);text-align:left;max-height:60vh;overflow-y:auto}.ref-sheet h4{margin:0 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-3)}.ref-sheet dl{margin:0;display:grid;gap:4px}.ref-sheet dl>div{display:flex;justify-content:space-between;gap:16px}.ref-sheet dt{color:var(--c-fg-2)}.ref-sheet dd{margin:0;font-family:var(--f-mono)}.ref-sheet ul{margin:0;padding-left:18px;color:var(--c-fg-2)}.report-sections{display:flex;flex-wrap:wrap;gap:28px;margin:6px 0 4px}.report-section{display:grid;gap:2px}.report-section-v{font-family:var(--f-display);font-size:1.5rem;font-weight:650;color:var(--c-fg)}.sol-filter{margin-bottom:14px}.sol summary{align-items:center}.sol-body{display:grid;gap:14px;padding-top:4px}.sol-passage{padding:14px 16px;background:var(--c-sunken);border-radius:var(--r-md);font-family:var(--f-display);line-height:1.7}.sol-passage table{font-family:var(--f-body)}.sol-opts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sol-opt{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md)}.sol-opt .rich{flex:1;min-width:0}.sol-opt .rich p{margin:0}.sol-opt.is-right{border-color:var(--c-good);background:var(--c-good-soft)}.sol-opt.is-wrong{border-color:var(--c-bad);background:var(--c-bad-soft)}.sol-spr{margin:0}.sol-why{display:grid;gap:6px;padding-top:12px;border-top:1px dashed var(--c-border-strong);color:var(--c-fg-2)}.sol-source{margin-top:16px}.report-summary{grid-column:1 / -1;margin:0;padding-top:16px;border-top:1px solid var(--c-border);color:var(--c-fg-2)}.report-summary strong{color:var(--c-fg);font-weight:600}.dom-groups{display:grid;gap:16px}.dom-group h3{margin-bottom:8px}.dom-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) minmax(170px,auto) 104px;align-items:center;gap:12px 20px;padding:14px 0;border-top:1px solid var(--c-border)}.dom-name{display:grid;gap:2px}.dom-acc{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.dom-time{display:flex;align-items:center;gap:6px;white-space:nowrap}.dom-status{justify-self:end}@media(max-width:760px){.dom-row{grid-template-columns:1fr auto}.dom-acc{grid-column:1 / -1;grid-row:2}.dom-time{grid-column:1 / -1;grid-row:3}.dom-status{grid-column:2;grid-row:1}}.time-legend{display:flex;gap:18px;color:var(--c-fg-2);margin-bottom:14px}.time-legend span{display:inline-flex;align-items:center;gap:6px}.sw{width:12px;height:8px;border-radius:2px;display:inline-block}.sw-time,.tb-time{background:var(--c-brand)}.sw-q,.tb-q{background:var(--c-border-strong)}.time-rows{display:grid;gap:12px}.time-row{display:grid;gap:4px}.time-bars{display:grid;gap:3px}.tb{display:block;height:6px;border-radius:var(--r-full);min-width:2px}.slow-list{margin:8px 0 12px;padding-left:20px;display:grid;gap:10px}.slow-list li>*{vertical-align:baseline}.slow-list li{display:list-item}.slow-list li>span:last-child{float:right;margin-left:12px}.diag-counts{margin-bottom:16px}.skill-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:8px 32px}.skill-group h4{margin:12px 0 4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-fg-3)}.skill-row{display:grid;grid-template-columns:22px 1fr auto auto;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--c-border)}.skill-name{min-width:0}.skill-time{white-space:nowrap}.mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.8rem;font-weight:700;background:var(--c-sunken);color:var(--c-fg-3)}.mark.is-right{background:var(--c-good-soft);color:var(--c-good)}.mark.is-wrong{background:var(--c-bad-soft);color:var(--c-bad)}@media(max-width:520px){.skill-row{grid-template-columns:22px 1fr auto}.skill-row .badge{grid-column:2 / -1;justify-self:start}}.prio-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}.prio-n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-brand);color:var(--c-on-brand);font-weight:700}.prio-body h3{margin:0}.prio-body p{margin:6px 0 0}.prio-body .rec-links{margin-top:10px}.engine-title .engine-directions-btn{justify-self:start;margin-top:2px;padding:0;border:0;background:none;color:var(--x-on-bar);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.engine-directions-btn:hover{text-decoration:underline}.engine-directions{position:fixed;top:64px;left:var(--gutter);z-index:3;width:min(calc(100% - 32px),560px);padding:18px 20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--shadow-lg);font-size:.92rem;color:var(--c-fg-2)}.engine-directions p{margin:0 0 10px}.engine-tool.is-on{background:var(--c-on-brand);color:var(--x-bar)}.qv-src{margin-left:auto;font-size:12px;color:var(--c-fg-3);font-family:var(--f-mono);white-space:nowrap}.qv-abc{flex:none;padding:3px 8px;border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-fg-2);font:inherit;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:line-through;cursor:pointer}.qv-head>.qv-flag+.qv-abc{margin-left:auto}.qv-abc.is-on{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.qv-opt-row{display:flex;align-items:center;gap:10px}.qv-opt-row>.qv-opt{flex:1;min-width:0}.qv-opt-row.is-struck>.qv-opt{opacity:.45;text-decoration:line-through}.qv-strike{flex:none;min-width:44px;height:32px;border:1px solid var(--c-border-strong);border-radius:var(--r-full);background:var(--c-surface);color:var(--c-fg-2);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}.qv-strike:hover{border-color:var(--c-brand);color:var(--c-brand)}.engine-fs,.engine-toast{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:4;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--r-md);box-shadow:var(--shadow-md);font-size:.9rem;font-weight:500;white-space:nowrap}.engine-fs{background:var(--c-warn-soft);color:var(--c-warn);border:1px solid #ecd3a6}.engine-toast{background:var(--x-bar);color:var(--x-on-bar)}.engine-toast-x{border:0;background:none;color:inherit;cursor:pointer;font:inherit;padding:0 2px}.engine-break,.engine-review{width:100%;max-width:640px;margin:0 auto;padding:48px var(--gutter)}.engine-break{text-align:center}.engine-break h2{margin:6px 0 18px}.engine-break p{color:var(--c-fg-2)}.engine-break-clock{display:flex;justify-content:center;margin-bottom:18px}.engine-break-clock .timer{padding:14px 28px;border-radius:var(--r-lg);background:var(--x-bar, #1f2a44)}.engine-break-clock .timer-v{font-size:2.4rem}.engine-break .btn{margin-top:12px}.engine-review h2{margin:0 0 8px}.engine-review-counts{margin:16px 0}.engine-review .palette{margin-top:16px}.calc{position:fixed;z-index:5;width:min(calc(100vw - 32px),460px);height:min(calc(100vh - 180px),560px);min-width:300px;min-height:320px;display:flex;flex-direction:column;resize:both;overflow:hidden;background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.calc[hidden]{display:none}.calc-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--x-bar);color:var(--x-on-bar);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.calc-close{border:0;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}.calc-host{flex:1;min-height:0}.calc-fail{padding:16px;color:var(--c-fg-2)}@media(max-width:640px){.qv-head{flex-wrap:wrap;justify-content:flex-start}.qv-head>.qv-abc{margin-left:auto}.qv-src{order:3;flex-basis:100%;margin-left:0}.engine-fs,.engine-toast{white-space:normal;width:calc(100% - 32px)}}.engine-loading{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:var(--c-bg);color:var(--c-fg-2)}@media(min-width:1100px){.engine.has-calc .engine-body{padding-left:490px}}.rp{display:grid;gap:40px}.rp-num{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.rp-block{display:grid;gap:16px}.rp-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.rp-head h2{display:flex;align-items:center;gap:12px;font-size:clamp(1.3rem,2.6vw,1.6rem);margin:0}.rp-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:var(--c-brand);color:var(--c-on-brand);font-family:var(--f-num);font-size:.85rem;font-weight:600}.rp-head-aside{font-size:.85rem;color:var(--c-fg-3)}.rp-empty{margin:0;padding:20px;border:1px solid var(--c-border);border-radius:var(--r-lg);color:var(--c-fg-2)}.rp-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px 40px;align-items:center;padding:clamp(22px,4vw,40px);border-radius:var(--r-xl);background:radial-gradient(120% 140% at 0% 0%,#46598a 0%,var(--c-brand) 45%,var(--c-brand-strong) 100%);color:var(--c-on-brand);box-shadow:var(--shadow-lg)}.rp-hero-main{display:grid;gap:10px}.rp-kicker{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#a9c8ec}.rp-big{font-family:var(--f-num);font-weight:600;font-size:clamp(2.8rem,8vw,4.6rem);line-height:1;letter-spacing:-.05em}.rp-pct{justify-self:start;padding:5px 12px;border-radius:var(--r-full);background:var(--c-accent);color:var(--c-on-accent);font-family:var(--f-num);font-size:.85rem;font-weight:500}.rp-sections{display:grid;gap:12px;margin-top:10px;max-width:460px}.rp-section-top{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:6px;color:#d5dcea}.rp-section-top strong{font-family:var(--f-num);color:var(--c-on-brand);font-weight:500}.rp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rp-tile{display:grid;gap:4px;padding:16px;border-radius:var(--r-md);background:#ffffff12;border:1px solid rgb(255 255 255 / .12)}.rp-tile-v{font-family:var(--f-num);font-size:1.6rem;font-weight:600;line-height:1;letter-spacing:-.04em}.rp-tile-v small{font-size:.6em;color:#a9b6cf}.rp-tile-l{font-size:.8rem;color:#b9c4da}.rp-tile.is-over{background:#b8001f47;border-color:#ff788c59}.rp-hero-foot{grid-column:1 / -1;font-size:.8rem;color:#9fadc8}.ch-score{position:relative;display:block;height:8px;border-radius:var(--r-full);background:#ffffff24}.ch-score-band{position:absolute;top:0;bottom:0;border-radius:var(--r-full);background:#7fb2e8}.ch-score-dot{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--c-brand)}.ch-dots{display:inline-flex;flex-wrap:wrap;gap:3px}.ch-dots i{width:10px;height:10px;border-radius:3px;background:var(--c-chart-right)}.ch-dots i.is-wrong{background:var(--c-chart-wrong)}.ch-dots i.is-blank{background:transparent;box-shadow:inset 0 0 0 1.5px var(--c-border-strong)}.ch-pace{position:relative;display:block;height:10px;border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--c-chart-track);min-width:60px}.ch-pace-fill{position:absolute;left:0;top:0;bottom:0;background:var(--c-chart-time);border-radius:0 4px 4px 0}.ch-pace-over{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--c-chart-wrong) 0 3px,rgb(184 0 31 / .45) 3px 6px);border-radius:0 4px 4px 0;margin-left:2px}.ch-pace-tick{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--c-chart-pace);border-radius:1px}.ch-budget{position:relative;display:block;height:12px}.ch-budget-track{position:absolute;left:0;top:0;bottom:0;background:var(--c-chart-track);border-radius:0 4px 4px 0}.ch-budget-fill{position:absolute;left:0;top:0;bottom:0;background:var(--c-chart-time);border-radius:0 4px 4px 0}.ch-budget-over{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,var(--c-chart-wrong) 0 3px,rgb(184 0 31 / .45) 3px 6px);border-radius:0 4px 4px 0;margin-left:2px}.ch-dist{display:block;width:100%;height:auto;max-height:240px;overflow:visible}.ch-grid{stroke:var(--c-chart-grid);stroke-width:1;vector-effect:non-scaling-stroke}.ch-axis{font-family:var(--f-num);font-size:13px;fill:var(--c-fg-3)}.ch-dist-line{fill:none;stroke:var(--c-brand);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ch-dist-beat{fill:var(--c-brand);opacity:.1}.ch-dist-you{fill:var(--c-accent);opacity:.3}.ch-dist-mark{stroke:var(--c-accent);stroke-width:2;vector-effect:non-scaling-stroke}.ch-dist-dot{fill:var(--c-accent);stroke:#fff;stroke-width:2}.ch-dist-label{font-family:var(--f-num);font-size:15px;font-weight:600;fill:var(--c-fg)}.ch-range{position:relative;display:block;height:100%}.ch-range-band{position:absolute;top:50%;height:10px;margin-top:-5px;border-radius:var(--r-full);background:var(--c-brand)}.ch-range-band.is-target{background:var(--c-secondary)}.ch-range-band.is-likely{background:#a9c8ec}.cf{display:grid;gap:16px}.cf-bench{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.cf-bench li{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r-md);background:var(--c-brand-soft);border-left:3px solid var(--c-brand)}.cf-bench-l{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-brand)}.cf-bench-r{font-size:.85rem;color:var(--c-fg-2)}.cf-bench strong{font-size:1rem;font-weight:600}.cf-bench li.is-gap strong{color:var(--c-accent)}.cf-bench li.is-met{background:var(--c-good-soft);border-left-color:var(--c-good)}.cf-bench li.is-met .cf-bench-l,.cf-bench li.is-met strong{color:var(--c-good)}.cf-card{padding:clamp(16px,3vw,24px);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--shadow-sm)}.cf-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px;font-weight:600}.cf-card-head .rp-num{font-weight:400;color:var(--c-fg-2);font-size:.9rem}.cf-card-head .rp-num strong{color:var(--c-accent);font-weight:600}.cf-key{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-num);font-weight:400;font-size:.85rem;color:var(--c-fg-2)}.cf-key-you{width:12px;height:12px;border-radius:3px;background:#b8001f2e;box-shadow:inset 2px 0 0 var(--c-accent)}.cf-chart{--name-w: minmax(150px, 1.1fr);--range-w: 84px}.cf-row{display:grid;grid-template-columns:var(--name-w) 2fr var(--range-w);align-items:center;gap:12px;min-height:44px}.cf-row+.cf-row{border-top:1px solid var(--c-sunken)}.cf-track-col{position:relative;align-self:stretch}.cf-row:not(.cf-axis) .cf-track-col:before{content:"";position:absolute;top:0;bottom:0;left:var(--you-l);width:var(--you-w);background:#b8001f1a}.cf-row:not(.cf-axis) .cf-track-col:after{content:"";position:absolute;top:0;bottom:0;left:var(--you-m);width:2px;margin-left:-1px;background:var(--c-accent)}.cf-axis{min-height:22px}.cf-tick{position:absolute;bottom:2px;transform:translate(-50%);font-family:var(--f-num);font-size:11px;color:var(--c-fg-3)}.cf-tier{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:14px;padding:6px 10px;border-radius:var(--r-sm);background:var(--c-sunken);font-size:.85rem}.cf-group.is-reach .cf-tier strong{color:var(--c-accent)}.cf-group.is-target .cf-tier strong{color:var(--c-brand)}.cf-group.is-likely .cf-tier strong{color:var(--c-secondary-strong)}.cf-name{display:flex;align-items:center;gap:10px;min-width:0}.cf-name>span:last-child{display:grid;min-width:0;line-height:1.25}.cf-name strong{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cf-policy{font-size:.72rem;color:var(--c-fg-3)}.cf-logo{position:relative;flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#fff;border:1px solid var(--c-border);overflow:hidden}.cf-logo img{position:absolute;inset:2px;width:26px;height:26px;object-fit:contain;background:#fff}.cf-mono{font-family:var(--f-num);font-size:.7rem;font-weight:600;color:var(--c-brand)}.cf-logo.is-mono{border-color:transparent}.cf-logo.is-mono .cf-mono{color:#fff;font-family:var(--f-body);font-weight:700;letter-spacing:-.02em}.cf-range{font-size:.85rem;text-align:right;color:var(--c-fg-2)}.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:.82rem}.cf-more{border:1px solid var(--c-border-strong);background:#fff;border-radius:var(--r-full);padding:6px 14px;font-weight:600;font-size:.85rem;color:var(--c-brand);cursor:pointer}.cf-more:hover{background:var(--c-brand-soft)}.cf-mins{margin-top:16px;padding-top:14px;border-top:1px solid var(--c-border)}.cf-mins-h{display:block;margin-bottom:8px;font-size:.85rem;font-weight:600}.cf-mins ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.cf-mins li{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo name num" "logo v v";align-items:center;gap:0 10px;padding:8px 10px;border-radius:var(--r-md);background:var(--c-sunken);font-size:.9rem}.cf-mins li .cf-logo{grid-area:logo}.cf-mins li .rp-num{grid-area:num;font-size:.85rem}.cf-mins-v{grid-area:v;font-size:.75rem;color:var(--c-accent)}.cf-mins li.is-met .cf-mins-v{color:var(--c-good)}.cf-blind{margin:10px 0 0;font-size:.82rem;color:var(--c-fg-3)}.rp-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rp-facts li{display:grid;gap:4px;padding:14px 16px;border-radius:var(--r-md);background:var(--c-secondary-soft);border-left:3px solid var(--c-secondary)}.rp-facts li:nth-child(3){background:var(--c-accent-soft);border-left-color:var(--c-accent)}.rp-facts-k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary-strong)}.rp-facts li:nth-child(3) .rp-facts-k{color:var(--c-accent)}.rp-facts-d{font-weight:600;line-height:1.3}.rp-facts-d .muted{font-weight:400}.rp-facts-v{font-family:var(--f-num);font-size:.85rem;color:var(--c-fg-2)}.rp-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.8rem;color:var(--c-fg-2)}.rp-legend span{display:inline-flex;align-items:center;gap:6px}.lg{display:inline-block;width:10px;height:10px;border-radius:3px}.lg-right{background:var(--c-chart-right)}.lg-wrong{background:var(--c-chart-wrong)}.lg-time{width:18px;background:var(--c-chart-time)}.lg-over{width:18px;background:repeating-linear-gradient(135deg,var(--c-chart-wrong) 0 3px,rgb(184 0 31 / .45) 3px 6px)}.lg-pace{width:2px;height:14px;border-radius:1px;background:var(--c-chart-pace)}.rp-secs{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.rp-sec{padding:clamp(16px,3vw,22px);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.rp-sec-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.rp-sec-head h3{margin:0;flex:1 1 auto;font-size:1.1rem}.rp-budget{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:14px 0 6px;font-size:.9rem}.rp-topics{display:grid}.rp-topic{border-top:1px solid var(--c-border)}.rp-topic>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name dots" "bar t";gap:8px 12px;align-items:center;padding:12px 0}.rp-topic>summary::-webkit-details-marker{display:none}.rp-topic-name{grid-area:name;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;font-size:.95rem}.rp-topic-name:before{content:"";width:7px;height:7px;flex:none;border-right:2px solid var(--c-fg-3);border-bottom:2px solid var(--c-fg-3);transform:rotate(-45deg);transition:transform .15s;margin-right:2px}.rp-topic[open] .rp-topic-name:before{transform:rotate(45deg)}.rp-topic>summary .ch-dots{grid-area:dots;justify-self:end}.rp-topic>summary .ch-pace{grid-area:bar}.rp-topic-t{grid-area:t;font-size:.85rem;text-align:right;min-width:64px}.rp-topic-t .muted{font-size:.85em}.rp-skills{list-style:none;margin:0 0 12px;padding:4px 0 0 18px;display:grid;gap:8px}.rp-skills li{display:grid;grid-template-columns:auto minmax(0,1.2fr) minmax(60px,1fr) auto;align-items:center;gap:10px;font-size:.85rem;color:var(--c-fg-2)}.rp-skills .rp-topic-t{min-width:40px}.rp-fix{list-style:none;margin:0;padding:0;display:grid;gap:8px}.rp-fix li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface)}.rp-fix li:first-child{border-color:#b8001f59;box-shadow:inset 3px 0 0 var(--c-accent)}.rp-fix-n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c-brand-soft);color:var(--c-brand);font-family:var(--f-num);font-weight:600;font-size:.85rem}.rp-fix li:first-child .rp-fix-n{background:var(--c-accent);color:var(--c-on-accent)}.rp-fix-body{display:grid;gap:2px;min-width:0}.rp-fix-path{font-size:.78rem;color:var(--c-fg-3)}.rp-fix-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.rp-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--r-full);font-family:var(--f-num);font-size:.75rem;background:var(--c-sunken);color:var(--c-fg-2);border:1px solid var(--c-border)}.rp-lock{position:relative;display:block;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--c-border);text-decoration:none;color:inherit;min-height:260px;background:var(--c-surface)}.rp-lock-rows{list-style:none;margin:0;padding:18px;display:grid;gap:12px;filter:blur(3px);opacity:.55}.rp-lock-rows li{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--c-border);border-radius:var(--r-md)}.rp-lock-mark{font-weight:700}.rp-lock-mark.is-right{color:var(--c-chart-right)}.rp-lock-mark.is-wrong{color:var(--c-chart-wrong)}.rp-lock-q{font-family:var(--f-num);font-size:.85rem;color:var(--c-fg-3)}.rp-lock-text{display:grid;gap:6px}.rp-lock-text i{display:block;height:8px;border-radius:4px;background:var(--c-border-strong)}.rp-lock-veil{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:20px;text-align:center;background:linear-gradient(180deg,#ffffff59,#ffffffd9 55%);color:var(--c-fg-2);font-size:.9rem}.rp-lock-veil svg{color:var(--c-brand)}.rp-lock-veil strong{font-size:1.15rem;color:var(--c-fg)}.rp-lock-veil .btn{margin-top:6px}.rp-lock:hover .rp-lock-veil .btn{background:var(--c-brand-strong)}.rp-lock:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px}@media(max-width:900px){.rp-hero,.rp-secs{grid-template-columns:1fr}}@media(max-width:640px){.rp{gap:32px}.rp-facts{grid-template-columns:1fr}.cf-chart{--name-w: minmax(0, 118px);--range-w: 0px}.cf-row{gap:8px}.cf-range,.cf-tick.is-minor{display:none}.ch-axis{font-size:34px}.ch-dist-label{font-size:38px}.ch-dist-dot{r:10px}.cf-logo{width:26px;height:26px}.cf-logo img{inset:1px;width:22px;height:22px}.cf-name{gap:6px}.cf-name strong{font-size:.85rem}.rp-fix li{grid-template-columns:auto 1fr}.rp-fix-chips{grid-column:2;justify-content:flex-start}.rp-skills{padding-left:0}}.mr-ended{margin:0;padding:14px 18px;border-radius:var(--r-lg);background:var(--c-accent-soft);border-left:4px solid var(--c-accent);color:var(--c-fg)}.mr-routes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mr-route{padding:16px 18px;border:1px solid var(--c-border);border-radius:var(--r-lg);border-top:4px solid var(--c-secondary)}.mr-route.is-hard{border-top-color:var(--c-brand)}.mr-route.is-easy{border-top-color:var(--c-warn)}.mr-route p{margin:6px 0 0}.mr-route-k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary-strong)}.mr-route-arrow{color:var(--c-fg-3)}.mr-strip{position:relative;display:flex;align-items:flex-end;gap:2px;height:72px;margin-top:12px;padding-bottom:1px;border-bottom:1px solid var(--c-chart-grid)}.mr-bar{flex:1;min-width:0;border-radius:2px 2px 0 0;background:var(--c-chart-right)}.mr-bar.is-wrong{background:var(--c-chart-wrong)}.mr-bar.is-blank{background:var(--c-chart-track);box-shadow:inset 0 0 0 1px var(--c-border-strong)}.mr-pace{position:absolute;left:0;right:0;height:0;border-top:1.5px dashed var(--c-chart-pace);pointer-events:none}.mr-strip-foot{margin:8px 0 0}.mr-lg-blank{display:inline-block;width:10px;height:10px;border-radius:3px;box-shadow:inset 0 0 0 1.5px var(--c-border-strong)}.mr-diff{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mr-diff-tile{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-lg)}.mr-diff-k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-3)}.mr-diff-v{font-size:1.4rem;font-weight:600}.mr-diff-track{display:block;height:8px;border-radius:var(--r-full);background:var(--c-chart-track);overflow:hidden}.mr-diff-track span{display:block;height:100%;background:var(--c-chart-right)}.mr-incidents{margin:0;padding:0;list-style:none;display:grid;gap:8px}.mr-incidents li{display:flex;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md)}.mr-incidents .rp-num{min-width:52px;color:var(--c-fg-2)}.mr-filters{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.mr-chips{display:flex;flex-wrap:wrap;gap:6px}.mr-chips .is-on{border-color:var(--c-brand);background:var(--c-brand-soft);color:var(--c-brand)}.mr-qmod{color:var(--c-fg-2);font-weight:500}.mr-q-chips{display:flex;align-items:center;gap:8px}.mr-src{margin:0 0 10px;font-family:var(--f-mono);font-size:12px;color:var(--c-fg-3)}@media(max-width:720px){.mr-routes,.mr-diff{grid-template-columns:1fr}}.mocks{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}.mock{display:grid;align-content:start;gap:10px;padding:24px;color:inherit;text-decoration:none;border-top:4px solid var(--c-brand);transition:box-shadow .15s,transform .15s}.mock:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mock.is-locked{border-top-color:var(--c-border-strong)}.mock-n{font-family:var(--f-num);font-size:.85rem;color:var(--c-fg-3)}.mock-tags{display:flex;flex-wrap:wrap;gap:6px}.mock-t{margin:0;font-size:1.35rem}.mock-meta{margin:0;font-size:.92rem}.mock-score{margin:0}.mock-score-v{font-family:var(--f-num);font-size:1.8rem;font-weight:600;letter-spacing:-.04em;color:var(--c-brand)}.mock-go{margin-top:6px;font-weight:600;color:var(--c-brand)}.mock.is-locked .mock-go{color:var(--c-accent)}@media(max-width:900px){.mocks{grid-template-columns:1fr}}
