:root{color-scheme:dark;font-family:Lucida Console,Courier New,monospace;background:#101218;color:#f4f0dc;--ink: #101218;--panel: #1c2027;--panel-light: #292e37;--paper: #f4f0dc;--red: #ed3636;--yellow: #ffd447;--blue: #4c8cff;--green: #67ce67;--border: #050608}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:#101218}body{min-width:320px;min-height:100vh;min-height:100dvh;margin:0;padding:clamp(12px,3vw,36px) max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background-color:var(--ink);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:24px 24px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:10px 14px;color:var(--ink);background:var(--yellow);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.arcade{width:min(100%,980px);margin:0 auto}.arcade__header{min-height:64px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:8px 2px 14px;border-bottom:2px solid var(--panel-light)}.brand{min-width:0;display:flex;align-items:center;gap:12px}.brand__mark{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;color:#fff;background:var(--red);border:3px solid var(--border);box-shadow:4px 4px 0 var(--yellow);font-family:Impact,Arial Black,sans-serif;font-size:25px;line-height:1}.brand__copy{min-width:0;display:grid;gap:3px}.brand__copy strong{overflow:hidden;font-family:Impact,Arial Black,sans-serif;font-size:22px;font-weight:400;line-height:1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.brand__copy small,.record span,.arcade__footer,.legal{color:#9ca3af;font-size:10px;line-height:1.4}.record{display:grid;gap:4px;text-align:right}.record strong{color:var(--yellow);font-size:17px;font-variant-numeric:tabular-nums}.toolbar{display:flex;gap:8px}.icon-button,.control-button{display:grid;place-items:center;color:var(--paper);background:var(--panel-light);border:2px solid var(--border);border-radius:4px;box-shadow:0 3px 0 var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.icon-button{width:38px;height:38px;font-size:18px}.icon-button:hover,.icon-button:focus-visible{color:var(--yellow);background:#363c47}.icon-button:active,.control-button.is-pressed,.control-button:active{transform:translateY(3px);box-shadow:none}.icon-button[aria-pressed=true]{color:var(--ink);background:var(--yellow)}.cabinet{margin-top:18px;padding:clamp(8px,1.5vw,14px);background:var(--panel);border:3px solid var(--border);border-radius:6px;box-shadow:0 10px #07080b,0 18px 36px #00000059}.screen{position:relative;width:100%;overflow:hidden;background:#050608;border:clamp(5px,1vw,10px) solid #050608;border-radius:3px;aspect-ratio:4 / 3}canvas{width:100%;height:100%;display:block;image-rendering:pixelated;outline:none}canvas:focus-visible{box-shadow:inset 0 0 0 4px var(--yellow)}.screen__glass{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,rgba(7,11,18,.09) 4px);mix-blend-mode:multiply}.game-action{position:absolute;z-index:2;left:50%;bottom:17%;transform:translate(-50%);transition:opacity .16s ease,visibility .16s ease}body[data-game-state=playing] .game-action{visibility:hidden;opacity:0;pointer-events:none}.start-button{min-width:176px;min-height:48px;padding:10px 20px;color:#fff;background:var(--red);border:3px solid var(--border);border-radius:4px;box-shadow:0 5px 0 var(--border),inset 0 0 0 2px #ffffff2e;font-weight:700;cursor:pointer}.start-button:hover,.start-button:focus-visible{background:#ff4f4f;outline:3px solid var(--yellow);outline-offset:3px}.start-button:active{transform:translateY(4px);box-shadow:0 1px 0 var(--border)}.mobile-controls{display:none;min-height:104px;align-items:center;justify-content:space-between;gap:24px;padding:16px 8px 2px}.d-pad,.action-pad{display:flex;align-items:center;gap:12px}.action-pad{align-items:flex-end}.control-button{width:64px;height:58px;font-size:24px;font-weight:700}.control-button--direction{background:#353b45}.control-button--action{width:62px;height:62px;color:#fff;background:var(--red);border-radius:50%}.control-button--fire{width:52px;height:52px;background:var(--blue)}.arcade__footer{display:flex;justify-content:space-between;gap:16px;padding:20px 4px 0}.arcade__footer a{color:var(--green);text-decoration:none}.arcade__footer a:hover,.arcade__footer a:focus-visible{color:var(--yellow);text-decoration:underline}.legal{width:min(100%,980px);margin:10px auto 0;padding:0 4px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (hover: none),(pointer: coarse),(max-width: 720px){body{display:block}.mobile-controls{display:flex}}@media (max-width: 560px){body{padding-top:8px}.arcade__header{grid-template-columns:1fr auto;gap:12px;padding-bottom:10px}.brand__mark{width:36px;height:36px;flex-basis:36px;font-size:21px;box-shadow:3px 3px 0 var(--yellow)}.brand__copy strong{font-size:18px}.record{display:none}.toolbar{gap:5px}.icon-button{width:34px;height:34px;font-size:16px}.cabinet{margin-top:10px;padding:6px 6px 10px;box-shadow:0 7px #07080b}.mobile-controls{min-height:92px;gap:16px;padding:14px 2px 0}.d-pad,.action-pad{gap:8px}.control-button{width:clamp(48px,14vw,58px);height:clamp(48px,14vw,56px)}.control-button--action{width:clamp(50px,15vw,60px);height:clamp(50px,15vw,60px)}.control-button--fire{width:clamp(44px,13vw,52px);height:clamp(44px,13vw,52px)}.start-button{min-width:144px;min-height:42px;font-size:14px}.arcade__footer{padding-top:14px}.legal{margin-top:7px;font-size:9px}}@media (max-height: 620px) and (orientation: landscape){body{display:block;padding:4px 8px}.arcade{width:min(100%,760px)}.arcade__header,.arcade__footer,.legal{display:none}.cabinet{margin:0;padding:4px}.mobile-controls{position:absolute;inset:auto 8px 10px;min-height:0;padding:0;pointer-events:none}.control-button{opacity:.78;pointer-events:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
