@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-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:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-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:Space Grotesk Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_dd5b2f{--font-display:"Space Grotesk","Space Grotesk Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-system:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{color-scheme:dark;--bg:#050505;--fg:#f5f7fa;--muted:rgba(245,247,250,0.58);--line:rgba(245,247,250,0.15);--line-strong:rgba(245,247,250,0.3);--accent:#37e2ff}*{box-sizing:border-box}body,html{margin:0;width:100%;min-height:100%;overflow:hidden;background:var(--bg);color:var(--fg)}body{font-family:var(--font-display),sans-serif}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}.portfolio-shell{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg)}.grid-canvas,.grid-stage{position:absolute;inset:0;width:100%;height:100%}.grid-stage{isolation:isolate}.grid-canvas{touch-action:none;z-index:0}.grid-top-fade{z-index:0;background:linear-gradient(180deg,rgba(5,5,5,1),rgba(5,5,5,.995) 6%,rgba(5,5,5,.93) 14%,rgba(5,5,5,.62) 25%,rgba(5,5,5,.2) 36%,rgba(5,5,5,.035) 45%,rgba(5,5,5,0) 54%)}.grid-node-label-layer,.grid-top-fade{position:absolute;inset:0;pointer-events:none}.grid-node-label-layer{z-index:1}.grid-micro-label-layer{position:absolute;inset:0;z-index:0;pointer-events:none}.grid-micro-label{position:absolute;display:grid;grid-gap:.05rem;gap:.05rem;transform:translate(calc(.14rem + var(--micro-drift-x, 0px)),calc(-50% + var(--micro-drift-y, 0px)));color:rgba(245,247,250,.22);font-family:var(--font-system),monospace;font-size:.4rem;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 6px rgba(55,226,255,.05)}.grid-micro-label.is-left{text-align:right;transform:translate(calc(-100% - .2rem + var(--micro-drift-x, 0px)),calc(-50% + var(--micro-drift-y, 0px)))}.grid-micro-label.is-emphasis{color:rgba(245,247,250,.3)}.grid-micro-label.is-dense{color:rgba(245,247,250,.56)}.grid-micro-label.is-probe{gap:.04rem;color:rgba(245,247,250,.22);font-size:.38rem;letter-spacing:.16em}.grid-micro-label-meta,.grid-micro-label.is-probe .grid-micro-label-meta{color:rgba(245,247,250,.16)}.grid-micro-label-detail{color:rgba(245,247,250,.18)}.grid-node-label{position:absolute;display:grid;grid-gap:.14rem;gap:.14rem;min-width:10.32rem;transform:translate(calc(.72rem + var(--node-drift-x, 0px)),calc(-50% + var(--node-drift-y, 0px)));color:rgba(245,247,250,.84);font-family:var(--font-system),monospace;font-size:.744rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 10px rgba(55,226,255,.16);transition:color .14s linear,opacity .14s linear,transform .18s cubic-bezier(.22,1,.36,1)}.grid-node-label.is-left{text-align:right;transform:translate(calc(-100% - .72rem + var(--node-drift-x, 0px)),calc(-50% + var(--node-drift-y, 0px)))}.grid-node-label.is-active{color:rgba(245,247,250,.98);transform:translate(calc(.86rem + var(--node-drift-x, 0px)),calc(-50% + var(--node-drift-y, 0px)))}.grid-node-label.is-active.is-left{transform:translate(calc(-100% - .86rem + var(--node-drift-x, 0px)),calc(-50% + var(--node-drift-y, 0px)))}.grid-node-label-meta,.grid-node-label-tag{color:rgba(245,247,250,.48);font-size:.624rem;letter-spacing:.14em}.grid-node-label-name{color:inherit;font-size:.816rem;font-weight:500;letter-spacing:.1em}.contact-panel,.cursor-coord,.hud,.side-panel,.system-dock{position:absolute;z-index:2}.cursor-coord{display:grid;grid-gap:.26rem;gap:.26rem;min-width:12rem;padding-left:.9rem;pointer-events:none;white-space:nowrap;color:rgba(245,247,250,.9);text-shadow:0 0 12px rgba(55,226,255,.24);transition:color .12s linear,opacity .14s linear;transform-origin:left top}.cursor-coord.is-compact{gap:0;min-width:0;padding-left:.55rem}.cursor-coord.is-cell-panel{min-width:13.75rem;transform:translateX(-50%)}.cursor-coord:after,.cursor-coord:before{content:"";position:absolute;left:0;background:linear-gradient(90deg,rgba(55,226,255,.9),rgba(55,226,255,0))}.cursor-coord:before{top:-.55rem;width:2.6rem;height:1px}.cursor-coord:after{top:-.55rem;width:1px;height:2.4rem}.cursor-coord.is-compact:before{width:1.6rem}.cursor-coord.is-compact:after{height:1.25rem}.cursor-coord.is-cell-panel:before{width:3rem}.cursor-coord.is-cell-panel:after{height:2.75rem}.hud{display:grid;grid-gap:.24rem;gap:.24rem;padding:.72rem .86rem;border:1px solid var(--line);background:rgba(5,5,5,.84)}.hud-top-left{top:1rem;left:1rem}.hud-bottom-left{left:1rem;bottom:1rem;width:min(14rem,calc(100vw - 2rem))}.hud-bottom-right{right:1rem;bottom:1rem;width:min(20rem,calc(100vw - 2rem))}.hud-debug{gap:.3rem}.hud-log-panel{gap:.3rem;align-content:start}.hud-log-entry{grid-template-columns:5.1rem minmax(0,1fr)}.hud-log-entry.is-empty{color:rgba(245,247,250,.42)}.hud-log-stamp{color:rgba(55,226,255,.68);white-space:nowrap}.hud-log-message{color:rgba(245,247,250,.74);min-width:0;font-size:.68rem;line-height:1.25;letter-spacing:.08em}.hero-peek{width:min(24rem,calc(100vw - 2rem));gap:.7rem;align-content:start}.hero-peek-copy{max-width:28ch;margin:0;font-family:var(--font-system),monospace;font-size:.76rem;line-height:1.55;letter-spacing:.02em}.hero-peek .command-action{justify-self:start;margin-top:.2rem}.hud-top-right{top:1rem;right:1rem;min-width:15.5rem}.hud-readout-meta{margin-top:.08rem}.contact-form span,.hud-label,.panel-close,.panel-header,.section-kicker,.system-button{font-family:var(--font-system),monospace;letter-spacing:.18em;text-transform:uppercase}.compact-grid li,.contact-actions p,.hud-label,.panel-body p,.panel-empty p,.section-kicker{color:var(--muted)}.hud-value{font-family:var(--font-system),monospace;font-size:clamp(1.2rem,2vw,2rem);font-weight:500;line-height:1;letter-spacing:.04em;text-transform:uppercase}.hero-peek-readout,.hud-data-grid,.panel-data-grid,.panel-hero-readout{display:grid;grid-gap:.28rem;gap:.28rem}.hud-data-row,.panel-data-row{display:grid;grid-template-columns:5.1rem minmax(0,1fr);grid-gap:.7rem;gap:.7rem;align-items:baseline}.hud-data-key,.panel-data-key{color:var(--muted);font-size:.6rem;letter-spacing:.14em}.hud-data-key,.hud-data-value,.panel-data-key,.panel-data-value{font-family:var(--font-system),monospace;text-transform:uppercase}.hud-data-value,.panel-data-value{font-size:.76rem;line-height:1.25;letter-spacing:.04em}.hud-meta-stack{display:flex;gap:.56rem;flex-wrap:wrap;margin-top:.18rem;color:rgba(245,247,250,.46);font-family:var(--font-system),monospace;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}.hud-meta-stack span{position:relative}.hud-meta-stack span+span:before{content:"/";position:absolute;left:-.34rem;color:rgba(245,247,250,.22)}.system-readout-line{display:flex;gap:.7rem;align-items:baseline;flex-wrap:wrap;margin:0;font-family:var(--font-system),monospace;text-transform:uppercase}.system-readout-key{color:var(--muted);min-width:4.25rem;font-size:.62rem;letter-spacing:.12em}.system-readout-value{color:rgba(245,247,250,.96);font-size:clamp(.88rem,1.45vw,1.12rem);font-weight:500;letter-spacing:.04em;line-height:1.1}.system-readout-value-accent{color:var(--accent)}.cursor-coord-value{display:flex;gap:.5rem;align-items:baseline;font-family:var(--font-system),monospace;font-size:.78rem;font-weight:500;line-height:1.05;letter-spacing:.16em;text-transform:uppercase;transition:gap .16s cubic-bezier(.22,1,.36,1),font-size .16s cubic-bezier(.22,1,.36,1)}.cursor-coord.is-compact .cursor-coord-value{gap:.42rem;font-size:.72rem}.cursor-coord-kicker,.cursor-coord-meta{font-family:var(--font-system),monospace;font-size:.52rem;letter-spacing:.18em;text-transform:uppercase}.cursor-coord-kicker{color:var(--accent);margin-right:.08rem;transition:opacity .12s linear,margin .16s cubic-bezier(.22,1,.36,1),width .16s cubic-bezier(.22,1,.36,1)}.cursor-coord.is-compact .cursor-coord-kicker{width:0;margin-right:-.08rem;opacity:0;overflow:hidden}.cursor-coord-meta{display:flex;gap:.42rem;flex-wrap:wrap;color:rgba(245,247,250,.48);line-height:1;max-height:1rem;overflow:hidden;opacity:1;transform:translateY(0);transition:max-height .18s cubic-bezier(.22,1,.36,1),opacity .12s linear,transform .18s cubic-bezier(.22,1,.36,1)}.cursor-coord.is-compact .cursor-coord-meta{max-height:0;opacity:0;transform:translateY(-.2rem)}.cursor-coord.is-cell-panel .cursor-coord-value{gap:.58rem;font-size:.76rem}.cursor-coord.is-cell-panel .cursor-coord-kicker{width:auto;margin-right:.08rem;opacity:1}.cursor-coord.is-cell-panel .cursor-coord-meta{max-height:2rem}.cursor-coord-meta span{position:relative}.cursor-coord-meta span+span:before{content:"/";position:absolute;left:-.28rem;color:rgba(245,247,250,.28)}.system-dock-left{top:50%;left:1rem;transform:translateY(-50%)}.system-dock-right{top:50%;right:1rem;transform:translateY(-50%)}.system-dock-bottom{left:50%;bottom:3.2rem;transform:translateX(-50%)}.command-line-shell{display:grid;grid-gap:.54rem;gap:.54rem;width:min(40rem,calc(100vw - 2rem));padding:.96rem 1.12rem 1.02rem;border:1px solid var(--line-strong);background:rgba(5,5,5,.88);box-shadow:0 0 32px rgba(0,0,0,.28)}.command-line-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:.62rem;gap:.62rem}.command-line-input,.command-line-prompt,.command-line-status,.command-suggestion-hint,.command-suggestion-value{font-family:var(--font-system),monospace;text-transform:uppercase}.command-line-prompt{color:rgba(55,226,255,.84);font-size:.96rem;line-height:1;letter-spacing:.18em}.command-line-input{width:100%;border:none;background:transparent;color:rgba(245,247,250,.96);padding:0;font-size:.9rem;line-height:1.15;letter-spacing:.16em}.command-line-input::placeholder{color:rgba(245,247,250,.34)}.command-line-input:focus-visible{outline:none}.command-line-status{color:rgba(245,247,250,.52);font-size:.62rem;letter-spacing:.16em;line-height:1.2}.command-line-suggestions{display:grid;grid-gap:.22rem;gap:.22rem}.command-suggestion{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);grid-gap:.8rem;gap:.8rem;align-items:baseline;width:100%;padding:.16rem 0;border:none;background:transparent;text-align:left;cursor:pointer;transition:color .12s linear,opacity .12s linear}.command-suggestion.is-active,.command-suggestion:focus-visible,.command-suggestion:hover{outline:none}.command-suggestion.is-active .command-suggestion-value,.command-suggestion:focus-visible .command-suggestion-value,.command-suggestion:hover .command-suggestion-value{color:var(--accent)}.command-suggestion.is-active .command-suggestion-hint,.command-suggestion:focus-visible .command-suggestion-hint,.command-suggestion:hover .command-suggestion-hint{color:rgba(245,247,250,.74)}.command-suggestion-value{color:rgba(245,247,250,.88);font-size:.68rem;letter-spacing:.14em}.command-suggestion-hint{color:rgba(245,247,250,.36);font-size:.56rem;letter-spacing:.14em}.panel-close,.system-button{border:1px solid var(--line-strong);background:rgba(5,5,5,.88);color:var(--fg);padding:.85rem 1rem;cursor:pointer;transition:border-color .12s linear,color .12s linear,transform .12s linear}.contact-form input:focus-visible,.contact-form textarea:focus-visible,.panel-close:focus-visible,.panel-close:hover,.system-button:focus-visible,.system-button:hover{outline:none;border-color:var(--accent);color:var(--accent)}.panel-close:active,.system-button:active{transform:translateY(1px)}.system-button.accent{border-color:var(--accent)}.command-action{display:inline-flex;align-items:baseline;gap:.48rem;padding:0;border:none;background:transparent;color:rgba(245,247,250,.78);font-family:var(--font-system),monospace;font-size:.76rem;line-height:1;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:color .12s linear,opacity .12s linear,transform .12s linear}.command-action:focus-visible,.command-action:hover{outline:none;color:var(--accent)}.command-action:active{transform:translateY(1px)}.command-action-prefix{color:rgba(55,226,255,.74)}.contact-panel,.side-panel{border:1px solid var(--line-strong);background:rgba(5,5,5,.92);opacity:0;transition:transform .26s cubic-bezier(.2,.9,.22,1),opacity .22s ease}.side-panel{top:1rem;bottom:1rem;width:min(38vw,34rem);display:grid;grid-template-rows:auto 1fr}.side-panel-left{left:1rem;transform:translateX(calc(-100% - 1.25rem))}.side-panel-right{right:1rem;transform:translateX(calc(100% + 1.25rem))}.contact-panel.is-open,.side-panel.is-open{opacity:1;transform:translateX(0) translateY(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.72rem .86rem;border-bottom:1px solid var(--line)}.panel-header p{margin:0}.panel-body{overflow:auto;padding:.86rem}.panel-body::-webkit-scrollbar{width:8px}.panel-body::-webkit-scrollbar-thumb{background:var(--line-strong)}.panel-section{display:grid;grid-gap:.56rem;gap:.56rem}.panel-section+.panel-section{margin-top:1.4rem}.panel-section h1,.panel-section h2,.panel-section p{margin:0}.panel-section h1,.panel-section h2{font-family:var(--font-system),monospace;font-size:clamp(1.12rem,1.7vw,1.7rem);line-height:1.02;letter-spacing:.03em;text-transform:uppercase}.panel-hero{gap:.72rem;padding-bottom:.96rem;border-bottom:1px solid var(--line)}.panel-hero p{max-width:28rem}.panel-hero>p:last-child{font-family:var(--font-system),monospace;font-size:.74rem;line-height:1.48;letter-spacing:.02em}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.panel-data-grid-compact .panel-data-row{grid-template-columns:3.4rem minmax(0,1fr)}.panel-data-grid-compact .panel-data-value{font-size:.7rem}.media-frame{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line)}.media-frame img{object-fit:cover;filter:grayscale(1) contrast(1.05)}.project-panel-body{display:grid;grid-gap:1.25rem;gap:1.25rem}.panel-empty{display:grid;grid-gap:.65rem;gap:.65rem;padding:1.2rem}.contact-panel{left:50%;bottom:1rem;width:min(46rem,calc(100vw - 2rem));transform:translate(-50%,calc(100% + 1.25rem))}.contact-form{display:grid;grid-gap:1rem;gap:1rem;padding:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form label{display:grid;grid-gap:.45rem;gap:.45rem}.contact-actions,.contact-field-large{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line-strong);background:rgba(255,255,255,.02);color:var(--fg);padding:.8rem .9rem;resize:vertical}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.contact-actions p{margin:0;font-size:.88rem}.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media (max-width:900px){.cursor-coord,.hud-bottom-right,.hud-top-right{display:none}.hud-bottom-left{bottom:4.6rem}.hero-peek{width:min(22rem,calc(100vw - 2rem))}.side-panel{top:auto;bottom:0;width:100%;max-height:min(58vh,34rem);border-left:none;border-right:none}.contact-panel,.side-panel-left,.side-panel-right{left:0;right:0;transform:translateY(100%)}.contact-panel{width:100%;bottom:0}.system-dock-left,.system-dock-right{top:auto;transform:none;bottom:5.5rem}.command-line-shell{width:calc(100vw - 2rem);max-height:3rem;overflow:hidden}.command-line-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-line-suggestions{display:none}.system-dock-left{left:1rem}.system-dock-right{right:1rem}.compact-grid,.contact-form{grid-template-columns:1fr}.contact-actions{flex-direction:column;align-items:flex-start}}