:root{--panel:#143f43;--panel-edge:#0b292c;--panel-raised:#1e5357;--haze:#f6ecc4;--haze-edge:#c7b577;--sage:#a9cfc0;--ink:#10363a;--cyan:#58d3d0;--cyan-edge:#2a8b8b;--marigold:#f2bd4b;--sky-low:#e9dd9c;--font:ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--gutter:max(16px, env(safe-area-inset-left), env(safe-area-inset-right));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{background:var(--panel);height:100%;margin:0}body{font:400 16px/1.45 var(--font);color:var(--haze);-webkit-font-smoothing:antialiased}.app{background:var(--sky-low);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}.scene{width:100%;height:100%;transition:filter .2s;display:block;position:absolute;inset:0}.app[data-screen=paused] .scene{filter:saturate(.55)brightness(.8)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}.app:not([data-device=keyboard]) [data-device-only=keyboard],.app:not([data-device=touch]) [data-device-only=touch],.app:not([data-device=gamepad]) [data-device-only=gamepad]{display:none}.plate{color:var(--haze);background:var(--panel);box-shadow:0 3px 0 var(--panel-edge);font-variant-numeric:tabular-nums;border-radius:3px;align-items:center;gap:8px;margin:0;padding:7px 11px 6px;font-size:15px;font-weight:700;line-height:1;display:inline-flex}.hud{top:max(14px, env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:absolute}.hud-stats{align-items:flex-start;gap:10px;display:flex}.hud-level-number{min-width:1.35em;height:1.35em;color:var(--ink);background:var(--cyan);box-shadow:0 2px 0 var(--cyan-edge);border-radius:2px;place-items:center;margin:-3px 0 -2px -4px;display:inline-grid}.coin-icon{background:var(--marigold);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);width:.8em;height:.8em}.hud-time{justify-content:center;min-width:4.4em}.icon-button{pointer-events:auto;cursor:pointer;border:0;padding:7px 9px 6px}.icon-button svg{fill:currentColor;width:15px;height:15px}.icon-button:active{box-shadow:0 1px 0 var(--panel-edge);transform:translateY(2px)}.hint{left:50%;bottom:max(24px, env(safe-area-inset-bottom));white-space:nowrap;pointer-events:none;max-width:calc(100vw - 32px);font-weight:600;position:absolute;transform:translate(-50%)}.app:has(.touch:not([hidden])) .hint{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 104px);white-space:normal;text-align:center}.banner{opacity:0;pointer-events:none;justify-content:center;height:clamp(2.6rem,8vw,4.6rem);transition:opacity .32s,transform .42s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:17%;left:0;right:0;transform:translateY(-10px)}.banner.show{opacity:1;transform:none}.banner .block-text-face{fill:var(--panel)}.banner .block-text-side{fill:var(--panel-edge)}.block-text{width:auto;max-width:100%;height:100%;display:block;overflow:visible}.block-text-face{fill:var(--haze)}.block-text-side{fill:var(--cyan-edge)}.block-heading{height:2.1rem;margin:0 0 18px}.button{font:700 1rem/1 var(--font);color:var(--ink);background:var(--haze);box-shadow:0 5px 0 var(--haze-edge);cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;gap:.7em;padding:.85em 1.25em .8em;transition:transform 70ms ease-out,box-shadow 70ms ease-out;display:inline-flex}.button:active{box-shadow:0 2px 0 var(--haze-edge);transform:translateY(3px)}.button-primary{background:var(--cyan);box-shadow:0 5px 0 var(--cyan-edge)}.button-primary:active{box-shadow:0 2px 0 var(--cyan-edge)}.button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible,.title-footer a:focus-visible{outline:3px solid var(--haze);outline-offset:4px}kbd{font:700 .78em/1 var(--font);color:var(--haze);background:var(--panel-raised);box-shadow:0 2px 0 var(--panel-edge);border-radius:3px;padding:.28em .45em .22em}.button kbd{color:var(--haze);background:var(--cyan-edge);box-shadow:none}.button:not(.button-primary) kbd{background:var(--haze-edge);color:var(--ink)}.text-button{font:600 14px/1 var(--font);color:var(--sage);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:6px 0;text-decoration:underline;text-decoration-thickness:1px}.text-button:hover{color:var(--haze)}.title{pointer-events:none;position:absolute;inset:0}.title-panel{left:var(--gutter);bottom:max(22px, env(safe-area-inset-bottom));background:var(--panel);max-width:min(40rem,100vw - 32px);box-shadow:0 6px 0 var(--panel-edge);pointer-events:auto;border-radius:6px;padding:16px 18px 18px;position:absolute}.title-start{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.title-lead{margin:0;font-weight:600}.controls{color:var(--sage);margin:14px 0 0;font-size:14px}dl.controls{flex-wrap:wrap;gap:8px 20px;display:flex}.controls dt{color:var(--haze);margin-right:6px;font-weight:700;display:inline}.controls dd{margin:0;display:inline}.title-footer{right:var(--gutter);bottom:max(18px, env(safe-area-inset-bottom));color:var(--haze);text-shadow:0 1px 0 var(--panel-edge);pointer-events:auto;align-items:center;gap:16px;font-size:14px;font-weight:600;display:flex;position:absolute}.title-footer a{color:inherit;text-underline-offset:3px}.title-footer .text-button{color:var(--haze);text-shadow:inherit}.panel{color:var(--haze);background:var(--panel);box-shadow:0 8px 0 var(--panel-edge);border-radius:6px;max-width:calc(100vw - 32px);padding:26px 28px 28px;position:absolute}.pause,.win{top:50%;left:50%;transform:translate(-50%,-50%)}.pause{width:19rem}.pause .menu{flex-direction:column;align-items:stretch}.pause .text-button{margin-top:18px}.clear{left:var(--gutter);bottom:max(28px, env(safe-area-inset-bottom));width:25rem}.win{width:31rem}.win .block-heading{height:2.5rem}.summary{max-width:34ch;margin:0;font-size:17px;line-height:1.45}.menu{flex-wrap:wrap;gap:14px;margin-top:22px;display:flex}.results{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:18px}.results td{border-top:2px solid var(--panel-raised);padding:8px 0}.results td:first-child{width:2em;color:var(--cyan);font-weight:700}.results td:nth-child(3),.results td:nth-child(4){text-align:right;padding-left:16px}.best{color:var(--sage);margin:14px 0 0;font-size:15px}.best:empty{display:none}.touch{padding:0 var(--gutter) max(18px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.touch-group{pointer-events:auto;touch-action:none;align-items:flex-end;gap:12px;display:flex}.touch-button{width:66px;height:66px;color:var(--haze);touch-action:none;-webkit-touch-callout:none;background:#143f438c;border:2px solid #f6ecc459;border-radius:14px;place-items:center;padding:0;display:grid}.touch-button svg{fill:currentColor;width:28px;height:28px}.touch-jump{width:82px;height:82px}.touch-button.pressed{background:#143f43d9;transform:translateY(2px)}.fade{background:var(--panel);opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.fade.on{opacity:1}.fallback{text-align:center;color:var(--haze);background:var(--panel);place-content:center;margin:0;padding:24px;display:grid;position:absolute;inset:0}.fallback a{color:var(--cyan)}.app[data-device=touch] .title-panel{bottom:calc(max(18px, env(safe-area-inset-bottom)) + 100px)}.app[data-device=touch] .title-footer{top:max(14px, env(safe-area-inset-top));bottom:auto}@media (max-width:640px){.title-panel{right:var(--gutter)}.panel{padding:22px 20px 24px}.clear{right:var(--gutter);width:auto}.plate{font-size:14px}.title-footer{gap:12px;font-size:13px}}@media (max-height:500px){.controls{display:none}.title-panel{padding:12px 14px}.app[data-device=touch] .title-panel{left:50%;right:auto;bottom:max(18px, env(safe-area-inset-bottom));max-width:calc(100vw - 400px);transform:translate(-50%)}.app[data-device=touch] .title-lead{display:none}.app[data-device=touch] .title-start{justify-content:center}}@media (prefers-reduced-motion:reduce){.banner{transition:opacity .2s;transform:none}.button,.scene{transition:none}}
