*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Courier New,monospace}.site-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:center;gap:2rem;padding:.5rem 1rem;font-size:.7rem;pointer-events:none}.site-footer a{color:#444;text-decoration:none;pointer-events:auto;transition:color .2s}.site-footer a:hover{color:#888}body.page{overflow:auto;display:flex;flex-direction:column;min-height:100vh}.page-container{flex:1;max-width:600px;margin:0 auto;padding:4rem 2rem 3rem;color:#aaa;line-height:1.8}.page-title{font-size:1.4rem;color:#fff;margin-bottom:1.5rem;font-weight:700}.page-content p{margin-bottom:1rem}.page-content a{color:#58a6ff;text-decoration:none}.page-content a:hover{text-decoration:underline}.page-label{color:#555;display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:2px}.page-back{display:inline-block;margin-top:2rem;color:#555;text-decoration:none;font-size:.85rem}.page-back:hover{color:#aaa}.scene{position:fixed;top:0;left:0;width:100vw;height:100vh;height:100dvh;display:none}.scene.active{display:flex}#scene-glitch{background:#000;align-items:center;justify-content:center;flex-direction:column}.glitch-scanlines{position:fixed;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.15) 2px,rgba(0,0,0,.15) 4px);pointer-events:none;z-index:10}.glitch-content{text-align:center;z-index:5}.glitch-title{font-size:clamp(2rem,8vw,6rem);font-weight:900;color:#fff;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.glitch-title:before,.glitch-title:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-title:before{color:#ff0040;animation:glitch-r .3s infinite;clip-path:inset(0 0 50% 0)}.glitch-title:after{color:#0ff;animation:glitch-b .3s infinite;clip-path:inset(50% 0 0 0)}@keyframes glitch-r{0%{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-1px)}60%{transform:translate(-1px,1px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes glitch-b{0%{transform:translate(0)}20%{transform:translate(2px,-1px)}40%{transform:translate(-2px,2px)}60%{transform:translate(1px,-2px)}80%{transform:translate(-3px,1px)}to{transform:translate(0)}}.glitch-title:hover:before{animation:glitch-r-intense .15s infinite}.glitch-title:hover:after{animation:glitch-b-intense .15s infinite}@keyframes glitch-r-intense{0%{transform:translate(0)}20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-2px)}60%{transform:translate(-3px,4px)}80%{transform:translate(4px,-3px)}to{transform:translate(0)}}@keyframes glitch-b-intense{0%{transform:translate(0)}20%{transform:translate(5px,-3px)}40%{transform:translate(-4px,3px)}60%{transform:translate(3px,-4px)}80%{transform:translate(-6px,2px)}to{transform:translate(0)}}.glitch-burst:before{animation:glitch-r-intense .05s infinite!important;opacity:.8}.glitch-burst:after{animation:glitch-b-intense .05s infinite!important;opacity:.8}.glitch-burst{filter:invert(1);animation:none!important}.glitch-email{display:block;margin-top:1.5rem;font-size:clamp(.7rem,2vw,1rem);color:#555;text-decoration:none;position:relative}.glitch-email:before,.glitch-email:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch-email:before{color:#ff004066;animation:glitch-r .5s infinite;clip-path:inset(0 0 50% 0)}.glitch-email:after{color:#0ff6;animation:glitch-b .5s infinite;clip-path:inset(50% 0 0 0)}#scene-terminal{background:#0d1117;flex-direction:column}.terminal{width:100%;height:100%;padding:2rem;display:flex;flex-direction:column;overflow:hidden}.terminal-output{flex:1;overflow-y:auto;color:#00ff41;font-size:clamp(.8rem,1.8vw,1.1rem);line-height:1.6;white-space:pre-wrap;word-break:break-word}.terminal-output .line{margin-bottom:2px}.terminal-output .line.dim{color:#0a7a25}.terminal-output .line.input{color:#00ff41}.terminal-output .line.input:before{content:"$ "}.terminal-output .line.cmd-output{color:#0c3}.terminal-output .line.markdown{white-space:normal}.terminal-output .line.markdown a{color:#58a6ff;text-decoration:underline}.terminal-output .line.markdown strong,.terminal-output .line.markdown em{color:inherit}.terminal-output .line.markdown code{background:#161b22;padding:1px 5px;border-radius:3px}.terminal-output .line.markdown pre{background:#161b22;padding:8px 12px;border-radius:4px;margin:4px 0;overflow-x:auto}.terminal-output .line.markdown pre code{background:none;padding:0}.terminal-output .line.markdown ul,.terminal-output .line.markdown ol{margin:4px 0 4px 20px}.terminal-output .line.markdown ul{list-style:disc}.terminal-output .line.markdown ol{list-style:decimal}.terminal-output .line.markdown p{margin:.25em 0}.terminal-input-line{display:flex;align-items:flex-start;color:#00ff41;font-size:clamp(.8rem,1.8vw,1.1rem);font-family:inherit}.terminal-prompt{flex-shrink:0;padding-right:10px}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#00ff41;font-family:Courier New,monospace;font-size:16px;line-height:1.6;resize:none;overflow:hidden;padding:0;caret-color:#00ff41}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.thinking{animation:cursor-blink 1s step-end infinite}.terminal-tap-prompt{position:absolute;bottom:0;left:0;right:0;padding:2rem;text-align:center;color:#00ff41;font-family:Courier New,monospace;font-size:clamp(.9rem,2vw,1.1rem);animation:cursor-blink 1.5s step-end infinite;cursor:pointer;-webkit-tap-highlight-color:transparent}#scene-pixel{background:#1a1c2c;align-items:center;justify-content:center;flex-direction:column;image-rendering:pixelated}.pixel-sky{position:absolute;top:0;left:0;right:0;height:45%;display:flex;flex-direction:column}.pixel-sky-band{flex:1}.pixel-stars{position:absolute;top:3%;left:0;right:0;height:20%;z-index:1}.pixel-star{position:absolute;background:#f4f4f4;animation:twinkle 2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.pixel-ground{position:absolute;bottom:0;left:0;right:0;height:22%;background:#1a1c2c;z-index:1}.pixel-palm{position:absolute;bottom:38%;z-index:2}.pixel-palm-left{left:5%;transform:rotate(-8deg)}.pixel-palm-right{right:5%;transform:rotate(6deg)}.pixel-center{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center}.pixel-dog{display:grid;gap:0}.pixel-dog .px{width:100%;aspect-ratio:1}.pixel-dog-glint{position:absolute;background:#fff;opacity:0;z-index:10;pointer-events:none}.pixel-dog-glint.flash{animation:glint .4s ease-out}@keyframes glint{0%{opacity:0;transform:scale(1)}30%{opacity:1;transform:scale(1.8)}to{opacity:0;transform:scale(1)}}.pixel-title{font-family:monospace;font-size:clamp(20px,4vw,48px);color:#f4f4f4;text-shadow:4px 4px 0 #333;letter-spacing:4px;margin-top:12px}.pixel-start{font-family:monospace;font-size:clamp(14px,2.5vw,28px);color:#a26eba;margin-top:16px;cursor:pointer;animation:blink-start 1.5s step-end infinite;letter-spacing:3px;-webkit-user-select:none;user-select:none}@keyframes blink-start{0%,to{opacity:1}66%{opacity:0}}.scene.slide-up-out{display:flex!important;animation:slideUpOut .6s ease-out forwards}.scene.slide-up-in{display:flex!important;animation:slideUpIn .6s ease-out forwards}@keyframes slideUpOut{0%{transform:translateY(0)}to{transform:translateY(-100vh)}}@keyframes slideUpIn{0%{transform:translateY(100vh)}to{transform:translateY(0)}}.scene.crt-off-out{display:flex!important;animation:crtPowerOff .6s ease-in forwards;transform-origin:center center}@keyframes crtPowerOff{0%{transform:scale(1);filter:brightness(1);opacity:1}40%{transform:scaleY(.005);filter:brightness(3);opacity:1}70%{transform:scale(.1,.005);filter:brightness(5);opacity:1}90%{transform:scale(.02,.002);filter:brightness(8);opacity:.8}to{transform:scale(0);filter:brightness(10);opacity:0}}.scene.crt-off-in{display:flex!important;animation:crtPowerOn .5s ease-out forwards;transform-origin:center center}@keyframes crtPowerOn{0%{transform:scale(0,.005);filter:brightness(5);opacity:0}30%{transform:scale(.1,.005);filter:brightness(3);opacity:.8}60%{transform:scaleY(.005);filter:brightness(2);opacity:1}to{transform:scale(1);filter:brightness(1);opacity:1}}.crt-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:100;pointer-events:none;opacity:0;display:none}.crt-overlay.active{display:block;animation:crtZap .5s ease-in-out forwards}@keyframes crtZap{0%{opacity:0;clip-path:inset(0)}15%{opacity:1;clip-path:inset(0)}35%{opacity:1;clip-path:inset(48% 0 48% 0)}50%{opacity:1;clip-path:inset(49.5% 5% 49.5% 5%)}55%{opacity:.8;clip-path:inset(49.8% 15% 49.8% 15%)}60%{opacity:0;clip-path:inset(50% 50% 50% 50%)}61%{opacity:1;clip-path:inset(0)}70%{opacity:.9}to{opacity:0}}@media(prefers-reduced-motion:reduce){.glitch-title:before,.glitch-title:after,.glitch-email:before,.glitch-email:after{animation:none}.glitch-title:hover:before,.glitch-title:hover:after{animation:none}.glitch-burst:before,.glitch-burst:after{animation:none!important}.glitch-burst{filter:none}.pixel-star{animation:none;opacity:.6}.pixel-start,.thinking{animation:none;opacity:1}.scene.slide-up-out,.scene.slide-up-in,.scene.crt-off-out,.scene.crt-off-in,.crt-overlay.active{animation-duration:.01ms!important}}
