/* Reserve a shallow strip above the pitcher. The original stage/canvas/camera stay identical. */
[data-view-ui="1"] .derby-bar,[data-view-ui="1"] .hud .board{display:none!important}
[data-view-ui="1"] .hud{display:block!important;inset:0!important;padding:0!important;background:none!important;pointer-events:none;z-index:12!important}
.view-hud{position:absolute;top:env(safe-area-inset-top);left:8px;right:8px;z-index:13;color:#fff;font:12px/1.25 system-ui;pointer-events:none}
.view-hud[hidden],.view-audio[hidden]{display:none!important}
.view-line{height:44px;display:flex;align-items:center;gap:10px;background:#102335cf;border-radius:0 0 12px 12px;padding-left:10px}
.view-count{font-size:13px;white-space:nowrap}.view-score{font-variant-numeric:tabular-nums;white-space:nowrap;color:#ffdc65;margin-right:auto}
.view-audio-toggle{height:44px;min-width:56px;padding:0 9px;border:0;border-left:1px solid #ffffff20;border-radius:0 0 12px 0;background:#ffffff0d;color:white;font:12px system-ui;pointer-events:auto;touch-action:manipulation}
.view-audio-toggle[aria-expanded="true"]{background:#385970}
.view-goal{margin:4px 0 0 4px;display:table;background:#102335c9;color:#c8eef2;padding:3px 7px;border-radius:6px;font-size:11px;max-width:calc(100% - 22px)}
.view-goal:empty{display:none}
.view-audio{position:absolute;right:8px;bottom:calc(80px + env(safe-area-inset-bottom));background:#102335f5;padding:8px;border:1px solid #9cb6c0;border-radius:14px;pointer-events:auto;box-shadow:0 3px 18px #0006}
.view-audio .snd{margin:0;display:flex;gap:6px}
[data-view-ui="1"] .view-audio .snd button{min-height:44px;min-width:74px;max-width:none;white-space:nowrap;font-size:11px;padding:6px 10px}
/* Pitch and tracking: only the remaining-pitches counter stays, with no interaction over the ball. */
[data-view-phase="pitch"] .view-line,[data-view-phase="flight"] .view-line{height:28px;display:inline-flex;padding:0 9px;border-radius:0 0 9px 9px;background:#102335b8}
[data-view-phase="pitch"] .view-score,[data-view-phase="pitch"] .view-audio-toggle,[data-view-phase="pitch"] .view-goal,
[data-view-phase="flight"] .view-score,[data-view-phase="flight"] .view-audio-toggle,[data-view-phase="flight"] .view-goal,
[data-view-phase="result"] .view-hud{display:none}
/* Outcome owns this strip while its original animation runs; score and coach cannot cover it. */
[data-view-ui="1"] .result{top:calc(9px + env(safe-area-inset-top));left:8px;right:8px;z-index:14;gap:2px}
[data-view-ui="1"] .result b{font-size:28px;line-height:1.25;padding:3px 10px;border-radius:10px;background:#102335bd}
[data-view-ui="1"] .result span{font-size:12px;line-height:1.4;padding:2px 7px;border-radius:6px;background:#102335b5;max-width:100%;box-sizing:border-box}
[data-view-ui="1"] .result span:empty{display:none}
@media(max-width:340px){.view-line{gap:7px;padding-left:8px}.view-count{font-size:12px}.view-score{font-size:11px}.view-audio-toggle{min-width:52px;font-size:11px}[data-view-ui="1"] .result b{font-size:25px}}

/* Contact feedback has served its purpose once the camera follows the ball. */
[data-view-phase="flight"] .fb,[data-view-phase="result"] .fb{display:none}

/* P8：PlayNote（左上・常時）。白い板に正式ロゴ（縦横比そのまま）。上の帯（残り球数・音設定）と結果の文字は、ロゴの右から */
.view-pn{position:absolute;top:calc(8px + env(safe-area-inset-top));left:12px;width:66px;height:auto;box-sizing:content-box;padding:3px 5px;background:#fffffff2;border-radius:5px;z-index:15;pointer-events:none;box-shadow:0 1px 4px #0005}
[data-view-ui="1"] .view-line{padding-left:92px}
[data-view-ui="1"] .view-goal{margin-left:4px}
[data-view-ui="1"] .result{left:92px}
@media(max-width:340px){.view-pn{width:56px;left:10px}[data-view-ui="1"] .view-line{padding-left:80px}[data-view-ui="1"] .result{left:80px}}
