@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/018579f4.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}:root{--bg:#050403;--frame:#080706;--bar:#0d0b0a;--panel-hover:#100e0d;--border:#2a2724;--border-soft:#1c1a18;--border-faint:#14120f;--accent:#ff3d14;--text:#d8d2cb;--text-bright:#ede8e3;--text-body:#c8c2bb;--text-dim:#9a938c;--text-muted:#8a837c;--text-faint:#6a635c;--text-clock:#b7b1aa;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}::selection{background:var(--accent);color:var(--bg)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes revUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(16px)}.reveal.is-visible{animation:.6s forwards revUp}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;transform:none}html{scroll-behavior:auto}}.term-section{background:var(--bg);min-height:100vh;font-family:var(--mono);padding:40px 0}.term-frame{background:var(--frame);width:100%;max-width:1120px;color:var(--text);border:1px solid var(--border);min-height:calc(100vh - 80px);margin:0 auto;overflow:hidden}.term-frame>div[id]{scroll-margin-top:56px}.term-bar{z-index:20;border-bottom:1px solid var(--border-soft);background:var(--bar);align-items:center;gap:16px;padding:14px 22px;display:flex;position:sticky;top:0}.term-bar__path{color:var(--text-faint);letter-spacing:.04em;font-size:12px}.term-bar__right{align-items:center;gap:20px;margin-left:auto;display:flex}.term-dots{flex:none;gap:8px;display:flex}.term-dots span{background:var(--border);width:11px;height:11px;display:inline-block}.term-dots span:first-child{background:var(--accent)}.term-nav{letter-spacing:.04em;gap:22px;font-size:12px;display:flex}.term-nav a{color:var(--text-muted);text-decoration:none;transition:color .2s}.term-nav a:hover{color:var(--accent)}.term-lang{cursor:pointer;color:var(--accent);letter-spacing:.1em;background:0 0;border:none;flex:none;padding:0;font-family:inherit;font-size:12px;transition:opacity .2s}.term-lang:hover{opacity:.75}.term-block{border-bottom:1px solid var(--border-soft);padding:44px 48px}.section-cmd{color:var(--text-faint);font-size:13px}.hero{border-bottom:1px solid var(--border-soft);padding:56px 48px 48px}.hero__prompt{color:var(--text-faint);font-size:13px}.hero__intro{color:var(--text);max-width:640px;margin-top:28px;font-size:16px;line-height:1.7}.hero__caret{color:var(--accent)}.hero__actions{gap:12px;margin-top:34px;display:flex}.hero-ascii{font-family:var(--mono);color:var(--accent);margin:20px 0 0;font-size:15px;font-weight:700;line-height:1.2}.cursor{background:var(--accent);animation:1.1s step-end infinite blink;display:inline-block}.cursor--sm{vertical-align:-3px;width:9px;height:18px;margin-left:4px}.cursor--lg{vertical-align:-4px;width:12px;height:30px;margin-left:6px}.btn{letter-spacing:.04em;padding:11px 20px;font-size:13px;text-decoration:none}.btn--primary{color:var(--frame);background:var(--accent);transition:opacity .2s}.btn--primary:hover{opacity:.82}.btn--ghost{color:var(--text);border:1px solid var(--border);transition:border-color .2s,color .2s}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.about__text{color:var(--text-body);max-width:720px;margin:18px 0 0;font-size:17px;line-height:1.75}.about__meta{color:var(--text-faint);margin-top:24px;font-size:13px;line-height:2}.chips{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.chip{color:var(--text-faint);border:1px solid var(--border-soft);padding:6px 12px;font-size:12px}.comment{color:var(--accent)}.proj-list{border:1px solid var(--border-soft);margin-top:22px}.proj-row{color:inherit;border-bottom:1px solid var(--border-soft);grid-template-columns:22px 170px 1fr 200px 70px;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;transition:background .2s;display:grid}.proj-row:last-child{border-bottom:none}.proj-row:hover{background:var(--panel-hover)}.proj-arrow{color:var(--accent);font-size:14px}.proj-name{color:var(--text-bright);font-size:17px;font-weight:700}.proj-desc{color:var(--text-dim);font-size:14px}.proj-tech{color:var(--text-faint);font-size:12px}.proj-year{color:var(--text-faint);text-align:right;font-size:12px}.stack__json{color:var(--text-body);margin:22px 0 0;font-size:15px;line-height:1.9}.stack__key{color:var(--accent)}.exp-list{color:var(--text-body);margin-top:22px;font-size:15px}.exp-item{border-bottom:1px solid var(--border-faint);padding:18px 0}.exp-item:last-child{border-bottom:none}.exp-item__head{align-items:baseline;gap:16px;display:flex}.exp-hash{color:var(--accent)}.exp-role{color:var(--text-bright)}.exp-date{color:var(--text-faint);margin-left:auto}.exp-detail{color:var(--text-dim);margin:12px 0 0 92px;font-size:13px;line-height:1.95}.plus{color:var(--accent)}.contact{padding:48px}.contact__cmd{color:var(--text-faint);margin-bottom:16px;font-size:13px}.contact__email{color:var(--accent);letter-spacing:-.01em;font-size:38px;font-weight:700;text-decoration:none;transition:opacity .2s}.contact__email:hover{opacity:.8}.contact__socials{color:var(--text-muted);flex-wrap:wrap;gap:22px;margin-top:24px;font-size:13px;display:flex}.contact__socials a{color:var(--text-muted);text-decoration:none;transition:color .2s}.contact__socials a:hover{color:var(--accent)}.status-bar{border-top:1px solid var(--border-soft);background:var(--bar);letter-spacing:.05em;color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:11px 22px;font-size:11px;display:flex}.status-bar__group{gap:16px;display:flex}.status-bar__clock{color:var(--text-clock)}.status-bar .dot{color:var(--accent)}@media (width<=820px){.term-nav{display:none}}@media (width<=760px){.term-block,.hero,.contact{padding-left:22px;padding-right:22px}.term-frame pre{overflow-x:auto}.hero-ascii{font-size:11px}.proj-row{grid-template-columns:20px 1fr;gap:6px 12px}.proj-row .proj-desc{grid-column:2}.proj-row .proj-tech{grid-column:2;font-size:11px}.proj-row .proj-year{display:none}.exp-detail{margin-left:0}}
