/* The cabinet has its own pixel material language inside the business website. */
@font-face{font-family:'Press Start 2P';src:url('/assets/fonts/press-start-2p.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--pixel:'Press Start 2P',monospace;--cabinet:#14283c;--steel:#315574;--rim:#83a9c2;--gold:#ffcf65;--mint:#89e8a9}
.machine{position:relative;border:4px solid #071522;box-shadow:0 4px 0 #071522,0 8px 0 #ccd9e5,inset 0 0 0 3px #53738c;background:var(--cabinet);padding:4px}
.cabinet-marquee{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;color:#bcd9f1;background:#203e59;border:2px solid #476c89;border-bottom-color:#0b1827;font:7px/1.5 var(--pixel);letter-spacing:0}
.cabinet-marquee span{color:var(--gold)}.cabinet-marquee b{font-weight:400;color:#9dbbd2}
.hud{height:94px;padding:13px 10px 10px;grid-template-columns:1.2fr 1fr 1.1fr;gap:8px;background:#142a40;border:2px solid #071522;border-top:3px solid #547793;box-shadow:inset 0 -3px #0a1b2c;color:#eff6ff}
.hud>div{min-width:0}.hud .hud-label{font:7px/1.5 var(--pixel);color:#a7c5dc;letter-spacing:0;margin:0 0 12px}
.hud strong{display:block;font:17px/1.2 var(--pixel);font-weight:400;letter-spacing:-.5px;color:#ffdc87;text-shadow:2px 2px #050e19}
.hud-center strong{font-size:13px;letter-spacing:-.5px;color:#a1dbff;padding-top:3px}
.hud small{display:block;margin-top:10px;font:6px/1.4 var(--pixel);letter-spacing:0;color:#789bb8;white-space:nowrap}
.health-hearts{display:flex;justify-content:flex-end;gap:5px;min-height:24px}
.pixel-heart{display:block;width:28px;height:23px;flex:0 0 auto;filter:drop-shadow(0 2px 0 #050e19)}
.heart-outline{fill:#641f3f}.heart-fill{fill:#ff6280}.heart-shine{fill:#ffd1ce}
.pixel-heart.empty .heart-outline{fill:#3a526a}.pixel-heart.empty .heart-fill{fill:#1c3046}.pixel-heart.empty .heart-shine{fill:#31475c}
.health-hearts.critical .pixel-heart:not(.empty) .heart-fill{fill:#ff9a5e}
.hud .shield-status{display:flex;justify-content:flex-end;align-items:center;gap:5px;color:#7392ac;margin:5px 0 0;font:6px/1 var(--pixel);letter-spacing:0}
.shield-status svg{width:9px;height:10px}.shield-status b{font-weight:400}.hud .shield-status.active{color:#8feaff}
.score-strip{min-height:34px;padding:9px 10px;gap:6px;background:#0a192a;border:2px solid #314e67;border-top:0;color:#d5e8f7;font:9px/1.4 Arial,sans-serif}
.score-strip b{color:var(--gold);font-size:9px;letter-spacing:0}.stage{border-left:2px solid #071522;border-right:2px solid #071522}
.boss-hud{position:absolute;z-index:1;top:8px;left:10px;right:10px;padding:8px 9px;background:#101c30ef;border:2px solid #bc7954;box-shadow:0 3px #070f1b;pointer-events:none}
.boss-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.boss-caption strong{font:7px/1.6 var(--pixel);color:#ffe0a0;overflow-wrap:anywhere}
.boss-caption span{font:8px Arial,sans-serif;color:#efc89e;white-space:nowrap}
.boss-health{padding:2px;background:#050e1b;border:1px solid #6e4b45}.boss-segments{display:grid;grid-template-columns:repeat(20,1fr);gap:2px;height:8px}
.boss-segments i{background:#fbb15f;box-shadow:inset 0 2px #ffe1a0}.boss-segments i.spent{background:#352b3a;box-shadow:none}
.boss-hud.final-phase{border-color:#ed7892}.final-phase .boss-segments i:not(.spent){background:#ff6688;box-shadow:inset 0 2px #ffafba}
.overlay-content{background:#10283eef;border:3px solid #7094ae;box-shadow:inset 3px 3px #31516c,inset -3px -3px #060f1d,5px 5px #07121ddd;padding:26px 22px}
.overlay-content:before{content:'';display:block;width:80px;height:5px;margin:0 auto 17px;background:repeating-linear-gradient(90deg,#ffcb69 0 12px,transparent 12px 17px)}
.overlay-kicker{font:7px/1.7 var(--pixel);letter-spacing:0;color:#a3c9e3}.overlay h2{font:400 23px/1.5 var(--pixel);letter-spacing:-1px;color:#fff1cb;text-shadow:3px 3px #060f1a;margin:17px 0}
.overlay h2 em{color:#81cbff}.overlay p{color:#d2e4f2;line-height:1.6;font-size:12px}.overlay small{font:6px/1.8 var(--pixel);color:#9bbdd5;letter-spacing:0}
.start-button{font:400 10px/1.6 var(--pixel);letter-spacing:0;min-height:56px;padding:15px 13px;background:#296ce8;color:#fff;border:3px solid #79b8ff;border-right-color:#154591;border-bottom-color:#12345e;box-shadow:0 3px #060f1b,inset 2px 2px #478cf9}
.start-button span{font:16px Arial}.start-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #060f1b}
.fleet-open{font:7px/1.9 var(--pixel);color:#a5c5dd;padding:9px 3px;min-height:44px}
.secondary{border:2px solid #527590;box-shadow:2px 2px #060f1b;color:#d1e1ee;background:#1d3a53}
.dashboard{position:relative;padding:10px 6px 8px;gap:7px;background:#203d57;border-top:5px solid #071522;box-shadow:inset 0 3px #7392a9}
.burst-button{background:#25455f;border:3px solid #7294ab;border-bottom-color:#0c2034;border-right-color:#0c2034;color:#d3e6f2;box-shadow:inset 2px 2px #385d77;min-height:64px;padding:9px 8px 13px;gap:11px}
.burst-button .burst-icon{width:26px;height:26px;flex:0 0 auto;transform:none;color:#ed647a}
.burst-button b{font:8px/1.5 var(--pixel);letter-spacing:0}.burst-button small{font:9px Arial;margin-top:6px;color:#c3dded}
.burst-button i{height:6px;bottom:3px;left:3px;max-width:calc(100% - 6px);background:repeating-linear-gradient(90deg,#87e5a4 0 13px,#183c43 13px 17px);transition:width .12s}
.burst-button:not(:disabled){background:#335d49;color:#fff1bd;border-color:#b4ed9b #183b33 #183b33 #b4ed9b;box-shadow:inset 2px 2px #5c9362}.burst-button:not(:disabled) small{color:#e7ffc6}
.burst-button kbd{font:7px var(--pixel);border-color:#85a7c1;align-self:center;padding:5px}
.icon-button{width:48px;flex:0 0 48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#284761;border:3px solid #7795ae;border-bottom-color:#0b2032;border-right-color:#0b2032;color:#dbecf7;box-shadow:inset 2px 2px #416780;min-height:58px}
.icon-button svg{width:13px;height:15px}.icon-button small{font:5px var(--pixel)}.icon-button:disabled{opacity:.55}#sound{font:7px/1.6 var(--pixel);gap:0}#sound b{color:#b9d9ff}
.status-strip{border:2px solid #071522;background:#10253a;padding:8px 9px;min-height:42px}.status-strip p{color:#c4dbe9;font-size:10px}.status-strip>span{font:6px/1.5 var(--pixel);color:#9ee2ff;max-width:96px;white-space:normal;text-align:right}
.scoreboard,.embedded .scoreboard{background:#183249;border:3px solid #0a1a2b;box-shadow:inset 3px 3px #52718a,inset -3px -3px #102337,4px 4px #d4e0ea;padding:20px 16px;color:#e3edf4}
.scoreboard .eyebrow{font:7px/1.5 var(--pixel);color:#91c0e3;letter-spacing:0}.scoreboard h2,.embedded .scoreboard h2{font:400 16px/1.6 var(--pixel);letter-spacing:0;color:var(--gold);text-shadow:2px 2px #0b1725;margin:13px 0}
.scoreboard .rule{width:100%;height:5px;background:repeating-linear-gradient(90deg,#5e87a7 0 8px,transparent 8px 12px)}
.scoreboard-top p,.board-note{color:#bad0e0}.scoreboard-top p{font-size:12px}.scoreboard li{border-bottom:1px solid #385770;font:9px/1.7 var(--pixel);gap:8px}.scoreboard li .rank{font:7px var(--pixel);color:#91b1c8;flex-shrink:0}.scoreboard li:first-child .rank{color:#ffce71}.scoreboard li .points{color:#c4f3da}.scoreboard .empty{color:#bdd1df;font:12px/1.6 Arial;min-height:75px}
.scoreboard .text-button{font:7px/1.5 var(--pixel);color:#99d5ff}.board-note{font-size:11px;line-height:1.6}
.point-guide{margin:20px -7px -7px;padding:14px 11px;background:#e0eaf1;border:3px solid #99b5c9;border-bottom-color:#0b1b2c;border-right-color:#0b1b2c;box-shadow:inset 2px 2px #fff;color:#183249}
.point-guide h3{font:7px/1.8 var(--pixel);color:#183249;margin-bottom:11px}.point-guide dl div{font-size:11px;border-color:#b5c8d6;padding:9px 0}.point-guide dd{font:8px/1.5 var(--pixel)}.point-guide p{font-size:11px;color:#3c586e}.point-guide small{font-size:10px;color:#526b7d}
.result-stats{border-color:#486b85}.result-stats b{font:11px/1.7 var(--pixel);color:#ffdc8c}.result-stats div{font-size:8px}.result-stats{gap:14px}.result-stats div{flex:1}
#score-form label{font:7px/1.7 var(--pixel)}#initials{border:3px solid #6587a2;border-bottom-color:#a9c5d8;border-right-color:#a9c5d8;background:#071b2c;color:#ffda83;font:16px var(--pixel);letter-spacing:2px}
#save-score{font:7px/1.6 var(--pixel);padding:8px 11px;border:3px solid #87b9ff;border-bottom-color:#14385b;border-right-color:#14385b}.overlay .form-status{font:11px/1.5 Arial}
#fleet-dialog{background:#18364f;border:4px solid #0b1b2b;box-shadow:inset 3px 3px #708fa8,8px 8px #08132099;color:#f1f5f7}.fleet-heading{background:#18364f;border-color:#547991}.fleet-heading span{font:7px/1.7 var(--pixel);color:#a7cae2}.fleet-heading h2{font:16px/1.6 var(--pixel);color:#ffd888;letter-spacing:-1px}.fleet-heading button{border:2px solid #9bb9cb;background:#294b65;color:#e1eef5;box-shadow:2px 2px #091a29}.fleet-intro,.fleet-footnote{color:#c4d8e6}
.fleet-card,.fleet-card:last-child{border:2px solid #6187a2;background:#dce8f0;box-shadow:2px 2px #0b1e31;color:#183249}.fleet-card .fleet-art{border:2px solid #0c1d2c;background:#10293d}.fleet-card b{font:6px/1.7 var(--pixel);color:#2e5795}.fleet-card h3{font-weight:900}.fleet-footnote{border-color:#547991}
@media(max-width:600px){
  .machine{padding:3px;border-width:3px;box-shadow:0 3px #071522,3px 6px #cfdae5}.cabinet-marquee{padding:7px;font-size:6px}
  .hud{height:85px;padding:11px 7px 8px;gap:6px;grid-template-columns:1.12fr .95fr 1fr}.hud .hud-label{font-size:7px;margin-bottom:11px}.hud strong{font-size:13px}.hud-center strong{font-size:10px;letter-spacing:-.5px;padding-top:3px}.hud small{font-size:6px;margin-top:9px}.pixel-heart{width:23px;height:19px}.health-hearts{gap:3px;min-height:19px}.hud .shield-status{font-size:6px;margin-top:5px}.shield-status svg{width:8px;height:9px}
  .score-strip{padding:7px;font-size:8px;min-height:38px;align-content:center}.score-strip b{font-size:8px}.overlay-content{padding:19px 13px;max-width:92%}.overlay h2{font-size:18px;line-height:1.55;letter-spacing:-.75px}.overlay-kicker{font-size:6px}.overlay p{font-size:11px}.overlay-content:before{margin-bottom:13px;height:4px}.start-button{font-size:8px;padding:13px 10px;min-height:51px}.fleet-open{font-size:7px;line-height:1.8;padding:9px 0}.overlay small{font-size:5px}
  .dashboard{padding:9px 5px 6px;gap:6px}.burst-button{gap:8px;min-height:59px;padding:8px 6px 12px}.burst-button .burst-icon{width:22px;height:22px}.burst-button b{font-size:7px}.burst-button small{font-size:8px}.icon-button{width:40px;flex-basis:40px;min-height:55px}.icon-button small{font-size:4px}#sound{font-size:7px}.status-strip{min-height:38px;padding:7px}.status-strip p{font-size:9px}.status-strip>span{font-size:5px;max-width:78px}
  .boss-hud{top:7px;left:7px;right:7px;padding:6px}.boss-caption{gap:5px;margin-bottom:5px}.boss-caption strong{font-size:6px;line-height:1.8}.boss-caption span{font-size:8px}.boss-segments{height:7px;gap:2px}
  .scoreboard,.embedded .scoreboard{padding:20px 16px;margin:24px 0 0}.scoreboard h2,.embedded .scoreboard h2{font-size:18px}.scoreboard h2 br{display:block}.scoreboard-top p{font-size:12px}.scoreboard li{font-size:10px}.point-guide{margin-top:18px}.point-guide p{font-size:12px}.point-guide dl div{font-size:12px}.point-guide dd{font-size:8px}.point-guide h3{font-size:8px}
  .fleet-heading h2{font-size:12px}.fleet-heading span{font-size:6px}.result-stats b{font-size:9px}.result-stats div{font-size:7px}.result-stats{gap:8px}#score-form label{font-size:6px}#initials{font-size:14px;min-height:44px}#save-score{font-size:6px}
}
@media(max-width:350px){.hud strong{font-size:11px}.hud-center strong{font-size:9px}.hud small{font-size:4px}.pixel-heart{width:20px;height:17px}.health-hearts{gap:2px}.hud .hud-label{font-size:5px}.hud .shield-status{font-size:4px}.overlay h2{font-size:16px}.burst-button b{font-size:6px}.burst-button .burst-icon{width:19px;height:19px}.boss-caption strong{font-size:6px}}
