:root{--bg:#eef2ef;--surface:#ffffff;--surface-2:#f6f8f6;--ink:#15201a;--muted:#56655c;--line:#d6ded8;--line-soft:#e6ece7;--route:#0d6b45;--route-ink:#ffffff;--route-soft:#dcefe5;--route-deep:#0a5638;--warn:#f2b705;--warn-ink:#1d1600;--warn-soft:#fbf1cd;--good:#1d7a3e;--good-soft:#dcf1e2;--bad:#b3261e;--bad-soft:#f9e0dd;--motorway:#2050a3;--motorway-ink:#ffffff;--motorway-soft:#e3eaf7;--hero:var(--route);--hero-ink:#ffffff;--cta:#ffffff;--cta-ink:var(--route);--examhead:var(--motorway);--shadow:0 1px 2px rgb(16 48 32/.06),0 8px 24px -12px rgb(16 48 32/.18);--font:var(--f-sans),"PingFang SC","Hiragino Sans GB","Noto Sans SC","Microsoft YaHei",system-ui,sans-serif;--mono:var(--f-mono),ui-monospace,Menlo,monospace;--r-lg:18px;--r:12px;--ease:cubic-bezier(.16,1,.3,1);--scale:1;--focus:var(--route)}@media (prefers-color-scheme:dark){:root{--bg:#0f1411;--surface:#171e1a;--surface-2:#1c2520;--ink:#e6ede8;--muted:#98a99f;--line:#2a3530;--line-soft:#222c27;--route:#34a875;--route-ink:#04120b;--route-soft:#17302a;--route-deep:#2a8f62;--warn-soft:#362d0f;--good:#4cc37a;--good-soft:#15301f;--bad:#f08a80;--bad-soft:#3a1d1a;--motorway:#4a76c9;--motorway-soft:#1a2538;--hero:#15392a;--hero-ink:#e6ede8;--cta:var(--route);--cta-ink:var(--route-ink);--examhead:#1d3560;--shadow:0 1px 2px rgb(0 0 0/.3),0 10px 28px -14px rgb(0 0 0/.6);color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;min-height:100%}html{scroll-behavior:smooth;text-size-adjust:100%}a,body,button,html,input,select,textarea{touch-action:manipulation}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:calc(15px * var(--scale));line-height:1.6;padding:0 16px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.examhead :focus-visible,.today :focus-visible{outline-color:var(--hero-ink)}h1,h2,h3,h4{margin:0;line-height:1.25;text-wrap:balance}p{text-wrap:pretty}a{color:var(--route)}svg{flex:none}.mono{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.app{max-width:620px;margin:0 auto;padding-block:12px 40px}.app,main{display:flex;flex-direction:column;gap:16px}.press{transition:transform .18s var(--ease),background-color .18s,border-color .18s,box-shadow .18s}.press:not(:disabled):active{transform:scale(.98)}.top{justify-content:space-between;min-height:48px}.brand,.top{display:flex;align-items:center;gap:10px}.brand{text-decoration:none;color:inherit;flex:0 1 auto}.brand,.brand>span{min-width:0}.brand img{width:34px;height:34px;border-radius:8px;flex:none}.brand b{font-size:16px;line-height:1.2}.brand b,.brand small{display:block;white-space:nowrap}.brand small{color:var(--muted);font-size:11.5px;line-height:1.3}.brand a{color:inherit;text-decoration:none;display:block}.brand .scope{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:11.5px;line-height:1.3;white-space:nowrap;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis}.brand .scope:hover{color:var(--ink)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.setting-row>span{min-width:0}.picker-h{margin:6px 0 0;font-size:13px;color:var(--muted)}.picker{display:flex;flex-direction:column;gap:8px}.picker .opt{grid-template-columns:1fr}.picker .opt[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--route);background:var(--route-soft)}.picker .opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.tag{font-style:normal;font-size:11px;font-weight:700;color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:1px}.controls{display:flex;gap:6px;align-items:center;flex:none}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.seg button{border:0;background:none;padding:4px 10px;font-size:13px;color:var(--muted);border-radius:999px;transition:background-color .18s,color .18s}.seg button[aria-pressed=true]{background:var(--route);color:var(--route-ink);font-weight:700}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-weight:700;font-size:13px}.icon-btn:hover{background:var(--surface-2)}.help-btn{display:inline-grid;place-items:center;vertical-align:-3px;margin-left:4px;padding:0;width:22px;height:22px;border:0;border-radius:999px;background:none;color:var(--warn);cursor:pointer}.help-btn[aria-expanded=true]{background:var(--warn-soft)}.mastery-note{display:block;margin-top:4px;font-weight:400}.mastery-note,.notice{font-size:12.5px;line-height:1.5;color:var(--muted)}.notice{display:flex;gap:8px;align-items:flex-start;padding:0 2px}.notice:before{content:"";flex:none;width:8px;height:8px;margin-top:5px;background:var(--warn);transform:rotate(45deg);border-radius:1px}.foot{color:var(--muted);font-size:12px;text-align:center;margin:8px 0 0}.today{position:relative;overflow:hidden;background:var(--hero);color:var(--hero-ink);border-radius:var(--r-lg);padding:20px;display:grid;grid-template-columns:1fr auto;grid-gap:14px 16px;gap:14px 16px;align-items:center;box-shadow:var(--shadow)}.today:after{content:"";position:absolute;inset:auto -60px -90px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgb(255 255 255/.12),transparent 70%);pointer-events:none}.today .label{font-size:13px;opacity:.85}.today h2{font-size:22px;letter-spacing:-.01em;margin-top:2px}.today svg.ring{width:68px;height:68px}.week{grid-column:1/-1;display:flex;align-items:center;gap:12px}.week ol{display:flex;gap:6px;margin:0;padding:0;list-style:none;min-height:34px}.week li{width:26px;display:grid;justify-items:center;grid-gap:3px;gap:3px;font-size:11px;opacity:.8}.week li i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgb(255 255 255/.55)}.week li.on i{background:var(--warn);box-shadow:none}.week li.today-mark{opacity:1;font-weight:700}.week span{font-size:13px;opacity:.9;margin-left:auto;white-space:nowrap}.today .cta{position:relative;z-index:1;grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:8px;background:var(--cta);color:var(--cta-ink);border-radius:999px;padding:12px 16px;font-weight:800;text-decoration:none}.today .cta:hover{box-shadow:0 6px 18px -8px rgb(0 0 0/.45)}.today .go{position:relative;z-index:1;grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;color:var(--hero-ink);text-decoration:none;font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1.5px rgb(255 255 255/.5)}.today .go>span:first-of-type{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today .go:hover{background:rgb(255 255 255/.1)}.today .go .at{font-size:12.5px;font-weight:600;opacity:.85;white-space:nowrap}.today .ach{position:relative;z-index:1;grid-column:1/-1;display:flex;align-items:center;gap:8px;padding-top:12px;margin-top:2px;box-shadow:0 -1px 0 rgb(255 255 255/.18);color:var(--hero-ink);text-decoration:none;font-size:13px;opacity:.92}.today .ach>span:first-of-type{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today .ach .mono{font-size:12.5px;font-weight:700}.today .ach:hover{opacity:1}.exam-tile{display:grid;grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px;align-items:center;padding:16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:inherit}.exam-tile .ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r);background:var(--motorway-soft);color:var(--motorway)}.exam-tile b{display:block;font-size:16px}.exam-tile small{font-size:12.5px;line-height:1.45;display:block}.exam-tile small,.exam-tile>svg:last-child{color:var(--muted)}.exam-tile:hover{box-shadow:0 1px 2px rgb(16 48 32/.06),0 14px 30px -14px rgb(16 48 32/.28)}.quick{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.quick a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:12px 2px 10px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:inherit;min-width:0;text-align:center}.quick a:hover{background:var(--surface-2)}.quick a>svg{color:var(--route)}.quick b{font-size:12px;font-weight:600;line-height:1.25;letter-spacing:-.01em;overflow-wrap:break-word}.quick .num{position:absolute;top:6px;right:6px;min-width:18px;padding:1px 5px;border-radius:999px;background:var(--route-soft);color:var(--route);font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.4;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.quick .num.warn{background:var(--bad-soft);color:var(--bad)}.section-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px}.section-h h3{font-size:16px}.section-h small{color:var(--muted);font-size:12.5px}.chapters{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.chapter{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--r);background:var(--surface);text-decoration:none;color:inherit;box-shadow:inset 0 0 0 1px var(--line-soft);min-width:0}.chapter:hover{box-shadow:inset 0 0 0 1px var(--route)}.chapter .t{display:flex;justify-content:space-between;gap:6px;align-items:baseline}.chapter b{font-size:14px;line-height:1.3}.chapter .n{font-family:var(--mono);font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chapter small{color:var(--muted);font-size:11.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chapter.done{box-shadow:inset 0 0 0 1.5px var(--route)}.bar{height:4px;border-radius:2px;background:var(--line-soft);overflow:hidden}.bar.layered{position:relative}.bar.layered i{position:absolute;left:0;top:0}.bar.layered i.seen{background:color-mix(in srgb,var(--route) 32%,transparent)}.bar i{display:block;height:100%;border-radius:2px;background:var(--route);transition:width .6s var(--ease)}.text-link{align-self:center;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13.5px;text-decoration:none;padding:6px 10px;border-radius:999px}.text-link:hover{color:var(--ink);background:var(--surface)}.qhead{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.back,.qhead{align-items:center}.back{display:inline-flex;gap:4px;border:0;background:none;color:var(--route);font-weight:700;padding:4px 6px 4px 0;text-decoration:none}.chip{font-size:12.5px;border-radius:999px;padding:3px 10px;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line)}.explain{scroll-margin-top:104px}.studybar{position:-webkit-sticky;position:sticky;top:0;z-index:4;display:grid;grid-gap:6px;gap:6px;margin:0 -16px;padding:8px 16px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.studymeta{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.studybar .bar{height:6px;background:var(--line)}.studybar .bar,.studybar .bar i{border-radius:3px}.card{background:var(--surface);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}.stem{font-size:calc(19px * var(--scale));font-weight:700;line-height:1.4;letter-spacing:-.005em}.stem-sub{color:var(--muted);font-size:calc(15px * var(--scale));font-weight:400;margin-top:-8px}.tools{display:flex;gap:6px;flex-wrap:wrap}.tool{display:inline-flex;align-items:center;gap:6px;border:0;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink)}.tool:not(:disabled):hover{background:var(--bg)}.tool[aria-pressed=true]{background:var(--warn-soft);box-shadow:inset 0 0 0 1.5px var(--warn);font-weight:700}.tool.end{margin-left:auto}.opts{display:flex;flex-direction:column;gap:10px}.opt{display:grid;grid-template-columns:28px 1fr auto;grid-gap:12px;gap:12px;align-items:start;text-align:left;background:var(--surface-2);border:0;box-shadow:inset 0 0 0 1.5px var(--line);border-radius:var(--r);padding:12px 14px;color:var(--ink);line-height:1.5}.opts:not([data-hover=off]) .opt:not(:disabled):hover{box-shadow:inset 0 0 0 1.5px var(--route);background:var(--surface)}.opt:disabled{opacity:1}.opt .k{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--muted);display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:700;margin-top:-1px}.opt small{display:block;color:var(--muted);font-size:.9em;margin-top:2px}.opt .mark{align-self:center}.opt[aria-checked=true],.opt[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--route);background:var(--route-soft)}.opt[aria-checked=true] .k,.opt[aria-pressed=true] .k{background:var(--route);box-shadow:none;color:var(--route-ink)}.opt.right{box-shadow:inset 0 0 0 2px var(--good);background:var(--good-soft)}.opt.right .k{background:var(--good);box-shadow:none;color:var(--surface)}.opt.right .mark{color:var(--good)}.opt.wrong{box-shadow:inset 0 0 0 2px var(--bad);background:var(--bad-soft)}.opt.wrong .k{background:var(--bad);box-shadow:none;color:var(--surface)}.opt.wrong .mark{color:var(--bad)}.opt.dim{opacity:.6}.verdict{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;padding:12px 14px;border-radius:var(--r)}.verdict.ok{background:var(--good-soft);color:var(--good)}.verdict.no{background:var(--bad-soft);color:var(--bad)}.ok{color:var(--good)}.no{color:var(--bad)}.explain{display:flex;flex-direction:column;gap:14px}.panel h4{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;color:var(--route)}.panel p{margin:0}.panel p+p{color:var(--muted);font-size:.92em;margin-top:6px}.panel.diff{background:var(--warn-soft);border-radius:var(--r);padding:12px 14px}.panel.diff h4{color:var(--ink)}.panel.diff h4:before{content:"";width:9px;height:9px;background:var(--warn);transform:rotate(45deg);border-radius:1px;margin-right:2px}.difficulty{margin:12px 0 0}.difficulty,.meta{font-size:12.5px;color:var(--muted)}.meta{align-items:center;gap:6px 10px;padding-top:12px;border-top:1px solid var(--line-soft)}.meta,.terms{display:flex;flex-wrap:wrap}.terms{gap:6px}.term{border:0;box-shadow:inset 0 0 0 1px var(--route);color:var(--route);background:var(--route-soft);border-radius:999px;padding:3px 10px;font-size:13px}.term:hover{background:var(--surface)}.linkish{border:0;background:none;padding:4px 0;color:var(--muted);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;gap:4px;align-items:center}.linkish:not(:disabled):hover{color:var(--ink)}.linkish:disabled{text-decoration:none;opacity:1}.primary{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--route);color:var(--route-ink);border:0;border-radius:999px;padding:13px 18px;font-weight:800;font-size:15px;text-align:center;text-decoration:none}.primary:not(:disabled):hover{background:var(--route-deep)}.ghost{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--surface);border:0;box-shadow:inset 0 0 0 1px var(--line);border-radius:999px;padding:12px 16px;font-weight:700;text-align:center;text-decoration:none;color:inherit}.ghost:not(:disabled):hover{background:var(--surface-2)}.row{display:flex;gap:8px}.row>*{flex:1 1}.dock{position:-webkit-sticky;position:sticky;bottom:0;z-index:3;margin:0 -20px -20px;padding:12px 20px calc(16px + env(safe-area-inset-bottom, 0px));background:linear-gradient(to top,var(--surface) 70%,transparent);border-radius:0 0 var(--r-lg) var(--r-lg);display:flex;gap:8px}.dock>*{flex:1 1}.dock>.prev{flex:0 0 auto;padding-inline:16px}.dock.waiting{position:static;margin-bottom:0;padding-bottom:0;background:none}.opts.missed .opt.right{box-shadow:inset 0 0 0 3px var(--good)}.opts.missed .opt.right>span:nth-child(2){font-weight:700}.report{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border-radius:var(--r);padding:14px}.report label{font-size:13px;font-weight:700}.report select,.report textarea,.search{width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:var(--r);padding:10px 12px}.search-wrap .search{padding-left:38px}.search-wrap{position:relative}.search-wrap svg{position:absolute;left:12px;top:50%;translate:0 -50%;color:var(--muted);pointer-events:none}.examhead{position:-webkit-sticky;position:sticky;top:8px;z-index:4;background:var(--examhead);color:var(--motorway-ink);border-radius:var(--r-lg);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;box-shadow:0 10px 24px -14px rgb(20 50 110/.6)}.examhead b{font-size:15px;display:block}.examhead small{opacity:.85;font-size:12px;display:block}.timer{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timer.low{color:var(--warn)}.grid40{display:grid;grid-template-columns:repeat(10,1fr);grid-gap:5px;gap:5px}.cell{aspect-ratio:1;max-width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface-2);border-radius:8px;font-family:var(--mono);font-size:11px;padding:0;position:relative;color:var(--ink)}.cell.done{background:var(--route-soft);box-shadow:inset 0 0 0 1px var(--route)}.cell.cur{box-shadow:inset 0 0 0 2px var(--motorway);font-weight:700}.cell.flag:after{content:"";position:absolute;top:3px;right:3px;width:6px;height:6px;background:var(--warn);transform:rotate(45deg)}.confirm{box-shadow:inset 0 0 0 2px var(--warn),var(--shadow)}.score-wrap{display:flex;align-items:flex-end;gap:14px}.score{font-family:var(--mono);font-size:56px;font-weight:700;line-height:.9;letter-spacing:-.03em}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-weight:800;font-size:14px;margin-bottom:6px}.badge.ok{background:var(--good-soft)}.badge.no{background:var(--bad-soft)}.empty{color:var(--muted);text-align:center;padding:28px 12px;display:grid;justify-items:center;grid-gap:10px;gap:10px}.empty svg{color:var(--line)}.list{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}.list>*+*{border-top:1px solid var(--line-soft)}.row-link{display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;padding:12px 16px;text-decoration:none;color:inherit;text-align:left;width:100%;background:none;border:0}button.row-link:hover{background:var(--surface-2)}.row-link small{color:var(--muted);font-size:12.5px}.scrim{inset:0;z-index:5;background:rgb(8 20 14/.35)}.scrim,.sheet{position:fixed}.sheet{left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-radius:22px 22px 0 0;box-shadow:0 -12px 40px rgb(8 20 14/.22);padding:10px 20px calc(24px + env(safe-area-inset-bottom, 0px))}.sheet:before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.sheet>div{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.sheet h3{font-size:20px}.sheet .zh{color:var(--route);font-weight:700}.sheet .note{background:var(--warn-soft);border-radius:var(--r);padding:10px 12px;font-size:13.5px}@media (prefers-reduced-motion:no-preference){.rise{animation:rise .45s var(--ease) both}.rise-2{animation-delay:.06s}.rise-3{animation-delay:.12s}.rise-4{animation-delay:.18s}.opt.wrong{animation:nudge .35s var(--ease)}.opt.right .mark,.verdict svg{animation:pop .4s var(--ease) both}.sheet{animation:up .3s var(--ease)}.scrim{animation:fade .2s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes nudge{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes pop{0%{transform:scale(.4);opacity:0}}@keyframes up{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar i{transition:none}}.discuss{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--line-soft)}.discuss h4{display:flex;align-items:center;gap:6px;font-size:15px}.discuss .hint{margin:0;font-size:13px}.comments{list-style:none;margin:0;padding:0}.comments,.comments li{display:flex;flex-direction:column;gap:8px}.comments li{background:var(--surface-2);border-radius:var(--r);padding:10px 12px}.comment{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.pending{font-style:normal;font-size:11.5px;color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;padding:1px 8px}.acts{display:flex;align-items:center;gap:4px;margin-top:2px}.acts .grow{flex:1 1}.act{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--muted);font-size:12.5px;padding:4px 8px;border-radius:999px}.act:not(:disabled):hover{background:var(--surface);color:var(--ink)}.act.on{color:var(--route);font-weight:700}.replies{display:flex;flex-direction:column;gap:8px;margin-left:8px;padding-left:12px;border-left:2px solid var(--line)}.reply{display:flex;gap:6px;align-items:flex-start}.reply>svg{margin-top:4px}.form-note{margin:0;color:var(--route);font-size:13px}.comments .by{display:flex;gap:8px;align-items:baseline;font-size:13px}.comments .by span{color:var(--muted);font-size:12px}.comments p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.comments .linkish{padding:0}.compose{display:flex;flex-direction:column;gap:6px}.compose label{font-size:13px;font-weight:700}.compose input,.compose textarea{width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:var(--r);padding:10px 12px}.compose .row{align-items:center;margin-top:4px}.compose .row small{flex:1 1}.compose .row .primary{flex:0 0 auto;padding-inline:22px}.form-error{margin:0;color:var(--bad);font-size:13px}.qimg{display:block;max-width:100%;height:auto;max-height:280px;width:auto;margin:0 auto;border-radius:var(--r);object-fit:contain}.figure{margin:0;display:flex;flex-direction:column;gap:8px}.figure>div{border-radius:var(--r);overflow:hidden;line-height:0}.figure svg{width:100%;height:auto;display:block}.figure figcaption{font-size:13.5px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.figure figcaption span{font-size:12.5px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));translate:-50% 0;z-index:7;display:flex;align-items:center;gap:10px;max-width:min(92vw,420px);padding:12px 16px;border-radius:16px;background:var(--ink);color:var(--bg);box-shadow:0 12px 30px -10px rgb(0 0 0/.5);text-decoration:none}.toast svg{color:var(--warn)}.toast b{display:block;font-size:14px}.toast small{display:block;font-size:12.5px;opacity:.8}.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.badge-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.badge-card .medal{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--warn-soft);color:var(--warn-ink)}.badge-card.locked .medal{background:var(--surface-2);color:var(--muted)}.badge-card small,.badge-card.locked b{color:var(--muted)}.badge-card small{font-size:12.5px;line-height:1.4}.goal-pick{display:flex;gap:6px;flex-wrap:wrap}@media (prefers-reduced-motion:no-preference){.toast{animation:rise .35s var(--ease)}}.exambar{position:-webkit-sticky;position:sticky;bottom:0;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;grid-gap:8px;gap:8px;margin:0 -16px;padding:10px 16px calc(12px + env(safe-area-inset-bottom, 0px));background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-soft)}.keys{font-size:12px;color:var(--muted)}@media (hover:none){.keys{display:none}}.catpick{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.catpick .opt .k{font-size:11px;width:30px;border-radius:8px}.catpick .opt{grid-template-columns:34px 1fr;align-items:center;padding:10px 14px}.catpick .opt small{font-size:12.5px;line-height:1.35}.skeleton{display:grid;grid-gap:12px;gap:12px;width:100%;padding:8px 0}.skeleton i{display:block;height:14px;border-radius:7px;background:var(--line-soft)}.skeleton i:first-child{width:55%;height:20px}.skeleton i:nth-child(3){width:80%}@media (prefers-reduced-motion:no-preference){.skeleton i{animation:skel 1.2s ease-in-out infinite alternate}}@keyframes skel{to{opacity:.45}}.loadingcard{display:grid;place-items:center;min-height:120px;color:var(--muted)}.confirm-box{padding:12px 14px;border-radius:var(--r);background:var(--warn-soft)}.catbars,.confirm-box{display:flex;flex-direction:column;gap:10px}.catbar{display:grid;grid-template-columns:1fr auto;grid-gap:4px 10px;gap:4px 10px;font-size:14px}.catbar .bar{grid-column:1/-1;height:6px}.history{display:flex;flex-direction:column}.hist{display:grid;grid-template-columns:4em 2.6em 1fr auto;grid-gap:10px;gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--line-soft);font-size:14px}.hist:first-child{border-top:0}.login,.welcome{gap:18px}.login h2,.welcome h2{font-size:22px}.login p,.welcome p{margin:4px 0 0}.providers{flex-direction:column}.provider,.providers{display:flex;gap:10px}.provider{align-items:center;justify-content:center;flex-wrap:wrap;padding:13px 16px;border:0;border-radius:999px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:15px;color:var(--ink)}.provider:not(:disabled):hover{background:var(--surface-2)}.provider small{flex-basis:100%;text-align:center;font-weight:400;font-size:12px;color:var(--muted);margin-top:-6px}.provider.apple{background:var(--ink);color:var(--bg);box-shadow:none}.otp,.welcome form,.welcome-body{display:flex;flex-direction:column;gap:10px}.otp label,.welcome label{font-size:13px;font-weight:700}.otp input,.otp select,.welcome input{width:100%;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:var(--r);padding:12px;font-size:16px}#otp-code{font-family:var(--mono);letter-spacing:.4em;text-align:center;font-size:22px}.seg button{display:inline-flex;align-items:center;gap:4px}.fine{font-size:12px;margin:0;text-align:center}.steps{display:flex;gap:6px}.steps i{flex:1 1;height:4px;border-radius:2px;background:var(--line)}.steps i.on{background:var(--route)}.welcome h4{font-size:13px;color:var(--muted);margin-top:4px}.track-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.track-grid .opt{grid-template-columns:28px 1fr}.track-grid .opt small{font-size:11.5px;line-height:1.35}.avatar{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--route);color:var(--route-ink);font-weight:800;font-size:14px;text-decoration:none}.avatar.big{width:48px;height:48px;font-size:20px}.login-pill{padding:7px 14px;border-radius:999px;background:var(--route);color:var(--route-ink);font-weight:800;font-size:13.5px;text-decoration:none;white-space:nowrap}.account h3{display:flex;align-items:center;gap:8px}.perks{margin:0;padding-left:20px;display:grid;grid-gap:4px;gap:4px;color:var(--muted)}.who{display:flex;align-items:center;gap:12px}.who b{display:block;font-size:17px}.who small{color:var(--muted)}.sync{display:flex;align-items:center;gap:6px;margin:0;color:var(--route);font-size:13px}.row.wrap{flex-wrap:wrap}.row.wrap>*{flex:1 1 auto}.primary.danger{background:var(--bad)}.countdown{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:14px 16px;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow);color:inherit;text-decoration:none}.countdown b{display:block;font-size:15px}.countdown small{display:block;color:var(--muted);font-size:12.5px;line-height:1.45}.countdown.on{background:var(--route-soft);grid-template-columns:auto 1fr}.countdown.on>svg{color:var(--route)}.countdown.locked>svg:first-child{color:var(--muted)}.check{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700}.check-row{grid-template-columns:auto 1fr;cursor:pointer}.check input,.check-row input{width:18px;height:18px;accent-color:var(--route)}.row select{border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface);border-radius:999px;padding:10px 12px;font-size:14px;color:var(--ink)}.nudge{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom, 0px));translate:-50% 0;z-index:8;width:min(calc(100vw - 32px),440px);display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 40px -12px rgb(0 0 0/.35)}.nudge-h{display:flex;align-items:center;gap:8px;color:var(--route)}.nudge-h b{color:var(--ink);font-size:16px}.install-hint .nudge-h b{flex:1 1}.nudge p{margin:0;line-height:1.6}@media (prefers-reduced-motion:no-preference){.nudge{animation:rise .35s var(--ease)}}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/242be082cb290ecd-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/318ccc6bc1fd81ed-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a82e6554cdca7790-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1c046691900d7874-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Overpass;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cf9548a654a0290e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/242be082cb290ecd-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/318ccc6bc1fd81ed-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/a82e6554cdca7790-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1c046691900d7874-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Overpass;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cf9548a654a0290e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/242be082cb290ecd-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/318ccc6bc1fd81ed-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/a82e6554cdca7790-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1c046691900d7874-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Overpass;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/cf9548a654a0290e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Overpass Fallback;src:local("Arial");ascent-override:87.67%;descent-override:38.03%;line-gap-override:0.00%;size-adjust:100.72%}.__className_1bcef1{font-family:Overpass,Overpass Fallback;font-style:normal}.__variable_1bcef1{--f-sans:"Overpass","Overpass Fallback"}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f279491e2b1a1188-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f7e99843182848b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6f64ab0ad1855009-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5802bc205a9f6660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bccd6a6241c00262-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f279491e2b1a1188-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f7e99843182848b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6f64ab0ad1855009-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/5802bc205a9f6660-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Overpass Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bccd6a6241c00262-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Overpass Mono Fallback;src:local("Arial");ascent-override:63.90%;descent-override:27.72%;line-gap-override:0.00%;size-adjust:138.18%}.__className_ac1a65{font-family:Overpass Mono,Overpass Mono Fallback;font-style:normal}.__variable_ac1a65{--f-mono:"Overpass Mono","Overpass Mono Fallback"}