:root { --paper:#f8e9b6; --ink:#1c1723; --red:#d84238; --blue:#125a9c; --yellow:#ffd546; }
* { box-sizing:border-box; }
body { min-width:320px; min-height:100vh; margin:0; color:var(--ink); background-color:var(--paper); background-image:radial-gradient(#ddc888 1px,transparent 1px); background-size:7px 7px; font-family:"Courier New",Courier,monospace; }
.arcade { max-width:1080px; margin:0 auto; padding:clamp(24px,5vw,58px) 24px 32px; }
.game-header { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:22px; }
.eyebrow,.how-to,footer,.instruction { font-size:.72rem; font-weight:bold; letter-spacing:.08em; }
.eyebrow { margin:0 0 7px; color:var(--blue); }
h1 { margin:0; color:var(--red); font-family:Impact,"Arial Black",sans-serif; font-size:clamp(2.6rem,8vw,5.8rem); font-weight:400; letter-spacing:.035em; line-height:.72; text-shadow:4px 4px 0 var(--ink); }
h1 span { color:var(--blue); }
.how-to { flex:0 0 auto; padding:10px 0 2px; text-align:right; line-height:1.25; }
.how-to p { margin:0 0 6px; }.how-to b { padding:2px 5px; color:var(--paper); background:var(--ink); }
.game-shell { position:relative; padding:clamp(10px,2vw,17px); background:var(--ink); border:4px solid var(--ink); box-shadow:8px 8px 0 var(--red); }
.hud { display:flex; justify-content:space-between; gap:12px; padding:6px 4px 12px; color:var(--paper); font-size:clamp(.62rem,1.6vw,.85rem); font-weight:bold; letter-spacing:.06em; }
.hud p { margin:0; }.hud span { color:var(--yellow); }.hud .lives span { color:var(--red); letter-spacing:0; }
.screen-wrap { position:relative; aspect-ratio:3/2; overflow:hidden; border:3px solid var(--paper); background:#0b1640; }
.screen-wrap::after { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px); mix-blend-mode:screen; }
canvas { display:block; width:100%; height:100%; image-rendering:pixelated; }
.screen-message { position:absolute; inset:0; display:grid; place-content:center; gap:25px; text-align:center; color:var(--paper); background:rgba(11,22,64,.72); font-size:clamp(.9rem,2.5vw,1.35rem); font-weight:bold; letter-spacing:.08em; }
.screen-message[hidden] { display:none; }
.screen-message p { margin:0; }.upgrade-copy { max-width:420px; font-size:.72rem; line-height:1.6; }.coin-reward { color:var(--yellow); font-size:1rem; }.upgrade-buttons { display:grid; gap:15px; } button { justify-self:center; padding:12px 18px; border:3px solid var(--paper); color:var(--ink); background:var(--yellow); font:inherit; font-size:.8rem; font-weight:bold; cursor:pointer; box-shadow:4px 4px 0 var(--red); }
button[disabled] { cursor:not-allowed; color:#706b61; background:#c7bea4; box-shadow:none; }
button:hover,button:focus-visible { background:var(--paper); outline:none; transform:translate(2px,2px); box-shadow:2px 2px 0 var(--red); }.blink { animation:blink .8s steps(2,start) infinite; }.instruction { margin:15px 0 0; color:var(--paper); text-align:center; } footer { padding-top:30px; text-align:center; }
@keyframes blink { 50% { opacity:0; } }
@media (max-width:560px) { .game-header { align-items:start; flex-direction:column; }.how-to { text-align:left; }.game-shell { box-shadow:5px 5px 0 var(--red); } }
