:root{color:#1f1712;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;--ink:#14201a;--lcd:#afbfaa;--lcd-bright:#d5decf;--copper:#9a5a42;--copper-dark:#4f2a22;--cream:#eee7d8;background:#241f1b;font-family:Trebuchet MS,Arial Narrow,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:0}body{overscroll-behavior:none;background:radial-gradient(circle at 20% 12%,#eee7d840,#0000 26rem),linear-gradient(135deg,#211b17,#3a2e28 48%,#171513);min-width:320px;min-height:100dvh;margin:0;overflow:hidden}button{font:inherit}.app-shell{place-items:center;width:100%;height:100dvh;min-height:0;padding:clamp(6px,1.6vmin,18px);display:grid;overflow:hidden}.handheld{background:linear-gradient(90deg,#ffffff6b,#fff0 12% 88%,#ffffff47),linear-gradient(145deg,#d9cdb8 0%,#a8735b 22%,#e9dfcd 51%,#7a473a 100%);border:1px solid #ffffff3d;border-radius:clamp(18px,3vmin,28px);gap:clamp(8px,1.7vmin,18px);width:min(1040px,100%,max(300px,160dvh - 262.4px));min-width:0;max-width:100%;min-height:0;max-height:100%;padding:clamp(10px,2vmin,24px);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 80px #0000006b,inset 0 2px #ffffff9e,inset 0 -12px 32px #43241c57}.lcd-bezel{background:#171312;border:clamp(5px,1.2vmin,10px) solid #171312;border-radius:clamp(14px,2.5vmin,24px);min-width:0;min-height:0;padding:clamp(8px,1.5vmin,18px);box-shadow:inset 0 0 0 2px #ffffff12,0 5px #ffffff2e}.lcd-hud,.status-strip{color:var(--ink);background:repeating-linear-gradient(0deg, #14201a08 0 1px, transparent 1px 7px), var(--lcd-bright);border:1px solid #14201a47}.lcd-hud{border-bottom:0;border-radius:9px 9px 0 0;justify-content:space-between;align-items:center;gap:clamp(8px,1.7vmin,14px);padding:clamp(6px,1.3vmin,10px) clamp(8px,1.7vmin,14px);display:flex}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-lockup h1{letter-spacing:0;text-transform:uppercase;white-space:nowrap;margin:0;font-size:clamp(1.2rem,3.2vw,2.1rem);font-weight:900;line-height:1}.brand-mark{border:4px solid var(--ink);flex:none;width:clamp(26px,5vw,42px);height:clamp(26px,5vw,42px);transform:rotate(8deg);box-shadow:inset 0 0 0 5px #14201a38}.readouts{justify-content:flex-end;align-items:center;gap:clamp(8px,2vw,18px);min-width:0;display:flex}.readout{text-align:right;text-transform:uppercase;gap:2px;display:grid}.readout span{opacity:.74;font-size:clamp(.58rem,1.5vw,.72rem);font-weight:800}.readout strong{letter-spacing:0;min-width:4ch;font-family:Courier New,monospace;font-size:clamp(1rem,2.7vw,1.55rem);line-height:1}.miss-readout strong{justify-content:flex-end;gap:.04em;min-width:3ch;display:inline-flex}.miss-readout strong .life-x{opacity:.24}.miss-readout strong .life-x.is-used{opacity:1}.miss-readout strong.is-gameover .life-x{opacity:1;animation:.58s step-end infinite miss-flash}@keyframes miss-flash{0%,48%{opacity:1}49%,to{opacity:.16}}.game-container{aspect-ratio:16/10;background:var(--lcd);touch-action:none;border-left:1px solid #14201a47;border-right:1px solid #14201a47;place-items:center;width:100%;min-width:0;max-width:100%;display:grid;overflow:hidden}.game-container canvas{display:block;width:100%!important;height:100%!important}.status-strip{border-top:0;border-radius:0 0 9px 9px;grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr) minmax(0,1fr);place-items:center;gap:8px;min-height:clamp(26px,5.2vmin,38px);padding-inline:clamp(8px,1.7vmin,14px);font-family:Courier New,monospace;font-size:clamp(1rem,2.4vw,1.35rem);font-weight:900;display:grid}.platform-readout{text-overflow:ellipsis;white-space:nowrap;opacity:.76;width:100%;font-size:clamp(.62rem,1.5vw,.82rem);line-height:1;overflow:hidden}.platform-player{text-align:left;justify-self:start}.platform-best{text-align:right;justify-self:end}.platform-recent{text-align:center;justify-self:center}.controls{grid-template-columns:repeat(8,minmax(0,1fr)) max-content;align-items:center;gap:clamp(8px,2vw,14px);display:grid}.platform-button{font-size:clamp(.68rem,1.5vw,.84rem)}.platform-toast{z-index:30;max-width:calc(100% - 32px);color:var(--ink);text-align:center;opacity:0;pointer-events:none;background:#d5decff5;border:1px solid #14201a8f;border-radius:999px;padding:9px 14px;font-family:Courier New,monospace;font-size:.82rem;font-weight:900;transition:opacity .14s,transform .14s;position:absolute;bottom:clamp(70px,12vmin,112px);left:50%;transform:translate(-50%,8px);box-shadow:0 8px 22px #00000047}.platform-toast.is-visible{opacity:1;transform:translate(-50%)}.start-cluster{grid-column:span 2;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(8px,2vw,14px);display:grid}.control-button{color:#2b2019;background:linear-gradient(#fff9ea, #d5c5a7), var(--cream);text-transform:uppercase;letter-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;border:1px solid #1e16106b;border-radius:999px;min-height:clamp(36px,6vmin,48px);padding:clamp(7px,1.4vmin,10px) clamp(8px,1.6vmin,12px);font-size:clamp(.82rem,2vw,1rem);font-weight:900;box-shadow:inset 0 1px #fffc,0 5px #3e291e61}.control-button:active{transform:translateY(3px);box-shadow:inset 0 1px #fffc,0 2px #3e291e61}.control-button:focus-visible{outline-offset:3px;outline:3px solid #1c6f6a}.control-button.primary,.control-button.is-active{color:#f8f2df;background:linear-gradient(#365d57,#173a36),#173a36}.control-button:disabled{cursor:default;color:#2b201980;filter:grayscale(.45);transform:none;box-shadow:inset 0 1px #fff9,0 5px #3e291e33}.reset-button{aspect-ratio:1;letter-spacing:0;border-radius:50%;justify-self:center;width:clamp(46px,6vw,58px);min-width:0;min-height:clamp(46px,6vw,58px);padding:0;font-size:clamp(.68rem,1.4vw,.78rem)}.sound-button{aspect-ratio:1;border-radius:50%;order:10;justify-self:end;place-items:center;width:clamp(42px,4.8vw,50px);min-width:0;min-height:clamp(42px,4.8vw,50px);padding:0;display:grid}.sound-button.is-muted{color:#2b201994;filter:grayscale(.35)}.sound-glyph{width:28px;height:28px;display:block;position:relative}.sound-speaker{clip-path:polygon(0 34%,34% 34%,74% 10%,74% 90%,34% 66%,0 66%);background:currentColor;width:17px;height:13px;position:absolute;top:8px;left:2px}.sound-wave{border:3px solid;border-left:0;border-radius:0 999px 999px 0;position:absolute}.sound-wave-one{width:7px;height:10px;top:9px;left:17px}.sound-wave-two{width:10px;height:18px;top:5px;left:19px}.sound-slash{background:currentColor;border-radius:999px;width:25px;height:4px;display:none;position:absolute;top:12px;left:3px;transform:rotate(-45deg)}.sound-button.is-muted .sound-wave{display:none}.sound-button.is-muted .sound-slash{display:block}@media (width<=720px){.app-shell{padding:10px}.handheld{border-radius:20px;gap:10px;width:min(100%,max(300px,160dvh - 313.6px));padding:12px}.lcd-bezel{border-width:7px;border-radius:18px;padding:9px}.lcd-hud{flex-direction:column;align-items:stretch;gap:8px;padding:9px}.brand-lockup{justify-content:center}.readouts{justify-content:space-between;width:100%}.readout{text-align:center}.controls{grid-template-columns:repeat(2,minmax(0,1fr)) 52px;grid-template-areas:"easy hard sound""start start fullscreen""pause restart share"}#easyButton{grid-area:easy}#hardButton{grid-area:hard}.start-cluster{grid-area:start}#pauseButton{grid-area:pause}#restartButton{grid-area:restart}#fullscreenButton{grid-area:fullscreen}#shareButton{grid-area:share}.sound-button{order:0;grid-area:sound;width:44px;min-height:44px}.platform-button{min-width:0;padding-inline:6px;font-size:.66rem}.reset-button{justify-self:end}}@media (width<=430px){.brand-lockup h1{font-size:1rem}.brand-mark{border-width:3px;width:24px;height:24px}.readouts{gap:4px}.control-button{min-height:44px;padding-inline:8px}.platform-readout{font-size:.58rem}}@media (height<=760px){.app-shell{padding:6px}.handheld{gap:8px;width:min(860px,100%,max(300px,160dvh - 268.8px));padding:10px}.lcd-bezel{border-width:6px;padding:8px}.brand-mark{display:none}.lcd-hud{padding:6px 8px}.status-strip{min-height:26px}.control-button{min-height:36px;padding-block:6px}.reset-button,.sound-button{width:36px;min-height:36px}.sound-glyph{transform:scale(.82)}}@media (width<=720px) and (height<=760px){.handheld{width:min(100%,max(300px,160dvh - 300.8px))}}
