@font-face{font-family:Outfit;src:url(assets/outfit.ttf) format("truetype");font-weight:100 900;font-display:swap}:root{color-scheme:light;--bg: #f3f4f1;--surface: #ffffff;--surface-2: #eceeea;--surface-3: #e1e4df;--line: #dcdfd9;--line-2: #c6cac3;--ink: #1e2226;--ink-2: #41474e;--muted: #646b72;--accent: #0a7a4a;--accent-hover: #086a40;--accent-ink: #ffffff;--accent-soft: #e2f0e8;--accent-text: #0a6a41;--gold: #f2b807;--gold-hover: #e2aa00;--gold-ink: #2b2100;--gold-soft: #fdf3cf;--ok: #1d7f4f;--ok-soft: #e4f2ea;--bad: #c8102e;--bad-soft: #fbe9ec;--warn: #8f5400;--warn-soft: #fbf0dc;--panel: #26292e;--panel-2: #31353b;--panel-ink: #f4f4ef;--panel-muted: #aab0b5;--panel-line: #ffffff1f;--paint: #f4f4ef;--font: Outfit, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif: Charter, "Bitstream Charter", "Iowan Old Style", "Sitka Text", Cambria, Georgia, serif;--fs-xs: .78rem;--fs-sm: .875rem;--fs-md: 1rem;--fs-lg: 1.15rem;--fs-xl: 1.4rem;--fs-2xl: clamp(1.7rem, 1.25rem + 1.5vw, 2.4rem);--fs-3xl: clamp(2.5rem, 1.4rem + 3.6vw, 4.6rem);--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 28px;--s7: 36px;--s8: 48px;--s9: 72px;--r-sm: 10px;--r-md: 14px;--r-lg: 22px;--r-xl: 32px;--shadow-sm: none;--shadow-md: 0 18px 40px -24px #1e22264d;--shadow-lg: 0 30px 70px -30px #1e222680;--focus: 0 0 0 3px var(--bg), 0 0 0 5px var(--accent);--ease: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-drive: cubic-bezier(.65, 0, .25, 1);--t-fast: .16s;--t-med: .32s;--sidebar: 252px;--content: 1120px}:root[data-theme=dark]{color-scheme:dark;--bg: #141618;--surface: #1b1e21;--surface-2: #23272b;--surface-3: #2c3135;--line: #2c3135;--line-2: #3b4146;--ink: #ecede9;--ink-2: #c4c8c6;--muted: #979ea4;--accent: #3dbe84;--accent-hover: #55cf96;--accent-ink: #0d1a13;--accent-soft: #15291f;--accent-text: #6fd6a4;--gold: #f6c433;--gold-hover: #ffd35a;--gold-ink: #2a2003;--gold-soft: #2b2512;--ok: #5fd39a;--ok-soft: #12291f;--bad: #ff7a85;--bad-soft: #321a1e;--warn: #ffbf5e;--warn-soft: #2e2312;--panel: #0f1113;--panel-2: #1c1f22;--shadow-md: 0 18px 40px -20px #000c;--shadow-lg: 0 30px 70px -26px #000e}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px;overflow-x:clip}body{overflow-x:clip}body{margin:0;font-family:var(--font);font-size:1.03rem;line-height:1.6;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--t-med) var(--ease),color var(--t-med) var(--ease)}img{max-width:100%;display:block}h1,h2,h3{margin:0 0 var(--s3);line-height:1.08;letter-spacing:-.03em;font-weight:650;color:var(--ink);text-wrap:balance}h1{font-size:var(--fs-3xl);letter-spacing:-.045em;font-weight:700}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg);letter-spacing:-.015em;font-weight:600}p{margin:0 0 var(--s3);text-wrap:pretty}a{color:var(--accent-text);text-underline-offset:4px;text-decoration-thickness:1px;transition:color var(--t-fast)}a:hover{text-decoration-thickness:2px}ul,ol{padding:0;margin:0;list-style:none}mark{background:var(--gold-soft);color:inherit;border-radius:3px;padding:0 2px;box-shadow:inset 0 -3px 0 var(--gold)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:10px}::selection{background:var(--gold);color:var(--gold-ink)}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.fine{font-size:var(--fs-xs);color:var(--muted);margin:var(--s4) 0 0;line-height:1.5}.row{display:flex;align-items:center;gap:var(--s3)}.row.wrap{flex-wrap:wrap}.full{width:100%}.boot{padding:30vh var(--s6);text-align:center;color:var(--muted)}.skip{position:fixed;left:var(--s4);top:-60px;z-index:100;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:var(--r-sm);transition:top var(--t-fast)}.skip:focus{top:var(--s4)}.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 var(--s2);font-size:var(--fs-sm);font-weight:550;letter-spacing:0;color:var(--accent-text)}.kicker:before{content:"";width:14px;height:3px;border-radius:2px;background:currentColor;opacity:.8}.kicker:has(.icon):before,.kicker:has(.cross-sign):before{display:none}.kicker .icon{width:16px;height:16px}.kicker.on-dark{color:var(--gold)}.btn{--b-bg: var(--accent);--b-fg: var(--accent-ink);--b-bd: transparent;position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:46px;padding:11px 20px;border:1px solid var(--b-bd);border-radius:999px;background:var(--b-bg);color:var(--b-fg);font-weight:600;font-size:var(--fs-sm);line-height:1.2;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;transform:translate(var(--mx, 0),var(--my, 0));transition:background-color var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform .35s var(--ease-out)}.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#ffffff59 50%,transparent 65%);transform:translate(-120%);transition:transform .8s var(--ease-out);pointer-events:none}.btn:hover:after{transform:translate(120%)}.btn .icon{width:18px;height:18px;transition:transform var(--t-med) var(--ease-out)}.btn:hover{--b-bg: var(--accent-hover);text-decoration:none}.btn:hover .icon:last-child{transform:translate(3px)}.btn:active{transform:translate(var(--mx, 0),var(--my, 0)) scale(.96);transition-duration:.08s}.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.secondary{--b-bg: transparent;--b-fg: var(--ink);--b-bd: var(--line-2)}.btn.secondary:after,.btn.ghost:after,.btn.danger:after{background:linear-gradient(105deg,transparent 35%,color-mix(in srgb,var(--accent) 14%,transparent) 50%,transparent 65%)}.btn.secondary:hover{--b-bg: var(--surface);--b-bd: var(--ink)}.btn.ghost{--b-bg: transparent;--b-fg: var(--accent-text);padding-inline:14px}.btn.ghost:hover{--b-bg: var(--accent-soft)}.btn.gold{--b-bg: var(--gold);--b-fg: var(--gold-ink)}.btn.gold:hover{--b-bg: var(--gold-hover)}.btn.danger{--b-bg: transparent;--b-fg: var(--bad);--b-bd: color-mix(in srgb, var(--bad) 40%, transparent)}.btn.danger:hover{--b-bg: var(--bad-soft)}.btn.on-dark{--b-bg: transparent;--b-fg: var(--panel-ink);--b-bd: #ffffff40}.btn.on-dark:hover{--b-bg: #ffffff14;--b-bd: #ffffff80}.btn.small{min-height:36px;padding:6px 14px;font-size:var(--fs-xs)}.btn.full{width:100%}.link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);font-weight:550;text-decoration:none}.link .icon{width:16px;height:16px;transition:transform var(--t-med) var(--ease-out)}.link:hover .icon{transform:translate(3px)}.link-btn{background:none;border:0;padding:0;color:var(--accent-text);font-weight:550;text-align:left}.link-btn:hover{text-decoration:underline}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-2);transition:background-color var(--t-fast),color var(--t-fast),transform var(--t-med) var(--ease-out)}.icon-btn:hover{background:var(--surface);color:var(--ink)}.icon-btn:active{transform:scale(.92)}.input{width:100%;min-height:48px;padding:10px 16px;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);color:var(--ink);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.input:hover{border-color:var(--muted)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.input::placeholder{color:var(--muted)}select.input{appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}.field{margin-bottom:var(--s4)}.field label{display:block;margin-bottom:6px;font-size:var(--fs-sm);font-weight:550;color:var(--ink-2)}.field-inline{position:relative;display:flex;align-items:center;flex:1;min-width:220px}.field-inline .icon{position:absolute;left:16px;color:var(--muted);pointer-events:none}.field-inline .input{padding-left:46px;border-radius:999px}.choices{display:flex;flex-wrap:wrap;gap:var(--s2);border:0;padding:0;margin:0 0 var(--s5)}.choices legend{width:100%;font-size:var(--fs-sm);font-weight:550;color:var(--ink-2);margin-bottom:var(--s2);padding:0}.choice{position:relative}.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.choice span{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--line-2);border-radius:999px;font-size:var(--fs-sm);transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.choice input:focus-visible+span{box-shadow:var(--focus)}.check-row{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) 0;border-bottom:1px solid var(--line);cursor:pointer}.check-row:last-child{border-bottom:0}.check-row input{width:20px;height:20px;margin-top:3px;accent-color:var(--accent);flex:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,32px)}.card+.card,.card+section,section+.card{margin-top:var(--s5)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}.card-head h2{margin:0;font-size:var(--fs-lg)}a.card,button.card{color:inherit;text-decoration:none;text-align:left;font:inherit;transition:transform .45s var(--ease-out),border-color var(--t-fast),background-color var(--t-fast)}a.card:hover,button.card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--ink)}button.card:disabled{opacity:.55;cursor:default}.chip{display:inline-flex;align-items:center;gap:4px;min-height:26px;padding:3px 11px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);font-size:var(--fs-xs);font-weight:550;white-space:nowrap}.chip .icon{width:14px;height:14px}.chip.ok,.chip.level-easy{background:var(--ok-soft);color:var(--ok)}.chip.bad,.chip.level-hard{background:var(--bad-soft);color:var(--bad)}.chip.level-medium{background:var(--warn-soft);color:var(--warn)}.answer-tag{display:inline-block;padding:1px 8px;border-radius:6px;font-size:var(--fs-xs);font-weight:650}.answer-tag.v{background:var(--ok-soft);color:var(--ok)}.answer-tag.f{background:var(--bad-soft);color:var(--bad)}.notice{display:flex;gap:var(--s3);align-items:flex-start;margin:var(--s6) 0;padding:var(--s2) 0 var(--s2) var(--s5);border-left:3px solid var(--accent);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.6;max-width:80ch}.notice>.icon{color:var(--accent-text);margin-top:2px}.notice p{margin:4px 0 0}.notice strong{color:var(--ink)}.notice.warn{border-left-color:var(--gold)}.notice.warn>.icon{color:var(--warn)}.notice.ok{border-left-color:var(--ok)}.notice.ok>.icon{color:var(--ok)}.notice.trap{border-left-color:var(--gold);background:linear-gradient(90deg,var(--gold-soft),transparent 70%);padding:var(--s4) var(--s5);border-radius:0 var(--r-md) var(--r-md) 0}.notice.trap>.icon{color:var(--gold-ink)}:root[data-theme=dark] .notice.trap>.icon{color:var(--gold)}.bar{height:6px;border-radius:999px;background:var(--surface-3);overflow:hidden}.bar i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .9s var(--ease-out)}.bar.thin{height:4px;margin:var(--s3) 0 var(--s5)}.bar.bad i{background:var(--bad)}.bar.on-dark{background:#ffffff1f}.bar.on-dark i{background:var(--gold)}.ring{--size: 108px;--p: 0;position:relative;flex:none;width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--surface-3) 0)}.ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--surface)}.ring span{position:relative;display:flex;align-items:baseline;gap:2px}.ring strong{font-size:1.8rem;font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.ring small{color:var(--muted);font-size:var(--fs-sm)}.ring-lg{--size: 144px}.ring-lg strong{font-size:2.5rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats.three{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--s6)}.stat{padding:var(--s5) var(--s5) var(--s5) 0;min-width:0}.stat+.stat{padding-left:var(--s5);border-left:1px solid var(--line)}.stat-label{display:flex;align-items:center;gap:var(--s2);color:var(--muted);font-size:var(--fs-sm);font-weight:500}.stat-label .icon{width:17px;height:17px;color:var(--accent-text)}.stat-value{margin:var(--s3) 0 var(--s2);font-size:clamp(2.1rem,1.6rem + 1.4vw,3rem);font-weight:300;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.stat-value small{margin-left:4px;font-size:var(--fs-md);font-weight:450;letter-spacing:0;color:var(--muted)}.stat-foot{font-size:var(--fs-xs);color:var(--muted)}.stat-foot .bar{margin-top:6px}.checks li{display:flex;gap:var(--s3);align-items:flex-start;padding:6px 0}.checks .icon{color:var(--ok);margin-top:3px;width:18px;height:18px}.topic-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.topic-list li:last-child{border-bottom:0}.topic-list li>div:first-child{flex:1;min-width:0}.topic-list strong{display:block;font-weight:550}.topic-list small{display:block;color:var(--muted);font-size:var(--fs-xs);margin-bottom:6px}.empty{text-align:left;padding:var(--s8) 0;border-top:1px solid var(--line)}.empty>.icon{width:40px;height:40px;margin:0 0 var(--s4);color:var(--accent-text)}.empty h2{font-size:var(--fs-2xl)}.empty p{max-width:52ch;margin:0 0 var(--s5);color:var(--muted)}.segmented{position:relative;display:inline-flex;padding:4px;margin:var(--s6) 0 var(--s4);border-radius:999px;background:var(--surface-2)}.segmented button{border:0;background:transparent;padding:8px 18px;border-radius:999px;font-size:var(--fs-sm);font-weight:550;color:var(--muted);transition:background-color var(--t-med) var(--ease-out),color var(--t-fast)}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001a}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th{text-align:left;font-weight:550;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.table tr:last-child td{border-bottom:0}.fav{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 14px;border:1px solid var(--line-2);border-radius:999px;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:550;transition:color var(--t-fast),background-color var(--t-fast)}.fav.compact{width:36px;padding:0;justify-content:center;border-color:transparent}.fav .icon{width:18px;height:18px;transition:transform .45s cubic-bezier(.34,1.8,.5,1)}.fav:hover{color:var(--gold-ink);background:var(--gold-soft)}.fav.is-on{color:var(--gold-ink)}.fav.is-on .icon{fill:var(--gold);stroke:var(--gold-hover);transform:scale(1.15) rotate(-12deg)}:root[data-theme=dark] .fav.is-on,:root[data-theme=dark] .fav:hover{color:var(--gold)}#toast{display:none;position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:90;max-width:min(92vw,520px);padding:13px 22px;border-radius:999px;background:var(--ink);color:var(--bg);font-size:var(--fs-sm);box-shadow:var(--shadow-lg);animation:toast-in .45s var(--ease-out)}dialog{width:min(92vw,480px);border:0;border-radius:var(--r-xl);padding:var(--s7);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg)}dialog::backdrop{background:#14161899;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .45s var(--ease-out)}dialog p{color:var(--ink-2)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--s2);margin-top:var(--s6)}.layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar);display:flex;flex-direction:column;padding:var(--s5) var(--s4) var(--s4) 0;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.side-top{display:flex;align-items:center;justify-content:space-between;padding:0 var(--s2) var(--s6) var(--s5)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}.brand-mark{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:15px;letter-spacing:-.05em}.brand-mark:after{content:"";position:absolute;inset:3px;border:1.5px solid #ffffffb3;border-radius:9px}.brand-name{font-size:1.22rem;font-weight:650;letter-spacing:-.04em}.brand-name b{font-weight:300;margin-left:1px}.mobile-close{display:none}.route{position:relative;flex:1;padding-left:58px}.road{position:absolute;left:var(--s5);top:-8px;bottom:0;width:24px;border-radius:12px;background:linear-gradient(var(--paint),var(--paint)) left / 1.5px 100% no-repeat,linear-gradient(var(--paint),var(--paint)) right / 1.5px 100% no-repeat,repeating-linear-gradient(to bottom,var(--paint) 0 12px,transparent 12px 26px) center / 2px 100% no-repeat,var(--panel);background-position:left,right,50% var(--road-scroll, 0px),center;opacity:.96}.road-car{position:absolute;left:50%;top:0;z-index:2;width:16px;height:30px;margin-left:-8px;transform:translateY(var(--car-y, 0px)) rotate(var(--car-turn, 0deg));transition:transform .95s var(--ease-drive);filter:drop-shadow(0 3px 4px #0007)}.road-car svg{display:block;width:100%;height:100%}.road-car:before{content:"";position:absolute;left:50%;top:-26px;width:26px;height:30px;margin-left:-13px;background:radial-gradient(60% 100% at 50% 100%,#fff7cc88,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.road-car.moving:before{opacity:1}.road-car.reverse:before{top:auto;bottom:-26px;transform:rotate(180deg)}.nav{display:flex;flex-direction:column;gap:1px}.nav+.nav{margin-top:var(--s5)}.nav-label{margin:0 0 6px;padding:0 var(--s3);font-size:var(--fs-xs);font-weight:550;color:var(--muted)}.nav a{position:relative;display:flex;align-items:center;gap:var(--s3);min-height:40px;padding:8px var(--s3);border-radius:999px;color:var(--ink-2);font-size:var(--fs-sm);font-weight:500;text-decoration:none;transition:color var(--t-fast),background-color var(--t-fast),padding var(--t-med) var(--ease-out)}.nav a .icon{width:18px;height:18px;color:var(--muted);transition:color var(--t-fast),transform var(--t-med) var(--ease-out)}.nav a:before{content:"";position:absolute;left:-24px;top:50%;width:10px;height:2px;border-radius:2px;background:var(--line-2);transform:scaleX(0);transform-origin:left;transition:transform var(--t-med) var(--ease-out)}.nav a:hover{color:var(--ink);padding-left:16px}.nav a:hover:before{transform:scaleX(1)}.nav a:hover .icon{color:var(--ink)}.nav a.active{color:var(--ink);font-weight:650;background:var(--surface)}.nav a.active .icon{color:var(--accent-text)}.nav a.active:before{background:var(--gold);transform:scaleX(1)}.nav a span:first-of-type{flex:1}.count{min-width:22px;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-2);font-size:11px;font-weight:650;text-align:center;font-variant-numeric:tabular-nums}.nav a.active .count{background:var(--gold);color:var(--gold-ink)}.side-foot{margin-top:var(--s6);padding:var(--s4) 0 0 58px}.user{display:flex;align-items:center;gap:var(--s3);padding:var(--s2)}.user strong{display:block;font-size:var(--fs-sm);font-weight:600;line-height:1.2}.user small{color:var(--muted);font-size:var(--fs-xs)}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--bg);font-weight:650;font-size:var(--fs-sm)}.scrim{display:none}.main-wrap{margin-left:var(--sidebar);min-width:0}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:var(--s3);height:72px;padding:0 clamp(16px,4vw,56px);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.3) blur(16px);-webkit-backdrop-filter:saturate(1.3) blur(16px);box-shadow:0 1px 0 transparent;transition:box-shadow var(--t-med)}.topbar.scrolled{box-shadow:0 1px 0 var(--line)}.mobile-menu,.compact-brand{display:none}.top-search{position:relative;flex:1;max-width:420px;display:flex;align-items:center}.top-search .icon{position:absolute;left:16px;width:18px;height:18px;color:var(--muted);pointer-events:none;transition:color var(--t-fast)}.top-search input{width:100%;height:44px;padding:0 16px 0 44px;border:1px solid transparent;border-radius:999px;background:var(--surface-2);font-size:var(--fs-sm);transition:border-color var(--t-fast),background-color var(--t-fast),box-shadow var(--t-fast),max-width var(--t-med) var(--ease-out)}.top-search input:focus{outline:none;background:var(--surface);border-color:var(--ink);box-shadow:0 0 0 4px var(--accent-soft)}.top-search:focus-within .icon{color:var(--ink)}.top-right{display:flex;align-items:center;gap:var(--s2);margin-left:auto}.pill-link{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2);font-size:var(--fs-sm);font-weight:550;text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.pill-link .icon{width:17px;height:17px}.pill-link:hover{border-color:var(--ink);color:var(--ink)}main{max-width:var(--content);margin:0 auto;padding:var(--s6) clamp(16px,4vw,56px) var(--s9);outline:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s6);margin:var(--s4) 0 var(--s8)}.page-head h1{margin-bottom:var(--s3);font-size:clamp(2.3rem,1.5rem + 2.8vw,3.8rem)}.lede{max-width:58ch;margin:0;color:var(--muted);font-size:var(--fs-lg);line-height:1.55}.page-actions{display:flex;gap:var(--s2);flex:none}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}.section-head h2{margin:0;font-size:var(--fs-2xl)}.site-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s3);margin-top:var(--s9);padding-top:var(--s5);border-top:1px solid var(--line);color:var(--muted);font-size:var(--fs-xs)}.site-foot a{color:var(--muted);display:inline-flex;align-items:center;gap:2px}.site-foot .icon{width:14px;height:14px}.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s8);align-items:start}.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--s4)}.aside .card{padding:var(--s5);border-radius:var(--r-md)}.aside .card+.card,.aside .notice{margin:0}.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin-top:var(--s5)}.duo .card+.card{margin-top:0}.tri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);margin-top:var(--s5)}.tri .card+.card{margin-top:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s6)}.toolbar select.input{width:auto;min-width:200px;border-radius:999px}.tabbar{display:none}@media(max-width:1080px){.split{grid-template-columns:minmax(0,1fr);gap:var(--s6)}.aside{position:static}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{transform:translate(-104%);transition:transform .45s var(--ease-out);box-shadow:var(--shadow-lg);width:min(86vw,320px);background:var(--bg)}.sidebar.open{transform:none}.mobile-close{display:inline-grid}.scrim{display:block;position:fixed;inset:0;z-index:35;background:#14161880;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity var(--t-med)}.scrim.show{opacity:1;pointer-events:auto}.main-wrap{margin-left:0}.topbar{height:62px;padding:0 var(--s4);gap:var(--s2)}.mobile-menu{display:inline-grid}.compact-brand{display:inline-flex}.compact-brand .brand-mark{width:36px;height:36px;font-size:13px}.pill-link span{display:none}.pill-link{width:42px;padding:0;justify-content:center}main{padding:var(--s4) var(--s4) calc(110px + env(safe-area-inset-bottom))}.page-head{flex-direction:column;align-items:flex-start;margin-bottom:var(--s6)}.lede{font-size:var(--fs-md)}.duo,.tri{grid-template-columns:minmax(0,1fr)}.tabbar{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(5,1fr);padding:10px 6px 6px;border-radius:22px;background:repeating-linear-gradient(to right,#f4f4ef55 0 12px,transparent 12px 26px) 0 5px / 100% 1.5px no-repeat,var(--panel);box-shadow:var(--shadow-lg)}.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:50px;border:0;background:none;color:var(--panel-muted);font-size:11px;font-weight:550;text-decoration:none;transition:color var(--t-fast)}.tabbar .icon{width:22px;height:22px;transition:transform .45s cubic-bezier(.34,1.6,.5,1)}.tabbar a.active{color:var(--gold)}.tabbar a.active .icon{transform:translateY(-2px) scale(1.08)}.tabbar .tab-car{position:absolute;top:-2px;left:0;width:26px;height:14px;transform:translate(var(--tab-x, 0px));transition:transform .8s var(--ease-drive);filter:drop-shadow(0 2px 3px #0008);pointer-events:none}.tabbar .tab-car svg{width:100%;height:100%;display:block}#toast{bottom:calc(96px + env(safe-area-inset-bottom))}}@media(max-width:560px){.top-search input{font-size:16px}.stats,.stats.three{grid-template-columns:1fr 1fr}.stat:nth-child(odd){padding-left:0;border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.stat-value{font-size:2.2rem}.page-actions{width:100%}.page-actions .btn{flex:1}.input{font-size:16px}}.hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr auto;min-height:480px;padding:clamp(28px,4.5vw,60px);border-radius:var(--r-xl);background:var(--panel);color:var(--panel-ink)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px 320px at var(--hx, 75%) var(--hy, 30%),#ffffff14,transparent 70%);transition:background .2s}.hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background-image:radial-gradient(#ffffff0c 1px,transparent 1.2px),radial-gradient(#00000033 1px,transparent 1.2px);background-size:7px 7px,11px 11px;background-position:0 0,3px 5px}.hero-copy{position:relative;z-index:3;align-self:center;max-width:34rem}.hero-day{margin:0 0 var(--s5);color:var(--panel-muted);font-size:var(--fs-sm)}.hero-day b{color:var(--gold);font-weight:650}.hero h1{font-size:clamp(2.6rem,1.4rem + 4vw,5rem);color:var(--paint);letter-spacing:-.055em;line-height:.98;margin-bottom:var(--s5);font-weight:750}.hero h1 .soft{color:var(--panel-muted);font-weight:300;letter-spacing:-.045em}.hero-sub{color:var(--panel-muted);font-size:var(--fs-lg);margin-bottom:var(--s6);max-width:30rem}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}.hero-number{align-self:center;justify-self:end;font-size:clamp(9rem,20vw,17rem);font-weight:800;letter-spacing:-.08em;line-height:.8;color:transparent;-webkit-text-stroke:1.5px #ffffff38;-webkit-user-select:none;user-select:none}.hero .garage-visual{position:relative;min-height:320px}.hero-foot{grid-column:1 / -1;position:relative;z-index:3;margin-top:var(--s6)}.km-road{position:relative;display:grid;grid-template-columns:repeat(30,minmax(0,1fr));align-items:center;gap:5px;height:22px}.km{height:4px;border-radius:2px;background:#ffffff2e;transform-origin:left}.km.done{background:var(--gold);box-shadow:0 0 10px #f2b80766}.km.here{height:14px;border-radius:3px;background:var(--paint);box-shadow:0 0 0 4px #f4f4ef1f}.km.done.here{background:var(--gold)}.km-label{display:flex;justify-content:space-between;margin:var(--s3) 0 0;color:var(--panel-muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.resume{display:flex;align-items:center;gap:var(--s4);margin:var(--s5) 0 0;padding:var(--s4) var(--s5);border-radius:var(--r-md);background:var(--gold-soft)}.resume>div{flex:1;display:flex;flex-direction:column}.resume span{color:var(--ink-2);font-size:var(--fs-sm)}.resume-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--gold-ink)}.dash{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s8) var(--s6);margin-top:var(--s8)}.dash>*{margin:0!important}.next-card{grid-column:span 7;display:flex;flex-direction:column;align-items:flex-start;padding:0;border:0;background:none}.next-card h2{font-size:clamp(2rem,1.4rem + 1.8vw,3rem);letter-spacing:-.045em;font-weight:700;margin-bottom:var(--s4)}.next-card .muted{max-width:46ch;margin-bottom:var(--s6);font-size:var(--fs-lg)}.goal-card{grid-column:span 5;display:flex;align-items:center;gap:var(--s5);align-self:start}.goal-card h2{font-size:var(--fs-lg);margin-bottom:var(--s2)}.goal-card p{margin:0}.dash .stats{grid-column:1 / -1}.weak-card,.act-card{grid-column:span 6}.activity{display:grid;grid-template-columns:repeat(14,1fr);gap:6px;align-items:end;height:130px;margin-bottom:var(--s4)}.act-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.act-col i{display:block;width:100%;max-width:18px;border-radius:9px;background:var(--surface-3);transform-origin:bottom}.act-col.goal i{background:var(--accent)}.act-col small{font-size:10px;color:var(--muted)}.act-col.today small{color:var(--ink);font-weight:700}.session-list li{display:grid;grid-template-columns:1fr auto auto;gap:var(--s3);align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-sm)}.session-list small{color:var(--muted);font-size:var(--fs-xs)}.session-list b{font-weight:650;font-variant-numeric:tabular-nums}.week{margin-top:var(--s9)}.week-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--s3)}.promo{display:flex;align-items:center;gap:var(--s4);width:100%;padding:var(--s5);border-radius:var(--r-md)}.promo>div{flex:1;min-width:0}.promo h3{margin:0 0 2px;font-size:var(--fs-md)}.promo p{margin:0;color:var(--muted);font-size:var(--fs-sm)}.promo>.icon:last-child{color:var(--muted);transition:transform var(--t-med) var(--ease-out)}.promo:hover>.icon:last-child{transform:translate(4px);color:var(--ink)}.promo-icon{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--surface-2);color:var(--accent-text)}.credit{margin-top:var(--s6);font-size:var(--fs-xs);color:var(--muted)}.credit a{color:var(--muted)}.day-tile{position:relative;display:block;width:100%;min-height:150px;padding:0;border:0;background:transparent;perspective:900px;text-align:left;color:inherit;transform:rotateX(var(--rx, 0)) rotateY(var(--ry, 0));transition:transform .5s var(--ease-out)}.day-tile.compact{min-height:128px}.tile-inner{display:block;position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .9s var(--ease)}.tile-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:var(--s4);border-radius:var(--r-md);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.tile-front{background:var(--accent);color:#fff;box-shadow:inset 0 0 0 3px var(--accent),inset 0 0 0 4.5px #ffffffb3}.tile-back{transform:rotateY(180deg);background:var(--gold);color:var(--gold-ink);box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 4.5px #2b210066}.day-tile.is-complete .tile-inner{transform:rotateY(180deg)}.day-tile.active .tile-front{background:var(--panel);box-shadow:inset 0 0 0 3px var(--panel),inset 0 0 0 4.5px var(--gold)}.day-tile:hover .tile-face{filter:brightness(1.08)}.day-tile:focus-visible{box-shadow:none}.day-tile:focus-visible .tile-face{box-shadow:var(--focus)}.tile-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;opacity:.9}.tile-top .icon{width:15px;height:15px}.current-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:pulse 1.8s ease-in-out infinite}.tile-number{display:block;margin:auto 0 4px;font-size:2.8rem;font-weight:750;letter-spacing:-.07em;line-height:1;font-variant-numeric:tabular-nums}.compact .tile-number{font-size:2.2rem}.tile-title{font-size:var(--fs-sm);font-weight:500;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact .tile-title{font-size:12px}.plan-summary{display:flex;align-items:center;gap:var(--s6)}.plan-summary h2{margin-bottom:var(--s2)}.plan-summary p{margin:0 0 4px}.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s8);align-items:start;margin-top:var(--s7)}.week-block+.week-block{margin-top:var(--s8)}.week-title h2{margin-bottom:var(--s4);font-size:var(--fs-2xl)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s3)}.cal-card{position:sticky;top:96px}.cal-card h2{font-size:var(--fs-lg)}.cal-head,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-head span{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding-bottom:6px}.cal-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:50%;color:var(--ink-2);text-decoration:none;transition:transform var(--t-med) var(--ease-out),background-color var(--t-fast)}.cal-cell.blank{background:transparent}a.cal-cell:hover{transform:scale(1.12);background:var(--surface-2)}.cal-date{font-size:var(--fs-sm);font-weight:600;line-height:1}.cal-day{font-size:9px;color:var(--muted)}.cal-cell.done{background:var(--gold);color:var(--gold-ink)}.cal-cell.done .cal-day{color:var(--gold-ink)}.cal-cell.today{box-shadow:inset 0 0 0 2px var(--ink)}.cal-dot{position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal-cell.goal .cal-dot{width:6px;height:6px}.legend{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s4);font-size:var(--fs-xs);color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:12px;height:12px;border-radius:50%}.lg-done{background:var(--gold)}.lg-studied{background:var(--accent);transform:scale(.55)}.lg-today{box-shadow:inset 0 0 0 2px var(--ink)}.day-progress{display:flex;align-items:center;gap:var(--s5);margin-bottom:var(--s6);padding:var(--s4) var(--s5)}.day-progress>div:first-child{display:flex;flex-direction:column;flex:none}.day-progress .bar{flex:1}.steps{counter-reset:none}.steps>li{position:relative;display:flex;gap:var(--s4);padding:var(--s5) 0}.steps>li:not(:last-child):after{content:"";position:absolute;left:17px;top:64px;bottom:-8px;width:2px;background:repeating-linear-gradient(to bottom,var(--line-2) 0 6px,transparent 6px 12px)}.steps>li:first-child{padding-top:0}.steps>li:last-child{padding-bottom:0}.steps>li>div{flex:1;min-width:0}.steps h3{margin-bottom:4px}.step-n{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;background:var(--surface);border:1.5px solid var(--line-2);color:var(--ink-2);font-weight:650;font-size:var(--fs-sm)}.step-n .icon{width:17px;height:17px}.step.ok .step-n{background:var(--accent);border-color:var(--accent);color:#fff}.steps .muted.small{margin-top:var(--s2)}.fig-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3);margin-top:var(--s3)}.fig{aspect-ratio:4 / 3;padding:10px;border:1px solid var(--line);border-radius:var(--r-md);background:#fff;transition:transform .5s var(--ease-out),border-color var(--t-fast)}.fig img{width:100%;height:100%;object-fit:contain}.fig:hover{transform:translateY(-4px) rotate(-1deg);border-color:var(--ink)}.eval-score{display:flex;align-items:baseline;gap:var(--s3)}.eval-score strong{font-size:3rem;font-weight:300;letter-spacing:-.05em}.eval-score small{font-size:var(--fs-lg);color:var(--muted);font-weight:450}.eval-score span{color:var(--muted);font-size:var(--fs-sm)}.completion{text-align:left}.completion h2{font-size:var(--fs-lg)}.day-nav{display:flex;justify-content:space-between}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s3)}.lesson-grid .card+.card{margin:0}.lesson-card{position:relative;display:flex;flex-direction:column;padding:var(--s5);border-radius:var(--r-md);overflow:hidden}.lesson-card h3{margin:var(--s5) 0 var(--s2);font-size:var(--fs-lg)}.lesson-card p{color:var(--muted);font-size:var(--fs-sm);flex:1}.lesson-card.is-read:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--gold)}.lc-top,.lc-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}.lc-foot{font-size:var(--fs-xs);color:var(--muted);padding-top:var(--s3);border-top:1px solid var(--line)}.lc-num{font-size:2rem;font-weight:300;letter-spacing:-.06em;color:var(--ink);font-variant-numeric:tabular-nums}.lesson-body{padding:0;border:0;background:none;font-family:var(--serif);font-size:1.12rem;line-height:1.75}.lesson-body h2,.lesson-body h3,.lesson-body .kicker,.lesson-body .btn,.lesson-body .chip,.lesson-body small,.lesson-body figcaption,.lesson-body .notice,.lesson-body .lesson-toc,.lesson-body .sources,.lesson-body .completion,.lesson-body .evidence-box{font-family:var(--font)}.lesson-body section+section{margin-top:var(--s8)}.lesson-body h2{font-size:var(--fs-2xl);letter-spacing:-.035em}.lesson-body p{color:var(--ink-2);max-width:66ch}.summary-box{padding:var(--s5) var(--s6);margin-bottom:var(--s8);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.summary-box .checks li{color:var(--ink);font-size:var(--fs-md)}.sources{display:flex;flex-direction:column;gap:4px;margin-top:var(--s8);padding-top:var(--s5);border-top:1px solid var(--line);font-size:var(--fs-sm)}.sources span{color:var(--muted);font-size:var(--fs-xs);margin-top:4px}.lesson-body .completion{margin-top:var(--s8);padding:var(--s6);border-radius:var(--r-lg);background:var(--panel);color:var(--panel-ink)}.lesson-body .completion h2{color:var(--paint)}.lesson-body .completion .btn.secondary{--b-fg: var(--panel-ink);--b-bd: #ffffff40}.glossary dt{font-weight:600;margin-top:var(--s3)}.glossary dd{margin:2px 0 0;color:var(--muted);font-size:var(--fs-sm)}.mini-topic{display:grid;grid-template-columns:1fr auto;gap:2px var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:var(--fs-sm)}.mini-topic small{grid-column:1;color:var(--muted);font-size:var(--fs-xs)}.mini-topic .chip{grid-row:1 / 3;grid-column:2;align-self:center}.sign-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--s3)}.sign-grid .card+.card{margin:0}.sign-card{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);border-radius:var(--r-md)}.sign-img{display:grid;place-items:center;height:150px;padding:var(--s3);border-radius:var(--r-sm);background:#fff}.sign-img img{max-height:100%;object-fit:contain;transition:transform .6s var(--ease-out)}.sign-card:hover .sign-img img{transform:scale(1.08) rotate(-2deg)}.sign-card .chip{align-self:flex-start}.sign-card p{flex:1;margin:0;font-size:var(--fs-sm);color:var(--ink-2)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--s4);margin-top:var(--s7)}.search-block+.search-block{margin-top:var(--s8)}.search-block h2{font-size:var(--fs-lg)}.result-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--s3)}.result-links .card+.card{margin:0}.link-card{display:flex;align-items:center;gap:var(--s4);padding:var(--s4);border-radius:var(--r-md)}.link-card div{flex:1;min-width:0}.link-card strong{display:block}.link-card small{color:var(--muted);font-size:var(--fs-xs)}.q-list{display:flex;flex-direction:column}.q-row{display:flex;align-items:flex-start;gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line)}.q-row img{width:72px;height:56px;object-fit:contain;flex:none;border-radius:8px;background:#fff;padding:4px}.q-row>div{flex:1;min-width:0}.q-row p{margin:0 0 4px}.q-row small{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.quiz-landing{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--s5)}.quiz-landing .card+.card{margin:0}.exam-card{background:var(--panel);color:var(--panel-ink);border:0;border-radius:var(--r-xl)}.exam-card h2{color:var(--paint);font-size:var(--fs-2xl);letter-spacing:-.04em}.exam-card p,.exam-card .fine{color:var(--panel-muted)}.exam-rules{display:grid;grid-template-columns:repeat(3,1fr);margin:var(--s5) 0 var(--s6);border-top:1px solid var(--panel-line);border-bottom:1px solid var(--panel-line)}.exam-rules div{padding:var(--s4) 0}.exam-rules div+div{padding-left:var(--s4);border-left:1px solid var(--panel-line)}.exam-rules strong{display:block;font-size:2.6rem;font-weight:300;letter-spacing:-.05em;line-height:1;color:var(--gold)}.exam-rules small{color:var(--panel-muted);font-size:var(--fs-xs)}.session-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}.session-head .kicker{margin:0}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--s6);align-items:start}.quiz-layout .card+.card{margin:0}.question-card{padding:clamp(22px,3.5vw,44px);border-radius:var(--r-xl)}.q-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);margin-bottom:var(--s4)}.q-count{margin-right:auto;color:var(--muted);font-size:var(--fs-sm)}.q-count b{color:var(--ink);font-weight:650}.q-figure{display:grid;place-items:center;margin:0 0 var(--s6);padding:var(--s5);border-radius:var(--r-lg);background:#fff;border:1px solid var(--line)}.q-figure img{max-height:260px;object-fit:contain}.q-text{font-size:clamp(1.35rem,1.05rem + 1vw,1.9rem);font-weight:500;line-height:1.32;letter-spacing:-.025em;margin:0 0 var(--s7);text-wrap:pretty}.answers{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.answer{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--s3);min-height:76px;padding:var(--s4);border:1.5px solid var(--line-2);border-radius:999px;background:var(--surface);color:var(--ink);font-size:var(--fs-xl);font-weight:650;letter-spacing:-.02em;transition:transform .35s var(--ease-out),border-color var(--t-fast),background-color var(--t-fast),color var(--t-fast)}.answer:hover:not(:disabled){border-color:var(--ink);transform:translateY(-2px)}.answer:active:not(:disabled){transform:scale(.97)}.answer-key{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);font-size:var(--fs-sm);font-weight:650;color:var(--muted)}.answer.selected{border-color:var(--ink);background:var(--ink);color:var(--bg);animation:answer-pop .4s var(--ease-out)}.answer.correct{border-color:var(--ok);background:var(--ok);color:#fff;animation:answer-pop .4s var(--ease-out)}.answer.incorrect{border-color:var(--bad);background:var(--bad);color:#fff;animation:shake .45s var(--ease)}.answer.dim{opacity:.35}.answer:disabled{cursor:default}.answer.correct .answer-key,.answer.incorrect .answer-key,.answer.selected .answer-key{border-color:currentColor;color:inherit}.hint{margin:var(--s4) 0 0;color:var(--muted);font-size:var(--fs-sm)}.feedback{margin-top:var(--s6);padding:var(--s5) 0 0 var(--s5);border-left:3px solid var(--ok);animation:rise .45s var(--ease-out)}.feedback.bad{border-left-color:var(--bad)}.fb-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s3)}.fb-title .icon{color:var(--ok)}.feedback.bad .fb-title .icon{color:var(--bad)}.fb-title strong{font-size:var(--fs-lg)}.fb-title span{color:var(--ink-2);font-size:var(--fs-sm)}.fb-label{font-size:var(--fs-sm);font-weight:550;color:var(--ink-2);margin-bottom:var(--s2)}.feedback blockquote{margin:0 0 var(--s2);padding:var(--s3) var(--s4);background:var(--surface-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--ink)}.fb-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2) var(--s4);margin-top:var(--s3);font-size:var(--fs-sm)}.fb-links a{display:inline-flex;align-items:center;gap:6px}.fb-links .icon{width:16px;height:16px}.q-nav{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}.quiz-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:var(--s3)}.quiz-aside .kicker{margin:0}.timer{font-size:3.4rem;font-weight:300;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}.timer.urgent{color:var(--bad);animation:pulse 1s ease-in-out infinite}.q-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.qnum{min-width:0;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:600;transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-med) var(--ease-out)}.qnum:hover{border-color:var(--ink);color:var(--ink);transform:scale(1.08)}.qnum.answered{background:var(--surface-3);color:var(--ink);border-color:transparent}.qnum.right{background:var(--ok-soft);color:var(--ok)}.qnum.wrong{background:var(--bad-soft);color:var(--bad)}.qnum.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}.result-hero{display:flex;align-items:center;gap:var(--s7);border-radius:var(--r-xl)}.result-hero h2{margin:var(--s3) 0 var(--s2);font-size:var(--fs-2xl)}.result-hero.pass{background:var(--ok-soft);border-color:transparent}.result-hero.pass .ring{background:conic-gradient(var(--ok) calc(var(--p) * 1%),var(--surface) 0)}.result-hero.fail .ring{background:conic-gradient(var(--bad) calc(var(--p) * 1%),var(--surface-3) 0)}.result-list{display:flex;flex-direction:column;gap:var(--s3)}.result-list .card+.card{margin:0}.result-item{display:flex;gap:var(--s5);border-radius:var(--r-md);box-shadow:inset 4px 0 0 var(--ok)}.result-item.bad{box-shadow:inset 4px 0 0 var(--bad)}.result-item>img{width:120px;height:100px;object-fit:contain;flex:none;border-radius:var(--r-sm);background:#fff;padding:6px}.ri-body{flex:1;min-width:0}.ri-meta{display:flex;align-items:center;justify-content:space-between}.ri-text{font-size:var(--fs-lg);font-weight:500;margin:var(--s2) 0}.result-item .feedback{margin-top:var(--s3)}.exam-strip{display:flex;gap:var(--s2);margin:var(--s4) 0}.exam-strip span{display:flex;flex-direction:column;align-items:center;min-width:54px;padding:8px;border-radius:var(--r-sm);background:var(--ok-soft);color:var(--ok)}.exam-strip span.bad{background:var(--bad-soft);color:var(--bad)}.exam-strip b{font-size:var(--fs-xl);line-height:1}.exam-strip small{font-size:10px}.topic-table{font-size:var(--fs-sm)}.tt-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1.4fr) 80px 140px;gap:var(--s4);align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.tt-row:last-child{border-bottom:0}.tt-head{color:var(--muted);font-weight:550;font-size:var(--fs-xs)}.tt-bar{display:flex;align-items:center;gap:var(--s3)}.tt-bar .bar{flex:1}.tt-bar b{width:40px;text-align:right;font-weight:600;font-variant-numeric:tabular-nums}.checklist{margin:var(--s4) 0}.list-link{display:block;padding:var(--s4) 0;border-bottom:1px solid var(--line);font-weight:550;text-decoration:none;transition:padding var(--t-med) var(--ease-out)}.list-link small{display:block;margin-top:2px;color:var(--muted);font-weight:400}.list-link:hover{padding-left:8px}.sources-card .notice{margin:var(--s4) 0}.account-panel{margin-bottom:var(--s5)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s7)}.account-note{color:var(--muted);font-size:var(--fs-sm)}.account-state{display:flex;align-items:center;gap:var(--s2);font-weight:550}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px var(--ok-soft)}.account-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.account-form{display:flex;flex-direction:column;gap:var(--s3)}.account-form label{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm);font-weight:550;color:var(--ink-2)}.account-error{min-height:1.4em;color:var(--bad);font-size:var(--fs-sm)}.conflict-box{padding:var(--s5);border-radius:var(--r-md);background:var(--warn-soft)}.tips-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s6);padding:clamp(28px,4.5vw,56px);border-radius:var(--r-xl);background:var(--panel);color:var(--panel-ink)}.tips-hero h2{color:var(--paint);font-size:var(--fs-2xl);letter-spacing:-.04em}.tips-hero p{color:var(--panel-muted)}.tips-stamp{align-self:center;padding:var(--s5);border-radius:var(--r-lg);border:1px solid var(--panel-line)}.tips-stamp .kicker{color:var(--gold)}.tips-stamp strong{display:block;font-size:var(--fs-xl);margin-bottom:var(--s2)}.tips-stamp p{margin:0;font-size:var(--fs-sm)}.tips-block{margin-top:var(--s9)}.tips-block .kicker{margin-bottom:4px}.read-steps{counter-reset:step;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}.read-steps li{counter-increment:step;position:relative;padding:var(--s5) var(--s4) var(--s4) 0}.read-steps li+li{padding-left:var(--s4);border-left:1px solid var(--line)}.read-steps li:before{content:counter(step);display:block;margin-bottom:var(--s3);font-size:2.2rem;font-weight:300;color:var(--accent-text);letter-spacing:-.05em;line-height:1}.read-steps strong{display:block;margin-bottom:4px}.read-steps span{color:var(--muted);font-size:var(--fs-sm)}.word-tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5)}.word-tab{min-height:38px;padding:6px 16px;border:1px solid var(--line-2);border-radius:999px;background:transparent;font-weight:550;font-size:var(--fs-sm);transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.word-tab:hover{border-color:var(--ink)}.word-tab.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.word-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s5)}.word-head>div{flex:1;min-width:240px}.word-head strong{font-size:var(--fs-2xl);letter-spacing:-.04em}.word-head p{margin:var(--s2) 0 0;color:var(--ink-2)}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.evidence{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s5);border-radius:var(--r-md);background:var(--ok-soft)}.evidence.f{background:var(--bad-soft)}.truth{font-size:var(--fs-xs);font-weight:700;color:var(--ok)}.evidence.f .truth{color:var(--bad)}.evidence img{max-height:110px;width:auto;align-self:flex-start;background:#fff;border-radius:8px;padding:4px}.evidence p{margin:0;font-size:var(--fs-md)}.evidence a{font-size:var(--fs-xs);margin-top:auto}.thermo-card summary{cursor:pointer;font-weight:600}.thermo{margin-top:var(--s4);display:flex;flex-direction:column;gap:6px}.thermo-row{display:grid;grid-template-columns:120px 1fr 110px;gap:var(--s3);align-items:center}.thermo-row small{color:var(--muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.split-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:var(--surface-3)}.split-bar .sv{background:var(--ok)}.split-bar .sf{background:color-mix(in srgb,var(--bad) 75%,transparent)}.pattern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}.pattern-grid .card+.card{margin:0}.pattern{display:flex;flex-direction:column;border-radius:var(--r-md)}.pattern-n{display:inline-block;margin-bottom:var(--s3);font-size:1.6rem;font-weight:300;letter-spacing:-.04em;color:var(--accent-text)}.pattern p{color:var(--ink-2);font-size:var(--fs-sm)}.pattern .fix{padding:var(--s3);border-radius:var(--r-sm);background:var(--surface-2)}.pattern-ex{margin-top:auto;padding-top:var(--s3);border-top:1px dashed var(--line-2)}.pattern-ex img{max-height:80px;width:auto;background:#fff;border-radius:6px;padding:3px;margin-bottom:var(--s2)}.pattern-ex p{font-style:italic;color:var(--ink);margin-bottom:var(--s2)}.compare{display:grid;grid-template-columns:220px 1fr;gap:var(--s6);align-items:start}.compare>img{width:100%;background:#fff;border-radius:var(--r-md);padding:var(--s3);border:1px solid var(--line)}.compare-list{margin-bottom:var(--s5)}.compare-list li{display:flex;gap:var(--s3);align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}.compare-list .answer-tag{flex:none;width:58px;text-align:center}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}.method-grid .card+.card{margin:0}.method-grid p{color:var(--ink-2);font-size:var(--fs-sm)}.flash{max-width:640px;min-height:200px;display:flex;flex-direction:column;justify-content:space-between;background:var(--gold-soft);border-color:transparent;border-radius:var(--r-xl)}.flash h3{font-size:var(--fs-2xl);letter-spacing:-.04em}.flash.shown p{color:var(--ink);font-size:var(--fs-lg);animation:rise .45s var(--ease-out)}.lesson-toc{margin:var(--s4) 0 var(--s8);padding:0 0 0 var(--s5);border-left:3px solid var(--gold)}.lesson-toc .kicker{margin-bottom:6px}.lesson-toc .kicker:before{display:none}.lesson-toc ol{margin:0;padding-left:1.3em;list-style:decimal;columns:2 220px;column-gap:var(--s6);font-size:var(--fs-sm)}.lesson-toc li{break-inside:avoid;padding:3px 0}.lesson-toc li.deep::marker{color:var(--accent-text)}.lesson-toc a{color:var(--ink-2);text-decoration:none}.lesson-toc a:hover{color:var(--accent-text);text-decoration:underline}.lesson-sec{scroll-margin-top:96px;border-radius:var(--r-md);transition:background-color var(--t-med)}.lesson-sec h2{outline:none}.lesson-sec.is-target{background:var(--gold-soft);box-shadow:0 0 0 14px var(--gold-soft);animation:target-in 2s var(--ease-out)}.deep-head{margin-top:var(--s8);padding-top:var(--s6);border-top:1px solid var(--line)}.deep-head .kicker{margin:0}.lesson-sec.deep h2:before{content:"";display:inline-block;width:16px;height:3px;margin:0 12px 7px 0;border-radius:2px;background:var(--accent)}.evidence-box{margin:var(--s4) 0 var(--s2);padding:var(--s3) 0 var(--s3) var(--s5);border-left:3px solid var(--ok)}.evidence-box .kicker{color:var(--ok);margin-bottom:4px}.evidence-box .kicker:before{display:none}.evidence-box blockquote{margin:8px 0;font-size:var(--fs-sm);color:var(--ink-2)}.evidence-box small{display:block;color:var(--muted);font-size:11px}.diagram{margin:var(--s4) 0 var(--s5);padding:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.diagram svg{display:block;width:100%;max-width:540px;height:auto;margin:0 auto}.diagram-map{width:min(100%,260px);margin:0 auto;border-radius:14px;overflow:hidden;background:#5f8a4c}.diagram figcaption{margin-top:var(--s3);font-size:var(--fs-sm);color:var(--muted);text-align:center}.d-grass{fill:#8aa86a}.d-asphalt{fill:#3a3e44}.d-walk{fill:#d6d2c8}.d-shoulder{fill:#8e8a82}.d-median{fill:#7ba566}.d-dash{stroke:#f4f4ef;stroke-width:2;stroke-dasharray:8 6;fill:none}.d-solid{stroke:#f4f4ef;stroke-width:3;fill:none}.d-arrow{stroke:#f2b807;stroke-width:2.5;fill:none}.d-path{stroke:#f2b807;stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:5 4}.d-car{fill:#0a7a4a;stroke:#fff;stroke-width:1.5}.d-car.d-other{fill:#e8edf3;stroke:#1b2233}.d-react{fill:var(--accent)}.d-brake{fill:var(--bad)}.d-measure{stroke:var(--ink-2);stroke-width:1.5;fill:none}.d-view{fill:#3dbe8459}.d-blind{fill:#c8102e66}.d-t{font:600 10px var(--font);fill:var(--ink-2);text-anchor:middle}.d-t.d-l{text-anchor:start}.d-t.d-s{font-size:8.5px}.d-t.d-on{fill:#fff}@media(max-width:1080px){.plan-layout{grid-template-columns:minmax(0,1fr)}.cal-card{position:static}.read-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-layout{grid-template-columns:minmax(0,1fr)}.quiz-aside{position:static}.q-grid{grid-template-columns:repeat(10,1fr)}}@media(max-width:900px){.hero{grid-template-columns:1fr;min-height:0;border-radius:var(--r-lg)}.hero .garage-visual{min-height:240px;margin-top:var(--s4)}.hero-number{display:none}.next-card,.goal-card,.weak-card,.act-card{grid-column:1 / -1}.week-row{grid-template-columns:repeat(7,132px);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 12px;margin:0 -4px}.week-row .day-tile{scroll-snap-align:start}.quiz-landing,.tips-hero,.evidence-grid,.method-grid,.compare,.account-grid{grid-template-columns:minmax(0,1fr)}.compare>img{max-width:220px}.fig-row{grid-template-columns:repeat(2,minmax(0,1fr))}.tt-row{grid-template-columns:minmax(0,1fr) 110px}.tt-row>:nth-child(3),.tt-row>:nth-child(4){display:none}}@media(max-width:560px){.hero{padding:24px 20px}.hero h1{font-size:2.5rem}.hero-actions .btn{flex:1}.km-road{gap:3px}.goal-card{flex-direction:column;align-items:flex-start}.plan-summary,.result-hero{flex-direction:column;align-items:flex-start;gap:var(--s4)}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.answers{gap:var(--s2)}.answer{min-height:64px;font-size:var(--fs-lg)}.answer-key,.kbd-hint{display:none}.q-nav .btn{flex:1}.q-grid{grid-template-columns:repeat(6,1fr)}.result-item{flex-direction:column;gap:var(--s3)}.result-item>img{width:100%;height:140px}.read-steps{grid-template-columns:minmax(0,1fr)}.read-steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}.thermo-row{grid-template-columns:90px 1fr}.thermo-row small{grid-column:2}.day-progress{flex-direction:column;align-items:stretch;gap:var(--s3)}.segmented{display:flex}.segmented button{flex:1}.lesson-body{font-size:1.05rem}}main{container:main / inline-size}@container main (max-width: 980px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{max-width:36rem}.hero .garage-visual{min-height:260px;margin-top:var(--s2)}.hero-number{display:none}.split,.plan-layout,.quiz-layout{grid-template-columns:minmax(0,1fr)}.aside,.cal-card,.quiz-aside{position:static}.q-grid{grid-template-columns:repeat(10,1fr)}}@container main (max-width: 820px){.next-card,.goal-card,.weak-card,.act-card{grid-column:1 / -1}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats>.stat:nth-child(3){padding-left:0;border-left:0}.stats>.stat:nth-child(n+3){border-top:1px solid var(--line)}.quiz-landing,.evidence-grid,.compare,.account-grid,.method-grid{grid-template-columns:minmax(0,1fr)}.read-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@container main (max-width: 560px){.q-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.read-steps{grid-template-columns:minmax(0,1fr)}.stats.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:400px){.q-nav .btn,.hero-actions .btn,.row.wrap .btn{white-space:normal;min-width:0}.session-head .btn{padding-inline:10px}}@media(max-width:420px){.compact-brand{display:none}}.cross-sign{width:26px;height:26px;flex:none}.kicker .cross-sign,.chip .cross-sign{width:16px;height:16px}.cross-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s6);align-items:start}.cross-hero h2{margin-top:0}.cross-how{margin:0;padding-left:1.2em;display:grid;gap:var(--s2);color:var(--ink-2);line-height:1.55}.cross-side{display:grid;gap:var(--s4)}.cross-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.cross-index{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s5) 0}.cross-index a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 8px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);font-weight:550;text-decoration:none;transition:background var(--t-fast),transform var(--t-fast) var(--ease-out)}.cross-index a:hover{background:var(--surface-2);color:var(--ink);transform:translateY(-1px)}.cross-index .cross-sign{width:22px;height:22px}.cross-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.cross-type{display:flex;flex-direction:column;gap:var(--s2);scroll-margin-top:90px}.cross-type-head{display:flex;align-items:center;gap:var(--s3)}.cross-type-head .cross-sign{width:46px;height:46px;padding:6px;border-radius:14px;background:var(--surface-2)}.cross-type-head .kicker{margin:0}.cross-type h2{margin:2px 0 0;font-size:var(--fs-lg);outline:none}.cross-type>p{margin:0;color:var(--ink-2);line-height:1.6}.cross-steps{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:var(--fs-sm);color:var(--ink-2)}.cross-trap{display:flex;gap:8px;align-items:flex-start;margin:0;padding:10px 12px;border-radius:var(--r-md);background:var(--gold-soft);font-size:var(--fs-sm);color:var(--ink-2)}.cross-trap .icon{flex:none;width:18px;height:18px;color:var(--gold-ink)}.cross-refs{font-size:var(--fs-sm)}.cross-refs summary{cursor:pointer;color:var(--accent-text);font-weight:600;padding:4px 0}.cross-refs ul{list-style:none;margin:var(--s2) 0 0;padding:0;display:grid;gap:var(--s2)}.cross-ref{line-height:1.5;color:var(--ink-2)}.cross-ref .chip{min-height:20px;padding:1px 8px;margin-right:4px;font-size:11px}.cross-ref small{display:block}.cross-type-foot{margin-top:auto;padding-top:var(--s2)}.drive-top{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s4)}.drive-progress{flex:1;display:grid;gap:6px;font-size:var(--fs-sm);color:var(--muted)}.drive{padding:0;overflow:hidden}.drive-stage{position:relative;aspect-ratio:16 / 9;max-height:68vh;min-height:300px;width:100%;background:linear-gradient(#9ec5ea,#dfe9f1 55%,#7fa05f 56%);isolation:isolate;user-select:none;-webkit-user-select:none}.drive-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .5s}.drive-stage canvas:active{cursor:grabbing}.drive-stage.is-ready canvas{opacity:1}.drive-loading{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:10px;color:#1b2233;font-weight:600;text-align:center;padding:var(--s5)}.drive-stage.is-ready .drive-loading{display:none}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(27,34,51,.2);border-top-color:#1b2233;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.drive-brief{position:absolute;left:14px;top:14px;z-index:2;max-width:min(380px,58%);padding:12px 14px;border-radius:14px;background:#0f1420c7;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 30px #00000040;pointer-events:none}.drive-brief .kicker{color:#ffd84d;margin-bottom:4px}.drive-brief p:last-child{margin:0;font-weight:600;line-height:1.4}.drive-map{position:absolute;right:14px;top:14px;z-index:2;width:clamp(118px,22%,190px);aspect-ratio:1;border-radius:16px;overflow:hidden;background:#5f8a4c;border:3px solid rgba(255,255,255,.85);box-shadow:0 8px 30px #00000040;pointer-events:none}.drive-look{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:10px;padding:4px;border-radius:999px;background:#0f142099;color:#fff;font-size:12px;white-space:nowrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity var(--t-fast)}.drive-look span{padding:0 2px}.drive-look-btn{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#ffffff29;color:#fff;cursor:pointer}.drive-look-btn:hover{background:#ffffff4d}.drive-look-btn .icon{width:18px;height:18px}.drive-stage.is-playing .drive-look{opacity:0;pointer-events:none}.drive-stage:after{content:attr(data-you-pick);position:absolute;left:50%;bottom:62px;z-index:2;transform:translate(-50%) scale(.6);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:20px;border:3px solid #fff;box-shadow:0 6px 18px #0000004d;opacity:0;transition:opacity var(--t-fast),transform var(--t-med) var(--ease-out);pointer-events:none}.drive-stage[data-you-pick]:not([data-you-pick=""]):after{opacity:1;transform:translate(-50%) scale(1)}.drive-stage.is-playing:after{opacity:0}.drive-stage.you-hover canvas{cursor:pointer}.drive-stage.is-failed canvas{display:none}.drive-stage.is-failed .drive-map{left:50%;right:auto;top:50%;transform:translate(-50%,-50%);width:min(70%,320px)}.drive-stage.is-failed .drive-look,.drive-stage.is-failed .drive-brief{display:none}.drive-stage.is-failed .drive-loading{align-content:end;padding-bottom:12px;font-size:var(--fs-sm)}.drive-panel{padding:var(--s5) var(--s6) var(--s6);display:grid;gap:var(--s4)}.drive-task{margin:0;color:var(--ink-2)}.drive-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s2)}.drive-choice{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px 8px 8px;border-radius:var(--r-md);border:1.5px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease-out)}.drive-choice:hover{border-color:var(--accent);background:var(--accent-soft)}.drive-choice:active{transform:scale(.98)}.drive-choice.is-picked{border-color:var(--accent);background:var(--accent-soft)}.drive-key{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface-2);color:var(--ink);font-size:16px;border:2px solid var(--line-2)}.drive-choice.is-you .drive-key{background:#00633f;color:#fff;border-color:#00633f;font-size:13px}.drive-choice.is-picked .drive-key{background:var(--accent);color:#fff;border-color:var(--accent);animation:pop .35s var(--ease-out)}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}to{transform:scale(1)}}.drive-verdict{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s4);border-radius:var(--r-md)}.drive-verdict>.icon{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;color:#fff}.drive-verdict.ok{background:var(--ok-soft)}.drive-verdict.ok>.icon{background:var(--ok)}.drive-verdict.bad{background:var(--bad-soft)}.drive-verdict.bad>.icon{background:var(--bad)}.drive-verdict h2{margin:0 0 4px;font-size:var(--fs-lg);outline:none}.drive-verdict p{margin:0;line-height:1.5}.drive-why{margin:0;padding-left:1.2em;display:grid;gap:6px;color:var(--ink-2);line-height:1.55}.cross-summary{display:flex;gap:var(--s6);align-items:center}.cross-summary h2{margin-top:0}.cross-wrong{margin:0 0 var(--s4);padding-left:1.2em;display:grid;gap:6px}.cross-wrong small{display:block}.cross-map{width:100%;height:100%;display:block}.m-road{fill:#4a4f57}.m-drive{fill:#bdb6a8}.m-island{fill:#6f9b5c;stroke:#c9ccd0;stroke-width:1}.m-line{stroke:#f1f1ef;stroke-width:.7;stroke-dasharray:3 3}.m-rail{stroke:#c3c8cc;stroke-width:.6}.m-path{fill:none;stroke:#ffd84d;stroke-width:1.6;stroke-linecap:round;opacity:.9}.m-arrowhead{fill:#ffd84d}.m-car rect{fill:#e8edf3;stroke:#1b2233;stroke-width:.8}.m-you rect{fill:#0c8a57;stroke:#fff}.m-tram rect{fill:#f3c623}.m-bus rect{fill:#f08a24}.m-camion rect{fill:#e9e4d8}.m-moto rect,.m-bici rect{fill:#ffd84d}.m-police rect,.m-ambulance rect{fill:#3b82f6;stroke:#fff}.m-label{font:800 6.5px Outfit,Arial,sans-serif;fill:#fff;paint-order:stroke;stroke:#1b2233;stroke-width:1.6px}.m-light{stroke:#111;stroke-width:.8}.m-green{fill:#34c759}.m-red{fill:#ff3b30}.m-flash{fill:#fc0}.m-agent{fill:#fff;stroke:#1e2b4a;stroke-width:1.2}@container main (max-width: 820px){.cross-hero,.cross-types{grid-template-columns:minmax(0,1fr)}.drive-stage{aspect-ratio:4 / 3}}@container main (max-width: 560px){.drive-stage{aspect-ratio:3 / 4;max-height:72vh}.drive-brief{left:10px;right:10px;top:10px;max-width:none;padding:10px 12px;font-size:var(--fs-sm)}.drive-map{top:auto;bottom:62px;right:10px;width:108px}.drive-look span{display:none}.drive-panel{padding:var(--s4)}.drive-choices{grid-template-columns:minmax(0,1fr)}.cross-summary{flex-direction:column;text-align:center}.cross-stats{grid-template-columns:minmax(0,1fr)}.drive-top{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.spinner,.drive-choice.is-picked .drive-key{animation:none}}.garage-visual{position:relative;z-index:2}.car-stage{position:absolute;inset:-30px -50px 30px -40px;min-width:0}.car-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;opacity:0;transition:opacity .8s}.car-stage canvas:active{cursor:grabbing}.car-stage.is-ready canvas{opacity:1}.car-fallback{width:100%;height:100%;object-fit:contain;mix-blend-mode:lighten;opacity:.9;transition:opacity .5s;-webkit-mask-image:radial-gradient(ellipse,#000 35%,transparent 72%);mask-image:radial-gradient(ellipse,#000 35%,transparent 72%)}.car-stage.is-ready .car-fallback{opacity:0}.car-stage.is-failed .car-fallback{opacity:1}.model-state{position:absolute;left:50%;bottom:20px;transform:translate(-50%);font-size:11px;color:var(--panel-muted);white-space:nowrap;transition:opacity .3s}.car-stage.is-ready .model-state{opacity:0}.garage-tools{position:absolute;left:0;right:0;bottom:-6px;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:var(--panel-muted)}.live-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:pulse 2s ease-in-out infinite}.replay-car{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--panel-line);background:transparent;color:var(--panel-ink);transition:background-color var(--t-fast),transform .5s var(--ease-out)}.replay-car:hover{background:#ffffff1a;transform:rotate(-200deg)}.replay-car .icon{width:15px;height:15px}::view-transition-old(root){animation:lane-out .38s var(--ease-drive) both}::view-transition-new(root){animation:lane-in .62s var(--ease-out) both}.page-arrive{animation:lane-in .6s var(--ease-out) both}[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}[data-split] .w>span{display:inline-block;transform:translateY(105%);animation:word-up .9s var(--ease-out) forwards;animation-delay:calc(.12s + var(--wi) * 55ms)}.hero.enter .hero-day{animation:fade-in .7s var(--ease-out) both .05s}.hero.enter .hero-sub{animation:rise .8s var(--ease-out) both .55s}.hero.enter .hero-actions{animation:rise .8s var(--ease-out) both .7s}.hero.enter .km{animation:paint-km .5s var(--ease-out) both;animation-delay:calc(.8s + var(--i) * .03s)}.hero.enter .km-label{animation:fade-in .6s var(--ease-out) both 1.5s}.km.here{animation:here-pulse 2.4s ease-in-out infinite 2s}.reveal{opacity:0;transform:translateY(18px);filter:blur(4px);transition:opacity .8s var(--ease-out),transform .9s var(--ease-out),filter .8s var(--ease-out);transition-delay:calc(var(--ri, 0) * 70ms)}.reveal.in{opacity:1;transform:none;filter:none}.grow i{transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease-out) .15s,width .9s var(--ease-out)}.grow.in i{transform:none}.activity.grow .act-col i{transform:scaleY(0);transform-origin:bottom;transition:transform .9s var(--ease-out);transition-delay:calc(var(--ci, 0) * 40ms)}.activity.grow.in .act-col i{transform:none}.ring.grow{--p-anim: 0}.click-wave{position:absolute;width:30px;height:30px;border-radius:50%;background:currentColor;opacity:.18;pointer-events:none;animation:click-wave .7s ease-out forwards}.day-tile.just-completed{animation:day-lift 1.2s ease both}.day-tile.just-completed .tile-inner{animation:day-flip 1.2s cubic-bezier(.2,.72,.15,1) both}.day-tile.just-completed .tile-back{box-shadow:inset 0 0 0 3px var(--gold),0 14px 40px #f2b80770}.celebration{position:fixed;inset:0;z-index:80;pointer-events:none;overflow:hidden}.celebration i{position:absolute;left:50%;top:35%;width:9px;height:16px;border-radius:2px;background:var(--gold);animation:confetti 1.65s cubic-bezier(.1,.7,.4,1) forwards;animation-delay:var(--delay)}.completion-pop{position:fixed;z-index:90;left:50%;top:20%;transform:translate(-50%);padding:14px 26px;border-radius:999px;background:var(--gold);color:var(--gold-ink);font-size:var(--fs-lg);font-weight:650;white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none;animation:completion-pop 2.4s both}@keyframes lane-out{to{opacity:0;transform:translate(-40px) skew(2deg);filter:blur(6px)}}@keyframes lane-in{0%{opacity:0;transform:translate(60px);filter:blur(8px)}}@keyframes word-up{to{transform:none}}@keyframes paint-km{0%{transform:scaleX(0);opacity:0}}@keyframes here-pulse{50%{box-shadow:0 0 0 9px #f4f4ef14}}@keyframes fade-in{0%{opacity:0}}@keyframes rise{0%{opacity:.001;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes page-arrive{0%{opacity:.001;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,16px) scale(.96)}}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px) scale(.97)}}@keyframes answer-pop{40%{transform:scale(.96)}70%{transform:scale(1.02)}}@keyframes shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}@keyframes pulse{50%{opacity:.45}}@keyframes target-in{0%{box-shadow:0 0 0 30px transparent;background:transparent}30%{box-shadow:0 0 0 14px var(--gold-soft);background:var(--gold-soft)}}@keyframes day-flip{0%{transform:rotateY(0)}40%{transform:rotateY(80deg)}75%{transform:rotateY(195deg)}to{transform:rotateY(180deg)}}@keyframes day-lift{0%,to{translate:0 0}40%,60%{translate:0 -16px}}@keyframes click-wave{to{transform:scale(14);opacity:0}}@keyframes confetti{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),var(--dy)) rotate(var(--spin));opacity:0}}@keyframes completion-pop{0%{opacity:0;translate:0 25px;scale:.85}15%,75%{opacity:1;translate:0 0;scale:1}to{opacity:0;translate:0 -20px;scale:1.02}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}[data-split] .w>span{transform:none}.day-tile{transform:none!important}}@media print{.sidebar,.topbar,.tabbar,.scrim,.site-foot,.aside,.completion,.btn,#toast{display:none!important}.main-wrap{margin:0}main{padding:0;max-width:none}.split{display:block}.card{border:0;padding:0}body{background:#fff;color:#000}}.sidebar{view-transition-name:road}.topbar{view-transition-name:topbar}.tabbar{view-transition-name:roadbar}::view-transition-old(road),::view-transition-old(topbar),::view-transition-old(roadbar){display:none}::view-transition-new(road),::view-transition-new(topbar),::view-transition-new(roadbar){animation:none}
