:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14181f;--paper:#1c222b;--raised:#232a35;--ink:#e7ebf0;--body:#c9d1db;--muted:#9aa5b4;--line:#343e4c;--line-soft:#262e3a;--accent:#a9b8ff;--on-accent:#121633;--good:#7fdba0;--warn:#ffd166;--alert:#ff7a8a;--c1:#ffd166;--c2:#5fd4e8;--c3:#ff8fc7;--c4:#8be28b;--c5:#b69cff;--c6:#ffad66;--c7:#7aa2ff;--c8:#9fb3c8;--focus:#a9b8ff;--f-body:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--f-display:var(--f-body);--f-mono:"Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));font-size:15px;line-height:1.55}a{color:var(--accent);text-underline-offset:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.site-nav{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:8px 22px;max-width:1600px;margin:0 auto 24px;padding-block:14px;display:flex}.site-nav .brand{color:var(--ink);align-items:center;gap:10px;margin-right:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.site-nav .brand svg{flex:none}.site-nav .links{gap:4px;margin:0;padding:0;list-style:none;display:flex}.site-nav .links a{color:var(--muted);border-radius:8px;padding:6px 12px;font-weight:500;text-decoration:none;display:block}.site-nav .links a:hover{color:var(--ink);background:var(--paper)}.site-nav .links a[aria-current=page]{color:var(--ink);background:var(--raised)}.site-nav .nav-end{align-items:center;gap:10px;margin-left:auto;display:flex}.site-nav .slot{align-items:center;gap:8px;display:flex}.theme-pick{color:var(--muted);align-items:center;gap:6px;font-size:.8rem;display:flex}.theme-pick[hidden]{display:none}.theme-pick select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:3px 6px}@media (max-width:560px){.theme-pick-l{display:none}}.frame,.frame-client{display:contents}.frame-bar,.statusbar,.clock,.site-nav .slot:empty{display:none}html[data-theme=nomicon]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#120f1b;--paper:#1a1627;--raised:#241e35;--ink:#f1ecf8;--body:#d4cce2;--muted:#a598bb;--line:#3b3252;--line-soft:#2a2340;--accent:#b994ff;--on-accent:#1a1030;--gold:#e9bf68;--good:#8fdcae;--warn:#e9bf68;--alert:#ff7f8e;--c1:#e9bf68;--c2:#6fd6e6;--c3:#ff95c8;--c4:#95e09a;--c5:#b994ff;--c6:#ffad70;--c7:#8aa8ff;--c8:#a9b6cc;--focus:#c9a8ff;--f-body:"Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;--f-display:"Cinzel", "Trajan Pro", Georgia, serif;--f-mono:"Roboto Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--on-unit:#120f1b;--swatch-edge:#ffffff24;--wall:#6e6488;--grid:#231d31;--floor:#19152a;--walker:#e9bf68;--vehicle:#c79bff;--cache:#7fd8c4;--soft:#e6c86e;--other:#9488a8;--u2:#6fd6e6;--u3:#ff95c8;--u4:#95e09a;--u5:#b994ff;--u6:#ffad70;--u7:#8aa8ff;--u8:#a9b6cc;--t-road:#5a4d3a;--t-rough:#33493c;--t-mud:#57392f;--t-water:#27406a;--closed:#b994ff33;--open:#b994ff6b;--open-ring:#c9a8fff2;--scan:#e9bf6838;--tree:#d4cce266}html[data-theme=nomicon] body{background:radial-gradient(1200px 520px at 50% -180px, #8c5cf029, transparent 70%), radial-gradient(900px 600px at 100% 100%, #e9bf680a, transparent 70%), var(--bg);background-attachment:fixed}html[data-theme=nomicon] ::selection{background:#b994ff59}html[data-theme=nomicon] :is(h1,h2),html[data-theme=nomicon] .site-nav .brand-name{font-family:var(--f-display);letter-spacing:.01em;font-weight:600}html[data-theme=nomicon] h3{color:#e8dcff}html[data-theme=nomicon] .site-nav{border-bottom:0;position:relative}html[data-theme=nomicon] .site-nav:after{content:"";background:linear-gradient(90deg,#0000,#b994ff73 20%,#e9bf6880 50%,#b994ff73 80%,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}html[data-theme=nomicon] .site-nav .brand-name{letter-spacing:.06em;background:linear-gradient(#fff6e2,#e9bf68 120%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.22rem}html[data-theme=nomicon] .site-nav .links a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent);background:#b994ff24;border-radius:8px 8px 4px 4px}html[data-theme=nomicon] .lesson h1,html[data-theme=nomicon] .intro h1{letter-spacing:.015em;color:#f6eeff;line-height:1.2}html[data-theme=nomicon] .lesson h1:after,html[data-theme=nomicon] .intro h1:after{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10'%3E%3Cpath d='M5 0 L10 5 L5 10 L0 5 Z' fill='%23e9bf68'/%3E%3C/svg%3E") 50%/10px 10px no-repeat,linear-gradient(90deg,#0000,#b994ffb3 45%,#0000 45% 55%,#b994ffb3 55%,#0000) 50%/100% 1px no-repeat;width:180px;height:10px;margin-top:10px;display:block}html[data-theme=nomicon] .lesson h2{color:#f1e8ff}html[data-theme=nomicon] .lesson h2:before{content:"✦";color:var(--gold);vertical-align:.3em;opacity:.85;margin-right:.55em;font-size:.6em}html[data-theme=nomicon] .lesson .kicker,html[data-theme=nomicon] .kicker,html[data-theme=nomicon] .ln-home{color:#c4a9f0}html[data-theme=nomicon] .lesson-nav li a[aria-current=page]{box-shadow:inset 2px 0 0 var(--accent);background:linear-gradient(90deg,#b994ff2e,#b994ff0a)}html[data-theme=nomicon] .card{background:linear-gradient(#1e1930,#17132a);border-color:#30284a;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:inset 0 1px #e9bf681f}html[data-theme=nomicon] .card:hover{border-color:#b994ffb3;transform:translateY(-1px);box-shadow:inset 0 1px #e9bf6840,0 6px 28px -10px #8c5cf08c}html[data-theme=nomicon] .card h2{color:#f6eeff}html[data-theme=nomicon] .go{color:var(--gold)}html[data-theme=nomicon] .callout{background:linear-gradient(#241e35e6,#1a1627e6);border-color:#3a3052;box-shadow:inset 0 1px #e9bf681a}html[data-theme=nomicon] .callout-t{font-family:var(--f-display);letter-spacing:.04em}html[data-theme=nomicon] .lesson pre,html[data-theme=nomicon] .lesson pre.astro-code{border-color:#2e2643;background:#15111f!important}html[data-theme=nomicon] .astro-code,html[data-theme=nomicon] .astro-code span{color:var(--shiki-tome)!important}html[data-theme=nomicon] .lesson :not(pre)>code{color:#ead9ff;background:#211b31;border-color:#342b4b}html[data-theme=nomicon] .pn{background:linear-gradient(90deg,#0000,#b994ff59,#0000) top/100% 1px no-repeat;border-top:0}html[data-theme=vs]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1e1e1e;--paper:#252526;--raised:#2d2d30;--ink:#f1f1f1;--body:#d4d4d4;--muted:#9d9d9d;--line:#3f3f46;--line-soft:#333337;--accent:#3794ff;--on-accent:#fff;--good:#89d185;--warn:#cca700;--alert:#f48771;--c1:#dcdcaa;--c2:#4ec9b0;--c3:#ce9178;--c4:#b5cea8;--c5:#c586c0;--c6:#d7ba7d;--c7:#569cd6;--c8:#9cdcfe;--focus:#007acc;--f-body:"Segoe UI", "Segoe WPC", Tahoma, "Open Sans", sans-serif;--f-display:var(--f-body);--f-mono:"Cascadia Mono", "Cascadia Code", Consolas, "Courier New", monospace;--on-unit:#1e1e1e;--swatch-edge:#ffffff1f;--wall:#5a5a66;--grid:#2b2b2b;--floor:#1e1e1e;--walker:#dcdcaa;--vehicle:#c586c0;--cache:#4ec9b0;--soft:#d7ba7d;--other:#858585;--u2:#4ec9b0;--u3:#ce9178;--u4:#b5cea8;--u5:#c586c0;--u6:#d7ba7d;--u7:#569cd6;--u8:#9cdcfe;--t-road:#4b4430;--t-rough:#2f4a33;--t-mud:#4e3626;--t-water:#1f3a55;--closed:#3794ff33;--open:#3794ff66;--open-ring:#3794ff;--scan:#dcdcaa38;--tree:#d4d4d459}html[data-theme=vs] body{background:#2d2d30;padding:0 0 24px;font-size:13.5px}html[data-theme=vs] a{color:#3794ff}html[data-theme=vs] h1,html[data-theme=vs] h2,html[data-theme=vs] h3{color:#fff;font-weight:400}html[data-theme=vs] .site-nav{background:#2d2d30;border-bottom:1px solid #3f3f46;gap:2px 8px;max-width:none;min-height:34px;margin:0;padding:0 8px;font-size:13px}html[data-theme=vs] .site-nav .brand{color:#f1f1f1;gap:8px;font-size:13px;font-weight:400}html[data-theme=vs] .site-nav .brand svg{width:20px;height:20px}html[data-theme=vs] .site-nav .brand svg rect{fill:#68217a;stroke:#9b4f96;rx:2px}html[data-theme=vs] .site-nav .brand svg path{stroke:#fff}html[data-theme=vs] .site-nav .links a,html[data-theme=vs] .site-nav .slot button{color:#f1f1f1;background:0 0;border:1px solid #0000;border-radius:0;padding:5px 10px;font-size:13px;font-weight:400}html[data-theme=vs] .site-nav .links a:hover,html[data-theme=vs] .site-nav .slot button:hover{background:#3e3e40}html[data-theme=vs] .site-nav .links a[aria-current=page]{background:#1b1b1c;border-color:#333337}html[data-theme=vs] .theme-pick{color:#9d9d9d;font-size:12px}html[data-theme=vs] .theme-pick select{color:#f1f1f1;background:#333337;border:1px solid #434346;border-radius:0;font-size:12px}html[data-theme=vs] .frame{margin:6px 0 0;display:block}html[data-theme=vs] .frame-bar{background:#2d2d30;align-items:flex-end;height:24px;padding:0 8px;display:flex}html[data-theme=vs] .frame-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;background:#007acc;align-items:center;gap:10px;max-width:100%;height:22px;padding:0 8px 0 10px;font-size:12px;display:inline-flex;overflow:hidden}html[data-theme=vs] .frame-title:after{content:"✕";opacity:.9;font-size:10px}html[data-theme=vs] .frame-caps{display:none}html[data-theme=vs] .frame-client{background:#1e1e1e;border-top:2px solid #007acc;min-height:calc(100vh - 88px);padding:18px 20px 30px;display:block}@media (max-width:640px){html[data-theme=vs] .frame-client{padding:12px 10px 24px}}html[data-theme=vs] .statusbar{z-index:50;color:#fff;background:#007acc;justify-content:space-between;align-items:center;height:22px;padding:0 10px;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0}html[data-theme=vs] .statusbar .sb-right{gap:18px;display:flex}html[data-theme=vs] .statusbar .clock{display:inline}html[data-theme=vs] .frame-client button{font-family:var(--f-body);color:#f1f1f1;box-shadow:none;text-shadow:none;background:#3f3f46;border:1px solid #555;border-radius:2px}html[data-theme=vs] .frame-client button:hover:not(:disabled){background:#505050;border-color:#007acc}html[data-theme=vs] .frame-client button:active:not(:disabled),html[data-theme=vs] .frame-client button[aria-pressed=true],html[data-theme=vs] .frame-client button.on{background:#094771;border-color:#007acc}html[data-theme=vs] .frame-client button:disabled{color:#6d6d6d;background:#2d2d30;border-color:#3f3f46}html[data-theme=vs] .frame-client :is(button.primary,.fdbg-btn.primary,.sbx-btn.primary,.bench-run,.spg-run,.net-send,.cx-try),html[data-theme=vs] #concepts .cx-try{color:#fff;background:#0e639c;border-color:#17b}html[data-theme=vs] .frame-client :is(button.primary,.fdbg-btn.primary,.sbx-btn.primary,.bench-run,.spg-run,.net-send,.cx-try):hover:not(:disabled){background:#17b}html[data-theme=vs] .frame-client :is(input[type=text],input[type=number],input:not([type]),textarea,select){color:#f1f1f1;background-color:#333337;border:1px solid #434346;border-radius:0}html[data-theme=vs] .frame-client :is(input,textarea,select):focus{border-color:#007acc;outline:none}html[data-theme=vs] .frame-client :is(.card,.sandbox-card,.lesson-list a,.fdbg,.qpg,.bench,.spg,.net,.tryit,.callout,.sec,.lane,.transport){box-shadow:none}html[data-theme=vs] .frame-client :is(.card,.lesson-list a):hover{background:#2a2d2e;border-color:#007acc}html[data-theme=vs] .lesson-nav li a[aria-current=page]{color:#fff;background:#094771}html[data-theme=vs] .lesson-nav li a:hover{background:#2a2d2e}html[data-theme=vs] .lesson pre,html[data-theme=vs] .lesson pre.astro-code{border:1px solid #3f3f46;border-radius:0;background:#1e1e1e!important}html[data-theme=vs] .astro-code,html[data-theme=vs] .astro-code span{color:var(--shiki-vs)!important}html[data-theme=vs] .lesson :not(pre)>code{color:#ce9178;background:#2d2d30;border-color:#3f3f46}html[data-theme=vs] #concepts{background:#252526;border-left:1px solid #3f3f46}html[data-theme=vs] ::-webkit-scrollbar{width:14px;height:14px}html[data-theme=vs] ::-webkit-scrollbar-track{background:#1e1e1e}html[data-theme=vs] ::-webkit-scrollbar-thumb{background:#424242;border:3px solid #1e1e1e}html[data-theme=vs] ::-webkit-scrollbar-thumb:hover{background:#4f4f4f}html[data-theme=vs] :is(.bench,.bench-num,.bench-run,.callout,.card,.concepts-btn,.cx-card,.cx-try,.fdbg-btn,.fdbg-q,.fdbg-ref,.fdbg-sset,.fdbg-toolrow select,.fdbg-value,.lane,.lane-head .tag,.lesson pre,.lesson-list a,.lesson-nav li a,.ln-mobile,.net,.net-code pre,.net-btn,.net-toggle,.net-send,.net-ent,.net-log,.net-wire,.qpg,.qpg-in,.qpg-plan,.qpg-table,.sandbox-card,.sbx select,.sbx-in,.sbx-num,.sbx-bar,.sbx-btn,.sbx-entry,.sbx-item,.sbx-sec,.sbx-set,.sbx-table,.sec,.seg,.seg button,.spg,.spg-ed,.spg-ent,.spg-game pre,.spg-log,.spg-run,.spg-btn,.spg-x,.stat,.tcard,.term-pop,.unit-row,.unit-table-wrap,.inspect,.transport,.fdbg-code,.fdbg-log,.fdbg-now,.fdbg,.fdbg-variants,.tryit,canvas.map,.bench-out,.tc,.tcard),html[data-theme=vs] .frame-client :is(.chip,.net-kind,.net-tag,.spg-tag,.spg-preset,.qpg-preset){border-radius:2px}html[data-theme=vs] .lesson-nav li a{color:#d4d4d4}html[data-theme=vs] .lesson-nav{max-height:calc(100vh - 60px)}.search-btn{font:inherit;color:var(--muted);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:7px;padding:5px 10px;font-size:.85rem;display:inline-flex}.search-btn:hover{color:var(--ink);border-color:var(--accent)}.search-btn kbd{font-family:var(--f-mono);border:1px solid var(--line-soft);border-radius:4px;padding:0 4px;font-size:.7rem}@media (max-width:700px){.search-btn-l,.search-btn kbd{display:none}}.search-dlg{border:1px solid var(--line);background:var(--bg);width:min(680px,100vw - 32px);max-height:min(640px,100vh - 80px);color:var(--body);border-radius:14px;margin:60px auto auto;padding:0;overflow:hidden;box-shadow:0 20px 60px #00000073}.search-dlg[open]{flex-direction:column;display:flex}.search-dlg::backdrop{background:#00000073}.search-box{border-bottom:1px solid var(--line-soft);gap:8px;padding:12px;display:flex}.search-box input{min-width:0;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:8px;flex:1;padding:8px 10px;font-size:1rem}.search-box input:focus{outline:2px solid var(--accent);outline-offset:-1px}.search-x{font:inherit;color:var(--muted);border:1px solid var(--line-soft);cursor:pointer;background:0 0;border-radius:8px;padding:0 10px;font-size:.8rem}.search-res{flex:1;margin:0;padding:6px;list-style:none;overflow:auto}.search-res a{color:inherit;border-radius:8px;flex-direction:column;gap:2px;padding:9px 10px;text-decoration:none;display:flex}.search-res li[aria-selected=true] a,.search-res a:hover{background:var(--raised)}.sr-k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.sr-h{color:var(--ink);font-weight:500}.sr-x{font-size:.85rem;line-height:1.45}.sr-x mark{background:color-mix(in srgb, var(--accent) 28%, transparent);color:var(--ink);border-radius:2px}.search-empty{color:var(--muted);padding:14px 10px}.search-foot{color:var(--muted);border-top:1px solid var(--line-soft);margin:0;padding:8px 14px;font-size:.75rem}
