*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{color:#ffffffd9;-webkit-font-smoothing:antialiased;background:#0d0b08;height:100%}@keyframes roomTilt{0%{transform:perspective(1400px)rotateX(0)rotateY(0)}25%{transform:perspective(1400px)rotateX(.4deg)rotateY(-.5deg)}50%{transform:perspective(1400px)rotateX(-.3deg)rotateY(.4deg)}75%{transform:perspective(1400px)rotateX(.3deg)rotateY(.3deg)}to{transform:perspective(1400px)rotateX(0)rotateY(0)}}@keyframes dotPulse{0%,8%{opacity:0;box-shadow:0 0 #f7258500}16%{opacity:1;box-shadow:0 0 #f72585a6}55%{opacity:1;box-shadow:0 0 0 26px #f7258500}88%{opacity:1;box-shadow:0 0 #f7258500}to{opacity:0;box-shadow:0 0 #f7258500}}@keyframes aboutReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes slinky{0%,to{transform:scaleY(1)translateY(0)}20%{transform:scaleY(1.45)translateY(-14px)}40%{transform:scaleY(.78)translateY(0)}60%{transform:scaleY(1.18)translateY(-6px)}80%{transform:scaleY(.94)translateY(0)}}@keyframes letterStretch{0%,to{letter-spacing:0;transform:scaleX(1)}50%{letter-spacing:.08em;transform:scaleX(1.04)}}@keyframes introFade{0%{opacity:0}to{opacity:1}}@keyframes introExit{0%{opacity:1}to{opacity:0}}@keyframes notifFade{0%{opacity:0;transform:translate(-50%,-50%)translateY(8px)}18%{opacity:1;transform:translate(-50%,-50%)translateY(0)}82%{opacity:1;transform:translate(-50%,-50%)translateY(0)}to{opacity:0;transform:translate(-50%,-50%)translateY(-6px)}}@keyframes dotSyncPulse{0%{opacity:1;box-shadow:0 0 #f72585d9}60%{opacity:1;box-shadow:0 0 0 36px #f7258500}to{opacity:1;box-shadow:0 0 #f7258500}}@keyframes portalBreathe{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.85;transform:scale(1.08)}}@keyframes portalSync{0%{opacity:.4;transform:scale(.95)}35%{opacity:1;transform:scale(1.35)}to{opacity:.4;transform:scale(.95)}}@keyframes cityFlicker{0%,to{opacity:.55}18%{opacity:1}32%{opacity:.72}47%{opacity:.95}61%{opacity:.6}78%{opacity:.88}}@keyframes carPass{0%,60%{opacity:0;transform:translate(0%)}65%{opacity:.4;transform:translate(40%)}72%{opacity:1;transform:translate(180%)}80%{opacity:.55;transform:translate(360%)}86%{opacity:0;transform:translate(480%)}to{opacity:0;transform:translate(480%)}}@keyframes lampBreathe{0%,to{opacity:.92}50%{opacity:1}}@keyframes cbCityFlicker{0%,to{opacity:.85}18%{opacity:1}32%{opacity:.7}47%{opacity:.95}61%{opacity:.6}78%{opacity:.88}}@keyframes cbWindowFlicker{0%,to{opacity:0}37%{opacity:0}38%{opacity:.8}39%{opacity:0}41%{opacity:.55}42%{opacity:0}72%{opacity:0}73%{opacity:.45}74%{opacity:0}}@keyframes cbLampBreathe{0%,to{opacity:.88}50%{opacity:1}}@keyframes cbGalaxySwirl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cbGalaxyRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cbStarTwinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.3)}}@keyframes cbPeaceBob{0%,to{transform:translate(-50%,-100%)scale(1)rotate(-6deg)}50%{transform:translate(-50%,-108%)scale(1.08)rotate(6deg)}}@keyframes windowFlicker{0%,to{opacity:0}37%{opacity:0}38%{opacity:.55}39%{opacity:0}41%{opacity:.4}42%{opacity:0}72%{opacity:0}73%{opacity:.35}74%{opacity:0}}.mobile-list,.mobile-top-bar,.mobile-spacer,.mobile-hero-overlay{display:none}.grid-projects{grid-template-columns:repeat(3,1fr);gap:56px 32px;display:grid}@media (max-width:900px){.grid-projects{grid-template-columns:repeat(2,1fr);gap:40px 24px}}@media (max-width:600px){.grid-projects{grid-template-columns:1fr;gap:36px}}.writeup-with-terminal{grid-template-columns:1fr 360px;gap:48px;max-width:1100px;margin:0 0 56px;display:grid}@media (max-width:900px){.writeup-with-terminal{grid-template-columns:1fr;gap:36px}}@keyframes cbCursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes cbCascadeIn{0%{opacity:0;filter:blur(2px);transform:translateY(-6px)}60%{opacity:.85;filter:blur()}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes cbShimmer{0%{background-position:-150% 0}to{background-position:250% 0}}.cb-shimmer{-webkit-text-fill-color:transparent;background-image:linear-gradient(100deg,currentColor 0% 42%,#fffffff2 50%,currentColor 58% 100%);background-repeat:no-repeat;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:4s ease-in-out infinite cbShimmer}@keyframes cbBsodGlitch{0%{opacity:0;transform:translate(0)}20%{opacity:.9;transform:translate(-4px)}40%{opacity:.6;transform:translate(6px)}60%{opacity:.85;transform:translate(-2px)}80%{opacity:1;transform:translate(3px)}to{opacity:1;transform:translate(0)}}.project-nav{border-top:1px solid #ffffff14;grid-template-columns:1fr 1fr;gap:16px;margin-top:60px;padding-top:32px;display:grid}@media (max-width:600px){.project-nav{grid-template-columns:1fr}}@keyframes cbEncounterFlash{0%{background-color:#000}20%{background-color:#fff}40%{background-color:#000}60%{background-color:#fff}80%{background-color:#000}to{background-color:#000}}@keyframes cbDmgPowerOff{0%{opacity:1;transform:scaleY(1)scaleX(1)}33%{opacity:1;transform:scaleY(.04)scaleX(1)}66%{opacity:1;transform:scaleY(.04)scaleX(.04)}to{opacity:0;transform:scaleY(0)scaleX(0)}}@keyframes cbCamSlideInSpin{0%{transform:translate(-180%)rotate(0)}to{transform:translate(0%)rotate(720deg)}}@keyframes cbBallArc{0%{transform:translate(0)rotate(0)}50%{transform:translate(70%,-110%)rotate(360deg)}to{transform:translate(140%,-20%)rotate(720deg)}}@keyframes cbBallWobble{0%,to{transform:translate(140%,-20%)rotate(0)}25%{transform:translate(140%,-20%)rotate(-22deg)}75%{transform:translate(140%,-20%)rotate(22deg)}}@keyframes cbBagSlideInLR{0%{transform:translate(-220%)}to{transform:translate(0)}}@keyframes cbCamSlideUp{0%{transform:translateY(60%)}to{transform:translateY(0%)}}@keyframes cbThrowRelease{0%{transform:translate(0)translateY(0)}15%{transform:translate(-2%)translateY(.5%)}35%{transform:translate(2%)translateY(-1%)}60%{transform:translate(1.5%)translateY(-.5%)}to{transform:translate(0)translateY(0)}}@keyframes cbBallArcV2{0%{transform:translate(0)rotate(0)}25%{transform:translate(8vmin,-12vmin)rotate(180deg)}50%{transform:translate(16vmin,-18vmin)rotate(360deg)}75%{transform:translate(24vmin,-20vmin)rotate(540deg)}to{transform:translate(30vmin,-18vmin)rotate(720deg)}}@keyframes cbBallWobbleV2{0%,to{transform:translate(0)rotate(0)}10%{transform:translate(-2%)rotate(-32deg)}25%{transform:translate(-3%,1%)rotate(-38deg)}40%{transform:translate(-1%)rotate(-12deg)}50%{transform:translate(0)rotate(0)}60%{transform:translate(1%)rotate(12deg)}75%{transform:translate(3%,1%)rotate(38deg)}90%{transform:translate(2%)rotate(32deg)}}@keyframes cbFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cbSparkleTwinkle{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@keyframes cbSparkleReveal{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes cbPixelDissolveCell{to{opacity:1}}@keyframes cbCaughtFlash{0%{opacity:0}50%{opacity:.4}to{opacity:0}}@keyframes cbBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes cbSoftBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes cbGbScreenFlicker{0%,4%{opacity:0}5%{opacity:.5}7%{opacity:0}18%{opacity:0}19%{opacity:.5}20%{opacity:.2}21%{opacity:.5}23%{opacity:0}46%{opacity:0}47%{opacity:.5}48%{opacity:0}73%{opacity:0}74%{opacity:.5}75%{opacity:.1}76%{opacity:.5}78%{opacity:0}to{opacity:0}}@keyframes cbGbLedFlicker{0%,to{opacity:.85}37%{opacity:.85}38%{opacity:.4}39%{opacity:.85}76%{opacity:.85}77%{opacity:.55}78%{opacity:.85}}@keyframes cbGbBallGlow{0%,to{filter:drop-shadow(0 0 6px #e128288c)drop-shadow(0 0 14px #e1282859)}50%{filter:drop-shadow(0 0 10px #e12828bf)drop-shadow(0 0 22px #e1282873)}}@keyframes cbTileVanish{0%{opacity:1}to{opacity:0}}@keyframes cbEntryBlink{0%{opacity:1}40%{opacity:1}50%{opacity:0}60%{opacity:1}to{opacity:1}}@keyframes cbRoomColorFlash{0%{background-color:#000}25%{background-color:#fff}50%{background-color:#000}75%{background-color:#fff}to{background-color:#000}}@media (max-width:768px){body{height:auto;overflow-y:auto}.mobile-spacer{height:44px;display:block!important}.room-fixed{overflow:hidden;height:60vh!important;animation:none!important;position:relative!important;inset:auto!important}.room-pan-scroll{touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:absolute;inset:0;overflow:auto hidden}.room-pan-scroll::-webkit-scrollbar{display:none}.room-inner{aspect-ratio:6720/3782;min-width:100%;width:auto!important;height:100%!important;position:relative!important;inset:auto!important}.room-fixed img{object-fit:contain!important;object-position:center center!important}.room-fixed a{display:flex!important}.identity-plate{display:none!important}.mobile-hero-overlay{display:block!important}.mobile-list{display:block}.mobile-top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;pointer-events:auto;background:#0d0b08eb;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:44px;padding:0 16px;position:fixed;top:0;left:0;right:0;display:flex!important}.grid-top-bar{display:none!important}.grid-content{padding-top:60px!important}.project-page-header{top:44px!important}.project-page-hero{padding-top:44px}}
