@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--bg-0:#0b0c0e;--bg-1:#111316;--bg-2:#16181c;--bg-3:#1d2026;--line:#1f2229;--line-1:#2a2e36;--line-2:#3a3e48;--ink-0:#e8e6dd;--ink-1:#b8b6ad;--ink-2:#71706a;--ink-3:#45454a;--acc:#7cffb2;--acc-dim:#4ec98a;--acc-soft:#7cffb21f;--acc-glow:#7cffb273;--mag:#ff5c8f;--amb:#ffb05a;--vio:#b794ff;--cya:#6fd0ff;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display:"JetBrains Mono", ui-monospace, monospace;--font-serif:"Instrument Serif", ui-serif, Georgia, serif;--maxw:1180px;--pad:clamp(20px, 3.5vw, 44px);--radius:6px;--radius-lg:10px}*{box-sizing:border-box}html,body{background:var(--bg-0);color:var(--ink-0);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.6}body{background-image:radial-gradient(1200px 600px at 50% -10%,#7cffb20a,#0000 60%);background-attachment:fixed;min-height:100vh}a{color:var(--mag);text-decoration:none}a:hover{color:var(--acc)}button{font-family:inherit;font-size:inherit}::selection{background:var(--acc);color:var(--bg-0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-0)}::-webkit-scrollbar-thumb{background:var(--bg-3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--line-2)}h1,h2,h3,h4{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--ink-0);margin:0;font-weight:500;line-height:1.1}.h-display{letter-spacing:-.04em;font-size:clamp(36px,6.5vw,76px);font-weight:500;line-height:1}p{margin:0}p.lede{color:var(--ink-1);max-width:62ch;font-size:15px;line-height:1.65}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.acc{color:var(--acc)}.mag{color:var(--mag)}.amb{color:var(--amb)}.cya{color:var(--cya)}.vio{color:var(--vio)}.serif{font-family:var(--font-serif);font-style:italic;font-weight:400}.cmd{flex-wrap:wrap;align-items:baseline;gap:10px;font-size:13px;display:flex}.cmd .caret{color:var(--acc);flex:none}.cmd .cmd-text{color:var(--ink-0)}.cmd .flag{color:var(--amb)}.cmd .arg{color:var(--mag);word-break:break-word}.cmd .comment{color:var(--ink-3)}.cursor{vertical-align:-2px;background:var(--acc);width:8px;height:1em;box-shadow:0 0 8px var(--acc-glow);margin-left:2px;animation:1.05s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.page{flex-direction:column;min-height:100vh;display:flex}.container{max-width:var(--maxw);width:100%;padding:0 var(--pad);margin:0 auto}.section{padding:clamp(56px,8vw,96px) 0;position:relative}.section+.section{border-top:1px solid var(--line)}.sec-head{border-bottom:1px dashed var(--line-1);flex-wrap:wrap;align-items:baseline;gap:16px;margin-bottom:40px;padding-bottom:16px;display:flex}.sec-head .label{color:var(--ink-2);font-size:12px}.sec-head .label .caret{color:var(--acc)}.sec-head .label .what{color:var(--mag)}.sec-head .label .flag{color:var(--amb)}.sec-head h2{letter-spacing:-.025em;font-size:clamp(22px,2.6vw,32px);font-weight:500}.sec-head .meta{color:var(--ink-3);margin-left:auto;font-size:11px}.titlebar{padding:10px var(--pad);background:var(--bg-1);border-bottom:1px solid var(--line);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid;position:sticky;top:0}.tb-left{align-items:center;gap:14px;display:flex}.tb-dots{gap:6px;display:flex}.tb-dot{background:var(--bg-3);border:1px solid var(--line-1);border-radius:50%;width:11px;height:11px}.tb-dot.red{background:#ff5c5c;border-color:#cc4848}.tb-dot.amb{background:var(--amb);border-color:#c98c46}.tb-dot.grn{background:var(--acc);border-color:var(--acc-dim)}.tb-brand{cursor:pointer;color:var(--ink-1);white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-size:13px;display:flex}.tb-brand .name{color:var(--ink-0);font-weight:500}.tb-brand .ext{color:var(--ink-3)}.tb-tabs{scrollbar-width:none;align-items:stretch;gap:0;display:flex;overflow-x:auto}.tb-tabs::-webkit-scrollbar{display:none}.tb-tab{color:var(--ink-2);cursor:pointer;border-right:1px solid var(--line);white-space:nowrap;font-size:12px;font-family:var(--font-mono);background:0 0;border-top:none;border-bottom:none;border-left:none;align-items:center;gap:8px;padding:8px 14px;transition:color .15s,background .15s;display:flex;position:relative}.tb-tab:first-child{border-left:1px solid var(--line)}.tb-tab:hover{color:var(--ink-0);background:var(--bg-2)}.tb-tab.active{color:var(--ink-0);background:var(--bg-0)}.tb-tab.active:after{content:"";background:var(--acc);height:2px;box-shadow:0 0 8px var(--acc-glow);position:absolute;bottom:-11px;left:0;right:0}.tb-tab .idx{color:var(--ink-3);font-size:10px}.tb-tab.active .idx{color:var(--acc)}.tb-cta{color:var(--bg-0);background:var(--acc);border:1px solid var(--acc);border-radius:var(--radius);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;font-family:var(--font-mono);align-items:center;gap:8px;padding:7px 12px;text-decoration:none;transition:filter .15s;display:inline-flex}.tb-cta:hover{filter:brightness(1.1);color:var(--bg-0)}.cwd{padding:8px var(--pad);background:var(--bg-0);border-bottom:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.cwd .seg{color:var(--mag)}.cwd .sep{color:var(--ink-3)}.cwd .user{color:var(--acc)}.cwd .at{color:var(--ink-3)}.cwd .host{color:var(--cya)}.cwd .status{color:var(--ink-3);align-items:center;gap:6px;margin-left:auto;font-size:11px;display:inline-flex}.cwd .status .dot{background:var(--acc);width:6px;height:6px;box-shadow:0 0 6px var(--acc-glow);border-radius:50%}.btn{font-family:var(--font-mono);color:var(--ink-0);border:1px solid var(--line-1);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:8px;padding:9px 14px;font-size:13px;line-height:1;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}.btn .arrow{transition:transform .15s}.btn:hover .arrow{transform:translate(2px)}.btn-primary{background:var(--acc);color:var(--bg-0);border-color:var(--acc);font-weight:500}.btn-primary:hover{color:var(--acc);border-color:var(--acc);background:0 0}.btn-ghost{color:var(--ink-1);border-color:#0000;padding-left:4px;padding-right:4px}.btn-ghost:hover{color:var(--acc);background:0 0;border-color:#0000}.btn-sm{padding:6px 10px;font-size:12px}.tag{border:1px solid var(--line-1);color:var(--ink-1);background:var(--bg-1);white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;line-height:1.6;display:inline-flex}.tag.live{color:var(--acc);border-color:#7cffb24d}.tag.live:before{content:"";background:var(--acc);width:6px;height:6px;box-shadow:0 0 6px var(--acc-glow);border-radius:50%}.tag.amb{color:var(--amb);border-color:#ffb05a4d}.tag.amb:before{content:"";background:var(--amb);border-radius:50%;width:6px;height:6px}.tag.mag{color:var(--mag);border-color:#ff5c8f4d}.tag.mag:before{content:"";background:var(--mag);border-radius:50%;width:6px;height:6px}.tag.vio{color:var(--vio);border-color:#b794ff4d}.tag.vio:before{content:"";background:var(--vio);border-radius:50%;width:6px;height:6px}.panel{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.panel-bar{background:var(--bg-2);border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.panel-bar .tb-dots{margin-right:6px}.panel-bar .title{color:var(--ink-1)}.panel-body{padding:18px 20px}.term-list{flex-direction:column;display:flex}.term-row{border-bottom:1px dashed var(--line);cursor:pointer;grid-template-columns:28px 220px 80px 110px 90px 1fr 24px;align-items:center;gap:16px;padding:14px 4px;font-size:13px;transition:background .12s,color .12s;display:grid}.term-row:hover{background:var(--bg-1)}.term-row:hover .row-name{color:var(--acc)}.term-row:hover .row-arrow{color:var(--acc);transform:translate(2px)}.term-row .row-idx{color:var(--ink-3);font-size:11px}.term-row .row-name{color:var(--ink-0);font-weight:500}.term-row .row-type{color:var(--ink-2);font-size:12px}.term-row .row-status{font-size:11px}.term-row .row-meta{color:var(--ink-2);font-size:12px}.term-row .row-desc{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.term-row .row-arrow{color:var(--ink-3);text-align:right;transition:all .15s}.term-list .header{border-bottom:1px solid var(--line-1);color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:28px 220px 80px 110px 90px 1fr 24px;gap:16px;padding:8px 4px;font-size:10.5px;display:grid}@media (max-width:820px){.term-row,.term-list .header{grid-template-columns:24px 1fr 80px}.term-row .row-type,.term-row .row-meta,.term-row .row-desc,.term-list .header .h-type,.term-list .header .h-meta,.term-list .header .h-desc,.term-list .header .h-arrow,.term-row .row-arrow{display:none}}.hero{padding:clamp(40px,6vw,72px) 0;position:relative}.hero-grid{grid-template-columns:1.05fr 1fr;align-items:start;gap:56px;display:grid}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin-top:32px;display:grid}.hero-stat{border-right:1px solid var(--line);padding:16px 18px}.hero-stat:last-child{border-right:0}.hero-stat .num{letter-spacing:-.03em;color:var(--ink-0);font-size:26px;font-weight:500;line-height:1}.hero-stat .num .unit{color:var(--acc);font-size:18px}.hero-stat .lbl{letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase;white-space:nowrap;margin-top:8px;font-size:10.5px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px}}.neofetch{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);grid-template-columns:auto 1fr;align-items:start;gap:24px;padding:22px;font-size:12.5px;display:grid}.nf-art pre{color:var(--acc);white-space:pre;font-size:11px;line-height:1.3}.nf-row{gap:6px;margin-bottom:4px;display:flex}.nf-key{color:var(--acc);min-width:80px}.nf-sep{color:var(--ink-3)}.nf-val{color:var(--ink-1)}@media (max-width:640px){.neofetch{grid-template-columns:1fr}.nf-art{display:none}}.devlog-grid{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.terminal{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.term-bar{background:var(--bg-2);border-bottom:1px solid var(--line);color:var(--ink-2);align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:flex}.term-title{color:var(--ink-2);font-size:11px}.term-body{min-height:200px;padding:18px 20px}.term-out{padding-left:24px}.term-prompt{color:var(--acc);white-space:nowrap}.term-cmd{color:var(--ink-0)}.term-dim{color:var(--ink-3)}.term-key{color:var(--acc)}.devlog-side{padding-top:8px}@media (max-width:860px){.devlog-grid{grid-template-columns:1fr}.devlog-side{display:none}}.principles{flex-direction:column;gap:0;display:flex}.principle{border-bottom:1px dashed var(--line-1);align-items:flex-start;gap:24px;padding:28px 0;display:flex}.p-num{color:var(--ink-3);min-width:28px;padding-top:2px;font-size:11px}.p-body{flex:1}.p-title{color:var(--ink-0);margin-bottom:8px;font-size:15px;font-weight:500}.p-text{color:var(--ink-2);font-size:13px}.page-head{padding:clamp(40px,5vw,64px) 0 clamp(32px,4vw,48px)}.page-head h1{letter-spacing:-.035em;margin-top:18px;font-size:clamp(32px,5vw,60px)}.filter-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.chip{border-radius:var(--radius);border:1px solid var(--line-1);color:var(--ink-2);cursor:pointer;font-size:12px;font-family:var(--font-mono);background:0 0;align-items:center;gap:6px;padding:4px 10px;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--acc-dim);color:var(--acc)}.chip.on{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}.chip-count{color:var(--ink-3);font-size:11px}.drawer-bg{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--bg-0);border-left:1px solid var(--line);flex-direction:column;width:min(680px,95vw);height:100vh;animation:.2s slideIn;display:flex;overflow-y:auto}@keyframes slideIn{0%{opacity:0;transform:translate(40px)}}.stat-grid{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;display:grid;overflow:hidden}.stat-cell{border-right:1px solid var(--line);padding:14px}.stat-cell:last-child{border-right:0}.stat-val{letter-spacing:-.03em;color:var(--ink-0);font-size:20px;font-weight:500}.stat-val.acc{color:var(--acc)}.stat-key{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px}.git-row{border-bottom:1px dashed var(--line);gap:16px;padding:10px 0;font-size:12px;display:flex}@media (max-width:540px){.stat-grid{grid-template-columns:1fr 1fr}.stat-cell:nth-child(2){border-right:0}}.team-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.team-card .tc-avatar{margin:20px 0 8px}.term-line{gap:8px;margin-bottom:6px;font-size:13px;display:flex}.term-line .muted{white-space:nowrap}@media (max-width:900px){.team-grid{grid-template-columns:1fr}}.blog-list{flex-direction:column;display:flex}.blog-row{border-bottom:1px dashed var(--line);color:inherit;grid-template-columns:24px 90px 1fr 20px;align-items:start;gap:20px;padding:18px 4px;text-decoration:none;transition:background .12s;display:grid}.blog-row:hover{background:var(--bg-1)}.blog-row:hover .b-title{color:var(--acc)}.blog-row:hover .b-arrow{color:var(--acc);transform:translate(2px)}.b-idx,.b-date{color:var(--ink-3);font-size:11px}.b-body{flex-direction:column;gap:6px;display:flex}.b-meta{align-items:center;gap:8px;display:flex}.b-title{color:var(--ink-0);font-size:15px;font-weight:500}.b-excerpt{color:var(--ink-2);font-size:12px;line-height:1.5}.b-arrow{color:var(--ink-3);padding-top:4px;transition:all .15s}@media (max-width:640px){.blog-row{grid-template-columns:1fr 20px}.b-idx,.b-date{display:none}}.post-content{max-width:720px}.post-content h1,.post-content h2,.post-content h3{margin-top:32px;margin-bottom:12px}.post-content p{color:var(--ink-1);margin-bottom:16px;font-size:15px;line-height:1.7}.post-content pre{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--radius);margin-bottom:16px;padding:16px;font-size:12px;overflow-x:auto}.post-content code{background:var(--bg-2);border:1px solid var(--line-1);border-radius:3px;padding:1px 5px;font-size:12px}.post-content pre code{background:0 0;border:none;padding:0}.git-log{flex-direction:column;display:flex}.git-commit{gap:20px;display:flex}.g-rail{flex-direction:column;align-items:center;min-width:20px;display:flex}.g-dot{color:var(--mag);font-size:12px;line-height:1}.g-dot.head{color:var(--acc)}.g-line{color:var(--line-2);writing-mode:vertical-lr;flex:1;margin:2px 0;font-size:16px;line-height:1}.g-body{flex:1;padding-bottom:32px}.g-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.g-title{color:var(--ink-0);margin-bottom:6px;font-size:14px;font-weight:500}.g-text{color:var(--ink-2);font-size:13px}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px dashed var(--line-1);cursor:pointer;transition:background .1s}.faq-item:hover{background:var(--bg-1)}.faq-row{align-items:baseline;gap:14px;padding:18px 4px;display:flex}.faq-num{color:var(--ink-3);min-width:24px;font-size:11px}.faq-q{color:var(--ink-0);flex:1;font-size:14px}.faq-toggle{color:var(--acc);text-align:right;min-width:16px;font-size:16px}.faq-a{color:var(--ink-2);padding:0 4px 18px 52px;font-size:13px;line-height:1.6}.contact-grid{grid-template-columns:1fr 1.5fr;align-items:start;gap:32px;display:grid}.contact-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;transition:border-color .15s;display:block}.contact-card:hover{border-color:var(--acc-dim)}.cc-head{color:var(--ink-3);align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:flex}.cc-prompt{color:var(--acc)}.cc-cmd{color:var(--mag)}.cc-val{color:var(--ink-0);margin-bottom:4px;font-size:13px}.cc-sub{font-size:11px}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--ink-3);font-size:11px}.field input,.field textarea{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--radius);color:var(--ink-0);font-family:var(--font-mono);resize:vertical;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--acc)}.topic-row{flex-wrap:wrap;gap:6px;display:flex}@media (max-width:800px){.contact-grid{grid-template-columns:1fr}}.ascii-rule{color:var(--line-2);white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.footer{border-top:1px solid var(--line);margin-top:auto;padding:clamp(40px,5vw,64px) 0 32px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-bottom{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;padding-top:24px;font-size:12px;display:flex}.footer h5{color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;font-size:11px;font-weight:400}.footer ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer li a{color:var(--ink-2);cursor:pointer;font-size:13px;text-decoration:none;transition:color .15s}.footer li a:hover{color:var(--acc)}@media (max-width:720px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}.readme-content{color:var(--ink-1);font-size:13px;line-height:1.7}.readme-content h1{letter-spacing:-.02em;color:var(--ink-0);border-bottom:1px solid var(--line-1);margin:28px 0 10px;padding-bottom:8px;font-size:20px;font-weight:500}.readme-content h2{letter-spacing:-.01em;color:var(--ink-0);border-bottom:1px dashed var(--line-1);margin:22px 0 8px;padding-bottom:6px;font-size:16px;font-weight:500}.readme-content h3{color:var(--acc);margin:18px 0 6px;font-size:14px;font-weight:500}.readme-content h4,.readme-content h5,.readme-content h6{color:var(--ink-1);margin:14px 0 4px;font-size:13px;font-weight:500}.readme-content p{color:var(--ink-1);margin-bottom:12px}.readme-content a{color:var(--mag);text-decoration:none}.readme-content a:hover{color:var(--acc)}.readme-content ul,.readme-content ol{flex-direction:column;gap:4px;margin:0 0 12px;padding-left:20px;display:flex}.readme-content li{color:var(--ink-1)}.readme-content li::marker{color:var(--acc)}.readme-content strong{color:var(--ink-0);font-weight:600}.readme-content em{color:var(--ink-1);font-style:italic}.readme-content code{background:var(--bg-2);border:1px solid var(--line-1);color:var(--amb);font-size:11.5px;font-family:var(--font-mono);border-radius:3px;padding:1px 6px}.readme-content pre{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--radius);margin:12px 0;padding:14px 16px;overflow-x:auto}.readme-content pre code{color:var(--ink-1);background:0 0;border:none;padding:0;font-size:12px}.readme-content blockquote{border-left:2px solid var(--acc);background:var(--bg-2);border-radius:0 var(--radius) var(--radius) 0;color:var(--ink-2);margin:12px 0;padding:8px 14px}.readme-content table{border-collapse:collapse;width:100%;margin:12px 0;font-size:12px}.readme-content th{color:var(--ink-0);text-align:left;border-bottom:1px solid var(--line-1);background:var(--bg-2);padding:8px 12px;font-weight:500}.readme-content td{border-bottom:1px dashed var(--line);color:var(--ink-2);padding:8px 12px}.readme-content img{border-radius:var(--radius);border:1px solid var(--line-1);max-width:100%;margin:8px 0}.readme-content hr{border:none;border-top:1px dashed var(--line-1);margin:20px 0}
