.xwKHsW_main{max-width:760px;margin:0 auto;padding:28px 0 48px}.xwKHsW_back{color:var(--muted);text-underline-offset:4px;align-items:center;gap:7px;margin-bottom:20px;font-size:12px;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.xwKHsW_heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.xwKHsW_heading h1{letter-spacing:-1px;font-size:34px;font-weight:600;line-height:1.15}.xwKHsW_heading p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.6}.xwKHsW_badge{border:1px solid var(--line);color:var(--muted);border-radius:5px;flex-shrink:0;margin-top:7px;padding:5px 9px;font-size:11px}.xwKHsW_modes{border-bottom:1px solid var(--line);gap:20px;margin-bottom:20px;display:flex}.xwKHsW_modes a{color:var(--muted);white-space:nowrap;padding:10px 0;font-size:13px;text-decoration:none}.xwKHsW_modes a[aria-current]{color:var(--ink);border-bottom:2px solid var(--ink)}.xwKHsW_card{--beat-accent:#ffd18b;--beat-good:#9ee7b0;--beat-warning:#f1ce86;--beat-bad:#f0a1a9;border:1px solid var(--card-border);background:var(--surface);border-radius:14px;padding:28px}html[data-theme=light] .xwKHsW_card{--beat-accent:#80521b;--beat-good:#246444;--beat-warning:#886010;--beat-bad:#b52c44}.xwKHsW_welcome{flex-direction:column;justify-content:center;align-items:flex-start;gap:20px;min-height:440px;display:flex}.xwKHsW_welcome h2,.xwKHsW_results h2{letter-spacing:-.7px;font-size:27px;font-weight:550;line-height:1.25}.xwKHsW_welcome p{max-width:500px;color:var(--muted);font-size:14px;line-height:1.75}.xwKHsW_welcome>span{color:var(--muted);font-size:12px}.xwKHsW_preview{align-items:center;gap:10px;height:54px;display:flex}.xwKHsW_preview span{background:var(--beat-accent);width:14px;height:33px;box-shadow:0 5px 0 color-mix(in srgb, var(--beat-accent) 32%, var(--surface));border-radius:8px}.xwKHsW_preview span:nth-child(2){opacity:.7;height:44px}.xwKHsW_preview span:nth-child(3){opacity:.4;height:33px}.xwKHsW_preview span:nth-child(4){opacity:.22;height:44px}.xwKHsW_steps{flex-wrap:wrap;gap:12px 22px;padding:0;list-style:none;display:flex}.xwKHsW_steps li{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.xwKHsW_steps b{border:1px solid var(--line);width:22px;height:22px;color:var(--ink);border-radius:50%;place-items:center;font-size:11px;font-weight:500;display:grid}.xwKHsW_scoreline{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.xwKHsW_scoreline strong{color:var(--muted);font-size:11px;font-weight:500}.xwKHsW_muted{color:var(--muted)}.xwKHsW_stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:144px;display:flex}.xwKHsW_phase{color:var(--ink);letter-spacing:-.5px;font-size:24px;font-weight:550;line-height:1.2}.xwKHsW_phase[data-silent]{color:var(--beat-accent)}.xwKHsW_stage>p{color:var(--muted);font-size:12px;line-height:1.6}.xwKHsW_count{font-variant-numeric:tabular-nums;color:var(--beat-accent);font-size:48px;font-weight:550;line-height:1}.xwKHsW_playArea{justify-content:center;align-items:center;height:230px;display:flex}.xwKHsW_tapPad{border:2px solid var(--beat-accent);width:min(100%,340px);min-height:216px;color:var(--beat-accent);background:color-mix(in srgb, var(--beat-accent) 5%, var(--surface));box-shadow:0 6px 0 color-mix(in srgb, var(--beat-accent) 28%, var(--surface));touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:25px 20px;display:flex}.xwKHsW_tapPad strong{font-size:21px;font-weight:600}.xwKHsW_tapPad span{color:var(--muted);font-size:11px;line-height:1.4}.xwKHsW_tapPad[aria-disabled=true]{cursor:default;border-color:var(--line);color:var(--muted);background:var(--surface-raised);box-shadow:0 6px 0 var(--line)}.xwKHsW_tapPad[data-pressed]{background:color-mix(in srgb, var(--beat-accent) 19%, var(--surface));box-shadow:0 1px 0 color-mix(in srgb, var(--beat-accent) 28%, var(--surface));transform:translateY(5px)}.xwKHsW_tapPad:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.xwKHsW_tapHint{text-align:center;min-height:38px;color:var(--muted);align-items:center;padding-top:8px;font-size:11px;line-height:1.5;display:grid}.xwKHsW_actions{flex-wrap:wrap;align-items:center;gap:12px;min-height:48px;margin-top:18px;display:flex}.xwKHsW_actions>.button{min-height:48px}.xwKHsW_volume{color:var(--muted);align-items:center;gap:9px;margin-top:20px;font-size:12px;display:flex}.xwKHsW_volume input{width:140px;max-width:50%;height:32px;accent-color:var(--ink)}.xwKHsW_notice{min-height:22px;color:var(--muted);margin-top:14px;font-size:12px;line-height:1.6}.xwKHsW_error{border:1px solid var(--red);border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;line-height:1.6;display:flex}.xwKHsW_error button{min-height:40px}.xwKHsW_feedback{--feedback:var(--beat-good);border:1px solid color-mix(in srgb, var(--feedback) 65%, var(--line));width:100%;color:var(--feedback);background:color-mix(in srgb, var(--feedback) 8%, var(--surface));text-align:left;border-radius:9px;align-items:center;gap:12px;padding:15px;display:flex}.xwKHsW_feedback[data-result=close]{--feedback:var(--beat-warning)}.xwKHsW_feedback[data-result=miss]{--feedback:var(--beat-bad)}.xwKHsW_feedbackIcon{background:color-mix(in srgb, var(--feedback) 13%, var(--surface));border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.xwKHsW_feedback strong{font-size:23px;font-weight:600;line-height:1.2;display:block}.xwKHsW_feedback p{color:var(--ink);margin-top:5px;font-size:12px}.xwKHsW_feedback>b{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:2px;margin-left:auto;font-size:27px;font-weight:600;line-height:1.1;display:flex}.xwKHsW_feedback small{color:var(--muted);font-size:10px;font-weight:400}.xwKHsW_reviewPanel{width:100%}.xwKHsW_timingReview{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;display:grid}.xwKHsW_reviewLabels{height:58px;color:var(--muted);flex-direction:column;justify-content:space-between;font-size:11px;display:flex}.xwKHsW_timingReview svg{width:100%;height:100px;overflow:visible}.xwKHsW_reviewLine{fill:none;stroke:var(--line);stroke-width:1px}.xwKHsW_reviewGuide{fill:none;stroke:var(--line);stroke-width:1px;stroke-dasharray:3 5}.xwKHsW_expectedTap{fill:var(--beat-good)}.xwKHsW_actualTap{fill:var(--ink)}.xwKHsW_metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.xwKHsW_metrics>div{flex-direction:column;align-items:center;gap:7px;display:flex}.xwKHsW_metrics strong{font-variant-numeric:tabular-nums;font-size:23px;font-weight:550}.xwKHsW_metrics span{color:var(--muted);font-size:11px}.xwKHsW_results{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.xwKHsW_kicker{color:var(--muted);font-size:12px}.xwKHsW_total{color:var(--beat-accent);letter-spacing:-2px;font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:58px;font-weight:600;line-height:1.1;display:flex}.xwKHsW_total>span{color:var(--muted);letter-spacing:0;font-size:18px;font-weight:400}.xwKHsW_resultRounds{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100%,400px);display:grid}.xwKHsW_resultRounds>span{border:1px solid var(--line);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:12px 6px;display:flex}.xwKHsW_resultRounds small{color:var(--muted);font-size:10px}.xwKHsW_resultRounds b{font-size:15px;font-weight:550}.xwKHsW_resultRounds [data-result=correct]{color:var(--beat-good);border-color:color-mix(in srgb, var(--beat-good) 65%, var(--line))}.xwKHsW_resultRounds [data-result=close]{color:var(--beat-warning)}.xwKHsW_resultRounds [data-result=miss]{color:var(--beat-bad)}.xwKHsW_reset{color:var(--muted);font-size:12px;line-height:1.6}.xwKHsW_shareText,.xwKHsW_roundReview{width:100%}.xwKHsW_shareText summary,.xwKHsW_roundReview summary{cursor:pointer;padding-block:10px;font-size:13px}.xwKHsW_shareText pre{white-space:pre-wrap;color:var(--muted);font-size:12px;line-height:1.8}.xwKHsW_roundReview>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:11px;line-height:1.6;display:flex}.xwKHsW_roundReview strong{white-space:nowrap;font-weight:550}.xwKHsW_roundReview span{text-align:right;color:var(--muted)}.xwKHsW_instructions{margin-top:30px}.xwKHsW_instructions h2{margin-bottom:8px;font-size:17px;font-weight:550}.xwKHsW_instructions p{color:var(--muted);font-size:13px;line-height:1.8}@media (hover:hover) and (pointer:fine){.xwKHsW_back:hover{color:var(--ink);text-decoration-color:currentColor}.xwKHsW_modes a:hover{color:var(--ink)}.xwKHsW_tapPad:hover:not([aria-disabled=true]):not([data-pressed]){border-color:var(--ink)}}@media (prefers-reduced-motion:no-preference){.xwKHsW_tapPad{transition:transform 75ms,box-shadow 75ms,background-color .1s}}@media (max-width:540px){.xwKHsW_main{padding-top:22px}.xwKHsW_heading{gap:12px}.xwKHsW_heading h1{font-size:28px}.xwKHsW_heading p{font-size:13px}.xwKHsW_modes{gap:18px}.xwKHsW_modes a{font-size:12px}.xwKHsW_card{padding:20px}.xwKHsW_welcome{gap:18px;min-height:450px}.xwKHsW_welcome h2,.xwKHsW_results h2{font-size:25px}.xwKHsW_welcome p{font-size:13px}.xwKHsW_steps{gap:10px 14px}.xwKHsW_steps li{font-size:11px}.xwKHsW_scoreline{font-size:12px}.xwKHsW_stage{min-height:140px}.xwKHsW_phase{font-size:23px}.xwKHsW_stage>p{max-width:240px}.xwKHsW_playArea{height:220px}.xwKHsW_tapPad{min-height:204px}.xwKHsW_feedback{gap:9px;padding:12px}.xwKHsW_feedbackIcon{width:30px;height:30px}.xwKHsW_feedback strong{font-size:22px}.xwKHsW_feedback p{font-size:11px}.xwKHsW_feedback>b{font-size:25px}.xwKHsW_timingReview{grid-template-columns:52px minmax(0,1fr);gap:6px}.xwKHsW_reviewLabels{font-size:10px}.xwKHsW_metrics strong{font-size:21px}.xwKHsW_metrics span{font-size:10px}.xwKHsW_actions>.button{padding-inline:14px;font-size:12px}.xwKHsW_total{font-size:52px}}
