*{box-sizing:border-box}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#020503;--panel:#07120d;--panel-strong:#0b1f14;--green:#48f281;--green-soft:#9cffbd;--yellow:#ffe262;--pink:#ff5fc7;--red:#ff4d4f;--ink:#f3fff7;--muted:#8fb79e}html,body{min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 18% 12%,#48f2812e,#0000 28rem),radial-gradient(circle at 82% 80%,#ffe2621a,#0000 24rem),linear-gradient(145deg,#020503 0%,#07120d 48%,#010201 100%);margin:0;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button{font:inherit}.arcade{place-items:center;min-height:100vh;padding:22px;display:grid}.game-shell{background:linear-gradient(180deg, #0c2616eb, #030805f5), var(--panel);border:1px solid #48f28157;border-radius:8px;width:min(1180px,100%);padding:clamp(14px,2.4vw,28px);box-shadow:0 28px 90px #00000094,inset 0 0 0 1px #ffffff0a}.marquee{border-bottom:1px solid #48f28133;justify-content:space-between;align-items:center;gap:18px;padding-bottom:16px;display:flex}.eyebrow,.hud span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:800}h1{color:var(--green);letter-spacing:0;text-shadow:0 0 10px #48f281cc,0 0 30px #48f28159;margin:0;font-size:clamp(2.7rem,8vw,6.4rem);font-weight:950;line-height:.82}.coin-button,.game__over button{color:#031007;cursor:pointer;background:linear-gradient(180deg, var(--yellow), #ffb92f);text-transform:uppercase;border:0;border-radius:999px;min-height:46px;padding:0 18px;font-weight:900;box-shadow:0 8px 22px #ffe26242,inset 0 -3px #63400040}.coin-button:active,.game__over button:active,.buttons button:active,.level-select button:active{transform:translateY(1px)}.hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 0;display:grid}.hud div,.level-select button,.controls-panel{background:#020805a3;border:1px solid #48f28133;border-radius:8px}.hud div{min-width:0;padding:12px}.hud strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:clamp(1rem,3vw,1.45rem);line-height:1.1;display:block;overflow:hidden}.level-select{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.level-select button{min-width:0;min-height:46px;color:var(--green-soft);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px;display:flex}.level-select span{background:#48f28129;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:.84rem;font-weight:900;display:grid}.level-select button.active{color:#031007;background:linear-gradient(180deg, var(--green), #16b85c);box-shadow:0 0 24px #48f28147}.level-select button.active span{background:#03100729}.play-stage{grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:center;gap:18px;display:grid}.game__area{min-width:0;position:relative}#pacman__canvas{z-index:2;width:100%;max-width:806px;height:auto;image-rendering:pixelated;touch-action:none;border:3px solid #48f281e0;border-radius:8px;margin:0 auto;display:block;position:relative;box-shadow:0 0 0 6px #010402cc,0 0 36px #48f28152,0 22px 46px #0000006b}.game__over{z-index:3;text-align:center;background:#010402c7;border-radius:8px;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}.game__over>div{justify-items:center;gap:18px;display:grid}.game__over span{color:var(--yellow);letter-spacing:0;text-shadow:0 0 12px #ffe262d9,0 0 28px #ff5fc752;font-size:clamp(2rem,9vw,5rem);font-weight:950}.controls-panel{justify-items:center;gap:14px;min-width:0;padding:16px;display:grid;overflow:hidden}.controls-panel p{width:100%;color:var(--green-soft);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0;font-size:.84rem;font-weight:900;overflow:hidden}.buttons{--pad-size:clamp(52px, 5vw, 62px);width:calc(var(--pad-size) * 3);touch-action:none;justify-items:center;gap:0;max-width:100%;display:grid}.buttons div{max-width:100%;display:flex}.buttons button{width:var(--pad-size);height:var(--pad-size);color:var(--ink);cursor:pointer;touch-action:manipulation;background:linear-gradient(#12351f,#07140d);border:1px solid #48f2816b;outline:none;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #ffffff0a,0 10px 24px #00000047}.buttons button:hover,.buttons button:focus-visible{color:var(--green);border-color:var(--green)}#up{border-bottom:0;border-top-left-radius:999px;border-top-right-radius:999px}#down{border-top:0;border-bottom-right-radius:999px;border-bottom-left-radius:999px}#right{border-left:0;border-top-right-radius:999px;border-bottom-right-radius:999px}#left{border-right:0;border-top-left-radius:999px;border-bottom-left-radius:999px}#center{pointer-events:none;background:radial-gradient(circle,#ffe26273,#48f2811a);border-color:#48f28129}@media (max-width:860px){html,body{min-height:100svh}body{overflow-y:auto}.arcade{align-items:start;min-height:100svh;padding:6px}.game-shell{min-height:calc(100svh - 12px);padding:8px}.marquee{align-items:end;padding-bottom:8px}h1{font-size:clamp(2.1rem,13vw,3.4rem)}.coin-button{min-height:36px;padding:0 11px;font-size:.72rem}.hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px 0}.hud div{padding:7px}.hud span{font-size:.58rem}.hud strong{margin-top:3px;font-size:.86rem}.level-select{grid-template-columns:repeat(5,minmax(44px,1fr));gap:5px;margin-bottom:8px;padding-bottom:2px;overflow-x:auto}.level-select button{gap:3px;min-height:36px;padding:5px 4px;font-size:.64rem}.level-select span{flex-basis:19px;width:19px;height:19px;font-size:.68rem}.play-stage{grid-template-columns:1fr;gap:8px}#pacman__canvas{object-fit:contain;border-width:2px;max-height:58svh;box-shadow:0 0 0 3px #010402cc,0 0 22px #48f28142,0 12px 28px #0000005c}.controls-panel{padding:7px}.controls-panel p{display:none}.buttons{--pad-size:min(19vw, 62px)}}@media (max-width:440px){.marquee{gap:10px}.eyebrow,.hud span{font-size:.62rem}.hud strong{font-size:.9rem}.coin-button{white-space:normal;max-width:104px}}@media (max-width:860px) and (max-height:700px){.eyebrow{display:none}h1{font-size:clamp(1.8rem,10vw,2.6rem)}.hud{padding:5px 0}.level-select button{min-height:32px}.buttons{--pad-size:min(16vw, 52px)}}
