:root{--ink:#1d1530;--paper:#fff8ec;--sun:#ffd23f;--pop:#ff8a1f;--lane:#7fd1c2;--sky:#8ed2f5;--volt:#b9a6ff;--f-display:"Bungee", "Arial Black", Impact, system-ui, sans-serif;--f-ui:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{height:100%}body{margin:0}*,:before,:after{box-sizing:border-box}body{background:var(--sky);color:var(--ink);font-family:var(--f-ui);overflow:hidden}.app{-webkit-user-select:none;user-select:none;height:100%;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{padding-block:12px 14px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));pointer-events:none;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.brand h1{font-family:var(--f-display);color:var(--sun);letter-spacing:.02em;text-shadow:2px 0 var(--ink), -2px 0 var(--ink), 0 2px var(--ink), 0 -2px var(--ink), 2px 2px var(--ink), -2px -2px var(--ink), 2px -2px var(--ink), -2px 2px var(--ink), 5px 5px 0 var(--ink);margin:0;font-size:36px;line-height:1}.brand{flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:relative}.tet{white-space:nowrap;color:var(--paper);border:3px solid var(--ink);box-shadow:inset 0 0 0 2px #ffd23fb3, 4px 4px 0 var(--ink);background:radial-gradient(circle,#ffd23f47 1px,#0000 1.6px) 0 0/11px 11px,radial-gradient(circle at 15% 0,#ff6b5e,#d62828 55%,#a4161a);border-radius:16px;align-items:center;gap:10px;padding:8px 40px 8px 10px;display:flex;position:absolute;top:max(100% + 10px,62px);left:0}.tet:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffecaa8c 50%,#0000 62%) 160% 0/260% 100% no-repeat;animation:4.5s ease-in-out infinite tet-shine;position:absolute;inset:0}@keyframes tet-shine{0%,55%{background-position:160% 0}to{background-position:-60% 0}}.tet-mai{flex:none;width:34px;height:34px;animation:3.2s ease-in-out infinite tet-sway}@keyframes tet-sway{50%{transform:rotate(14deg)scale(1.06)}}.tet-txt{flex-direction:column;gap:1px;display:flex;position:relative}.tet-l1{letter-spacing:.08em;text-transform:uppercase;align-items:baseline;gap:6px;font-size:12px;font-weight:800;display:flex}.tet-num{font-family:var(--f-display);letter-spacing:.02em;color:var(--sun);text-shadow:2px 0 var(--ink), -2px 0 var(--ink), 0 2px var(--ink), 0 -2px var(--ink), 2px 2px var(--ink), -2px -2px var(--ink), 2px -2px var(--ink), -2px 2px var(--ink), 3px 3px 0 var(--ink);font-size:22px;font-weight:400;line-height:1}.tet-l2{color:#ffe7a8;font-size:12.5px;font-weight:700}.tet.now .tet-l1{font-family:var(--f-display);letter-spacing:.02em;color:var(--sun);font-size:15px;font-weight:400}.tet-lantern{transform-origin:50% 0;width:22px;height:40px;animation:2.6s ease-in-out infinite tet-swing;position:absolute;top:-14px;right:8px}@keyframes tet-swing{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}.app:not([data-phase=menu]) .tet{display:none}@media (width<=600px){.tet{box-shadow:inset 0 0 0 1.5px #ffd23fb3, 3px 3px 0 var(--ink);border-width:2.5px;border-radius:10px;gap:5px;padding:4px 8px 4px 5px;top:calc(100% + 6px);right:0}.tet-mai{width:17px;height:17px}.tet-txt{gap:0}.tet-l1{letter-spacing:.04em;gap:3px;font-size:9px}.tet-num{text-shadow:1.5px 0 var(--ink), -1.5px 0 var(--ink), 0 1.5px var(--ink), 0 -1.5px var(--ink), 2px 2px 0 var(--ink);font-size:15px}.tet-l2{font-size:9px}.tet.now .tet-l1{font-family:var(--f-ui);letter-spacing:0;text-transform:none;font-size:10.5px;font-weight:900}.tet-lantern{width:13px;height:24px;top:-9px;right:-7px}}.hammers{background:var(--paper);border:2px solid var(--ink);border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 12px;font-size:12px;font-weight:800;transition:background .2s;display:inline-flex}.hammers i{border:2px solid var(--ink);border-radius:2px;width:11px;height:11px;margin:0 2px;transform:rotate(45deg)}.hammers i.on{background:var(--volt)}.hammers.full{background:var(--sun)}.hammers.full i{background:var(--ink)}.pad .b-bolt[aria-disabled=true]{opacity:.55}.brand p{background:var(--paper);border:2px solid var(--ink);border-radius:999px;margin:0;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.chips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}button{font:inherit;color:var(--ink);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:3px solid #fff}.chip{background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px;padding:8px 12px;font-size:13px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.chip:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.chip[aria-pressed=true]{background:var(--lane)}.bottom{flex-direction:column;align-items:center;gap:10px;display:flex}.pad{--bw:min(76px, calc((100vw - 72px)/5));justify-content:center;gap:8px;display:flex}.pad button{width:var(--bw);height:var(--bw);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);white-space:nowrap;border-radius:22px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:800;transition:transform 80ms,box-shadow 80ms;display:flex}.pad button svg{width:26px;height:26px}.pad .b-side{background:var(--paper)}.pad .b-up{background:var(--sun)}.pad .b-down{background:var(--pop)}.pad .b-bolt{background:var(--volt)}.flash{opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.pad button.hit,.pad button:active{box-shadow:0 0 0 var(--ink);transform:translate(4px,4px)}.hint{text-align:center;background:#fff8ecd9;border-radius:999px;margin:0;padding:4px 12px;font-size:12px;font-weight:700}.move{font-family:var(--f-display);color:var(--paper);white-space:nowrap;opacity:0;pointer-events:none;text-shadow:3px 0 var(--ink), -3px 0 var(--ink), 0 3px var(--ink), 0 -3px var(--ink), 3px 3px var(--ink), -3px -3px var(--ink), 3px -3px var(--ink), -3px 3px var(--ink), 6px 6px 0 var(--ink);font-size:clamp(30px,8vw,58px);transition:opacity .25s,transform .25s;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.6)}.move.show{opacity:1;transition:opacity 50ms,transform .12s cubic-bezier(.3,1.8,.5,1);transform:translate(-50%,-50%)scale(1)}.err{text-align:center;place-items:center;padding:24px;font-weight:700;display:grid;position:absolute;inset:0}[hidden]{display:none!important}.start{z-index:5;background:var(--paper);border:3px solid var(--ink);width:min(440px,100% - 32px);box-shadow:6px 6px 0 var(--ink);border-radius:22px;flex-direction:column;gap:12px;padding:18px 20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.start.side{left:max(16px, env(safe-area-inset-left,0px));width:min(360px,100% - 32px);max-height:calc(100% - 156px);top:140px;overflow:auto;transform:none}.start h2{font-family:var(--f-display);margin:0;font-size:24px;font-weight:400}.start p{margin:0;font-size:14px;line-height:1.5}.start ul{margin:0;padding-left:18px;font-size:13px;line-height:1.55}.chip.big{padding:10px 16px;font-size:15px}.chip.go{background:var(--sun)}.chip:disabled{opacity:.5;cursor:wait}.start-msg{color:#b33d00;font-weight:700}.start-msg:empty{display:none}.setup{flex-direction:column;gap:11px;display:flex}.start.side h2{font-size:21px}.start.side p{font-size:13px;line-height:1.45}.setup #goBtn{z-index:1;position:sticky;bottom:0}.app[data-phase=menu] .start{top:auto;left:50%;bottom:max(16px, env(safe-area-inset-bottom,0px));width:min(460px,100% - 32px);max-height:none;box-shadow:none;background:0 0;border:0;padding:0;overflow:visible;transform:translate(-50%)}.menu{flex-direction:column;gap:12px;margin-block:auto;display:flex}@media (width>=901px){.app[data-phase=menu] .start{left:auto;right:max(32px, env(safe-area-inset-right,0px));scrollbar-width:thin;width:468px;padding:8px 14px 12px;top:64px;bottom:8px;overflow:hidden auto;transform:none}}@media (height<=640px){.menu{gap:8px}.opt{min-height:38px}.stage-tag{display:none}}.stage{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.stage-name{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.start .stage-kicker{font-family:var(--f-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);background:var(--ink);border-radius:999px;margin:0;padding:3px 12px;font-size:11px;font-weight:800}.stage-kicker b{color:var(--sun)}.stage-title{font-family:var(--f-display);color:var(--sun);text-shadow:2px 0 var(--ink), -2px 0 var(--ink), 0 2px var(--ink), 0 -2px var(--ink), 2px 2px var(--ink), -2px -2px var(--ink), 2px -2px var(--ink), -2px 2px var(--ink), 4px 4px 0 var(--ink);font-size:32px;font-weight:400;line-height:1.05}.stage-tag{background:var(--paper);border:2px solid var(--ink);border-radius:10px;padding:3px 10px;font-size:12px;font-weight:700;line-height:1.35}.stage-arrow{width:52px;height:52px;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.stage-arrow svg{width:26px;height:26px}.stage-arrow:active,.press-start:active{box-shadow:0 0 0 var(--ink);animation:none;transform:translate(3px,3px)}.opts{color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:18px;flex-direction:column;padding:4px 14px;display:flex}.opt{border-top:1.5px dashed #1d153038;grid-template-columns:minmax(0,1fr) 32px minmax(118px,auto) 32px;align-items:center;gap:6px;min-height:46px;display:grid}.opt:first-child{border-top:0}label.opt{grid-template-columns:minmax(0,1fr) minmax(0,190px)}.opt-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:11px;font-weight:800}.opt:focus-within .opt-lbl:before{content:"▸ "}.opt-val{font-family:var(--f-display);color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-size:14px}.opt-arrow{width:32px;height:32px;color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer;background:#fff;border-radius:10px;place-items:center;padding:0;display:grid}.opt-arrow svg{width:16px;height:16px}.opt-arrow:active{background:var(--sun);box-shadow:0 0 0 var(--ink);transform:translate(2px,2px)}.opt-in{font-family:var(--f-display);width:100%;color:var(--ink);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);text-align:center;background:#fff;border-radius:10px;padding:6px 10px;font-size:14px}.opt-in:focus-visible{outline:3px solid var(--sun);outline-offset:1px}.start .menu .opt-note{text-align:center;color:#5a4f70;margin:0 0 8px;font-size:12px;font-weight:600}.press-start{font-family:var(--f-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);background:var(--sun);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:11px 18px;font-size:22px;animation:1.2s ease-in-out infinite press;display:flex}.press-start svg{width:24px;height:24px}@keyframes press{50%{transform:scale(1.04)}}.lang-hud{background:var(--paper);height:44px;box-shadow:3px 3px 0 var(--ink);pointer-events:auto}.lang-hud button{padding:0 12px;font-size:13px}.app:not([data-phase=menu]) .lang-hud{display:none}@media (width<=600px){.chips{gap:6px}.chips .gear{border-radius:10px;width:38px;height:38px}.chips .gear svg{width:20px;height:20px}.lang-hud{border-radius:10px;height:38px}.lang-hud button{padding:0 10px;font-size:12px}}@media (width<=400px){.hud .brand h1{font-size:22px}.lang-hud button{padding:0 8px}}.setup-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.chip.back{box-shadow:2px 2px 0 var(--ink);align-items:center;gap:3px;padding:5px 10px 5px 6px;font-size:12px;display:inline-flex}.chip.back svg{width:16px;height:16px}.kicker{letter-spacing:.08em;text-transform:uppercase;color:#5a4f70;font-size:11px;font-weight:800}.try{border:2px solid var(--ink);background:#fff;border-radius:12px}.try summary{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:800;list-style:none;display:flex}.try summary::-webkit-details-marker{display:none}.try summary b{font-variant-numeric:tabular-nums;margin-left:auto}.try summary:after{content:"";border:solid var(--ink);border-width:0 2.5px 2.5px 0;width:7px;height:7px;transition:transform .15s;transform:translateY(-2px)rotate(45deg)}.try[open] summary:after{transform:translateY(2px)rotate(-135deg)}.try .drills{padding:0 8px 8px}.start .note{color:#5a4f70;font-size:12px;font-weight:600;line-height:1.45}.start .note p{font-size:inherit;line-height:inherit}.start .note p+p{margin-top:4px}.start .note b{color:var(--ink)}.start .note .privacy{color:var(--ink);margin-top:8px;font-weight:800}.name-in{font:inherit;color:var(--ink);border:2.5px solid var(--ink);width:100%;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:12px;padding:8px 12px;font-size:15px;font-weight:800}.name-in:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.cam-guide{gap:3px;list-style:none;display:grid;font-size:inherit!important;line-height:inherit!important;margin:4px 0!important;padding:0!important}.cam-guide li{padding-left:21px;position:relative}.cam-guide i{background:var(--c);width:14px;height:4px;box-shadow:0 0 0 1.5px var(--ink);border-radius:2px;position:absolute;top:7px;left:0}.start .drills{grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:0;list-style:none;display:grid}.drills li{border:2px solid var(--ink);background:#fff;border-radius:10px;grid-template-columns:22px 1fr;align-content:start;align-items:center;column-gap:8px;padding:6px 8px;transition:background .2s;display:grid}.drills li i{border:2.5px solid var(--ink);background:var(--paper);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.drills li b{font-size:13px}.drills li span{color:#5a4f70;grid-column:1/-1;margin-top:3px;font-size:11px;font-weight:600;line-height:1.35}.drills li.ok{background:#d6f5e3}.drills li.ok i{background:#2ecc71}.drills li.ok i:after{content:"";border:solid var(--ink);border-width:0 2.5px 2.5px 0;width:5px;height:10px;transform:translateY(-1px)rotate(45deg)}.drills li.pop{animation:.4s cubic-bezier(.3,1.8,.5,1) pop}@keyframes pop{0%{scale:1.06}}.timer{height:44px;font-family:var(--f-display);font-variant-numeric:tabular-nums;background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:12px;align-items:center;gap:7px;padding:0 14px 0 11px;font-size:21px;display:flex}.timer svg{width:20px;height:20px}.timer.low{background:#ff6b5a;animation:1s infinite tblink}@keyframes tblink{0%,49%{background:#ff6b5a;scale:1.08}50%,to{background:var(--paper);scale:1}}.results{left:max(16px, env(safe-area-inset-left,0px));z-index:5;background:var(--paper);border:3px solid var(--ink);width:min(360px,100% - 32px);max-height:calc(100% - 156px);box-shadow:6px 6px 0 var(--ink);border-radius:22px;flex-direction:column;gap:12px;padding:16px 20px 18px;animation:.45s cubic-bezier(.3,1.5,.5,1) rise;display:flex;position:absolute;top:140px;overflow:auto}@keyframes rise{0%{opacity:0;scale:.85}}.results h2{font-family:var(--f-display);margin:0;font-size:30px;font-weight:400;line-height:1}.res-sub,.res-extra{color:#5a4f70;margin:0;font-size:13px;font-weight:700}.tag{letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--paper);border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:10px;font-weight:800}.tiles{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tile{border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:14px;padding:8px 12px}.tile.wide{grid-column:1/-1;align-items:baseline;gap:10px;padding:4px 12px;display:flex}.tile.wide b{font-size:24px}.tile b{font-family:var(--f-display);font-size:32px;font-weight:400;line-height:1.1;display:block}.tile span{font-size:12px;font-weight:800}.share-row{gap:10px;display:flex}.card-fmt{align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.card-fmt .seg{flex:1}.fmt-ic{vertical-align:-2px;border:2px solid;border-radius:3px;margin-right:6px;display:inline-block}.share-row .chip{align-items:center;gap:8px;display:flex}.share-row svg{width:18px;height:18px}.toast{z-index:7;background:var(--ink);max-width:calc(100% - 32px);color:var(--paper);pointer-events:none;border-radius:999px;padding:9px 18px;font-size:13px;font-weight:800;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.app:not([data-input=touch]) .pad,.app[data-phase=run] #ctrlSeg,.app[data-phase=run]:not([data-input=cam]) #ctrlRow{display:none}.app[data-phase=setup] .hint,.app[data-phase=done] .bottom,.app[data-phase=menu] .bottom{visibility:hidden}.app[data-phase=menu] .hammers,.app[data-phase=menu] .brand p{display:none}.cam{right:max(16px, env(safe-area-inset-right,0px));z-index:4;background:var(--paper);border:3px solid var(--ink);width:260px;max-height:calc(100% - 80px);box-shadow:4px 4px 0 var(--ink);border-radius:16px;font-size:12px;font-weight:700;position:absolute;bottom:14px;overflow:auto}.cam-view{aspect-ratio:4/3;background:#000;position:relative;box-shadow:inset 0 0 0 4px #888}.cam[data-status=ok] .cam-view{box-shadow:inset 0 0 0 4px #2ecc71}.cam[data-status=warn] .cam-view{box-shadow:inset 0 0 0 4px #ffb400}.cam[data-status=lost] .cam-view{box-shadow:inset 0 0 0 4px #e53935}.cam video,.cam canvas{object-fit:cover;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px;transform:scaleX(-1)}.cam-status{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:2px 8px;font-size:11px;position:absolute;top:8px;left:8px}.cam details{padding:6px 10px}.cam summary{cursor:pointer}.cam label{white-space:nowrap;align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.cam input{min-width:0;accent-color:var(--ink);flex:1}.cam-debug{color:#5a4f70;padding:0 10px 8px;font:11px ui-monospace,Menlo,monospace}.warn{z-index:4;border:2.5px solid var(--ink);white-space:nowrap;pointer-events:none;background:#ff6b5a;border-radius:999px;padding:6px 16px;font-size:14px;font-weight:800;position:absolute;top:96px;left:50%;transform:translate(-50%)}.warn.soft{background:var(--sun)}.gear{place-items:center;width:44px;height:44px;padding:0;display:grid}.gear svg{width:24px;height:24px;transition:transform .3s}.gear[aria-expanded=true]{background:var(--sun)}#gearBtn[aria-expanded=true] svg{transform:rotate(60deg)}.settings{top:66px;right:max(16px, env(safe-area-inset-right,0px));z-index:6;background:var(--paper);border:3px solid var(--ink);width:min(310px,100% - 32px);max-height:calc(100% - 82px);box-shadow:5px 5px 0 var(--ink);border-radius:18px;flex-direction:column;gap:12px;padding:14px 16px 12px;display:flex;position:absolute;overflow:auto}.settings header{justify-content:space-between;align-items:center;display:flex}.settings h2{font-family:var(--f-display);margin:0;font-size:20px;font-weight:400}.settings .x{border:2.5px solid var(--ink);background:var(--paper);border-radius:10px;width:32px;height:32px;padding:0;font-size:18px;font-weight:800;line-height:1}.settings .wide{justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.settings .wide svg{width:18px;height:18px}.set-row{flex-direction:column;gap:6px;display:flex}.set-row.inline{flex-direction:row;justify-content:space-between;align-items:center}.set-lbl{justify-content:space-between;font-size:13px;font-weight:800;display:flex}.set-lbl b{font-variant-numeric:tabular-nums}.seg{border:2.5px solid var(--ink);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;overflow:hidden}.seg button{border:0;border-left:2px solid var(--ink);background:var(--paper);white-space:nowrap;padding:8px 4px;font-size:12px;font-weight:800}.seg button:first-child{border-left:0}.seg button[aria-pressed=true]{background:var(--sun)}.switch{border:2.5px solid var(--ink);background:#e4d9c6;border-radius:999px;flex:none;width:52px;height:30px;padding:0;position:relative}.switch i{background:var(--ink);border-radius:50%;width:19px;height:19px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--lane)}.switch[aria-checked=true] i{transform:translate(22px)}.settings input[type=range]{width:100%;accent-color:var(--ink)}.settings.info{width:min(370px,100% - 32px)}.info-body p{margin:0 0 8px;font-size:13px;line-height:1.5}.info-body .muted{color:#5a4f70;font-size:12px;font-weight:600}.info-links{border-top:2px dashed #d8ccb6;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;padding-top:10px;font-size:13px;display:grid}.info-links dt{font-weight:800}.info-links dd{overflow-wrap:anywhere;min-width:0;margin:0}.info-links a{color:var(--ink);font-weight:700}.credit{color:#5a4f70;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:600;line-height:1.45}.credit a{color:inherit}.donate{color:var(--ink);background:var(--sun);justify-content:center;align-items:center;gap:8px;text-decoration:none;display:flex}.donate svg{flex:none;width:20px;height:20px}.res-donate{color:#5a4f70;border-top:2px dashed #d8ccb6;flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding-top:10px;font-size:12px;font-weight:700;display:flex}.res-donate a{color:var(--ink);align-items:center;gap:5px;font-weight:800;display:inline-flex}.res-donate svg{width:16px;height:16px}.linkbtn{background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;font-weight:800;text-decoration:underline}.set-keys{color:#5a4f70;margin:0;font-size:11px;font-weight:700}.pause{z-index:5;background:#1d153061;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.count{z-index:5;pointer-events:none;background:#1d15302e;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding-top:max(166px,16vh);display:flex;position:absolute;inset:0}.count b{font-family:var(--f-display);color:var(--sun);text-shadow:4px 0 var(--ink), -4px 0 var(--ink), 0 4px var(--ink), 0 -4px var(--ink), 4px 4px var(--ink), -4px -4px var(--ink), 4px -4px var(--ink), -4px 4px var(--ink), 9px 9px 0 var(--ink);font-size:clamp(80px,17vw,128px);font-weight:400;line-height:1}.count b.tick{animation:.35s cubic-bezier(.3,1.8,.5,1) cpop}@keyframes cpop{0%{opacity:0;scale:1.8}}.count span{background:var(--paper);border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:999px;padding:5px 14px;font-size:15px;font-weight:800}.pause h2{font-family:var(--f-display);color:var(--sun);text-shadow:3px 0 var(--ink), -3px 0 var(--ink), 0 3px var(--ink), 0 -3px var(--ink), 3px 3px var(--ink), -3px -3px var(--ink), 3px -3px var(--ink), -3px 3px var(--ink), 6px 6px 0 var(--ink);margin:0;font-size:clamp(34px,9vw,64px);font-weight:400}@media (prefers-reduced-motion:reduce){.gear svg,.switch i{transition:none}.timer.low,.drills li.pop,.press-start,.tet:before,.tet-mai,.tet-lantern,.try summary:after,.results,.count b.tick{animation:none}}@media (width<=480px){.brand h1{font-size:26px}}@media (width<=820px){.cam{width:176px;top:64px;bottom:auto}}@media (width<=900px){.start.side,.results{max-height:calc(100% - 250px)}}@media (width<=600px){.start.side{max-height:calc(100% - 260px);top:auto;bottom:132px}.app[data-phase=menu] .start{bottom:max(12px, env(safe-area-inset-bottom,0px))}.menu{gap:10px}.stage{gap:6px}.stage-title{font-size:24px}.stage-arrow{width:44px;height:44px}.press-start{padding:10px 16px;font-size:19px}.results{max-height:calc(100% - 140px);top:auto;bottom:16px}}.combo{left:max(16px, env(safe-area-inset-left,0px));z-index:3;pointer-events:none;opacity:0;flex-direction:column;align-items:flex-start;gap:6px;transition:opacity .25s;display:flex;position:absolute;top:44%;transform:translateY(-50%)rotate(-4deg)}.combo.on{opacity:1}.combo b{font-family:var(--f-display);color:var(--sun);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:4px 4px 0 var(--ink);font-size:clamp(40px,7vw,58px);font-weight:400;line-height:1}.combo .ctag{background:var(--ink);color:var(--paper);letter-spacing:.08em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:800;display:flex}.combo .pips{gap:3px;display:inline-flex}.combo .pips i{background:#fff8ec4d;border-radius:50%;width:7px;height:7px}.combo .pips i.on{background:var(--sun)}.combo em{background:var(--paper);border:2px solid var(--ink);opacity:0;border-radius:999px;padding:2px 10px;font-size:13px;font-style:normal;font-weight:800}.combo.bump b{animation:.35s cubic-bezier(.3,1.8,.5,1) cbump}.combo.bump em,.combo.lost em{animation:1.1s ease-out ckind}.combo.lost b{color:#ff6b5a;animation:.4s cshake}@keyframes cbump{0%{scale:1.45}}@keyframes cshake{20%{translate:-7px}45%{translate:7px}70%{translate:-4px}}@keyframes ckind{0%{opacity:0;translate:-8px}12%{opacity:1;translate:0}75%{opacity:1}to{opacity:0}}@media (width<=600px){.combo{top:40%}}.app[data-level="2"]{--sky:#c4e2f4}body:has(.app[data-level="2"]){background:#c4e2f4}.app[data-level="2"] .hammers i{border-radius:3px 3px 2px 2px;width:8px;height:15px;margin:0 1px;transform:none}.app[data-level="2"] .hammers i.on{background:#e8384f;box-shadow:inset 0 -4px #d9a441}.app[data-level="2"] .hammers.full i{background:#e8384f}.app[data-level="2"] .pad .b-bolt{background:#ff8f7a}.pad .ic2,.pad .ic3,.app[data-level="2"] .pad .ic1,.app[data-level="3"] .pad .ic1{display:none}.app[data-level="2"] .pad .ic2,.app[data-level="3"] .pad .ic3{display:block}.app[data-level="3"]{--sky:#ffc9a3}body:has(.app[data-level="3"]){background:#ffc9a3}.app[data-level="3"] .hammers i{background:radial-gradient(circle at 30% 50%, var(--ink) 1.5px, transparent 2px), radial-gradient(circle at 70% 50%, var(--ink) 1.5px, transparent 2px);border-radius:2px;width:16px;height:10px;margin:0 1px;transform:none}.app[data-level="3"] .hammers i.on,.app[data-level="3"] .hammers.full i{background-color:#ff4fa3}.app[data-level="3"] .pad .b-bolt{background:#ff8fd0}@media (prefers-reduced-motion:reduce){.move,.move.show,.chip,.pad button{transition:none}.combo.bump b,.combo.lost b{animation:none}}
