:root{--bg-editor: oklch(.225 .012 260);--bg-panel: oklch(.195 .01 260);--bg-tab: oklch(.205 .012 260);--bg-chrome: oklch(.165 .008 260);--bg-elev: oklch(.255 .014 260);--bg-soft: oklch(.245 .013 260);--bg-line: oklch(.31 .014 260);--fg: oklch(.88 .012 260);--fg-dim: oklch(.68 .012 260);--fg-faint: oklch(.5 .012 260);--fg-ghost: oklch(.36 .01 260);--accent: oklch(.82 .14 75);--git: oklch(.78 .14 145);--link: oklch(.78 .13 220);--danger: oklch(.7 .2 25);--unsaved: oklch(.74 .18 25);--select: oklch(.45 .1 240 / .5);--syn-kw: oklch(.74 .16 0);--syn-str: oklch(.84 .13 95);--syn-num: oklch(.8 .13 50);--syn-com: oklch(.52 .02 260);--syn-fn: oklch(.78 .12 220);--syn-var: oklch(.85 .06 200);--syn-attr: oklch(.8 .12 80);--syn-punct: oklch(.62 .01 260);--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--serif: "Lora", "Iowan Old Style", Georgia, serif;--fs-2xs: 10px;--fs-xs: 10.5px;--fs-sm: 11.5px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 28px;--fs-4xl: 32px;--lh-tight: 1.2;--lh-normal: 1.5;--lh-loose: 1.65;--lh-prose: 1.7;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--r-sm: 2px;--r-md: 3px;--r-lg: 6px;--titlebar-h: 30px;--tabbar-h: 34px;--toolbar-h: 26px;--status-h: 22px;--gutter-w: 56px;--left-w: 220px;--right-w: 260px;--bottom-h: 240px}[data-theme=tokyo]{--bg-editor: oklch(.2 .025 280);--bg-panel: oklch(.17 .022 280);--bg-tab: oklch(.18 .022 280);--bg-chrome: oklch(.14 .02 280);--bg-elev: oklch(.24 .025 280);--bg-soft: oklch(.22 .024 280);--bg-line: oklch(.32 .03 280);--fg: oklch(.88 .02 260);--fg-dim: oklch(.66 .018 260);--fg-faint: oklch(.48 .018 260);--accent: oklch(.78 .14 200);--link: oklch(.78 .15 240);--syn-kw: oklch(.74 .16 320);--syn-str: oklch(.8 .13 140);--syn-fn: oklch(.78 .14 240)}[data-theme=monokai]{--bg-editor: oklch(.245 .012 90);--bg-panel: oklch(.215 .01 90);--bg-tab: oklch(.225 .011 90);--bg-chrome: oklch(.185 .008 90);--bg-elev: oklch(.285 .014 90);--bg-soft: oklch(.27 .013 90);--bg-line: oklch(.34 .014 90);--fg: oklch(.92 .02 90);--fg-dim: oklch(.7 .02 90);--fg-faint: oklch(.5 .02 90);--accent: oklch(.86 .18 110);--syn-kw: oklch(.74 .2 340);--syn-str: oklch(.86 .18 90);--syn-fn: oklch(.8 .14 200);--link: oklch(.8 .14 200)}[data-theme=light]{--bg-editor: oklch(.985 .005 90);--bg-panel: oklch(.955 .005 90);--bg-tab: oklch(.97 .005 90);--bg-chrome: oklch(.93 .006 90);--bg-elev: oklch(.97 .005 90);--bg-soft: oklch(.95 .005 90);--bg-line: oklch(.88 .008 90);--fg: oklch(.24 .01 260);--fg-dim: oklch(.45 .01 260);--fg-faint: oklch(.62 .01 260);--fg-ghost: oklch(.78 .008 260);--accent: oklch(.55 .16 35);--link: oklch(.48 .16 240);--git: oklch(.42 .13 145);--select: oklch(.82 .1 240 / .45);--syn-kw: oklch(.45 .18 305);--syn-str: oklch(.45 .13 145);--syn-num: oklch(.55 .18 35);--syn-com: oklch(.58 .02 260);--syn-fn: oklch(.45 .16 240);--syn-var: oklch(.3 .06 200);--syn-attr: oklch(.45 .13 30)}*{box-sizing:border-box}html,body,.ide-body{margin:0;padding:0;height:100%;width:100%;background:var(--bg-editor);color:var(--fg);font-family:var(--mono);font-size:var(--fs-md);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"calt" 1,"liga" 1;overflow:hidden}::selection{background:var(--select);color:var(--fg)}button,input,textarea,select{font:inherit;color:inherit;background:transparent;border:0}button{cursor:pointer}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}kbd{font-family:var(--mono);font-size:.82em;padding:1px 5px;border:1px solid var(--bg-line);border-bottom-width:2px;border-radius:var(--r-md);background:var(--bg-elev);color:var(--fg);line-height:1.2;display:inline-block}code.inline{font-family:var(--mono);background:var(--bg-soft);color:var(--syn-str);padding:1px 6px;border:1px solid var(--bg-line);border-radius:var(--r-md);font-size:.92em}noscript{display:block;padding:var(--space-6);font-family:var(--mono);color:var(--fg-dim)}.muted{color:#7c8088}.dim{color:var(--fg-dim)}.accent{color:var(--accent)}.ide{display:grid;grid-template-rows:var(--titlebar-h) var(--tabbar-h) 1fr auto var(--status-h);grid-template-columns:100%;height:100%;height:100dvh;width:100%;overflow:hidden}.titlebar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:var(--titlebar-h);padding:0 var(--space-3);background:var(--bg-chrome);border-bottom:1px solid var(--bg-line);font-size:var(--fs-sm);color:var(--fg-dim);-webkit-user-select:none;user-select:none;position:relative;z-index:4;white-space:nowrap;overflow:hidden}.titlebar>*{min-width:0}.titlebar .left,.titlebar .right{display:flex;align-items:center;gap:var(--space-2)}.titlebar .left{gap:var(--space-3);min-width:0;overflow:hidden}.titlebar .right{justify-self:end;flex-shrink:0}.titlebar .center{justify-self:center;color:var(--fg);flex-shrink:0}.titlebar,.titlebar button,.titlebar kbd{white-space:nowrap}.titlebar .traffic{display:inline-flex;gap:6px;flex-shrink:0}.titlebar .traffic span{width:11px;height:11px;border-radius:50%;background:var(--bg-line)}.titlebar .traffic span:nth-child(1){background:#e85854}.titlebar .traffic span:nth-child(2){background:#f2a618}.titlebar .traffic span:nth-child(3){background:#3fac4a}.titlebar .proj{color:var(--fg)}.titlebar .arrow{color:var(--fg-faint)}.titlebar .branch{display:inline-flex;align-items:center;gap:4px;color:var(--git)}.titlebar .icon-btn{width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:var(--r-md);font-size:var(--fs-md)}.titlebar .icon-btn:hover{background:var(--bg-elev);color:var(--fg)}.titlebar .icon-btn.on{color:var(--accent)}.titlebar svg.ico{width:14px;height:14px;flex-shrink:0}.titlebar .hamburger{display:none;width:36px;height:36px;align-items:center;justify-content:center;color:var(--fg);background:transparent;border:0;font-size:18px;cursor:pointer;border-radius:var(--r-md)}.titlebar .hamburger:hover{background:var(--bg-elev)}.tabbar{display:flex;align-items:stretch;height:var(--tabbar-h);background:var(--bg-tab);border-bottom:1px solid var(--bg-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--bg-line) transparent;z-index:3}.tabbar::-webkit-scrollbar{height:4px}.tabbar::-webkit-scrollbar-thumb{background:var(--bg-line)}.tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 10px 0 14px;height:100%;min-width:0;max-width:220px;color:var(--fg-dim);border-right:1px solid var(--bg-line);position:relative;font-size:12px;white-space:nowrap;cursor:default;flex-shrink:0}.tab .ico{width:14px;color:var(--fg-faint)}.tab .name{overflow:hidden;text-overflow:ellipsis}.tab .name.dirty:after{content:" ●";color:var(--accent)}.tab .x{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:var(--r-md);font-size:12px;opacity:0}.tab:hover .x{opacity:1}.tab .x:hover{background:var(--bg-line);color:var(--fg)}.tab:hover{color:var(--fg);background:var(--bg-elev)}.tab[aria-current=true]{background:var(--bg-editor);color:var(--fg)}.tab[aria-current=true]:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}.tabbar .tab-spacer{flex:1;border-right:0}.workbench{display:grid;grid-template-columns:auto 1fr auto;min-height:0;overflow:hidden;position:relative}.panel{background:var(--bg-panel);display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-h{display:flex;align-items:center;justify-content:space-between;height:26px;padding:0 10px;font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);-webkit-user-select:none;user-select:none;flex-shrink:0}.panel-h .actions{display:flex;gap:4px}.panel-h .icon-btn{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:var(--r-sm);font-size:11px}.panel-h .icon-btn:hover{background:var(--bg-elev);color:var(--fg)}.panel-body{flex:1;overflow:auto;padding:4px 0}.panel-body::-webkit-scrollbar{width:8px;height:8px}.panel-body::-webkit-scrollbar-thumb{background:var(--bg-line);border-radius:4px}.panel.left{width:var(--left-w);border-right:1px solid var(--bg-line);flex-shrink:0}.panel.right{width:var(--right-w);border-left:1px solid var(--bg-line);flex-shrink:0}.tree{font-size:12px;padding:4px 0}.tree .row{display:flex;align-items:center;gap:6px;padding:2px 8px;color:var(--fg-dim);position:relative;white-space:nowrap;cursor:default}.tree .row:hover{background:var(--bg-elev);color:var(--fg)}.tree .row.active{background:var(--bg-elev);color:var(--accent)}.tree .row.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent)}.tree .ico{width:14px;flex-shrink:0;color:var(--fg-faint);font-size:11px}.tree .row.dir>.ico{color:var(--accent)}.tree .row.dir>.name{color:var(--fg);font-weight:500}.tree .name{font-size:12px;overflow:hidden;text-overflow:ellipsis;flex:1}.tree .name .ext{color:var(--fg-faint)}.tree .badge{margin-left:auto;font-size:9.5px;padding:0 5px;background:var(--bg-line);color:var(--fg-dim);border-radius:8px}.tree .row.modified .name{color:var(--accent)}.tree .row.modified:after{content:"M";color:var(--accent);margin-left:auto;font-size:10px}.tree .row.d0{padding-left:8px}.tree .row.d1{padding-left:22px}.tree .row.d2{padding-left:38px}.tree .row.d3{padding-left:54px}.outline{font-size:12px}.outline .row{display:flex;align-items:center;gap:6px;padding:2px 8px;color:var(--fg-dim);cursor:default}.outline .row:hover{background:var(--bg-elev);color:var(--fg)}.outline .row .ico{width:14px;font-size:10px;color:var(--fg-faint)}.outline .h1{padding-left:8px;color:var(--fg)}.outline .h1 .ico{color:var(--syn-kw)}.outline .h2{padding-left:22px}.outline .h2 .ico{color:var(--syn-fn)}.outline .h3{padding-left:36px}.outline .h3 .ico{color:var(--syn-str)}.editor{background:var(--bg-editor);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative}.editor-toolbar{display:flex;align-items:center;gap:var(--space-2);height:var(--toolbar-h);padding:0 var(--space-3);border-bottom:1px solid var(--bg-line);background:var(--bg-editor);font-size:var(--fs-sm);color:var(--fg-faint);flex-shrink:0}.editor-toolbar .crumb a{color:var(--fg-dim)}.editor-toolbar .crumb a:hover{color:var(--fg);text-decoration:none}.editor-toolbar .crumb .sep{color:var(--fg-ghost);margin:0 4px}.editor-toolbar .crumb .file{color:var(--fg)}.editor-toolbar .right{margin-left:auto;display:flex;align-items:center;gap:6px}.editor-toolbar .mode-toggle{display:inline-flex;border:1px solid var(--bg-line);border-radius:var(--r-md);overflow:hidden;font-size:10.5px}.editor-toolbar .mode-toggle button{padding:1px 8px;color:var(--fg-faint)}.editor-toolbar .mode-toggle button.on{background:var(--bg-elev);color:var(--accent)}.editor-toolbar .icon-btn{width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:var(--r-md)}.editor-toolbar .icon-btn:hover{background:var(--bg-elev);color:var(--fg)}.editor-body{flex:1;display:grid;grid-template-columns:var(--gutter-w) 1fr;overflow:auto;position:relative;scroll-behavior:smooth}.editor-body::-webkit-scrollbar{width:12px;height:12px}.editor-body::-webkit-scrollbar-thumb{background:var(--bg-line);border:3px solid var(--bg-editor);border-radius:6px}.editor-body::-webkit-scrollbar-thumb:hover{background:var(--fg-faint)}.gutter{color:var(--fg-ghost);text-align:right;font-size:12px;padding:18px 10px 80px;-webkit-user-select:none;user-select:none;border-right:1px solid var(--bg-soft);font-variant-numeric:tabular-nums;line-height:1.6}.gutter .ln{display:block;height:1.6em}.gutter .ln.mod{position:relative}.gutter .ln.mod:before{content:"";position:absolute;right:0;top:1px;bottom:1px;width:3px;background:var(--accent)}.editor-content{padding:18px 28px 120px;min-width:0;line-height:1.6;font-size:var(--fs-md);caret-color:var(--accent)}.bottom{height:var(--bottom-h);background:var(--bg-panel);border-top:1px solid var(--bg-line);display:grid;grid-template-rows:28px 1fr;min-height:0;overflow:hidden;position:relative}.resize-handle{position:absolute;z-index:5;background:transparent;transition:background-color .12s}.resize-handle:hover,.resize-handle.active{background:var(--accent);opacity:.55}.resize-handle.right{top:0;bottom:0;right:-3px;width:6px;cursor:ew-resize}.resize-handle.left{top:0;bottom:0;left:-3px;width:6px;cursor:ew-resize}.resize-handle.top{left:0;right:0;top:-3px;height:6px;cursor:ns-resize}.panel{position:relative}.bottom-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--bg-line);background:var(--bg-tab);font-size:var(--fs-sm)}.bottom-tabs .b-tab{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--fg-faint);border-right:1px solid var(--bg-line);cursor:default}.bottom-tabs .b-tab:hover{color:var(--fg);background:var(--bg-elev)}.bottom-tabs .b-tab.on{color:var(--fg);background:var(--bg-panel);position:relative}.bottom-tabs .b-tab.on:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent)}.bottom-tabs .spacer{flex:1;border-right:0}.bottom-tabs .actions{display:flex;align-items:center;gap:2px;padding:0 6px}.bottom-tabs .icon-btn{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-faint);border-radius:var(--r-sm);font-size:11px}.bottom-tabs .icon-btn:hover{background:var(--bg-elev);color:var(--fg)}.term-body{font-family:var(--mono);font-size:12px;padding:var(--space-2) var(--space-3);overflow-y:auto;background:var(--bg-panel);line-height:1.55;scrollbar-width:thin;scrollbar-color:var(--bg-line) transparent}.term-body::-webkit-scrollbar{width:10px;height:10px}.term-body::-webkit-scrollbar-thumb{background:var(--bg-line);border:2px solid var(--bg-panel);border-radius:5px}.term-body::-webkit-scrollbar-thumb:hover{background:var(--fg-faint)}.term-body::-webkit-scrollbar-track{background:transparent}.term-body .line{display:block;white-space:pre-wrap;word-break:break-word}.term-body .pmt-user{color:#80cd82;font-weight:600}.term-body .pmt-host{color:#17d0d8}.term-body .pmt-time{color:var(--fg-faint)}.term-body .pmt-path{color:#dc9beb}.term-body .pmt-branch{color:var(--accent)}.term-body .pmt-sym{color:var(--syn-com);margin:0 4px}.term-body .cmd{color:var(--fg)}.term-body .out{color:var(--fg-dim)}.term-body .ok{color:var(--git)}.term-body .warn{color:var(--accent)}.term-body .err{color:var(--danger)}.term-input{background:transparent;border:0;outline:0;color:var(--fg);font:inherit;flex:1;min-width:100px}.statusbar{display:flex;align-items:center;height:var(--status-h);background:var(--bg-chrome);border-top:1px solid var(--bg-line);font-size:var(--fs-xs);color:var(--fg-dim);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.statusbar .seg{display:inline-flex;align-items:center;gap:5px;padding:0 9px;height:100%;cursor:default}.statusbar .seg:hover{background:var(--bg-elev);color:var(--fg)}.statusbar .seg.spacer{flex:1;cursor:auto}.statusbar .seg.spacer:hover{background:transparent}.statusbar .seg.accent{background:var(--accent);color:var(--bg-chrome);font-weight:600}.statusbar .live{width:6px;height:6px;border-radius:50%;background:var(--git);box-shadow:0 0 0 0 var(--git);animation:status-pulse 2s infinite}@keyframes status-pulse{0%{box-shadow:0 0 #7acf7e99}70%{box-shadow:0 0 0 5px #7acf7e00}to{box-shadow:0 0 #7acf7e00}}.pal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:oklch(from var(--bg-chrome) l c h / .55);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pal{width:min(560px,92%);background:var(--bg-panel);border:1px solid var(--bg-line);border-radius:var(--r-lg);box-shadow:0 12px 60px #00000080;overflow:hidden}.pal input.pal-q{width:100%;padding:12px 14px;background:transparent;border:0;border-bottom:1px solid var(--bg-line);color:var(--fg);font:inherit;font-size:var(--fs-md);outline:none}.pal .results{max-height:50vh;overflow-y:auto}.pal .row{display:flex;align-items:center;gap:var(--space-3);padding:8px 14px;border-bottom:1px solid var(--bg-soft);cursor:default;font-size:12px}.pal .row .ico{color:var(--fg-faint);width:14px;font-size:11px}.pal .row .label{color:var(--fg)}.pal .row .desc{color:var(--fg-faint);font-size:10.5px;margin-left:auto}.pal .row.sel{background:var(--bg-elev)}.pal .row.sel .label{color:var(--accent)}.pal .hint{padding:6px 14px;font-size:10px;color:var(--fg-faint);display:flex;gap:var(--space-3);background:var(--bg-soft)}.zen-bar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 var(--space-4);background:oklch(from var(--bg-editor) l c h / .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--bg-line);font-size:11px;color:var(--fg-faint);z-index:50}.zen-bar .left,.zen-bar .right{display:flex;align-items:center;gap:var(--space-3)}.zen-bar a{color:var(--fg-dim)}.zen-bar a:hover{color:var(--fg);text-decoration:none}.zen-bar .progress{position:absolute;left:0;bottom:0;height:2px;background:var(--accent)}.md h1,.md h2,.md h3,.md h4{font-family:var(--mono);font-weight:600;color:var(--fg);margin:1.2em 0 .5em;position:relative;scroll-margin-top:14px}.md h1{font-size:24px;letter-spacing:-.01em;margin-top:.2em}.md h2{font-size:var(--fs-xl);color:var(--syn-fn)}.md h3{font-size:var(--fs-lg);color:var(--syn-attr)}.md h1:before{content:"# ";color:var(--syn-kw);font-weight:400}.md h2:before{content:"## ";color:var(--syn-kw);font-weight:400}.md h3:before{content:"### ";color:var(--syn-kw);font-weight:400}.md p{margin:.5em 0 .8em;color:var(--fg-dim)}.md .body-p{font-family:var(--sans);font-size:14.5px;line-height:1.65;max-width:62ch}.md .body-p--sm{font-family:var(--sans);font-size:13px;line-height:1.55;max-width:62ch}.md .body-p--quote{font-family:var(--sans);font-size:15px;font-style:italic;line-height:1.6;margin:0}.md .body-md{max-width:72ch}.md .body-md>:first-child{margin-top:0}.md .body-md img{max-width:100%;height:auto}.md .body-md pre{background:var(--bg-soft);border:1px solid var(--bg-line);border-radius:var(--r-md);padding:12px 14px;overflow-x:auto;font-family:var(--mono);font-size:13px}.md .body-md code{font-family:var(--mono);background:var(--bg-soft);padding:1px 6px;border-radius:var(--r-sm);font-size:.92em}.md .body-md pre code{background:transparent;padding:0}.md .body-md blockquote{border-left:3px solid var(--accent);margin:1em 0;padding:4px 14px;color:var(--fg-dim);background:var(--bg-soft)}.md .body-md a{color:var(--link);text-decoration:underline}.md .body-md table{width:100%;border-collapse:collapse;margin:1.2em 0 1.4em;font-size:13.5px;font-family:var(--mono)}.md .body-md thead{border-bottom:1px solid var(--bg-line)}.md .body-md th{text-align:left;padding:8px 14px 8px 0;color:var(--accent);font-weight:600;font-size:12.5px;letter-spacing:.02em;white-space:nowrap}.md .body-md td{padding:8px 14px 8px 0;color:var(--fg);border-bottom:1px dashed var(--bg-line);vertical-align:top}.md .body-md tbody tr:last-child td{border-bottom:0}.md .body-md td:last-child,.md .body-md th:last-child{padding-right:0}.md .body-md .hljs{color:var(--fg);background:transparent}.md .body-md .hljs-keyword,.md .body-md .hljs-tag,.md .body-md .hljs-name,.md .body-md .hljs-selector-tag,.md .body-md .hljs-operator{color:var(--syn-kw)}.md .body-md .hljs-string,.md .body-md .hljs-attr,.md .body-md .hljs-symbol,.md .body-md .hljs-bullet,.md .body-md .hljs-template-tag,.md .body-md .hljs-template-variable,.md .body-md .hljs-regexp{color:var(--syn-str)}.md .body-md .hljs-number,.md .body-md .hljs-literal,.md .body-md .hljs-meta{color:var(--syn-num)}.md .body-md .hljs-comment,.md .body-md .hljs-quote,.md .body-md .hljs-doctag{color:var(--syn-com);font-style:italic}.md .body-md .hljs-title,.md .body-md .hljs-function .hljs-title,.md .body-md .hljs-section,.md .body-md .hljs-built_in{color:var(--syn-fn)}.md .body-md .hljs-variable,.md .body-md .hljs-params,.md .body-md .hljs-property{color:var(--syn-var)}.md .body-md .hljs-attribute,.md .body-md .hljs-selector-class,.md .body-md .hljs-selector-id,.md .body-md .hljs-type{color:var(--syn-attr)}.md .body-md .hljs-punctuation{color:var(--syn-punct)}.md .body-md .hljs-addition{color:var(--git)}.md .body-md .hljs-deletion{color:var(--danger)}.md ul,.md ol{padding-left:1.2em;margin:.4em 0 .8em}.md li{margin:.15em 0}.md ul li::marker{content:"▹ ";color:var(--syn-kw)}.md a{color:var(--link);border-bottom:1px dotted var(--link)}.md hr{border:0;border-top:1px dashed var(--bg-line);margin:18px 0}.frontmatter{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--bg-line);border-left:2px solid var(--syn-com);padding:8px 12px;margin:0 0 18px;font-size:12px;color:var(--fg-dim)}.frontmatter .row{display:flex;align-items:baseline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.55}.frontmatter .row>.k{min-width:10ch;flex-shrink:0;color:var(--syn-fn)}.frontmatter .row>.v{min-width:0;overflow:hidden;text-overflow:ellipsis}.frontmatter .k{color:var(--syn-fn)}.frontmatter .s{color:var(--syn-str)}.frontmatter .n{color:var(--syn-num)}.frontmatter .c{color:var(--syn-com);font-style:italic}.frontmatter .b{color:var(--fg)}.frontmatter .sep{color:var(--syn-punct)}.md pre.code{background:var(--bg-soft);border:1px solid var(--bg-line);border-left:2px solid var(--syn-fn);padding:10px 12px;margin:12px 0 16px;font-size:12px;overflow-x:auto;line-height:1.55}.md pre.code .ln{color:var(--fg-ghost);display:inline-block;width:2.4ch;-webkit-user-select:none;user-select:none}.md pre.code .k{color:var(--syn-kw)}.md pre.code .s{color:var(--syn-str)}.md pre.code .n{color:var(--syn-num)}.md pre.code .c{color:var(--syn-com);font-style:italic}.md pre.code .fn{color:var(--syn-fn)}.md pre.code .v{color:var(--syn-var)}.md .source-raw{background:var(--bg-soft);border:1px solid var(--bg-line);padding:10px 12px;margin:12px 0 16px;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--fg-dim);overflow-x:auto;white-space:pre}.md .accent{color:var(--accent)}.md .git{color:var(--git)}.md .body-p--card{font-size:12.5px;margin:0 0 10px;color:var(--fg-dim)}.md .body-p--tight{margin:8px 0 0}.md h2.spaced{margin-top:24px}.md h2.spaced-lg{margin-top:32px}.md .kv-block{font-family:var(--mono);font-size:12.5px;line-height:1.7}.md .kv-row{display:grid;grid-template-columns:32px 1fr auto;gap:8px;padding:2px 0}.md .cards--auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.md .badge--green{background:var(--syn-fn)}.md .callout--accent{border-left-color:var(--accent)}.md .callout--mt{margin-top:24px}.md .arrow-git{color:var(--git)}.md .muted--xs{font-size:12px}.md .muted--mt{font-size:11px;margin-top:12px}.md .btn-row--mt{margin-top:12px}.md .loot-stats{font-family:var(--mono);font-size:12px;color:var(--accent);margin:8px 0}.md .wood-card{text-decoration:none}.md .tier{color:var(--fg-faint)}.md .tier--legendary{color:var(--accent)}.md .tier--epic{color:var(--syn-kw)}.md .tier--rare{color:var(--syn-fn)}.md .wood-tag--done{background:var(--git);color:var(--bg-chrome)}.md .wood-tag--wip{background:var(--accent);color:var(--bg-chrome)}.md .wood-tag--plan{background:var(--bg-line);color:var(--fg)}.callout{border:1px solid var(--bg-line);background:var(--bg-soft);border-left:2px solid var(--accent);padding:10px 12px;margin:12px 0;font-size:12.5px}.callout .label{font-weight:600;color:var(--accent);text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;margin-bottom:4px}.md .btn-row{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:14px 0 16px}.md .btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px var(--space-3);font-size:12px;border:1px solid var(--bg-line);background:var(--bg-soft);color:var(--fg);border-radius:var(--r-md);text-decoration:none;transition:background .12s,border-color .12s,transform .12s}.md .btn:hover{background:var(--bg-elev);border-color:var(--fg-faint);text-decoration:none}.md .btn.primary{background:var(--accent);color:var(--bg-chrome);border-color:var(--accent);font-weight:600}.md .btn.primary:hover{background:oklch(from var(--accent) calc(l + .05) c h)}.md .btn .k{font-size:10px;color:var(--fg-faint)}.md .btn.primary .k{color:var(--bg-chrome);opacity:.6}.md .btn .arrow{transition:transform .15s}.md .btn:hover .arrow{transform:translate(3px)}.md .hero{margin:4px 0 18px;padding:0}.md .hero .tagline{display:inline-block;font-size:11px;padding:2px 8px;background:var(--bg-soft);border:1px solid var(--bg-line);color:var(--accent);margin-bottom:12px;border-radius:var(--r-sm)}.md .hero h1{font-size:clamp(22px,3.5vw,32px);margin:0 0 12px;letter-spacing:-.015em}.md .hero .sub{font-family:var(--sans);font-size:14.5px;color:var(--fg-dim);max-width:60ch;line-height:1.55;margin:0 0 14px}.md .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0 20px}.md .card{border:1px solid var(--bg-line);background:var(--bg-soft);padding:14px;display:flex;flex-direction:column;position:relative;transition:border-color .12s,transform .12s}.md .card:hover{border-color:var(--fg-faint);transform:translateY(-1px)}.md .card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.md .card .badge{position:absolute;top:-1px;right:-1px;font-size:9.5px;padding:2px 7px;background:var(--accent);color:var(--bg-chrome);font-weight:600;letter-spacing:.05em;text-transform:uppercase}.md .card .ftype{font-size:11px;color:var(--fg);font-weight:600;margin-bottom:6px}.md .card h3{font-size:var(--fs-lg);margin:0 0 4px;color:var(--fg-dim)}.md .card h3:before{content:""}.md .card .meta{color:var(--fg-faint);font-size:11px;margin-bottom:10px}.md .card .price{font-size:var(--fs-xl);font-weight:700;color:var(--accent)}.md .card .price-sm{font-size:11px;color:var(--fg-faint);margin-left:4px}.md .card ul.bullets{padding-left:14px;color:var(--fg-dim);font-size:12px;margin:8px 0 10px}.md .card .cta-row{margin-top:auto;padding-top:14px;display:flex;gap:var(--space-2);flex-wrap:wrap}.slots{border:1px solid var(--bg-line);background:var(--bg-soft);border-left:2px solid var(--accent);padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:var(--space-3);margin:12px 0 18px;align-items:center}.slots .label{color:var(--syn-com);font-size:11px;font-style:italic}.slots .week{display:flex;gap:4px;margin-top:6px}.slots .slot{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:10px;border:1px solid var(--bg-line);color:var(--fg-faint)}.slots .slot.taken{background:var(--accent);color:var(--bg-chrome);border-color:var(--accent)}.slots .slot.open{color:var(--git);border-color:var(--git)}.slots .legend{font-size:10.5px;color:var(--fg-faint);margin-top:4px}.ep-list .ep{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--bg-line)}.ep-list .ep .num{color:var(--fg-faint);font-variant-numeric:tabular-nums;min-width:4ch}.ep-list .ep .title{font-size:var(--fs-md);color:var(--fg)}.ep-list .ep .meta{color:var(--fg-faint);font-size:11px;margin-top:2px}.ep-list .ep .dur{color:var(--fg-dim);font-size:12px;font-variant-numeric:tabular-nums}.ep-list .play{width:28px;height:28px;border:1px solid var(--bg-line);border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;color:var(--fg);font-size:11px}.ep-list .play:hover{background:var(--accent);color:var(--bg-chrome);border-color:var(--accent)}.wood-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}.wood-card{aspect-ratio:4 / 3;border:1px solid var(--bg-line);background:repeating-linear-gradient(135deg,var(--bg-soft) 0,var(--bg-soft) 6px,var(--bg-editor) 6px,var(--bg-editor) 12px);display:flex;flex-direction:column;justify-content:flex-end;padding:10px 12px;position:relative}.wood-card .frame{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px dashed var(--fg-ghost);opacity:.5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px 16px 56px;text-align:center;pointer-events:none}.wood-card .wood-glyph{font-family:var(--mono);font-size:18px;line-height:1.25;color:var(--accent);margin:0;letter-spacing:.1em;white-space:pre;opacity:.95}.wood-card .wood-caption{margin:12px 0 0;font-family:var(--sans);font-size:11.5px;line-height:1.4;color:var(--fg-dim);font-style:italic;max-width:26ch;opacity:1}.wood-card .label{font-size:11px;color:var(--fg-faint);position:relative;z-index:1}.wood-card .title{font-size:var(--fs-md);color:var(--fg);margin-top:2px;position:relative;z-index:1}.wood-card:hover .wood-glyph{color:var(--git)}.wood-card:hover{border-color:var(--accent)}.wood-card .tag{position:absolute;top:8px;left:8px;font-size:9.5px;padding:1px 6px;background:var(--accent);color:var(--bg-chrome);letter-spacing:.04em;font-weight:600}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.radio-pill{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--bg-line);padding:6px 12px;font-size:12px;border-radius:var(--r-sm)}.radio-pill .led{width:7px;height:7px;border-radius:50%;background:var(--fg-ghost)}.radio-pill.on .led{background:var(--accent);box-shadow:0 0 8px var(--accent)}.radio-pill.on{border-color:var(--accent);color:var(--accent)}.term-page-host{background:var(--bg-panel);border:1px solid var(--bg-line);border-radius:var(--r-md);font-size:12px;padding:8px 12px;height:360px;overflow-y:auto;font-family:var(--mono)}.kaomoji{font-family:var(--mono);white-space:pre;color:var(--fg-dim);line-height:1.4;font-size:12px}.zen .titlebar,.zen .tabbar,.zen .panel.left,.zen .panel.right,.zen .bottom,.zen .statusbar,.zen .editor-toolbar{display:none!important}.zen{grid-template-rows:1fr}.zen .workbench{grid-template-columns:1fr}.zen .editor-body{display:block}.zen .gutter{display:none}.zen .editor-content{max-width:68ch;width:100%;margin:0 auto;padding:80px 32px 120px;font-family:var(--serif);font-size:var(--fs-xl);line-height:var(--lh-prose);color:var(--fg);box-sizing:border-box}.zen .editor-content .frontmatter{display:none}.zen .editor-content h1{font-family:var(--serif);font-weight:600;font-size:var(--fs-4xl);line-height:1.18;margin:0 0 18px}.zen .editor-content h2{font-family:var(--mono);font-size:var(--fs-2xl);color:var(--fg);margin-top:36px;letter-spacing:-.005em}.zen .editor-content h3{font-family:var(--mono);font-size:var(--fs-xl);color:var(--fg)}.zen .editor-content h1:before,.zen .editor-content h2:before,.zen .editor-content h3:before{content:""}.zen .editor-content p{margin:0 0 1.1em}.zen .editor-content code.inline{font-size:.85em}.zen .editor-content pre.code{font-family:var(--mono);font-size:var(--fs-md);line-height:1.55}.zen .editor-content a{color:var(--link);border-bottom:1px solid currentColor}.zen .editor-content .zen-meta{display:block;font-family:var(--mono);font-size:12px;color:var(--fg-faint);letter-spacing:.02em;margin:0 0 32px}.zen .editor-content .zen-meta-sep{margin:0 8px;color:var(--fg-ghost)}.zen .editor-content .zen-meta-author{color:var(--fg-dim)}.zen .editor-content .zen-meta-tag{color:var(--syn-com);margin-right:8px}.zen .editor-content .post-footer{margin-top:64px;padding-top:24px;border-top:1px dashed var(--bg-line);font-family:var(--mono);font-size:13px;line-height:1.6;color:var(--fg-faint)}.zen .editor-content .post-footer .btn-row{display:flex;gap:18px;margin:8px 0}.zen .editor-content .post-footer .btn{background:transparent;border:0;padding:0;color:var(--fg-dim);border-bottom:1px dotted var(--fg-ghost);font-family:var(--mono);font-size:13px;letter-spacing:0}.zen .editor-content .post-footer .btn:hover{color:var(--fg);border-bottom-color:var(--fg-dim)}.zen .editor-content .post-footer h2{font-family:var(--mono);font-size:13px;font-weight:400;color:var(--fg-faint);margin:28px 0 8px}.zen .editor-content .post-footer h2:before{content:""}.zen .editor-content .post-footer ul{padding-left:0;list-style:none}.zen .editor-content .post-footer li{margin:4px 0;font-size:13px}.zen .editor-content .post-footer li:before{content:""}.zen .editor-content .post-footer a{color:var(--fg-dim);border-bottom:1px dotted var(--fg-ghost)}.zen .editor-content .post-footer a:hover{color:var(--fg)}@media (max-width: 720px){:root{--titlebar-h: 36px;--tabbar-h: 32px;--gutter-w: 30px;--left-w: 78vw;--right-w: 78vw;--bottom-h: 50vh}.titlebar .traffic,.titlebar .center{display:none}.titlebar>.left button:not(.hamburger):not(.icon-btn),.titlebar>.left kbd{display:none}.titlebar .icon-btn{width:36px;height:36px}.titlebar .hamburger{display:inline-flex}.tabbar{scroll-snap-type:x mandatory}.tab{font-size:11.5px;max-width:160px;padding:0 10px;scroll-snap-align:start}.tab[aria-current=true]{max-width:220px}.tab .x{width:28px;height:28px;opacity:1}.workbench{grid-template-columns:1fr}.panel.left{display:none!important}.panel.right{position:fixed;top:calc(var(--titlebar-h) + var(--tabbar-h));bottom:var(--status-h);right:0;width:var(--right-w);z-index:100;transform:translate(100%);transition:transform .25s ease;box-shadow:0 0 40px #00000080}.panel.right.open{transform:translate(0)}.panel.right .resize-handle{display:none}.tree .row{padding:8px 10px}.tree .row.d2{padding-left:26px}.tree .row.d3{padding-left:42px}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:#0006;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.editor-content{padding:14px 14px 80px;min-width:0}.gutter{padding:14px 4px 80px;font-size:10px}.editor-toolbar{padding:0 10px}.editor-toolbar .crumb{overflow-x:auto;white-space:nowrap;flex:1;min-width:0}.editor-toolbar .crumb::-webkit-scrollbar{display:none}.editor-toolbar .right .muted{display:none}.md .cards,.grid-2{grid-template-columns:1fr}.bottom{position:fixed;left:0;right:0;bottom:0;height:var(--bottom-h);z-index:90;box-shadow:0 -8px 30px #0006}.bottom .resize-handle,.statusbar .seg.hide-mob{display:none}.statusbar .seg{padding:0 8px}.pal{width:min(560px,94%)}.pal input.pal-q{font-size:16px}.pal .row{padding:10px 14px}.zen-bar button.exit{padding:8px 4px}.zen .editor-content{padding:60px 16px 80px}.zen .editor-content>.md>p:first-of-type:first-letter,.zen .editor-content .body-md>p:first-of-type:first-letter{font-size:2.8em}.frontmatter .row>.k{min-width:8ch}}@media (prefers-reduced-motion: reduce){.panel.right{transition:none}.tabbar .tab[aria-current=true]:before{transition:none}}.crumb-link.svelte-16aqv3e{color:var(--fg-dim);background:none;border:0;padding:0;font:inherit;cursor:pointer}.crumb-link.svelte-16aqv3e:hover{color:var(--fg)}.htop.svelte-isl5mb{font-family:var(--mono);font-size:12px;line-height:1.1;margin:0;padding:4px 8px;color:var(--fg-dim);white-space:pre}.htop.svelte-isl5mb .htop-row:where(.svelte-isl5mb),.htop.svelte-isl5mb .htop-head:where(.svelte-isl5mb){line-height:1.15}.htop.svelte-isl5mb .htop-cores:where(.svelte-isl5mb){color:var(--git)}.htop.svelte-isl5mb .htop-pct:where(.svelte-isl5mb){color:var(--accent)}.htop.svelte-isl5mb .htop-n:where(.svelte-isl5mb){color:var(--syn-num)}.htop.svelte-isl5mb .htop-up:where(.svelte-isl5mb){color:var(--syn-fn)}.htop.svelte-isl5mb .htop-running:where(.svelte-isl5mb){color:var(--git)}.htop.svelte-isl5mb .htop-head:where(.svelte-isl5mb){display:block;background:var(--accent);color:var(--bg-chrome);padding:1px 4px;margin:4px 0 2px;font-weight:600}.htop.svelte-isl5mb .htop-row:where(.svelte-isl5mb){display:block;color:var(--fg-dim)}.htop.svelte-isl5mb .htop-row.hot:where(.svelte-isl5mb){color:var(--fg)}.htop.svelte-isl5mb .htop-hint:where(.svelte-isl5mb){display:block;margin-top:10px;color:var(--fg-faint);font-style:italic}.htop.svelte-isl5mb kbd:where(.svelte-isl5mb){font-family:var(--mono);font-size:11px;padding:0 4px;border:1px solid var(--bg-line);border-radius:2px;background:var(--bg-elev);color:var(--fg)}.exit.svelte-o5cbks{color:var(--fg-dim);background:none;border:0;padding:0;font:inherit;cursor:pointer}.exit.svelte-o5cbks:hover{color:var(--fg)}
