@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db.cfdd66c2.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81.c30238d4.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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee.p.4564287c.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}.space_grotesk_c9076d36-module__65kt4a__className{font-family:Space Grotesk,Segoe UI,Helvetica Neue,Arial,sans-serif;font-style:normal}.space_grotesk_c9076d36-module__65kt4a__variable{--font-headline:"Space Grotesk",Segoe UI,Helvetica Neue,Arial,sans-serif}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5.a82ecf4e.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5.afa48be3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd.764b43eb.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4.cb53f04b.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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d.p.64b9304e.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e.6b5ea6af.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18.1dcddae6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4.8da66e7f.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913.e6cd1753.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64.p.19510058.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}.ibm_plex_mono_4855f9ff-module__mHeKIq__className{font-family:IBM Plex Mono,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-style:normal}.ibm_plex_mono_4855f9ff-module__mHeKIq__variable{--font-mono:"IBM Plex Mono",SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}
:root{--bg-0:#050505;--bg-1:#000;--surface:#ffffff0f;--surface-strong:#ffffff1a;--line:#ffffff38;--text:#f5f5f5;--muted:#b7b7b7;--accent:#fff;--accent-deep:#d9d9d9;--accent-contrast:#111;--glow-a:#ffffff14;--glow-b:#ffffff08;--overlay-1:#ffffff1f;--overlay-2:#ffffff05;--overlay-3:#ffffff0f;--line-soft:#ffffff29;--twin-panel:#0d0d0d;--twin-chat-bg:#111;--twin-assistant:#1d1d1d;--max:1120px}[data-theme=light]{--bg-0:#fff;--bg-1:#fff;--surface:#0000000a;--surface-strong:#00000014;--line:#0003;--text:#111;--muted:#4a4a4a;--accent:#111;--accent-deep:#2b2b2b;--accent-contrast:#fff;--glow-a:#0000000a;--glow-b:#00000005;--overlay-1:#00000014;--overlay-2:#00000003;--overlay-3:#0000000a;--line-soft:#00000024;--twin-panel:#fff;--twin-chat-bg:#f7f7f7;--twin-assistant:#ececec}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-headline),sans-serif;color:var(--text);background:radial-gradient(circle at 8% 10%,var(--glow-a)0%,transparent 28%),radial-gradient(circle at 90% 20%,var(--glow-b)0%,transparent 33%),linear-gradient(145deg,var(--bg-0),var(--bg-1));min-height:100vh}.site-shell{max-width:var(--max);margin:0 auto;padding:3.4rem 1.2rem 4.5rem;position:relative}.noise-layer{pointer-events:none;opacity:.1;background-image:radial-gradient(circle at 1px 1px,#fff .8px,#0000 0);background-size:28px 28px;position:fixed;inset:0}.corner-easter-link{color:#1f2937;opacity:.9;width:34px;height:34px;font-family:var(--font-mono),monospace;cursor:pointer;z-index:80;background:#facc15;border:1px solid #f59e0b;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:18px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:fixed;bottom:10px;left:10px;box-shadow:0 3px 10px #facc1573}.corner-easter-link:focus-visible{opacity:1;outline:1px dashed #f59e0b}.corner-easter-link:hover{opacity:1;transform:scale(1.06)}[data-theme=light] .corner-easter-link{color:#111827;background:#f59e0b;border-color:#d97706}.section{opacity:0;margin-bottom:2.2rem;animation:.72s forwards reveal;position:relative;transform:translateY(14px)}.section:nth-child(2){animation-delay:.11s}.section:nth-child(3){animation-delay:.22s}.section:nth-child(4){animation-delay:.33s}.section:nth-child(5){animation-delay:.44s}.hero{border:1px solid var(--line);background:linear-gradient(to bottom right,var(--overlay-1),var(--overlay-2)),linear-gradient(to right,var(--overlay-3),var(--overlay-2));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:28px;padding:2.4rem}.terminal-window{border:1px solid var(--line-soft);background:#050505;border-radius:16px;margin-bottom:1.2rem;overflow:hidden}[data-theme=light] .terminal-window{background:#f5f5f5}.terminal-topbar{border-bottom:1px solid var(--line-soft);background:var(--overlay-2);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.terminal-dots{gap:.35rem;display:flex}.terminal-dots span{border:1px solid var(--line-soft);background:var(--surface-strong);border-radius:50%;width:.58rem;height:.58rem}.terminal-title{font-family:var(--font-mono),monospace;color:var(--muted);margin:0;font-size:.76rem}.terminal-body{padding:.9rem .85rem .95rem}.boot-line{opacity:0;font-family:var(--font-mono),monospace;color:#c4f5ce;margin:.16rem 0;font-size:.8rem;animation:.45s forwards bootReveal}[data-theme=light] .boot-line{color:#1f6d2e}.boot-line:first-child{animation-delay:.12s}.boot-line:nth-child(2){animation-delay:.3s}.boot-line:nth-child(3){animation-delay:.48s}.boot-line:nth-child(4){animation-delay:.66s}.boot-line:nth-child(5){animation-delay:.84s}.boot-line:nth-child(6){animation-delay:1.02s}.boot-line.command{color:#fff;animation-delay:1.22s}[data-theme=light] .boot-line.command{color:#111}.prompt{color:#9ca3af}.hero-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.eyebrow{color:var(--accent);font-family:var(--font-mono),monospace;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font-size:.88rem}h1{margin:0;font-size:clamp(2.4rem,7vw,4.8rem);line-height:.98}h2{margin:0 0 1rem;font-size:clamp(1.5rem,4vw,2.35rem)}h3{margin:0;font-size:1.12rem}.lead{max-width:68ch;color:var(--muted);margin:1.2rem 0 0;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;display:flex}.btn{font-family:var(--font-mono),monospace;border:1px solid var(--line);border-radius:999px;align-items:center;gap:.45rem;padding:.72rem 1.08rem;text-decoration:none;transition:transform .18s,background-color .18s,color .18s;display:inline-flex}.btn.primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000;font-weight:600}.btn.ghost{color:var(--text);background:var(--overlay-2)}.btn:hover{transform:translateY(-2px)}.link-icon{border:1px solid var(--line-soft);text-transform:lowercase;border-radius:999px;justify-content:center;align-items:center;width:1.2rem;height:1.2rem;font-size:.62rem;display:inline-flex}.theme-toggle{border:1px solid var(--line);background:var(--overlay-3);width:2.25rem;height:2.25rem;color:var(--text);font-family:var(--font-mono),monospace;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:1rem;transition:transform .18s,background-color .18s;display:inline-flex}.theme-toggle:hover{background:var(--surface-strong);transform:translateY(-1px)}.meta-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.6rem;display:grid}.meta-strip span{border:1px solid var(--line-soft);text-align:center;color:var(--muted);border-radius:12px;padding:.7rem;font-size:.9rem}.panel,.git-entry,.portfolio-card,.cta{border:1px solid var(--line-soft);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:20px}.panel{padding:1.4rem}.about p{color:var(--muted);margin:.9rem 0 0;line-height:1.6}.focus-panel{border:1px solid var(--line-soft);background:linear-gradient(140deg,var(--surface-strong),var(--surface)),linear-gradient(0deg,var(--overlay-2),var(--overlay-2));border-radius:24px;padding:1.3rem}.focus-copy{color:var(--muted);max-width:70ch;margin:.75rem 0 0;line-height:1.55}.focus-copy a{color:var(--accent);border-bottom:1px solid var(--line-soft);text-decoration:none}.digital-twin-card{border:1px solid var(--line-soft);background:var(--twin-panel);border-radius:18px;padding:1rem;position:relative;box-shadow:0 10px 30px #00000047}.twin-floating{z-index:120;width:min(520px,100vw - 2rem);position:fixed;bottom:1rem;right:1rem}.twin-fab{border:1px solid var(--line);font-family:var(--font-mono),monospace;cursor:pointer;background:var(--accent);min-width:190px;color:var(--accent-contrast);border-radius:999px;margin-top:.6rem;margin-left:auto;padding:.98rem 1.45rem;font-size:1.02rem;font-weight:700;animation:2.6s ease-in-out infinite twinPulse;display:block;box-shadow:0 8px 24px #00000040}.digital-twin-head{align-items:flex-start;margin-bottom:.6rem;padding-right:2.2rem;display:flex}.twin-actions{justify-content:space-between;align-items:flex-start;gap:.45rem;width:100%;display:flex}.twin-model{font-family:var(--font-mono),monospace;color:var(--muted);overflow-wrap:anywhere;word-break:break-word;max-width:calc(100% - 2.1rem);margin:0;font-size:.77rem}.twin-close{border:1px solid var(--line-soft);background:var(--overlay-2);width:1.65rem;height:1.65rem;color:var(--text);cursor:pointer;border-radius:8px;flex:none;line-height:1;position:absolute;top:.85rem;right:.85rem}.chat-window{border:1px solid var(--line-soft);background:var(--twin-chat-bg);border-radius:12px;min-height:300px;max-height:460px;padding:.7rem;overflow:auto}.chat-row{margin-bottom:.55rem;display:flex}.chat-row p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;border-radius:10px;max-width:min(92%,760px);margin:0;padding:.55rem .65rem;font-size:.92rem;line-height:1.45}.chat-row.user{justify-content:flex-end}.chat-row.user p{background:var(--accent);color:var(--accent-contrast)}.chat-row.assistant p{background:var(--twin-assistant);color:var(--text)}.quick-prompts{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.quick-prompts button{border:1px solid var(--line-soft);font-family:var(--font-mono),monospace;background:var(--overlay-2);color:var(--muted);cursor:pointer;overflow-wrap:anywhere;word-break:break-word;text-align:left;border-radius:999px;max-width:100%;padding:.35rem .65rem;font-size:.72rem}.chat-form{gap:.55rem;margin-top:.7rem;display:flex}.chat-form input{border:1px solid var(--line-soft);background:var(--overlay-2);min-width:0;color:var(--text);font-family:var(--font-mono),monospace;overflow-wrap:anywhere;border-radius:10px;flex:1;padding:.66rem .72rem}.chat-form button{background:var(--accent);color:var(--accent-contrast);cursor:pointer;font-family:var(--font-mono),monospace;border:1px solid #0000;border-radius:10px;padding:.62rem .9rem}.chat-form button:disabled,.quick-prompts button:disabled{opacity:.55;cursor:not-allowed}.chat-error{color:#ff7e7e;margin:.55rem 0 0;font-size:.85rem}.stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.stack-card{border:1px solid var(--line-soft);background:var(--surface);border-radius:16px;padding:.95rem}.stack-card h3{margin-bottom:.6rem}.stack-tags{flex-wrap:wrap;gap:.45rem;display:flex}.stack-tags span{border:1px solid var(--line-soft);font-size:.76rem;font-family:var(--font-mono),monospace;color:var(--muted);background:var(--overlay-2);border-radius:999px;padding:.27rem .55rem}.git-log{gap:.75rem;display:grid}.git-entry{border:1px solid var(--line-soft);background:var(--surface);border-radius:14px;padding:.95rem}.git-meta{font-family:var(--font-mono),monospace;flex-wrap:wrap;gap:.65rem;margin-bottom:.5rem;font-size:.74rem;display:flex}.git-hash{color:var(--text);margin:0}.git-author,.git-date{color:var(--muted);margin:0}.git-subject h3{font-size:1rem}.git-subject p{color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.git-files{margin:.65rem 0 0;padding-left:1.1rem}.git-files li{color:var(--text);margin-top:.42rem;font-size:.95rem;line-height:1.42}.git-files a{color:var(--accent);border-bottom:1px solid var(--line-soft);text-decoration:none}.badge{font-family:var(--font-mono),monospace;background:var(--overlay-3);border:1px solid var(--line-soft);color:var(--accent);border-radius:999px;padding:.28rem .55rem;font-size:.74rem;display:inline-block}.cta{padding:1.7rem 1.3rem}.cta p{color:var(--muted);margin:.2rem 0 0}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes bootReveal{to{opacity:1}}@keyframes twinPulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}@media (max-width:900px){.meta-strip,.stack-grid{grid-template-columns:1fr}.hero{padding:1.5rem 1.2rem}.hero-topbar{flex-direction:row;justify-content:space-between;align-items:center}.site-shell{padding:1.2rem 1rem 3.5rem}.chat-form{flex-direction:column}.twin-floating{width:min(480px,100vw - 1.5rem);bottom:.75rem;right:.75rem}}
