@font-face{font-family:JetBrains;src:url('./assets/mono.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#101310;--surface:#171a17;--panel:#141714;--raised:#1e231e;--ink:#dedfd5;--muted:#949d91;--accent:#c1d4ae;--accent-soft:#252e22;--line:#30362e;--orange:#d6ad7a;--shadow:#0005;--font:JetBrains,'SFMono-Regular',Consolas,monospace}
[data-theme=amber]{--bg:#17120e;--surface:#1e1913;--panel:#19140f;--raised:#292017;--ink:#e5d9c7;--muted:#b2a18d;--accent:#eabd7f;--accent-soft:#392919;--line:#3d3024;--orange:#c9cd93}
[data-theme=ice]{--bg:#0f131b;--surface:#161c26;--panel:#121821;--raised:#1d2733;--ink:#d7e1ed;--muted:#94a4b9;--accent:#a3ccec;--accent-soft:#223347;--line:#2d3a4a;--orange:#c8b4e5}
*{box-sizing:border-box}body{margin:0;padding:46px 5vw 24px;background:var(--bg);color:var(--ink);font:12px/1.7 var(--font);min-height:100svh}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0}button,a,input{ -webkit-tap-highlight-color:transparent}button:hover,a:hover{color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:var(--bg)}.ambient{position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 55% 0%,color-mix(in srgb,var(--accent) 6%,transparent),transparent 70%)}.workspace{max-width:1440px;margin:auto;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface);box-shadow:0 24px 90px #0003}.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border-bottom:1px solid var(--line)}.wordmark{font-size:18px;font-weight:600;letter-spacing:-.7px;display:flex;align-items:center}.logo{font-size:23px;color:var(--accent);margin-right:13px}.muted{color:var(--muted)}.top-center{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:10px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent)}.version{opacity:.6;margin-left:5px}.palette-toggle{display:flex;gap:17px;align-items:center;color:var(--muted);font-size:10px}kbd{font:10px var(--font);color:var(--muted)}.palette-toggle kbd{border:1px solid var(--line);padding:3px 6px;border-radius:4px}.shell{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:685px}.sidebar{border-right:1px solid var(--line);background:var(--panel);padding:25px 15px 18px;display:flex;flex-direction:column}.explorer-title{font-size:9px;letter-spacing:1.8px;color:var(--muted);display:flex;justify-content:space-between;padding:0 12px;margin-bottom:26px}.explorer-title span{font-size:13px}.tree-root{font-size:11px;padding:0 10px;margin-bottom:12px;color:var(--ink)}.tree-root span{color:var(--accent);margin:0 6px}#file-nav{display:flex;flex-direction:column;gap:4px}#file-nav a{padding:9px 10px 9px 16px;display:flex;align-items:center;gap:10px;color:var(--muted);border-radius:4px;font-size:11px}#file-nav a.active{color:var(--accent);background:var(--accent-soft)}#file-nav a:hover{background:var(--raised);color:var(--ink)}.file-icon{color:var(--accent);font-size:14px}.count{font-size:9px;margin-left:auto;opacity:.6}.new-dot{width:4px;height:4px;border-radius:50%;background:var(--orange);margin-left:auto}.sidebar-bottom{margin-top:auto;padding:75px 10px 0}.side-note{color:var(--muted);font-size:10px;line-height:1.9}.side-note span{display:block;opacity:.65;font-size:9px;margin-top:9px}.github-link{display:flex;gap:8px;margin-top:25px;font-size:10px;color:var(--muted)}.github-link span{margin-left:auto}.main{min-width:0;display:flex;flex-direction:column}.tabbar{height:42px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--panel)}.active-tab{height:42px;border-top:1px solid var(--accent);border-right:1px solid var(--line);background:var(--surface);display:flex;gap:10px;align-items:center;padding:0 20px;font-size:10px;min-width:170px}.tab-dot{width:5px;height:5px;background:var(--accent);border-radius:50%;margin-left:12px}.tab-path{margin-left:22px;font-size:9px;color:var(--muted);opacity:.65}.tabbar>button{margin-left:auto;padding:8px 20px;font-size:19px;color:var(--muted)}.content{padding:37px 46px 34px;min-height:437px;flex:1;position:relative;outline:0;overflow:hidden}.breadcrumb{color:var(--muted);font-size:10px;display:flex;gap:10px;margin-bottom:30px}.breadcrumb .accent{color:var(--accent)}.welcome-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:15px}.comment{color:var(--muted);font-size:11px;margin:0 0 13px}.hello{font-size:clamp(32px,4vw,58px);line-height:1.15;font-weight:400;letter-spacing:-.045em;margin:0 0 19px}.hello .name{color:var(--accent)}.cursor{display:inline-block;background:var(--accent);width:.47em;height:.94em;vertical-align:-.08em;margin-left:8px;animation:blink 1.3s steps(1) infinite}.intro{font-size:12px;line-height:1.95;color:var(--muted);margin:0;max-width:380px}.intro strong{color:var(--ink);font-weight:400}.hero-actions{display:flex;gap:12px;margin-top:25px;flex-wrap:wrap}.primary-action{border:1px solid var(--accent);background:var(--accent);color:var(--bg);padding:9px 15px;border-radius:3px;font-size:10px}.primary-action:hover{background:var(--ink);color:var(--bg)}.secondary-action{padding:9px 12px;color:var(--muted);font-size:10px}.secondary-action span{margin-left:10px}.ascii-wrap{position:relative;text-align:center;align-self:center;min-width:0}.ascii-art{font:9px/1.08 var(--font);color:var(--accent);margin:0;white-space:pre;user-select:none;opacity:.8;min-height:220px;letter-spacing:.4px}.ascii-caption{display:flex;justify-content:center;gap:12px;font-size:8px;letter-spacing:1px;color:var(--muted);margin-top:7px}.orbit-label{color:var(--orange)}.home-bottom{display:flex;align-items:center;border-top:1px solid var(--line);margin-top:31px;padding-top:19px;gap:17px;color:var(--muted);font-size:9px}.home-bottom .small-title{color:var(--orange)}.home-bottom .divider{color:var(--line)}.home-bottom .last{margin-left:auto}.terminal{border-top:1px solid var(--line);background:var(--panel);padding:0 24px 15px}.terminal-bar{height:39px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:1px}.terminal-bar .live-dot{margin-right:9px;width:4px;height:4px}.terminal-meta{display:flex;gap:15px;align-items:center;letter-spacing:0}.terminal-output{font-size:10px;color:var(--muted);max-height:135px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.terminal-greeting button{padding:0;color:var(--accent)}.command-form{display:flex;align-items:center;gap:9px;margin-top:12px;font-size:11px}.command-form label{white-space:nowrap}.prompt-user,.prompt-arrow{color:var(--accent)}.prompt-path{color:var(--orange);margin-left:8px}.prompt-arrow{margin-left:8px}.command-form input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--ink);caret-color:var(--accent);padding:5px 0;border-radius:0;font-size:11px}.command-form input:focus-visible{outline:0}.command-form:focus-within{box-shadow:0 1px 0 var(--line)}input::placeholder{color:var(--muted);opacity:.65}.run-command{color:var(--muted);padding:4px 8px}.terminal-hints{display:flex;gap:21px;color:var(--muted);font-size:8px;margin-top:12px;opacity:.75}.terminal-hints kbd{font-size:8px;margin-right:4px}.statusbar{height:29px;display:flex;align-items:center;justify-content:space-between;background:var(--accent-soft);color:var(--muted);font-size:9px;padding:0 16px}.statusbar>div{display:flex;gap:20px;align-items:center}.branch{color:var(--accent)}.statusbar button{font-size:9px;padding:0}.footer-mark{color:var(--accent);font-size:18px}#clock{font-size:9px}.below-shell{max-width:1440px;display:flex;justify-content:space-between;margin:17px auto 0;color:var(--muted);font-size:8px;opacity:.65}.page-title{font-size:30px;font-weight:400;letter-spacing:-1px;line-height:1.25;margin:0 0 15px;color:var(--accent)}.page-intro{max-width:600px;color:var(--muted);font-size:11px;line-height:1.95}.section-label{color:var(--orange);font-size:9px;margin:25px 0 12px}.project-list{margin-top:24px}.project-row{border-top:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:30px 1fr auto;gap:16px;align-items:start}.project-number{color:var(--muted);font-size:9px;padding-top:3px}.project-title{font-size:13px;color:var(--ink);margin:0 0 4px;font-weight:400}.project-description{margin:0;color:var(--muted);font-size:10px;max-width:450px}.project-tech{color:var(--orange);font-size:9px;margin-top:8px}.project-link{font-size:17px;padding:0 8px}.code-block{font-size:11px;line-height:2.2;color:var(--muted);margin:20px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.code-block .key{color:var(--orange)}.code-block .value{color:var(--accent)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.about-note{border-top:1px solid var(--line);padding-top:19px;margin-top:24px;color:var(--muted);font-size:10px}.contact-link{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--line);font-size:12px;gap:15px}.contact-link small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.contact-list{max-width:550px;margin-top:29px}.theme-options{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}.theme-option{display:flex;align-items:center;gap:10px;padding:10px 17px;border:1px solid var(--line);border-radius:3px;font-size:11px}.theme-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.theme-swatch{width:11px;height:11px;border-radius:50%}.lab-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.lab-controls{display:flex;gap:12px;margin-top:22px}.lab-controls button{font-size:10px;border:1px solid var(--line);padding:8px 13px;border-radius:3px}.output-command{color:var(--ink);padding-top:8px}.output-command::before{content:'❯ ';color:var(--accent)}.output-response{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin:3px 0}.output-error{color:var(--orange)}.focus-mode .shell{grid-template-columns:minmax(0,1fr)}.focus-mode .sidebar{display:none}.skip{position:absolute;top:-50px;left:15px;background:var(--accent);color:var(--bg);padding:9px;z-index:10}.skip:focus{top:10px}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:min(530px,calc(100vw - 32px));padding:25px;box-shadow:0 24px 90px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(5px)}dialog label{display:block;font-size:12px;margin-bottom:16px}dialog input{background:var(--panel);color:var(--ink);width:100%;border:1px solid var(--line);padding:12px;border-radius:3px;font-size:11px}.dialog-close{float:right;border:1px solid var(--line);border-radius:3px;color:var(--muted);font-size:9px}#palette-results{margin-top:12px;max-height:310px;overflow:auto}#palette-results button{width:100%;text-align:left;padding:12px;display:flex;justify-content:space-between;border-radius:3px;font-size:11px}#palette-results button small{color:var(--muted);font-size:9px}#palette-results button.selected{background:var(--accent-soft);color:var(--accent)}dialog p{font-size:9px;color:var(--muted);margin-bottom:0}dialog p span{float:right}#toast{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);padding:10px 18px;background:var(--accent);color:var(--bg);border-radius:4px;opacity:0;pointer-events:none;font-size:11px;transition:opacity .2s}#toast.visible{opacity:1}.no-js{position:fixed;inset:30%;padding:30px;background:var(--surface);border:1px solid var(--line)}@keyframes blink{50%{opacity:0}}@media(min-width:1500px){body{padding-top:65px}.shell{min-height:740px}.content{padding-top:48px}.ascii-art{font-size:11px;min-height:268px}.welcome-grid{margin-top:25px}}
@media(max-width:1100px){body{padding:25px 3vw}.shell{grid-template-columns:175px minmax(0,1fr)}.sidebar{padding-left:8px;padding-right:8px}.content{padding:28px}.ascii-art{font-size:7px;min-height:180px}.hello{font-size:40px}.home-bottom{gap:10px}.home-bottom .last{display:none}.intro{font-size:11px}.tab-path{display:none}}
@media(max-width:760px){body{padding:15px 14px}.topbar{height:58px;padding:0 17px}.wordmark{font-size:16px}.top-center{display:none}.palette-toggle{gap:8px}.shell{display:block;min-height:0}.sidebar{padding:0;border-right:0;border-bottom:1px solid var(--line)}.explorer-title,.tree-root,.sidebar-bottom{display:none}#file-nav{flex-direction:row;gap:0;overflow-x:auto;padding:7px}#file-nav a{padding:8px 10px;white-space:nowrap;font-size:10px;gap:6px}.count,.new-dot{display:none}.tabbar{height:37px}.active-tab{height:37px;font-size:9px;padding:0 13px;min-width:150px}.content{padding:27px 23px;min-height:440px}.breadcrumb{margin-bottom:26px;font-size:9px}.welcome-grid{grid-template-columns:1fr .9fr;gap:0}.hello{font-size:37px}.intro{font-size:10px}.ascii-art{font-size:6px;letter-spacing:0;min-height:150px}.ascii-caption{font-size:6px;gap:6px}.hero-actions{gap:3px}.primary-action,.secondary-action{font-size:9px;padding:9px 10px}.home-bottom{font-size:8px;flex-wrap:wrap;margin-top:35px}.terminal{padding:0 16px 14px}.statusbar{font-size:8px;padding:0 11px}.statusbar>div{gap:12px}.status-ready{display:none}.below-shell{font-size:7px;gap:15px}.about-grid{grid-template-columns:1fr;gap:0}.about-note{margin-top:10px}.code-block{margin-top:5px}.lab-grid{grid-template-columns:1fr 1fr;gap:5px}.project-row{gap:10px;grid-template-columns:20px 1fr auto}.project-description{font-size:9px}.page-title{font-size:26px}.footer-type{display:none}}
@media(max-width:450px){.welcome-grid{grid-template-columns:1fr}.ascii-wrap{position:absolute;right:12px;top:82px;opacity:.24;pointer-events:none}.ascii-art{font-size:5.5px;min-height:140px}.ascii-caption{display:none}.hero-copy{position:relative;z-index:1}.intro{max-width:245px}.hello{font-size:42px}.hero-actions{margin-top:25px}.home-bottom{margin-top:30px;gap:8px}.content{min-height:410px}.lab-grid{display:block}.lab-grid .ascii-wrap{top:95px}.theme-options{position:relative;z-index:1}.command-form{gap:7px;font-size:10px}.command-form input{font-size:10px}.prompt-path{margin-left:3px}.terminal-hints{gap:14px;font-size:7px}.below-shell>span:first-child{max-width:170px}.page-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.archive-title{margin:56px 0 0;font-size:11px;font-weight:400;color:var(--muted)}
.show-cta{display:inline-flex;gap:10px;margin-top:20px}
.work-title{margin-top:42px}
.work-list{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.2fr) 230px;column-gap:18px;margin-top:14px}
.work-row{grid-column:1/-1;display:grid;grid-template-columns:subgrid;align-items:center;padding:16px 0;border-top:1px solid var(--line);transition:background .2s,padding .2s}
.work-row:hover{background:var(--raised);padding-left:12px;padding-right:12px}
.work-icon{width:44px;height:44px;border-radius:11px;box-shadow:0 0 0 1px #ffffff14,0 8px 26px -10px var(--work-accent,transparent)}
.tool-glyph{display:grid;place-items:center;font-size:13px;color:var(--accent);background:var(--panel);border:1px solid var(--line)}
.work-name{margin:0;font-size:15px;font-weight:400;color:var(--ink)}
.work-kind{margin:3px 0 0;font-size:10px;color:var(--muted)}
.work-kind span{opacity:.5;margin:0 4px}
.work-line{margin:0;font-size:11px;line-height:1.7;color:var(--muted)}
.work-links{display:flex;gap:14px;font-size:10px;white-space:nowrap}
.work-links a{color:var(--muted)}
.work-links a:hover{color:var(--accent)}
.work-links .work-show{color:var(--work-accent,var(--accent))}
.work-tool .work-line{grid-column:3/-1}
@media (max-width:900px){.work-list{grid-template-columns:44px minmax(0,1fr)}.work-row{row-gap:8px}.work-line,.work-links,.work-tool .work-line{grid-column:2}}
