@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=VT323&family=Noto+Sans+SC:wght@400;500;700&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Fira Code,ui-monospace,SF Mono,Cascadia Code,Menlo,PingFang SC,Noto Sans SC,Microsoft YaHei,HarmonyOS Sans SC,sans-serif;font-size:13px;line-height:1.6;font-feature-settings:"ss01" 1,"cv01" 1;background:var(--bg);color:var(--fg);transition:background .25s,color .25s}.cn{font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,HarmonyOS Sans SC,sans-serif;letter-spacing:.01em}.cn .en,.cn code{font-family:Fira Code,monospace}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,input{border:0;background:none}input{outline:0}::selection{background:var(--accent);color:var(--bg)}:root,html[data-theme=dark]{--bg:#030603;--bg-elev:#0a100a;--panel:#0b120b;--border:rgba(82,255,138,.18);--border-strong:rgba(82,255,138,.42);--grid:rgba(82,255,138,.06);--fg:#d0e6d0;--fg-dim:#9db09d;--mute:#5c785c;--accent:#5cff9a;--accent-d:#3fb068;--amber:#ffc042;--red:#ff5a5a;--blue:#7ec9ff;--shadow:0 0 32px rgba(82,255,138,.12);--glow-txt:0 0 10px rgba(82,255,138,.45);--scanline:rgba(82,255,138,.022);color-scheme:dark}html[data-theme=light]{--bg:#f4f1e8;--bg-elev:#ece7d6;--panel:#f8f5eb;--border:rgba(18,62,33,.22);--border-strong:rgba(18,62,33,.55);--grid:rgba(18,62,33,.05);--fg:#1b2f1e;--fg-dim:#3b5540;--mute:#7d8c7f;--accent:#0c8a3a;--accent-d:#0f6e30;--amber:#b57200;--red:#c02020;--blue:#1c66aa;--shadow:0 2px 0 rgba(18,62,33,.08);--glow-txt:none;--scanline:transparent;color-scheme:light}.crt-overlay{z-index:9999;background:repeating-linear-gradient(180deg,transparent 0,transparent 2px,var(--scanline) 2px,var(--scanline) 3px);mix-blend-mode:overlay}.crt-glow,.crt-overlay{position:fixed;inset:0;pointer-events:none}.crt-glow{z-index:9998;box-shadow:inset 0 0 120px rgba(82,255,138,.05)}html[data-theme=light] .crt-glow{box-shadow:none}html[data-theme=light] .crt-overlay{display:none}.status-strip{display:flex;gap:22px;flex-wrap:wrap;justify-content:space-between;padding:6px 24px;border-bottom:1px solid var(--border);font-size:11px;color:var(--mute);background:color-mix(in oklab,var(--accent) 3%,transparent)}.status-strip b{color:var(--accent);font-weight:500}.status-strip .alert b{color:var(--amber);animation:blink 1.6s infinite}@keyframes blink{50%{opacity:.3}}.top-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border);font-size:12px;grid-gap:24px;gap:24px;position:-webkit-sticky;position:sticky;top:0;z-index:100;background:color-mix(in oklab,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{color:var(--accent);font-weight:600;font-size:18px;letter-spacing:.01em;text-shadow:var(--glow-txt);display:inline-flex;align-items:baseline;gap:4px}.brand .prompt{opacity:.5}.brand .cursor{display:inline-block;width:.48em;height:.9em;background:var(--accent);margin-left:4px;vertical-align:baseline;animation:blink 1.1s steps(1) infinite}.top-nav{display:flex;gap:20px;justify-self:center;color:var(--mute);font-size:12px}.top-nav a{transition:color .2s,text-shadow .2s}.top-nav a:before{content:"./";color:var(--accent-d);opacity:.6}.top-nav a.active,.top-nav a:hover{color:var(--accent);text-shadow:var(--glow-txt)}.top-nav a.active:after{content:"_";color:var(--accent);animation:blink 1.1s steps(1) infinite;margin-left:2px}.top-right{display:flex;align-items:center;gap:14px;font-size:11px;color:var(--mute)}.top-right .user{color:var(--fg-dim)}.top-right .user b{color:var(--accent)}.theme-toggle{padding:4px 10px;font-size:11px;letter-spacing:.04em;border:1px solid var(--border-strong);color:var(--fg-dim);transition:.2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hamburger{display:none;padding:4px 10px;font-size:14px;color:var(--fg);border:1px solid var(--border-strong)}.mobile-menu{display:none;padding:12px 24px 20px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-direction:column;gap:10px;font-size:13px}.mobile-menu a:before{content:"› ";color:var(--accent-d)}.mobile-menu a{color:var(--fg-dim)}.mobile-menu a:hover{color:var(--accent)}.mobile-menu.open{display:flex}.container{max-width:1360px;margin:0 auto;padding:48px 24px}.container.tight{padding:32px 24px}.s-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;gap:14px;flex-wrap:wrap}.s-h h2{font-family:Fira Code,monospace;font-weight:500;font-size:clamp(22px,3vw,32px);letter-spacing:-.005em;color:var(--fg)}.s-h h2:before{content:"## ";color:var(--accent-d)}.s-h h2 .grn{color:var(--accent);text-shadow:var(--glow-txt)}.s-h h2 .amb{color:var(--amber)}.s-h .meta{font-size:11px;color:var(--mute)}.btn,.s-h .meta b{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--accent);background:transparent;font-family:Fira Code,monospace;font-size:12px;letter-spacing:.04em;transition:background .2s,color .2s,box-shadow .2s,border-color .2s}.btn:before{content:"› "}.btn:hover{background:var(--accent);color:var(--bg);box-shadow:0 0 20px rgba(82,255,138,.28)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{background:transparent;color:var(--accent);box-shadow:none}.btn-ghost{padding:9px 14px;color:var(--fg-dim);font-size:12px;border:1px solid var(--border-strong);transition:.2s}.btn-ghost:before{content:"› ";color:var(--accent-d)}.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}.btn-amber{border-color:var(--amber);color:var(--amber)}.btn-amber:hover{background:var(--amber);color:var(--bg);box-shadow:0 0 20px rgba(255,186,58,.28)}.btn-danger{border-color:var(--red);color:var(--red)}.btn-danger:hover{background:var(--red);color:var(--bg)}.btn-sm{padding:5px 10px;font-size:11px}.btn-lg{padding:12px 22px;font-size:13px}.badge{display:inline-block;padding:2px 8px;font-size:10px;letter-spacing:.06em;border:1px solid var(--accent-d);color:var(--accent-d);background:transparent;font-family:Fira Code,monospace}.badge.live{border-color:var(--accent);color:var(--accent)}.badge.warn{border-color:var(--amber);color:var(--amber)}.badge.danger{border-color:var(--red);color:var(--red)}.badge.dim{border-color:var(--border-strong);color:var(--mute)}.badge.solid{background:var(--accent);color:var(--bg);border-color:var(--accent)}.input{padding:10px 14px;border:1px solid var(--border-strong);background:var(--bg-elev);color:var(--fg);font-family:Fira Code,monospace;font-size:13px;width:100%;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(82,255,138,.08)}.input::placeholder{color:var(--mute)}.input-shell{position:relative}.input-shell:before{content:"$";position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--accent);font-family:Fira Code,monospace;font-size:13px;pointer-events:none;opacity:.5}.input-shell .input{padding-left:28px}.panel{border:1px solid var(--border);background:color-mix(in oklab,var(--accent) 2%,var(--bg));padding:20px 22px;position:relative}.panel.dashed{border-style:dashed;border-color:var(--accent-d)}html[data-theme=light] .panel{background:var(--panel)}.panel[data-corners]:after,.panel[data-corners]:before{content:"";position:absolute;width:10px;height:10px;border-color:var(--accent);border-style:solid}.panel[data-corners]:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.panel[data-corners]:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.motd{padding:16px 20px;border:1px dashed var(--accent-d);background:color-mix(in oklab,var(--accent) 3%,transparent);font-size:13px;color:var(--fg-dim);line-height:1.6}.motd b{color:var(--accent)}.motd .h{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}.motd .h:before{content:"!";background:var(--amber);color:var(--bg);width:16px;height:16px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:11px}.foot{padding:40px 24px 24px;border-top:1px solid var(--border);font-size:11px;color:var(--mute);margin-top:60px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;grid-gap:24px;gap:24px;max-width:1360px;margin:0 auto}.foot-grid .br{color:var(--accent);font-family:Fira Code;font-size:16px;font-weight:600;margin-bottom:8px;display:block;text-shadow:var(--glow-txt)}.foot-grid .lead p{max-width:320px;line-height:1.6;font-size:11px}.foot-grid h5{color:var(--accent);font-size:11px;letter-spacing:.06em;margin-bottom:10px;font-weight:600}.foot-grid h5:before{content:"## "}.foot-grid a{display:block;padding:2px 0;color:var(--mute);transition:.2s}.foot-grid a:before{content:"› "}.foot-grid a:hover{color:var(--accent)}.copy-foot{max-width:1360px;margin:32px auto 0;padding-top:12px;border-top:1px dashed var(--border);display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--mute);letter-spacing:.04em}.mono-lg{font-size:22px}.mono-lg,.mono-xl{font-family:VT323,Fira Code,monospace;line-height:1}.mono-xl{font-size:36px;letter-spacing:.02em}.grn{color:var(--accent)}.amb{color:var(--amber)}.red{color:var(--red)}.blu{color:var(--blue)}.mute{color:var(--mute)}.dim{color:var(--fg-dim)}.hash:before{content:"# ";color:var(--mute)}.slash:before{content:"// ";color:var(--mute)}.arr:before{content:"› ";color:var(--accent)}.pre{font-family:VT323,Fira Code,monospace;white-space:pre}.spinner-ascii{display:inline-block;width:1ch;text-align:center;color:var(--accent);font-family:Fira Code}.pbar{font-family:Fira Code,monospace;font-size:12px;color:var(--accent);letter-spacing:0}.pbar .track{color:var(--mute)}@media (max-width:900px){.top-nav{display:none}.hamburger{display:inline-flex}.top-header{grid-template-columns:auto 1fr auto;gap:12px;padding:12px 18px}.container{padding:32px 18px}.status-strip{font-size:10px;gap:10px;padding:5px 18px}.status-strip .hide-sm{display:none}.foot-grid{grid-template-columns:1fr 1fr;gap:20px}}@media (max-width:560px){.brand{font-size:15px}.top-right .user{display:none}.foot-grid{grid-template-columns:1fr}}