@font-face{font-family:Lilita One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lilita-one-latin-400-normal-87r-Z-Re.woff2) format("woff2"),url(/assets/lilita-one-latin-400-normal-DXkechA3.woff) format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2) format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}.report-link{appearance:none;border:0;background:none;padding:6px 4px;color:var(--text-quiet);font:700 13px/1.2 var(--ui);text-decoration:underline;text-underline-offset:3px;cursor:pointer;pointer-events:auto}.report-link:hover,.report-link:focus-visible{color:var(--text)}.report{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--top) var(--right) var(--bottom) var(--left);background:#080b12b8;-webkit-user-select:text;user-select:text;touch-action:pan-x pan-y}.report-card{touch-action:pan-x pan-y;width:min(460px,100%);max-height:100%;overflow:auto;padding:18px 18px 16px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--sticker)}.report-card h2{margin:0 0 6px;font:400 26px/1.1 var(--display)}.report-card p{margin:0 0 10px;font:700 15px/1.4 var(--ui)}.report-card textarea{width:100%;resize:vertical;padding:8px;border:2px solid var(--ink);border-radius:6px;background:#fff;color:var(--ink);font:400 11px/1.45 var(--mono)}.report-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.report-acts>*{min-height:44px;padding:10px 14px;border:2px solid var(--ink);border-radius:8px;background:#fff;color:var(--ink);font:400 17px/1 var(--display);text-decoration:none;box-shadow:var(--sticker);cursor:pointer}.report-acts>.primary{background:var(--gun)}.report-acts>*:focus-visible{outline:3px solid var(--slush);outline-offset:2px}#intro{position:fixed;inset:0;z-index:40;overflow:hidden;background:var(--night);color:var(--text);transition:opacity .4s ease}#intro[hidden]{display:none}#intro.out{opacity:0;pointer-events:none}.intro-ph,.intro-art{position:absolute;inset:0;background:center 45% / cover no-repeat}.intro-ph{background-image:url(data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAANABgDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQDBQb/xAAhEAEAAgIBBAMBAAAAAAAAAAABAhEAAyEEBRJBEzFRYf/EABcBAAMBAAAAAAAAAAAAAAAAAAABAgP/xAAWEQEBAQAAAAAAAAAAAAAAAAABAAL/2gAMAwEAAhEDEQA/AMfr0+R5Q4BpfWWDenp3XGTMS5IVX85yDtb5TldsfcX6cYIbdnVHybIsYPMSFEj8ecdmy/UQZ6SXNRKFSnj1hjHdYhJoACwDjDCrKBf/2Q==);filter:blur(14px);transform:scale(1.08)}.intro-art{background-image:url(/cover/intro-wide.webp);opacity:0;transform:scale(1.04);transition:opacity .6s ease,transform 6s ease-out}.intro-art.in{opacity:1;transform:none}@media(orientation:landscape)and (max-height:600px){.intro-art{background-image:url(/cover/intro-wide-1280.webp)}}@media(orientation:portrait){.intro-ph{background-image:url(data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wAARCAAZAA4DASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAQIDAAQSERMhBSIyQVEx/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQAD/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEB/9oADAMBAAIRAxEAPwDkLK2aZsVUsSDwKD2jltAtaHSCbeYSMBivJOtTmd9GEGKNme4A8r6FLO7Qt0WS0VN/bf8AGYoGOnrT5TXmxHHGkZyK+RHbkfpqrB4Utx5VF//Z)}.intro-ph,.intro-art{background-position:center 30%}.intro-art{background-image:url(/cover/intro-tall.webp)}}.intro-shade{position:absolute;inset:0;background:linear-gradient(90deg,#080b12d1,#080b1280 36%,#080b1200 62%),linear-gradient(0deg,#080b12d9,#080b1200 42%)}@media(orientation:portrait){.intro-shade{background:linear-gradient(180deg,#080b12b3,#080b1200 30%),linear-gradient(0deg,#080b12eb,#080b1299 26%,#080b1200 48%)}}.intro-body{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:max(44px,env(safe-area-inset-top)) var(--right) max(28px,env(safe-area-inset-bottom)) max(40px,env(safe-area-inset-left));max-width:760px}.intro-title{margin:0;font:400 min(9.5vw,17vh,150px) / .82 var(--display);letter-spacing:.01em;transform:rotate(-4deg);transform-origin:0 100%;text-shadow:.05em .06em 0 var(--shadow-red)}.intro-title span{display:block}.intro-title .w{color:var(--gun)}.intro-title .u{color:var(--paper);margin-left:.62em}.intro-tag{justify-self:start;margin:26px 0 0 4px;padding:8px 18px 9px;background:var(--paper);color:var(--ink);font:400 clamp(17px,2vw,26px) / 1.1 var(--marker);border:3px solid var(--ink);box-shadow:4px 5px #0000008c;transform:rotate(-2deg)}.intro-foot{grid-row:3;display:grid;align-items:end}.intro-load,.intro-modes{grid-area:1 / 1}.intro-load{display:grid;gap:10px;max-width:440px;transition:opacity .25s,transform .25s}.intro-meter{display:flex;align-items:center;gap:12px}.intro-bar{flex:1;height:24px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);box-shadow:3px 4px 0 var(--ink);overflow:hidden}.intro-bar i{display:block;height:100%;background:repeating-linear-gradient(-45deg,var(--gun) 0 10px,#e5ae35 10px 20px);background-size:28.3px 28.3px;border-right:3px solid var(--ink);transform:scaleX(0);transform-origin:0 50%;animation:intro-tape .7s linear infinite}@keyframes intro-tape{to{background-position:28.3px 0}}.intro-pct{min-width:3.4em;font:700 18px/1 var(--mono);color:var(--gun);text-align:right}.intro-tip{margin:0;min-height:2.8em;font:800 16px/1.4 var(--ui);color:var(--text-quiet);transition:opacity .18s;text-wrap:balance}.intro-tip.swap{opacity:0}#intro.failed .intro-tip{color:var(--gun)}.intro-retry{justify-self:start;font:400 19px/1 var(--display);padding:12px 20px;border:3px solid var(--paper);border-radius:14px;background:var(--gun);color:var(--ink);box-shadow:3px 4px 0 var(--shadow-red);cursor:pointer}.intro-modes{display:grid;grid-template-columns:1fr;gap:16px;max-width:440px;visibility:hidden}#intro.choosing .intro-load{opacity:0;transform:translateY(10px);pointer-events:none}#intro.choosing .intro-modes{visibility:visible}.mode{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;column-gap:12px;align-content:start;min-height:112px;padding:14px 16px 18px 14px;border:3px solid var(--ink);border-radius:18px;color:var(--ink);text-align:left;font:inherit;box-shadow:4px 6px 0 var(--shadow-red);cursor:pointer;opacity:0;transition:transform .1s,box-shadow .1s,opacity .25s,filter .25s;-webkit-tap-highlight-color:transparent}.mode.solo{background:var(--gun);--tilt: -1.4deg}.mode.hunt{background:var(--mint);--tilt: 1.2deg}#intro.choosing .mode{opacity:1;transform:rotate(var(--tilt));animation:intro-card .42s cubic-bezier(.2,1.4,.4,1) backwards}#intro.choosing .mode.hunt{animation-delay:.07s}@keyframes intro-card{0%{transform:translateY(26px) rotate(calc(var(--tilt) * 3));opacity:0}}#intro.choosing .mode:hover{transform:rotate(var(--tilt)) translate(-2px,-3px);box-shadow:6px 9px 0 var(--shadow-red)}#intro.choosing .mode:active{transform:rotate(var(--tilt)) translate(3px,4px);box-shadow:0 0 0 var(--shadow-red)}.mode:focus-visible{outline:4px solid var(--paper);outline-offset:4px}.mode-ico{grid-row:1 / span 3;align-self:start}.mode-ico svg{width:52px;height:52px}.mode-kicker{font:800 13px/1.2 var(--ui);letter-spacing:.06em;text-transform:uppercase;opacity:.78}.mode-name{font:400 34px/1 var(--display);letter-spacing:.01em;margin:2px 0 6px}.mode-desc{font:800 15px/1.3 var(--ui);text-wrap:balance}.mode-bar{position:absolute;left:14px;right:14px;bottom:9px;height:8px;border:2px solid var(--ink);border-radius:6px;background:var(--paper);overflow:hidden;opacity:0}.mode-bar i{display:block;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:0 50%;transition:transform .15s}#intro.opening .mode{pointer-events:none}#intro.opening .mode:not(.picked){opacity:.3;filter:saturate(.3)}#intro.opening .mode.picked{transform:rotate(var(--tilt)) translate(2px,3px);box-shadow:2px 3px 0 var(--shadow-red)}#intro.opening .mode.picked .mode-bar{opacity:1}.intro-hint{grid-column:1 / -1;margin:2px 0 0;font:800 13px/1.6 var(--ui);color:var(--text-quiet)}.intro-report{grid-column:1 / -1;justify-self:start;margin:-6px 0 0}.intro-load .intro-report{display:block;margin:8px 0 0}@media(orientation:landscape)and (max-height:760px){.intro-modes{grid-template-columns:1fr 1fr;max-width:680px}}@media(orientation:portrait){.intro-body{max-width:none;padding-left:var(--left);text-align:center}.intro-title{font-size:min(21vw,11vh,120px);justify-self:center;transform-origin:50% 100%;text-align:left}.intro-tag{justify-self:center;margin:18px 0 0;font-size:clamp(16px,4.6vw,24px)}.intro-load{justify-self:stretch;max-width:none;text-align:left}.intro-modes{grid-template-columns:1fr;gap:12px}.mode{min-height:0;padding:12px 14px 16px 12px}.mode-ico svg{width:44px;height:44px}.mode-name{font-size:28px;margin:1px 0 4px}.mode-desc{font-size:14px}}@media(orientation:portrait)and (min-width:600px){.intro-foot{width:min(560px,100%);justify-self:center}}@media(orientation:landscape)and (max-height:540px){.intro-body{padding-top:max(26px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));max-width:640px}.intro-title{font-size:min(9vw,19vh,80px)}.intro-tag{margin-top:12px;font-size:16px;padding:5px 12px 6px}.intro-modes{grid-template-columns:1fr 1fr;gap:12px;max-width:none}.intro-load{max-width:520px}.mode{min-height:0;padding:10px 12px 14px 10px}.mode-ico svg{width:38px;height:38px}.mode-name{font-size:25px;margin:0 0 3px}.mode-kicker{font-size:11px}.mode-desc{font-size:13px}.intro-tip{min-height:1.4em;font-size:14px}.intro-bar{height:20px}}@media(prefers-reduced-motion:reduce){.intro-art{transform:none;transition:opacity .3s}.intro-bar i,#intro.choosing .mode{animation:none}}:root{--ink: #1d1d1f;--paper: #fbf8ef;--gun: #f2c14e;--ketchup: #e0533c;--mint: #7fd1b0;--slush: #5aa9e6;--gum: #f29bb8;--bottle: #4caf7a;--bun: #d9a05b;--shadow-red: #b5462f;--led: #ff5a4e;--night: #0d121b;--card: #161d2a;--text: #f4f1ea;--text-quiet: #c9cdd3;--pencil: #5c564b;--plate: #2b2d31;--sticker: 2px 3px 0 var(--ink);--display: "Lilita One", "Arial Black", Impact, sans-serif;--marker: "Permanent Marker", "Comic Sans MS", "Chalkboard SE", cursive;--mono: "Space Mono", ui-monospace, "SF Mono", Menlo, monospace;--ui: Nunito, system-ui, -apple-system, "Segoe UI", sans-serif;--top: max(12px, env(safe-area-inset-top));--left: max(16px, env(safe-area-inset-left));--right: max(16px, env(safe-area-inset-right));--bottom: max(14px, env(safe-area-inset-bottom));--btn-gap: 14px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--plate);color:var(--text);font:700 14px/1.4 var(--ui);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}#app{position:fixed;inset:0;background:var(--plate)}#app canvas{display:block;width:100%;height:100%}#overlay{position:fixed;inset:0;pointer-events:none}.panel,.panel *{touch-action:pan-y}kbd{display:inline-block;min-width:1.9em;padding:.05em .45em .1em;margin-right:.2em;border:2px solid var(--ink);border-radius:6px;background:var(--paper);box-shadow:0 2px 0 var(--ink);color:var(--ink);font:800 .85em/1.35 var(--ui);text-align:center;vertical-align:.06em}svg.ico{display:block;flex:none}.hud{position:absolute;inset:0}.hud-falls{display:none}.hud-meter{position:absolute;left:50%;top:calc(var(--top) + 54px);transform:translate(-50%);display:flex;align-items:center;gap:3px}.meter-face{position:relative;width:34px;height:34px;flex:none;z-index:1}.meter-face i{position:absolute;inset:0;display:none}.meter-face svg{width:34px;height:34px}.hud-meter.ok .f-ok,.hud-meter.warn .f-warn,.hud-meter.bad .f-bad{display:block}.meter-track{position:relative;width:136px;height:20px;border:3px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:var(--sticker);overflow:hidden}.meter-fill{position:absolute;inset:0;background:var(--bottle);transform-origin:0 50%;transition:transform .12s linear,background-color .2s}.hud-meter.warn .meter-fill{background:var(--gun)}.hud-meter.bad .meter-fill{background:var(--ketchup)}.hud-meter.bad .meter-face,.hud-meter.bad .meter-track{animation:meter-shake .16s linear infinite alternate}@keyframes meter-shake{0%{transform:translate(-1.5px) rotate(-2deg)}to{transform:translate(1.5px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.hud-meter.bad .meter-face,.hud-meter.bad .meter-track{animation:none}}.hud-pop{position:absolute;left:50%;top:19%;transform:translate(-50%) rotate(-4deg) scale(.6);font:400 40px/1 var(--display);letter-spacing:.02em;white-space:nowrap;color:var(--gun);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;text-shadow:3px 4px 0 var(--ink);opacity:0;transition:opacity .12s,transform .18s cubic-bezier(.2,1.6,.4,1)}.hud-pop.show{opacity:1;transform:translate(-50%) rotate(-4deg) scale(1)}.hud-pop.hic{color:var(--slush);font-size:32px;transform:translate(-50%) rotate(5deg) scale(.6)}.hud-pop.hic.show{transform:translate(-50%) rotate(5deg) scale(1)}.hud-pop.bump{color:var(--gun);font-size:34px}.hud-pop.fall{color:var(--ketchup);font-size:52px}.hud-pop.walshed{color:var(--gun);font-size:68px;-webkit-text-stroke:9px var(--ink);text-shadow:6px 7px 0 var(--shadow-red);transform:translate(-50%) rotate(-6deg) scale(.6)}.hud-pop.walshed.show{transform:translate(-50%) rotate(-6deg) scale(1.05)}.hud-debug{position:absolute;top:56px;left:var(--left);margin:0;padding:8px 10px;border-radius:8px;background:#141518b3;font:12px/1.5 ui-monospace,Menlo,monospace;display:none}.hud-getup{position:absolute;left:50%;bottom:calc(var(--bottom) + 76px);transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:8px 18px;border:3px solid var(--gun);border-radius:999px;background:var(--ink);box-shadow:0 0 0 3px var(--ink),3px 5px 0 3px #00000080;color:var(--paper);font:800 16px/1.25 var(--ui);white-space:nowrap;opacity:0;transition:opacity .12s}.hud-getup kbd{font-size:14px}.hud-getup.show{opacity:1}body.touch .hud-getup{display:none}.hud-hint{position:absolute;left:var(--left);bottom:var(--bottom);max-width:min(560px,calc(50vw - 170px));display:flex;flex-wrap:wrap;gap:6px 12px;padding:6px 10px;border-radius:10px;background:#1d1d1fc7;font:800 13px/1.6 var(--ui);color:var(--text)}.hud-hint span{white-space:nowrap}body.touch .hud-hint{display:none}.run{position:absolute;inset:0}.run-list{position:absolute;top:var(--top);left:var(--left);min-width:300px;padding:8px 14px 10px 12px;border-radius:4px;background:var(--paper);color:var(--ink);box-shadow:3px 4px 0 var(--ink);transform:rotate(-2deg);transform-origin:100% 0}.run-list.bumped{animation:note-bump .4s ease-out}@keyframes note-bump{30%{transform:rotate(-5deg) scale(1.06)}}.run-list-title{font:400 18px/1.1 var(--marker);color:var(--shadow-red);margin-bottom:4px}.run-item{display:flex;align-items:center;gap:12px;padding:2px 0;font:400 19px/1.3 var(--marker)}.run-item .ico{position:relative;flex:none}.run-item .ico>svg{width:32px;height:32px}.run-item .name .short{display:none}.run-item .name{padding:0 4px;margin-left:-4px;border-radius:3px}.run-item .mark{margin-left:auto;padding:1px 7px;border:2px solid var(--ink);border-radius:999px;font:800 11px/1.3 var(--ui);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.run-item .mark:empty{display:none}.run-item.carried .name,.run-item.carried .mark,.run-item.counter .mark{background:var(--gun)}.run-item.floor .mark{background:var(--ketchup);color:var(--paper)}.run-item.floor .name{color:#b23a26}.run-item.rung .name{color:var(--pencil);text-decoration:line-through;text-decoration-thickness:2.5px;text-decoration-color:#1d1d1fbf}.run-item.rung .ico>svg{opacity:.55}.badge{position:absolute;right:-6px;bottom:-5px;width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;font:400 13px/1 var(--display)}.badge svg{width:12px;height:12px;display:block}.badge.ok{background:var(--mint)}.badge.bad{background:var(--ketchup);color:var(--paper)}.badge.till{background:var(--gun);color:var(--ink)}.run-timer{position:absolute;top:var(--top);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:3px 12px 3px 7px;border:3px solid var(--ink);border-radius:10px;background:#14161a;box-shadow:var(--sticker),0 0 14px #ff5a4e4d;white-space:nowrap}.run-timer .led{font:700 26px/1.15 var(--mono);letter-spacing:.04em;color:var(--led);text-shadow:0 0 8px rgba(255,90,78,.55)}.run-timer.urgent{background:var(--shadow-red);box-shadow:var(--sticker),0 0 18px #e0533ccc;animation:pulse .5s ease-in-out infinite alternate}.run-timer.urgent .led{color:var(--paper);text-shadow:1px 2px 0 var(--ink)}.run-timer.urgent svg{animation:ring .12s linear infinite alternate}@keyframes ring{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@keyframes pulse{to{transform:translate(-50%) scale(1.1)}}.run-stats{position:absolute;top:var(--top);right:var(--right);display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pill{display:flex;align-items:center;gap:5px;padding:2px 11px 2px 5px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);box-shadow:var(--sticker);transform:rotate(2deg)}.pill.damage{transform:rotate(-2deg)}.pill svg{width:32px;height:32px}.pill .run-falls{font:400 26px/1.2 var(--display);min-width:.7em;text-align:center}.pill .run-damage{font:700 19px/1.2 var(--mono);color:var(--shadow-red)}.pill .run-damage.zero{color:var(--ink)}.run-stats.bumped .falls{animation:pill-bump .45s ease-out}@keyframes pill-bump{30%{transform:rotate(-8deg) scale(1.3);background:var(--gun)}}.run-prompt{position:absolute;left:50%;bottom:calc(var(--bottom) + 76px);transform:translate(-50%);max-width:calc(100vw - 32px);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 6px;padding:8px 18px;border:3px solid var(--gun);border-radius:999px;background:var(--ink);box-shadow:0 0 0 3px var(--ink),3px 5px 0 3px #00000080;color:var(--paper);font:800 16px/1.25 var(--ui);white-space:nowrap;opacity:0;transition:opacity .12s}.run-prompt.show{opacity:1}.run-prompt kbd{font-size:14px}.run-prompt-bar{flex-basis:100%;height:6px;margin-top:4px;border-radius:3px;background:#3a3d44;overflow:hidden}.run-prompt-bar div{height:100%;background:var(--gun);transform:scaleX(0);transform-origin:0 50%}.run-bubble{position:absolute;display:flex;align-items:center;gap:7px;width:max-content;max-width:260px;padding:8px 13px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:var(--sticker);font:800 15px/1.3 var(--ui);text-wrap:balance;transform:translate(-50%,calc(-100% - 16px)) scale(.8);transform-origin:50% 100%;opacity:0;transition:opacity .15s,transform .15s}.run-bubble:before,.run-bubble:after{content:"";position:absolute;left:50%;border:solid transparent}.run-bubble:before{bottom:-15px;margin-left:-11px;border-width:13px 11px 0;border-top-color:var(--ink)}.run-bubble:after{bottom:-9px;margin-left:-7px;border-width:9px 7px 0;border-top-color:var(--paper)}.run-bubble.show{opacity:1;transform:translate(-50%,calc(-100% - 16px)) scale(1)}.run-bubble.offscreen{left:var(--left)!important;top:auto!important;bottom:calc(var(--bottom) + 118px);border-radius:14px 14px 14px 4px}.run-bubble.offscreen,.run-bubble.offscreen.show{transform:none;transition:opacity .15s}.run-bubble.offscreen:before,.run-bubble.offscreen:after{display:none}.run-floater{position:absolute;transform:translate(-50%,-50%);color:var(--gun);font:400 24px/1 var(--display);-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;text-shadow:2px 3px 0 var(--ink);animation:float-up 1.1s ease-out forwards;pointer-events:none}@keyframes float-up{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}to{opacity:0;transform:translate(-50%,-220%) scale(1)}}.run-screen{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.run-screen:not(:empty){background:#080b128c;pointer-events:auto}.run.ended .run-prompt,.run.ended .run-timer.urgent{animation:none}.panel{width:min(430px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:24px 26px;border:3px solid var(--ink);border-radius:22px;background:var(--card);box-shadow:6px 8px #0000008c;text-align:center;animation:drop-in .35s cubic-bezier(.2,1.4,.4,1)}@keyframes drop-in{0%{transform:translateY(-30px) rotate(-3deg);opacity:0}}.panel button{font:400 19px/1 var(--display);letter-spacing:.02em;min-height:48px;padding:12px 20px;border:3px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:3px 4px 0 var(--ink);white-space:nowrap;cursor:pointer;transition:transform .08s,box-shadow .08s}.panel button:hover{transform:translate(-1px,-1px);box-shadow:4px 5px 0 var(--ink)}.panel button:active{transform:translate(3px,4px);box-shadow:0 0 0 var(--ink)}.panel button:focus-visible{outline:3px solid var(--slush);outline-offset:3px}.panel button.primary{background:var(--gun)}.panel button.big{font-size:24px;padding:14px 28px;transform:rotate(-1.5deg)}.title button,.closed button,.menu-sub button{border-color:var(--paper);box-shadow:3px 4px 0 var(--shadow-red)}.title button:hover,.closed button:hover,.menu-sub button:hover{box-shadow:4px 5px 0 var(--shadow-red)}.title button:active,.closed button:active,.menu-sub button:active{box-shadow:0 0 0 var(--shadow-red)}.title h1{margin:2px 0 0;font:400 72px/.95 var(--display);letter-spacing:.02em;color:var(--gun);transform:rotate(-3deg);text-shadow:5px 6px 0 var(--shadow-red)}.title .tag{color:var(--text-quiet);font:700 16px/1.45 var(--ui);margin:14px 4px 16px;text-wrap:balance}.note{background:var(--paper);color:var(--ink);border-radius:4px;box-shadow:3px 4px 0 var(--ink);text-align:left}.title-note{display:inline-block;padding:10px 22px 12px 16px;margin:0 0 22px;transform:rotate(1.5deg)}.note-head{font:400 18px/1.1 var(--marker);color:var(--shadow-red);margin-bottom:6px}.title-note ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}.title-note li{display:flex;align-items:center;gap:12px;font:400 21px/1.2 var(--marker)}:is(.title,.menu-sub) .controls{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;font:800 13px/1.6 var(--ui);color:var(--text-quiet)}:is(.title,.menu-sub) .controls li{display:flex;align-items:center;gap:0;white-space:nowrap}:is(.title,.menu-sub) .controls kbd{margin-right:3px}:is(.title,.menu-sub) .controls li span{margin-left:2px}:is(.title,.menu-sub) .controls small{font-size:12px;margin:0 4px 0 1px}:is(.title,.menu-sub) .controls .plate{display:grid;place-items:center;width:30px;height:30px;margin-right:7px;border:2px solid var(--ink);border-radius:50%;background:var(--paper)}:is(.title,.menu-sub) .controls .plate svg{width:22px;height:22px}:is(.title,.menu-sub) .controls .thumb{width:18px;height:18px;border:2px dashed var(--ink);border-radius:50%}.title .best{margin:14px 0 0;color:var(--gun);font:800 15px var(--ui);display:flex;align-items:center;justify-content:center;gap:6px}.stars{display:inline-flex;gap:2px;vertical-align:middle}.stars svg.off{opacity:.22}.menu-buttons{display:grid;gap:var(--btn-gap);justify-items:center;margin:0 auto;width:min(280px,100%)}.menu-buttons button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px}.menu-buttons button.big{font-size:30px;padding:14px 28px;min-height:60px}.menu-buttons button:not(.big):nth-child(2){transform:rotate(1deg)}.menu-buttons button:not(.big):nth-child(3){transform:rotate(-.8deg)}.menu-buttons button:not(.big):hover{transform:translate(-1px,-1px)}.menu-buttons button svg{flex:none}.menu-toggles{display:flex;gap:var(--btn-gap);justify-content:center;margin-top:var(--btn-gap)}.panel button.toggle{display:inline-flex;align-items:center;gap:7px;font:800 15px/1 var(--ui);min-height:44px;padding:6px 12px 6px 8px}.panel button.toggle svg{width:24px;height:24px}.toggle .state{min-width:2.4em;padding:3px 6px;border:2px solid var(--ink);border-radius:999px;background:var(--mint);color:var(--ink);font:400 13px/1 var(--display);letter-spacing:.04em}.controls-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:var(--btn-gap)}body:not(.touch) .controls-row{display:none}.panel button.toggle.ctl{font-size:13px;min-height:40px;padding:4px 8px;gap:5px}.toggle.ctl .state{background:var(--paper);min-width:0}.toggle[aria-pressed=false] .state{background:#c9c3b4;text-decoration:line-through}.toggle[aria-pressed=false] svg{opacity:.45}.screen-back{position:absolute;top:var(--top);left:var(--left);display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:6px 16px 6px 8px;border:3px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:400 18px/1 var(--display);letter-spacing:.02em;box-shadow:3px 4px 0 var(--ink);transform:rotate(-2deg);cursor:pointer;animation:drop-in .35s cubic-bezier(.2,1.4,.4,1);transition:transform .08s,box-shadow .08s}.screen-back:hover{transform:rotate(-2deg) translate(-1px,-1px);box-shadow:4px 5px 0 var(--ink)}.screen-back:active{transform:rotate(-2deg) translate(3px,4px);box-shadow:0 0 0 var(--ink)}.screen-back:focus-visible{outline:3px solid var(--slush);outline-offset:3px}body.touch .run-screen:not(:empty):has(.screen-back){padding-top:calc(var(--top) + 54px)}body.touch .run-screen:not(:empty):has(.screen-back) .panel{max-height:calc(100dvh - 204px)}@media(orientation:landscape)and (max-height:540px){body.touch .run-screen:not(:empty):has(.screen-back){padding-top:8px}body.touch .run-screen:not(:empty):has(.screen-back) .panel{max-height:calc(100dvh - 16px)}body.touch .screen-back{left:auto;right:var(--right)}}.menu-hint{margin:14px 0 0;font:800 12px/1.6 var(--ui);color:var(--text-quiet)}.menu-hint kbd{font-size:11px}.menu-sub{width:min(460px,calc(100vw - 32px))}.sticker-title{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font:400 40px/1 var(--display);letter-spacing:.02em;color:var(--gun);transform:rotate(-2deg);text-shadow:3px 4px 0 var(--shadow-red)}.sticker-title svg{box-sizing:content-box;padding:5px;border:3px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:2px 3px 0 var(--shadow-red);transform:rotate(4deg)}.board-body{min-height:120px;display:grid;align-content:center;justify-items:center;gap:12px}.board-state{margin:0;color:var(--text-quiet);font:700 16px/1.45 var(--ui);text-wrap:balance}.board-list{list-style:none;margin:0;padding:8px 12px;width:100%;background:var(--paper);color:var(--ink);border-radius:4px;box-shadow:3px 4px 0 var(--ink);transform:rotate(.6deg);font:700 15px/1.3 var(--mono);text-align:left}.board-list li{display:grid;grid-template-columns:2.2em 1fr auto;align-items:center;gap:8px;padding:5px 2px}.board-list .who{display:flex;align-items:baseline;gap:4px 10px;flex-wrap:wrap;min-width:0}.board-list li+li{border-top:2px dashed #c9c3b4}.board-list .rk{font:400 18px/1 var(--display);color:var(--pencil);text-align:center}.board-list .top .rk{color:var(--ink)}.board-list .top1 .rk{color:var(--shadow-red);font-size:22px}.board-list .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-family:var(--ui);font-weight:800;font-size:16px}.board-list .dt{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--pencil)}.board-list .sc{text-align:right;font-size:17px;min-width:3.4em}.board-list li.mine{background:var(--gun);border-radius:6px;box-shadow:var(--sticker);border-top-color:transparent}.board-list li.mine+li{border-top-color:transparent}.how-steps{margin:0 0 14px;padding:0 0 0 1.4em;text-align:left;color:var(--text);font:700 16px/1.45 var(--ui);display:grid;gap:6px}.how-steps b{color:var(--gun);font-weight:900}.how-score{display:inline-block;padding:10px 18px 10px 16px;transform:rotate(-1.2deg)}.how-score p{margin:0;font:400 19px/1.3 var(--marker)}.how-score .how-stars{margin-top:6px;display:flex;align-items:center;gap:4px;font:800 13px var(--ui);color:var(--pencil);flex-wrap:wrap}.receipt{background:var(--paper);color:#222;font:400 15px/1.55 var(--mono);font-weight:700;text-align:left;border:none;border-radius:4px;box-shadow:none;transform:rotate(-1deg);-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - 10px) no-repeat,radial-gradient(circle 6px at 6px 100%,transparent 98%,#000) bottom / 12px 12px repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - 10px) no-repeat,radial-gradient(circle 6px at 6px 100%,transparent 98%,#000) bottom / 12px 12px repeat-x;padding-bottom:30px}.r-head{text-align:center;display:flex;flex-direction:column;gap:2px}.r-head b{font:400 26px/1 var(--display);letter-spacing:.04em;color:var(--ink)}.r-head small{font-size:11px;letter-spacing:.08em;color:var(--pencil)}.r-sep{border-top:2px dashed #8a857b;margin:10px 0}.r-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.r-row>span:first-child{display:flex;align-items:center;gap:8px}.r-row.item{padding:1px 0}.r-row.warn{color:#b23a26}.r-row.total{font-size:16px;border-top:2px solid #222;margin-top:4px;padding-top:4px}.r-stars{display:flex;justify-content:center;margin:12px 0 4px}.r-stars .stars{gap:6px}.r-rating{text-align:center;margin:8px 0 4px}.r-rating span{display:inline-block;padding:3px 12px;border:3px solid var(--shadow-red);border-radius:6px;color:var(--shadow-red);font:400 18px/1.2 var(--display);letter-spacing:.06em;transform:rotate(-3deg)}.r-best{text-align:center;margin:12px 0 2px}.r-best span{display:inline-block;padding:4px 14px;border:3px solid var(--ink);border-radius:999px;background:var(--gun);color:var(--ink);box-shadow:var(--sticker);font:400 18px/1.2 var(--display);letter-spacing:.06em;animation:pulse-best .6s ease-in-out infinite alternate}@keyframes pulse-best{0%{transform:rotate(3deg) scale(1)}to{transform:rotate(3deg) scale(1.1)}}.r-foot{text-align:center;font-size:11px;color:var(--pencil);margin-top:6px}.r-row.score{font:400 22px/1.2 var(--display);letter-spacing:.04em;color:var(--ink)}.r-sum{font-size:11px;color:var(--pencil);text-align:right;margin-top:-2px}.r-name{margin-top:10px}.r-name label{display:block;font:400 17px/1.2 var(--marker);color:var(--shadow-red);margin-bottom:6px}.r-name-row{display:flex;gap:8px}.r-name input{flex:1;min-width:0;min-height:48px;padding:8px 12px;border:3px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:800 18px/1 var(--ui)}.r-name input:focus-visible{outline:3px solid var(--slush);outline-offset:2px}.r-name input:disabled,.r-name button:disabled{opacity:.6}.r-name .primary{flex:none}.r-msg{min-height:1.2em;margin:6px 0 0;font:800 13px/1.3 var(--ui);color:#b23a26}.r-msg:empty{display:none}.r-ranked{text-align:center;margin:12px 0 0}.r-ranked span{display:inline-block;padding:4px 14px;border:3px solid var(--ink);border-radius:999px;background:var(--mint);color:var(--ink);box-shadow:var(--sticker);font:400 19px/1.2 var(--display);letter-spacing:.05em;transform:rotate(-2deg)}.r-buttons{display:flex;flex-wrap:wrap;gap:var(--btn-gap);justify-content:center;margin-top:var(--btn-gap);font-family:var(--ui)}.panel-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin-top:var(--btn-gap)}.panel button.report-link{min-height:40px;padding:6px 4px;border:0;border-radius:0;background:none;box-shadow:none;color:var(--text-quiet);font:700 14px/1.2 var(--ui);letter-spacing:0;transform:none}.panel button.report-link:hover,.panel button.report-link:focus-visible{color:var(--text);transform:none;box-shadow:none}.panel>button.report-link{display:block;margin:var(--btn-gap) auto 0}.closed .sign{display:inline-block;margin:6px 0 14px;padding:8px 26px 6px;border:4px solid var(--paper);border-radius:10px;outline:3px solid var(--ink);background:var(--ketchup);color:var(--paper);box-shadow:6px 7px 0 3px var(--ink);font:400 54px/1 var(--display);letter-spacing:.08em;transform-origin:50% -40px;animation:swing 1.2s ease-in-out infinite alternate}@keyframes swing{0%{transform:rotate(-6deg)}to{transform:rotate(3deg)}}.closed p{color:var(--text-quiet);font:700 16px/1.45 var(--ui);margin:6px 0 14px;text-wrap:balance}.closed-items{list-style:none;padding:0;margin:4px 0 18px;display:flex;justify-content:center;gap:18px}.closed-items li{position:relative;width:62px;height:62px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:var(--paper);box-shadow:0 0 0 2px #fbf8ef40}.closed-items li.missed{background:#c9c3b4}.closed-items li.missed svg.ico{opacity:.5}.closed-items .badge{width:24px;height:24px;right:-6px;top:-6px;bottom:auto;border-width:2.5px}.closed-items .badge svg{width:15px;height:15px}.closed-stats{display:flex;justify-content:center;gap:14px;margin:0 0 4px}.share-text{width:100%;height:72px;margin-top:10px;font:12px/1.4 var(--mono);resize:none}.touch-ui{display:none;position:relative;z-index:5;--main: 76px;--sub: 56px;--arc-gap: 10px;--pad-l: calc(max(16px, env(safe-area-inset-left)) + 8px) ;--pad-r: calc(max(16px, env(safe-area-inset-right)) + 8px) ;--pad-b: calc(max(16px, env(safe-area-inset-bottom)) + 10px) ;--dial: calc(var(--stick-r, 56px) * 2 + 18px);--home-y: calc(100% - var(--pad-b) - var(--dial) / 2);--home-x: calc(var(--pad-l) + var(--dial) / 2)}.touch-ui.side-right{--home-x: calc(100% - var(--pad-r) - var(--dial) / 2)}.touch-ui.side-center{--home-x: 50%}.touch-ui.visible{display:block}.touch-stick-base{position:fixed;width:var(--dial);height:var(--dial);margin:calc(var(--dial) / -2) 0 0 calc(var(--dial) / -2);border-radius:50%;border:3px solid rgba(251,248,239,.45);background:#0d121b40;opacity:0;transition:opacity .12s}.touch-stick-base.rest{left:var(--home-x);top:var(--home-y)}.touch-stick-base.active{opacity:1}.touch-stick-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;border:3px solid var(--ink);background:#fbf8efcc;transform:translate(-50%,-50%)}.touch-stick-hint{position:fixed;left:var(--home-x);top:var(--home-y);width:calc(var(--stick-r, 56px) * 2);height:calc(var(--stick-r, 56px) * 2);margin:calc(var(--stick-r, 56px) * -1) 0 0 calc(var(--stick-r, 56px) * -1);border-radius:50%;border:3px dashed rgba(251,248,239,.6);box-shadow:0 0 0 2px #1d1d1f4d,inset 0 0 0 2px #1d1d1f4d;opacity:0;transition:opacity .3s;pointer-events:none}.touch-stick-hint div{position:absolute;left:50%;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid rgba(251,248,239,.55);background:#1d1d1f47}.touch-ui.hint .touch-stick-hint{opacity:1}.touch-ui.sticking .touch-stick-hint{opacity:0}.touch-ui:not(.stick-classic) .touch-stick-base{background:#0d121b6b;border:3px solid var(--ink);box-shadow:inset 0 0 0 3px #fbf8efb3,inset 0 0 0 5px #1d1d1f59,3px 4px #1d1d1f8c;transition:opacity .12s,transform .12s}.touch-ui:not(.stick-classic) .touch-stick-base.active{transform:scale(1.03)}.touch-stick-marks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.stick-classic .touch-stick-marks,.stick-classic .touch-stick-dir{display:none}.touch-stick-dir{position:absolute;inset:3px;border-radius:50%;background:conic-gradient(from calc(var(--a, 0deg) - 50deg),var(--gun) 0 100deg,transparent 0);-webkit-mask:radial-gradient(closest-side,transparent 82%,#000 84%);mask:radial-gradient(closest-side,transparent 82%,#000 84%);opacity:0;transition:opacity .12s;pointer-events:none}.touch-stick-base.pushed .touch-stick-dir{opacity:calc(.45 + .55 * var(--m, 1))}.touch-ui:not(.stick-classic) .touch-stick-knob{width:calc(var(--dial) * .44);height:calc(var(--dial) * .44);display:grid;place-items:center;background:var(--paper);border:3px solid var(--ink);box-shadow:2px 4px 0 var(--ink);transition:background-color .1s,box-shadow .1s}.touch-ui:not(.stick-classic) .touch-stick-knob svg{width:55%;height:55%;transform:rotate(-6deg)}.touch-ui:not(.stick-classic) .touch-stick-base.active .touch-stick-knob{background:var(--gun);box-shadow:1px 2px 0 var(--ink)}.touch-ui:not(.stick-classic) .touch-stick-base:not(.active) .touch-stick-knob{transition:transform .26s cubic-bezier(.34,1.7,.6,1),background-color .1s,box-shadow .1s}@media(prefers-reduced-motion:reduce){.touch-ui:not(.stick-classic) .touch-stick-base:not(.active) .touch-stick-knob{transition:background-color .1s}}.touch-ui.stick-fixed .touch-stick-hint{visibility:hidden}.touch-ui.stick-fixed .touch-stick-base{opacity:.88}.touch-ui.stick-fixed .touch-stick-base.active{opacity:1}.touch-ui.stick-float .touch-stick-hint{opacity:.6}.touch-ui.stick-float.hint .touch-stick-hint{opacity:1}.touch-ui.stick-float.sticking .touch-stick-hint{opacity:0}.touch-btn{position:fixed;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:3px solid var(--ink);border-radius:50%;background:#3a3d44;color:var(--paper);box-shadow:var(--sticker);font:400 13px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;touch-action:none;transition:transform .08s,background-color .15s,box-shadow .08s;-webkit-user-select:none;user-select:none}.touch-btn>*{pointer-events:none}.touch-btn .lbl{margin-top:-1px}.touch-btn[hidden]{display:none}.touch-btn.pressed,.touch-steady.active{transform:translate(2px,3px) scale(.9);box-shadow:0 0 0 var(--ink)}.touch-btn.pressed .sh,.touch-steady.active .sh{display:none}.touch-steady.active{background:var(--slush);color:var(--ink)}.touch-grab{width:var(--main);height:var(--main);bottom:var(--pad-b);font-size:calc(var(--main) * .16)}.touch-ui.btns-left .touch-grab{left:var(--pad-l)}.touch-ui.btns-right .touch-grab{right:var(--pad-r)}.touch-grab .g-ico svg{width:calc(var(--main) * .5);height:calc(var(--main) * .5)}.touch-grab:after{content:"";position:absolute;inset:-11px;border-radius:50%;border:8px solid rgba(242,193,78,.45);opacity:0;pointer-events:none}.touch-grab.ready{background:var(--gun);color:var(--ink)}.touch-grab.ready:after{opacity:1;animation:grab-breathe .9s ease-in-out infinite alternate}.touch-grab.ready.pressed:after{animation:none;opacity:0}@keyframes grab-breathe{0%{transform:scale(.94);opacity:1}to{transform:scale(1.08);opacity:.35}}.touch-grab:not(.ready):not(.busy) .g-ico{opacity:.8}.touch-grab.busy{background:var(--gun);color:var(--ink);transform:translate(2px,3px) scale(.94);box-shadow:0 0 0 var(--ink)}.touch-grab.busy .sh{display:none}body.screen-up .touch-ui.btns-left .touch-grab{left:auto;right:var(--pad-r)}.touch-ui.tap-aim{--main: 68px}.touch-sub{--arc: calc(var(--main) / 2 + var(--sub) / 2 + var(--arc-gap) + var(--out, 0px));width:var(--sub);height:var(--sub);bottom:calc(var(--pad-b) + var(--main) / 2 + var(--arc) * var(--s, 0) - var(--sub) / 2);font-size:calc(var(--sub) * .2)}.touch-ui.btns-left .touch-sub{left:calc(var(--pad-l) + var(--main) / 2 + var(--arc) * var(--c, 1) - var(--sub) / 2)}.touch-ui.btns-right .touch-sub{right:calc(var(--pad-r) + var(--main) / 2 + var(--arc) * var(--c, 1) - var(--sub) / 2)}.touch-steady{--c: .978;--s: .208;--i: 0}.touch-ui.side-center .touch-sub{right:auto;left:var(--pad-l);bottom:calc(var(--pad-b) + var(--i, 0) * (var(--sub) + var(--arc-gap)))}.touch-steady>svg.ico{width:calc(var(--sub) * .52);height:calc(var(--sub) * .52)}.touch-extra{display:grid;place-items:center;align-content:center;gap:0;line-height:1;background:var(--paper);color:var(--ink)}.touch-extra:disabled{opacity:.4}.touch-extra .x-ico:empty{display:none}.touch-extra .x-ico svg{width:calc(var(--sub) * .5);height:calc(var(--sub) * .5);display:block}.touch-extra .lbl{font-size:calc(var(--sub) * .2)}.touch-extra.ringed:before{content:"";position:absolute;inset:-7px;border-radius:50%;background:conic-gradient(var(--gun) calc(var(--ring, 0) * 360deg),rgba(29,29,31,.45) 0);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%);pointer-events:none}.touch-extra.hot{animation:touch-hot .8s ease-in-out infinite}@keyframes touch-hot{50%{transform:scale(1.1);box-shadow:0 0 0 4px var(--gun),2px 3px 0 var(--ink)}}.touch-extra.hold{background:var(--gun)}.touch-extra.hold:after{content:"";position:absolute;inset:-12px;border-radius:50%;border:3px dashed var(--paper);opacity:.9;pointer-events:none;animation:hold-spin 3s linear infinite}.touch-extra.hold.pressed{animation:none;transform:scale(.94);box-shadow:0 0 0 var(--ink)}.touch-extra.hold.pressed:after{opacity:0}@keyframes hold-spin{to{transform:rotate(360deg)}}.touch-extra.snap{animation:touch-snap .4s ease-out}@keyframes touch-snap{20%{transform:translate(-5px) rotate(-6deg)}45%{transform:translate(5px) rotate(5deg)}70%{transform:translate(-3px)}}.touch-extra.cooling{opacity:.85}.touch-extra.cooling .x-ico,.touch-extra.cooling .lbl{opacity:.55}.touch-extra.cooling:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(rgba(29,29,31,.55) calc(var(--cool, 0) * 360deg),transparent 0);pointer-events:none}.touch-extra .x-badge{position:absolute;top:-7px;right:-9px;min-width:22px;padding:3px 5px 2px;border:2px solid var(--ink);border-radius:11px;background:var(--ketchup);color:var(--paper);font:400 12px/1 var(--display);letter-spacing:0}.touch-extra .x-badge:empty{display:none}@media(prefers-reduced-motion:reduce){.touch-extra.hold:after,.touch-extra.hot{animation:none}}.touch-extra.hold.ringed:before{inset:-10px;background:conic-gradient(var(--gun) calc(var(--ring, 0) * 360deg),rgba(29,29,31,.6) 0);-webkit-mask:radial-gradient(circle,transparent 54%,#000 56%);mask:radial-gradient(circle,transparent 54%,#000 56%)}.touch-coach{position:fixed;padding:7px 11px 6px;border:3px solid var(--ink);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--sticker);font:400 15px/1.15 var(--display);text-align:center;transform:translate(-50%,-100%) rotate(-2deg);opacity:0;visibility:hidden;transition:opacity .2s,visibility 0s linear .2s;pointer-events:none;width:max-content;max-width:min(230px,64vw)}.touch-coach.show{opacity:1;visibility:visible;transition:opacity .15s;animation:coach-pop .35s cubic-bezier(.2,1.5,.4,1)}.touch-coach:after{content:"";position:absolute;left:calc(50% + var(--tail, 0px) - 8px);bottom:-11px;width:14px;height:14px;border:3px solid var(--ink);border-top:0;border-left:0;background:var(--paper);transform:rotate(45deg)}@keyframes coach-pop{0%{transform:translate(-50%,-80%) rotate(-2deg) scale(.6)}}@media(orientation:landscape)and (max-height:540px){.touch-ui{--main: 66px;--sub: 50px;--arc-gap: 8px;--pad-b: calc(max(12px, env(safe-area-inset-bottom)) + 8px) }.touch-ui.tap-aim{--main: 60px}}@media(orientation:portrait)and (max-width:359px),(orientation:landscape)and (max-height:359px){.touch-ui{--main: 64px;--sub: 48px;--arc-gap: 8px}.touch-ui.tap-aim{--main: 58px}}@media(min-width:700px)and (min-height:700px){.touch-ui{--main: 84px;--sub: 62px;--arc-gap: 12px}.touch-ui.tap-aim{--main: 74px}}.tuning-panel{pointer-events:auto}body.touch{--top: max(10px, env(safe-area-inset-top));--left: max(12px, env(safe-area-inset-left));--right: max(12px, env(safe-area-inset-right))}body.touch .run-list{min-width:0;padding:6px 10px 7px 8px}body.touch .run-list-title{font-size:15px;margin-bottom:1px}body.touch .run-item{gap:6px;padding:1px 0;font-size:15px}body.touch .run-item.rung .name{text-decoration-thickness:2px}body.touch .run-item .ico>svg{width:24px;height:24px}body.touch .run-item .name .full,body.touch .run-item .mark{display:none}body.touch .run-item .name .short{display:inline}body.touch .run-item{gap:9px}body.touch .badge{width:15px;height:15px;right:-5px;bottom:-4px;font-size:10px;border-width:1.5px}body.touch .badge svg{width:10px;height:10px}body.touch .run-timer{padding:2px 9px 2px 5px;gap:4px}body.touch .run-timer svg{width:22px;height:22px}body.touch .run-timer .led{font-size:21px}body.touch .hud-meter{top:calc(var(--top) + 46px);gap:2px;left:calc(50% + 20px)}body.touch .meter-face,body.touch .meter-face svg{width:28px;height:28px}body.touch .meter-track{width:82px;height:18px}body.touch .run-stats{gap:6px}body.touch .pill{padding:1px 9px 1px 4px;gap:3px}body.touch .pill .run-falls{font-size:19px}body.touch .pill svg{width:24px;height:24px}body.touch .pill .run-damage{font-size:14px}body.touch .run-prompt{bottom:calc(max(36px,env(safe-area-inset-bottom)) + 124px);font-size:15px;padding:7px 16px}body.touch .run-bubble{max-width:min(62vw,260px);font-size:14px}body.touch .run-bubble.offscreen{bottom:calc(max(36px,env(safe-area-inset-bottom)) + 190px)}body.touch .hud-pop{font-size:36px;top:19%}body.touch .hud-pop.fall{font-size:44px}body.touch .hud-pop.walshed{font-size:56px}body.touch .run-screen:not(:empty){align-items:start;padding-top:var(--top)}body.touch .panel{max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);padding:18px}body.touch .title h1{font-size:58px}body.touch .title .tag{font-size:15px;margin:10px 0 12px}body.touch .title-note{margin-bottom:16px}body.touch .title-note li{font-size:19px}body.touch .title-note svg{width:34px;height:34px}body.touch .title .controls{margin-top:14px}body.touch{--btn-gap: 12px}body.touch .menu-buttons button.big{font-size:28px;min-height:58px}body.touch .sticker-title{font-size:34px;margin-bottom:10px}body.touch .how-steps{font-size:15px}@media(orientation:landscape)and (max-height:540px){body.touch .run-prompt{bottom:calc(var(--bottom) + 6px)}body.touch .hud-meter{left:50%}body.touch .meter-track{width:110px}body.touch .hud-pop{top:26%}body.touch .run-bubble.offscreen{bottom:calc(var(--bottom) + 150px)}body.touch .run-screen:not(:empty){align-items:center;justify-items:start;padding:8px 0 8px calc(var(--left) + 8px)}body.touch .panel{max-height:calc(100dvh - 16px);width:min(560px,calc(100vw - 260px))}body.touch .title{display:grid;grid-template-columns:1fr auto;column-gap:18px;align-items:center;text-align:left}body.touch .title h1{grid-column:1;font-size:50px;margin-bottom:6px}body.touch .title .tag{grid-column:1;margin:8px 0 10px;font-size:14px}body.touch .title-note{grid-column:2;grid-row:1 / span 3;margin:0}body.touch .title button.big{grid-column:1;justify-self:start}body.touch .title .controls{grid-column:1 / -1;justify-content:flex-start;margin-top:12px}body.touch .title .best{grid-column:1 / -1;justify-content:flex-start}body.touch .menu{grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr auto;row-gap:0;align-items:start}body.touch .menu h1{grid-row:1}body.touch .menu .tag{grid-row:2}body.touch .menu .title-note{grid-row:1 / span 3;align-self:center}body.touch .menu .menu-buttons{grid-column:1;grid-row:3;grid-template-columns:1fr 1fr;width:100%;justify-items:stretch}body.touch .menu .menu-buttons .big{grid-column:1 / -1;font-size:24px;min-height:50px}body.touch .menu .menu-buttons button:not(.big){font-size:15px;padding:8px 10px;min-height:44px;gap:6px}body.touch .menu .menu-buttons button svg{width:22px;height:22px}body.touch .menu{width:min(600px,calc(100vw - 210px))}body.touch .menu .menu-toggles{grid-column:1;grid-row:4;justify-content:flex-start}body.touch .menu .menu-toggles .toggle{font-size:14px;min-height:40px;padding:4px 10px 4px 6px}body.touch .menu .title-note{max-width:210px}body.touch .menu .title-note li{white-space:normal;line-height:1.05}body.touch .menu .best{grid-column:2;grid-row:4;margin-top:8px;align-self:center;justify-content:center}body.touch .menu-sub{width:min(560px,calc(100vw - 250px));padding:12px 18px}body.touch .menu-sub .sticker-title{font-size:28px;margin-bottom:8px}body.touch .board-list li{padding:3px 2px}body.touch .how-steps{font-size:14px;gap:2px}body.touch .how-score p{font-size:16px}body.touch .how .controls{margin-top:8px}body.touch .receipt{width:min(600px,calc(100vw - 250px));padding:14px 20px 26px}body.touch .r-cols{display:flex;gap:22px;align-items:center}body.touch .r-main{flex:1.2}body.touch .r-side{flex:1}body.touch .r-stars{margin-top:0}body.touch .r-sep-score{display:none}body.touch .r-side{align-self:stretch;min-width:0}body.touch .r-main{min-width:0}body.touch .receipt{width:min(640px,calc(100vw - 210px))}body.touch .r-name-row .primary{padding:8px 12px;font-size:16px}body.touch .r-name label{font-size:15px}body.touch .r-name input,body.touch .r-name button{min-height:44px}body.touch .r-row.score{font-size:20px}}@media(max-width:379px){body.touch .run-timer{left:auto;right:var(--right);transform:none}body.touch .run-timer.urgent{animation-name:pulse-right}body.touch .run-stats{top:calc(var(--top) + 44px)}body.touch .hud-meter{left:calc(var(--left) + 2px);transform:none;top:calc(var(--top) + 132px)}body.touch .title h1{font-size:48px}body.touch .title .tag{font-size:14px;margin:8px 0 10px}body.touch .title-note li{font-size:17px}body.touch .title-note svg{width:28px;height:28px}body.touch .closed .sign{font-size:42px;padding:6px 18px 4px}}@keyframes pulse-right{to{transform:scale(1.1)}}@media(max-width:379px){body.touch .hud-pop{top:30%;font-size:32px}body.touch .hud-pop.fall{font-size:40px}body.touch .hud-pop.walshed{font-size:44px;-webkit-text-stroke-width:7px}}@media(max-height:860px){body.touch .receipt{font-size:12.5px;line-height:1.45}body.touch .r-head b{font-size:22px}body.touch .r-sep{margin:6px 0}body.touch .r-stars svg{width:34px;height:34px}body.touch .r-rating{margin:4px 0 2px}body.touch .r-rating span,body.touch .r-best span{font-size:15px}body.touch .r-foot{display:none}body.touch .r-row.item svg{width:18px;height:18px}}@media(orientation:landscape)and (max-height:540px){body.touch .r-row>span:first-child,body.touch .title-note li{white-space:nowrap}body.touch .title-note li{font-size:16px;gap:8px}body.touch .title-note svg{width:26px;height:26px}body.touch .title h1{font-size:44px}body.touch .title{padding-right:28px}body.touch{--btn-gap: 10px}body.touch .r-buttons button{font-size:16px;padding:10px 12px;min-height:44px}}body.screen-up .hud-meter,body.screen-up .hud-getup,body.screen-up .touch-steady,body.screen-up .touch-stick-base:not(.active),body.screen-up .hud-pop,body.screen-up .hud-hint,body.screen-up .run-list,body.screen-up .run-stats,body.screen-up .run-timer,body.screen-up .run-prompt,body.screen-up .run-bubble.offscreen{visibility:hidden}@media(max-height:600px){body:not(.touch) .menu-hint{display:none}}@media(min-width:1360px)and (min-height:820px){body:not(.touch) :is(.run-list,.run-timer,.run-stats,.hud-meter,.run-prompt,.hud-getup,.hud-hint){zoom:1.15}body:not(.touch) .run-bubble{font-size:17px;max-width:300px}body:not(.touch) .panel{zoom:1.2;max-height:calc((100dvh - 32px) / 1.2)}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(orientation:portrait)and (max-height:800px){body.touch .title .tag{display:none}body.touch .title-note{margin-bottom:12px}}.gpu-lost{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:#0d121bd1}.gpu-lost-card{max-width:340px;padding:20px 22px;border:3px solid var(--ink);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:var(--sticker);text-align:center}.gpu-lost-card b{display:block;font:400 26px/1.1 var(--display);margin-bottom:8px}.gpu-lost-card p{margin:0 0 14px;font:700 15px/1.4 var(--ui)}.gpu-lost-buttons{display:flex;gap:12px;justify-content:center;align-items:center}.gpu-lost-buttons .primary{font:400 20px/1 var(--display);padding:10px 22px;border:3px solid var(--ink);border-radius:12px;background:var(--gun);color:var(--ink)}
