: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-hl: #ffef00;--c-hl-soft: rgb(255 239 0 / .55);--c-hl-ink: #1e2433;--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-top:48px;padding-bottom: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}.icon{flex-shrink:0;vertical-align:-.15em}.btn .icon{margin:0 -2px}::selection{background:color-mix(in srgb,var(--c-hl) 55%,#fff);color:var(--c-hl-ink)}mark.hl{background:none;color:inherit}mark.hl-soft{color:inherit}.hl{position:relative;z-index:0;padding:0 .08em;white-space:nowrap}.hl:before{content:"";position:absolute;z-index:-1;inset:.08em -.18em .02em;border-radius:3px 9px 4px 10px/7px 4px 8px 5px;background:var(--c-hl);transform:skew(-8deg) scaleX(1);transform-origin:left center}.hl[data-armed]:before{transform:skew(-8deg) scaleX(0)}.hl[data-on]:before{animation:hl-swipe .42s cubic-bezier(.3,.7,.3,1) forwards}@keyframes hl-swipe{0%{transform:skew(-8deg) scaleX(0)}to{transform:skew(-8deg) scaleX(1)}}.hl-soft{padding:.05em .14em;margin:0 -.04em;border-radius:.6em .25em .7em .3em;background:linear-gradient(100deg,#ffef0000,#ffef00d9 3%,#ffef0099 50%,#ffef00cc 96%,#ffef0000);-webkit-box-decoration-break:clone;box-decoration-break:clone}.hl-num{display:inline-grid;place-items:center;min-width:2.1em;padding:.1em .45em;background:var(--c-hl);color:var(--c-hl-ink);border-radius:255px 15px 225px/15px 225px 15px 255px;transform:rotate(-3deg);font-weight:700}.on-dark .hl,.rp-hero .hl,.on-dark .hl-soft,.rp-hero .hl-soft{color:var(--c-hl);background:none;padding:0}.on-dark .hl:before,.rp-hero .hl:before{display:none}.badge-hl{background:var(--c-hl);color:var(--c-hl-ink);border-color:transparent}@media(prefers-reduced-motion:reduce){.hl[data-armed]:before,.hl[data-on]:before{animation:none;transform:skew(-8deg) scaleX(1)}}.ox{--ox-h: 40px;--ox-px: 18px;--ox-gap: 8px;--ox-fs: 13px;display:inline-flex;align-items:center;justify-content:center;gap:var(--ox-gap);min-height:var(--ox-h);max-width:100%;padding:0 var(--ox-px);border:1px solid transparent;border-radius:3px;font-family:var(--f-body);font-size:var(--ox-fs);font-weight:600;line-height:1;white-space:nowrap;text-align:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out,color .16s ease-out,transform .16s ease-out}.ox>svg{flex:none}.ox:focus-visible{outline:2px solid var(--c-secondary);outline-offset:3px;border-radius:3px}.ox:disabled,.ox[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.ox-sm{--ox-h: 36px;--ox-px: 14px;--ox-gap: 7px;--ox-fs: 12.5px}.ox-block{display:flex;width:100%}.ox-arrow{transition:transform .16s ease-out}.ox:hover:not(:disabled):not([aria-disabled=true]) .ox-arrow{transform:translate(3px)}.ox-navy{--ox-rule: rgb(252 250 238 / .38);background:var(--c-brand);border-color:var(--c-brand-strong);color:var(--c-on-brand);letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 2px var(--c-brand),inset 0 0 0 3px var(--ox-rule),0 1px 2px #1e24331f}.ox-navy:hover:not(:disabled):not([aria-disabled=true]){background:var(--c-brand-strong);color:var(--c-on-brand);box-shadow:inset 0 0 0 2px var(--c-brand-strong),inset 0 0 0 3px var(--ox-rule),0 4px 14px #384b7040}.ox-navy:active:not(:disabled):not([aria-disabled=true]){--ox-rule: rgb(252 250 238 / .2);transform:translateY(1px);box-shadow:inset 0 0 0 2px var(--c-brand-strong),inset 0 0 0 3px var(--ox-rule)}.ox-paper{background:#fff;border-color:#384b7066;color:var(--c-fg);font-weight:500;box-shadow:0 1px 2px #1e24330f}.ox-paper:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--c-brand-soft) 45%,#ffffff);border-color:var(--c-brand);color:var(--c-fg);transform:translateY(-1px);box-shadow:0 4px 12px #384b701f}.ox-paper:active:not(:disabled):not([aria-disabled=true]){transform:none;box-shadow:0 1px 2px #1e24330f}@media(prefers-reduced-motion:reduce){.ox,.ox-arrow{transition:none}.ox:hover .ox-arrow,.ox:hover,.ox:active{transform:none!important}}.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%}}.dx-strip-lead .hl{color:var(--c-hl);font-weight:700;padding:0}.dx-strip-lead .hl:before{display:none}.dx-strip-btn{position:relative;overflow:hidden;isolation:isolate}.dx-strip-btn:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgb(255 239 0 / .75) 46%,rgb(255 255 255 / .9) 50%,rgb(255 239 0 / .75) 54%,transparent 62%);background-size:260% 100%;background-position:130% 0;mix-blend-mode:soft-light;animation:dx-sweep 4.5s ease-in-out infinite}@keyframes dx-sweep{0%,55%{background-position:130% 0}85%,to{background-position:-30% 0}}@media(prefers-reduced-motion:reduce){.dx-strip-btn:after{animation:none;display:none}}.acct{position:relative;display:flex;align-items:center;flex:none;min-height:36px}.acct-signin:focus-visible{outline-offset:4px}.acct-chip{display:inline-flex;align-items:center;gap:8px;max-width:168px;padding:3px 10px 3px 3px;border:1px solid transparent;border-radius:999px;background:transparent;color:#141414;font-family:var(--f-body);text-align:left;cursor:pointer}.acct-chip:hover,.acct-chip[aria-expanded=true]{background:#f0f0f0;border-color:#e2e2e2}.acct-chip:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.acct-chip .avatar{flex:none;border-radius:50%}.acct-name{min-width:0;max-width:84px;overflow:hidden;font-size:13px;font-weight:500;color:#141414;text-overflow:ellipsis;white-space:nowrap}.acct-caret{flex:none;color:#6b6b6b}.acct-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:110;width:264px;max-width:calc(100vw - 32px);padding:8px;border:1px solid #e2e2e2;border-radius:12px;background:#fffffff0;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 2px 4px #3b3b3b0d,0 4px 8px #3b3b3b17,0 8px 16px #3b3b3b1a,0 0 0 1px #3b3b3b03}.acct-head{display:flex;align-items:center;gap:12px;padding:12px}.acct-head .avatar{flex:none}.acct-id{display:grid;min-width:0;line-height:1.3}.acct-email{font-size:13px;font-weight:500;color:#141414;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acct-plan{font-size:12px;color:#6b6b6b;white-space:nowrap}.acct-sep{height:1px;margin:4px 0;background:#ebebeb}.acct-item{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:8px 12px;border:0;border-radius:8px;background:transparent;font-family:var(--f-body);font-size:13px;color:#454545;text-align:left;text-decoration:none;cursor:pointer}.acct-item:hover{background:#f0f0f0;color:#141414}.acct-item[aria-disabled=true]{cursor:wait;opacity:.65}.acct-item>svg{flex:none}.acct-spinner{width:14px;height:14px;border:2px solid #cfcfcf;border-top-color:#141414;border-radius:50%;animation:acct-spin .7s linear infinite}@keyframes acct-spin{to{transform:rotate(360deg)}}.mobile-account{margin-top:8px;padding-top:12px;border-top:1px solid var(--c-border)}.mobile-account .acct-head{padding:4px 0 8px}.mobile-account .acct-item{min-height:44px;padding-inline:8px;font-size:1rem;color:#141414}.mobile-account .acct-signin{margin:4px 0;--ox-h: 44px}@media(max-width:860px){.acct-name{display:none}.acct-chip{padding:3px}.acct-chip .acct-caret{display:none}}.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}.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}.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%}.tutor-scrim{position:fixed;inset:0;z-index:300;background:#1e243347;animation:tutor-fade .18s ease-out}.tutor{position:fixed;top:0;right:0;bottom:0;z-index:301;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--c-surface);border-left:1px solid var(--c-border);box-shadow:var(--shadow-lg);animation:tutor-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes tutor-in{0%{transform:translate(24px);opacity:0}}@keyframes tutor-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.tutor,.tutor-scrim{animation:none}}.tutor-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 20px;border-bottom:1px solid var(--c-border)}.tutor-mark{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--r-md);background:var(--c-brand-soft)}.tutor-mark .book-mark{width:28px;height:auto}.tutor-id{flex:1;min-width:0}.tutor-id h2{margin:0;font-family:var(--f-logo);font-size:1.15rem;font-weight:700;color:var(--c-brand)}.tutor-id p{margin:0;font-size:.85rem;color:var(--c-fg-3)}.tutor-close{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:var(--r-full);background:transparent;color:var(--c-fg-2);cursor:pointer}.tutor-close:hover{background:var(--c-sunken);color:var(--c-fg)}.tutor-ctx{display:flex;align-items:center;gap:6px;margin:0;padding:8px 20px;font-size:.85rem;color:var(--c-secondary-strong);background:var(--c-secondary-soft)}.tutor-ctx>span{flex:none}.tutor-ctx strong{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-list{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.tutor-empty p{margin:0 0 14px;color:var(--c-fg-2)}.tutor-suggest{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tutor-suggest button{width:100%;text-align:left;padding:10px 14px;font:inherit;font-size:.95rem;color:var(--c-brand);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);cursor:pointer}.tutor-suggest button:hover{background:var(--c-brand-soft);border-color:var(--c-brand)}.tutor-msg{max-width:92%;line-height:1.55;font-size:.97rem}.tutor-msg p,.tutor-msg ol,.tutor-msg ul{margin:0 0 10px;white-space:pre-wrap}.tutor-msg>:last-child{margin-bottom:0}.tutor-msg ol,.tutor-msg ul{padding-left:22px;white-space:normal}.tutor-msg li+li{margin-top:4px}.tutor-msg.is-user{align-self:flex-end;padding:10px 14px;color:var(--c-on-brand);background:var(--c-brand);border-radius:var(--r-lg) var(--r-lg) var(--r-sm) var(--r-lg)}.tutor-msg.is-assistant{align-self:flex-start;padding:12px 16px;color:var(--c-fg);background:var(--c-sunken);border:1px solid var(--c-border);border-radius:var(--r-lg) var(--r-lg) var(--r-lg) var(--r-sm)}.tutor-typing{display:inline-flex;gap:4px;padding:4px 0}.tutor-typing i{width:7px;height:7px;border-radius:50%;background:var(--c-fg-3);animation:tutor-dot 1s infinite ease-in-out}.tutor-typing i:nth-child(2){animation-delay:.15s}.tutor-typing i:nth-child(3){animation-delay:.3s}@keyframes tutor-dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.tutor-gate{display:grid;gap:6px;justify-items:start;padding:16px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface)}.tutor-gate span{color:var(--c-fg-2);font-size:.92rem}.tutor-gate .btn{margin-top:6px}.tutor-form{display:flex;align-items:flex-end;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--c-border)}.tutor-input{flex:1;min-height:44px;max-height:160px;padding:11px 14px;font:inherit;color:var(--c-fg);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);resize:none;field-sizing:content}.tutor-input:focus{outline:2px solid var(--c-secondary);outline-offset:1px;border-color:transparent}.tutor-send{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:var(--r-md);color:var(--c-on-brand);background:var(--c-brand);cursor:pointer}.tutor-send:hover:not(:disabled){background:var(--c-brand-strong)}.tutor-send:disabled{opacity:.4;cursor:default}.tutor-fab{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:80;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 18px 0 14px;font:inherit;font-weight:600;color:var(--c-on-brand);background:var(--c-brand);border:0;border-radius:var(--r-full);box-shadow:var(--shadow-lg);cursor:pointer}.tutor-fab:hover{background:var(--c-brand-strong)}@media(max-width:560px){.tutor-fab span{display:none}.tutor-fab{padding:0;width:52px;justify-content:center}}.pr-ask{color:var(--c-secondary-strong)}.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-body{display:grid;grid-template-columns:minmax(300px,340px) minmax(0,1fr);gap:40px;align-items:center}.ts-body.is-solo{grid-template-columns:minmax(0,380px);justify-content:center}.ts-quotes{min-width:0}.ts-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px 2px 18px}.ts-rail::-webkit-scrollbar{display:none}.ts-rail:focus-visible{outline:2px solid var(--c-secondary);outline-offset:4px;border-radius:var(--r-xl)}.tq{flex:0 0 min(530px,88%);scroll-snap-align:start;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:22px;padding:26px 24px 26px 28px;border-radius:var(--r-xl);background:var(--tq-bg);color:var(--c-fg)}.tq-brand{--tq-bg: var(--c-brand-soft)}.tq-secondary{--tq-bg: var(--c-secondary-soft)}.tq-accent{--tq-bg: var(--c-accent-soft)}.tq-text{display:flex;flex-direction:column;min-width:0}.tq-name{margin:0 0 12px;font-family:var(--f-logo);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;color:var(--c-brand)}.tq-quote{margin:0 0 18px;font-size:.9rem;line-height:1.6;color:var(--c-fg-2)}.tq-college{display:flex;flex-direction:column;margin:auto 0 12px;font-size:.9rem;line-height:1.35;color:var(--c-fg)}.tq-college strong{font-weight:700}.tq-college span{color:var(--c-fg-2)}.tq-score{display:inline-flex;align-self:flex-start;margin:0;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);line-height:1}.tq-quote+.tq-score{margin-top:auto}.tq-score span{padding:10px 14px;background:var(--c-brand);color:#fff;font-weight:700;font-size:.9rem}.tq-score strong{padding:8px 14px;background:var(--c-bg);color:var(--c-accent);font-family:var(--f-logo);font-weight:800;font-size:1.15rem;display:flex;align-items:center}.tq-media{position:relative;align-self:center;padding:6px;border-radius:24px;background:#fff9}.tq-photo{display:block;width:100%;height:300px;object-fit:cover;border-radius:19px;background:var(--c-sunken)}.tq-badge{position:absolute;left:-16px;bottom:-10px;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--c-bg);box-shadow:0 0 0 3px var(--tq-bg),var(--shadow-md)}.tq-badge img{width:34px;height:34px;object-fit:contain}.ts-nav{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}.ts-dots{display:flex;align-items:center;gap:6px}.ts-dot{width:8px;height:8px;padding:0;border:0;border-radius:var(--r-full);background:var(--c-border-strong);cursor:pointer;transition:width .2s,background .2s}.ts-dot[aria-current=true]{width:22px;background:var(--c-brand)}.ts-arrow{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--c-border-strong);border-radius:50%;background:var(--c-bg);color:var(--c-brand);cursor:pointer;transition:background .15s,border-color .15s}.ts-arrow:hover:not(:disabled){background:var(--c-brand-soft);border-color:var(--c-brand)}.ts-arrow:disabled{opacity:.35;cursor:default}.ts-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ts-dot:focus-visible,.ts-arrow:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.fd{min-width:0}.fd-hero{position:relative;height:210px;margin-top:56px;border-radius:var(--r-xl);background:radial-gradient(120% 90% at 20% 100%,rgb(255 255 255 / .55),transparent 60%),var(--c-brand-soft)}.fd-photo{position:absolute;left:4px;bottom:0;width:auto;height:256px;border-bottom-left-radius:var(--r-xl);-webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent);mask-image:linear-gradient(to bottom,#000 88%,transparent)}.fd-id{position:absolute;left:186px;right:10px;bottom:18px;display:flex;flex-direction:column;gap:4px}.fd-role{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary);line-height:1.3}.fd-name{font-family:var(--f-logo);font-weight:800;font-size:1.35rem;line-height:1.05;letter-spacing:-.02em;color:var(--c-brand)}.fd-alma{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:5px 10px 5px 5px;width:max-content;max-width:100%;border:1px solid var(--c-border);border-radius:var(--r-full);background:var(--c-bg);box-shadow:var(--shadow-sm);font-size:.72rem;font-weight:600;color:var(--c-fg);line-height:1.2;white-space:nowrap}.fd-alma img{flex:none;width:22px;height:22px;object-fit:contain}.fd-points{display:flex;flex-wrap:wrap;gap:6px 8px;margin:16px 0 0;padding:0;list-style:none}.fd-points li{padding:5px 11px;border-radius:var(--r-full);background:var(--c-sunken);border:1px solid var(--c-border);font-size:.8rem;font-weight:600;color:var(--c-fg-2)}.fd-reach{margin-top:18px}.fd-count{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;font-size:.95rem;font-weight:600;color:var(--c-fg-2)}.fd-count strong{font-family:var(--f-logo);font-weight:800;font-size:1.6rem;line-height:1;letter-spacing:-.02em;color:var(--c-accent)}.fd-line{display:inline-flex;align-items:center;gap:8px}.fd-bracket{display:inline-flex;align-items:center;gap:3px;font-size:1.7rem;font-weight:300;line-height:1;color:var(--c-fg-3)}.fd-logos{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.fd-logo{display:flex}.fd-logo img{display:block;object-fit:contain}.fd-more{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.74rem;font-weight:600;color:var(--c-fg-3);white-space:nowrap}.fd-more .fd-logos{gap:6px;opacity:.85}.fd-gallery{margin:18px 0 0}.fd-gallery figcaption{margin-bottom:8px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-3)}.fd-gallery ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.fd-gallery li:nth-child(n+3){display:none}.fd-gallery img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-sunken)}@media(max-width:1100px){.ts-body{grid-template-columns:minmax(0,1fr);gap:40px;justify-items:center}.fd{width:100%;max-width:380px}.ts-quotes{width:100%}}@media(max-width:760px){.ts{padding:48px 0 56px}.ts-body{gap:32px}.fd{max-width:360px}.tq{flex-basis:100%;grid-template-columns:minmax(0,1fr);gap:18px;padding:20px}.tq-media{order:-1;justify-self:center;width:180px}.tq-photo{height:240px}.ts-arrow{display:none}}.film{display:block;width:100%;height:auto;aspect-ratio:16 / 10;border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-sunken);box-shadow:var(--shadow-lg)}.film-box{position:relative}.film-sound{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;color:var(--c-fg);background:#fffffff2;border:1px solid var(--c-border);border-radius:var(--r-full);box-shadow:var(--shadow-md);cursor:pointer}.film-sound:hover{background:#fff;border-color:var(--c-border-strong)}.film-sound:focus-visible{outline:2px solid var(--c-brand);outline-offset:3px}@media(max-width:760px){.film-sound{right:10px;bottom:10px;width:44px;height:44px}}.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)}.hero.has-film{min-height:0;max-width:calc(var(--w-page) + 2 * var(--gutter) + 120px);margin:0 auto;padding:56px var(--gutter) 72px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);place-content:initial;align-items:center;justify-items:stretch;gap:56px;text-align:left}.has-film .hero-text{display:grid;justify-items:start}.has-film .hero-title{justify-items:start}.has-film .hero-ace{font-size:clamp(2.4rem,4.2vw,4rem)}.has-film .hero-sat{font-size:clamp(7rem,14vw,12.5rem);margin-left:-.04em}.has-film .hero-sub{margin:16px 0 32px}.hero-film{min-width:0}@media(max-width:860px){.hero.has-film{grid-template-columns:1fr;gap:40px;padding-top:40px;text-align:center}.has-film .hero-text,.has-film .hero-title{justify-items:center}.has-film .hero-sat{font-size:clamp(7rem,34vw,12rem);margin-left:0}}.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}.si-auth{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:380px;min-height:calc(100dvh - var(--header-h) - 80px);margin-inline:auto;padding:40px 16px 48px;font-family:var(--f-body);text-align:center}.si-loading{margin:0;font-size:13px;color:#6b6b6b}.si-eyebrow{margin:0;font-size:13px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:#6b6b6b}.si-auth-head h1{margin:12px 0 0;font-family:var(--f-body);font-size:clamp(20px,4.2vw,24px);font-weight:400;line-height:1.25;letter-spacing:.02em;color:#141414}.si-auth-note{margin:16px 0 0;font-size:14px;line-height:1.5;color:#6b6b6b}.si-auth-card{width:100%;margin-top:32px;padding:24px;border-radius:12px;background:#fff;box-shadow:0 1px 2px #3b3b3b17,0 2px 4px #3b3b3b0d,0 0 0 1px #3b3b3b03;text-align:center}.si-google{--ox-h: 46px;--ox-gap: 10px;--ox-fs: 14px}.si-google:disabled{cursor:progress;opacity:.7}.si-error{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--c-bad)}.si-card-note{margin:12px 0 0;font-size:13px;line-height:1.5;color:#454545}.si-card-note a{color:inherit}.si-auth-fine{margin:20px 0 0;font-size:12px;line-height:1.5;color:#6b6b6b}.si-auth-back{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:16px;padding-inline:12px;font-size:13px;color:#6b6b6b;text-decoration:none}.si-auth-back:hover{color:#141414}.course-min{font-family:var(--f-mono);font-size:.78rem;align-self:center}.course-next{margin:4px 0 0;font-size:1.05rem}.course-next a{color:var(--c-fg);text-decoration:none}.course-next a:hover{color:var(--c-brand);text-decoration:underline}.side-list .badge{margin-left:4px;font-size:.7rem;vertical-align:1px}.topic-main{min-width:0}.course-area{display:block;font-weight:400;margin-top:2px}.course-side{max-height:min(62vh,560px);overflow-y:auto;margin-right:-8px;padding-right:8px;gap:2px}.course-side a{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--r-sm)}.course-side a:hover{background:var(--c-sunken);text-decoration:none}.course-side .is-current a{background:var(--c-brand-soft)}.course-side-n{font-family:var(--f-mono);font-size:.75rem;color:var(--c-fg-3);min-width:2ch}.course-side-t{flex:1}.course-side-lock{font-size:.75rem;opacity:.7}.course-side .badge{margin-left:0}.course-tabs{display:flex;justify-content:center;margin:8px 0 28px}.course-tabs .tabs{font-size:1rem}.lesson-stage{display:grid;gap:14px;margin-bottom:40px;scroll-margin-top:calc(var(--header-h) + 12px)}.lesson-stage>.tabs{justify-self:start}.lesson-body{margin-top:0}.lesson-body .topic-main{gap:48px}.lesson-next{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 16px;padding:20px 24px;border-radius:var(--r-lg);background:var(--c-brand);color:var(--c-on-brand);text-decoration:none}.lesson-next:hover{background:var(--c-brand-strong)}.lesson-next-k{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.8}.lesson-next-t{grid-column:1;font-size:1.15rem;font-weight:600}.lesson-next .icon{grid-column:2;grid-row:1 / span 2}.course-side-lock{color:var(--c-fg-3);display:inline-flex}.must-learn{color:var(--c-accent);font-weight:700;margin-left:.35em;white-space:nowrap}h1 .must-learn{font-size:.5em;vertical-align:.35em;margin-left:.25em}.home-wait,html[data-home=dash] .home-marketing{display:none}html[data-home=dash] .home-wait{display:block;min-height:70vh}.home-wait-dash{min-height:70vh}.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:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;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-clock{display:flex;justify-content:center}.engine-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.engine-tool{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:4px 8px 3px;border:0;border-bottom:2px solid transparent;border-radius:var(--r-sm) var(--r-sm) 0 0;background:transparent;color:var(--x-on-bar);font:inherit;font-size:.72rem;font-weight:600;line-height:1.2;cursor:pointer}.engine-tool svg{flex:none}.engine-tool:hover{background:#fcfaee1f}.engine-tool:focus-visible{outline:2px solid #8db4c4;outline-offset:2px}.engine-tool.is-on{border-bottom-color:var(--x-on-bar);background:#fcfaee24}.engine-exit:hover{background:var(--c-accent)}.timer{display:flex;flex-direction:column;align-items:center;line-height:1.15}.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{display:flex;justify-content:space-between;gap:10px;padding:8px 16px}.engine-brand{flex:1}.engine-clock,.engine-top-actions{flex:none}.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:2px}.engine-tool{min-width:40px;padding:6px}.engine-tool span,.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}.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;left:16px;top:72px;width:min(calc(100vw - 32px),460px);height:min(calc(100vh - 120px),600px);min-width:300px;min-height:320px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);display:flex;flex-direction:column;resize:both;overflow:hidden;background:#fff;border:1px solid var(--c-border-strong);border-radius:var(--r-md);box-shadow:0 12px 40px #0f172a47,0 2px 8px #0f172a29}.calc[hidden]{display:none}.calc-bar{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 6px 6px 12px;background:var(--x-bar);color:var(--x-on-bar);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none}.calc-bar-left{display:flex;align-items:center;gap:12px;min-width:0}.calc-bar-left strong{font-size:.9rem;white-space:nowrap}.calc-modes{display:inline-flex;padding:2px;border-radius:999px;background:#fcfaee24;cursor:default}.calc-mode{border:0;border-radius:999px;padding:4px 12px;background:transparent;color:var(--x-on-bar-2);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.calc-mode:hover{color:var(--x-on-bar)}.calc-mode.is-on{background:var(--x-on-bar);color:var(--x-bar)}.calc-mode:focus-visible,.calc-icon:focus-visible{outline:2px solid #8db4c4;outline-offset:1px}.calc-grip{flex:1;display:flex;justify-content:center;min-width:16px;color:var(--x-on-bar-2);pointer-events:none}.calc-bar-right{display:flex;align-items:center;gap:2px;cursor:default}.calc-icon{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--x-on-bar);cursor:pointer}.calc-icon:hover{background:#fcfaee24}.calc-host{flex:1;min-height:0}.calc-host[hidden]{display:none}.calc-fail{padding:16px;color:var(--c-fg-2)}@media(max-width:520px){.calc-bar-left strong{display:none}}@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)}.sh-scrim{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px 16px;background:#1e243373;animation:sh-fade .18s ease-out}.sh{width:min(760px,100%);max-height:min(88svh,900px);display:grid;grid-template-rows:auto 1fr;background:var(--c-surface);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);outline:none;overflow:hidden;animation:sh-rise .22s cubic-bezier(.3,.7,.3,1)}.sh.is-wide{width:min(1040px,100%)}.sh-head{display:flex;align-items:center;gap:12px;padding:16px 18px 14px 22px;border-bottom:1px solid var(--c-border)}.sh-head h2{margin:0;font-size:1.15rem;flex:1;min-width:0}.sh-aside{font-size:.85rem;color:var(--c-fg-3)}.sh-close{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border:1px solid var(--c-border);border-radius:50%;background:var(--c-surface);color:var(--c-fg-2);cursor:pointer}.sh-close:hover{border-color:var(--c-border-strong);color:var(--c-fg)}.sh-body{overflow:auto;overscroll-behavior:contain;padding:18px 22px 24px;display:grid;gap:16px;align-content:start}@keyframes sh-fade{0%{opacity:0}}@keyframes sh-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}}@media(prefers-reduced-motion:reduce){.sh-scrim,.sh{animation:none}}@media(max-width:560px){.sh-scrim{place-items:end center;padding:0}.sh{width:100%;max-height:92svh;border-radius:var(--r-xl) var(--r-xl) 0 0}.sh-body{padding:16px}}.st{--st-h: clamp(400px, calc(100svh - var(--header-h) - 214px), 640px);display:grid;gap:14px;scroll-margin-top:var(--header-h)}.st-sticky{position:sticky;top:var(--header-h);z-index:20;display:grid;gap:10px;margin:0 calc(var(--gutter) * -1);padding:10px var(--gutter);background:color-mix(in srgb,var(--c-bg) 96%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--c-border)}.st-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}.st-tabs::-webkit-scrollbar{display:none}.st-tab{display:inline-flex;align-items:center;gap:8px;flex:none;padding:6px 14px 6px 6px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);font:inherit;font-size:.88rem;font-weight:600;color:var(--c-fg-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.st-tab:hover{border-color:var(--c-border-strong);color:var(--c-fg)}.st-tab-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c-sunken);color:var(--c-fg-2);font-family:var(--f-num);font-size:.78rem}.st-tab[aria-selected=true]{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.st-tab[aria-selected=true] .st-tab-n{background:var(--c-hl);color:var(--c-hl-ink);font-weight:700;border-radius:255px 15px 225px/15px 225px 15px 255px;transform:rotate(-4deg)}.st-tab:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.st-stage{display:grid;gap:12px}.st-view{position:relative;height:var(--st-h);touch-action:pan-y;overflow:hidden;border-radius:var(--r-xl)}.st-card{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:clamp(16px,2.4vw,26px);border:1px solid var(--c-border);border-radius:var(--r-xl);background:var(--c-surface);box-shadow:var(--shadow-sm)}.st-card.is-fwd{animation:st-in-fwd .36s cubic-bezier(.3,.7,.3,1)}.st-card.is-back{animation:st-in-back .36s cubic-bezier(.3,.7,.3,1)}.st-card.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}@keyframes st-in-fwd{0%{opacity:0;transform:translate(48px)}}@keyframes st-in-back{0%{opacity:0;transform:translate(-48px)}}.st-card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px}.st-kicker{flex-basis:100%;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-secondary-strong)}.st-title{margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem);flex:1 1 auto}.st-aside{font-size:.85rem;color:var(--c-fg-3)}.st-body{min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;gap:16px;align-content:start}.st-body.is-center,.st-body>.is-center{align-content:center}.st-controls{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px}.st-back{width:44px;padding:0;justify-content:center}.st-back:disabled{opacity:.35;cursor:default}.st-segs{display:flex;gap:4px;margin:0;padding:0;list-style:none;min-width:0}.st-segs li{flex:1;min-width:6px;display:flex}.st-segs li.is-new{margin-left:8px}.st-seg{position:relative;flex:1;height:6px;padding:0;border:0;border-radius:var(--r-full);background:var(--c-chart-track);cursor:pointer;overflow:hidden}.st-seg:after{content:"";position:absolute;inset:-8px 0}.st-seg.is-done{background:var(--c-brand)}.st-seg i{position:absolute;inset:0;border-radius:inherit;background:var(--c-brand);transform-origin:left center;transform:scaleX(1)}.st-seg i.is-timed{animation:st-fill var(--st-ms) linear forwards}@keyframes st-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.st-play{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid var(--c-border);border-radius:50%;background:var(--c-surface);color:var(--c-fg-2);cursor:pointer}.st-play:hover{border-color:var(--c-border-strong);color:var(--c-fg)}.st-next{gap:6px;max-width:320px}.st-next-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-next-s{display:none}@media(prefers-reduced-motion:reduce){.st-card.is-fwd,.st-card.is-back{animation:none}}@media(max-width:560px){.st{--st-h: clamp(360px, calc(100svh - var(--header-h) - 184px), 600px);gap:10px}.st-sticky{padding:8px var(--gutter);gap:8px}.st-card{padding:14px;gap:10px}.st-card-head{gap:0 10px}.st-kicker{font-size:.64rem}.st-title{font-size:1.12rem}.st-aside{display:none}.st-body{gap:10px}.st-tab{padding:5px 11px 5px 5px;font-size:.82rem}.st-controls{gap:8px}.st-segs li.is-new{margin-left:5px}.st-next-l{display:none}.st-next-s{display:inline}.st-card{border-radius:var(--r-lg)}}.st-segs{overflow:hidden}@media(max-width:560px){.st-segs{gap:2px}.st-segs li{min-width:0}.st-segs li.is-new{margin-left:4px}.st-seg{height:5px}.st-play{width:32px;height:32px}.st-back{width:38px}}.rp-fixed{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px}.rp-fixed-score{display:flex;align-items:baseline;gap:8px}.rp-fixed-score b{font-family:var(--f-num);font-size:1.6rem;font-weight:600;letter-spacing:-.04em;color:var(--c-brand);line-height:1}.rp-fixed-score span{font-size:.8rem;color:var(--c-fg-3)}.rp-fixed-facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem;color:var(--c-fg-2)}.rp-fixed-facts strong{font-family:var(--f-num);font-weight:600;color:var(--c-fg)}@media(max-width:560px){.rp-fixed-facts .is-opt{display:none}}.rp-take{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0;padding:0;list-style:none}.rp-take li{display:grid;gap:6px;align-content:start;padding:16px 18px;border:1px solid var(--c-border);border-radius:var(--r-lg);border-top:4px solid var(--c-brand)}.rp-take li.is-bad{border-top-color:var(--c-accent)}.rp-take li.is-time{border-top-color:var(--c-secondary)}.rp-take-k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-3)}.rp-take strong{font-size:1.05rem}.rp-take p{margin:0;font-size:.9rem;color:var(--c-fg-2)}@media(max-width:720px){.rp-take{grid-template-columns:1fr}}.qg-mods{display:grid;gap:14px}.qg-mod{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:start}.qg-mod-l{font-size:.85rem;font-weight:600;color:var(--c-fg-2);padding-top:6px}.qg-chips{display:flex;flex-wrap:wrap;gap:5px}.qg-chip{position:relative;width:34px;height:34px;border-radius:var(--r-sm);border:0;cursor:pointer;font-family:var(--f-num);font-size:.8rem;font-weight:600;color:#fff;background:var(--c-chart-right);transition:transform .12s,box-shadow .12s}.qg-chip.is-wrong{background:var(--c-chart-wrong)}.qg-chip.is-blank{background:var(--c-surface);color:var(--c-fg-2);box-shadow:inset 0 0 0 1.5px var(--c-border-strong)}.qg-chip.is-flag:after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--c-warn);box-shadow:0 0 0 2px var(--c-bg)}.qg-chip:hover{transform:translateY(-1px)}.qg-chip[aria-pressed=true]{box-shadow:0 0 0 2px var(--c-bg),0 0 0 4px var(--c-secondary)}.qg-lg-flag{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c-warn)}.qg-more{justify-self:start}@media(max-width:720px){.qg-mod{grid-template-columns:1fr;gap:6px}.qg-mod-l{padding-top:0}.qg-chip{width:32px;height:32px}}.ps{display:grid;gap:32px}.ps-levers{display:flex;flex-wrap:wrap;gap:12px 28px}.ps-lever{display:grid;gap:6px}.ps-lever-l{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-3)}.ps-tabs{margin:0}.ps-tabs .tab{font-family:var(--f-num)}.ps-tabs .tab[aria-checked=true]{background:var(--c-surface);color:var(--c-fg);box-shadow:var(--shadow-sm)}.ps-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px 12px;padding-top:6px}@media(max-width:560px){.ps-dates{grid-template-columns:1fr 1fr}.ps-date{padding:14px 12px}}.ps-date{position:relative;display:grid;gap:6px;justify-items:start;align-content:start;text-align:left;padding:16px;border:1.5px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font:inherit;color:var(--c-fg);cursor:pointer;transition:border-color .15s,box-shadow .15s}.ps-date:hover{border-color:var(--c-border-strong)}.ps-date[aria-checked=true]{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.ps-rec{position:absolute;top:-10px;left:14px;padding:3px 9px;border-radius:var(--r-sm);background:var(--c-accent);color:var(--c-on-accent);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ps-date-d{font-weight:700}.ps-date-left{font-size:.85rem;color:var(--c-fg-3)}.ps-date-exp{font-size:.9rem;color:var(--c-fg-2)}.ps-date-exp strong{font-size:1.25rem;color:var(--c-fg)}.ps-reg{color:var(--c-warn);font-weight:600}.ps-why{margin:0;color:var(--c-fg-2)}.ps-why strong{color:var(--c-fg)}.ps-path{padding:34px 0 0}.ps-path-track{position:relative;height:10px;border-radius:var(--r-full);background:var(--c-chart-track)}.ps-path-gain{position:absolute;top:0;bottom:0;border-radius:var(--r-full);background:linear-gradient(90deg,var(--c-secondary),var(--c-brand))}.ps-path-now,.ps-path-exp,.ps-path-target{position:absolute;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center}.ps-path-now:before,.ps-path-exp:before{content:"";width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px var(--c-secondary)}.ps-path-exp:before{box-shadow:0 0 0 3px var(--c-brand)}.ps-path-now b,.ps-path-exp b{position:absolute;bottom:22px;font-size:.95rem;white-space:nowrap}.ps-path-now small,.ps-path-exp small{position:absolute;top:22px;font-size:.72rem;color:var(--c-fg-3);white-space:nowrap}.ps-path-target{height:26px;width:0;border-left:2px dashed var(--c-accent)}.ps-path-target small{position:absolute;top:30px;left:0;transform:translate(-50%);font-size:.72rem;font-weight:600;color:var(--c-accent);white-space:nowrap}.ps-path.is-close .ps-path-target small{top:48px}.ps-path.is-close .ps-path-axis{margin-top:66px}.ps-path-axis{display:flex;justify-content:space-between;margin-top:46px;font-size:.72rem;color:var(--c-fg-3)}.ps-weeks{display:flex;gap:10px;overflow-x:auto;margin:0;padding:2px 2px 10px;list-style:none;scroll-snap-type:x proximity}.ps-week{flex:none;width:190px;display:grid;gap:4px;align-content:start;scroll-snap-align:start;padding:14px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-sunken)}.ps-week.is-open{background:var(--c-surface);border-color:var(--c-brand)}.ps-week-top{display:flex;justify-content:space-between;align-items:center}.ps-week-title{font-weight:600;font-size:.92rem;line-height:1.3}.ps-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;padding:clamp(20px,3vw,28px);border-radius:var(--r-xl);background:var(--c-brand-soft);border:1px solid color-mix(in srgb,var(--c-brand) 25%,transparent)}.ps-cta h3{margin:0 0 6px}.ps-cta p{margin:0;max-width:560px}.pl-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}.pl-count{font-family:var(--f-logo);font-weight:800;font-size:2rem;color:var(--c-accent);line-height:1}.pl-facts{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.9rem;color:var(--c-fg-2)}.pl-facts strong{font-family:var(--f-num);color:var(--c-fg)}.pl-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:14px 18px;border-radius:var(--r-lg);background:var(--c-good-soft);color:var(--c-fg)}.pl-banner.is-ended,.pl-banner.is-guest{background:var(--c-brand-soft)}.pl-banner p{margin:0}.pl-days{display:grid;gap:10px;margin:0;padding:0;list-style:none}.pl-day{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:16px 18px;border:1px solid var(--c-border);border-radius:var(--r-lg);border-left:4px solid var(--c-border-strong);background:var(--c-surface)}.pl-day.is-math{border-left-color:var(--c-brand)}.pl-day.is-rw{border-left-color:var(--c-secondary)}.pl-day.is-test{border-left-color:var(--c-accent)}.pl-day.is-review{border-left-color:var(--c-warn)}.pl-day.is-rest{border-left-color:var(--c-good)}.pl-day.is-today{box-shadow:0 0 0 3px var(--c-brand-soft);border-color:var(--c-brand)}.pl-day-when{display:grid;gap:2px;align-content:start}.pl-day-when strong{font-family:var(--f-num);font-size:.85rem;color:var(--c-fg-3)}.pl-day-body{display:grid;gap:8px}.pl-day-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.pl-day-title h3{margin:0;font-size:1.05rem}.pl-tasks{margin:0;padding-left:18px;color:var(--c-fg-2);font-size:.92rem}.pl-watch{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.pl-watch a{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-sunken);font-size:.85rem;color:var(--c-fg);text-decoration:none}.pl-watch a:hover{border-color:var(--c-brand);color:var(--c-brand)}.pl-watch a:before{content:"";display:inline-block;width:0;height:0;margin-right:6px;border-style:solid;border-width:4px 0 4px 7px;border-color:transparent transparent transparent var(--c-accent);vertical-align:1px}.pl-watch small{color:var(--c-fg-3)}.pl-locked{position:relative}.pl-locked .pl-days{filter:blur(5px);pointer-events:none;-webkit-user-select:none;user-select:none;max-height:380px;overflow:hidden}.pl-lock{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:24px;background:linear-gradient(180deg,#ffffff59,#ffffffe6)}.pl-lock h3{margin:0}.pl-lock p{margin:0;max-width:420px;color:var(--c-fg-2)}@media(max-width:560px){.pl-day{grid-template-columns:1fr;gap:6px}.pl-day-when{grid-auto-flow:column;justify-content:start;gap:10px}}.ps-part{display:grid;gap:16px;align-content:start}.ps-note{margin:0}.ps-path{padding-top:30px}.ps-path-axis{margin-top:40px}.ps-rec{background:var(--c-hl);color:var(--c-hl-ink);transform:rotate(-2deg)}.ps-cta{border-top:4px solid var(--c-hl);background:var(--c-surface);box-shadow:var(--shadow-md)}.pl-banner{border-top:4px solid var(--c-hl)}.st-body .ps-cta{align-self:center}.qg{display:grid;gap:14px;align-content:start}.qg-miss{list-style:none;margin:0;padding:0;display:grid;gap:8px}.qg-miss button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;text-align:left;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font:inherit;color:var(--c-fg);cursor:pointer;transition:border-color .15s,box-shadow .15s}.qg-miss button:hover{border-color:var(--c-brand);box-shadow:var(--shadow-sm)}.qg-miss-n{display:inline-grid;place-items:center;width:30px;height:30px;font-family:var(--f-num);font-weight:700;font-size:.85rem;background:var(--c-hl);color:var(--c-hl-ink);border-radius:255px 15px 225px/15px 225px 15px 255px;transform:rotate(-4deg)}.qg-miss-body{display:grid;gap:2px;min-width:0}.qg-miss-path{font-size:.8rem;color:var(--c-fg-3)}.qg-miss-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qg-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.qg-sheet-sub{margin:-6px 0 0}.st-body .qg-mod{grid-template-columns:150px 1fr}@media(max-width:720px){.qg-miss button{grid-template-columns:auto minmax(0,1fr)}.qg-miss .mr-q-chips{grid-column:2}.st-body .qg-mod{grid-template-columns:1fr}.st-body .qg-chip{width:30px;height:30px;font-size:.75rem}}.qg-l-short{display:none}@media(max-width:560px){.st-body .qg-mods{gap:8px}.st-body .qg-mod{grid-template-columns:40px 1fr;gap:6px;align-items:start}.st-body .qg-mod-l{font-size:.68rem;line-height:1.2;padding-top:4px}.st-body .qg-l-long,.st-body .qg-l-score{display:none}.st-body .qg-l-short{display:inline}.st-body .qg-chips{gap:3px}.st-body .qg-chip{width:22px;height:22px;font-size:.62rem;border-radius:4px}.st-body .qg-chip.is-flag:after{width:7px;height:7px;top:-2px;right:-2px}.qg-miss{gap:6px}.qg-miss button{padding:9px 12px;gap:10px}.qg-miss .mr-q-chips{display:none}.qg-miss-n{width:26px;height:26px}.st-body .cf-card{padding:10px 12px}.st-body .cf-card-head{display:none}.st-body .ch-dist{max-height:130px}.st-body .cf-bench{grid-template-columns:1fr 1fr;gap:6px}.st-body .cf-bench li{padding:8px 10px;font-size:.78rem}.st-body .cf-group .cf-row~.cf-row{display:none}.st-body .cf-foot .muted{display:none}.ps-part{gap:10px}.ps-levers{gap:8px}.ps-lever{grid-template-columns:74px 1fr;align-items:center}.ps-tabs .tab{padding:6px 12px;font-size:.82rem}.st-body .ps-dates{display:flex;overflow-x:auto;gap:10px;padding:12px 2px 4px;scroll-snap-type:x mandatory}.st-body .ps-date{flex:none;width:150px;padding:12px;gap:4px;scroll-snap-align:start}.st-body .ps-why,.st-body .ps-note{display:none}.st-body .ps-week{width:160px}.st-body .ps-cta{padding:16px;gap:12px}.st-body .ps-cta h3{font-size:1.05rem}.st-body .ps-cta p{font-size:.85rem}}@media(max-width:560px){.qg-miss li:nth-child(n+4){display:none}.qg-miss-path{font-size:.72rem}}.an{display:grid;gap:14px;align-content:start}.an-foot{margin:0}.an-lead{margin:0;font-size:1rem}.an-lead .icon{vertical-align:-2px;color:var(--c-fg-3)}.an-stack{display:flex;height:34px;border-radius:var(--r-md);overflow:hidden;gap:2px}.an-seg{display:grid;place-items:center;min-width:28px;color:#fff;font-family:var(--f-num);font-weight:600;font-size:.85rem}.an-seg.is-gap,.an-dot.is-gap{background:var(--c-accent)}.an-seg.is-misconception,.an-dot.is-misconception{background:#e0566c}.an-seg.is-rushed,.an-dot.is-rushed{background:var(--c-secondary)}.an-seg.is-skipped,.an-dot.is-skipped{background:var(--c-border-strong);color:var(--c-fg)}.an-kinds{list-style:none;margin:0;padding:0;display:grid;gap:8px}.an-kinds li{display:grid;gap:3px;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-lg)}.an-kind-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.an-kind-h .rp-num{font-weight:700}.an-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.an-fix{font-size:.88rem;color:var(--c-fg-2)}.an-pts{list-style:none;margin:0;padding:0;display:grid;gap:8px}.an-pts li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 56px;align-items:center;gap:14px}.an-pts-l{display:grid;gap:1px;min-width:0}.an-pts-l strong{font-size:.95rem}.an-pts-bar{height:12px;border-radius:var(--r-full);background:var(--c-chart-track);overflow:hidden}.an-pts-bar span{display:block;height:100%;border-radius:inherit;background:var(--c-brand)}.an-pts-bar span.is-rw{background:var(--c-secondary)}.an-pts-v{text-align:right;font-size:1.05rem}.an-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.an-cols>div{display:grid;gap:8px;align-content:start;padding:12px 14px;border:1px solid var(--c-border);border-radius:var(--r-lg)}.an-cols>.is-then{border-color:var(--c-brand);border-top:4px solid var(--c-hl)}.an-cols-h{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-3)}.an-cols-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.an-cols-list li{display:flex;align-items:center;gap:8px;font-size:.88rem}.an-cols-list .cf-logo{width:22px;height:22px}.an-col-name{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.an-more{padding-left:30px}.an-cols-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pc{display:grid;gap:12px;align-content:start}.pc-lead,.pc-foot{margin:0}.pc-dot{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none;background:var(--c-border-strong)}.pc-dot.is-watch,.pc-seg.is-watch{background:var(--c-brand)}.pc-dot.is-notes,.pc-seg.is-notes{background:#6b7fa8}.pc-dot.is-practice,.pc-seg.is-practice{background:var(--c-secondary)}.pc-dot.is-qb,.pc-seg.is-qb{background:var(--c-good)}.pc-dot.is-log,.pc-seg.is-log{background:var(--c-warn)}.pc-dot.is-test,.pc-seg.is-test{background:var(--c-accent)}.pc-dot.is-review,.pc-seg.is-review{background:var(--c-warn)}.pc-dot.is-rest,.pc-seg.is-rest{background:var(--c-good)}.pc-dot.is-math{background:var(--c-brand)}.pc-dot.is-rw{background:var(--c-secondary)}.pc-blocks{display:grid;gap:10px}.pc-bar{display:flex;gap:3px;height:30px}.pc-seg{display:grid;place-items:center;min-width:8px;border-radius:6px;color:#fff}.pc-seg small{font-family:var(--f-num);font-size:.72rem;font-weight:600}.pc-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pc-list li{display:grid;grid-template-columns:10px 104px minmax(0,1fr) 60px;align-items:center;gap:10px;font-size:.9rem}.pc-list-k{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-fg-3)}.pc-list-l a{color:var(--c-brand);font-weight:600}.pc-list-m{text-align:right;color:var(--c-fg-2)}.pc-lock{margin-left:6px;color:var(--c-fg-3);vertical-align:-1px}.pc-other{display:grid;gap:6px;padding:10px 14px;border-radius:var(--r-lg);background:var(--c-sunken);font-size:.85rem;color:var(--c-fg-2)}.pc-other span{display:flex;align-items:baseline;gap:8px}.pc-day-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.pc-day-h strong{font-size:1.05rem}.pc-why{margin:-6px 0 0}.pc-go{justify-self:start}.pc-locked{margin:0;padding:10px 14px;border-radius:var(--r-md);background:var(--c-brand-soft);font-size:.88rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pc-month{display:grid;gap:8px}.pc-week{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center}.pc-week-l{display:grid;gap:3px;justify-items:start;font-size:.78rem;font-weight:600;color:var(--c-fg-2)}.pc-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.pc-tile{width:100%;height:64px;display:grid;align-content:start;gap:2px;padding:6px 7px;text-align:left;border:1px solid var(--c-border);border-left:4px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface);font:inherit;color:var(--c-fg);cursor:pointer;overflow:hidden}.pc-tile:hover{border-color:var(--c-brand)}.pc-tile.is-math{border-left-color:var(--c-brand)}.pc-tile.is-rw{border-left-color:var(--c-secondary)}.pc-tile.is-test{border-left-color:var(--c-accent);background:var(--c-accent-soft)}.pc-tile.is-review{border-left-color:var(--c-warn)}.pc-tile.is-rest{border-left-color:var(--c-good)}.pc-tile-d{font-family:var(--f-num);font-size:.66rem;color:var(--c-fg-3)}.pc-tile-l{font-size:.74rem;font-weight:600;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pc-cal-h{display:flex;align-items:center;gap:10px}.pc-cal-h strong{font-size:1rem;min-width:128px;text-align:center}.pc-cal-h .st-play:disabled{opacity:.35;cursor:default}.pc-cal-sum{margin-left:auto}.pc-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pc-cal-wd{font-size:.68rem;font-weight:600;text-align:center;color:var(--c-fg-3);letter-spacing:.04em;text-transform:uppercase}.pc-cell{height:46px;display:grid;align-content:start;gap:1px;padding:4px 6px;text-align:left;overflow:hidden;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-sunken);font:inherit;color:var(--c-fg-3)}button.pc-cell{cursor:pointer;background:var(--c-surface);color:var(--c-fg);border-top:3px solid var(--c-border-strong)}button.pc-cell:hover{border-color:var(--c-brand)}.pc-cell.is-math{border-top-color:var(--c-brand)}.pc-cell.is-rw{border-top-color:var(--c-secondary)}.pc-cell.is-test{border-top-color:var(--c-accent);background:var(--c-accent-soft)}.pc-cell.is-review{border-top-color:var(--c-warn)}.pc-cell.is-rest{border-top-color:var(--c-good)}.pc-cell.is-sat{background:var(--c-surface);border:2px solid var(--c-hl-ink);color:var(--c-fg)}.pc-cell.is-today{box-shadow:0 0 0 2px var(--c-secondary)}.pc-cell-n{font-family:var(--f-num);font-size:.7rem;font-weight:600}.pc-cell-l{font-size:.66rem;font-weight:600;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-cal-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pc-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.78rem;color:var(--c-fg-2)}.pc-legend span{display:inline-flex;align-items:center;gap:6px}.pc-ch-week{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--c-border)}.pc-ch{list-style:none;margin:0;padding:0;display:grid;gap:6px}.pc-ch li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.9rem}.pc-ch a{color:var(--c-brand);font-weight:600}@media(max-width:720px){.an-cols{grid-template-columns:1fr 1fr;gap:8px}.an-cols>div{padding:10px}.an-pts li{grid-template-columns:minmax(0,1fr) 70px 46px;gap:8px}.pc-list li{grid-template-columns:10px minmax(0,1fr) 52px}.pc-list-k{display:none}}@media(max-width:560px){.an-kinds li{padding:8px 10px}.an-fix{font-size:.78rem;line-height:1.3}.an-kind-h .small{display:none}.an-stack{height:26px}.an-pts-l .small{display:none}.an-cols-list li:nth-child(n+5):not(.an-more){display:none}.an-cols-list .rp-num,.st-body .an-foot{display:none}.an-lead{font-size:.85rem}.pc-week{grid-template-columns:1fr;gap:4px}.pc-week-l{grid-auto-flow:column;justify-content:start;align-items:center;gap:6px}.pc-tile{height:50px;padding:4px;border-left-width:3px}.pc-tile-l{font-size:.6rem;-webkit-line-clamp:2}.pc-tile-d{font-size:.56rem}.pc-month{gap:4px}.pc-cell{height:38px;padding:3px}.pc-cell-l{display:none}.pc-cell.is-sat .pc-cell-l{display:block}.pc-cal-sum,.pc-legend{display:none}.pc-cal-h strong{min-width:0;flex:1}.st-body .pc-other{display:none}.st-body .pc-list li{font-size:.8rem}}.pc-cell{height:40px}.st-body .cf-tier .muted{display:none}.st-body .cf-group{margin-top:2px}@media(max-width:560px){.an-cols-list li:nth-child(n+4):not(.an-more){display:none}.an-cols-list{gap:4px}.pc-tile{height:44px}.st-body .pc-foot{display:none}.pc-week-l{font-size:.7rem}.pc-cell{height:30px}.pc-cal{gap:3px}.pc-cal-wd{font-size:.6rem}}.st-body .cf-row{min-height:32px}.st-body .cf-policy{display:none}.st-body .cf-tier{padding-top:4px;padding-bottom:2px}.st-body .cf-foot{padding-top:6px}.st-body .an-cols-list{gap:4px}.st-body .cf-tier{margin-top:4px}.st-body .cf-row{min-height:28px}.pc-ch-week,.pc-week-l{align-items:start;align-content:start}.pc-week-l .badge{align-self:start}@media(max-width:560px){.pc-wd{display:none}.pc-tile{height:46px}.pc-tile-l{font-size:.58rem;line-height:1.15;-webkit-line-clamp:3}}.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}}.dx-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:32px 56px;align-items:center;padding-bottom:56px;border-bottom:1px solid var(--c-border);margin-bottom:56px}.dx-hero .page-intro{margin-bottom:0;max-width:560px}.dx-hero-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}.dx-hero-points li{display:flex;gap:12px;align-items:baseline;color:var(--c-fg-2)}.dx-hero-points b{font-family:var(--f-num);font-size:.8rem;font-weight:600;color:var(--c-secondary-strong)}.sp-label{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--c-fg-3)}.dx{display:grid;gap:14px;padding:22px;border-radius:var(--r-xl);box-shadow:var(--shadow-md)}.dx-head{display:flex;align-items:baseline;justify-content:space-between}.dx-total{font-size:.85rem;font-weight:600;color:var(--c-brand)}.dx-gap{margin-top:6px}.dx-sec{display:grid;gap:8px;padding:14px;border-radius:var(--r-md);background:var(--c-sunken)}.dx-sec-top{display:flex;align-items:center;gap:10px}.dx-sec-top strong{font-size:.98rem}.dx-sec-n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:var(--r-sm);background:var(--c-brand);color:var(--c-on-brand);font-size:.75rem;font-weight:600}.dx-sec-meta{margin-left:auto;font-size:.82rem;white-space:nowrap}.dx-ticks{display:flex;gap:3px}.dx-ticks i{flex:0 1 14px;height:6px;border-radius:2px;background:var(--c-secondary);opacity:.75}.dx-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.dx-chips li{padding:3px 9px;border-radius:var(--r-full);font-size:.76rem;color:var(--c-fg-2);background:var(--c-surface);border:1px solid var(--c-border)}.dx-tools{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.dx-tools li{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:var(--r-md);border:1px solid var(--c-border);line-height:1.3}.dx-tools li>span:last-child{display:grid;gap:2px;min-width:0}.dx-tools strong{font-size:.9rem}.dx-tools .small{font-size:.78rem}.dx-glyph{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--c-secondary-soft);color:var(--c-secondary-strong)}.dx-legend{display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--c-border)}.dx-legend .legend{font-size:.8rem;gap:6px 14px}.dx-legend .pal-dot{width:14px;height:14px}.sp{display:grid;gap:56px}.sp-head{max-width:720px}.sp-head h2{margin-bottom:10px}.sp-head p{font-size:1.05rem}.sp-index{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.sp-index a{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border-radius:var(--r-full);border:1px solid var(--c-border);color:var(--c-fg);font-weight:600;font-size:.92rem;text-decoration:none}.sp-index a:hover{border-color:var(--c-brand)}.sp-index a span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c-brand-soft);color:var(--c-brand);font-size:.75rem}.sp-part{display:grid;gap:24px}.sp-part-head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.sp-n{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-md);background:var(--c-brand);color:var(--c-on-brand);font-size:1.1rem;font-weight:600}.sp-part-t h3{margin:0 0 2px;font-size:clamp(1.3rem,2.6vw,1.6rem);scroll-margin-top:calc(var(--header-h) + 24px)}.sp-part-t p{margin:0}.sp-part-head .badge{align-self:start;margin-top:6px}.sp-body{padding:clamp(16px,3vw,32px);border-radius:var(--r-xl);background:var(--c-sunken);border:1px solid var(--c-border)}.sp-body .rp-sec,.sp-body .rp-fix li,.sp-body .ps-date{background:var(--c-surface)}.sp-extras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sp-extras li{display:grid;gap:2px;padding:14px 16px;border-radius:var(--r-md);background:var(--c-surface);border:1px dashed var(--c-border-strong)}.sp-extras strong{font-size:.92rem;color:var(--c-brand)}.sp-final{display:grid;justify-items:center;gap:14px;margin-top:64px;text-align:center}.sp-final h2,.sp-final p{margin:0}@media(max-width:960px){.dx-hero{grid-template-columns:1fr}.dx-hero .page-intro{max-width:none}}@media(max-width:640px){.dx-hero{padding-bottom:40px;margin-bottom:40px}.dx{padding:16px}.dx-tools{grid-template-columns:1fr}.dx-sec-top{flex-wrap:wrap}.sp{gap:40px}.sp-part-head{grid-template-columns:auto 1fr;align-items:start;gap:12px}.sp-part-head .badge{grid-column:2;justify-self:start;margin-top:0}.sp-n{width:40px;height:40px;font-size:.95rem}.sp-extras{grid-template-columns:1fr}}.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}}.rp-staged{display:block}.st-body .rp-hero{padding:clamp(18px,2.6vw,30px);gap:18px 32px;box-shadow:none}.st-body .rp-big{font-size:clamp(2.6rem,6.4vw,4rem)}.st-body .rp-tile{padding:12px 14px}.st-body .rp-tile-v{font-size:1.35rem}.st-body .mr-diff{margin-top:4px}.st-body .mr-diff-tile{padding:10px 14px}.st-body .mr-diff-v{font-size:1.15rem}.mr-doms{list-style:none;margin:0;padding:0;display:grid;gap:8px}.mr-dom{width:100%;display:grid;grid-template-columns:minmax(0,1.6fr) auto minmax(0,1fr) minmax(0,1.2fr) 70px;align-items:center;gap:14px;padding:12px 16px;text-align:left;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);font:inherit;color:var(--c-fg);cursor:pointer;transition:border-color .15s,box-shadow .15s}.mr-dom:hover{border-color:var(--c-brand);box-shadow:var(--shadow-sm)}.mr-dom-name{display:grid;gap:2px;min-width:0}.mr-dom-name strong{font-size:.98rem}.mr-dom-t{text-align:right;font-size:.85rem}.mr-skills{margin:0}.mr-mods{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mr-mods .rp-sec{padding:12px 14px}.mr-mods .rp-sec-head h3{font-size:.92rem}.mr-mods .mr-strip{height:52px;margin-top:8px}.mr-mods .mr-strip-foot{margin-top:6px}@media(max-width:720px){.mr-dom{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 12px}.mr-dom .ch-dots,.mr-dom .ch-pace{display:none}.mr-dom-t{grid-column:2}.mr-mods,.st-body .rp-hero{grid-template-columns:1fr}.st-body .rp-tiles{grid-template-columns:repeat(4,1fr);gap:6px}.st-body .rp-tile{padding:8px}.st-body .rp-tile-v{font-size:1.05rem}.st-body .rp-tile-l{font-size:.7rem}.st-body .rp-hero-foot{display:none}}.st-body .ch-dist{max-height:170px}.st-body .cf{gap:12px}.st-body .cf-card{padding:14px 18px;box-shadow:none}.st-body .cf-row{min-height:0}.mr-mods .rp-budget{margin:8px 0 4px}.mr-mods .mr-strip{height:40px}.mr-mods .rp-sec{box-shadow:none}@media(max-width:560px){.rp-fixed-score b{font-size:1.3rem}.rp-fixed-facts{font-size:.8rem;gap:2px 10px}.st-body .rp-hero{padding:14px;gap:10px;border-radius:var(--r-lg)}.st-body .rp-hero-main{gap:6px}.st-body .rp-big{font-size:2.4rem}.st-body .rp-pct{font-size:.75rem;padding:3px 10px}.st-body .rp-sections{gap:6px;margin-top:4px}.st-body .rp-section-top{font-size:.8rem;margin-bottom:3px}.st-body .rp-take{gap:8px}.st-body .rp-take li{padding:10px 12px;gap:2px;border-top-width:3px}.st-body .rp-take strong{font-size:.95rem}.st-body .rp-take p{font-size:.82rem;line-height:1.35}.st-body .rp-take~.mr-diff{display:none}.st-body .rp-legend{display:none}.mr-doms{gap:6px}.mr-dom{padding:9px 12px}.mr-dom-name strong{font-size:.9rem}.mr-route{padding:12px 14px}.mr-route p.muted,.st-body .mr-routes+p{display:none}.mr-mods{grid-template-columns:1fr 1fr;gap:8px}.mr-mods .rp-sec{padding:10px}.mr-mods .rp-sec-head h3{font-size:.76rem;line-height:1.25}.mr-mods .rp-sec-head h3 .small,.mr-mods .rp-budget,.mr-mods .mr-strip-foot{display:none}.mr-mods .mr-strip{height:44px;gap:1px}}@media(max-width:560px){.mr-dom{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.mr-dom-t{grid-column:auto;font-size:.78rem}.mr-dom-name .small{display:none}}.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}}.player-wrap{display:grid;gap:10px}.player-wrap .player-speed{width:100%;max-width:max(420px,calc((100vh - var(--header-h) - 150px) * 16 / 9));margin-inline:auto}.player{position:relative;aspect-ratio:16 / 9;width:100%;max-width:max(420px,calc((100vh - var(--header-h) - 150px) * 16 / 9));margin-inline:auto;border-radius:var(--r-lg);overflow:hidden;background:#0f131c;border:1px solid var(--c-border);user-select:none;-webkit-user-select:none}.player video{display:block;width:100%;height:100%;object-fit:contain;background:#0f131c}.player-wait{width:100%;height:100%;background:linear-gradient(90deg,#141925,#1b2231,#141925);background-size:200% 100%;animation:player-wait 1.4s linear infinite}@keyframes player-wait{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.player-wait{animation:none}}.player-wm{position:absolute;pointer-events:none;font-family:var(--f-mono);font-size:clamp(10px,1.4vw,13px);color:#ffffff47;text-shadow:0 1px 2px rgb(0 0 0 / .35);white-space:nowrap;transition:top 1.2s ease,left 1.2s ease,right 1.2s ease,bottom 1.2s ease}.wm-tl{top:6%;left:4%}.wm-tr{top:6%;right:4%}.wm-br{bottom:18%;right:4%}.wm-bl{bottom:18%;left:4%}.wm-c{top:45%;left:38%}.player-lock{background:var(--c-sunken);display:grid;place-items:center;user-select:auto;-webkit-user-select:auto}.player-lock-inner{text-align:center;max-width:420px;padding:24px 16px;display:grid;gap:10px;justify-items:center}.player-lock-inner h3{margin:0;font-size:1.15rem}.player-lock-inner p{margin:0 0 6px}.player-lock-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--c-brand-soft);color:var(--c-brand)}.player-lock-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}@media(max-width:560px){.player{aspect-ratio:auto;min-height:56vw}.player video{aspect-ratio:16 / 9;height:auto}.player-lock{min-height:260px}}.player-speed{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.player-speed-label{display:inline-flex;align-items:center;gap:6px;margin-right:4px;font-size:.85rem;font-weight:600;color:var(--c-fg-2)}.player-speed-btn{font-family:var(--f-mono);font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-fg-2);cursor:pointer}.player-speed-btn:hover{border-color:var(--c-border-strong);color:var(--c-fg)}.player-speed-btn.is-on{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.player-speed-btn:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.player-speed-keys{margin-left:auto}.player-speed-keys kbd{font-family:var(--f-mono);font-size:.75rem;padding:1px 6px;border:1px solid var(--c-border);border-bottom-width:2px;border-radius:4px;background:var(--c-surface)}@media(max-width:560px){.player-speed-keys{display:none}}.ln{display:grid;gap:28px}.ln-h2{display:flex;align-items:center;gap:10px;margin:0;font-size:1.5rem}.ln-h2 .icon{color:var(--c-brand)}.ln-h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-fg-2)}.ln-h3 .icon{color:var(--c-secondary)}.ln-points{list-style:none;margin:0;padding:0;display:grid;gap:10px}.ln-points li{position:relative;padding-left:22px;line-height:1.55}.ln-points li:before{content:"";position:absolute;left:4px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--c-brand)}.ln-points strong,.ln-callout strong,.ln-rule strong{color:var(--c-brand-strong)}.ln-math math{font-size:1.06em}.ln-formula-math math{font-size:1.2rem}.ln-formulas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.ln-formula{display:grid;gap:10px;align-content:start;padding:14px 16px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface)}.ln-formula-name{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--c-fg-3);text-transform:uppercase}.ln-formula-math{overflow-x:auto;padding:2px 0}.ln-formula-note{font-size:.82rem;color:var(--c-fg-2)}.ln-rules{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:rule}.ln-rule{counter-increment:rule;position:relative;padding:14px 16px 14px 48px;border:1px solid var(--c-border);border-radius:var(--r-md)}.ln-rule:before{content:counter(rule,decimal-leading-zero);position:absolute;left:16px;top:15px;font-family:var(--f-mono);font-size:.78rem;color:var(--c-secondary);font-weight:700}.ln-rule-text{margin:0 0 8px;font-weight:600}.ln-ex{display:flex;gap:8px;align-items:baseline;margin:4px 0 0;font-size:.95rem}.ln-ex .icon{position:relative;top:2px}.ln-ex-right .icon{color:var(--c-good)}.ln-ex-wrong{color:var(--c-fg-2)}.ln-ex-wrong .icon{color:var(--c-bad)}.ln-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ln-callout{padding:16px 18px;border-radius:var(--r-md);border:1px solid var(--c-border)}.ln-callout ul{margin:0;padding-left:18px;display:grid;gap:8px}.ln-callout p{margin:0;line-height:1.55}.ln-traps{background:var(--c-warn-soft);border-color:transparent}.ln-traps .ln-h3,.ln-traps .ln-h3 .icon{color:var(--c-warn)}.ln-tip{background:var(--c-secondary-soft);border-color:transparent}.ln-tip .ln-h3,.ln-tip .ln-h3 .icon{color:var(--c-secondary-strong)}@media(max-width:720px){.ln-pair{grid-template-columns:1fr}}.pr{display:grid;gap:20px;scroll-margin-top:calc(var(--header-h) + 12px)}.pr-head{display:grid;gap:8px}.pr-head .ln-h2 .icon{color:var(--c-brand)}.pr-sub{margin:0}.pr-progress{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:.9rem;color:var(--c-fg-2)}.pr-progress strong{font-family:var(--f-num);color:var(--c-fg)}.pr-bar{flex:1;min-width:120px;height:6px;border-radius:var(--r-full);background:var(--c-chart-track);overflow:hidden}.pr-bar>span{display:block;height:100%;background:var(--c-brand);border-radius:inherit;transition:width .3s ease}.pr-wait{height:260px;border-radius:var(--r-lg);background:linear-gradient(90deg,var(--c-sunken),#eef0f4,var(--c-sunken));background-size:200% 100%;animation:player-wait 1.4s linear infinite}.pr-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}.pr-q{display:grid;gap:14px;padding:20px 22px;border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface)}.pr-q.is-right{border-color:color-mix(in srgb,var(--c-good) 45%,var(--c-border))}.pr-q.is-wrong{border-color:color-mix(in srgb,var(--c-bad) 40%,var(--c-border))}.pr-q-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pr-q-n{font-family:var(--f-num);font-weight:700;color:var(--c-brand)}.pr-q-skill{flex:1;min-width:0}.pr-verdict{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}.pr-verdict.is-right{color:var(--c-good)}.pr-verdict.is-wrong{color:var(--c-bad)}.pr-passage{padding:14px 16px;border-radius:var(--r-md);background:var(--c-sunken);line-height:1.7}.pr-stem{font-weight:500;line-height:1.6}.pr-opts{display:grid;gap:8px}.pr-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 14px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-fg);font:inherit;cursor:pointer}.pr-opt:hover:not(:disabled){border-color:var(--c-brand)}.pr-opt:focus-visible{outline:3px solid var(--c-secondary);outline-offset:2px}.pr-opt:disabled{cursor:default}.pr-opt-body{flex:1;min-width:0}.pr-opt-body p{margin:0}.pr-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:13px}.pr-opt.is-chosen{border-color:var(--c-brand);background:var(--c-brand-soft)}.pr-opt.is-chosen .pr-letter{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.pr-opt.is-answer{border-color:var(--c-good);background:var(--c-good-soft)}.pr-opt.is-answer .pr-letter{background:var(--c-good);border-color:var(--c-good);color:#fff}.pr-opt.is-wrong{border-color:var(--c-bad);background:var(--c-bad-soft)}.pr-opt.is-wrong .pr-letter{background:var(--c-bad);border-color:var(--c-bad);color:#fff}.pr-opt-tag{font-size:.75rem;font-weight:700;letter-spacing:.02em;color:var(--c-fg-2);white-space:nowrap}.pr-opt.is-answer .pr-opt-tag{color:var(--c-good)}.pr-opt.is-wrong .pr-opt-tag{color:var(--c-bad)}.pr-spr{display:grid;gap:8px;max-width:320px}.pr-spr-label{font-weight:600;font-size:.9rem}.pr-spr-input{font-family:var(--f-num);font-size:1.1rem}.pr-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pr-actions .btn{display:inline-flex;align-items:center;gap:6px}.pr-retry{margin-left:auto}.pr-why{padding:16px 18px;border-radius:var(--r-md);background:var(--c-secondary-soft);line-height:1.6}.pr-why h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--c-secondary-strong)}.pr-source{margin:0;font-size:.72rem;color:var(--c-fg-3)}.pr-lock{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r-lg);background:var(--c-sunken);border:1px dashed var(--c-border-strong)}.pr-lock h3{margin:0 0 4px;font-size:1.05rem}.pr-lock p{margin:0}.pr-lock-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-brand-soft);color:var(--c-brand)}.pr-lock-actions{display:flex;gap:8px;flex-wrap:wrap}.pr-score{display:grid;gap:16px;padding:22px 24px;border-radius:var(--r-lg);border:1px solid var(--c-border);background:var(--c-surface);box-shadow:var(--shadow-sm)}.pr-score-main{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.pr-score-n{font-family:var(--f-num);font-size:2.6rem;font-weight:700;color:var(--c-brand)}.pr-score h3{margin:0 0 6px}.pr-score-by{list-style:none;margin:0 0 4px;padding:0;display:flex;gap:16px;font-family:var(--f-num);font-size:.9rem}.pr-score-actions{display:flex;gap:8px;flex-wrap:wrap}.pr-score-actions .btn{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.pr-q{padding:16px}.pr-lock{grid-template-columns:1fr}}.pg{display:grid;gap:24px;scroll-margin-top:var(--header-h)}.pg-sticky{position:sticky;top:var(--header-h);z-index:20;display:grid;gap:12px;margin:0 calc(var(--gutter) * -1);padding:12px var(--gutter);background:color-mix(in srgb,var(--c-bg) 96%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--c-border)}.pg-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}.pg-tabs::-webkit-scrollbar{display:none}.pg-tab{display:inline-flex;align-items:center;gap:8px;flex:none;padding:7px 14px 7px 7px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);font:inherit;font-size:.9rem;font-weight:600;color:var(--c-fg-2);cursor:pointer;transition:border-color .15s,background .15s,color .15s}.pg-tab:hover{border-color:var(--c-border-strong);color:var(--c-fg)}.pg-tab-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--c-sunken);color:var(--c-fg-2);font-family:var(--f-num);font-size:.78rem}.pg-tab[aria-selected=true]{background:var(--c-brand);border-color:var(--c-brand);color:var(--c-on-brand)}.pg-tab[aria-selected=true] .pg-tab-n{background:#ffffff2e;color:var(--c-on-brand)}.pg-tab:focus-visible{outline:2px solid var(--c-secondary);outline-offset:2px}.pg-panel{touch-action:pan-y;min-height:40vh}.pg-page{display:grid;gap:32px}.pg-page.is-dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.pg-page.is-fwd{animation:pg-in-fwd .28s ease-out}.pg-page.is-back{animation:pg-in-back .28s ease-out}@keyframes pg-in-fwd{0%{opacity:0;transform:translate(28px)}}@keyframes pg-in-back{0%{opacity:0;transform:translate(-28px)}}@media(prefers-reduced-motion:reduce){.pg-page.is-fwd,.pg-page.is-back{animation:none}}.pg-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding-top:20px;border-top:1px solid var(--c-border)}.pg-nav>:first-child{justify-self:start}.pg-nav>:last-child{justify-self:end}.pg-dots{display:flex;gap:6px}.pg-dots i{width:8px;height:8px;border-radius:50%;background:var(--c-border-strong);transition:width .2s}.pg-dots i.is-on{width:22px;border-radius:var(--r-full);background:var(--c-brand)}@media(max-width:560px){.pg-tab{padding:6px 12px 6px 6px;font-size:.85rem}.pg-nav{grid-template-columns:1fr 1fr}.pg-dots{display:none}.pg-nav .btn{width:100%;justify-content:center}.pg-nav>:first-child,.pg-nav>:last-child{justify-self:stretch}}.live-card{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:center;padding:18px 20px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.live-card.is-live{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}.live-card.is-past{background:var(--c-sunken);box-shadow:none}.live-date{display:grid;justify-items:center;align-content:center;height:64px;border-radius:var(--r-md);background:var(--c-brand-soft);color:var(--c-brand);line-height:1}.live-mon{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.live-day{margin-top:4px;font-family:var(--f-logo);font-size:1.6rem;font-weight:800}.is-past .live-date{background:var(--c-border);color:var(--c-fg-2)}.live-body{min-width:0}.live-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.live-title{margin:0;font-size:1.1rem;font-weight:600;color:var(--c-fg)}.live-when{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 0;font-size:.9rem;color:var(--c-fg-2)}.live-desc{margin:8px 0 0;font-size:.95rem;color:var(--c-fg-2);max-width:60ch}.live-now{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--c-accent)}.live-now i{width:8px;height:8px;border-radius:50%;background:var(--c-accent);animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.live-now i{animation:none}}.live-actions{display:grid;gap:8px;justify-items:end}.live-actions .btn[aria-disabled=true]{color:var(--c-fg-3);cursor:default}.live-cal{display:flex;gap:12px}.live-cal a,.live-cal button{display:inline-flex;align-items:center;gap:4px;padding:0;font:inherit;font-size:.85rem;color:var(--c-secondary-strong);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.live-card.is-compact{grid-template-columns:52px 1fr;padding:14px 16px;gap:14px}.live-card.is-compact .live-date{height:52px}.live-card.is-compact .live-day{font-size:1.3rem}.live-card.is-compact .live-title{font-size:1rem}.live-card.is-compact .live-actions{grid-column:1 / -1;justify-items:start;grid-auto-flow:column;align-items:center;justify-content:start;gap:14px}@media(max-width:760px){.live-card{grid-template-columns:52px 1fr}.live-actions{grid-column:1 / -1;justify-items:start}}.live-page{display:grid;gap:40px}.live-section h2{margin:0 0 6px;font-size:1.35rem}.live-section>p{margin:0 0 16px;color:var(--c-fg-2)}.live-list{display:grid;gap:12px}.live-what{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.live-what li{list-style:none;padding:20px;border:1px solid var(--c-border);border-radius:var(--r-lg)}.live-what h3{margin:10px 0 6px;font-size:1.05rem}.live-what p{margin:0;color:var(--c-fg-2);font-size:.95rem}.live-what .icon{color:var(--c-brand)}.live-what{padding:0;margin:0}@media(max-width:760px){.live-what{grid-template-columns:1fr}}.live-empty{padding:24px;border:1px dashed var(--c-border-strong);border-radius:var(--r-lg);color:var(--c-fg-2)}.live-empty strong{display:block;color:var(--c-fg);margin-bottom:4px}.legal section{padding:28px 0}.legal section+section{border-top:1px solid var(--c-border)}.legal h2{font-size:1.3rem;margin-bottom:.6em}.legal p,.legal li{color:var(--c-fg-2)}.legal p:last-child{margin-bottom:0}.legal ul{margin:0 0 1em;padding-left:1.2em}.legal ul:last-child{margin-bottom:0}.legal li+li{margin-top:6px}.legal strong{color:var(--c-fg);font-weight:600}
