.pp-stage{width:100%;max-width:460px;flex:1;flex-direction:column;margin:0 auto;touch-action:none;-webkit-touch-callout:none}.pp-hud,.pp-stage{position:relative;display:flex}.pp-hud{z-index:2;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 16px 0;pointer-events:none}.pp-title{font-size:clamp(32px,9vw,40px)}.pp-sub{margin-top:8px;color:var(--ink-2);font-size:15px}.pp-readout{display:flex;flex-shrink:0;flex-direction:column;align-items:flex-end;gap:2px}.pp-readout .board-label{color:var(--ink-3)}.pp-ml{font-family:var(--font-mono);font-size:13px;font-weight:700}.pp-ml b{font-size:28px;font-variant-numeric:tabular-nums}.pp-scores{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin:14px 16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);pointer-events:none}.pp-scores li{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:8px 10px 8px 0}.pp-scores li+li{border-left:1px solid var(--rule);padding-left:10px}.pp-scores .board-label,.pp-scores b{color:var(--ink-3)}.pp-scores b{font-family:var(--font-mono);font-size:16px}.pp-scores li.is-current b{color:var(--ink)}.pp-scores li.is-perfect b{color:var(--magenta)}.pp-scores li.is-good b,.pp-scores li.is-great b{color:var(--ink)}.pp-canvas-wrap{position:relative;min-height:300px;flex:1}.pp-canvas{position:absolute;inset:0;width:100%;height:100%}.stamp.pp-stamp{border-width:max(3px,.16em);padding:.27em .64em;white-space:nowrap;translate:calc(var(--slide, 0px) - 50%) -50%}.pp-stamp.is-miss{color:var(--ink-2)}.pp-sign{position:absolute;top:0;left:16px;width:min(124px,calc(50% - 64px));padding-top:22px;clip-path:inset(0 -24px -24px);pointer-events:none}.pp-sign-board{position:relative;display:grid;min-height:54px;place-content:center;border:1.75px solid var(--ink);border-radius:4px;padding:10px 8px 8px;background:radial-gradient(circle at calc(18% + .75px) 5px,var(--ink) 2px,transparent 2.5px),radial-gradient(circle at calc(82% - .75px) 5px,var(--ink) 2px,transparent 2.5px),var(--card);font-size:15px;line-height:1.05;text-align:center;transform-origin:50% -22px;animation:pp-sign-swing 2.6s cubic-bezier(.37,0,.63,1) both}.pp-sign-board:after,.pp-sign-board:before{content:"";position:absolute;bottom:calc(100% - 5px);left:18%;width:1.5px;height:44px;background:var(--ink)}.pp-sign-board:after{right:18%;left:auto}@keyframes pp-sign-swing{0%{rotate:0deg;animation-timing-function:cubic-bezier(.61,1,.88,1)}8.33%{rotate:5deg}25%{rotate:-3deg}41.67%{rotate:1.8deg}58.33%{rotate:-1.1deg}75%{rotate:.65deg}91.67%{rotate:-.4deg}to{rotate:0deg}}@media (prefers-reduced-motion:reduce){.pp-sign-board{animation:none}}.pp-controls{position:relative;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:6px 16px 16px}.pp-hold.is-pouring{background:var(--magenta-press);transform:scale(.985)}.pp-hold:disabled{background:var(--ink-3)}.pp-hint{color:var(--ink-3);font-size:13px;text-align:center}.pp-breakdown{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.pp-breakdown li{display:flex;flex-direction:column;gap:2px;padding:8px 8px 8px 0;font-size:12px;line-height:1.25}.pp-breakdown li+li{border-left:1px solid var(--rule);padding-left:10px}.pp-breakdown b{font-size:20px}.pp-breakdown li.is-perfect b{color:var(--magenta)}