:root{color-scheme:dark;--cream:#fff6d8;--lime:#c5ef66;--ink:#142b26;--muted:#9db6a6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 20%,#284a38,transparent 70%),#0d211d;color:var(--cream);font-family:Arial,Helvetica,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font-family:inherit;font-weight:700;font-size:12px;cursor:pointer;color:var(--cream);background:#284637;border:1px solid #56704b;border-radius:9px;padding:12px 17px;min-height:44px}button:hover{background:#365c42}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f9d46a;outline-offset:4px}main{max-width:1180px;margin:auto;padding:24px 36px}header{height:87px;display:flex;align-items:center;justify-content:space-between}.back{font-size:13px;letter-spacing:2px;color:#cae1bc;text-decoration:none}.wordmark{font-weight:1000;font-size:31px;line-height:.83;letter-spacing:-1.5px;transform:rotate(-3deg);text-shadow:2px 3px 0 #436d35}.wordmark span{display:block;color:var(--lime);font-size:37px;letter-spacing:1px}.edition{font:10px/1.7 monospace;letter-spacing:1px;color:var(--muted);text-align:right}.cabinet{border:1px solid #587344;border-radius:17px;overflow:hidden;box-shadow:0 30px 100px #0006,0 0 0 6px #172e22}.cabinet-bar{padding:15px 22px;display:flex;justify-content:space-between;background:#1e3429;font:10px monospace;letter-spacing:2px;color:#b3caa4}.cabinet-bar i{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:8px}.stage{position:relative;width:100%;height:min(66vh,650px);min-height:420px;overflow:hidden;background:#a4d940}#gameCanvas{display:block;width:100%;height:100%;touch-action:none}#hud{position:absolute;inset:24px 26px auto;display:flex;justify-content:space-between;pointer-events:none;color:#fff;font:700 10px monospace;letter-spacing:2px;text-shadow:0 2px 5px #203c3880}#hud>span{background:#123932cc;border:1px solid #ffffff38;border-radius:12px;padding:12px 18px}#hud strong{font-family:Arial,sans-serif;font-size:43px;line-height:1;display:block;letter-spacing:-1px;margin-top:5px}#hud .record{text-align:right}#hud .record strong{font-size:24px;line-height:1.8}#warningBanner{position:absolute;top:118px;left:0;right:0;display:none;justify-content:center;pointer-events:none}#warningBanner span,#idleHint:not(:empty){background:#713927;color:#fff4c9;padding:10px 15px;border-radius:8px;font-weight:bold;font-size:12px}#idleHint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;text-align:center;pointer-events:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:5;padding:20px;background:#0e2c2529}.overlay[hidden]{display:none!important}#startOverlay{justify-content:flex-start;padding-left:6%;background:linear-gradient(90deg,#143327e6,#14332775 45%,transparent 78%)}.intro{max-width:370px;padding-top:35px}.eyebrow{font:700 10px monospace;letter-spacing:2.5px;color:var(--lime)}h1{font-size:clamp(38px,5vw,65px);line-height:.97;letter-spacing:-3px;font-weight:1000;margin:20px 0;color:#fffcdf;text-shadow:0 4px 0 #234332}h1 em{font-style:normal;color:var(--lime)}.intro p{font-size:15px;line-height:1.7;color:#e3ebcf;margin:0 0 25px}.primary{background:var(--lime);color:#203e23;border:0;font-size:13px;letter-spacing:.7px;box-shadow:0 4px 0 #769447}.primary:hover{background:#dcff8b}.intro .primary{display:flex;justify-content:space-between;align-items:center;width:225px;padding:17px 21px;font-weight:900}.intro .primary b{font-size:23px}.intro small{display:block;font:9px monospace;letter-spacing:1px;color:#d4dfbc;margin-top:23px}.control-deck{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 23px;background:#1e3429}.howto strong{display:block;font:10px monospace;letter-spacing:1.5px;color:var(--lime)}.howto span{display:block;font-size:11px;color:var(--muted);margin-top:7px}.utilities{display:flex;gap:7px}.utilities button{font-size:11px;white-space:nowrap}#touchPad{display:none;gap:8px}#touchPad button{font-size:23px;min-width:49px;background:#405933;border-color:#72894a;touch-action:manipulation}#tUp{background:var(--lime)!important;color:#1c3a20}footer{display:flex;justify-content:space-between;padding:23px 0;font:9px monospace;letter-spacing:1.3px;color:#9cb393}.footer-dot{color:#7c9c77}.modal{background:#18382fee;border:1px solid #8ca765;border-radius:18px;padding:26px;max-width:360px;width:100%;text-align:center;box-shadow:0 22px 60px #0005;max-height:100%;overflow:auto}.modal h2{font-size:28px;letter-spacing:-1px;margin:12px 0 20px}.final strong{display:block;font-size:46px;line-height:1}.final span{font:10px monospace;letter-spacing:2px;color:#b2d090}.final{margin-bottom:18px}#newBest{color:var(--lime);font-size:11px;margin-bottom:15px}.modal label{display:block;font-size:10px;color:#b6cda6;margin:12px 0 7px}input{width:100%;background:#0e2923;border:1px solid #749365;border-radius:8px;padding:12px;color:white;text-align:center;font:700 15px monospace}.lbBtnRow{display:flex;gap:9px;margin:12px 0 18px}.lbBtnRow button{flex:1}#lbList{font:11px/1.8 monospace;color:#d8e9c5;text-align:left;max-height:105px;overflow:auto}#lbFooter{display:block;margin-top:12px;font-size:9px;color:#9ab490}#pauseOverlay,#lbOverlay{background:#0a251980;backdrop-filter:blur(4px)}.fallback{position:absolute;top:30%;background:#152f28;padding:24px}main:fullscreen{max-width:none;width:100%;background:#0d211d}main:fullscreen .stage{height:calc(100dvh - 250px)}
@media(max-width:700px){main{padding:12px 12px 0}header{height:70px}.wordmark{font-size:24px}.wordmark span{font-size:29px}.edition{font-size:8px;letter-spacing:0}.back{font-size:10px;letter-spacing:1px}.cabinet-bar{padding:12px;font-size:8px;letter-spacing:1px}.cabinet{border-radius:13px}.stage{height:calc(100svh - 265px);min-height:405px;max-height:700px}#hud{inset:14px 12px auto}#hud>span{padding:9px 11px;font-size:8px}#hud strong{font-size:31px}#hud .record strong{font-size:20px}#startOverlay{padding:20px;background:linear-gradient(90deg,#143327d9,#14332772 70%,#14332722)}h1{font-size:43px;letter-spacing:-2px}.intro p{font-size:13px}.intro small{font-size:8px;letter-spacing:.4px}.intro .primary{width:195px;padding:12px 17px}.intro{padding-top:45px}.control-deck{flex-direction:column;padding:12px;gap:11px}.howto{display:none}#touchPad{display:flex!important;gap:12px}#touchPad button{width:54px;height:44px;padding:3px}.utilities{width:100%;justify-content:center}.utilities button{min-height:36px;padding:7px 15px;background:transparent;border-color:#506545}footer{font-size:8px;justify-content:center;padding:16px 0}footer .footer-dot{display:none}.modal{padding:18px}.modal h2{font-size:23px}.overlay{padding:12px}#warningBanner{top:95px}}
@media(max-height:500px) and (min-width:650px){main{padding:8px 18px}header{height:58px}.stage{height:400px}.intro{padding-top:40px}.control-deck{flex-wrap:wrap}.howto{display:none}#touchPad{display:flex!important}footer{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
