@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#f5f5f7;--panel:#fff;--panel-2:#f5f5f7;--line:#e3e3e8;--line-strong:#c7c7cc;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#8e8e93;--action:#1d1d1f;--action-press:#000;--on-action:#fff;--link:#06c;--sign:#0a4f9e;--sign-tint:#e8f0fb;--on-sign:#fff;--yellow:#f5b400;--go:#1a7f37;--go-tint:#eaf6ee;--stop:#d70015;--stop-tint:#fdecee;--track:#e5e5ea;--r-lg:12px;--r-md:8px;--r-sm:6px;--shadow:0 0 0 1px var(--line);--font:"Geist Variable", Geist, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--nav-h:60px;--col:680px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--ground:#000;--panel:#1c1c1e;--panel-2:#2c2c2e;--line:#2c2c2e;--line-strong:#48484a;--ink:#f5f5f7;--ink-2:#a1a1a6;--ink-3:#8e8e93;--action:#f5f5f7;--action-press:#fff;--on-action:#000;--link:#4ea1ff;--sign:#2f7de0;--sign-tint:#10233a;--go:#32d05f;--go-tint:#0f2917;--stop:#ff453a;--stop-tint:#3a1210;--track:#2c2c2e;--shadow:0 0 0 1px var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--font);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;font-size:17px;line-height:1.5}h1,h2,h3,p{margin:0}h1{letter-spacing:-.03em;font-size:34px;font-weight:650;line-height:1.08}h2{letter-spacing:-.02em;font-size:22px;font-weight:620;line-height:1.2}@media (width>=900px){h1{font-size:44px}h2{font-size:24px}}button,input{font:inherit;color:inherit}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--link);outline-offset:3px;border-radius:6px}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.small{font-size:15px}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.spread{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.page{width:100%;max-width:var(--col);padding:28px 20px calc(var(--nav-h) + 48px + env(safe-area-inset-bottom));flex-direction:column;gap:36px;margin:0 auto;display:flex}.page-head{align-items:flex-start;gap:14px;display:flex}.page-head .grow{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.page-head .lead{color:var(--ink-2);max-width:52ch;font-size:17px;line-height:1.45}section>h2{margin-bottom:14px}.plate{background:var(--sign);min-width:42px;height:24px;color:var(--on-sign);box-shadow:inset 0 0 0 1.5px var(--sign), inset 0 0 0 2.75px #fff;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0 7px;font-size:12.5px;font-weight:650;display:inline-flex}.plate.big{width:100%;height:48px;box-shadow:inset 0 0 0 2px var(--sign), inset 0 0 0 4px #fff;border-radius:8px;font-size:22px}.lane{gap:3px;height:4px;display:flex}.lane span{background:var(--track);border-radius:2px;flex:1;transition:background-color .3s}.lane span.done{background:var(--ink)}.lane span.miss{background:var(--stop)}.lane span.now{background:var(--ink-3)}.bar{background:var(--track);border-radius:2px;height:4px;overflow:hidden}.bar>span{background:var(--ink);border-radius:inherit;height:100%;display:block}.bar.go>span{background:var(--go)}.nav{z-index:20;background:color-mix(in srgb, var(--panel) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--line-strong);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.nav-inner{max-width:var(--col);margin:0 auto;display:flex}.nav a{height:var(--nav-h);letter-spacing:.01em;color:var(--ink-3);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:550;text-decoration:none;display:flex;position:relative}.nav a svg{width:23px;height:23px}.nav a[aria-current=page]{color:var(--ink)}.nav a.brand,.nav .nav-more,.nav .nav-label,.nav .nav-fill{display:none}@media (width>=900px) and (width<=1099px){.nav{border-top:0;border-bottom:.5px solid var(--line-strong);padding-bottom:0;top:0;bottom:auto}.nav-inner{align-items:stretch;gap:4px;max-width:1100px;padding:0 32px}.nav a{color:var(--ink-2);flex-direction:row;flex:none;gap:8px;padding:0 14px;font-size:14px;font-weight:500}.nav a:hover{color:var(--ink)}.nav a svg{display:none}.nav a[aria-current=page]{color:var(--ink);font-weight:600}.nav a.brand{color:var(--ink);letter-spacing:-.02em;gap:10px;margin-right:auto;padding:0;font-size:17px;font-weight:650;display:flex}.nav a.brand svg{display:block}.page{padding-top:calc(var(--nav-h) + 48px);padding-bottom:80px}}@media (width>=1100px){:root{--side:248px}.nav{width:var(--side);border-top:0;border-right:1px solid var(--line);background:var(--panel-2);-webkit-backdrop-filter:none;padding-bottom:0;top:0;bottom:0;right:auto}.nav-inner{flex-direction:column;align-items:stretch;gap:2px;max-width:none;height:100%;padding:18px 12px 16px;overflow-y:auto}.nav a,.nav a.nav-more{letter-spacing:-.005em;height:38px;color:var(--ink-2);border-radius:8px;flex-direction:row;flex:none;justify-content:flex-start;gap:12px;padding:0 12px;font-size:14.5px;font-weight:500;display:flex}.nav a svg{width:18px;height:18px}.nav a:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.nav a[aria-current=page]{color:var(--ink);background:var(--panel);box-shadow:0 0 0 1px var(--line);font-weight:600}.nav a.brand{height:44px;color:var(--ink);letter-spacing:-.02em;margin-bottom:14px;font-size:16.5px;font-weight:650;display:flex}.nav a.brand:hover{background:0 0}.nav a.brand svg{width:26px;height:26px}.nav .nav-label{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:22px 12px 6px;font-size:12px;font-weight:600;display:block}.nav .nav-fill{flex:1;display:block}.app.with-nav{padding-left:var(--side)}.page{--col:1120px;padding:44px 48px 80px}}.brand-mark{flex:none;width:26px;height:26px}.btn{border-radius:var(--r-md);letter-spacing:-.01em;text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 24px;font-size:17px;font-weight:560;line-height:1.2;text-decoration:none;transition:background-color .2s,border-color .2s,transform .15s;display:inline-flex}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--action);color:var(--on-action)}.btn-primary:hover:not(:disabled){background:var(--action-press)}.btn-secondary{background:var(--panel);border-color:var(--line-strong);color:var(--ink)}.btn-secondary:hover:not(:disabled){border-color:var(--ink-3)}.btn-danger{background:var(--stop);color:#fff}.btn-block{width:100%}.link-btn{min-height:44px;color:var(--link);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:16px;font-weight:500;text-decoration:none;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.link-btn.danger{color:var(--stop)}.icon-btn{background:var(--panel);width:44px;height:44px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);border:0;border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.icon-btn:hover{background:var(--panel-2)}.icon-btn svg{width:21px;height:21px}.panel{background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow)}.panel.pad{padding:24px}.rows{flex-direction:column;display:flex;overflow:hidden}.rows>*+*{border-top:.5px solid var(--line)}.row-link{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;width:auto;min-height:64px;padding:14px 20px;text-decoration:none;transition:background-color .15s;display:flex}.row-link:hover{background:var(--panel-2)}.row-link .body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-link .title{letter-spacing:-.015em;font-size:17px;font-weight:560;line-height:1.3}.row-link .hint{color:var(--ink-2);font-size:15px;line-height:1.4}.row-link .chev{color:var(--ink-3);flex:none;width:18px;height:18px}.row-link .glyph{background:var(--panel-2);width:36px;height:36px;color:var(--ink);border-radius:8px;flex:none;place-items:center;display:grid}.row-link .glyph svg{width:20px;height:20px}.row-link[aria-disabled=true]{cursor:default}.row-link[aria-disabled=true]:hover{background:0 0}.row-link[aria-disabled=true] .title,.row-link[aria-disabled=true] .glyph{color:var(--ink-3)}.count-badge{background:var(--stop);color:#fff;font-variant-numeric:tabular-nums;border-radius:8px;flex:none;place-items:center;min-width:26px;height:26px;padding:0 8px;font-size:13.5px;font-weight:600;display:grid}.page.home{max-width:var(--col)}.home-head{align-items:center;gap:12px;display:flex}.home-head .grow{flex:1;min-width:0}.home-head .cat{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;font-size:16px;display:flex}@media (width>=900px){.home-head h1{display:none}.home-head .cat{margin-top:0;font-size:17px}}.home-grid,.home-main,.home-side{flex-direction:column;gap:28px;min-width:0;display:flex}@media (width>=980px){.page.home{max-width:1100px;padding-left:40px;padding-right:40px}.home-grid{grid-template-columns:minmax(380px,440px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.home-grid>.home-side{top:calc(var(--nav-h) + 28px);position:sticky}}.today{flex-direction:column;gap:18px;display:flex}.today .count{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:48px;font-weight:620;line-height:1}.today .count small{color:var(--ink-2);letter-spacing:-.01em;font-size:19px;font-weight:450}.today .plan{color:var(--ink-2);font-size:16px}.streak{color:var(--ink-2);align-items:center;gap:8px;font-size:15px;display:flex}.streak svg{flex:none;width:18px;height:18px}.streak b{color:var(--ink);font-weight:560}.learned{flex-direction:column;gap:12px;display:flex}.learned>h2{margin:0}.road-teaser{border-radius:var(--r-lg)}.road-teaser .link-btn{flex:none}.cluster{color:#f5f5f7;background:#0b0b0c;border-radius:14px;flex-direction:column;gap:22px;padding:26px 24px 24px;display:flex}:root[data-theme=dark] .cluster{background:#1c1c1e}.cluster h2{letter-spacing:-.01em;color:#a1a1a6;font-size:17px;font-weight:560}.cluster .c-muted{color:#a1a1a6;font-size:15px;line-height:1.45}.gauge{width:100%;max-width:340px;margin:0 auto}.gauge svg{width:100%;height:auto;display:block}.g-track,.g-safe,.g-value{fill:none;stroke-linecap:round}.g-track{stroke:#1f1f22;stroke-width:14px}.g-safe{stroke:#30d158;stroke-width:3px}.g-value{stroke:#f5f5f7;stroke-width:1.5px;opacity:.55;transition:stroke-dasharray 1.8s cubic-bezier(.2,.8,.2,1)}.g-tick{stroke:#4a4a4e;stroke-width:1.25px}.g-tick.major{stroke:#f5f5f7;stroke-width:2px}.g-num{fill:#a1a1a6;font:500 13px var(--font);letter-spacing:0;text-anchor:middle}.g-needle{transform-origin:150px 146px;transform-box:view-box;transition:transform 1.8s cubic-bezier(.2,.8,.2,1.06)}.g-needle path{fill:#ff3b30}.g-hub{fill:#0b0b0c;stroke:#3a3a3c;stroke-width:2px}.g-hub-dot{fill:#ff3b30}.g-readout{text-align:center;flex-direction:column;align-items:center;gap:4px;margin-top:-2px;display:flex}.g-value-text{letter-spacing:-.045em;color:#fff;font-size:46px;font-weight:600;line-height:1}.g-label{color:#a1a1a6;font-size:15px}.g-sub{color:#8e8e93;font-size:14px}.cluster .c-facts{border-top:.5px solid #2c2c2e;border-bottom:.5px solid #2c2c2e;grid-template-columns:1fr 1fr;display:grid}.cluster .c-facts div{flex-direction:column;gap:4px;padding:16px 0;display:flex}.cluster .c-facts div+div{border-left:.5px solid #2c2c2e;padding-left:18px}.cluster .c-facts b{letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;font-size:28px;font-weight:560}.cluster .c-facts span{color:#8e8e93;font-size:13.5px;line-height:1.35}.cluster .btn-cluster{color:#0b0b0c;background:#f5f5f7}.cluster .btn-cluster:hover{background:#fff}.cluster .c-link{color:#4ea1ff;font-size:15px;font-weight:500;text-decoration:none}.cluster .c-link:hover{text-underline-offset:3px;text-decoration:underline}.c-how{color:#8e8e93;font-size:14.5px}.c-how summary{cursor:pointer;color:#a1a1a6;font-weight:500}.c-how p{margin-top:8px;line-height:1.5}@media (prefers-reduced-motion:reduce){.g-needle,.g-value{transition:none}}.search{display:block;position:relative}.search input{background:var(--panel);width:100%;height:48px;box-shadow:var(--shadow);border:0;border-radius:8px;padding:0 16px 0 44px;font-size:17px}.search input::placeholder{color:var(--ink-3)}.search input:focus{box-shadow:0 0 0 2px var(--link);outline:none}.search svg{width:20px;height:20px;color:var(--ink-3);pointer-events:none;position:absolute;top:14px;left:14px}.theme-row .top{align-items:center;gap:12px;display:flex}.theme-row .meta{color:var(--ink-2);align-items:center;gap:12px;margin-top:10px;font-size:14px;display:flex}.theme-row .meta .bar{flex:1;max-width:120px}.due-note{color:var(--ink);font-weight:560}.tickets{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.ticket{background:var(--panel);box-shadow:var(--shadow);color:var(--ink-2);border-radius:12px;flex-direction:column;gap:10px;padding:14px;font-size:14px;text-decoration:none;transition:transform .2s;display:flex}.ticket:hover{transform:translateY(-1px)}.q-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;padding:14px 20px;font-size:16px;line-height:1.45;display:flex}.q-row:hover{background:var(--panel-2)}.q-row .txt{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.q-row .status{color:var(--ink-3);font-size:13px;font-weight:500}.q-row .status.wrong{color:var(--stop)}.q-row .status.due{color:var(--ink)}.q-row .status.known{color:var(--go)}.q-row .thumb{object-fit:cover;background:var(--panel-2);border-radius:8px;flex:none;width:72px;height:53px}.session{width:100%;max-width:var(--col);padding:0 20px calc(104px + env(safe-area-inset-bottom));min-height:100dvh;margin:0 auto}.session-bar{z-index:5;background:color-mix(in srgb, var(--ground) 88%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);flex-direction:column;gap:10px;padding:10px 0 14px;display:flex;position:sticky;top:0}.session-bar .top{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.session-bar .where{color:var(--ink-2);font-size:14px;font-weight:500}.quit{min-height:44px;color:var(--link);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0 4px 0 0;font-size:17px;font-weight:500;display:inline-flex}.quit svg{width:22px;height:22px}.session-body{flex-direction:column;gap:20px;padding-top:6px;display:flex}@media (width>=960px){.session{max-width:820px;padding-left:40px;padding-right:40px}.session.wide{max-width:1160px}}@media (width>=1400px){.session.wide{max-width:1360px}.session-body.has-img{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}@media (width>=960px){.session-body.has-img{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:44px;display:grid}.session-body.has-img .figure{position:sticky;top:110px}}.figure{background:var(--panel);width:100%;box-shadow:var(--shadow);aspect-ratio:800/591;cursor:zoom-in;border:0;border-radius:12px;padding:0;display:block;overflow:hidden}.figure img{object-fit:contain;width:100%;height:100%}.q-head{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.q-text{letter-spacing:-.02em;max-width:60ch;font-size:22px;font-weight:580;line-height:1.35}@media (width>=960px){.q-text{font-size:26px}}.retry-note{color:var(--stop);font-size:15px;font-weight:500}.options{flex-direction:column;gap:10px;display:flex}.option{text-align:left;border-radius:var(--r-md);background:var(--panel);width:100%;min-height:58px;box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;align-items:flex-start;gap:14px;padding:16px 18px;font-size:17px;line-height:1.45;transition:border-color .15s,background-color .15s,opacity .2s;display:flex}.option:hover:not(:disabled){border-color:var(--ink-3)}.option:disabled{cursor:default}.option .key{background:var(--panel-2);width:26px;height:26px;color:var(--ink-2);border-radius:50%;flex:none;place-items:center;font-size:13.5px;font-weight:600;display:grid}.option .txt{flex:1}.answer-items{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.answer-crops{align-items:center;gap:8px;display:flex}.answer-crop{background-repeat:no-repeat;border-radius:4px;flex:none;max-width:100%;display:block}.answer-caption{color:var(--ink-2);font-size:.86em}.option .mark{flex:none;width:22px;height:22px;margin-top:2px}.option.correct{border-color:var(--go);background:var(--go-tint)}.option.correct .key{background:var(--go);color:#fff}.option.correct .mark{color:var(--go)}.option.wrong{border-color:var(--stop);background:var(--stop-tint)}.option.wrong .key{background:var(--stop);color:#fff}.option.wrong .mark{color:var(--stop)}.option.faded{opacity:.45;box-shadow:none}.option.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.option.selected .key{background:var(--ink);color:var(--ground)}.verdict{border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:20px 22px;display:flex}.verdict .head{letter-spacing:-.015em;color:var(--go);align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.verdict.bad .head{color:var(--stop)}.verdict.neutral .head{color:var(--ink)}.verdict .head svg{flex:none;width:22px;height:22px}.explain{color:var(--ink-2);font-size:16px;line-height:1.6}.explain b{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.confident-note{color:#5b4300;background:#fff8e1;border-radius:8px;padding:12px 14px;font-size:15px;line-height:1.5}.answer-box{border-radius:var(--r-lg);background:var(--go-tint);padding:18px 20px;font-size:17px;line-height:1.5}.answer-box b{color:var(--go);margin-bottom:4px;font-weight:600;display:block}.below-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;display:flex}.dock{z-index:10;background:color-mix(in srgb, var(--panel) 86%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:.5px solid var(--line-strong);padding:12px 20px calc(12px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.dock-inner{max-width:var(--col);flex-direction:column;gap:10px;margin:0 auto;display:flex}@media (width>=960px){.dock{-webkit-backdrop-filter:none;background:0 0;border:0;padding:8px 0 0;position:static}.dock-inner{max-width:none}}.rate{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.rate button{border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;border-radius:8px;min-height:52px;padding:4px;font-size:15px;font-weight:560;line-height:1.2}.rate button:hover{border-color:var(--ink-3)}.rate .no{color:var(--stop)}.keys{color:var(--ink-3);font-size:13.5px}@media (hover:none){.keys{display:none}}.confirm{border-radius:var(--r-lg);background:var(--panel);flex-direction:column;gap:14px;padding:20px;display:flex;box-shadow:0 12px 40px #0000001f}.confirm .actions{flex-wrap:wrap;gap:10px;display:flex}.confirm .actions .btn{flex:1;min-width:150px}.result-score{letter-spacing:-.02em;font-size:24px;font-weight:580;line-height:1.3}.game-hud{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.game-hud div{background:var(--panel);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;padding:10px 14px;display:flex}.game-hud span{color:var(--ink-2);font-size:13px}.game-hud b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;line-height:1.15}.game-hud .low b{color:var(--stop)}.timebar{background:var(--track);border-radius:2px;height:4px;overflow:hidden}.timebar span{background:var(--ink);height:100%;display:block}.timebar.low span{background:var(--stop)}.big-score{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:64px;font-weight:600;line-height:1}.record{background:var(--ink);color:var(--ground);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 12px;font-size:14px;font-weight:560;display:inline-flex}.record svg{width:16px;height:16px}.split{background:var(--track);border-radius:4px;height:8px;display:flex;overflow:hidden}.split .k{background:var(--go)}.split .s{background:var(--ink-3)}.legend{color:var(--ink-2);flex-wrap:wrap;gap:8px 20px;font-size:15px;display:flex}.legend span{align-items:center;gap:8px;display:inline-flex}.legend i{background:var(--track);border-radius:50%;width:10px;height:10px}.legend .k{background:var(--go)}.legend .s{background:var(--ink-3)}.legend b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.chart{align-items:flex-end;gap:6px;height:120px;display:flex}.chart .col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.chart .b{background:var(--ink);border-radius:4px;width:100%;max-width:22px;min-height:3px}.chart .b.zero{background:var(--track)}.chart .d{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11.5px}.chart .today .d{color:var(--ink);font-weight:600}.facts{color:var(--ink-2);flex-direction:column;gap:6px;font-size:16px;display:flex}.setting{flex-direction:column;gap:10px;padding:18px 22px;display:flex}.setting .label{font-weight:560}.setting .hint{color:var(--ink-2);font-size:15px}.seg{background:var(--track);border-radius:8px;gap:2px;padding:2px;display:flex}.seg button{min-height:36px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:0 8px;font-size:14.5px;font-weight:500;line-height:1.2;transition:background-color .2s,box-shadow .2s}.seg button[aria-pressed=true]{background:var(--panel);font-weight:600;box-shadow:0 1px 3px #0000001f,0 1px 1px #0000000a}:root[data-theme=dark] .seg button[aria-pressed=true]{background:#636366}.switch-row{cursor:pointer;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px}.switch{flex:none;width:51px;height:31px;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch span{background:var(--track);pointer-events:none;border-radius:10px;transition:background-color .25s;position:absolute;inset:0}.switch span:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .25s;position:absolute;top:2px;left:2px;box-shadow:0 3px 8px #00000026,0 1px 1px #00000029}.switch input:checked+span{background:#34c759}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid var(--link);outline-offset:2px}.date-input{background:var(--panel-2);height:44px;color:var(--ink);font:inherit;border:0;border-radius:8px;padding:0 14px;font-size:17px}.date-input:focus{box-shadow:0 0 0 2px var(--link);outline:none}.toast{left:50%;bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom));z-index:60;background:var(--ink);max-width:calc(100% - 40px);color:var(--ground);border-radius:10px;padding:14px 20px;font-size:15px;font-weight:500;position:fixed;transform:translate(-50%)}.onboarding{width:100%;max-width:520px;min-height:100dvh;padding:44px 24px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:28px;margin:0 auto;display:flex}.onboarding .step{color:var(--ink-2);font-size:14px}.choice{text-align:left;border-radius:var(--r-md);background:var(--panel);width:100%;min-height:64px;box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;align-items:center;gap:14px;padding:14px 18px;display:flex}.choice[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.choice .body{flex-direction:column;flex:1;gap:2px;display:flex}.choice .title{font-weight:560}.choice .hint{color:var(--ink-2);font-size:15px}.choice .tick{border:1.5px solid var(--line-strong);color:#0000;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.choice[aria-pressed=true] .tick{background:var(--ink);border-color:var(--ink);color:var(--ground)}.choice .tick svg{width:14px;height:14px}.center-state{text-align:center;min-height:60dvh;color:var(--ink-2);place-items:center;padding:48px 20px;display:grid}.sheet-backdrop{z-index:40;background:#0006;justify-content:center;align-items:flex-end;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:var(--col);background:var(--ground);max-height:92dvh;padding:18px 20px calc(24px + env(safe-area-inset-bottom));border-radius:12px 12px 0 0;flex-direction:column;gap:16px;animation:.3s cubic-bezier(.2,.8,.2,1) rise;display:flex;overflow-y:auto}@media (width>=760px){.sheet-backdrop{align-items:center}.sheet{border-radius:12px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{transform:scaleY(0)}}.lightbox{z-index:50;cursor:zoom-out;background:#000000eb;border:0;place-items:center;width:100%;padding:20px;display:grid;position:fixed;inset:0}.lightbox img{border-radius:8px;max-width:100%;max-height:100%}body[data-immersive] .nav{display:none}.ref-link{color:var(--link);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;margin:0 -2px;padding:0 2px;font-weight:500;text-decoration:none;display:inline}.ref-link:hover{text-underline-offset:3px;text-decoration:underline}.sheet.rule{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.rule-head{border-bottom:.5px solid var(--line-strong);background:var(--panel);align-items:flex-start;gap:12px;padding:20px 18px 16px 22px;display:flex}.rule-body{flex-direction:column;flex:1;gap:12px;padding:18px 22px;font-size:16.5px;line-height:1.6;display:flex;overflow-y:auto}.rule-body p.hit,.rcr-point p.hit{color:#1d1d1f;background:#fff8e1;border-radius:8px;margin:0 -12px;padding:10px 12px}.rule-foot{padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:.5px solid var(--line-strong);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.rule-foot .btn{flex:220px}.rcr-chapter{flex-direction:column;gap:14px;display:flex}.rcr-chapter>h2{margin:0}.rcr-section{color:var(--ink-2);margin-top:8px;font-size:17px;font-weight:600}.rcr-point{flex-direction:column;gap:8px;padding:18px 22px;scroll-margin-top:90px;font-size:16.5px;line-height:1.6;display:flex}.rcr-point.target{box-shadow:0 0 0 2px var(--ink)}.rcr-point .num-head{align-items:center;gap:10px;display:flex}.sign-chip{vertical-align:middle;background:var(--panel-2);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;margin:2px 0;padding:3px 9px 3px 4px;font-size:14.5px;font-weight:500;line-height:1.3;display:inline-flex}.sign-chip img{object-fit:contain;flex:none;width:26px;height:26px}.sign-chip:hover{background:var(--track)}.sign-card{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:28px 22px;display:flex}.sign-card img{object-fit:contain;width:150px;height:150px}.road-wrap{background:#eceef0;border-radius:14px;width:100%;max-width:440px;margin:0 auto;position:relative;overflow:hidden}.road-svg{width:100%;height:100%;display:block;position:absolute;inset:0}.zone-yard{fill:#eef0f2}.zone-town{fill:#e9ecee}.zone-city{fill:#e4e7ea}.zone-country{fill:#e8ece6}.zone-night{fill:#1c1d20}.sc-tree{fill:#d3dacf}.sc-tree.night{fill:#2a2c30}.sc-block{fill:#d6dade}.sc-house{fill:#f4f5f6;stroke:#d6dade;stroke-width:1px}.sc-roof{fill:#cfd4d9}.sc-cone{fill:#d6dade}.road-edge,.road-asphalt,.road-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.road-edge{stroke:#fff}.road-asphalt{stroke:#2b2d31}.road-line{stroke:#f5f5f7;stroke-width:1.6px;stroke-dasharray:10 12;opacity:.85}.pothole ellipse{fill:#121315;stroke:#5a5d63;stroke-width:1.2px}.stop{stroke-width:3.5px}.stop.done{fill:#1a7f37;stroke:#fff}.stop.here{fill:#fff;stroke:#1d1d1f;stroke-width:4px}.stop.ahead{fill:#fff;stroke:#aeb2b8}.gantry-post{fill:#9aa0a6}.exam-building{fill:#fff;stroke:#c7c7cc;stroke-width:1.2px}.exam-door{fill:#1d1d1f}.exam-window{fill:#dfe3e8}.car-body{fill:#c8102e}.car-glass{fill:#1b1c1f}.car-light{fill:#fff6d8}.car-line{fill:none;stroke:#8f0a1f;stroke-width:.8px}.car{filter:drop-shadow(0 3px 3px #00000059)}.gantry{background:var(--sign);color:#fff;width:74%;box-shadow:inset 0 0 0 2px var(--sign), inset 0 0 0 3.5px #fff, 0 4px 10px #0000002e;letter-spacing:-.01em;text-align:center;pointer-events:none;border-radius:6px;padding:9px 12px 8px;font-size:14px;font-weight:600;line-height:1.25;position:absolute;left:50%;transform:translate(-50%,-50%)}.stop-label{color:#1d1d1f;background:#fff;border-radius:10px;flex-direction:column;gap:4px;width:50%;padding:10px 12px;text-decoration:none;transition:transform .2s;display:flex;position:absolute;transform:translateY(-50%);box-shadow:0 1px 2px #0000000f,0 6px 16px #00000014}.stop-label:hover{transform:translateY(-50%)scale(1.015)}.stop-label.here{box-shadow:0 0 0 2px #1d1d1f,0 10px 24px #00000029}.stop-label.ahead .stop-title{color:#6e6e73}.stop-top{align-items:center;gap:8px;display:flex}.stop-label .plate{background:#0a4f9e;min-width:38px;height:22px;font-size:12px;box-shadow:inset 0 0 0 1.5px #0a4f9e,inset 0 0 0 2.75px #fff}.here-tag{color:#1d1d1f;font-size:12px;font-weight:600}.stop-title{letter-spacing:-.015em;font-size:14.5px;font-weight:580;line-height:1.25}.stop-meta{color:#6e6e73;font-size:12.5px}.stop-label.done .stop-meta{color:#1a7f37;font-weight:500}.stop-label .stop-meta.repair{color:#d70015;font-weight:560}.exam-label{color:#1d1d1f;text-align:center;white-space:nowrap;background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:10px 16px;text-decoration:none;display:flex;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 2px #0000000f,0 6px 16px #00000014}@media (width<=380px){.stop-title{font-size:13.5px}.gantry{font-size:13px}}.exam-facts{border-top:.5px solid var(--line-strong);border-bottom:.5px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.exam-facts div{flex-direction:column;gap:4px;padding:16px 0;display:flex}.exam-facts div+div{border-left:.5px solid var(--line-strong);padding-left:16px}.exam-facts b{letter-spacing:-.04em;font-size:34px;font-weight:600;line-height:1}.exam-facts span{color:var(--ink-2);font-size:14px;line-height:1.3}.exam-rules{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding-left:20px;font-size:16px;display:flex}.exam-timer{letter-spacing:-.02em;align-items:center;gap:6px;font-size:19px;font-weight:600;display:inline-flex}.exam-timer svg{width:19px;height:19px}.exam-timer.low{color:var(--stop)}.exam-grid{grid-template-columns:repeat(12,1fr);gap:4px;display:grid}.exam-grid button{background:var(--panel);height:30px;box-shadow:var(--shadow);color:var(--ink-2);cursor:pointer;font-variant-numeric:tabular-nums;border:0;border-radius:8px;padding:0;font-size:13px;font-weight:500}.exam-grid button.answered{background:var(--ink);color:var(--ground)}.exam-grid button.current{box-shadow:0 0 0 2px var(--link)}@media (width>=700px){.exam-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}}.exam-nav{flex-direction:row}.exam-nav .btn{flex:1}.stamp{letter-spacing:-.01em;border:2.5px solid;border-radius:8px;align-self:flex-start;padding:6px 18px 5px;font-size:28px;font-weight:650}.stamp.ok{color:var(--go)}.stamp.bad{color:var(--stop)}.stamp.small{border-width:1.5px;border-radius:7px;align-self:center;padding:2px 10px;font-size:14px}.exam-review{padding:16px 20px}.exam-review summary{cursor:pointer;align-items:flex-start;gap:10px;font-weight:560;line-height:1.4;list-style:none;display:flex}.exam-review summary::-webkit-details-marker{display:none}.exam-yours b{color:var(--stop);font-weight:600}.exam-right b{color:var(--go);font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.explain p{margin:0}.refs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.rule-chip{background:var(--panel-2);color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:14px;font-weight:500;line-height:1.2;display:inline-flex}.rule-chip svg{width:16px;height:16px;color:var(--ink-2)}.rule-chip:hover,.sign-chip:hover{background:var(--track)}.sign-chip.plain{cursor:default;padding:3px 4px}.sibling-note{color:var(--ink-2);font-size:15px}.confusion{flex-direction:column;gap:10px;display:flex}.confusion-rule{letter-spacing:-.015em;font-size:18px;font-weight:560;line-height:1.4}.families{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=700px){.families{grid-template-columns:repeat(3,minmax(0,1fr))}}.family{border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow);flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:transform .2s;display:flex}.family:hover{transform:translateY(-2px)}.family img{object-fit:contain;width:52px;height:52px;margin-bottom:6px}.family-name{letter-spacing:-.015em;font-weight:580;line-height:1.25}.sign-stage{background:var(--panel);box-shadow:var(--shadow);border-radius:14px;place-items:center;padding:28px;display:grid}.sign-stage img{object-fit:contain;width:min(200px,50vw);height:min(200px,50vw)}.plate-svg{width:100%;height:auto;font-family:var(--font);display:block}.pl-ground{fill:#dfe3e6}.plate-country .pl-ground{fill:#cfdcc4}.plate-night .pl-ground{fill:#2a2d33}.pl-building{fill:#eceef1;stroke:#c9ced4;stroke-width:1.5px}.pl-curb,.pl-asphalt,.pl-dirt{fill:none;stroke-linecap:butt;stroke-linejoin:round}.pl-curb{stroke:#f5f6f7}.plate-country .pl-curb{stroke:#b9c7ab}.pl-asphalt{stroke:#5d636b}.plate-night .pl-asphalt{stroke:#3d4148}.pl-dirt{stroke:#a88a64}.pl-mark{fill:none;stroke:#fff;stroke-width:3px}.pl-mark.thin{stroke-width:2px}.pl-paint{fill:#fff}.pl-arrow-paint{fill:none;stroke:#fff;stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.pl-hatch-box{fill:none;stroke:#fff;stroke-width:2px}.pl-bay{fill:none;stroke:#fff;stroke-width:2px;stroke-dasharray:6 5}.pl-road-text{fill:#fff;letter-spacing:.08em;font-size:14px;font-weight:700}.pl-rail{fill:none;stroke:#8a8f96;stroke-width:2.5px}.pl-sleepers{fill:none;stroke:#6f5a45;stroke-width:18px;stroke-dasharray:3 7}.pl-post{fill:#1d1d1f}.pl-barrier{fill:#fff;stroke:#d62d2d;stroke-width:2px;stroke-dasharray:8 8}.pl-shadow{fill:#00000029}.pl-veh{stroke:#00000047;stroke-width:1.2px}.pl-glass{fill:#2b3440}.pl-roof{fill:#ffffff47}.pl-tyre{fill:#1d1d1f}.pl-pole{stroke:#1d1d1f;stroke-width:2px}.pl-bike{stroke:#1d1d1f;stroke-width:3px;stroke-linecap:round}.pl-signal circle{fill:#ffb020;stroke:#b36b00;stroke-width:1px}.pl-signal-ray{stroke:#ffb020;stroke-width:2px;stroke-linecap:round;fill:none}.pl-tag{fill:#1d1d1f}.pl-tag.ego{fill:#06c}.pl-tag-text{fill:#fff;font-size:12px;font-weight:650}.pl-light-box{fill:#1d1d1f}.pl-lamp.off{fill:#3a3d42}.pl-lamp.red{fill:#ff3b30}.pl-lamp.yellow{fill:#fc0}.pl-lamp.green{fill:#34c759}.pl-officer{fill:#c8d86a;stroke:#1d1d1f;stroke-width:1.2px}.pl-arm{stroke:#c8d86a;stroke-width:6px;stroke-linecap:round;fill:none}.pl-person{fill:#6e6e73}.pl-head{fill:#f0c9a3;stroke:#1d1d1f;stroke-width:1px}.pl-traj{fill:none;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;opacity:.92}.pl-traj.yellow,.pl-traj-head.yellow{stroke:#f5b400;fill:#f5b400}.pl-traj.green,.pl-traj-head.green{stroke:#1a9e45;fill:#1a9e45}.pl-traj.red,.pl-traj-head.red{stroke:#d62d2d;fill:#d62d2d}.pl-traj.white,.pl-traj-head.white{stroke:#fff;fill:#fff}.pl-traj.blue,.pl-traj-head.blue{stroke:#2f6fd6;fill:#2f6fd6}.pl-traj{fill:none!important}.pl-sign-halo{fill:#ffffffe6}.pl-label{fill:#1d1d1f}.pl-label-text{fill:#1d1d1f;font-size:16px;font-weight:700}.pl-label-text.inv{fill:#fff;font-size:15px}.pl-board{fill:#fff}.pl-board-label{fill:#1d1d1f;font-size:26px;font-weight:600}.figure.own{background:#dfe3e6}.lightbox-plate{border-radius:10px;width:min(100%,1200px);overflow:hidden}.ex-rule{color:var(--ink);letter-spacing:-.01em;font-size:17px;font-weight:600;line-height:1.45;margin-bottom:12px!important}.ex-picked{background:var(--stop-tint);color:var(--ink);border-radius:8px;padding:10px 12px;margin-bottom:12px!important}.ex-picked b{color:var(--stop)!important;display:inline!important}.ex-tip{border-left:3px solid var(--ink);color:var(--ink);padding-left:12px;font-weight:500;margin-top:10px!important}.gallery-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gallery-pair .figure{cursor:default}.pl-street{fill:#1d1d1f;letter-spacing:.02em;paint-order:stroke;stroke:#ffffffd9;stroke-width:4px;font-size:13px;font-weight:600}.pl-north circle{fill:#ffffffe6;stroke:#d2d2d7}.pl-north path{fill:#1d1d1f}.pl-north text{fill:#1d1d1f;font-size:12px;font-weight:700}.pl-credit{fill:#6e6e73;font-size:11px}.real-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;display:grid}.tip{position:relative}.tip-bubble{z-index:30;color:#f5f5f7;letter-spacing:0;text-align:left;pointer-events:none;background:#1d1d1f;border-radius:8px;width:max-content;max-width:min(320px,80vw);padding:10px 13px;font-size:13.5px;font-weight:450;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}:root[data-theme=dark] .tip-bubble{background:#3a3a3c}.tip-bubble:after{content:"";border:6px solid #0000;border-top-color:#1d1d1f;margin-left:-6px;position:absolute;top:100%;left:50%}:root[data-theme=dark] .tip-bubble:after{border-top-color:#3a3a3c}@media (hover:hover){.tip:hover>.tip-bubble{animation:.15s ease-out .25s both tip-in;display:block}}.tip:has(:focus-visible)>.tip-bubble{animation:.15s ease-out both tip-in;display:block}@keyframes tip-in{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@media (hover:none){.criteria .tip-bubble{width:auto;max-width:none;color:var(--ink-2);box-shadow:none;background:0 0;margin:-4px 0 8px 36px;padding:0;font-size:13.5px;animation:none;display:block;position:static;transform:none}.criteria .tip-bubble:after{display:none}}.page.class-setup{max-width:1120px}.setup-grid{flex-direction:column;gap:28px;display:flex}@media (width>=960px){.setup-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:40px;display:grid}.setup-side{top:calc(var(--nav-h) + 20px);position:sticky}}.setup-tabs button{min-height:40px;font-size:15px}.setup-help{max-width:60ch;margin:12px 0 16px}.check{width:22px;height:22px;accent-color:var(--action);cursor:pointer;flex:none;margin:0}.chapter-pick{overflow:hidden}.pick-row{cursor:pointer;align-items:center;gap:14px;min-height:56px;padding:8px 12px 8px 18px;display:flex}.pick-row+.pick-row,.chapter-pick .rows{border-top:.5px solid var(--line)}.pick-row.head{min-height:64px}.pick-body{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:1px;min-width:0;padding:6px 0;display:flex}.pick-body .title{font-weight:560;line-height:1.3}.pick-row:not(.head) .pick-body .title{font-weight:450}.pick-body .hint{color:var(--ink-2);font-size:14px}.icon-btn.flat{box-shadow:none;background:0 0}.icon-btn.flat:hover{background:var(--panel-2)}.icon-btn svg.rot{transform:rotate(90deg)}.icon-btn svg{transition:transform .2s}.ticket-pick{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.ticket-pick button{border:1px solid var(--line-strong);background:var(--panel);cursor:pointer;border-radius:8px;height:52px;font-size:17px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.ticket-pick button[aria-pressed=true]{background:var(--action);border-color:var(--action);color:var(--on-action)}.setup-panel .setting+.setting{border-top:.5px solid var(--line)}.mode-pick{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-card{border:1px solid var(--line-strong);background:var(--panel);text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:100%;padding:14px;transition:border-color .15s,box-shadow .15s;display:flex}.mode-card b{font-size:16px;font-weight:600}.mode-card span{color:var(--ink-2);font-size:13.5px;line-height:1.35}.mode-card[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mode-glyph{width:40px;height:28px;color:var(--ink);margin-bottom:6px}.criteria{flex-direction:column;gap:2px;display:flex}.criterion{cursor:pointer;align-items:center;gap:14px;min-height:44px;font-size:16px;display:flex}.criterion.off{color:var(--ink-3);cursor:default}.seg .seg-tip{flex:1;display:flex}.seg .seg-tip>button{flex:1}.text-input{border:1px solid var(--line-strong);background:var(--panel);height:46px;color:var(--ink);border-radius:8px;width:100%;padding:0 14px;font-size:16px}.text-input:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 22%, transparent);outline:none}.group-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:10px;min-height:32px;padding:0 12px;font-size:14px}.chip:hover{border-color:var(--ink-3)}.setup-go{border-top:.5px solid var(--line);flex-direction:column;gap:12px;padding:18px 22px 22px;display:flex}.count-custom{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.step-btn{border:1px solid var(--line-strong);background:var(--panel);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:8px;flex:none;font-size:22px;font-weight:500;line-height:1}.step-btn:hover:not(:disabled){border-color:var(--ink-3)}.step-btn:disabled{opacity:.4;cursor:default}.count-input{border:1px solid var(--line-strong);background:var(--panel);width:84px;height:44px;color:var(--ink);text-align:center;appearance:textfield;border-radius:8px;font-size:20px;font-weight:600}.count-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.count-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.count-input:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 22%, transparent);outline:none}.live{background:var(--ground);min-height:100dvh;color:var(--ink)}.live.center{place-items:center;padding:24px;display:grid}.live-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:460px;display:flex}.live.host{--ground:#f5f5f7;--panel:#fff;--panel-2:#f5f5f7;--line:#e3e3e8;--line-strong:#c7c7cc;--ink:#1d1d1f;--ink-2:#6e6e73;--ink-3:#8e8e93;--action:#1d1d1f;--action-press:#000;--on-action:#fff;--link:#06c;--go:#1a7f37;--go-tint:#eaf6ee;--stop:#d70015;--stop-tint:#fdecee;--track:#e5e5ea;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex-direction:column;padding:0 clamp(16px,3vw,48px) 32px;display:flex}.live-top{border-bottom:.5px solid var(--line);flex-wrap:wrap;align-items:center;gap:20px;min-height:64px;padding:10px 0;display:flex}.live-top-left{flex-direction:column;flex:1;min-width:0;line-height:1.3;display:flex}.live-title{font-weight:600}.live-top-right{align-items:center;gap:20px;display:flex}.live-link{color:var(--stop);font-size:14px}.live-pin-mini{align-items:center;gap:12px;font-size:20px;display:flex}.live-pin-mini b{letter-spacing:.04em;font-size:26px}.qr svg{width:100%;height:auto;display:block}.qr.mini{width:52px}.qr.big{width:min(42vh,380px);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:14px}.lobby{flex:1;gap:32px;padding-top:28px;display:grid}@media (width>=1000px){.lobby{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(32px,5vw,80px);padding-top:5vh}}.lobby-join{flex-direction:column;align-items:center;gap:22px;display:flex}.lobby-pin{text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:18px;display:flex}.lobby-url{font-size:22px;font-weight:600}.pin{letter-spacing:.04em;margin-top:6px;font-size:clamp(56px,9vw,104px);font-weight:700;line-height:1}.lobby-side{flex-direction:column;gap:22px;min-height:100%;display:flex}.lobby-side h2{font-size:30px}.lock{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:16px;display:inline-flex}.lobby-empty{padding:40px 0;font-size:20px}.names{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.names li{background:var(--panel);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:4px;padding:8px 8px 8px 18px;font-size:22px;font-weight:560;animation:.35s ease-out name-in;display:inline-flex}.names li.away{opacity:.45}.names li button{width:30px;height:30px;color:var(--ink-3);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:50%;place-items:center;transition:opacity .15s,background-color .15s;display:grid}.names li:hover button,.names li button:focus-visible{opacity:1}.names li button:hover{background:var(--panel-2);color:var(--stop)}.names li button svg{width:16px;height:16px}@media (hover:none){.names li button{opacity:1}}@keyframes name-in{0%{opacity:0;transform:scale(.85)}}.lobby-go{flex-direction:column;gap:12px;margin-top:auto;display:flex}.btn.big-go{min-height:64px;font-size:21px}.asking{flex-direction:column;flex:1;gap:24px;padding-top:18px;display:flex}.asking-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;font-size:18px;display:grid}.answered b{font-size:28px}.live-time{align-items:center;gap:14px;width:100%;display:flex}.live-time-track{background:var(--track);border-radius:5px;flex:1;height:10px;overflow:hidden}.live-time-track span{border-radius:inherit;background:var(--ink);height:100%;transition:width .2s linear;display:block}.live-time b{text-align:right;min-width:2ch;font-size:28px}.live-time.low .live-time-track span{background:var(--stop)}.live-time.low b{color:var(--stop)}.stage{flex-direction:column;gap:24px;display:flex}@media (width>=1000px){.stage.has-fig{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,3vw,56px);display:grid}}.stage .figure{cursor:zoom-in}.stage-text{flex-direction:column;gap:22px;display:flex}.stage-q{letter-spacing:-.02em;font-size:clamp(24px,2.4vw,38px);font-weight:600;line-height:1.28}.stage-options{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.stage-options li{background:var(--panel);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:16px;padding:14px 18px 14px 14px;font-size:clamp(18px,1.6vw,26px);line-height:1.35;display:flex}.stage-options.results li.is-ok{box-shadow:inset 0 0 0 2px var(--go);background:var(--go-tint)}.res-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.res-bar{background:var(--track);border-radius:4px;height:8px;display:block;overflow:hidden}.res-bar span{background:var(--ink-3);border-radius:inherit;transform-origin:0;height:100%;animation:.6s ease-out grow;display:block}.is-ok .res-bar span{background:var(--go)}@keyframes grow{0%{transform:scaleX(0)}}.res-names{color:var(--ink-2);font-size:15px}.res-pct{text-align:right;min-width:3.2ch;font-weight:650}.res-ok{width:26px;height:26px;color:var(--go);flex:none}.asking-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:auto;padding-top:8px;display:flex}.asking-controls .link-btn.danger{order:-1;margin-right:auto}.closed-note{margin-right:auto;font-size:22px;font-weight:560}.shape-key{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;min-width:64px;height:48px;padding:0 12px;display:inline-flex}.shape-key svg{width:24px;height:24px}.shape-key b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.shape-key.small{border-radius:9px;gap:4px;min-width:50px;height:34px;padding:0 8px}.shape-key.small svg{width:17px;height:17px}.shape-key.small b{font-size:15px}.finale{flex-direction:column;flex:1;align-items:center;gap:28px;padding-top:24px;display:flex}.finale-title{text-align:center;animation:.6s ease-out both fade-up}.podium{grid-template-columns:repeat(3,minmax(0,220px));justify-content:center;align-items:end;gap:14px;width:100%;display:grid}.step{flex-direction:column;align-items:center;gap:12px;display:flex}.step .block{color:#fff;transform-origin:bottom;background:#1d1d1f;border-radius:10px 10px 0 0;place-items:start center;width:100%;padding-top:14px;font-size:44px;font-weight:700;animation:.8s cubic-bezier(.2,.8,.2,1) both rise;display:grid}.step.r1 .block{height:220px;animation-delay:2.2s}.step.r2 .block{background:#3a3a3c;height:160px;animation-delay:1.2s}.step.r3 .block{background:#636366;height:110px;animation-delay:.3s}.step.empty .block{background:var(--track);color:var(--ink-3)}.who{text-align:center;flex-direction:column;align-items:center;gap:2px;animation:.5s ease-out both fade-up;display:flex}.step.r1 .who{animation-delay:2.8s}.step.r2 .who{animation-delay:1.8s}.step.r3 .who{animation-delay:.9s}.who-name{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(20px,2vw,30px);font-weight:650}.step.r1 .who-name{font-size:clamp(24px,2.6vw,38px)}.who-score{color:var(--ink-2);font-size:17px}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}.precise{background:var(--panel);box-shadow:var(--shadow);border-radius:24px;align-items:center;gap:10px;padding:12px 20px;font-size:18px;animation:.5s ease-out 3.4s both fade-up;display:flex}.precise svg{width:22px;height:22px}.finale-review{flex-direction:column;gap:12px;width:100%;max-width:1100px;margin-top:12px;animation:.5s ease-out 3.6s both fade-up;display:flex}.summary{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.sum-cell{background:var(--panel);box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;display:flex}.sum-cell:hover{border-color:var(--ink-3)}.sum-cell.now{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.sum-bar{background:var(--track);border-radius:5px;align-items:flex-end;width:10px;height:44px;display:flex;overflow:hidden}.sum-bar span{background:var(--ink);width:100%;display:block}.review{flex-direction:column;flex:1;gap:22px;padding-top:14px;display:flex}.review-nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;font-size:17px;display:flex}.review .explain{font-size:18px}.live.player{padding:0 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;max-width:720px;margin:0 auto;display:flex}.live.player.center{display:grid}.live-brand{align-self:center;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.live-brand .brand-mark{width:28px;height:28px}.join-card{text-align:center;flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.pin-input,.name-input{border:1px solid var(--line-strong);background:var(--panel);width:100%;height:64px;color:var(--ink);text-align:center;border-radius:10px}.pin-input{letter-spacing:.12em;font-size:34px;font-weight:700}.name-input{font-size:24px;font-weight:600}.pin-input:focus,.name-input:focus{border-color:var(--link);box-shadow:0 0 0 3px color-mix(in srgb, var(--link) 22%, transparent);outline:none}.pin-input[aria-invalid=true],.name-input[aria-invalid=true]{border-color:var(--stop)}.join-error{color:var(--stop);font-size:15px;font-weight:500}.player-top{align-items:center;gap:12px;min-height:56px;font-size:16px;display:flex}.player-name{flex:1;font-weight:650}.player-wait{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding-bottom:10vh;display:flex}.player-wait .shape-key{border-radius:12px;min-width:96px;height:72px;margin-bottom:8px}.player-wait .shape-key svg{width:34px;height:34px}.player-wait .shape-key b{font-size:28px}.pulse{background:var(--go);border-radius:50%;width:18px;height:18px;margin-bottom:10px;animation:1.6s ease-out infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--go) 50%, transparent)}to{box-shadow:0 0 0 22px #0000}}.player-ask{flex-direction:column;flex:1;gap:16px;display:flex}.player-ask .live-time b{font-size:22px}.shape-grid{flex:1;grid-template-columns:1fr 1fr;gap:12px;min-height:60dvh;display:grid}.shape-grid.n2{grid-template-columns:1fr}.shape-grid.n3>:last-child{grid-column:span 2}.shape-btn{cursor:pointer;background:0 0;border:0;border-radius:20px;place-items:center;padding:0;transition:transform .1s;display:grid}.shape-btn:active{transform:scale(.97)}.shape-btn .shape-key{border-radius:20px;gap:12px;width:100%;height:100%}.shape-btn .shape-key svg{width:56px;height:56px}.shape-btn .shape-key b{font-size:36px}.player-q,.player-review{flex-direction:column;gap:16px;display:flex}.player-review{padding-top:4px}.option.live-option{align-items:center}.option .shape-key.small{margin:-4px 0}.player-end{text-align:center;flex-direction:column;flex:1;align-items:stretch;gap:18px;padding-top:4vh;display:flex}.medal{flex-direction:column;align-items:center;gap:10px;animation:.6s ease-out both fade-up;display:flex}.medal span{background:var(--ink);width:104px;height:104px;color:var(--ground);border-radius:50%;place-items:center;font-size:52px;font-weight:700;display:grid}.medal b{letter-spacing:-.02em;font-size:28px}.player-score{font-size:19px}.mini-podium{flex-direction:column;gap:6px;width:100%;max-width:320px;margin:0 auto;padding:0;list-style:none;display:flex}.mini-podium li{background:var(--panel);box-shadow:var(--shadow);text-align:left;border-radius:8px;align-items:center;gap:12px;padding:10px 16px;font-weight:560;display:flex}.mini-podium li span{background:var(--panel-2);border-radius:50%;place-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:grid}.mini-podium li.me{box-shadow:inset 0 0 0 2px var(--ink)}.player-end .panel{text-align:left}@media (prefers-reduced-motion:reduce){.step .block,.who,.precise,.finale-review,.finale-title,.medal,.names li,.res-bar span,.pulse{animation:none}}@media (width>=1100px){.page.page-split{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:36px 40px;display:grid}.page.page-split>.page-head{grid-column:1/-1}.page.page-split>.page-side{grid-area:2/1/span 20;position:sticky;top:44px}.page.page-split>:not(.page-head):not(.page-side){grid-column:2}.page.page-cols{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:36px 40px;display:grid}.page.page-cols>.page-head,.page.page-cols>.full{grid-column:1/-1}.page.page-narrow{--col:820px}}.chapters{flex-direction:column;gap:36px;display:flex}@media (width>=1100px){.chapters{columns:2;column-gap:40px;display:block}.chapters>section{break-inside:avoid;margin-bottom:36px}}
