html.game-root{background:#1b1530;height:100%}.game-page{overscroll-behavior:none;color:#fff;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:linear-gradient(#1b1530,#2a2147);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.topbar{padding:calc(6px + var(--safe-top)) calc(10px + var(--safe-right)) 4px calc(10px + var(--safe-left));justify-content:space-between;align-items:center;gap:8px;display:flex}.game-title{font-family:var(--pixel);letter-spacing:1px;color:var(--mustard);text-shadow:2px 2px 0 var(--ketchup);font-size:13px}.icon-btn{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:12px;place-items:center;width:44px;height:44px;font-size:20px;text-decoration:none;display:grid}.mode-tabs{background:#ffffff14;border-radius:14px;gap:6px;margin:2px auto 0;padding:4px;display:flex}.mode-tabs button{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:10px;min-width:112px;min-height:36px;padding:0 14px;font-size:14px;font-weight:800}.mode-tabs button[aria-selected=true]{background:var(--mustard);color:var(--ink)}.mode-tabs button:disabled{opacity:.35;cursor:default}.status-row{justify-content:center;align-items:center;gap:14px;min-height:44px;padding:4px 12px;display:flex}.stat{flex-direction:column;align-items:center;line-height:1.1;display:flex}.stat span{text-transform:uppercase;letter-spacing:1px;opacity:.65;font-size:10px}.stat b{font-size:17px}.practice-tag{opacity:.8;font-size:13px;font-weight:700}.pips{gap:5px;display:flex}.pip{border:2px dashed #fff6;border-radius:8px;place-items:center;width:26px;height:26px;font-size:11px;font-weight:800;display:grid}.pip.used{background:#ffffff29;border:2px solid #0000}.pip.best{background:var(--mustard);color:var(--ink)}.pip.live{border-style:solid;border-color:var(--mustard)}.stage{min-height:0;padding:0 var(--safe-right) var(--safe-bottom) var(--safe-left);touch-action:none;flex:1;justify-content:center;align-items:flex-start;display:flex}.screen{border-radius:6px;position:relative;overflow:hidden}@media (width>=600px){.stage{padding-bottom:16px}.screen{border-radius:14px;box-shadow:0 10px 40px #00000073}}#game{image-rendering:pixelated;cursor:pointer;display:block}.overlay{pointer-events:none;justify-content:center;align-items:safe center;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay[hidden]{display:none}.card{pointer-events:auto;text-align:center;width:min(100%,320px);color:var(--ink);padding:18px 18px 16px}.overlay:has(.card.ready){align-items:flex-start;padding-top:7%}.card.ready{pointer-events:none;color:#fff}.card.ready .tap{margin-top:96px}.card.result{border:3px solid var(--ink);background:var(--paper);box-shadow:0 6px 0 var(--ink);border-radius:18px;animation:.22s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.85)translateY(10px)}}.logo{font-family:var(--pixel);color:var(--mustard);text-shadow:3px 3px 0 var(--ketchup), -2px -2px 0 #3a1a08, 2px -2px 0 #3a1a08, -2px 2px 0 #3a1a08, 5px 5px 0 #3a1a08;margin:4px 0 10px;font-size:26px;line-height:1.25}.kicker{font-family:var(--pixel);letter-spacing:1px;text-transform:uppercase;margin:0;font-size:10px}.card.ready .kicker{background:#1b1530bf;border-radius:8px;padding:6px 10px;display:inline-block}.kicker.practice{color:var(--relish)}.card.result .kicker.practice{color:#1f8a33}.sub{margin:8px 0;font-size:14px;font-weight:600}.card.ready .sub{background:#1b153099;border-radius:10px;padding:6px 10px}.tap{font-family:var(--pixel);color:#fff;text-shadow:2px 2px #1b1530;margin:18px 0 6px;font-size:13px;animation:1.1s steps(2,start) infinite blink}@keyframes blink{to{visibility:hidden}}.hint{text-shadow:1px 1px #1b1530;background:#1b153099;border-radius:8px;margin:0;padding:4px 10px;font-size:12px;font-weight:700;display:inline-block}.badge{background:var(--ketchup);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:999px;margin:8px 0 0;padding:4px 10px;font-size:12px;font-weight:800;display:inline-block}.big-score{font-family:var(--pixel);margin:6px 0 2px;font-size:44px;line-height:1.1}.card .pips{justify-content:center;margin:10px 0 4px}.card .pip{border-color:#1b15304d}.card .pip.used{background:#efe4cf}.card .pip.best{background:var(--mustard)}.pips.large .pip{width:38px;height:34px;font-size:14px}.actions{flex-direction:column;gap:10px;margin-top:14px;display:flex}.countdown{color:var(--ink-soft);margin:12px 0 0;font-size:13px}.countdown b{font-variant-numeric:tabular-nums;color:var(--ink)}@media (height<=640px){.mode-tabs button{min-height:32px}.status-row{min-height:36px}.big-score{font-size:34px}.card.result{padding:12px 14px}.actions{gap:6px;margin-top:8px}}.banner{background:var(--mustard);color:#1b1530;font-family:var(--pixel);white-space:nowrap;opacity:0;pointer-events:none;border:3px solid #1b1530;border-radius:12px;padding:8px 14px;font-size:12px;position:absolute;top:12%;left:50%;transform:translate(-50%)scale(.6)}.banner span{font-family:var(--sans);margin-right:8px;font-size:16px}.banner.show{animation:1.8s forwards banner}@keyframes banner{0%{opacity:0;transform:translate(-50%,8px)scale(.6)}12%{opacity:1;transform:translate(-50%)scale(1.08)}20%{transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-10px)scale(1)}}.stage-reached{color:var(--ink-soft);margin:6px 0 0;font-size:13px;font-weight:700}.top-actions{gap:6px;display:flex}.rank{min-height:20px;margin:8px 0 0;font-size:14px}.rank b{font-weight:800}.muted{color:var(--ink-soft);font-size:13px}.board{text-align:left;margin:10px 0 0;padding:0;font-size:14px;list-style:none}.board li{border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.board li:nth-child(odd){background:#1b15300d}.board li.you{background:var(--mustard);font-weight:800}.board li.gap{color:var(--ink-soft);background:0 0;padding:0 8px;display:block}.board .r{font-family:var(--pixel);font-size:10px}.board .n{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board .s{font-variant-numeric:tabular-nums;font-weight:800}.mini-board .board{font-size:13px}.mini-board .board li{padding:4px 8px}.board-modal{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#0a081899;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.board-modal[hidden]{display:none}.board-card{border:3px solid var(--ink);background:var(--paper);width:min(100%,380px);max-height:100%;color:var(--ink);box-shadow:0 6px 0 var(--ink);border-radius:18px;padding:16px;overflow:auto}#board .board-card{flex-direction:column;display:flex;overflow:hidden}#board-body{flex-direction:column;min-height:0;display:flex}#board-body .board{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:0 auto;min-height:96px;position:relative;overflow-y:auto}.board-head{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.board-head h2{margin:0;font-size:18px}.icon-btn.dark{color:var(--ink);background:#1b153014}.you-line{margin-top:14px;font-size:14px}.link{color:var(--ketchup);cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:800;text-decoration:underline}.rename{gap:8px;display:flex}.rename input{border:3px solid var(--ink);min-width:0;min-height:44px;font:inherit;border-radius:12px;flex:1;padding:0 12px;font-size:16px}.error{color:var(--ketchup);margin:6px 0 0;font-size:13px;font-weight:700}.card.final .big-score{font-size:34px}.card.final .sub{margin-top:0}.card.final .pips.large .pip{width:34px;height:30px}.you-line.small{color:var(--ink-soft);margin-top:6px;font-size:13px}.card .rename{margin-top:4px}#help-btn{font-family:var(--pixel);font-size:16px}.rules{margin:12px 0 16px;padding-left:18px;font-size:15px;line-height:1.45}.rules li+li{margin-top:8px}.help-card .btn{width:100%}.board-tabs{background:#1b153014;border-radius:12px;gap:4px;margin:10px 0 12px;padding:4px;display:flex}.board-tabs button{cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;min-height:36px;font-weight:800}.board-tabs button[aria-selected=true]{background:var(--mustard)}.board-note{margin:4px 0 0}.board .days{color:var(--ink-soft);margin-left:6px;font-size:11px;font-weight:700}.card.ready .share-mid{pointer-events:auto;color:var(--ink);min-height:40px;margin:4px 0 10px;padding:0 14px;font-size:14px}.tap{font-size:11px;line-height:1.6;animation:none}.tap .hand{font-family:var(--sans);text-shadow:none;margin-right:8px;font-size:18px;animation:1.2s ease-in-out infinite tapping;display:inline-block}@keyframes tapping{0%,to{transform:translateY(0)}10%{transform:translateY(5px)scale(.92)}20%{transform:translateY(0)}30%{transform:translateY(5px)scale(.92)}40%{transform:translateY(0)}}.card.ready .skip-warmup,.card.ready [data-action=skip-warmup]{pointer-events:auto;color:#fff;background:#1b15308c;border-color:#ffffffb3;min-height:40px;margin:6px 0 0;padding:0 14px;font-size:13px}.warmup-tag{color:var(--relish)}.coach{color:#1b1530;font-family:var(--pixel);opacity:0;pointer-events:none;background:#fff;border:3px solid #1b1530;border-radius:10px;padding:6px 12px;font-size:12px;transition:opacity .12s;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.coach.show{opacity:1;animation:.45s ease-in-out infinite alternate coach-pulse}@keyframes coach-pulse{to{transform:translate(-50%)scale(1.12)}}.coach-tip{background:#fff3c4;border-radius:10px;margin:10px 0 4px;padding:8px 10px;font-size:14px;font-weight:600;line-height:1.35}.big-score.small-score small{opacity:.55;font-size:20px}.to-beat{margin:2px 0 8px;font-size:14px}.to-beat b{color:var(--ketchup)}.card.result.record{position:relative;overflow:visible}.badge.celebrate{background:var(--mustard);color:#1b1530;border:2px solid #1b1530;animation:.6s cubic-bezier(.2,1.6,.4,1) both badge-pop,1.4s ease-in-out .6s 2 badge-glow}@keyframes badge-pop{0%{opacity:0;transform:scale(.3)rotate(-8deg)}60%{opacity:1;transform:scale(1.18)rotate(3deg)}to{transform:scale(1)rotate(0)}}@keyframes badge-glow{50%{box-shadow:0 0 0 6px #ffd21f73}}.confetti{pointer-events:none;width:0;height:0;position:absolute;top:46px;left:50%}.confetti i{opacity:0;width:6px;height:6px;animation:confetti .9s cubic-bezier(.2, .8, .4, 1) var(--d) forwards;position:absolute}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:0;transform:translate(var(--x), 70px) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){.tap .hand,.coach.show,.badge.celebrate,.confetti i{animation:none}.confetti{display:none}}.tester-badge{color:#fff;font-family:var(--sans);vertical-align:middle;text-shadow:none;background:#8a5cf6;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:10px;font-weight:800;display:none}body.tester .tester-badge{display:inline-block}.board-status{margin:6px 0 0;font-size:13px}
