:root{--bg: #111110;--card: #181817;--bg-soft: #141413;--panel: #1c1c1b;--panel-hi: #252524;--line: #2c2c2a;--line-soft: #222221;--fg: #ededea;--fg-dim: #a9a8a2;--fg-faint: #868580;--amber: #4cc38a;--jade: #4cc38a;--rust: #f2666a;--violet: #a78bfa;--sky: #45c4dc;--warn: #f0a640;--on-amber: #0b1f15;--amber-fill: #3fb37c;--on-jade: #042414;--amber-alpha: rgba(76, 195, 138, .08);--amber-alpha-hi: rgba(76, 195, 138, .16);--jade-alpha: rgba(76, 195, 138, .08);--jade-alpha-hi: rgba(76, 195, 138, .32);--jade-mid: rgba(76, 195, 138, .6);--rust-alpha: rgba(242, 102, 106, .09);--amber-line: rgba(76, 195, 138, .42);--hero-diag: transparent;--sel-wash: rgba(76, 195, 138, .24);--shadow-pop: rgba(0, 0, 0, .5);--shadow-card: rgba(0, 0, 0, .3);--gutter-fg: #4d4c48;--active-line: rgba(255, 255, 255, .025);--sel: rgba(76, 195, 138, .2);--sel-match: rgba(255, 255, 255, .07);--search-match: rgba(240, 166, 64, .28);--match-bracket: rgba(76, 195, 138, .2);--syn-kw: #ff7b72;--syn-ctrl: #ff7b72;--syn-fn: #d2a8ff;--syn-def: #e6e8ee;--syn-type: #ffa657;--syn-num: #79c0ff;--syn-str: #a5d6ff;--syn-comment: #737885;--syn-ops: #9aa1b0;--syn-self: #79c0ff;--mono: "JetBrains Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--r: 10px;--sheet: 820px;color-scheme:dark}:root[data-theme=light]{--bg: #ffffff;--card: #ffffff;--bg-soft: #f7f7f5;--panel: #fafaf9;--panel-hi: #efeeeb;--line: #e4e3df;--line-soft: #edece8;--fg: #1a1a18;--fg-dim: #4f4e49;--fg-faint: #6d6c66;--amber: #127a52;--jade: #127a52;--rust: #cc3a3a;--violet: #6b4fd8;--sky: #0a7ea4;--warn: #b25e00;--on-amber: #ffffff;--amber-fill: #127a52;--on-jade: #ffffff;--amber-alpha: rgba(18, 122, 82, .06);--amber-alpha-hi: rgba(18, 122, 82, .12);--jade-alpha: rgba(18, 128, 90, .08);--jade-alpha-hi: rgba(18, 128, 90, .28);--jade-mid: rgba(18, 128, 90, .45);--rust-alpha: rgba(204, 58, 58, .08);--amber-line: rgba(18, 122, 82, .35);--hero-diag: transparent;--sel-wash: rgba(18, 122, 82, .16);--shadow-pop: rgba(20, 20, 18, .14);--shadow-card: rgba(20, 20, 18, .06);--gutter-fg: #a6a59f;--active-line: rgba(20, 20, 18, .035);--sel: rgba(18, 122, 82, .14);--sel-match: rgba(20, 20, 18, .08);--search-match: rgba(178, 94, 0, .2);--match-bracket: rgba(18, 128, 90, .16);--syn-kw: #cf222e;--syn-ctrl: #cf222e;--syn-fn: #8250df;--syn-def: #24292f;--syn-type: #953800;--syn-num: #0550ae;--syn-str: #0a3069;--syn-comment: #6e7781;--syn-ops: #57606a;--syn-self: #0550ae;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.55;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased}::selection{background:var(--sel-wash)}code,pre,samp{font-family:var(--mono);font-feature-settings:normal}button,input{font:inherit;color:inherit}button{background:none;border:1px solid transparent;cursor:pointer;border-radius:8px}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.bar{display:flex;flex-wrap:nowrap;align-items:center;gap:16px;height:48px;flex:none;padding:0 20px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:5}.brand{display:flex;flex:none;align-items:center;white-space:nowrap;gap:9px;font-size:16.5px;font-weight:650;letter-spacing:-.025em;color:var(--fg);border:0;padding:0}.brand:before{content:"";flex:none;width:22px;height:22px;border-radius:6px;background:var(--amber-fill);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cg fill='%23111110'%3E%3Crect x='5' y='5.5' width='3' height='11' rx='1'/%3E%3Crect x='10' y='5.5' width='7' height='2.4' rx='1.2'/%3E%3Crect x='10' y='9.8' width='5' height='2.4' rx='1.2' opacity='.75'/%3E%3Crect x='10' y='14.1' width='3' height='2.4' rx='1.2' opacity='.5'/%3E%3C/g%3E%3C/svg%3E") center / 22px no-repeat,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cg fill='%23111110'%3E%3Crect x='5' y='5.5' width='3' height='11' rx='1'/%3E%3Crect x='10' y='5.5' width='7' height='2.4' rx='1.2'/%3E%3Crect x='10' y='9.8' width='5' height='2.4' rx='1.2' opacity='.75'/%3E%3Crect x='10' y='14.1' width='3' height='2.4' rx='1.2' opacity='.5'/%3E%3C/g%3E%3C/svg%3E") center / 22px no-repeat,linear-gradient(#000 0 0);mask-composite:exclude}.caret{display:none}.bar-spacer{flex:1;min-width:8px}.meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--fg-dim);white-space:nowrap}.meta>span{overflow:hidden;text-overflow:ellipsis}.meta b{color:var(--fg);font-weight:500}.tape{display:flex;gap:4px;flex-wrap:wrap}.cell{width:12px;height:12px;padding:0;border:1px solid var(--line);background:transparent;border-radius:2px;transition:background .14s,border-color .14s}.cell:hover{border-color:var(--fg-faint)}.cell.done{background:var(--jade);border-color:var(--jade)}.cell.peeked{background:var(--line);border-color:var(--fg-faint)}.cell.missed{background:var(--rust);border-color:var(--rust)}.cell.now{border-color:var(--amber);box-shadow:inset 0 0 0 2px var(--bg),0 0 0 1px var(--amber)}.pill{border:1px solid var(--line);color:var(--fg-dim);padding:7px 14px;font-size:13px;font-weight:500;background:var(--bg-soft);font-weight:550}.pill:hover:not(:disabled){color:var(--fg);border-color:var(--fg-faint)}.pill.on{color:var(--on-amber);background:var(--amber-fill);border-color:var(--amber);font-weight:600}.btn{border:1px solid var(--line);background:var(--panel);padding:7px 14px;font-size:13px;font-weight:500;color:var(--fg);border-radius:8px}.btn:hover:not(:disabled){background:var(--panel-hi);border-color:var(--fg-faint)}.btn.primary{background:var(--amber-fill);border-color:var(--amber);color:var(--on-amber);font-weight:600;box-shadow:0 1px 2px var(--shadow-card),inset 0 1px #ffffff1f}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.pass{background:var(--jade);border-color:var(--jade);color:var(--on-jade);font-weight:650}.btn.pass:hover:not(:disabled){background:var(--jade);border-color:var(--jade);filter:brightness(1.06)}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg-dim)}.btn.ghost:hover:not(:disabled){color:var(--fg);background:var(--bg-soft)}.btn.tight{padding:3px 9px;font-size:11.5px}.btn.primary kbd{background:#ffffff29;border-color:#ffffff38;color:inherit}kbd{font-family:var(--mono);font-size:10.5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px;color:var(--fg-dim);background:var(--bg)}.tag{font-size:12px;font-weight:600;text-transform:capitalize}.tag.beginner{color:var(--sky)}.tag.easy{color:var(--jade)}.tag.medium{color:var(--warn)}.tag.hard{color:var(--violet)}.start{flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}.hero{flex:none;position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg);padding:40px clamp(20px,5vw,72px) 44px}.hero-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}.hero-copy{min-width:0;max-width:100%}.hero-kicker{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:550;color:var(--amber);margin:0 0 14px}.hero h1{font-family:var(--sans);font-size:clamp(30px,4.2vw,56px);font-weight:700;letter-spacing:-.035em;line-height:1.05;margin:0 0 14px}.hero-lede{margin:0;color:var(--fg-dim);font-size:17.5px;line-height:1.6;max-width:58ch}.hero-chips{display:flex;flex-direction:column;align-items:stretch;gap:12px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:11px 20px;font-size:14px;font-weight:500;box-shadow:0 1px 2px var(--shadow-card);color:var(--fg-dim);white-space:nowrap}.chip b{color:var(--fg);font-weight:650}.chip:hover:not(:disabled){border-color:var(--fg-faint)}.chip.accent{border-color:var(--amber);background:var(--amber-fill);color:var(--on-amber);font-weight:600}.chip.accent:hover:not(:disabled){filter:brightness(1.08)}.chip.share-chip{min-width:190px}.start-inner{width:100%;max-width:1440px;margin:0 auto;padding:32px clamp(16px,3vw,48px) 64px}.start-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:start;column-gap:40px;row-gap:0}.grid-head{grid-column:1 / -1}.col-rewards{min-width:0}.start-foot{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;font-size:13.5px;color:var(--faint)}.start-foot a{color:var(--amber);text-decoration:none;font-weight:600}.start-foot a:hover{text-decoration:underline}.start-foot .link{background:none;border:none;padding:0;cursor:pointer;color:var(--amber);text-decoration:none;font-weight:600;font-size:13.5px}.start-foot .link:hover{text-decoration:underline}.ai-strip{flex:1 1 100%;display:flex;align-items:center;gap:12px;margin-top:2px;border:1px solid var(--amber-alpha);border-radius:12px;background:var(--card);padding:13px 16px}.ai-strip-pill{flex:none;font-family:var(--sans);font-size:11px;font-weight:650;text-transform:uppercase;color:var(--on-amber);background:var(--amber-fill);border-radius:6px;padding:4px 8px}.ai-strip p{margin:0;color:var(--fg-dim);font-size:14px;line-height:1.55}.ai-strip p b{color:var(--fg);font-weight:650}.ai-strip-tag{display:inline-block;margin-left:4px;font-style:italic;color:var(--amber)}.topics{flex:1;min-height:0;overflow-y:auto}.topics-main{width:100%;max-width:1200px;margin:0 auto;padding:28px clamp(16px,3vw,48px) 64px}.topics-head{margin-bottom:26px}.topics-head h1{font-family:var(--sans);font-size:clamp(26px,3vw,40px);font-weight:650;letter-spacing:-.02em;line-height:1.1;margin:0 0 10px}.topics-head p{margin:0;color:var(--fg-dim);font-size:15px;line-height:1.6;max-width:66ch}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.topic-card{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:18px 18px 16px;cursor:pointer;font:inherit}.topic-card:hover{border-color:var(--fg-faint);background:var(--panel-hi)}.topic-name{font-size:14px;font-weight:650;color:var(--fg)}.topic-blurb{flex:1;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--fg-dim)}.topic-go{font-size:12.5px;font-weight:650;letter-spacing:.05em;color:var(--amber)}.field{margin-bottom:26px}.field-label{font-size:15px;color:var(--fg);margin-bottom:14px;display:flex;align-items:baseline;gap:10px;font-weight:550}.field-label span{font-size:13px;font-weight:400;color:var(--fg-faint)}.field-sub{font-size:12.5px;font-weight:550;color:var(--fg-dim);margin:0 0 8px}.row2 .field-sub,.topic-all+.field-hint{margin-top:0}.topic-all{display:grid;gap:12px;margin-top:12px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--bg-soft)}.topic-group{display:grid;gap:8px}.topic-group-name{font-size:12px;font-weight:550;color:var(--fg-faint)}.hero-streak{text-align:center;font-size:13px;color:var(--fg-faint)}.hero-streak b{color:var(--fg);font-weight:600}.row{display:flex;gap:10px;flex-wrap:wrap}.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:32px;align-items:start}.lang-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.lang{display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid var(--line);background:var(--bg-soft);padding:16px 18px;text-align:left}.lang:hover:not(.on){border-color:var(--fg-faint);background:var(--panel)}.lang .name{font-size:16.5px;color:var(--fg)}.lang.on{border-color:var(--amber);background:var(--amber-alpha)}.lang.on .name{color:var(--amber)}.lang.reading{border-style:dashed;background:transparent;text-decoration:none;cursor:pointer}.lang.reading .name{color:var(--fg-faint);font-size:15.5px}.lang.reading .tag{font-size:12px;color:var(--fg-faint);opacity:.75;font-weight:550}.lang.reading:hover{border-color:var(--fg-faint);background:var(--bg-soft)}.lang.reading:hover .name{color:var(--fg-dim)}.lang-note{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--fg-faint)}.lang-note a{color:var(--amber);text-decoration:none}.lang-note a:hover{text-decoration:underline}.start-go{display:flex;align-items:center;gap:18px;margin-top:30px;flex-wrap:wrap}.start-go .btn.primary{padding:16px 42px;font-size:16px}.stats{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--line-soft);font-size:14px;color:var(--fg-faint)}.stats b{color:var(--fg-dim);font-weight:500}.field-label.sep{margin-bottom:16px}.daily-flag{font-size:12px;font-weight:550;color:var(--amber);background:var(--amber-alpha-hi);border-radius:6px;padding:2px 8px}.rewards{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:26px 28px}.rewards-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--fg-faint);margin-bottom:18px;font-weight:550}.rewards-actions{display:inline-flex;gap:4px;position:relative}.rewards-actions .btn{letter-spacing:.05em}.rewards-actions .btn.copied-flash{color:var(--jade)}.rewards-actions .btn.primary.tight{background:var(--amber-fill);border-color:var(--amber);color:var(--on-amber);padding:3px 10px;font-size:11.5px}.rewards-actions .btn.primary.tight.copied-flash{background:var(--jade);border-color:var(--jade);color:var(--on-jade)}.rewards-actions .btn.menu-btn{padding:3px 7px;font-size:13px;line-height:1}.rewards-actions .btn.menu-btn.on{color:var(--fg);background:var(--bg-soft)}.share-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:176px;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);box-shadow:0 12px 28px var(--shadow-pop)}.share-menu-item{width:100%;text-align:left;border:0;padding:8px 10px;font-size:12.5px;color:var(--fg-dim);border-radius:6px;text-decoration:none;white-space:nowrap}.share-menu-item:hover{background:var(--bg-soft);color:var(--fg)}.share-menu-item.copied-flash{color:var(--jade)}.share-menu-sep{height:1px;background:var(--line);margin:4px 2px}.badges{margin-top:20px}.badges-title{display:block;font-family:var(--sans);font-size:13px;color:var(--fg-faint);margin-bottom:12px;font-weight:550}.badges-row{display:flex;flex-wrap:wrap;gap:12px}.badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);padding:10px 18px;font-size:15px;color:var(--fg-dim);cursor:default}.badge i{font-style:normal;font-family:var(--sans)}.badge-none{font-family:var(--sans);font-size:14px;color:var(--fg-faint)}.badges-new{margin:4px 0 18px;padding:12px 14px;border:1px solid var(--amber);border-radius:var(--r);background:var(--amber-alpha)}.badges-new-title{display:block;font-family:var(--sans);font-size:12.5px;color:var(--amber);margin-bottom:8px;font-weight:550}.badges-new .badge{border-color:var(--amber-line)}.records{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:var(--fg-faint)}.records b{color:var(--fg-dim);font-weight:500}.week-stats{margin-top:18px;font-size:15px;font-family:var(--sans);color:var(--fg-dim);line-height:1.6}.week-stats b{color:var(--fg);font-weight:600}.streak-flag{color:var(--amber)}.heat{margin-top:30px}.heat-body{display:flex;gap:8px}.heat-rows{display:grid;grid-template-rows:repeat(7,10px);gap:3px;margin-top:1px}.heat-rows i{font-style:normal;font-family:var(--sans);font-size:9px;line-height:10px;text-align:right;color:var(--fg-faint)}.heat-cols{display:flex;gap:3px;overflow-x:auto;padding-bottom:4px}.heat-col{display:grid;grid-template-rows:repeat(7,10px);gap:3px}.heat-col i{width:10px;height:10px;border-radius:2px;background:var(--line-soft)}.heat-col i.lvl-1{background:var(--jade-alpha-hi)}.heat-col i.lvl-2{background:var(--jade-mid)}.heat-col i.lvl-3{background:var(--jade)}.heat-col i.lvl-4{background:color-mix(in srgb,var(--jade) 65%,var(--fg))}.heat-caption{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-family:var(--sans);font-size:12.5px;color:var(--fg-faint)}.heat-scale{display:flex;gap:3px;align-items:center}.heat-scale i{width:10px;height:10px;border-radius:2px;background:var(--line-soft)}.heat-scale i.lvl-1{background:var(--jade-alpha-hi)}.heat-scale i.lvl-2{background:var(--jade-mid)}.heat-scale i.lvl-3{background:var(--jade)}.heat-scale i.lvl-4{background:color-mix(in srgb,var(--jade) 65%,var(--fg))}.share-btns{display:flex;gap:10px;flex-wrap:wrap}.share{margin:18px 0 26px}.share pre{font-family:var(--mono);font-size:13.5px;line-height:1.7;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:13px 15px;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg)}.session{flex:1;min-height:0;display:flex;flex-direction:column}.sheet{width:100%;max-width:1520px;margin:0 auto;padding:24px 32px 22px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow-y:auto}.prompt{flex:0 1 400px;min-width:250px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:0 1px 2px var(--shadow-card);padding:18px 18px 20px}.prompt.more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to bottom,#000 calc(100% - 48px),transparent 100%)}.prompt.more.at-end{-webkit-mask-image:none;mask-image:none}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px 9px;font-size:12.5px;color:var(--fg-faint);margin-bottom:8px;font-weight:550}.eyebrow .dot{width:3px;height:3px;border-radius:50%;background:var(--fg-faint)}.eyebrow-right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.eyebrow-right .best-pill{background:var(--bg-soft);border:1px solid var(--line);color:var(--fg-dim);padding:3px 10px;border-radius:99px;letter-spacing:.05em;text-transform:none;font-weight:550}.eyebrow-right .best-pill.world{background:var(--jade-alpha);border-color:var(--jade-alpha-hi);color:var(--jade)}.eyebrow .share-btn{margin-left:6px;padding:6px 16px;font-size:13px;letter-spacing:.05em;font-weight:650;text-transform:none;background:var(--amber-fill);border-color:var(--amber);color:var(--on-amber)}.eyebrow .share-btn:hover:not(:disabled){filter:brightness(1.06)}.eyebrow .share-btn.copied{background:var(--jade);border-color:var(--jade);color:var(--on-jade)}.brief-shut-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;appearance:none;border:1px solid var(--line);border-radius:7px;background:var(--bg-soft);color:var(--fg-dim);font-family:var(--mono);font-size:14px;line-height:1;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.brief-shut-btn:hover{color:var(--amber);border-color:var(--amber-line);background:var(--amber-alpha)}.workbench.brief-shut .prompt{display:none}.brief-open{flex:none;align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:10px;width:30px;padding:10px 0;appearance:none;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--fg-faint);cursor:pointer;transition:color .15s ease,border-color .15s ease}.brief-open i{font-style:normal;font-family:var(--sans);font-size:13px;line-height:1}.brief-open span{writing-mode:vertical-rl;font-family:var(--sans);font-size:12px;font-weight:550}.brief-open:hover{color:var(--amber);border-color:var(--amber-line)}.prompt h1{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0 0 7px;line-height:1.3}.aka{margin:-3px 0 8px;font-size:12.5px;color:var(--fg-faint)}.brief{font-family:var(--sans);color:var(--fg-dim);margin:0;font-size:14.5px;line-height:1.6;max-width:88ch}.rules{list-style:none;margin:10px 0 0;padding:0;max-width:88ch}.rules li{font-family:var(--sans);font-size:13.5px;color:var(--fg-dim);padding-left:15px;position:relative;line-height:1.55}.rules li:before{content:"·";position:absolute;left:4px;color:var(--amber)}.sig-label{display:block;font-family:var(--sans);font-size:12px;color:var(--fg-faint);margin:16px 0 6px;font-weight:550}.sig{font-family:var(--mono);margin-top:0;font-size:12.5px;color:var(--fg-dim);background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:6px;padding:6px 10px;display:block;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}.hint{margin-top:12px;font-family:var(--sans);font-size:13.5px;border-left:2px solid var(--amber);padding:2px 0 2px 12px;color:var(--fg-dim)}.hint-label{display:block;font-family:var(--sans);font-size:12px;color:var(--amber);margin-bottom:3px;font-weight:550}.hint p{margin:0}.example{margin-top:12px;font-family:var(--sans);font-size:13.5px;line-height:1.55;border:1px solid var(--line-soft);border-left-width:2px;border-left-color:var(--jade);border-radius:6px;background:var(--bg-soft);padding:10px 13px;color:var(--fg-dim);max-width:88ch}.example-label{display:block;font-family:var(--sans);font-size:12px;color:var(--jade);margin-bottom:5px;font-weight:550}.example p{margin:0}.example-case+.example-case{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.example-row{display:flex;align-items:baseline;gap:8px;min-width:0}.example-row+.example-row{margin-top:4px}.example-key{flex:none;width:42px;font-family:var(--sans);font-size:12px;color:var(--fg-faint);font-weight:550}.example-row code{min-width:0;overflow-wrap:anywhere;font-size:12.5px;background:var(--panel);border:1px solid var(--line-soft);border-radius:5px;padding:3px 8px}.example-row .example-out{color:var(--jade)}.example-why{margin:6px 0 0 50px;color:var(--fg-dim)}.prompt-body{display:block}.prompt-main{min-width:0}.prompt-aside{margin-top:20px;padding-top:14px;border-top:1px dashed var(--line)}.aside-label{font-family:var(--sans);font-size:12px;color:var(--fg-faint);margin-bottom:7px;font-weight:550}.prompt .tags{display:flex;gap:6px;flex-wrap:wrap}.prompt .topic-chip{font-size:11px;letter-spacing:.04em;font-weight:600;text-transform:capitalize;border-radius:8px;padding:3px 10px;cursor:help;color:var(--chip);border:1px solid color-mix(in srgb,var(--chip) 34%,transparent);background:color-mix(in srgb,var(--chip) 11%,transparent)}.prompt .topic-chip{--chip: var(--fg-dim)}.prompt .topic-chip[data-stage="0"],.prompt .topic-chip[data-stage="1"],.prompt .topic-chip[data-stage="2"],.prompt .topic-chip[data-stage="3"],.prompt .topic-chip[data-stage="4"]{--chip: var(--amber)}.lang-swap{display:inline-flex;align-items:center}.lang-swap select{appearance:none;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--fg-dim);font-family:var(--sans);font-size:12px;padding:3px 20px 3px 7px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--fg-faint) 50%),linear-gradient(135deg,var(--fg-faint) 50%,transparent 50%);background-position:right 9px center,right 5px center;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.lang-swap select:hover{border-color:var(--line);color:var(--fg)}.lang-swap select:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.lang-swap option{background:var(--panel);color:var(--fg)}.theme-toggle{font-family:var(--sans);font-size:12.5px;color:var(--fg-faint);border:1px solid transparent;border-radius:6px;padding:3px 9px;white-space:nowrap;font-weight:550}.theme-toggle:hover{border-color:var(--line);color:var(--fg)}.theme-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.copy-link{appearance:none;background:transparent;font-family:var(--sans);font-size:12.5px;color:var(--fg-faint);border:1px solid transparent;border-radius:6px;padding:3px 9px;white-space:nowrap;cursor:pointer;font-weight:550}.copy-link:hover{border-color:var(--line);color:var(--fg)}.copy-link:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.copy-link.copied{color:var(--jade);border-color:var(--jade-mid)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pick-split{width:1px;align-self:stretch;background:var(--line);margin:2px 4px}.topic-pick .link-btn{margin-left:4px}.field-hint{margin:9px 0 0;font-size:12.5px;line-height:1.5;color:var(--fg-faint);max-width:62ch}.bench{flex:1;min-height:360px;display:flex;flex-direction:column;gap:14px}.workbench{flex:1;min-height:300px;display:flex;gap:18px}.card{border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;display:flex;flex-direction:column;min-height:0;min-width:0;box-shadow:0 1px 2px var(--shadow-card)}.card-editor{flex:1 1 0;min-width:430px}.types{flex:none;border-bottom:1px solid var(--line);background:var(--bg-soft);padding:10px 14px 12px}.types-cap{display:flex;align-items:center;gap:10px;width:100%;padding:0;appearance:none;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--sans);font-size:12px;color:var(--fg-faint);transition:color .15s ease;font-weight:550}.types-cap:hover{color:var(--amber)}.types-cap span:last-child{margin-left:auto}.types-caret{flex:none;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}.types.open .types-caret{transform:rotate(45deg)}.types-shut{opacity:0;transition:opacity .15s ease}.types-cap:hover .types-shut,.types-cap:focus-visible .types-shut{opacity:1}.types-code{margin:10px 0 0;font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}.card-result{flex:0 1 410px;min-width:300px}.result-scroll{flex:1;min-height:0;overflow:auto}.head-tabs{display:flex;align-items:center;gap:4px}.head-tab.ai{color:var(--amber)}.head-tab.ai.on{color:var(--amber);border-color:var(--amber)}.head-new{font-style:normal;font-family:var(--sans);font-size:11px;font-weight:600;color:var(--amber);background:var(--amber-alpha);border-radius:5px;padding:1px 6px;margin-left:6px;vertical-align:1px}.head-tab.ai.on .head-new{display:none}.head-tab{appearance:none;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--fg-faint);font-family:var(--sans);font-size:12.5px;padding:3px 9px;cursor:pointer;font-weight:550}.head-tab:hover{color:var(--fg-dim)}.head-tab:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.head-tab.on{color:var(--fg);background:var(--bg-soft);border-color:var(--line)}.solution{padding:14px}.solution-cap{display:flex;justify-content:space-between;gap:12px;font-family:var(--sans);font-size:12px;color:var(--fg-faint);margin-bottom:10px;font-weight:550}.solution-code{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}.card-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line-soft);font-size:12.5px;color:var(--fg-faint);font-weight:550}.cm-host{height:100%}.solved-note{display:flex;align-items:baseline;gap:8px;margin:10px 12px 2px;padding:9px 12px;border:1px solid var(--jade);border-radius:8px;background:var(--jade-alpha);font-family:var(--mono);font-size:12.5px;color:var(--fg-dim);animation:solved-in .35s ease}.solved-note i{font-style:normal;color:var(--jade);font-size:14px}.solved-note b{color:var(--jade);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px}.solved-note em{margin-left:auto;font-style:normal;color:var(--amber);font-weight:650;letter-spacing:.04em}@keyframes solved-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.runtime{display:flex;align-items:baseline;gap:8px;margin:10px 12px 0;font-family:var(--mono);font-size:12.5px;color:var(--fg-faint)}.runtime b{color:var(--fg-dim);font-weight:550}.pitch{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line);font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--fg-faint)}.pitch-pill{font-family:var(--sans);font-size:9.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--on-amber);background:var(--amber-fill);border-radius:4px;padding:2px 5px;margin-right:7px}.stuck{margin:4px 14px 10px;font-family:var(--sans);font-size:12.5px;color:var(--fg-faint)}.cases{padding:6px 0}.case{display:grid;grid-template-columns:16px 1fr;gap:8px;padding:6px 14px;align-items:start}.case .mark{font-size:12px;line-height:1.5}.case.pass .mark{color:var(--jade)}.case.fail .mark{color:var(--rust)}.case .label{font-family:var(--mono);font-size:12.5px;color:var(--fg-dim);overflow-wrap:anywhere}.case.fail .label{color:var(--fg)}.case .cmp{font-family:var(--mono);margin-top:4px;font-size:12px;display:grid;gap:2px}.case .cmp div{display:flex;gap:8px}.case .cmp span{color:var(--fg-faint);flex:none;width:42px}.case .cmp .want b{color:var(--jade);font-weight:400;overflow-wrap:anywhere}.case .cmp .got b{color:var(--rust);font-weight:400;overflow-wrap:anywhere}.case .err{color:var(--rust)}.case-body{min-width:0}.case-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.case-n{font-size:12.5px;font-weight:600;color:var(--fg)}.case-name{font-size:12.5px;color:var(--fg-faint)}.case-name:first-letter{text-transform:uppercase}.case-io{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-top:4px;font-size:12px;color:var(--fg-faint)}.case-io code,.case-cmp code{font-size:12px;overflow-wrap:anywhere}.case-io code{color:var(--fg-dim)}.case-io .case-out{color:var(--jade)}.case-cmp{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 12px;margin:8px 0 2px;padding:9px 11px;border:1px solid var(--line-soft);border-radius:8px;background:var(--bg-soft)}.case-cmp dt{font-size:12px;color:var(--fg-faint)}.case-cmp dd{margin:0;min-width:0}.case-cmp code{color:var(--fg)}.case-cmp .want{color:var(--jade)}.case-cmp .got,.case-cmp .err,.case.fail .case-n{color:var(--rust)}.case.perf .perf-fail{display:grid;gap:2px;margin-top:4px;font-size:12px}.case.perf .perf-fail b{color:var(--rust);font-weight:600}.case.perf .perf-fail span{color:var(--fg-faint);font-family:var(--mono)}.case.perf.pass .case-io span{color:var(--jade)}.notice{padding:12px 14px;font-size:12.5px}.notice pre{margin:8px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11.5px;color:var(--fg-dim);background:var(--bg);border:1px solid var(--line-soft);border-radius:6px;padding:9px 11px;max-height:220px;overflow:auto}.notice .kind{color:var(--rust);font-size:12.5px;font-weight:550}.notice.info .kind{color:var(--amber)}.empty{padding:16px 14px;color:var(--fg-faint);font-size:12.5px;line-height:1.7}.stdout{font-family:var(--mono);border-top:1px solid var(--line-soft);padding:9px 14px;font-size:11.5px;color:var(--fg-dim);white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;background:var(--bg)}.stdout .cap{font-family:var(--sans);color:var(--fg-faint);font-size:12px;display:block;margin-bottom:4px;font-weight:550}.actions{flex:none;position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 4px;background:linear-gradient(to bottom,transparent,var(--bg) 34%)}.actions .grow{flex:1;min-width:4px}.actions .rule{flex:none;width:1px;align-self:stretch;margin:4px;background:var(--line)}.verdict{font-size:12.5px}.verdict.ok{color:var(--jade)}.verdict.bad{color:var(--rust)}.verdict .new-best{color:var(--amber);font-weight:650;margin-left:6px;animation:pb-pop .9s ease}@keyframes pb-pop{0%{opacity:0;transform:translateY(-2px)}30%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:1}}.summary{flex:1;overflow-y:auto;padding:44px 20px 64px}.summary-inner{max-width:var(--sheet);margin:0 auto}.score{font-family:var(--sans);font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.score small{color:var(--fg-faint);font-size:20px;font-weight:400}.summary p.sub{font-family:var(--sans);color:var(--fg-dim);margin:8px 0 28px;font-size:15px}.recap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.recap-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line-soft);font-size:12.5px}.recap-row:last-child{border-bottom:0}.recap-row .mark{width:12px;flex:none}.recap-row .who{flex:1;color:var(--fg-dim);overflow-wrap:anywhere}.recap-row.done .who{color:var(--fg)}.recap-row .dur{color:var(--fg-faint);font-size:12px;flex:none}.recap-row .dur .best{font-style:normal;color:var(--fg-dim)}.recap-row .dur .best.new{color:var(--amber);font-weight:650}.notify{display:flex;flex-direction:column;gap:8px;max-width:420px;margin:28px 0 0;padding-top:20px;border-top:1px dashed var(--line);text-align:left}.notify label{font-family:var(--sans);font-size:13.5px;line-height:1.5;color:var(--fg-dim)}.notify label b{color:var(--fg);font-weight:650}.notify-row{display:flex;gap:8px}.notify-input{flex:1;min-width:0;background:var(--bg-soft);border:1px solid var(--line);border-radius:7px;color:var(--fg);font-family:var(--sans);font-size:13px;padding:7px 10px}.notify-input:focus{outline:none;border-color:var(--amber)}.notify-input::placeholder{color:var(--fg-faint)}.notify-note{font-family:var(--sans);font-size:11.5px;line-height:1.5;color:var(--fg-faint)}.notify.done{display:block;font-family:var(--sans);font-size:13.5px;color:var(--jade)}.notify.done i{font-style:normal;margin-right:6px}@media (max-width: 560px){.notify-input{font-size:16px}}.crash{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.crash-inner{max-width:520px;font-family:var(--sans)}.crash h1{font-size:22px;font-weight:600;margin:0 0 8px}.crash p{color:var(--fg-dim);margin:0 0 16px;line-height:1.6}.crash pre{font-family:var(--mono);font-size:12px;color:var(--rust);background:var(--bg-soft);border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:0 0 18px;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 1240px){.app{height:auto;min-height:100dvh;overflow:visible}.session{min-height:0}.sheet{padding:20px 18px 40px}.prompt{flex:none;width:auto;max-height:none;overflow:visible}.prompt-aside{margin-top:14px;padding-top:10px}.brief-shut-btn,.brief-open{display:none}.workbench.brief-shut .prompt{display:block}.workbench{flex-direction:column;gap:14px}.card-editor{min-width:0}.card-result{width:auto}.card-editor{flex:none;height:320px}.card-result{flex:none;max-width:none;max-height:50vh}.prompt.more{-webkit-mask-image:none;mask-image:none}.prompt-more{display:none}.actions{padding-bottom:max(8px,env(safe-area-inset-bottom))}}@media (max-width: 1080px){.start-grid{grid-template-columns:1fr;gap:28px}.hero-inner{flex-direction:column;align-items:stretch}.hero-chips{flex-direction:row;flex-wrap:wrap}}@media (max-width: 880px){.row2{grid-template-columns:1fr;gap:22px}}@media (max-width: 640px){.sheet{padding:16px 12px 32px}.hero{padding:32px 18px 36px}.hero h1{font-size:30px}.hero-lede{font-size:15.5px}.tape{display:none}.quiz .tape{display:flex;flex-wrap:nowrap;gap:3px;margin-left:10px}.quiz .tape .cell{width:8px;height:8px}.wide-only{display:none}.bar{padding:0 14px;gap:12px;padding-left:calc(14px + env(safe-area-inset-left));padding-right:calc(14px + env(safe-area-inset-right))}.meta{gap:11px}.sheet{padding-bottom:max(48px,calc(32px + env(safe-area-inset-bottom)))}.actions kbd{display:none}.heat-rows{grid-template-rows:repeat(7,8px)}.heat-rows i{font-size:7px;line-height:8px}.heat-col{grid-template-rows:repeat(7,8px)}.heat-col i,.heat-scale i{width:8px;height:8px}.prompt-body{display:block}.prompt-aside{width:auto;margin-top:12px}.prompt{overflow-x:hidden}}.rm-main{max-width:1160px}.rm-roads{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 30px}.rm-roads .pill{display:inline-flex;align-items:center;gap:9px;text-transform:none;letter-spacing:.02em;font-size:14px;font-weight:600;padding:11px 20px;border-radius:8px;background:var(--panel);color:var(--fg-dim);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.rm-roads .pill i{font-style:normal;font-family:var(--sans);font-size:11px;color:var(--fg-faint)}.rm-roads .pill:hover:not(:disabled){color:var(--fg);border-color:var(--fg-faint)}.rm-roads .pill.on{background:var(--amber-fill);border-color:var(--amber);color:var(--on-amber);font-weight:700;box-shadow:0 10px 24px -12px var(--amber-alpha)}.rm-roads .pill.on i{color:var(--on-amber);opacity:.65}.rm-journey{position:sticky;top:56px;z-index:4;margin:0 0 34px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;box-shadow:0 18px 44px -30px var(--shadow-pop)}.rm-journey:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:var(--r) var(--r) 0 0;background:var(--amber-fill);opacity:.85}.rm-journey-head{display:flex;align-items:center;padding-bottom:8px;margin-bottom:8px;border-bottom:1px dashed var(--line)}.rm-journey-status{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:650;color:var(--fg-faint)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--jade);box-shadow:0 0 10px var(--jade-mid);animation:rm-beacon 2.6s ease-in-out infinite}.rm-rail-box{position:relative;padding:34px 14px 8px}.rm-track-bar{position:absolute;top:44px;left:52px;right:52px;height:4px;border-radius:2px;background:var(--line)}.rm-track-fill{position:absolute;top:44px;left:52px;right:52px;height:4px;width:auto;transform-origin:left center;transform:scaleX(var(--rm-trav, 1));background:var(--amber-fill);transition:transform .5s cubic-bezier(.22,.8,.3,1)}.rm-stops{position:relative;display:grid;grid-template-columns:repeat(var(--rm-cols, 8),1fr);gap:12px}.rm-stop{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;padding:0;background:none;font:inherit;color:inherit;text-align:center;cursor:pointer}.rm-stop-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--stage, var(--fg-faint));border:2px solid var(--line);background:var(--panel);box-shadow:0 2px 12px -8px var(--shadow-pop);transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.rm-stop-up{font-size:11.5px;font-weight:550;color:var(--fg-faint);transition:color .2s ease}.rm-stop-name{font-size:12.5px;font-weight:650;line-height:1.25;color:var(--fg-dim);transition:color .2s ease}.rm-stop:hover .rm-stop-dot,.rm-stop.is-active .rm-stop-dot{border-color:var(--stage, var(--amber));color:var(--stage, var(--amber));background:var(--panel-hi);transform:translateY(-2px);box-shadow:0 0 0 4px color-mix(in srgb,var(--stage, var(--amber)) 12%,transparent)}.rm-stop:hover .rm-stop-up,.rm-stop.is-active .rm-stop-up{color:var(--stage, var(--amber))}.rm-stop:hover .rm-stop-name,.rm-stop.is-active .rm-stop-name{color:var(--fg)}.rm-stage[data-stage="0"],.rm-stop[data-stage="0"],.rm-stage[data-stage="1"],.rm-stop[data-stage="1"],.rm-stage[data-stage="2"],.rm-stop[data-stage="2"],.rm-stage[data-stage="3"],.rm-stop[data-stage="3"],.rm-stage[data-stage="4"],.rm-stop[data-stage="4"],.rm-stage[data-stage="5"],.rm-stop[data-stage="5"],.rm-stage[data-stage="6"],.rm-stop[data-stage="6"],.rm-stage[data-stage="7"],.rm-stop[data-stage="7"]{--stage: var(--amber)}.rm-roster{margin:0;padding-bottom:96px}.rm-roster.armed .rm-stage{transition:opacity .45s ease,transform .6s cubic-bezier(.22,.8,.3,1)}.rm-roster.armed .rm-stage:not(.seen){opacity:0;transform:translateY(24px)}@media (prefers-reduced-motion: reduce){.rm-roster.armed .rm-stage{opacity:1;transform:none;transition:none}.rm-node,.rm-node.go:hover,.rm-stop,.rm-stop.is-active,.rm-stop:hover,.pulse-dot{transform:none;transition:none;animation:none}.rm-track-fill{transform:scaleX(var(--rm-trav, 1));transition:none;animation:none}}.rm-stage{position:relative;margin-top:18px;scroll-margin-top:252px;padding:20px 22px 22px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);transition:border-color .25s ease,box-shadow .25s ease}.rm-stage:before{content:"";position:absolute;left:-1px;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--stage, var(--fg-faint));transition:opacity .25s ease}.rm-stage.on{border-color:color-mix(in srgb,var(--stage, var(--fg)) 45%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--stage, var(--fg)) 22%,transparent),0 12px 30px -22px var(--shadow-pop)}.rm-stage-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 18px;padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line-soft)}.rm-stage-title{display:flex;align-items:center;gap:12px;min-width:0}.rm-stage-num{flex:none;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--stage, var(--fg));border:1px solid color-mix(in srgb,var(--stage, var(--line)) 40%,var(--line));background:color-mix(in srgb,var(--stage, var(--line)) 9%,transparent);transition:background .2s ease,color .2s ease,border-color .2s ease}.rm-stage.on .rm-stage-num{background:color-mix(in srgb,var(--stage, var(--line)) 16%,transparent)}.rm-stage-header h2{margin:0;font-size:19px;letter-spacing:-.015em}.rm-stage-blurb{margin:0;font-size:13px;line-height:1.5;color:var(--fg-faint);max-width:520px;text-align:right}.rm-nodes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.rm-node{position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);font:inherit;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.rm-node.go{cursor:pointer}.rm-node.go:before{content:"";position:absolute;top:0;left:16px;right:16px;height:2px;border-radius:0 0 2px 2px;background:var(--stage, var(--fg-faint));opacity:0;transform:scaleX(.4);transition:opacity .2s ease,transform .28s cubic-bezier(.22,.8,.3,1)}.rm-node.go:hover:before{opacity:.9;transform:scaleX(1)}.rm-node.go:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--stage, var(--line)) 55%,var(--line));background:var(--panel-hi);box-shadow:0 14px 30px -20px var(--shadow-pop),0 2px 8px -6px var(--shadow-card)}.rm-node.plain{cursor:default;border-style:dashed;opacity:.8;background:color-mix(in srgb,var(--card) 45%,transparent)}.rm-node:disabled{cursor:not-allowed}.rm-node-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rm-node-label{font-size:15px;font-weight:650;color:var(--fg)}.rm-node-tag{flex:none;font-size:11.5px;font-weight:550;color:var(--fg-faint);border:1px solid var(--line);border-radius:5px;padding:2px 6px;white-space:nowrap}.rm-node-tip{margin:0;font-size:12.5px;line-height:1.5;color:var(--fg-dim);flex:1}.rm-node-kind{margin-top:2px;padding-top:10px;border-top:1px dashed color-mix(in srgb,var(--line) 65%,transparent);font-size:12.5px;font-weight:600;color:var(--stage, var(--fg-faint));transition:color .18s ease,transform .18s ease}.rm-node.go:hover .rm-node-kind{transform:translate(3px)}.rm-node-kind.empty{color:var(--fg-faint);opacity:.9}.rm-stage-connector{position:relative;height:72px;display:grid;place-items:center}.rm-stage-connector:before{content:"";position:absolute;top:12px;bottom:26px;left:50%;width:2px;transform:translate(-50%);background:repeating-linear-gradient(to bottom,var(--line) 0 4px,transparent 4px 8px)}.rm-stage-connector:after{content:"";position:absolute;bottom:8px;left:50%;width:14px;height:14px;border-right:3px solid var(--fg-faint);border-bottom:3px solid var(--fg-faint);border-radius:1.5px;transform:translate(-50%) rotate(45deg);transition:border-color .2s ease}@keyframes rm-beacon{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.35);opacity:1}}@media (max-width: 640px){.rm-journey{top:56px;padding:10px 12px;margin-bottom:24px}.rm-journey-head{padding-bottom:6px;margin-bottom:6px}.rm-rail-box{padding:6px 2px 4px;overflow-x:auto;scrollbar-width:none}.rm-rail-box::-webkit-scrollbar{display:none}.rm-stops{display:flex;gap:8px;min-width:0}.rm-stop{flex:0 0 auto;min-width:108px;flex-direction:row;justify-content:flex-start;gap:9px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.rm-stop-dot{width:20px;height:20px;font-size:10px;border-width:1.5px;box-shadow:none}.rm-stop-up{display:none}.rm-stop-name{font-size:12px}.rm-stage{scroll-margin-top:150px}.rm-stage-connector{height:52px}.rm-stage-blurb{text-align:left;width:100%}.rm-nodes-grid{grid-template-columns:1fr}}.course-quiz{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-soft)}.course-quiz>div{display:flex;flex-direction:column;gap:3px}.course-quiz b{font-size:13px;color:var(--fg);font-weight:550}.course-quiz span{font-size:13.5px;line-height:1.5;color:var(--fg-dim);max-width:52ch}@media (max-width: 640px){.course-quiz{flex-direction:column;align-items:stretch}}.lesson-quiz-link{margin:0 0 24px;padding:10px 14px;border:1px dashed var(--line);border-radius:var(--r);font-size:13.5px;color:var(--fg-dim);display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.lesson-quiz-link .link{font-weight:600;text-transform:none}.topic-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.link-btn{background:none;border:0;padding:4px 0;color:var(--amber);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer}.link-btn:hover{text-decoration:underline}.pill i{font-style:normal;opacity:.7;margin-left:2px}.kind-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}.kind-note{font-size:13px;color:var(--fg-faint);margin-left:4px}.kind-tag{font-family:var(--sans);font-style:normal;font-size:12px;padding:2px 6px;border-radius:4px;border:1px solid transparent;font-weight:550}.kind-tag.concept{color:var(--fg-faint);border-color:var(--line)}.kind-tag.pattern{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 34%,transparent);background:color-mix(in srgb,var(--amber) 10%,transparent)}@media (max-width: 700px){.kind-note{display:none}}.track-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.track-group-cap{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;font-family:var(--sans);font-size:15px;color:var(--fg);font-weight:600}.track-group-cap span{font-size:13px;font-weight:400;color:var(--fg-faint)}.track-grid+.track-group-cap{margin-top:26px}.track-card{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:18px 18px 16px;cursor:pointer;font:inherit}.track-card:hover:not(:disabled){border-color:var(--fg-faint);background:var(--panel-hi)}.track-card:disabled{opacity:.55;cursor:default}.track-name{font-size:14px;font-weight:650;color:var(--fg)}.track-blurb{flex:1;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--fg-dim)}.track-foot{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--sans);font-size:12px;color:var(--fg-faint)}.track-foot>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-go{flex:none;font-style:normal;font-weight:650;letter-spacing:.05em;color:var(--amber);white-space:nowrap}.bank{flex:1;min-height:0;overflow-y:auto}.bank-main{max-width:960px;margin:0 auto;padding:28px 24px 80px}.bank-main .crumb{font-family:var(--sans);font-size:12px;color:var(--fg-faint);margin:0 0 16px}.bank-head{margin-bottom:22px}.bank-head h1{font-size:clamp(24px,2.6vw,34px);letter-spacing:-.02em;line-height:1.15;margin:0 0 10px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bank-blurb{margin:0 0 16px;font-family:var(--sans);color:var(--fg-dim);font-size:15px;line-height:1.6;max-width:66ch}.bank-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.bank-count{font-family:var(--sans);font-size:12.5px;color:var(--fg-faint)}.bank-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:14px 0 16px;border-bottom:1px solid var(--line-soft);margin-bottom:6px}.bank-list-head{margin:24px 0 0}.bank-list-head h2{display:flex;align-items:baseline;gap:10px;font-size:17px;letter-spacing:-.01em;margin:0 0 4px}.bank-list-count{font-family:var(--sans);font-size:12px;color:var(--fg-faint)}.bank-list-head p{margin:0 0 2px;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--fg-dim);max-width:66ch}.bank-find{margin-left:auto;min-width:150px;flex:1 1 150px;max-width:260px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--fg);font:inherit;font-size:13.5px;padding:7px 11px}.bank-find:focus{outline:none;border-color:var(--amber)}.bank-topic{appearance:none;background:var(--bg-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237d808b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 12px center / 10px 6px no-repeat;border:1px solid var(--line);border-radius:8px;color:var(--fg-dim);font:inherit;font-size:13px;font-weight:500;padding:7px 32px 7px 14px;cursor:pointer}.bank-topic:hover{color:var(--fg);border-color:var(--fg-faint)}.bank-topic.on{color:var(--amber);border-color:var(--amber-line);background-color:var(--amber-alpha)}.bank-topic option,.bank-topic optgroup{background:var(--panel);color:var(--fg)}.bank-list{list-style:none;margin:0;padding:0}.bank-list li{border-bottom:1px solid var(--line-soft)}.bank-row{display:flex;width:100%;gap:18px;align-items:flex-start;justify-content:space-between;text-align:left;background:none;border:0;border-radius:var(--r);padding:14px 12px;cursor:pointer;font:inherit;color:inherit}.bank-row:hover:not(:disabled){background:var(--panel)}.bank-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}.bank-title{font-size:15.5px;color:var(--fg);display:flex;align-items:center;gap:8px}.bank-title .tick{font-style:normal;color:var(--jade);font-size:13px}.bank-brief{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--fg-dim);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bank-row-meta{display:flex;align-items:center;gap:10px;flex-shrink:0;font-family:var(--sans);font-size:11.5px;color:var(--fg-faint)}.bank-best{color:var(--jade)}.bank-topics{display:none}.bank-empty{color:var(--fg-dim);font-size:14.5px;padding:24px 0}.bank-pager{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:20px;font-family:var(--sans);font-size:12.5px;color:var(--fg-faint)}.bank-pages{color:var(--fg-dim);font-weight:650;letter-spacing:.04em;text-align:center;white-space:nowrap}@media (min-width: 720px){.bank-topics{display:inline;max-width:220px;text-align:right}}@media (max-width: 560px){.bank-find{margin-left:0;flex:1 1 100%}.bank-row{padding:14px 4px}.bank-row-meta{flex-direction:column;align-items:flex-end;gap:5px}}.link{display:inline;background:none;border:0;padding:0;margin:0;font:inherit;color:var(--amber);cursor:pointer}.link:hover{text-decoration:underline}.bank-stacks{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:4px 0 2px}.bank-stacks .pill{font-size:13.5px}.bank-stacks .pill i{font-style:normal;opacity:.65;margin-left:6px;font-size:11.5px}.quiz{flex:1;min-height:0;overflow-y:auto}.quiz .tape{margin-left:18px}.quiz-hint kbd{font-family:var(--mono);font-size:10.5px;border:1px solid var(--line);border-radius:4px;padding:1px 4px;margin:0 1px;color:var(--fg-dim);background:var(--bg-soft)}.quiz-main{max-width:760px;margin:0 auto;padding:30px 24px 80px}.quiz-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}.quiz-kind{font-family:var(--sans);font-size:12.5px;color:var(--fg-faint);font-weight:550}.quiz-main h1{font-family:var(--sans);font-size:clamp(21px,2.4vw,27px);font-weight:600;line-height:1.35;letter-spacing:-.01em;margin:0 0 18px}.quiz-blurb{color:var(--fg-dim);font-family:var(--sans)}.quiz-code{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin:0 0 20px;overflow-x:auto;font-size:13px;line-height:1.6}.quiz-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}.quiz-type{display:flex;align-items:center;gap:10px;margin:0 0 20px}.quiz-type-prompt{flex:none;font-family:var(--mono);font-style:normal;color:var(--jade);font-size:16px}.quiz-type-input{flex:1;min-width:0;font-family:var(--mono);font-size:14.5px;color:var(--fg);background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;outline:none}.quiz-type-input:focus{border-color:var(--fg-faint)}.quiz-type-input:disabled{cursor:default;color:var(--fg);opacity:1}.quiz-expected{font-family:var(--mono);color:var(--rust);margin:0 0 12px}.quiz-expected code{font-family:var(--mono);color:var(--rust)}.quiz-option{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--fg);padding:13px 15px;font:inherit;font-family:var(--sans);font-size:15px;line-height:1.5;cursor:pointer}.quiz-option:hover:not(:disabled){border-color:var(--fg-faint);background:var(--panel-hi)}.quiz-option:disabled{cursor:default;color:var(--fg);opacity:1}.quiz-mark{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--sans);font-size:11.5px;font-style:normal;color:var(--fg-faint);margin-top:1px}.quiz-option.right{border-color:var(--jade);background:var(--jade-alpha)}.quiz-option.right .quiz-mark{border-color:var(--jade);color:var(--jade)}.quiz-option.wrong{border-color:var(--rust);background:var(--rust-alpha)}.quiz-option.wrong .quiz-mark{border-color:var(--rust);color:var(--rust)}.quiz-option.muted{opacity:.5}.quiz-why{margin-top:20px;padding:16px 18px;border:1px solid var(--line);border-left-width:3px;border-radius:var(--r);background:var(--bg-soft)}.quiz-why.right{border-left-color:var(--jade)}.quiz-why.wrong{border-left-color:var(--rust)}.quiz-verdict{font-family:var(--sans);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;color:var(--fg-faint)}.quiz-why.right .quiz-verdict{color:var(--jade)}.quiz-why.wrong .quiz-verdict{color:var(--rust)}.quiz-why p{margin:0;font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--fg-dim)}.quiz-go{margin-top:24px;display:flex;align-items:center;gap:14px;flex-wrap:nowrap}.quiz-go .btn{flex:none}.quiz-hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.quiz-hint{display:none}}.quiz-go.quiz-pin{position:sticky;bottom:0;z-index:3;background:var(--bg);border-top:1px solid var(--line-soft);padding:14px 0 6px}.quiz-hint{font-size:13px;color:var(--fg-faint)}.quiz-round{padding:16px 0 8px}.quiz-round-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.quiz-round-pager{display:flex;align-items:center;gap:10px;color:var(--fg-dim);font-family:var(--sans);font-size:13.5px;white-space:nowrap}.quiz-round-pager button{flex:none;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--fg);font-size:16px;line-height:1;display:grid;place-items:center;cursor:pointer}.quiz-round-pager button:hover:not(:disabled){border-color:var(--fg-faint);background:var(--panel-hi)}.quiz-round-pager button:disabled{opacity:.35;cursor:default}.set-diff{flex:none;display:inline-block;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--fg-dim);padding:3px 11px;font-family:var(--sans);font-size:12.5px;white-space:nowrap;font-weight:550}.set-diff.done{color:var(--jade);border-color:var(--jade);background:var(--jade-alpha)}.quiz-score{margin:6px 0 22px}.quiz-score .score{display:flex;align-items:baseline;gap:6px;font-size:46px}.quiz-score .score small{font-size:22px}.quiz-score-pct{margin-left:10px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--fg-dim);border:1px solid var(--line);border-radius:8px;padding:2px 9px;align-self:center}.quiz-score-pct.full{color:var(--jade);border-color:var(--jade);background:var(--jade-alpha)}.quiz-score-strip{display:flex;gap:4px;margin:14px 0 0;flex-wrap:wrap}.quiz-score-strip i{flex:1 1 0;min-width:6px;max-width:44px;height:8px;border-radius:3px;background:var(--line)}.quiz-score-strip i.done{background:var(--jade)}.quiz-score-strip i.missed{background:var(--rust)}.quiz-score-sub{color:var(--fg-dim);font-family:var(--sans);font-size:15px;margin:12px 0 0}.quiz-round .recap{margin:0 0 20px}.quiz-round .recap-row{width:100%;background:none;border:0;border-bottom:1px solid var(--line-soft);color:inherit;font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.quiz-round .recap-row:last-child{border-bottom:0}.quiz-round .recap-row:hover{background:var(--panel-hi)}.quiz-round .recap-row .mark{color:var(--fg-faint)}.quiz-round .recap-row.done .mark{color:var(--jade)}.quiz-round .recap-row.missed .mark{color:var(--rust)}.quiz-round .recap-row.missed{background:var(--rust-alpha)}.quiz-round .recap-row.missed:hover{background:var(--panel-hi)}.quiz-round .recap-row .who{font-family:var(--sans)}.quiz-round .recap-row .who em{font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint);margin-left:8px}.quiz-round .recap-row .dur b{color:var(--fg);font-weight:650}@media (max-width: 560px){.quiz-round .recap-row .dur{display:none}.quiz-score .score{font-size:38px}}.quiz-round-report{border:1px solid var(--line);border-left-width:3px;border-left-color:var(--violet);border-radius:var(--r);background:var(--bg-soft);padding:14px 18px;margin:0 0 20px}.quiz-round-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ai-mark{font-style:normal;color:var(--violet);margin-right:6px}.quiz-round-report p{margin:0;font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--fg-dim);white-space:pre-line}.quiz-round-list{margin:0;padding:0 0 0 18px;font-family:var(--sans);font-size:14.5px;line-height:1.65;color:var(--fg-dim)}.quiz-round-list li{margin:2px 0}.quiz-round-err p{color:var(--rust)}.quiz-round-err .btn{margin-top:10px}.bank-quiz{margin:14px 0 4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}.bank-card-kind{display:inline-block;font-family:var(--sans);font-size:12px;color:var(--fg-faint);border:1px solid var(--line);border-radius:4px;padding:2px 7px;margin-bottom:8px;font-weight:550}.bank-quiz b{display:block;font-size:14.5px;margin-bottom:3px}.bank-quiz span{font-family:var(--sans);font-size:13px;color:var(--fg-dim);line-height:1.5}.bank-quiz-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.quiz-topics{align-content:start;list-style:none;margin:14px 0 0;padding:13px 0 0;border-top:1px solid var(--line-soft);display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.quiz-topic{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-soft);color:var(--fg);padding:9px 12px;font:inherit;font-size:13.5px;cursor:pointer}.quiz-topic:hover{border-color:var(--fg-faint);background:var(--panel-hi)}.quiz-topic i{font-style:normal;font-family:var(--sans);font-size:11.5px;color:var(--fg-faint)}.quiz-sets{display:flex;flex-direction:column;gap:9px;margin-top:8px}.quiz-set{display:flex;align-items:center;gap:14px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--fg);padding:13px 16px;font:inherit;cursor:pointer}.quiz-set:hover{border-color:var(--fg-faint);background:var(--panel-hi)}.quiz-set-name{flex:1;font-size:15px;font-weight:600}.quiz-set-state{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:13.5px;color:var(--fg-dim)}.quiz-set-state.done{color:var(--jade)}.quiz-set-state .track-go{font-size:12px}.sql-main{max-width:900px}.sql-tools{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 12px;font-size:13.5px}.sql-tools .link:disabled{color:var(--fg-faint);cursor:default;text-decoration:none}.sql-hint{margin:0 0 14px;padding:12px 14px;border-left:3px solid var(--amber);background:var(--bg-soft);border-radius:var(--r);font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--fg-dim)}.sql-editor{height:220px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg-soft);overflow:hidden}.sql-grid-wrap{margin-top:18px;overflow-x:auto}.sql-grid-caption{font-family:var(--sans);font-size:12.5px;color:var(--fg-faint);margin-bottom:7px;font-weight:550}.sql-grid{border-collapse:collapse;font-family:var(--mono);font-size:12.5px}.sql-grid th,.sql-grid td{border:1px solid var(--line);padding:6px 11px;text-align:left;white-space:nowrap}.sql-grid th{color:var(--fg-faint);font-weight:600;background:var(--panel)}.sql-grid td{color:var(--fg)}.sql-grid td.sql-null{color:var(--fg-faint);font-style:italic}.sql-none{font-size:13px;color:var(--fg-faint);margin:10px 0 0}.ai-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px}.ai-tabs{display:flex;gap:4px}.ai-tab{appearance:none;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--fg-faint);font-family:var(--sans);font-size:12.5px;padding:3px 9px;cursor:pointer;font-weight:550}.ai-tab:hover{color:var(--fg-dim)}.ai-tab:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.ai-tab.on{color:var(--fg);background:var(--bg-soft);border-color:var(--line)}.ai-input{width:100%;min-height:112px;max-height:40vh;resize:none;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--fg);font-family:var(--sans);font-size:13.5px;line-height:1.5;padding:9px 11px}.ai-input:focus{outline:none;border-color:var(--amber)}.ai-input::placeholder{color:var(--fg-faint)}.ai-input:disabled{opacity:.5}.ai-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ai-hint{font-family:var(--sans);font-size:12px;color:var(--fg-faint)}.ai-error{margin:0;font-family:var(--sans);font-size:13px;color:var(--rust)}.ai-result{border-top:1px solid var(--line-soft);padding-top:12px}.ai-result pre{margin:0 0 10px;max-height:240px;overflow:auto;background:var(--bg);border:1px solid var(--line-soft);border-radius:6px;padding:10px 12px;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}.cm-static{margin:0 0 10px;background:var(--bg);border:1px solid var(--line-soft);border-radius:6px;padding:2px 12px}.ai-asked{margin:0 0 12px!important;padding-left:10px;border-left:2px solid var(--line);font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--fg-faint)}.ai-asked span{display:block;font-family:var(--sans);font-size:12px;margin-bottom:3px;font-weight:550}.ai-result.explain p{margin:0 0 10px;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--fg-dim);overflow-wrap:anywhere}.ai-result.explain p:last-child{margin-bottom:0}.ai-h{margin:14px 0 6px;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--fg)}.ai-h:first-child{margin-top:0}.ai-list{margin:0 0 10px;padding-left:18px;font-family:var(--sans);font-size:13.5px;line-height:1.65;color:var(--fg-dim)}.ai-list li{margin:3px 0}.ai-list li::marker{color:var(--fg-faint)}.ai-code{font-family:var(--mono);font-size:.92em;background:var(--panel-hi);border:1px solid var(--line-soft);border-radius:4px;padding:.5px 4px;color:var(--fg)}.ai-mode-note{margin:-2px 0 0;font-family:var(--sans);font-size:11.5px;line-height:1.5;color:var(--fg-faint)}.patterns{display:flex;flex-direction:column;gap:6px;margin-top:2px}.patterns-cap{font-family:var(--sans);font-size:12px;color:var(--fg-faint);font-weight:550}.pattern{border:1px solid var(--line-soft);border-radius:7px;background:var(--bg-soft)}.pattern.open{border-color:var(--line)}.pattern-head{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;appearance:none;background:none;border:0;padding:8px 10px;cursor:pointer;font:inherit;color:var(--fg-dim)}.pattern-head b{flex:none;font-family:var(--sans);font-size:13px;color:var(--fg)}.pattern-head span{font-family:var(--sans);font-size:11.5px;line-height:1.45;color:var(--fg-faint)}.pattern-head:hover b{color:var(--amber)}.pattern-caret{flex:none;width:6px;height:6px;margin-top:4px;border-right:1.5px solid var(--fg-faint);border-bottom:1.5px solid var(--fg-faint);transform:rotate(-45deg);transition:transform .15s ease}.pattern.open .pattern-caret{transform:rotate(45deg)}.pattern-body{padding:0 10px 10px}.pattern-notes{margin:0 0 8px;padding-left:16px;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--fg-dim)}.pattern-notes li{margin:3px 0}.pattern-notes li::marker{color:var(--fg-faint)}.ai-lang-note{margin:0;font-family:var(--sans);font-size:11.5px;line-height:1.5;color:var(--fg-faint)}.ai-result.ask p{margin:0 0 8px;font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--amber);overflow-wrap:anywhere}.ai-result.ask p:last-child{margin-bottom:0}.ai-result-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ai-result-note{font-family:var(--sans);font-size:12px;color:var(--fg-faint)}@media (max-width: 640px){.ai-head{gap:8px;padding:0 12px}.ai-blurb{display:none}.ai-body{padding:12px 12px 14px}.ai-input{font-size:16px;line-height:1.45}}.lesson-main{max-width:720px}.lesson-lede{margin:0 0 26px;font-size:15px;line-height:1.6}.lesson-section{margin:0 0 30px}.lesson-h2{font-family:var(--sans);font-size:19px;font-weight:650;line-height:1.4;letter-spacing:-.01em;margin:0 0 10px}.lesson-p{margin:0 0 12px;font-family:var(--sans);font-size:15px;line-height:1.7;color:var(--fg-dim)}.lesson-code{position:relative;margin:14px 0 16px}.lesson-code pre{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;margin:0;overflow-x:auto;font-size:13px;line-height:1.6}.lesson-code pre code{font-family:var(--mono);color:var(--fg)}.lesson-code-lang{position:absolute;top:-9px;left:12px;padding:1px 8px;background:var(--bg-soft);border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-faint)}.tut-lang{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.tut-lang button{font-family:var(--sans);font-size:12.5px;color:var(--fg-faint);padding:3px 8px;border:0;background:transparent;cursor:pointer;font-weight:550}.tut-lang button.on{color:var(--fg);background:var(--panel-hi)}.tut-lang button+button{border-left:1px solid var(--line)}.tut-lang button:focus-visible{outline:2px solid var(--amber);outline-offset:1px}.course-hero{margin:0 0 28px}.course-kicker{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;color:var(--fg-faint);margin:0 0 10px;font-weight:550}.course-dot{width:5px;height:5px;border-radius:50%;background:var(--amber-fill);flex:none}.course-hero h1{font-family:var(--sans);font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0 0 12px}.course-blurb{font-family:var(--sans);font-size:15px;line-height:1.65;color:var(--fg-dim);max-width:640px;margin:0 0 18px}.course-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.course-count{font-family:var(--sans);font-size:12px;color:var(--fg-faint);white-space:nowrap}.course-bar{flex:1;min-width:120px;max-width:220px;height:4px;border-radius:8px;background:var(--line);overflow:hidden}.course-bar i{display:block;height:100%;border-radius:8px;background:var(--amber-fill)}.course-go{margin-left:auto}.course-grid{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:22px}.course-card{position:relative;overflow:hidden;gap:12px;padding:24px 24px 20px;border-radius:var(--r);background:var(--card);transition:border-color .15s ease}.course-card:hover:not(:disabled){border-color:var(--fg-faint)}.course-card .course-kicker{margin:0 0 4px;font-size:12.5px;font-weight:550}.course-card .course-kicker i{font-style:normal}.course-card .course-title{font-size:24px;line-height:1.18;margin:4px 0 8px}.course-card .course-meta{gap:16px}.course-card .course-bar{flex:1;max-width:none;min-width:0;height:5px}.course-card .course-count{font-size:12.5px}.course-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px dashed var(--line)}.course-open{font-family:var(--sans);font-size:12.5px;font-weight:650;color:var(--fg-dim)}.course-arrow{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--amber-alpha);color:var(--amber);font-size:17px;transition:transform .2s ease,background .2s ease}.course-card:hover .course-arrow{transform:translate(4px);background:var(--amber-alpha-hi)}.course-card.done:before{background:linear-gradient(90deg,var(--jade),var(--amber) 60%,transparent)}.course-title{font-family:var(--sans);font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--fg);margin:2px 0 0}.course-done{max-width:620px;padding:12px 0 20px}.course-done-check{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;background:var(--jade-alpha);color:var(--jade);font-size:36px;font-style:normal;margin:6px 0 20px}.course-done h1{font-family:var(--sans);font-size:clamp(26px,3vw,34px);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0 0 12px}.course-done .course-blurb{max-width:none;margin-bottom:24px}.course-done-actions{display:flex;gap:12px;flex-wrap:wrap}.track-card.done{border-color:var(--jade)}.track-num{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12px;color:var(--fg-faint)}.track-check{font-style:normal;color:var(--jade);margin-left:auto}.tutorial-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:18px}.tutorial-grid .track-card{position:relative;overflow:hidden;gap:10px;padding:24px 24px 20px;border-radius:14px;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.tutorial-grid .track-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--line);transition:background .2s ease}.tutorial-grid .track-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 20px 40px -26px var(--shadow-pop)}.tutorial-grid .track-card:hover:not(:disabled):before{background:var(--amber-fill)}.tutorial-grid .track-card.done:before{background:var(--jade)}.tutorial-grid .track-num{align-items:center;gap:10px;font-size:12.5px;letter-spacing:.06em;color:var(--fg-dim)}.tutorial-grid .track-step{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;border-radius:9px;background:var(--amber-alpha);color:var(--amber);font-family:var(--sans);font-size:13px;font-style:normal;font-weight:650}.tutorial-grid .track-card.done .track-step{background:var(--jade-alpha);color:var(--jade)}.tutorial-grid .track-check{font-size:15px}.tutorial-grid .track-name{font-family:var(--sans);font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.25;text-transform:none}.tutorial-grid .track-blurb{font-size:13.5px;line-height:1.6}.tutorial-grid .track-foot{align-items:center;margin-top:8px;padding-top:14px;border-top:1px dashed var(--line);font-size:12.5px}.tutorial-grid .track-go{font-weight:550}.tutorial-grid .track-card.done .track-go{color:var(--jade)}.tutorial-grid .track-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--amber-alpha);color:var(--amber);font-style:normal;font-size:15px;transition:transform .2s ease,background .2s ease}.tutorial-grid .track-card.done .track-arrow{background:var(--jade-alpha);color:var(--jade)}.tutorial-grid .track-card:hover .track-arrow{transform:translate(3px)}@media (max-width: 640px){.tutorial-grid{gap:14px}.tutorial-grid .track-card{padding:20px 18px 16px}.tutorial-grid .track-name{font-size:16px}}.tut-progress{display:flex;align-items:center;gap:14px;margin:0 0 20px}.tut-progress-label{font-family:var(--sans);font-size:12px;color:var(--fg-faint);white-space:nowrap}.tut-dots{display:flex;align-items:center;gap:6px}.tut-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.tut-dots i.past{background:var(--fg-faint)}.tut-dots i.now{background:var(--amber-fill)}.lesson-sec-head{display:flex;align-items:baseline;gap:10px;margin:0 0 4px}.lesson-sec-head .lesson-h2{margin:0}.tut-sec-num{font-family:var(--sans);font-size:12px;color:var(--fg-faint);letter-spacing:.06em;white-space:nowrap}.tut-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:34px 0 0;padding-top:22px;border-top:1px solid var(--line)}.tut-nav .btn{font-family:var(--sans);font-size:12.5px;font-weight:550}.tut-nav .btn.primary{margin-left:auto}.tut-done{border-color:var(--jade);color:var(--jade)}:is(.pill,.hero-kicker,.topic-name,.field-label,.rewards-title,.badges-title,.badges-new-title,.eyebrow>span,.brief-open span,.sig-label,.hint-label,.example-label,.example-key,.aside-label,.theme-toggle,.copy-link,.types-cap,.head-tab,.solution-cap,.card-head,.notice .kind,.stdout .cap,.rm-journey-status,.rm-node-kind,.course-quiz b,.kind-tag,.track-group-cap,.track-name,.quiz-kind,.bank-card-kind,.sql-grid-caption,.ai-tab,.ai-asked span,.ai-h,.patterns-cap,.tut-lang button,.course-kicker,.course-open,.tutorial-grid .track-go,.tut-nav .btn,.head-new,.daily-flag,.rm-stop-up,.rm-node-tag):first-letter{text-transform:uppercase}.search-btn{display:inline-flex;align-items:center;gap:8px;flex:0 1 260px;min-width:0;margin-left:20px;padding:6px 8px 6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg-soft);color:var(--fg-faint);font-size:13px;text-align:left}.search-btn:hover{border-color:var(--fg-faint);color:var(--fg-dim)}.search-btn-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-btn kbd,.search-icon{flex:none}@media (max-width: 720px){.search-btn{flex:none;margin-left:8px;padding:7px}}.search-btn.compact{flex:none;padding:7px}.search-btn.compact .search-btn-text,.search-btn.compact kbd{display:none}@media (max-width: 720px){.search-btn-text,.search-btn kbd{display:none}}.search-scrim{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:#08090c8c;backdrop-filter:blur(2px)}:root[data-theme=light] .search-scrim{background:#10182847}.search-panel{width:100%;max-width:640px;max-height:70vh;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--card);box-shadow:0 24px 60px var(--shadow-pop);overflow:hidden}.search-field{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft);color:var(--fg-faint)}.search-field .search-icon{width:16px;height:16px}.search-field input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--fg);font-size:16px}.search-field input::placeholder{color:var(--fg-faint)}.search-results{overflow-y:auto;padding:6px}.search-group+.search-group{margin-top:6px}.search-group-name{padding:8px 10px 4px;font-size:12px;font-weight:550;color:var(--fg-faint)}.search-item{display:flex;align-items:center;gap:12px;width:100%;padding:9px 10px;border:0;border-radius:8px;text-align:left}.search-item.on{background:var(--amber-alpha-hi)}.search-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.search-item-title{font-size:14px;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-title .tick{color:var(--jade);font-style:normal;margin-right:6px}.search-item-sub{font-size:12.5px;color:var(--fg-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-item-kind{flex:none;font-size:11.5px;color:var(--fg-faint)}.search-item.on .search-item-kind,.search-item.on .search-item-sub{color:var(--fg-dim)}.search-empty{margin:0;padding:24px 12px;text-align:center;color:var(--fg-faint);font-size:14px}.search-foot{display:flex;gap:16px;padding:9px 14px;border-top:1px solid var(--line-soft);font-size:12px;color:var(--fg-faint)}@media (max-width: 720px){.search-foot{display:none}}.hero-search{display:flex;align-items:center;gap:10px;width:100%;max-width:560px;margin-top:22px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--fg-faint);font-size:15px;text-align:left;box-shadow:0 1px 2px var(--shadow-card)}.hero-search:hover{border-color:var(--fg-faint);color:var(--fg-dim)}.hero-search span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero-search .search-icon{width:16px;height:16px}.lang-swap-label{font-size:12px;color:var(--fg-faint);margin-right:2px}@media (max-width: 720px){.lang-swap-label{display:none}}.bank-langs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 18px}.bank-langs-label{font-size:13px;font-weight:550;color:var(--fg-dim);margin-right:4px}.bank-lang-links{flex-basis:100%;font-size:13px;color:var(--fg-faint)}.backup{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line-soft);font-size:12.5px;color:var(--fg-faint)}.backup-actions{display:inline-flex;gap:6px;align-items:baseline}.backup .link{font-size:12.5px}.backup-note{flex-basis:100%;color:var(--fg-dim)}
