@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,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:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--bg:#0a0e14;--bg-soft:#0d1420;--surface:#101726;--border:#1e293b;--text:#e6edf3;--dim:#8b949e;--green:#4ade80;--cyan:#22d3ee;--err:#f87171;--shadow:0 16px 48px rgba(0,0,0,0.4)}[data-theme=matrix]{--bg:#020604;--bg-soft:#041008;--surface:#051408;--border:#0f2a14;--text:#b8f5c4;--dim:#4e8f5e;--green:#00ff41;--cyan:#00e0b8;--err:#ff5f56;--shadow:0 16px 48px rgba(0,255,65,0.08)}[data-theme=amber]{--bg:#0c0800;--bg-soft:#140f02;--surface:#181203;--border:#3a2c08;--text:#ffd28a;--dim:#a07018;--green:#ffb000;--cyan:#ffcf5c;--err:#ff5f56;--shadow:0 16px 48px rgba(255,176,0,0.07)}[data-theme=dracula]{--bg:#282a36;--bg-soft:#2d2f3d;--surface:#343746;--border:#44475a;--text:#f8f8f2;--dim:#6272a4;--green:#50fa7b;--cyan:#8be9fd;--err:#ff5555;--shadow:0 16px 48px rgba(0,0,0,0.35)}[data-theme=light]{--bg:#f4f4ef;--bg-soft:#ecece6;--surface:#ffffff;--border:#d9d9d0;--text:#1c1c1a;--dim:#6b6b64;--green:#15803d;--cyan:#0e7490;--err:#dc2626;--shadow:0 10px 32px rgba(0,0,0,0.12)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(800px 400px at 20% 0,rgba(74,222,128,.045),transparent),radial-gradient(800px 400px at 85% 30%,rgba(34,211,238,.035),transparent),var(--bg);color:var(--text);font-family:var(--font-mono),"JetBrains Mono",ui-monospace,monospace;font-size:15px;line-height:1.7}::selection{background:rgba(74,222,128,.3)}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.6rem;background:rgba(10,14,20,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-logo{color:var(--green);text-decoration:none;font-weight:700;font-size:.95rem}.nav-logo:hover{color:var(--cyan)}.nav-links{display:flex;gap:1.4rem;list-style:none}.nav-links a{color:var(--dim);text-decoration:none;font-size:.88rem;transition:color .2s}.nav-links a:hover{color:var(--green)}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:5.5rem 1.5rem 2rem}.hero,section{max-width:900px;margin:0 auto}section{padding:3rem 1.5rem 1rem}.sec-head{margin-bottom:.8rem}.sec-cmd{color:var(--dim);font-size:.92rem}.sec-desc{color:var(--dim);font-size:.9rem;margin:.6rem 0 1rem}.sec-desc code{color:var(--green);border:1px solid var(--border);padding:.05rem .4rem;border-radius:4px}.sec-desc code,.term{background:var(--surface)}.term{border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}.term-bar{display:flex;align-items:center;padding:.6rem 1rem;background:var(--bg-soft);border-bottom:1px solid var(--border)}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:.5rem}.dot-red{background:#ff5f56}.dot-amber{background:#ffbd2e}.dot-green{background:#27c93f}.term-title{margin-left:.7rem;color:var(--dim);font-size:.8rem}.term-body{padding:1.2rem 1.3rem;font-size:.92rem}.line{white-space:pre-wrap;word-break:break-word}.line-out{color:var(--text)}.line-out.dim{color:var(--dim)}.line-out.err{color:var(--err)}.out-link{color:var(--cyan);text-decoration:none;border-bottom:1px dashed var(--cyan)}.out-link:hover{border-color:var(--green)}.out-link:hover,.p-user{color:var(--green)}.p-dollar,.p-sep{color:var(--dim)}.p-path{color:var(--cyan)}.cursor{display:inline-block;width:8px;height:1.05em;background:var(--green);vertical-align:text-bottom;margin-left:2px;animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.hero-cta{margin-top:1.6rem;display:flex;gap:.9rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;padding:.6rem 1.2rem;border-radius:8px;font-size:.9rem;font-family:inherit;text-decoration:none;border:1px solid var(--border);transition:transform .15s,border-color .2s,color .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--green);border-color:var(--green);color:#052e16;font-weight:700}.btn-primary:hover{box-shadow:0 6px 20px rgba(74,222,128,.25)}.btn-ghost{background:var(--surface);color:var(--text)}.btn-ghost:hover{border-color:var(--green);color:var(--green)}.tree{font-size:.9rem;line-height:1.85;overflow-x:auto}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.2rem;gap:1.2rem;margin-top:1rem}.project{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.3rem;transition:border-color .25s,transform .25s}.project:hover{border-color:var(--green);transform:translateY(-3px)}.project-path{font-size:.78rem;color:var(--cyan);margin-bottom:.5rem}.project h3{font-size:1rem;margin-bottom:.4rem;font-weight:700}.project>p{color:var(--dim);font-size:.88rem;margin-bottom:.9rem}.project-foot{display:flex;justify-content:space-between;align-items:center}.langs span{font-size:.75rem;color:var(--green)}.project-link{color:var(--dim);font-size:.85rem;text-decoration:none;transition:color .2s}.project-link:hover{color:var(--green)}.contact-line{display:flex;gap:1.2rem;padding:.35rem 0}.contact-line .key{color:var(--green);min-width:7ch}.contact-line .val{color:var(--text)}.contact-line a{color:var(--cyan);text-decoration:none;transition:color .2s}.contact-line a:hover{color:var(--green);text-decoration:underline}.term-interactive{cursor:text}.term-input{background:none;border:none;outline:none;color:var(--text);font:inherit;flex:1 1;min-width:10ch;caret-color:var(--green)}[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}[data-reveal].revealed{opacity:1;transform:none}footer{border-top:1px solid var(--border);margin-top:3rem;padding:1.4rem;text-align:center;color:var(--dim);font-size:.82rem}@media (max-width:820px){.nav-links{display:none}.projects-grid{grid-template-columns:1fr}.term-body{padding:1rem;font-size:.85rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}