:root{color-scheme:light;--pg-paper:#fcf8ed;--pg-ink:#172a5b;--pg-blue:#345ad1;--pg-coral:#e76c54;--pg-dim:#627089;--pg-line:#dbe0e9;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:var(--pg-paper);color:var(--pg-ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:0;color:inherit}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,svg:focus-visible,summary:focus-visible{outline:3px solid var(--pg-coral);outline-offset:4px}[hidden]{display:none!important}a{color:var(--pg-blue);text-decoration:none}a:hover{text-decoration:underline}.pg-shell{max-width:1000px;padding:0 max(22px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-bottom));margin:0 auto}.pg-header{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:12px;border-bottom:1px solid var(--pg-line)}.pg-brand{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--pg-ink)}.pg-head-actions{display:flex;gap:8px;align-items:center}.pg-coin{white-space:nowrap;font-size:16px;font-variant-numeric:tabular-nums}.pg-quiet{background:transparent;font-size:12px;padding:0 9px}.pg-main{max-width:660px;margin:0 auto;padding:42px 0 24px;min-height:60vh}.pg-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--pg-dim);margin:0 0 18px;font-weight:600}.pg-hero{max-width:570px}.pg-hero h1{font-size:clamp(48px,10vw,76px);letter-spacing:-.055em;font-weight:800;margin:14px 0 16px;line-height:1.12}.pg-tagline{font-size:20px;font-weight:650;line-height:1.6}.pg-hero>p{max-width:490px;line-height:1.9}.pg-hero-art{height:118px;display:flex;gap:22px;align-items:center;letter-spacing:-.03em;font-size:54px}.pg-hero-art span:nth-child(2n){color:var(--pg-coral);transform:translateY(12px)}.pg-hero-art span:nth-child(2n+1){color:var(--pg-blue)}.pg-skills{display:flex;list-style:none;gap:7px;padding:0;margin:26px 0 30px}.pg-skills li{display:flex;flex-direction:column;flex:1;font-size:14px;border-top:2px solid var(--pg-line);padding-top:9px;gap:6px}.pg-skills li span{font-size:10px;color:var(--pg-dim);letter-spacing:.1em}.pg-primary{display:block;width:100%;padding:15px 24px;margin:18px 0 10px;background:var(--pg-blue);color:#fff;border-radius:6px;font-size:17px;font-weight:700;transition:background .15s,transform .15s;min-height:55px}.pg-primary:hover{background:#294cbc}.pg-primary:active{transform:translateY(1px)}.pg-secondary{background:transparent;border:1px solid var(--pg-line);border-radius:6px;padding:12px 18px;font-weight:650}.pg-secondary:hover{border-color:var(--pg-blue)}.pg-link{background:transparent;padding:7px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px}.pg-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}.pg-muted{font-size:12px;line-height:1.8;color:var(--pg-dim)}.pg-footer{max-width:660px;margin:10px auto 0;border-top:1px solid var(--pg-line);padding:22px 0;color:var(--pg-dim);font-size:12px;line-height:1.8}.pg-footer a{margin-right:22px}.pg-footer p{margin-top:14px}.pg-banner{padding:12px 16px;background:#fff0d6;border-left:3px solid var(--pg-coral);font-size:13px;line-height:1.65}.pg-error{font-size:13px;color:#a13220;line-height:1.6;overflow-wrap:anywhere;max-width:660px;margin:10px auto}.pg-game-top{display:flex;justify-content:space-between;align-items:center}.pg-counter{font-size:12px;color:var(--pg-dim);letter-spacing:.1em;margin:0 0 18px}.pg-progress{display:flex;gap:6px;margin:0 0 30px}.pg-progress span{height:4px;background:var(--pg-line);flex:1}.pg-progress span.done{background:var(--pg-blue)}.pg-progress span.current{background:var(--pg-coral)}.pg-task-title{font-size:36px;margin:0 0 8px;letter-spacing:-.04em}.pg-instruction{line-height:1.7;margin:0 0 18px;max-width:580px}.pg-stage{position:relative;padding:8px 0 12px}.pg-mini{font-size:56px;letter-spacing:.06em;color:var(--pg-blue);min-height:150px;display:flex;align-items:center;justify-content:center}.pg-board{width:100%;height:auto;aspect-ratio:8/5;display:block;border:1px solid var(--pg-line);border-radius:8px;background:#fffdf7;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}.pg-board[role=slider]{cursor:crosshair}.pg-board text{font-family:inherit}.pg-big-cue{position:absolute;top:0;left:0;width:100%;height:210px;display:flex;justify-content:center;align-items:center;font-size:84px;font-variant-numeric:tabular-nums;color:var(--pg-blue);pointer-events:none;margin:0}.pg-count-form h2{font-size:20px;margin:0 0 14px}.pg-count-form{max-width:370px;margin:0 auto}.pg-number{display:block;font-size:52px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums;padding:8px 0 16px;min-height:88px}.pg-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pg-keypad button{background:#f0eee7;border-radius:6px;font-size:22px;min-height:54px}.pg-keypad button:hover{background:#e4e8f2}.pg-delete{font-size:18px!important;color:var(--pg-dim)}.pg-position-label{text-align:center;font-size:24px;font-variant-numeric:tabular-nums;min-height:30px}.pg-target{font-size:20px;font-weight:700;text-align:center;padding:12px 8px;background:#edf0fa;margin:0 0 16px;border-radius:6px}.pg-live-status{font-size:14px;line-height:1.5;min-height:21px;color:var(--pg-dim)}.pg-skip{color:var(--pg-dim);margin-top:4px}.pg-tempo-status{text-align:center;font-weight:650;font-size:20px;min-height:62px;line-height:1.5}.pg-tap-pad{width:100%;min-height:215px;position:relative;background:#edf0fa;border:2px solid #d5ddf7;border-radius:12px;font-size:20px;font-weight:700;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}.pg-tap-pad:active{background:#dce4fb}.pg-pulse{position:absolute;width:34px;height:34px;border-radius:50%;background:var(--pg-coral);top:44px;left:calc(50% - 17px);opacity:.15;pointer-events:none}.pg-pulse.is-pulsing{animation:pg-beat .18s linear}.pg-beats{display:flex;gap:8px;justify-content:center;margin:0 0 18px;min-height:12px}.pg-beats span{width:10px;height:10px;background:#d9dfeb;border-radius:50%}.pg-beats .done{background:var(--pg-blue)}.pg-reveal-score{font-size:78px;line-height:1;font-weight:750;letter-spacing:-.06em;margin:4px 0 24px;color:var(--pg-blue);font-variant-numeric:tabular-nums}.pg-reveal-note{line-height:1.8;padding:20px;background:#fff0d6;border-radius:6px}.pg-comparison{display:flex;justify-content:space-between;gap:14px;padding:14px 0;font-variant-numeric:tabular-nums}.pg-comparison div{flex:1}.pg-comparison dt{font-size:12px;color:var(--pg-dim);margin-bottom:7px}.pg-comparison dd{margin:0;font-size:20px;font-weight:650}.pg-comparison p{font-size:14px;line-height:1.6}.pg-result-heading{font-size:22px;margin:0 0 12px}.pg-total{font-size:112px;line-height:1.12;font-weight:800;letter-spacing:-.07em;font-variant-numeric:tabular-nums}.pg-total span{font-size:26px;letter-spacing:0;color:var(--pg-dim);font-weight:500;margin-left:14px}.pg-result-tagline{font-size:18px;line-height:1.7}.pg-score-strip{display:flex;gap:7px;height:72px;align-items:end;margin:24px 0 30px}.pg-score-strip span{flex:1;height:100%;background:linear-gradient(to top,var(--tone) var(--fill),#e7e9eb var(--fill));border-radius:4px}.pg-score-list{border-top:1px solid var(--pg-line)}.pg-score-list details{border-bottom:1px solid var(--pg-line);padding:0 8px}.pg-score-list summary{display:flex;justify-content:space-between;align-items:center;padding:18px 0;list-style:none;cursor:pointer;gap:16px}.pg-score-list summary:after{content:'+';font-size:18px;color:var(--pg-dim)}.pg-score-list details[open] summary:after{content:'−'}.pg-score-list summary b{margin-left:auto;font-size:24px;font-variant-numeric:tabular-nums}.pg-score-list .pg-comparison{margin-top:0}.pg-result-actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;align-items:center;margin-top:24px}.pg-result-actions .pg-primary{margin:0}.pg-result-actions .pg-secondary{min-height:55px}.pg-earned{padding:18px 0 0;font-size:15px;color:var(--pg-blue);font-weight:650}.pg-countdown{font-variant-numeric:tabular-nums;font-size:20px;letter-spacing:.08em;color:var(--pg-dim)}.pg-stats{border-top:1px solid var(--pg-line);margin-top:30px;padding-top:20px}.pg-stats h2{font-size:18px}.pg-stats p{font-size:13px;line-height:1.7;color:var(--pg-dim)}.pg-histogram{display:flex;gap:5px;height:120px;padding-top:10px}.pg-histogram>div{display:flex;flex-direction:column;justify-content:end;align-items:center;flex:1;gap:6px;height:100%}.pg-histogram span{background:#a1b2e9;width:100%;min-height:2px;border-radius:3px 3px 0 0}.pg-histogram small{font-size:9px;color:var(--pg-dim)}.pg-archive-list{list-style:none;padding:0;margin:18px 0}.pg-archive-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--pg-line)}.pg-archive-list p{font-size:12px;color:var(--pg-dim);margin:7px 0 0}.pg-archive-list b{font-variant-numeric:tabular-nums}.pg-toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,20px);background:var(--pg-ink);color:white;border-radius:30px;padding:12px 24px;font-size:14px;opacity:0;pointer-events:none;z-index:30;white-space:nowrap}.pg-toast.is-visible{animation:pg-toast 3s ease both}@keyframes pg-beat{0%,60%{opacity:1}100%{opacity:.15}}@keyframes pg-toast{0%,100%{opacity:0;transform:translate(-50%,20px)}12%,85%{opacity:1;transform:translate(-50%,0)}}
@media(min-width:800px){.pg-main{padding-top:58px}.pg-hero-art{height:132px;gap:30px;font-size:68px}.pg-hero{margin:0 auto}.pg-header{min-height:100px}.pg-board{max-height:380px}.pg-big-cue{height:320px}}
@media(max-width:430px){.pg-shell{padding-left:18px;padding-right:18px}.pg-header{min-height:76px;gap:5px}.pg-brand{font-size:9px;letter-spacing:.08em}.pg-head-actions{gap:2px}.pg-quiet{font-size:11px;padding:0 6px}.pg-coin{font-size:14px}.pg-main{padding-top:28px}.pg-task-title{font-size:30px}.pg-hero-art{font-size:44px;gap:19px;height:100px}.pg-hero h1{font-size:55px}.pg-tagline{font-size:17px}.pg-hero>p{font-size:14px}.pg-instruction{font-size:14px}.pg-total{font-size:98px}.pg-primary{min-height:53px;font-size:16px}.pg-mini{min-height:130px;font-size:44px}.pg-progress{margin-bottom:24px}.pg-comparison dd{font-size:17px}.pg-footer{font-size:11px}.pg-result-actions{grid-template-columns:1.7fr 1fr}.pg-result-actions button{font-size:14px;padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.pg-primary{transition:none}.pg-primary:active{transform:none}.pg-toast.is-visible{animation:none;opacity:1;transform:translate(-50%,0)}}
