@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}:root{font-family:"Press Start 2P",monospace;color:#fff;background:#152b3b;font-synthesis:none;--panel: #102738ed;--gold: #ffe277}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{cursor:default;opacity:.4}[inert]{pointer-events:none}#app{position:relative;width:100%;height:100svh;min-height:320px;overflow:hidden}#world{position:absolute;inset:0;width:100%;height:100%;background:#83ccdf}.hud{position:absolute;inset:0;z-index:2;pointer-events:none;font-size:18px;line-height:1.8;text-shadow:2px 2px #152b3b,-1px -1px #152b3b}.hud-label{display:block;font-size:11px;margin-bottom:5px}.collection-display{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left))}.coin-mini{color:var(--gold)}.year-display{position:absolute;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));text-align:right;font-size:36px;line-height:1.2}.latest-pickup{position:absolute;top:112px;left:24px;color:var(--gold);font-size:11px}.latest-pickup:empty{display:none}.game-button{border:3px solid #fff;background:#102738d9;border-radius:0;box-shadow:3px 3px #10212c;text-shadow:1px 1px #10212c}.game-button:hover,.game-button:focus-visible{color:var(--gold);border-color:var(--gold)}.game-button:active,.game-button.is-held{transform:translate(2px,2px);box-shadow:1px 1px #10212c;background:#254e63ed}.skip-button{position:absolute;z-index:4;top:110px;right:max(24px,env(safe-area-inset-right));min-height:44px;padding:10px 12px;font-size:9px}.forward-button{position:absolute;z-index:4;bottom:max(28px,env(safe-area-inset-bottom));right:max(28px,env(safe-area-inset-right));width:72px;height:64px;font-size:30px;touch-action:none;user-select:none}.intro{position:absolute;z-index:3;top:22%;left:50%;transform:translate(-50%);width:min(640px,calc(100% - 40px));padding:28px 30px;background:var(--panel);border:3px solid #fff;box-shadow:5px 5px #10212c;text-align:center}.intro h1{margin:0 0 26px;color:var(--gold);font-size:clamp(22px,3.3vw,38px);line-height:1.4;text-shadow:3px 3px #10212c}.intro-copy,.intro-invitation{margin:0 auto 18px;max-width:530px;font-size:11px;line-height:2.1}.intro-invitation{color:#c2ecc3;font-size:10px}.intro-hint{color:var(--gold);font-size:11px;line-height:2;margin:24px 0 0}.finale-shell{position:absolute;z-index:5;inset:0;display:none;pointer-events:none}.finale-intro{position:absolute;top:clamp(100px,26vh,300px);left:4vw;width:min(540px,43vw);padding:28px;background:var(--panel);border:3px solid #fff;box-shadow:5px 5px #10212c;text-align:center;pointer-events:auto}.finale-intro h2{color:var(--gold);font-size:30px;line-height:1.5;margin:0 0 20px}.finale-intro .intro-copy{margin-bottom:0}.street-sign{position:absolute;z-index:3;display:none;left:var(--sign-x);top:calc(var(--sign-ground) - var(--sign-post));transform:translate(-50%,-100%);width:var(--sign-width);padding:16px 18px;border:5px solid #f4f1dc;background:#174f46;color:#fffdf0;box-shadow:0 0 0 3px #1c3535,5px 5px #102c2933;text-align:center}.street-sign.is-near{display:block}body[data-state=fallback] .street-sign:before,body[data-state=fallback] .street-sign:after{content:"";position:absolute;top:calc(100% + 5px);width:12px;height:var(--sign-post, 64px);background:linear-gradient(to right,#5e7171 0 4px,#c0cec4 4px 8px,#657977 8px);box-shadow:3px 0 #17382c40;pointer-events:none}.street-sign:before{left:22%}.street-sign:after{right:22%}.street-sign:focus{outline:none}body[data-state=finale] .street-sign{display:block;z-index:4}.project-links{display:grid;gap:3px;text-align:left}.personal-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.personal-links>:only-child{grid-column:1 / -1}.projects-heading{margin:6px 0;font-size:9px;line-height:1.5;color:var(--gold);text-align:left}.project-link{display:flex;align-items:center;gap:12px;padding:10px 2px;min-height:44px;font-size:11px;line-height:1.7;text-decoration:none;border-bottom:1px solid #ffffff30}.menu-pointer{color:#fffdf0;font-size:12px}.project-link:hover,.project-link:focus-visible{color:var(--gold);background:#ffffff0c}.project-link:hover .menu-pointer,.project-link:focus-visible .menu-pointer{color:var(--gold)}.replay-button{margin:14px auto 0;padding:10px 12px;min-height:44px;font-size:9px}.fallback-note{display:none;font-size:10px;line-height:2}.loading-note{position:absolute;z-index:6;bottom:18%;left:50%;transform:translate(-50%);padding:14px;margin:0;background:var(--panel);font-size:10px;line-height:1.8;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body:not([data-state=loading]) .loading-note{display:none}body:not([data-state=intro]):not([data-state=loading]) .intro{display:none}body[data-state=finale] .finale-shell,body[data-state=fallback] .finale-shell{display:block}body[data-state=finale] .forward-button,body[data-state=finale] .skip-button,body[data-state=fallback] .hud,body[data-state=fallback] .forward-button,body[data-state=fallback] .skip-button,body[data-state=finale] .year-display,body[data-state=finale] .latest-pickup{display:none}body[data-state=finale] .hud{z-index:6}body[data-state=finale] .collection-display{min-height:44px;padding:8px 10px;background:var(--panel);border:2px solid #fff;font-size:12px}body[data-state=finale] .collection-display .hud-label{display:inline;margin:0 10px 0 0;font-size:9px}body[data-state=pipe-transition] .skip-button,body[data-state=pipe-transition] .forward-button{visibility:hidden}body[data-state=fallback] .fallback-note{display:block}body[data-state=fallback] #replay{display:none}body[data-state=fallback] #app{overflow:auto}body[data-state=fallback] .finale-shell{position:relative;padding:24px 20px}body[data-state=fallback] .finale-intro{position:static;width:min(540px,100%);margin:auto}body[data-state=fallback] .street-sign{display:block;position:relative;inset:auto;transform:none;width:min(340px,calc(100% - 40px));margin:24px auto 100px}@media(max-width:600px){.hud{font-size:14px}.hud-label{font-size:9px}.collection-display{top:max(18px,env(safe-area-inset-top));left:18px}.year-display{top:max(18px,env(safe-area-inset-top));right:18px;font-size:28px}.skip-button{top:92px;right:18px;font-size:8px}.latest-pickup{top:96px;left:18px;font-size:9px;max-width:170px;line-height:1.8}.intro{top:25%;padding:24px 18px}.intro h1{font-size:24px;margin-bottom:22px}.intro-copy{font-size:9px;line-height:2}.intro-invitation{font-size:8px}.intro-hint{font-size:8px;margin-top:18px}.forward-button{right:20px;bottom:max(22px,env(safe-area-inset-bottom));width:64px;height:58px;font-size:26px}.project-link{font-size:10px;padding:11px 6px}}@media(max-height:500px){.intro{top:19%;width:min(540px,calc(100% - 180px));padding:15px 20px}.intro h1{font-size:24px;margin-bottom:10px}.intro-copy{font-size:9px;margin-bottom:8px}.intro-invitation{font-size:8px;margin-bottom:8px}.intro-hint{font-size:9px;margin-top:10px}.hud{font-size:14px}.hud-label{font-size:9px}.skip-button{top:88px}.year-display{font-size:28px}.project-link{font-size:9px;padding:8px 4px}.replay-button{font-size:9px;margin-top:10px}}.collection-display{pointer-events:auto;border:0;padding:0;background:none;color:inherit;font:inherit;line-height:inherit;text-shadow:inherit;text-align:left}.collection-display:hover{color:var(--gold)}.powerups-dialog{width:min(960px,calc(100% - 32px));max-height:calc(100svh - 40px);margin:auto;padding:0;border:4px solid #fff;color:#fff;background:#102738;box-shadow:6px 6px #10212c;scrollbar-color:#809da5 #102738}.powerups-dialog::backdrop{background:#061421b8}.dialog-heading{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:2px solid #ffffff40;background:#102738}.dialog-heading h2{margin:0 0 12px;color:var(--gold);font-size:16px;line-height:1.5}.dialog-heading p{margin:0;font-size:9px;color:#c2ecc3;line-height:1.8}#close-powerups{flex:0 0 44px;height:44px;font-size:24px}.powerups-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;list-style:none;padding:18px 22px;margin:0}.powerups-list li{display:flex;gap:14px;align-items:center;min-height:60px;padding:7px 4px}.powerups-list img,.logo-placeholder{flex:0 0 32px;width:32px;height:32px;object-fit:contain;padding:3px;background:#fff9e8}.logo-placeholder{display:grid;place-items:center;color:#20372f;font-size:16px}.powerup-name{display:block;font-size:10px;line-height:1.8;overflow-wrap:anywhere}.powerups-list [data-collected=false] img{opacity:.6}@media(min-width:900px){.powerups-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.finale-intro{padding:20px 16px}.finale-intro h2{font-size:24px;margin-bottom:16px}.finale-intro .intro-copy{font-size:9px}}@media(max-width:600px){.finale-intro{top:68px;left:20px;width:calc(100% - 40px);padding:10px 16px}.finale-intro h2{font-size:22px;margin-bottom:10px}.finale-intro .intro-copy{font-size:9px;line-height:1.8}.street-sign{padding:6px 12px}.street-sign .projects-heading{margin:4px 0}.street-sign .project-link{font-size:9px;padding:8px 0;gap:9px}.street-sign .replay-button{margin-top:8px;font-size:8px}}@media(max-width:600px){.powerups-list{grid-template-columns:1fr;gap:0;padding:12px 16px}.dialog-heading{padding:16px}.dialog-heading h2{font-size:13px}}@media(max-height:500px)and (min-width:761px){.street-sign{padding:8px 12px}.street-sign .projects-heading{margin:4px 0}.street-sign .replay-button{margin-top:8px}.finale-intro{top:105px;padding:18px}.finale-intro h2{font-size:23px;margin-bottom:15px}.finale-intro .intro-copy{font-size:9px}}
