@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_53893651-module__v2lIpa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_53893651-module__v2lIpa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg-primary:#0d0f0d;--bg-secondary:#111411;--bg-header:#0a0c0a;--terminal-stripe-dark:#0d0f0d;--terminal-stripe-light:#101310;--nav-stripe-green-dark:#122a12;--nav-stripe-green-light:#153015;--green-bright:#39ff14;--green-dim:#2a7a10;--green-muted:#1a3d0a;--orange-accent:#e8a020;--red-accent:#c33;--text-primary:#c8d8c0;--text-dim:#6a8a62;--text-header:#898;--cursor-green:#39ff14;--border-subtle:#1e2e1a;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-size-base:.82rem;--font-size-small:.75rem;--font-size-nav:.78rem;--font-size-h1:clamp(1.4rem, 3vw, 2rem);--line-height-body:1.65;--space-unit:8px;--content-max-w:1000px;--content-pad-x:24px;--section-gap:32px;--bar-height-top:92px;--bar-height-bot:64px}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-mono);background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-body)}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}p,pre,h1,h2{margin:0}.skip-link{background:var(--green-bright);color:var(--bg-primary);z-index:1001;padding:4px 8px;position:fixed;top:-40px;left:8px}.skip-link:focus{top:4px}.site-main{max-width:var(--content-max-w);background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);padding:calc(var(--bar-height-top) + 24px) var(--content-pad-x) calc(var(--bar-height-bot) + 32px);margin:0 auto}.page-content{gap:var(--section-gap);flex-direction:column;padding-bottom:16px;display:flex}.page-stack{flex-direction:column;gap:16px;display:flex}.top-status-bar{height:var(--bar-height-top);background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-small);z-index:600;max-width:var(--content-max-w);margin:0 auto;position:fixed;top:0;left:0;right:0}.top-status-inner{max-width:var(--content-max-w);height:100%;padding:0 var(--content-pad-x);justify-content:space-between;align-items:center;gap:12px;margin:0 auto;display:flex}.status-cluster{white-space:nowrap;flex-direction:column;gap:4px;display:flex;overflow:hidden}.status-field{align-items:center;display:inline-flex}.status-key{color:var(--text-header)}.status-value{color:var(--text-primary)}.status-separator{color:var(--text-dim);margin:0 1ch}.bottom-bar{z-index:700;background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);border-top:1px solid var(--border-subtle);max-width:var(--content-max-w);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.bottom-bar-inner{max-width:var(--content-max-w);background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);margin:0 auto}.terminal-input-row{min-height:34px;padding:0 var(--content-pad-x);cursor:text;align-items:center;gap:2px;display:flex}.prompt-host,.tone-green,.link-green{color:var(--green-bright)}.tone-green-dim{color:var(--green-dim)}.prompt-tail,.tone-primary{color:var(--text-primary)}.tone-dim,.key-label{color:var(--text-dim)}.tone-orange{color:var(--orange-accent)}.tone-red{color:var(--red-accent)}.terminal-input{min-width:0;color:var(--text-primary);caret-color:var(--cursor-green);font-family:var(--font-mono);font-size:var(--font-size-base);background:0 0;border:none;outline:none;flex:1}.block-cursor{color:var(--cursor-green);animation:1s step-end infinite blink}.tab-row{border-top:1px solid var(--border-subtle);background-color:var(--terminal-stripe-dark);background-image:repeating-linear-gradient(to bottom, var(--terminal-stripe-dark) 0 2px, var(--terminal-stripe-light) 2px 4px);min-height:30px;padding:0 var(--content-pad-x);scrollbar-width:none;align-items:center;gap:4px;display:flex;overflow-x:auto}.tab-row::-webkit-scrollbar{display:none}.tab-link{color:var(--text-dim);font-family:var(--font-mono);font-size:var(--font-size-nav);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:3px 8px;font-weight:700;display:inline-flex}.tab-link.is-active{color:var(--bg-primary);background-image:repeating-linear-gradient(#39ff14 0 2px,#30d312 2px 4px)}.tab-arrow{width:8px}.terminal-divider{border:none;border-top:1px solid var(--border-subtle);margin:0}.terminal-output{max-height:36vh;padding-top:16px;overflow:auto}.terminal-entry+.terminal-entry{margin-top:16px}.terminal-echo{margin-bottom:6px}.terminal-response{white-space:pre-wrap;font-family:var(--font-mono);margin:0}.terminal-response.tone-dim{color:var(--text-dim)}.terminal-response.tone-green{color:var(--green-bright)}.terminal-response.tone-orange{color:var(--orange-accent)}.terminal-response.tone-red{color:var(--red-accent)}.command-line{margin-bottom:4px}.key-value-block{flex-direction:column;gap:8px;display:flex}.key-value-row{white-space:pre-wrap;grid-template-columns:16ch 1fr;gap:8px;display:grid}.section-title{color:var(--text-dim);font-size:inherit;font-weight:inherit;line-height:inherit}.section-divider{border:none;border-top:1px solid var(--green-muted);margin:4px 0 0}.section-divider.subtle{border-top-color:var(--border-subtle)}.timeline-list{flex-direction:column;gap:16px;display:flex}.indented{padding-left:22px}.skills-groups{flex-direction:column;gap:12px;display:flex}.multiline .key-value{white-space:pre-line}.focus-block{flex-direction:column;gap:6px;display:flex}.link-green:hover{text-decoration:underline}.home-page.is-hidden{visibility:hidden}.home-page.is-ready{visibility:visible}.terminal-block{flex-direction:column;gap:4px;display:flex}.home-status-row{grid-template-columns:16ch 1fr;gap:8px;display:grid}.home-status-key{color:var(--text-header);font-weight:700}.home-status-value{color:var(--text-primary)}.latest-project-banner{border:1px solid var(--green-bright);text-transform:uppercase;background:#39ff140a;align-items:center;gap:10px;margin:16px 0;padding:12px 16px;display:inline-flex}.pulse-dot{color:var(--green-bright);animation:1.5s ease-in-out infinite pulse}.tip-line{color:var(--text-dim)}.boot-overlay{background:0 0;border:none;min-height:auto;padding:0;transition:opacity .12s;display:block;position:relative}.boot-overlay.is-fading{opacity:0}.boot-content{white-space:pre-wrap;width:100%;color:var(--text-primary);margin:0}.boot-line{display:inline}.boot-tag{animation:.26s boot-flash}.ready-line{font-weight:700}.boot-list{flex-direction:column;gap:4px;display:flex}.boot-line-link{color:var(--text-dim)}.project-card-list{flex-direction:column;gap:16px;display:flex}.project-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:20px;transition:border-color .2s,opacity .2s;display:flex}.project-card:hover{border-color:var(--green-dim)}.project-card h2{font-size:clamp(1.1rem,2.4vw,1.3rem)}.project-card-header{justify-content:space-between;align-items:center;display:flex}.project-image-placeholder,.project-screenshot{border:1px solid var(--border-subtle);background:var(--bg-primary);color:var(--text-dim);place-items:center;display:grid;position:relative;overflow:hidden}.project-image-placeholder{min-height:300px;font-size:.75rem}.project-screenshot{min-height:300px}.project-card-image{object-fit:cover}.project-detail-image{width:100%;height:auto;display:block}.meta-row{flex-wrap:wrap;gap:12px;display:flex}.project-cta{color:var(--green-bright)}.project-card:hover .cta-arrow{animation:.3s flash-arrow}.is-filtered-out{opacity:.2;pointer-events:none}.inline-filter{color:var(--green-bright);font-family:var(--font-mono);font-size:inherit;cursor:pointer;background:0 0;border:none}.unreleased{opacity:.75}.project-detail h1{font-size:var(--font-size-h1)}.project-pagination{justify-content:space-between;display:flex}.contact-form{flex-direction:column;gap:12px;display:flex}.form-row{grid-template-columns:10ch auto 1fr;align-items:center;gap:8px;display:grid}.form-label{color:var(--text-dim)}.form-row input,.form-row textarea{border:none;border-bottom:1px solid var(--green-muted);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-base);background:0 0;outline:none;width:100%;transition:border-color .15s}.form-row input:focus,.form-row textarea:focus{border-bottom-color:var(--green-bright)}.form-row textarea{resize:vertical;min-height:120px}.form-row input::placeholder,.form-row textarea::placeholder{color:var(--text-dim)}.form-actions{gap:10px;display:flex}.form-actions button{background:var(--green-bright);color:var(--bg-primary);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:0;padding:6px 16px;font-weight:700}.form-actions button:hover{background:var(--green-dim)}.form-actions .secondary{border:1px solid var(--green-muted);color:var(--text-dim);background:0 0}.form-actions .secondary:hover{border-color:var(--orange-accent);color:var(--orange-accent)}.contact-feedback{flex-direction:column;gap:8px;display:flex}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes flash-arrow{0%,to{opacity:1}50%{opacity:0}}@keyframes boot-flash{0%{filter:brightness(1.8)}to{filter:brightness()}}@media (max-width:900px){:root{--content-pad-x:20px}}@media (max-width:600px){:root{--content-pad-x:12px;--font-size-base:.72rem;--bar-height-top:84px}.top-status-bar{padding:0}.top-status-inner{padding:6px var(--content-pad-x);flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.status-cluster{gap:2px;width:100%;overflow:visible}.status-field{font-size:.66rem}.status-cluster.right{display:none}.tab-row{gap:2px;padding:0 6px;overflow-x:hidden}.tab-link{flex:1;justify-content:center;min-width:0;padding:3px 2px;font-size:.66rem}.tab-arrow{display:none}.terminal-input-row{font-size:.72rem}.boot-content{font-size:.7rem}.project-image-placeholder{min-height:140px}.key-value-row,.home-status-row{grid-template-columns:1fr}.key-value .link-green,.key-value,.home-status-value{padding-left:12px}.form-row{grid-template-columns:1fr;align-items:stretch}}
