:root{--mc:"Jersey 10", "Pixelify Sans", monospace;--px:"Press Start 2P", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#fff;font-family:var(--mc);-webkit-font-smoothing:none;background:#000;font-size:24px;overflow:hidden}.loading{z-index:10;background:#cc0538;flex-direction:column;justify-content:center;align-items:center;gap:22vh;transition:opacity .6s;display:flex;position:fixed;inset:0}.loading.leaving{opacity:0;pointer-events:none}.loading-logo{font-family:var(--px);color:#f2f2f2;letter-spacing:.08em;text-align:center;text-shadow:6px 6px #00000040;padding:0 4vw;font-size:clamp(16px,4vw,52px)}.loading-bar{border:3px solid #1a0008;width:min(600px,70vw);height:24px;padding:3px}.loading-fill{background:#fff;height:100%;transition:width .12s linear}.menu{animation:.8s both fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.panorama{position:absolute;inset:0;overflow:hidden}.panorama-image{object-fit:cover;width:180%;height:100%;image-rendering:pixelated;filter:saturate(1.18)contrast(1.1);opacity:0;will-change:transform;max-width:none;transition:opacity 2s;animation:28s ease-in-out infinite alternate photo-pan;position:absolute;top:0;left:0}.panorama-image.active{opacity:1}@keyframes photo-pan{0%{transform:translate(0)}to{transform:translate(-44.4444%)}}@media (prefers-reduced-motion:reduce){.panorama-image{transition:none;animation:none;transform:translate(-22.2222%)}}.vignette{background:radial-gradient(#0000 55%,#00000073);position:absolute;inset:0}.logo-wrap{text-align:center;width:min(72vw,720px);margin:0 auto;padding-top:7vh;position:relative}.mc-logo{filter:drop-shadow(0 8px 6px #00000073);width:100%;margin:0 auto;font-size:0;display:block}.logo-svg{width:100%;height:auto;display:block}.mc-edition{filter:drop-shadow(0 5px 4px #00000073);width:46%;margin:-1.2% auto 0;font-size:0}.splash{color:#ff0;text-shadow:3px 3px #3f3f00;white-space:nowrap;font-size:clamp(22px,3.2vw,40px);animation:1s ease-in-out infinite alternate pulse;position:absolute;top:calc(7vh + 62%);right:3%;transform:rotate(-20deg)}@keyframes pulse{0%{transform:rotate(-20deg)scale(1)}to{transform:rotate(-20deg)scale(1.1)}}.buttons{flex-direction:column;gap:10px;width:min(450px,90vw);display:flex;position:absolute;top:39vh;left:50%;transform:translate(-50%)}.row{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.mc-btn{font-family:var(--mc);color:#e0e0e0;text-shadow:3px 3px #3e3e3e;cursor:pointer;height:48px;image-rendering:pixelated;background:#6f6f6f;border:3px solid #000;justify-content:center;align-items:center;font-size:28px;text-decoration:none;display:flex;box-shadow:inset 3px 3px #a0a0a0,inset -3px -3px #3d3d3d}.mc-btn.wide{width:100%}.mc-btn.half{flex:1}.mc-btn:hover,.mc-btn:focus-visible{color:#ffffa0;outline-offset:-3px;text-shadow:3px 3px #3f3f28;background:#7d86b8;outline:3px solid #fff}.mc-btn:active{box-shadow:inset 3px 3px #3d3d3d,inset -3px -3px #a0a0a0}.icon-btn{flex:none;width:48px}.foot{text-shadow:2px 2px #3f3f3f;justify-content:space-between;font-size:20px;display:flex;position:absolute;bottom:6px;left:8px;right:8px}.screen{background:linear-gradient(#0000008c, #0000008c), conic-gradient(#7a5535 25%, #6a4a2e 0 50%, #7a5535 0 75%, #5e4228 0) 0 0 / 32px 32px;flex-direction:column;align-items:center;animation:.4s both fade-in;display:flex;position:fixed;inset:0}.screen-title{font-family:var(--px);text-shadow:3px 3px #000;margin:4vh 0 2vh;font-size:clamp(16px,3vw,28px)}.list{background:#0000008c;border:3px solid #000;border-top-color:#222;flex:1;width:min(760px,92vw);padding:8px;overflow-y:auto}.entry{color:#fff;border:3px solid #0000;gap:16px;margin-bottom:8px;padding:12px;text-decoration:none;display:flex}.entry.link:hover{background:#ffffff0f;border-color:#fff}.entry h3{color:#ffff80;margin:0 0 2px;font-size:30px;font-weight:400}.entry p{color:#ddd;margin:8px 0 0}.entry ul{color:#ddd;margin:8px 0 0;padding-left:24px}.entry li{margin-bottom:6px}.dim{color:#9a9a9a}.empty-state{text-align:center;color:#aaa;margin:24px}.resume-link{gap:8px;width:max-content;margin:4px 12px 12px auto;padding:0 16px}.photo{width:96px;height:96px;image-rendering:pixelated;object-fit:cover;border:3px solid #000;flex:none}.photo.placeholder{color:#888;background:#444;justify-content:center;align-items:center;font-size:48px;display:flex}.screen-foot{width:min(450px,90vw);padding:14px 0 18px}.logo-img{width:100%;height:auto;image-rendering:pixelated;display:block}
