@font-face{font-family:Bookman;src:url('assets/font-2.woff2') format('opentype');font-display:swap;font-weight:700}
@font-face{font-family:Nimbus;src:url('assets/font-3.woff2') format('opentype');font-display:swap;font-weight:700}
:root{--green:#123f32;--dark:#09281f;--cream:#fff1cd;--yellow:#edb845;--orange:#c65231;--white:#fff9e9}*{box-sizing:border-box}body{margin:0;background:var(--green);color:var(--cream);font-family:Arial,Helvetica,sans-serif;background-image:radial-gradient(ellipse at 50% 0%,#245847 0%,transparent 65%)}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,canvas:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}button:disabled{cursor:wait;opacity:.7}.arcade{max-width:1320px;margin:0 auto;padding:22px 30px 28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 3px 20px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{font-family:Bookman,Georgia,serif;font-size:32px;border-right:1px solid #fff1cd55;padding-right:16px;letter-spacing:-3px}.brand strong{font-family:Bookman,Georgia,serif;font-size:19px;display:block}.brand div>span{font-size:10px;font-weight:bold;letter-spacing:2px;display:block;margin-top:5px}.utilities{display:flex;gap:8px}.utilities button{border:1px solid #fff1cd66;border-radius:5px;background:transparent;color:var(--cream);padding:9px 12px;font-size:14px}.utilities button:hover{background:#fff1cd15}.cabinet{border:8px solid var(--dark);border-radius:16px;box-shadow:0 1px 0 2px #76936c,0 20px 60px #00160d77;overflow:hidden;background:var(--dark)}.stage{aspect-ratio:16/9;position:relative;overflow:hidden;background:#133b2e;isolation:isolate}canvas{display:block;width:100%;height:100%;touch-action:none}.screen{position:absolute;inset:0;z-index:4}.hidden{display:none!important}.menu{background:linear-gradient(90deg,#123f32fc 0%,#123f32f5 37%,#123f32bb 63%,#123f3233 100%);display:flex;align-items:center;padding:6%}.menu-copy{position:relative;z-index:2;max-width:66%}.kicker{font-family:Nimbus,Arial,sans-serif;font-size:17px;font-weight:bold;letter-spacing:3px;margin:0 0 18px}h1{font-family:Bookman,Georgia,serif;font-size:clamp(42px,6.8vw,84px);letter-spacing:-4px;line-height:.97;margin:0;color:var(--cream);text-shadow:3px 4px 0 #071e17}h1 em{color:var(--yellow);font-style:normal}.premise{font-size:19px;line-height:1.5;margin:22px 0}.primary{font-family:Nimbus,Arial,sans-serif;font-size:22px;font-weight:bold;letter-spacing:1px;padding:15px 35px;border:2px solid #09281f;background:var(--yellow);color:var(--dark);border-radius:7px;box-shadow:0 5px 0 #09281f;min-height:54px;transition:transform .12s,box-shadow .12s}.primary:hover{background:#ffd473;transform:translateY(-2px);box-shadow:0 7px 0 #09281f}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #09281f}.menu-note{font-size:13px;color:#dedac4;line-height:1.4;margin:14px 0 0}.menu-goldy{position:absolute;width:38%;height:82%;right:4%;bottom:5%;object-fit:contain;transform:rotate(7deg);filter:drop-shadow(10px 14px 0 #09281f55);animation:float 4s ease-in-out infinite}.episode{position:absolute;bottom:20px;left:6%;right:5%;font-family:Nimbus,Arial,sans-serif;font-weight:bold;letter-spacing:2px;font-size:12px;display:flex;justify-content:space-between;color:#fff1cdb0}.hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:24px;padding:20px 24px;background:linear-gradient(#123f32fa,#123f32cb,transparent);z-index:2;color:var(--cream);pointer-events:none;text-shadow:1px 2px #09281f}.hud-label{font-family:Nimbus,Arial,sans-serif;font-size:16px;letter-spacing:1px;font-weight:700;display:block}.hearts{color:var(--yellow);font-size:25px;letter-spacing:5px;white-space:nowrap}.boss-status{width:33%;margin:auto}.boss-status .hud-label{text-align:center;font-size:14px}.boss-track{margin-top:8px;height:13px;background:#09281f;border:2px solid var(--cream);border-radius:9px;overflow:hidden}.boss-track>div{height:100%;background:var(--orange);width:100%;transition:width .1s}.score-status{text-align:right}#score{font-family:Nimbus,Arial,sans-serif;font-size:24px;letter-spacing:2px}.hud button{pointer-events:auto;width:42px;height:42px;color:var(--cream);border:1px solid #fff1cd77;border-radius:50%;background:var(--green);font-weight:bold;font-size:20px}.control-deck{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--cream);color:var(--green);border-top:5px solid var(--dark)}.keyboard-help{display:flex;gap:20px;align-items:center;font-size:14px;flex-wrap:wrap}.keyboard-help>span{display:flex;align-items:center;gap:5px}.keyboard-help small{font-size:12px;color:#44624c}.edition{font-family:Bookman,Georgia,serif;font-size:15px;white-space:nowrap}kbd{font-family:Arial,sans-serif;font-size:11px;background:#fff8e9;box-shadow:0 2px 0 #c0b9a4;border:1px solid #bcbaa8;border-radius:3px;min-width:21px;padding:5px;text-align:center}.under-game{display:flex;justify-content:space-between;gap:24px;font-size:13px;color:#d6dfc8;padding:19px 3px 0;line-height:1.5}.under-game p{margin:0;max-width:720px}.under-game span{white-space:nowrap}.modal{display:grid;place-items:center;background:#09281faa;backdrop-filter:blur(4px)}.paper{background:var(--cream);color:var(--green);padding:36px 48px;border:3px solid var(--green);border-radius:9px;text-align:center;box-shadow:7px 9px 0 #071e17;max-width:90%;transform:rotate(-1deg)}.paper .kicker{font-size:14px;margin-bottom:14px}.paper h2{font-family:Bookman,Georgia,serif;font-size:50px;line-height:1.1;margin:0 0 12px;letter-spacing:-2px}.paper p{font-size:17px;margin:0 0 24px;line-height:1.4}.text-button{display:block;margin:18px auto 0;background:none;border:0;color:var(--green);font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:5px}.result-stats{display:flex;gap:36px;justify-content:center;border-top:1px solid #123f3255;border-bottom:1px solid #123f3255;padding:17px 0;margin:20px 0 24px}.result-stats span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:7px}.result-stats strong{font-family:Bookman,Georgia,serif;font-size:27px}.vignette{position:absolute;inset:0;z-index:5;pointer-events:none;box-shadow:inset 0 0 80px #09281f33}.touch-controls{display:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.arcade:fullscreen{max-width:none;padding:10px;background:var(--green);display:flex;flex-direction:column;justify-content:center;align-items:center}.arcade:fullscreen .cabinet{width:min(100%,calc((100dvh - 160px)*1.778))}.arcade:fullscreen .topbar{width:min(100%,calc((100dvh - 160px)*1.778))}.arcade:fullscreen .under-game{display:none}@keyframes float{50%{transform:translateY(-8px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.menu-goldy{animation:none}.primary{transition:none}}
@media(pointer:coarse){.keyboard-help{display:none}.touch-controls{display:flex;width:100%;gap:15px;align-items:center;justify-content:flex-end}.movement{display:flex;gap:10px;margin-right:auto}.touch-controls button{min-height:54px;min-width:64px;border:2px solid var(--green);border-radius:10px;box-shadow:0 3px 0 var(--green);background:var(--white);color:var(--green);font-family:Nimbus,Arial,sans-serif;font-weight:700;font-size:19px;touch-action:none;position:relative;overflow:hidden}.touch-controls button:active,.touch-controls .held{transform:translateY(2px);box-shadow:0 1px 0 var(--green)}.touch-controls .jump{background:var(--green);color:var(--cream);padding:0 23px}.touch-controls .coffee{padding:0 15px;background:#e6dec4}.coffee span{position:relative;z-index:1}.coffee i{position:absolute;left:0;bottom:0;height:100%;width:0%;background:var(--yellow);transition:width .2s}.coffee.ready{box-shadow:0 3px 0 var(--green),0 0 0 3px var(--yellow)}.edition{display:none}.control-deck{padding:14px 18px}}
@media(max-width:700px){.arcade{padding:15px 10px 22px}.topbar{padding:0 3px 15px;gap:10px}.brand-mark{font-size:26px;padding-right:11px}.brand{gap:9px}.brand strong{font-size:16px}.brand div>span{font-size:9px;letter-spacing:1px}.utilities{gap:5px}.utilities button{font-size:12px;padding:9px}.cabinet{border-width:5px;border-radius:12px}.stage{aspect-ratio:6/5}.menu{padding:7%;background:linear-gradient(90deg,#123f32fc,#123f32ed 60%,#123f3277)}.menu-copy{max-width:90%}.kicker{font-size:12px;letter-spacing:2px;margin-bottom:12px}h1{font-size:clamp(34px,9.5vw,58px);letter-spacing:-2px}.premise{font-size:14px;margin:15px 0}.primary{font-size:18px;min-height:46px;padding:11px 22px}.menu-goldy{width:35%;height:46%;right:0;bottom:11%;opacity:.55;z-index:0}.episode{bottom:12px;font-size:9px;letter-spacing:1px}.menu-note{font-size:11px;margin-top:11px;max-width:210px}.control-deck{padding:12px 10px}.touch-controls{gap:9px}.touch-controls button{min-width:46px;min-height:50px;font-size:16px}.touch-controls .jump{padding:0 16px}.touch-controls .coffee{padding:0 12px}.movement{gap:7px}.under-game{font-size:12px;display:block;padding:14px 5px 0}.under-game span{display:block;margin-top:8px;color:#a9c2a7}.hud{padding:12px 11px;gap:10px}.hud-label{font-size:11px}.hearts{font-size:17px;letter-spacing:2px}.boss-status{width:34%}.boss-status .hud-label{font-size:9px;letter-spacing:0}.boss-track{height:9px;margin-top:5px}#score{font-size:18px}.hud button{width:32px;height:32px;font-size:15px}.paper{padding:22px}.paper h2{font-size:32px;letter-spacing:-1px}.paper p{font-size:14px;margin-bottom:15px}.paper .kicker{font-size:11px;margin-bottom:9px}.result-stats{gap:25px;margin:12px 0 16px;padding:12px 0}.result-stats strong{font-size:22px}.result-stats span{font-size:9px}.text-button{margin-top:12px;font-size:12px}.keyboard-help{gap:10px;font-size:11px}.keyboard-help small{display:none}.edition{display:none}}
@media(max-height:550px) and (orientation:landscape){.arcade{padding:5px 12px}.topbar{padding-bottom:7px}.brand strong{font-size:14px}.brand div>span{display:none}.brand-mark{font-size:22px}.utilities button{padding:5px 9px}.cabinet{max-width:calc((100dvh - 95px)*1.778);margin:auto}.control-deck{padding:7px 12px}.touch-controls button{min-height:35px;min-width:48px;font-size:14px}.under-game{display:none}.menu .kicker{font-size:11px;margin-bottom:10px}h1{font-size:43px;letter-spacing:-2px}.premise{font-size:13px;margin:12px 0}.menu .primary{font-size:15px;padding:8px 23px;min-height:34px}.menu-note{font-size:10px;margin-top:10px}.episode{font-size:8px;bottom:10px}.paper{padding:18px 30px}.paper h2{font-size:32px}.paper p{font-size:13px;margin-bottom:12px}.result-stats{margin:10px 0;padding:9px}.result-stats strong{font-size:20px}}
