:root{font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:#06080d;color:#d2d9e3;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.app-shell{--bg: #06080d;--text: #d2d9e3;--muted: #7f8ea4;--accent: #39e9a3;--command: #7f96c8;--link: #8fa4c6;--border: rgb(120 141 170 / 24%);--area: #bb8fdf;--lead: #9cb2d3;--title: #e8edf5;--tag: #85b8dd;--date: #839ac0;--dock-bar: #0e8a97;--dock-text: #e9fbff;--dock-pill-bg: rgb(4 50 58 / 24%);--dock-pill-border: rgb(233 251 255 / 30%);position:relative;min-height:100%;padding:clamp(.85rem,2.5vw,1.6rem) clamp(.75rem,2.4vw,1.7rem);background:var(--bg);color:var(--text)}.app-shell.theme-light{--bg: #f5f7fb;--text: #1f2937;--muted: #59667a;--accent: #1ca06a;--command: #4e6284;--link: #355175;--border: rgb(76 98 131 / 28%);--area: #7f59aa;--lead: #4e6284;--title: #121926;--tag: #3f709f;--date: #5a7395;--dock-bar: #2f7f94;--dock-text: #eff9ff;--dock-pill-bg: rgb(255 255 255 / 30%);--dock-pill-border: rgb(239 249 255 / 58%)}.app-shell.mode-explore{padding-bottom:calc(2.95rem + env(safe-area-inset-bottom))}.app-shell.mode-explore .terminal-nav{margin-bottom:.4rem}.terminal-landing{width:min(100%,920px);margin:0 auto;position:relative;display:flex;flex-direction:column;gap:1.9rem}.top-right-menu{position:absolute;top:0;right:0;z-index:30}.top-right-menu-trigger{border:1px solid var(--border);background:transparent;color:var(--command);font:inherit;font-size:1.06rem;line-height:1;padding:.05rem .42rem .2rem;cursor:pointer}.top-right-menu-trigger:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.top-right-menu-popover{position:absolute;top:calc(100% + .34rem);right:0;z-index:25;display:grid;gap:.58rem;min-width:270px;max-width:min(100vw - 2rem,340px);border:1px solid var(--border);background:#090e17fa;padding:.56rem}.app-shell.theme-light .top-right-menu-popover{background:#eff5fdfa}.toggle-group{display:inline-flex;align-items:center;gap:.45rem}.top-right-menu-popover .toggle-group{display:flex;flex-direction:column;align-items:flex-start;gap:.32rem}.toggle-label{margin:0;color:var(--muted);font-size:.84rem;line-height:1.25}.toggle-options{display:inline-flex;border:1px solid var(--border)}.toggle-button{border:0;background:transparent;color:var(--command);font:inherit;font-size:.83rem;line-height:1.15;padding:.24rem .46rem;cursor:pointer}.toggle-button[data-active=true]{background:var(--border);color:var(--text)}.toggle-button:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.terminal-nav{margin:0 0 .25rem 1.05rem;display:flex;flex-wrap:wrap;align-items:center;gap:.72rem;font-size:.87rem;line-height:1.3}.terminal-nav-label{color:var(--muted)}.terminal-nav a{color:var(--command)}.section-block{display:flex;flex-direction:column;gap:.62rem;scroll-margin-top:.9rem}.section-body{margin-left:1.05rem;display:flex;flex-direction:column;gap:.62rem}.section-body[hidden]{display:none}.command-heading{margin:0;display:inline-flex;align-items:center;gap:.52rem;color:var(--command);font-size:.95rem;line-height:1.25}.command-heading-toggle{width:-moz-fit-content;width:fit-content;border:0;background:transparent;color:inherit;font:inherit;padding:0;cursor:pointer}.command-heading-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.command-heading-caret{color:var(--muted);font-size:.86rem;line-height:1}.prompt-marker{color:var(--accent);font-weight:700}.hero-name{margin:.05rem 0 0;font-size:clamp(1.85rem,4.3vw,2.55rem);font-weight:540;letter-spacing:.01em;line-height:1.15}.hero-lead{margin:0;max-width:75ch;color:var(--lead);font-size:.96rem;line-height:1.5}.about-copy{display:grid;gap:.62rem;max-width:78ch}.about-copy p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.54}.quick-links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:0}.quick-links a,.project-links a,.section-link{color:var(--link);font-size:.91rem;line-height:1.3}.entry-list,.project-list,.post-list{margin:0;padding:0;list-style:none;display:grid;gap:.72rem}.entry-item,.project-item,.post-item{display:grid;gap:.2rem;padding-left:.8rem;border-left:1px solid var(--border);scroll-margin-top:.9rem}.entry-item,.post-item{grid-template-columns:minmax(0,7.25rem) minmax(0,1fr);-moz-column-gap:.95rem;column-gap:.95rem}.entry-area{margin:0;color:var(--area);font-size:.93rem;line-height:1.35}.entry-content,.post-content{display:flex;flex-direction:column;gap:.22rem}.entry-title,.project-name,.post-title{margin:0;color:var(--title);font-size:.98rem;line-height:1.35}.entry-summary,.project-summary,.post-summary{margin:0;color:var(--muted);font-size:.9rem;line-height:1.44}.section-link{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-top:0}.project-item{gap:.35rem}.project-heading{display:flex;align-items:center;gap:.58rem;flex-wrap:wrap}.project-status{font-size:.89rem;letter-spacing:0}.project-status--live{color:#38e39f}.project-status--active{color:#7ea6e3}.project-status--planned{color:#c9b764}.project-tags{margin:0;color:var(--tag);font-size:.85rem;line-height:1.36}.project-links{display:flex;flex-wrap:wrap;gap:.75rem}.post-date{margin:0;color:var(--date);font-size:.88rem;line-height:1.34}.hero-lead,.about-copy p,.entry-summary,.project-summary,.project-tags,.post-summary,.section-link,.quick-links a,.project-links a{overflow-wrap:anywhere}.terminal-dock{position:fixed;inset:auto 0 0;z-index:45;pointer-events:none;padding-bottom:calc(env(safe-area-inset-bottom) + .2rem)}.terminal-dock-panel{pointer-events:auto;width:min(100%,920px);margin:0 auto;border:1px solid var(--border);border-bottom:0;background:#0a0f18;max-height:min(40vh,300px);overflow:hidden}.app-shell.theme-light .terminal-dock-panel{background:#ebf1f9}.explore-terminal{display:flex;flex-direction:column}.explore-terminal-output{min-height:130px;max-height:calc(min(40vh,300px) - 2.05rem);overflow:auto;padding:.62rem .75rem;display:flex;flex-direction:column;gap:.42rem}.explore-terminal-command,.explore-terminal-line{margin:0;font-size:.83rem;line-height:1.35}.explore-terminal-command{display:flex;align-items:flex-start;gap:.5rem}.explore-terminal-block{display:flex;flex-direction:column;gap:.14rem}.explore-terminal-prompt{color:var(--accent);white-space:nowrap;flex-shrink:0}.explore-terminal-input-row{display:flex;align-items:center;gap:.5rem;border-top:1px solid var(--border);padding:.42rem .75rem;background:#080c12f0}.app-shell.theme-light .explore-terminal-input-row{background:#ebf1f9f5}.explore-terminal-input{border:0;background:transparent;color:var(--text);font:inherit;font-size:.83rem;line-height:1.3;min-width:0;flex:1}.explore-terminal-input:focus{outline:none}.explore-terminal-input::-moz-placeholder{color:var(--muted)}.explore-terminal-input::placeholder{color:var(--muted)}.lens-popover{pointer-events:auto;position:absolute;right:calc(env(safe-area-inset-right) + .95rem);bottom:calc(env(safe-area-inset-bottom) + 2.38rem);width:min(360px,calc(100vw - 2rem));border:1px solid var(--border);background:#090e17fa;color:var(--text);padding:.32rem}.app-shell.theme-light .lens-popover{background:#eff5fdfa}.lens-popover-list{display:grid;gap:.16rem}.lens-option{border:1px solid transparent;background:transparent;color:inherit;font:inherit;text-align:left;padding:.34rem .38rem;display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.42rem;cursor:pointer}.lens-option[aria-checked=true]{border-color:var(--border);background:#788daa1f}.lens-option:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.lens-option-check{color:var(--accent);line-height:1.35}.lens-option-copy{display:grid;gap:.08rem}.lens-option-label{color:var(--text);font-size:.82rem;line-height:1.32}.lens-option-description{color:var(--muted);font-size:.76rem;line-height:1.32}.terminal-dock-bar{pointer-events:auto;height:2.02rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:0 calc(env(safe-area-inset-right) + .95rem) 0 calc(env(safe-area-inset-left) + .95rem);background:var(--dock-bar);color:var(--dock-text);border-top:1px solid rgb(0 0 0 / 22%);font-size:.82rem}.terminal-dock-bar--developer{border-top-color:#39e9a38c}.terminal-dock-bar-left,.terminal-dock-meta{display:inline-flex;align-items:center;gap:.68rem;min-width:0}.terminal-dock-toggle{border:0;background:transparent;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:.45rem;padding:0;cursor:pointer}.terminal-dock-toggle--prominent{border:1px solid var(--dock-pill-border);background:var(--dock-pill-bg);padding:.12rem .46rem;border-radius:999px}.terminal-dock-toggle:hover{text-decoration:underline}.terminal-dock-toggle:focus-visible,.terminal-lens-trigger:focus-visible{outline:1px solid currentColor;outline-offset:2px}.terminal-dock-icon{font-weight:700;letter-spacing:.02em}.terminal-lens-trigger{border:1px solid var(--dock-pill-border);background:var(--dock-pill-bg);color:inherit;font:inherit;font-size:.74rem;line-height:1.2;padding:.12rem .46rem;border-radius:999px;display:inline-flex;align-items:center;gap:.34rem;cursor:pointer;white-space:nowrap}.terminal-dock-shortcut{opacity:.9;white-space:nowrap}@media(max-width:760px){.app-shell{padding:.68rem}.app-shell.mode-explore{padding-bottom:calc(2.75rem + env(safe-area-inset-bottom))}.terminal-landing{gap:1.55rem}.top-right-menu{right:0}.top-right-menu-popover{min-width:0;width:min(86vw,310px)}.toggle-label,.toggle-button{font-size:.81rem}.toggle-button{padding:.2rem .4rem}.terminal-nav{margin-left:.82rem;font-size:.84rem;gap:.58rem}.section-body{margin-left:.82rem}.command-heading{font-size:.9rem}.hero-name{font-size:clamp(1.55rem,8.2vw,2.1rem)}.hero-lead,.about-copy p,.entry-summary,.project-summary,.post-summary{font-size:.89rem}.entry-item,.post-item{grid-template-columns:1fr;gap:.28rem}.entry-area,.post-date,.project-tags{font-size:.84rem}.entry-title,.project-name,.post-title{font-size:.94rem}.quick-links,.project-links{gap:.62rem}.terminal-dock-panel{width:100%;max-height:min(46vh,280px)}.explore-terminal-output{max-height:calc(min(46vh,280px) - 2rem);min-height:114px;padding:.56rem .62rem}.explore-terminal-command,.explore-terminal-line,.explore-terminal-input{font-size:.79rem}.explore-terminal-input-row{padding:.38rem .62rem}.lens-popover{right:.62rem;left:.62rem;width:auto;bottom:calc(env(safe-area-inset-bottom) + 2.25rem)}.terminal-dock-bar{height:1.92rem;padding:0 .62rem;font-size:.76rem}.terminal-lens-trigger{font-size:.7rem;padding:.1rem .4rem}.terminal-dock-toggle--prominent{padding:.09rem .38rem}.terminal-dock-shortcut{font-size:.73rem}}
