@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-400-normal-BbWidj28.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-ext-400-italic-3fJ3SmOv.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-ext-400-italic-B-Yabllp.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-display:swap;font-weight:400;src:url(./atkinson-hyperlegible-latin-400-italic-D-qjh7ci.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-400-italic-OoEIrRJc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(./atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(./atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-opsz-normal-Cre6nC2_.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #eef1ec;--surface: #fafbf8;--fg: #17201c;--muted: #56615b;--line: #d3d9d2;--accent: #2f45c9;--accent-ink: #ffffff;--accent-soft: #e2e6fa;--mark: #c98f00;--mark-ink: #875f00;--mark-soft: #fbefc8;--good: #1d7349;--good-soft: #dcf0e4;--bad: #b0302a;--bad-soft: #f7e1de;--mk-bg: #ffffff;--mk-line: #c6cdc8;--f-display: "Bricolage Grotesque Variable", "Bricolage Grotesque", "Avenir Next", "Segoe UI", system-ui, sans-serif;--f-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111614;--surface: #19201d;--fg: #e6ece8;--muted: #9ba6a0;--line: #2b3430;--accent: #8e9dff;--accent-ink: #0e1330;--accent-soft: #232a4e;--mark: #f0c04a;--mark-ink: #f0c04a;--mark-soft: #3a3014;--good: #5bc48e;--good-soft: #15342a;--bad: #f2887e;--bad-soft: #3b1e1b;--mk-bg: #202825;--mk-line: #3a4540;color-scheme:dark}}:root[data-theme=dark]{--bg: #111614;--surface: #19201d;--fg: #e6ece8;--muted: #9ba6a0;--line: #2b3430;--accent: #8e9dff;--accent-ink: #0e1330;--accent-soft: #232a4e;--mark: #f0c04a;--mark-ink: #f0c04a;--mark-soft: #3a3014;--good: #5bc48e;--good-soft: #15342a;--bad: #f2887e;--bad-soft: #3b1e1b;--mk-bg: #202825;--mk-line: #3a4540;color-scheme:dark}[data-accent=indigo]{--accent: #2f45c9;--accent-ink: #ffffff;--accent-soft: #e2e6fa}[data-accent=ocean]{--accent: #0a5c91;--accent-ink: #ffffff;--accent-soft: #dcecf7}[data-accent=violet]{--accent: #6639bd;--accent-ink: #ffffff;--accent-soft: #ebe3fa}[data-accent=plum]{--accent: #8c2b83;--accent-ink: #ffffff;--accent-soft: #f6e1f2}[data-accent=graphite]{--accent: #38463f;--accent-ink: #ffffff;--accent-soft: #e0e6e1}@media(prefers-color-scheme:dark){:root:not([data-theme=light])[data-accent=indigo],:root:not([data-theme=light]) [data-accent=indigo]{--accent: #8e9dff;--accent-ink: #0e1330;--accent-soft: #232a4e}:root:not([data-theme=light])[data-accent=ocean],:root:not([data-theme=light]) [data-accent=ocean]{--accent: #6cb6ef;--accent-ink: #06243a;--accent-soft: #16314a}:root:not([data-theme=light])[data-accent=violet],:root:not([data-theme=light]) [data-accent=violet]{--accent: #b59cff;--accent-ink: #1f0f45;--accent-soft: #2d2450}:root:not([data-theme=light])[data-accent=plum],:root:not([data-theme=light]) [data-accent=plum]{--accent: #e79ad9;--accent-ink: #3a0c33;--accent-soft: #3b1f38}:root:not([data-theme=light])[data-accent=graphite],:root:not([data-theme=light]) [data-accent=graphite]{--accent: #c9d3ce;--accent-ink: #141a17;--accent-soft: #2a332f}}:root[data-theme=dark][data-accent=indigo],:root[data-theme=dark] [data-accent=indigo]{--accent: #8e9dff;--accent-ink: #0e1330;--accent-soft: #232a4e}:root[data-theme=dark][data-accent=ocean],:root[data-theme=dark] [data-accent=ocean]{--accent: #6cb6ef;--accent-ink: #06243a;--accent-soft: #16314a}:root[data-theme=dark][data-accent=violet],:root[data-theme=dark] [data-accent=violet]{--accent: #b59cff;--accent-ink: #1f0f45;--accent-soft: #2d2450}:root[data-theme=dark][data-accent=plum],:root[data-theme=dark] [data-accent=plum]{--accent: #e79ad9;--accent-ink: #3a0c33;--accent-soft: #3b1f38}:root[data-theme=dark][data-accent=graphite],:root[data-theme=dark] [data-accent=graphite]{--accent: #c9d3ce;--accent-ink: #141a17;--accent-soft: #2a332f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.55}a{color:var(--accent)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3{font-family:var(--f-display);line-height:1.15;text-wrap:balance;margin:0}.bar{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}html{scroll-padding-top:88px}@media(max-width:720px){.bar{position:static}html{scroll-padding-top:0}}.bar-in{max-width:760px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand{font-family:var(--f-display);font-weight:800;font-size:20px;letter-spacing:-.01em;color:var(--fg);text-decoration:none}.brand span{color:var(--accent)}.stats{display:flex;gap:8px;flex-wrap:wrap}.chip{font-family:var(--f-body);font-size:13px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;white-space:nowrap}.chip b{font-weight:600}.chip.xp b{color:var(--mark-ink)}.account-link{display:inline-flex;align-items:center;flex:none;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font-family:var(--f-body);font-size:13px;white-space:nowrap;text-decoration:none}.account-link:hover{border-color:var(--accent)}.account-link .sync-mark{color:var(--good);font-weight:700;margin-right:4px}.account-link.error{color:var(--bad);border-color:var(--bad)}.account-link.signed-out{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700;font-size:14px;padding:4px 14px}.main{max-width:760px;margin:0 auto;padding-inline:16px;padding-block:28px 64px;display:grid;gap:36px}.eyebrow{font-family:var(--f-body);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lede{font-size:18px;max-width:62ch;color:var(--muted);margin:10px 0 0}.hero h1{font-size:clamp(30px,6vw,44px);font-weight:800;letter-spacing:-.02em;margin-top:6px}.footnote{color:var(--muted);font-size:13px;margin:0}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}.section-head h2{font-size:24px;font-weight:700}.meter{display:flex;align-items:center;gap:10px;font-family:var(--f-body);font-size:12px;color:var(--muted)}.meter-track{width:120px;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.meter-track i{display:block;height:100%;background:var(--accent);transition:width .4s}.path{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.path li{border-bottom:1px solid var(--line)}.row{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:14px 4px;color:var(--fg);text-decoration:none}.row:hover .row-title{color:var(--accent)}.code{font-family:var(--f-body);font-weight:600;font-size:13px;color:var(--accent)}.row-title{font-weight:700;font-size:17px;min-width:0}.row-sub{display:block;font-weight:400;font-size:14px;color:var(--muted)}.status{font-family:var(--f-body);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap}.status.done{background:var(--good-soft);color:var(--good)}.status.next{background:var(--accent);color:var(--accent-ink)}.status.todo{color:var(--muted);border:1px solid var(--line)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);font-weight:700;cursor:pointer;text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--fg);border-color:var(--line)}.btn{transition:background-color .15s ease,border-color .15s ease,transform .1s ease}@media(hover:hover){.btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 82%,var(--fg))}.btn.ghost:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--bad) 82%,var(--fg))}.btn.ghost.danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad)}.account-link.signed-out:hover{background:color-mix(in srgb,var(--accent) 82%,var(--fg))}}.btn:active:not(:disabled){transform:translateY(1px)}.roadmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.road{border:1px dashed var(--line);border-radius:10px;padding:14px}.road h3{font-size:16px;margin-top:4px}.road p{margin:6px 0 0;font-size:14px;color:var(--muted)}.back{display:inline-flex;align-items:center;gap:8px;width:fit-content;min-height:44px;padding:8px 16px 8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);font-size:16px;font-weight:700;text-decoration:none}.back:hover{border-color:var(--accent)}.steps{display:flex;gap:4px;margin-top:14px}.steps i{flex:1;height:4px;border-radius:2px;background:var(--line)}.steps i.on{background:var(--accent)}.saved-note{margin:8px 0 0;color:var(--muted);font-size:13px}.resume{position:relative;display:grid;gap:10px;margin-top:14px;border-color:var(--accent);background:var(--accent-soft)}.resume p{margin:0}.resume .actions{margin-top:0}.lesson h1{font-size:clamp(28px,5vw,38px);font-weight:800;letter-spacing:-.015em;margin-top:6px}.prose{max-width:64ch;margin-top:18px}.prose p{margin:0 0 14px}.prose h2,.prose h3{font-size:18px;margin:22px 0 8px}.prose ul{margin:0;padding-left:20px;display:grid;gap:6px}.field{border-left:3px solid var(--mark);background:var(--mark-soft);padding:12px 16px;border-radius:0 8px 8px 0;margin-top:22px;font-size:15px}.field b{font-family:var(--f-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:4px}.sources{margin-top:22px;font-size:14px;color:var(--muted)}.sources a{display:inline-block;margin-right:12px}.sources .license-note{margin:8px 0 0;font-size:13px}.sources .license-note a{display:inline;margin:0}.q{font-family:var(--f-display);font-size:21px;font-weight:700;line-height:1.3;max-width:60ch;margin:8px 0 0}.qhint{color:var(--muted);font-size:14px;margin:4px 0 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}@media(max-width:620px){.pair{grid-template-columns:1fr}}.choice{display:grid;gap:10px;text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:12px;padding:12px;cursor:pointer;min-width:0}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{cursor:default}.choice .tag{font-family:var(--f-body);font-size:12px;font-weight:600;color:var(--muted)}.opts{display:grid;gap:10px;margin-top:16px;max-width:620px}.opt{text-align:left;background:var(--surface);border:2px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer}.opt:hover:not(:disabled){border-color:var(--accent)}.opt:disabled{cursor:default}.choice.chosen,.opt.chosen,.spot-part.chosen{border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.verdict.chosen{color:var(--fg)}.feedback.neutral{background:var(--accent-soft)}.choice.right,.opt.right{border-color:var(--good);background:var(--good-soft)}.choice.wrong,.opt.wrong{border-color:var(--bad);background:var(--bad-soft)}.sort-items{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;max-width:620px}.sort-item{background:var(--surface);border:2px solid var(--line);border-radius:10px;padding:12px 14px}.sort-item.right{border-color:var(--good);background:var(--good-soft)}.sort-item.wrong{border-color:var(--bad);background:var(--bad-soft)}.sort-item.missing{border-color:var(--bad)}.sort-item .form-error{margin:0}.sort-check{align-items:center}.sort-check .form-error{margin:0}.sort-item fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}.sort-text{padding:0;font-weight:700}.sort-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.sort-option{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);cursor:pointer;font-size:15px}.sort-option input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--accent)}.sort-option.chosen{border-color:var(--accent);background:var(--accent-soft);font-weight:700}.sort-option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.sort-option:has(input:disabled){cursor:default}.sort-item .verdict{margin:0}.feedback{position:relative;margin-top:18px;padding:14px 16px;border-radius:10px;max-width:64ch}.feedback.good{background:var(--good-soft)}.feedback.bad{background:var(--bad-soft)}.feedback strong{display:block;margin-bottom:4px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.done-card p{margin:8px 0 0}.done-card .big{font-family:var(--f-display);font-size:44px;font-weight:800;color:var(--mark-ink);font-variant-numeric:tabular-nums}.mockup{min-width:0}.mk{background:var(--mk-bg);border:1px solid var(--mk-line);border-radius:8px;padding:12px;font-size:13px;line-height:1.4;display:grid;gap:8px;align-content:start;min-width:0;overflow-wrap:anywhere}.mk-title{font-weight:700;font-size:13px}.mk-label{font-size:11px;color:var(--muted)}.mk-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mk-btn{display:inline-block;padding:5px 11px;border-radius:5px;background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:12px}.mk-btn.sec{background:transparent;color:var(--fg);border:1px solid var(--mk-line)}.mk-btn.dim{opacity:.45}.mk-btn.danger{background:var(--bad);color:var(--mk-bg)}.mk-link{color:var(--accent);text-decoration:underline;font-size:12px}.mk-in{border:1px solid var(--mk-line);border-radius:5px;padding:5px 8px;background:var(--bg);color:var(--fg);font-size:12px}.mk-in.err{border-color:var(--bad)}.mk-err{color:var(--bad);font-size:12px}.mk-muted{color:var(--muted);font-size:12px}.mk-bar{height:6px;border-radius:3px;background:var(--mk-line);overflow:hidden}.mk-bar i{display:block;height:100%;background:var(--accent)}.mk-toast{display:flex;justify-content:space-between;gap:8px;background:var(--fg);color:var(--bg);padding:7px 10px;border-radius:6px;font-size:12px}.mk-toast u{color:var(--bg);font-weight:700}.mk-kbd{font-family:var(--f-body);font-size:10px;border:1px solid var(--mk-line);border-radius:3px;padding:0 4px;color:var(--muted)}.mk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mk-cell{border:1px solid var(--mk-line);border-radius:5px;padding:5px;font-size:11px}.mk-cell b{display:block;font-size:13px}.mk-pill{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--mark-soft);color:var(--fg)}.mk-big{font-family:var(--f-display);font-size:26px;font-weight:800;line-height:1}.mk-up{color:var(--good);font-size:12px;font-weight:700}.mk-faint{color:color-mix(in srgb,var(--fg) 35%,var(--mk-bg));font-size:12px}.mk-focus{outline:3px solid var(--accent);outline-offset:2px}.mk-say{font-family:var(--f-body);font-size:11px;background:var(--accent-soft);color:var(--fg);border-left:3px solid var(--accent);border-radius:0 5px 5px 0;padding:6px 8px}.mk-say b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mk-dot{display:inline-block;flex:none;width:10px;height:10px;border-radius:50%;background:var(--muted)}.mk-dot.good{background:var(--good)}.mk-dot.bad{background:var(--bad)}.mk-dot.warn{background:var(--mark)}.mk-errsum{display:grid;gap:4px;border:3px solid var(--bad);border-radius:5px;padding:8px 10px}.mk-media{display:grid;place-items:center;aspect-ratio:16 / 9;max-width:100%;border-radius:5px;background:var(--mk-line);color:var(--fg);font-size:12px;text-align:center;padding:8px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.account{display:grid;gap:14px;margin-top:14px}.account h1{font-size:28px}.account p{margin:0;max-width:60ch}.form-group{display:grid;gap:6px;margin-bottom:18px}.form-group.has-error{border-left:4px solid var(--bad);padding-left:12px}.form-label{font-weight:700}.form-hint{color:var(--muted);font-size:15px}.form-error{color:var(--bad);font-weight:700;font-size:15px;margin:0}.form-input{font:inherit;color:var(--fg);background:var(--bg);border:2px solid var(--fg);border-radius:6px;padding:8px 10px;width:100%;max-width:26em}.form-input.code{max-width:9em;font-family:var(--f-body);letter-spacing:.12em;font-variant-numeric:tabular-nums}.has-error .form-input{border-color:var(--bad)}.sync-line{font-family:var(--f-body);font-size:13px;color:var(--muted)}.sync-line.error{color:var(--bad)}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.notice{background:var(--good-soft);border-left:4px solid var(--good);padding:10px 14px;border-radius:0 8px 8px 0}.appearance{border-top:1px solid var(--line);padding-top:18px;margin-top:8px;display:grid;gap:10px}.appearance h2{font-size:20px}.appearance p{margin:0}.backup{border-top:1px solid var(--line);padding-top:18px;margin-top:8px;display:grid;gap:10px}.backup h2{font-size:20px}.backup p{margin:0}.danger-zone{border-top:1px solid var(--line);padding-top:18px;margin-top:8px;display:grid;gap:10px}.danger-zone h2{font-size:20px}.confirm{display:grid;gap:10px;border:2px solid var(--bad);border-radius:10px;padding:14px 16px;background:var(--bad-soft)}.confirm h3{font-size:18px}.confirm h3:focus{outline:none}.check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:none}.locked-accents{display:grid;gap:8px}.locked-accents h3{font-family:var(--f-body);font-size:16px;font-weight:700}.locked-accents ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.locked-accents li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}.locked-accents strong{color:var(--fg)}.locked-accents .swatch{background-image:repeating-linear-gradient(135deg,transparent 0 3px,var(--surface) 3px 5px)}.lock-icon{flex:none;margin-top:1px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.swatch{flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;background:var(--accent);box-shadow:inset 0 0 0 5px var(--accent-soft);border:1px solid var(--accent)}.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--bg)}.btn.ghost.danger{background:transparent;color:var(--bad);border-color:var(--bad)}.privacy .prose h2{font-size:22px;margin:26px 0 8px}.privacy .prose ul+p,.privacy .prose p+ul{margin-top:8px}.skip-link{position:absolute;left:16px;top:-100px;z-index:10;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:8px;font-weight:700}.skip-link:focus{top:calc(env(safe-area-inset-top,0px) + 8px)}[tabindex="-1"]:focus{outline:none}.feedback:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.done-title{font-size:26px;margin-top:6px}.choice .tag{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.verdict{font-family:var(--f-body);font-size:13px;font-weight:700;text-transform:none;letter-spacing:0}.verdict.right{color:var(--good)}.verdict.wrong{color:var(--bad)}.opt .verdict{display:block;margin-top:6px}.feedback-note{display:block;margin:8px 0 0;font-weight:700}.mk.spot{margin-top:16px;max-width:520px;padding:14px;gap:6px;font-size:14px}.spot-row{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}.spot-row .spot-part{flex:0 1 auto}.spot-part{display:grid;gap:4px;text-align:left;font:inherit;color:inherit;background:transparent;border:2px dashed var(--mk-line);border-radius:8px;padding:8px;cursor:pointer;min-width:0}.spot-part:hover:not(:disabled){border-color:var(--accent);border-style:solid}.spot-part:disabled{cursor:default}.spot-part.right{border:2px solid var(--good);background:var(--good-soft)}.spot-part.wrong{border:2px solid var(--bad);background:var(--bad-soft)}.spot-part .mockup>*{margin:0}.hero.compact h1{font-size:clamp(28px,5vw,36px);margin-top:0}.you{display:grid;gap:8px}.you p{margin:0}.you-title{font-family:var(--f-display);font-weight:700;font-size:20px}.you-level{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.you-bar{flex:1 1 120px;height:8px;border-radius:4px;background:var(--line);overflow:hidden}.you-bar i{display:block;height:100%;background:var(--accent);transition:width .4s}.you-note,.you-line{color:var(--muted);font-size:14px}.you-review{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:11px;margin-top:4px}.you-review .btn{flex:none}.you-review.quiet{display:block;color:var(--muted);font-size:14px}.you-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.you-links .btn{justify-content:center;text-align:center}.you-links .btn{white-space:nowrap}@media(max-width:360px){.you-links{grid-template-columns:1fr}}.you-link-icon{flex:none;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.you .btn.small{min-height:40px}.ach-section{display:grid;gap:10px}.ach-section h2{font-size:20px}.ach-section p{margin:0}.levels{list-style:none;margin:0;padding:0;display:grid;gap:2px}.levels li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 10px;border-radius:8px;color:var(--muted)}.levels li.reached{color:var(--fg)}.levels li.current{background:var(--accent-soft);color:var(--fg);font-weight:700}.levels-state{font-size:14px;font-variant-numeric:tabular-nums}.goal-options{border:0;margin:0;padding:0;display:grid;gap:10px}.goal-options legend{padding:0;margin-bottom:8px;font-weight:700}.goal-hint{color:var(--muted)}.badges{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.badge-card{display:flex;gap:12px;align-items:flex-start;padding:14px}.badge-card h3{font-size:17px}.badge-card p{margin:4px 0 0;font-size:14px;color:var(--muted)}.badge-card .badge-state{font-weight:700;color:var(--fg)}.badge-card.locked .badge-state{color:var(--muted)}.badge-icon{flex:none}.badge-icon .badge-ribbon{fill:var(--accent)}.badge-icon .badge-disc{fill:var(--mark-soft);stroke:var(--mark-ink);stroke-width:2}.badge-icon .badge-mark{fill:none;stroke:var(--mark-ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.badge-icon.locked .badge-ribbon{fill:var(--line)}.badge-icon.locked .badge-disc{fill:var(--surface);stroke:var(--muted);stroke-dasharray:3 3}.badge-icon.locked .badge-mark{stroke:var(--muted);stroke-width:1.8}.rewards{margin-top:16px;text-align:left}.rewards ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.reward{position:relative;display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:10px;background:var(--mark-soft)}.reward .badge-icon{width:32px;height:32px}.rewards-more{margin:10px 0 0}.certificate-offer{display:grid;gap:10px}.certificate-offer h2{font-size:20px}.certificate-offer p{margin:0}.certificate{display:grid;justify-items:center;gap:6px;text-align:center;padding:36px 24px;background:var(--surface);border:6px double var(--accent);border-radius:12px}.certificate p{margin:0}.cert-brand{font-family:var(--f-display);font-weight:800;font-size:20px;margin-bottom:12px}.cert-brand span{color:var(--accent)}.cert-name{font-size:clamp(30px,7vw,48px);font-weight:800;margin:12px 0 4px;overflow-wrap:anywhere}.cert-line{color:var(--muted);font-size:17px}.cert-path{font-family:var(--f-display);font-weight:700;font-size:clamp(22px,5vw,30px);color:var(--accent)}.cert-detail{color:var(--muted);font-size:15px}.cert-seal{margin-top:14px}.cert-seal .seal-ribbon{fill:var(--accent)}.cert-seal .seal-edge{fill:var(--mark)}.cert-seal .seal-ring{fill:none;stroke:var(--surface);stroke-width:1.5;opacity:.75}.cert-seal .seal-check{fill:none;stroke:var(--surface);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.cert-date{font-weight:700}.cert-share{display:grid;gap:10px}.cert-share h2{font-size:20px}.cert-share .actions{margin-top:4px}.cert-try{margin:0}.feedback-open{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:16px;padding:8px 4px;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.feedback-open svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}@media(hover:hover){.feedback-open:hover{color:var(--fg)}}.feedback-dialog{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg)}html:has(dialog[open]){overflow:hidden}.feedback-dialog{overscroll-behavior:contain}.feedback-dialog::backdrop{background:var(--fg);opacity:.5}.feedback-dialog form,.feedback-done{display:grid;gap:14px}.feedback-dialog h2{font-size:22px}.feedback-dialog p{margin:0}.feedback-about{color:var(--muted);font-size:15px;margin-top:-8px!important}.feedback-dialog fieldset{border:0;margin:0;padding:0;display:grid;gap:10px}.feedback-dialog legend{padding:0;margin-bottom:4px}.feedback-kind .form-hint,.feedback-dialog .check .form-hint{display:block;font-weight:400}.feedback-dialog textarea{resize:vertical;min-height:96px;font:inherit}.feedback-dialog .form-error p+p{margin-top:4px}.feedback-dialog .form-group{margin:0}.feedback-dialog .actions{margin-top:0}.challenge-panel{display:grid;gap:10px}.challenge-panel h2{font-size:20px}.challenge-panel p{margin:0}.challenge-panel .actions{margin-top:0}.challenge-best{color:var(--muted);font-size:15px}.challenge-answers{list-style:none;margin:0;padding:0;display:grid;gap:10px}.challenge-answers li{display:grid;gap:6px;border-width:2px}.challenge-answers li.right{border-color:var(--good)}.challenge-answers li.wrong{border-color:var(--bad)}.challenge-answers p{margin:0}.challenge-q{font-weight:700}.challenge-why{color:var(--muted);font-size:15px}.page-title{font-size:clamp(28px,5vw,38px);font-weight:800;letter-spacing:-.015em;margin-top:6px}.skills{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.skill{display:grid;gap:8px;align-content:start}.skill-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.skill h2{font-size:19px}.skill p{margin:0}.skill-desc{color:var(--muted);font-size:15px}.skill-bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.skill-bar i{display:block;height:100%;background:var(--accent);transition:width .4s}.skill-count{font-family:var(--f-body);font-size:13px}.skill-next{font-size:15px}.level{font-family:var(--f-body);font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px;white-space:nowrap;border:1px solid var(--line);color:var(--muted)}.level.strong{background:var(--good-soft);color:var(--good);border-color:transparent}.level.developing{background:var(--accent-soft);color:var(--fg);border-color:transparent}.level.getting-started{background:var(--mark-soft);color:var(--fg);border-color:transparent}.lesson-tile{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent);font-family:var(--f-body);font-weight:600;font-size:13px;transition:transform .15s ease,background .15s ease}.row:hover .lesson-tile{transform:translateY(-2px)}.lesson-tile.done{background:var(--good-soft);color:var(--good)}.scene{margin:18px 0 0;border-radius:16px;background:var(--accent-soft);overflow:hidden}.scene-svg{display:block;width:100%;height:auto;max-height:240px}.scene-svg .card{fill:var(--mk-bg);stroke:var(--mk-line);stroke-width:1.5}.scene-svg .ink{fill:var(--line)}.scene-svg .muted{fill:var(--muted)}.scene-svg .fg{fill:var(--fg)}.scene-svg .bg-fill{fill:var(--bg);opacity:.85}.scene-svg .accent{fill:var(--accent)}.scene-svg .accent-soft{fill:var(--accent-soft)}.scene-svg .accent-soft-strong{fill:var(--accent);opacity:.35}.scene-svg .mark{fill:var(--mark)}.scene-svg .mark-soft{fill:var(--mark-soft);stroke:var(--mark);stroke-width:1.5}.scene-svg .good{fill:var(--good)}.scene-svg .bad{fill:var(--bad)}.scene-svg .stroke-muted{fill:none;stroke:var(--muted);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.scene-svg .stroke-bad{fill:none;stroke:var(--bad);stroke-width:2.5}.scene-svg .stroke-good{fill:none;stroke:var(--good);stroke-width:2.5}.scene-svg .stroke-bad-fill{fill:var(--mk-bg);stroke:var(--bad);stroke-width:2}.scene-svg .stroke-bg{fill:none;stroke:var(--bg);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.scene-svg .on-color-fill{fill:var(--mk-bg)}.scene-svg .type-glyph{font:800 64px var(--f-display);fill:var(--fg)}.scene-svg .type-glyph.small{font-size:26px}.scene-svg .type-glyph.big{font-size:84px}.scene-svg .icon-glyph{font:22px var(--f-body);fill:var(--accent)}.scene-svg .guide{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:4 4}.scene-svg .thin-2{stroke-width:2}.scene-svg .on-color{fill:none;stroke:var(--mk-bg);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.scene-svg .key-text{font:600 16px var(--f-body);fill:var(--fg)}.scene-svg .key-text.small{font-size:11px}.scene-svg .help-text.big{font-size:22px}.scene-svg .date-text.small{font-size:13px}.scene-svg .stroke-accent.thick{stroke-width:8}.scene-svg .label-text{font:600 10px var(--f-body);fill:var(--muted)}.scene-svg .on-accent-text{font:700 10px var(--f-body);fill:var(--accent-ink)}.scene-svg .on-good-text{font:700 11px var(--f-body);fill:var(--mk-bg)}.scene-svg .name-text{font:600 13px var(--f-body);fill:var(--fg)}.scene-svg .date-text{font:600 15px var(--f-body);fill:var(--fg)}.scene-svg .chip-text{font:600 13px var(--f-body);fill:var(--fg)}.scene-svg .tiny-text{font:600 9px var(--f-body);fill:var(--fg)}.scene-svg .bad-text{font:700 16px var(--f-body);fill:var(--bad)}.scene-svg .good-soft-fill{fill:var(--good-soft)}.scene-svg .bad-soft-fill{fill:var(--bad-soft)}.scene-svg .mark-soft-fill{fill:var(--mark-soft)}.scene-svg .on-accent-bar{fill:var(--accent-ink);opacity:.85}.scene-svg .card-accent{stroke:var(--accent);stroke-width:2.5}.scene-svg .radio{fill:var(--mk-bg);stroke:var(--muted);stroke-width:2}.scene-svg .summary{fill:var(--mk-bg);stroke:var(--bad);stroke-width:3}.scene-svg .chip-fill{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5}.scene-svg .region{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4}.scene-svg .curve{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}.scene-svg .gear-teeth{fill:none;stroke:var(--accent);stroke-width:7;stroke-dasharray:5 5.47}.scene-svg .focus-ring,.scene-svg .tap-ring{fill:none;stroke:var(--accent);stroke-width:3}.scene-svg .cursor{fill:var(--fg);stroke:var(--mk-bg);stroke-width:1.5;stroke-linejoin:round}.scene-svg .stroke-accent{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.scene-svg .stroke-mark{fill:none;stroke:var(--mark-ink);stroke-width:2.5;stroke-linecap:round}.scene-svg .stroke-good,.scene-svg .stroke-bad{stroke-linecap:round;stroke-linejoin:round}.scene-svg .thin{stroke-width:1.5}.scene-svg .help-text{font:700 11px var(--f-body);fill:var(--accent-ink)}.scene-svg *{transform-box:fill-box;transform-origin:center}.scene-svg .d-early{animation-delay:.2s!important}.scene-svg .d-mid{animation-delay:.6s!important}.scene-svg .d-mid2{animation-delay:.85s!important}.scene-svg .d-late{animation-delay:1.4s!important}.scene-svg .a-fill{transform-origin:left center;animation:art-grow-x 1.4s .3s cubic-bezier(.4,0,.2,1) both}.scene-svg .a-type{transform-origin:left center;animation:art-grow-x .6s .1s steps(6) both}.scene-svg .a-pop{animation:art-pop .5s ease-out both}.scene-svg .a-rise{animation:art-rise .45s ease-out both}.scene-svg .a-zoom{animation:art-zoom .4s ease-out both}.scene-svg .a-toast{animation:art-toast .45s ease-out both}.scene-svg .a-fade-out{opacity:0;animation:art-fade-out .6s ease-in both}.scene-h2 .a-fade-out{opacity:.3}.scene-svg .a-slide-away{opacity:0;transform:translate(70px);animation:art-slide-away .6s .6s ease-in both}.scene-svg .a-shift{animation:art-shift .7s ease-in-out both}.scene-svg .a-press{animation:art-press .5s ease-in-out both}.scene-svg .a-clutter{opacity:0;animation:art-clutter .8s .8s ease-in both}.scene-svg .a-tip{transform-box:view-box;transform-origin:168px 55px;animation:art-zoom-big .45s ease-out both}.scene-svg .origin-left{transform-origin:left center}.scene-svg .origin-top{transform-origin:center top}.scene-svg .a-from{animation:art-from .7s ease-in-out both}.scene-svg .a-tab{animation:art-tab 2s .2s ease-in-out both}.scene-svg .a-draw{stroke-dasharray:1;stroke-dashoffset:0;animation:art-draw 1.4s .2s ease-in-out both}.scene-svg .a-ring{opacity:0;animation:art-ring .7s ease-out both}@keyframes art-from{0%{transform:translate(var(--fx, 0px),var(--fy, 0px)) scale(var(--fsx, 1),var(--fsy, 1));opacity:var(--fo, 1)}}@keyframes art-tab{0%,25%{transform:translate(-144px)}40%,65%{transform:translate(-72px)}80%,to{transform:none}}@keyframes art-draw{0%{stroke-dashoffset:1}}@keyframes art-ring{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.4)}}@keyframes art-grow-x{0%{transform:scaleX(0)}}@keyframes art-pop{0%{opacity:0;transform:scale(.4)}70%{opacity:1;transform:scale(1.08)}}@keyframes art-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes art-zoom{0%{opacity:0;transform:scale(.92)}}@keyframes art-zoom-big{0%{opacity:0;transform:scale(.5)}}@keyframes art-toast{0%{opacity:0;transform:translateY(18px)}}@keyframes art-fade-out{0%{opacity:1}}@keyframes art-slide-away{0%{opacity:1;transform:none}}@keyframes art-shift{0%{transform:translate(-48px)}}@keyframes art-press{40%{transform:translateY(3px)}}@keyframes art-clutter{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.8)}}.feedback{animation:ui-rise .25s ease-out both}.verdict.right>span[aria-hidden]{display:inline-block;animation:ui-pop .35s ease-out both}.done-card .big{animation:ui-pop .5s ease-out both}.burst{position:relative;display:inline-block}.burst svg{position:absolute;inset:-30px -40px;width:calc(100% + 80px);height:calc(100% + 60px);pointer-events:none;overflow:visible}.burst circle{transform-box:fill-box;transform-origin:center;opacity:0;animation:ui-spark .9s .15s ease-out both}@keyframes ui-rise{0%{opacity:0;transform:translateY(6px)}}@keyframes ui-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.1);opacity:1}}@keyframes ui-spark{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}.bar-right{display:flex;gap:8px;align-items:flex-start}.bar-right .stats{flex:1 1 auto;min-width:0}.sound-toggle{display:inline-grid;place-items:center;flex:none;width:32px;height:28px;padding:0;cursor:pointer;color:var(--fg)}.sound-toggle:hover{border-color:var(--accent)}.sound-toggle.off{color:var(--muted)}.paths-heading,.lessons-heading{font-size:24px;margin-bottom:14px}.path-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.path-cards li{display:grid}.path-card{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:14px;background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.path-card:hover{border-color:var(--accent);transform:translateY(-2px)}.path-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.path-icon svg{width:26px;height:26px}.tone-1 .path-icon{background:var(--good-soft);color:var(--good)}.tone-2 .path-icon{background:var(--mark-soft);color:var(--mark-ink)}.path-card-title{font-family:var(--f-display);font-weight:700;font-size:20px;line-height:1.2;margin-top:4px}.path-card-desc{color:var(--muted);font-size:15px}.path-card-foot{display:grid;gap:8px;margin-top:auto;padding-top:4px}.path-card-meta{font-family:var(--f-body);font-size:12px;color:var(--muted)}.path-card .meter-track{flex:1;width:auto}.path-card-next{font-size:14px;font-weight:700;color:var(--accent)}.path-card-next.complete{color:var(--good)}.path-hero{margin-top:14px}.path-banner{margin:0 0 18px;border-radius:18px;overflow:hidden;background:var(--accent-soft)}.path-banner.tone-1{background:var(--good-soft)}.path-banner.tone-2{background:var(--mark-soft)}.path-banner svg{display:block;width:100%;height:auto}.path-meter{margin-top:14px}.path-meter .meter-track{width:180px}.update-bar{border-top:1px solid var(--line);background:var(--accent-soft)}.update-bar-in{max-width:760px;margin:0 auto;padding:8px 16px;display:flex;gap:10px 14px;align-items:center;justify-content:space-between;flex-wrap:wrap;font-size:15px}.update-actions{display:flex;gap:8px}.btn.small{padding:6px 12px;font-size:14px}.credits .prose h2{font-size:22px;margin:28px 0 8px}.credits .prose h3{font-size:17px;margin:18px 0 6px}.credit-used{color:var(--muted);font-size:14px}.credits .prose ul+p{margin-top:12px}
