:root{color-scheme:dark;--surface:#17191c;--raised:#292c30;--ink:#f1f2f4;--muted:#a5a8af;--line:#3b3e44;--accent:#65aaff;--visible-height:100dvh;--dock-height:104px;font:17px/1.4 system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:var(--ink)}button,input{font:inherit}button{border:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:active{filter:brightness(1.2)}svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button .label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}
#screen{position:fixed;inset:0 0 auto;height:var(--game-height,var(--visible-height));background:#000;display:grid;place-items:center}canvas{display:block;width:min(100vw,calc(var(--game-height,var(--visible-height))*4/3))!important;height:min(var(--game-height,var(--visible-height)),75vw)!important;outline:0;object-fit:contain}
#launcher{position:fixed;inset:0;z-index:3;display:grid;place-items:center;padding:24px;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom));background:var(--surface);overflow:auto}.launch-content{width:min(100%,360px);text-align:center}.app-icon{width:88px;height:88px;display:block;margin:0 auto 28px;border-radius:23px}h1{font-size:2.125rem;font-weight:700;line-height:1.12;letter-spacing:-.025em;margin:0}.edition{color:var(--muted);font-size:.882rem;margin:14px 0 32px}.primary{width:100%;min-height:56px;border-radius:16px;background:#0071e3;color:#fff;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px}.primary svg{fill:currentColor;stroke:none;width:18px;height:18px}#status{min-height:21px;color:var(--muted);font-size:.765rem;margin:18px 0 0;overflow-wrap:anywhere}.progress-track{height:3px;border-radius:3px;overflow:hidden;background:var(--line);margin-top:18px}.progress-track progress{appearance:none;width:100%;height:100%;display:block;border:0;background:var(--line)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.launch-footer{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:30px}.text-button{min-height:44px;padding:10px 16px;background:none;color:var(--ink);font-size:.765rem;border-radius:22px}.download-note{font-size:.706rem;color:var(--muted);margin:12px 0 0}body.playing #launcher{display:none}
#toolbar{display:none;position:fixed;z-index:4;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));align-items:center;gap:2px;padding:3px;border:1px solid #484c5270;border-radius:26px;background:#22252aee}.icon-button{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%;padding:10px;background:none;color:var(--ink)}body.playing #toolbar{display:flex}body.controls-hidden #toolbar{opacity:0;pointer-events:none}#stats{display:none}#show-controls{position:fixed;z-index:4;bottom:max(12px,env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right));display:none;background:#25282dda;border:1px solid #52565c70;color:#c5c8cf}body.playing.controls-hidden:not(.keyboard-open) #show-controls{display:grid}.play-triangle{display:none}.is-paused .pause-bars{display:none}.is-paused .play-triangle{display:block}
#keyboard-dock{display:none;position:fixed;z-index:5;left:0;top:calc(var(--visible-height) - var(--dock-height));width:100%;height:var(--dock-height);background:#202226;border-top:1px solid #393c41;padding:5px 5px 4px;grid-template-rows:44px 44px;gap:6px}body.keyboard-open #keyboard-dock{display:grid}body.keyboard-open{--game-height:calc(var(--visible-height) - var(--dock-height))}#number-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}#number-row button{min-width:0;min-height:44px;padding:0;border-radius:6px;background:#38383a;color:var(--ink);font-size:18px;font-weight:450}#input-row{display:flex;align-items:center;gap:2px;min-width:0}#input-row .icon-button{min-width:44px;width:44px;padding:7px;min-height:44px;border-radius:12px}#input-row .confirm-key{color:var(--accent);min-width:44px;width:44px}#input-row .escape-key{font-size:12px;font-weight:550}#mobile-input{min-width:0;flex:1;width:0;height:40px;font-size:16px;line-height:normal;background:#303339;color:var(--ink);border:0;border-radius:20px;padding:8px 12px;margin:0 4px}#mobile-input::placeholder{color:#b0b3ba}body.keyboard-open #toolbar{display:none}
#save-warning{position:fixed;z-index:6;left:12px;right:12px;bottom:calc(var(--dock-height) + 12px);background:#573c27;color:#fff5e8;padding:12px 16px;border-radius:16px;font-size:13px}
dialog{border:1px solid var(--line);border-radius:28px;background:var(--surface);color:var(--ink);width:min(calc(100% - 24px),420px);padding:24px;margin:auto}dialog::backdrop{background:#0009}dialog h2{font-size:22px;letter-spacing:-.02em;margin:0 0 24px}dialog dl{display:grid;grid-template-columns:1fr auto;gap:18px;margin:0}dialog dt{color:var(--muted)}dialog dd{margin:0}dialog p{font-size:14px;color:var(--muted);margin:24px 0}dialog .primary{min-height:48px;font-size:15px}
@media(max-width:600px){dialog{position:fixed;inset:auto 0 max(12px,env(safe-area-inset-bottom));margin:0 auto}#launcher{align-items:center}}@media(max-height:500px){.app-icon{width:60px;height:60px;margin-bottom:16px}h1{font-size:32px}.edition{margin:8px 0 20px}.launch-footer{margin-top:12px}.download-note{display:none}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,filter .15s}#toolbar{transition:opacity .15s}}@media(forced-colors:active){button,input{border:1px solid ButtonText}}

:root{--dock-inset:0px}body.keyboard-open{--dock-inset:env(safe-area-inset-bottom);--dock-height:calc(104px + var(--dock-inset));--playable-height:calc(var(--game-height) - env(safe-area-inset-top))}body.software-keyboard-visible{--dock-inset:0px}#screen{padding-top:env(safe-area-inset-top);--playable-height:calc(var(--game-height,var(--visible-height)) - env(safe-area-inset-top))}canvas{width:min(100vw,calc(var(--playable-height)*4/3))!important;height:min(var(--playable-height),75vw)!important}#keyboard-dock{padding-bottom:calc(4px + var(--dock-inset))}
@supports(font:-apple-system-body) and (-webkit-touch-callout:none){:root{font:-apple-system-body;line-height:1.4}}@media(prefers-contrast:more){:root{--muted:#c5c8ce;--line:#777}#number-row button{border:1px solid #888}}
.launch-footer{flex-wrap:wrap}dialog{max-height:calc(100dvh - env(safe-area-inset-top) - 32px);overflow:auto}dialog h2:focus{outline:none}body.controls-hidden #toolbar{visibility:hidden}
:root{--visible-top:0px}#screen{top:var(--visible-top)}#keyboard-dock{top:calc(var(--visible-top) + var(--visible-height) - var(--dock-height))}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;margin:-8px 0 24px;padding-bottom:16px;border-bottom:1px solid var(--line);cursor:pointer}.setting-row input{appearance:none;flex:none;width:51px;height:31px;border-radius:20px;background:#64666c;position:relative;margin:0;cursor:pointer}.setting-row input:checked{background:#34c759}.setting-row input::before{content:'';position:absolute;width:27px;height:27px;top:2px;left:2px;border-radius:50%;background:white;box-shadow:0 1px 3px #0004}.setting-row input:checked::before{left:22px}body.no-number-row #number-row{display:none}body.keyboard-open.no-number-row{--dock-height:calc(54px + var(--dock-inset))}body.no-number-row #keyboard-dock{grid-template-rows:44px;gap:0}
