@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dbbdd2d89d2ef0ef-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:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a06229eb79a83cfc-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c9e224327ce7933e-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:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d85064eaed4b8683-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:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db234bd00cda6a96-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:Press Start\ 2P Fallback;src:local("Arial");ascent-override:44.58%;descent-override:0.00%;line-gap-override:0.00%;size-adjust:224.32%}.__className_6d0c14{font-family:Press Start\ 2P,Press Start\ 2P Fallback;font-weight:400;font-style:normal}.__variable_6d0c14{--font-pixel-header:"Press Start 2P","Press Start 2P Fallback"}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/751eccb0decf5e18-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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f6590a0f07a97750-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:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7bd7951037de757-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:VT323 Fallback;src:local("Arial");ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:89.73%}.__className_4f2f0f{font-family:VT323,VT323 Fallback;font-weight:400;font-style:normal}.__variable_4f2f0f{--font-terminal-body:"VT323","VT323 Fallback"}:root{--background-color:#bf869a;--content-background-color:#be809f;--sidebar-background-color:#b886b2;--text-color:#272727;--sidebar-text-color:#60515a;--link-color:#000000;--link-color-hover:#333333;--font:"Courier New",monospace;--heading-font:"Lucida Console",monospace;--font-size:15px;--margin:20px;--padding:25px;--border:2px solid #985c7eb2}@media (prefers-color-scheme:dark){:root{--background-color:#000000;--content-background-color:#151515;--sidebar-background-color:#252525;--text-color:#dadada;--sidebar-text-color:#aaaaaa;--link-color:#afafaf;--link-color-hover:#6b6b6b;--border:1px solid #0f0f0f}}*{box-sizing:border-box}body,html{margin:0;min-height:100%}html{scrollbar-gutter:stable both-edges}body{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;font-size:var(--font-size);margin:0;padding:.75rem;color:var(--text-color);font-family:var(--font);line-height:1.2;background:var(--background-color);width:100%;overflow-y:scroll}.glitter-layer{position:fixed;inset:0;pointer-events:none;z-index:80}.glitter-particle{position:fixed;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.98) 10%,rgba(255,182,246,.9) 45%,rgba(255,182,246,0) 70%);filter:drop-shadow(0 0 3px rgba(255,170,235,.8));transform:translate(-50%,-50%);animation:glitter-fall .72s ease-out forwards}a{color:var(--link-color);text-decoration:none}a:hover,a:visited{color:var(--link-color-hover)}a:hover{font-weight:bolder;transition:.13s linear}.enter-wrap{display:flex;min-height:calc(100vh - (var(--margin) * 2));width:100%;align-items:center;justify-content:center}.enter{color:var(--text-color);text-align:center;cursor:pointer;padding:0;margin:0;border:none;background:transparent;font-size:1.25rem;font-family:var(--heading-font);animation:pulse 2.6s ease-in-out infinite}.click:hover{text-decoration:underline;cursor:pointer}.layout{width:min(900px,calc(100vw - 1.5rem));min-width:min(900px,calc(100vw - 1.5rem));max-width:min(900px,calc(100vw - 1.5rem));opacity:0;overflow:visible;flex:0 0 auto}.layout.fade-in{animation:fadeInUp .8s ease forwards}.container{background:transparent;border:none;padding:.75rem;overflow:visible;width:100%;min-width:0}.container,.layout .container,.layout .container-lg,.layout .container-md,.layout .container-sm,.layout .container-xl{max-width:none}.layout{margin-left:auto;margin-right:auto}.layout .row{margin-left:0;margin-right:0}.layout .col-lg-2{display:none}.layout .col-lg-8{flex:0 0 100%;max-width:100%;padding-left:0;padding-right:0}h1{margin:1rem 0 .25rem;font-family:var(--heading-font);text-shadow:0 0 6px rgba(255,188,247,.12);animation:soft-glow 2.8s ease-in-out infinite}.header{display:inline-block}.header:after{content:"_";margin-left:2px;animation:blink-caret .9s step-end infinite}.tagline{margin:0 0 1rem}.section-spacer{height:14px}.hov{cursor:pointer;margin-top:.65rem}details.hov summary::-webkit-details-marker{display:none}details.hov summary{list-style:none;cursor:pointer;color:var(--link-color);-webkit-user-select:none;-moz-user-select:none;user-select:none;font-family:var(--heading-font);text-transform:lowercase;transition:color .12s ease,text-shadow .12s ease,transform .12s ease}details.hov summary:hover{color:#f6d2ff;text-shadow:0 0 5px rgba(255,190,246,.45);transform:translateX(2px)}details.hov summary:before{content:">";margin-right:8px;display:inline-block}details.hov[open] summary:before{content:"v"}blockquote{cursor:default;margin:.65rem 0 0;padding:0}blockquote,details.hov{width:100%;min-width:0}details.hov summary{width:100%}.media-carousel{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.player-dock{position:fixed;right:0;bottom:0;z-index:40;display:flex;justify-content:flex-end;width:auto;max-width:min(92vw,440px)}.media-carousel--status{align-items:center}.media-carousel--pause{margin-top:0}.mmm{mix-blend-mode:normal;width:min(260px,62vw);opacity:.95;transition:opacity .4s ease,filter .6s ease;filter:grayscale(72%) brightness(.74) saturate(.82);box-shadow:0 20px 40px rgba(0,0,0,.35);border:var(--border);background:var(--content-background-color);padding:2px;transition:opacity .4s ease,filter .6s ease,transform .18s ease}.mmm:hover{transform:translateY(-2px) scale(1.01);filter:grayscale(62%) brightness(.82) saturate(.9)}.media-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:var(--border);background:var(--content-background-color);color:var(--text-color);padding:4px 10px;min-width:54px;height:28px;border-radius:0;font-size:12px;line-height:1.2;cursor:pointer;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;box-sizing:border-box;box-shadow:2px 2px 0 rgba(0,0,0,.35);font-family:var(--heading-font);letter-spacing:.08em;text-transform:uppercase;text-align:center}.media-button:hover{background:#151017;transform:translateY(-1px);box-shadow:3px 3px 0 rgba(0,0,0,.35)}.media-button:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.media-button--pause{font-size:12px;font-weight:600;border-radius:0;min-width:48px}.media-button--arrow{min-width:34px;border-radius:0}.now-playing{margin-top:0;padding:5px;font-size:11px;font-family:var(--heading-font);color:var(--sidebar-text-color);border:var(--border);background:var(--content-background-color);border-radius:0;display:inline-flex;align-items:center;justify-content:center}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:.55rem;width:100%;min-width:0}.project-card{padding:10px;border:var(--border);border-radius:0;background:transparent;box-shadow:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;animation:card-in .34s ease both;width:100%;min-width:0}.project-card:hover{transform:translateY(-2px);box-shadow:0 8px 14px rgba(0,0,0,.25);border-color:rgba(255,208,246,.8)}.project-card__header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-family:var(--heading-font);font-size:1rem}.project-title-wrap{display:inline-flex;align-items:center;gap:7px}.project-card__header .project-link{color:var(--link-color);font-weight:700;font-size:1rem}.project-pin{font-size:.75rem;color:#ffb3eb;transform:rotate(20deg) translateY(-1px);text-shadow:0 0 6px rgba(255,179,235,.5)}.project-card__header .badge{padding:.18rem .5rem;border-radius:0;background:rgba(255,202,247,.12);color:var(--text-color);font-size:.68rem;font-weight:600;border:1px solid rgba(255,200,246,.7);font-family:var(--heading-font);letter-spacing:.04em;text-transform:none;box-shadow:1px 1px 0 rgba(0,0,0,.25)}.project-card p{margin:.45rem 0 0;font-size:12px;word-break:break-word}.links-grid{grid-template-columns:1fr}.about-grid,.links-grid{grid-gap:10px}.about-grid,.info-grid,.links-grid{display:grid;gap:10px;margin-top:.55rem;width:100%;min-width:0}.info-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px}.about-grid .exp-box{display:block}.info-pill{display:flex;align-items:center;justify-content:center;gap:.5rem;text-transform:lowercase}.info-pill i{font-size:.95rem;line-height:1;color:#f1b8e8}.exp-box{padding:8px;border:var(--border);display:flex;justify-content:space-between;gap:.6rem;transition:transform .13s ease,border-color .13s ease,background .13s ease;width:100%;min-width:0}.exp-box:hover{transform:translateY(-1px);border-color:rgba(255,207,244,.85);background:rgba(255,182,236,.06)}.exp-box--static{cursor:default}.exp-box--static:hover{transform:none;border-color:var(--border);background:transparent}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}@keyframes glitter-fall{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-16px) scale(.2)}}@keyframes soft-glow{0%,to{text-shadow:0 0 6px rgba(255,188,247,.12)}50%{text-shadow:0 0 12px rgba(255,188,247,.33)}}@keyframes card-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes blink-caret{0%,49%{opacity:1}50%,to{opacity:0}}@media (max-width:800px){body{font-size:16px;padding:10px}.layout{width:100%;min-width:0;max-width:100%}.container{padding:10px}.player-dock{right:0;bottom:0;max-width:100vw}.mmm{width:min(260px,70vw)}.media-button{min-width:62px;height:34px;font-size:13px}.media-button--arrow{min-width:40px}.now-playing{padding:8px;font-size:12px}.info-grid,.links-grid,.projects-grid{grid-template-columns:1fr}.project-card p{font-size:14px}}@media (min-width:768px){body{padding:1rem}}@media (max-width:991.98px){.player-dock{position:static;width:100%;max-width:none;margin-top:.75rem}.media-carousel--pause,.player-dock{justify-content:flex-start}.projects-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.glitter-layer{display:none}.header:after,.layout.fade-in,.project-card,h1{animation:none}.exp-box,.media-button,.mmm,.project-card,details.hov summary{transition:none}}