.tpb{--tpb-panel:#232e46;--tpb-border:#35415f;--tpb-ink:#f2efe8;--tpb-dim:#a9b2c6;--tpb-you:#e4572e;--tpb-opp:#2e86ab;--tpb-ball:#f2c641;--tpb-ok:#7bc950;--tpb-cut:#e4572e;--tpb-call-bg:#ffe066;--tpb-call-ink:#3a2e00;--tpb-line:#f6efe3;--tpb-net:#c9d4e4;--tpb-court-you:#dda04f;--tpb-court-opp:#c98f44;color:var(--tpb-ink);font-family:var(--font-sans), system-ui, sans-serif;margin:1.25rem 0 1.75rem}.tpb-phases{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.tpb-phase{background:var(--tpb-panel);border:2px solid var(--tpb-border);border-radius:10px;overflow:hidden}.tpb-phase-head{border-bottom:2px dashed var(--tpb-border);padding:10px 14px 8px}.tpb-phase-tag{font-family:var(--font-display), serif;letter-spacing:.04em;color:var(--tpb-ball);font-size:1.05rem}.tpb-phase-motto{color:var(--tpb-dim);margin-top:2px;font-size:.8rem}.tpb-week{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;border-bottom:1px solid #2c3752;gap:10px;padding:9px 12px;transition:background .12s;display:flex}.tpb-week:last-child{border-bottom:none}.tpb-week:hover{background:#2a3654}.tpb-week:focus-visible{outline:3px solid var(--tpb-ball);outline-offset:-3px}.tpb-wknum{font-family:var(--font-display), serif;color:var(--tpb-dim);min-width:30px;font-size:1.15rem}.tpb-week.cuttable .tpb-wknum:after{content:" ✂";font-size:.75rem}.tpb-wkfocus{font-size:.85rem;font-weight:700}.tpb-wkdone{color:var(--tpb-dim);margin-top:3px;font-size:.8rem;line-height:1.45;display:none}.tpb-week.open .tpb-wkdone{display:block}.tpb-wkdone b{color:var(--tpb-ok)}.tpb-cut-btn{background:var(--tpb-panel);border:2px solid var(--tpb-border);color:var(--tpb-dim);cursor:pointer;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:8px 14px;font-size:.85rem;display:inline-flex}.tpb-cut-btn:hover{border-color:var(--tpb-ball);color:var(--tpb-ink)}.tpb.show-cuts .tpb-week.cuttable{background:#3a2a34}.tpb.show-cuts .tpb-week.cuttable .tpb-wknum{color:var(--tpb-cut)}.tpb-tabs{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0 0 12px;display:grid}.tpb-tab{font-family:var(--font-display), serif;letter-spacing:.04em;background:var(--tpb-panel);color:var(--tpb-dim);border:2px solid var(--tpb-border);cursor:pointer;text-align:center;border-radius:6px;padding:10px 6px 8px;font-size:.95rem;transition:transform .12s,border-color .12s,color .12s}.tpb-tab small{font-family:var(--font-sans), system-ui, sans-serif;letter-spacing:.02em;color:var(--tpb-dim);margin-top:2px;font-size:.65rem;display:block}.tpb-tab:hover{border-color:var(--tpb-ball);transform:translateY(-1px)}.tpb-tab.active{border-color:var(--tpb-ball);color:var(--tpb-ball);background:#2c3a5c}.tpb-stage{background:var(--tpb-panel);border:2px solid var(--tpb-border);border-radius:12px;overflow:hidden}.tpb-stage svg{width:100%;height:auto;display:block}.tpb-caption{border-top:2px dashed var(--tpb-border);align-items:center;gap:14px;min-height:74px;padding:12px 16px;display:flex}.tpb-whistle{font-family:var(--font-display), serif;color:var(--tpb-ball);text-align:center;min-width:34px;font-size:1.5rem}.tpb-cap-main{font-size:1rem;font-weight:700}.tpb-cap-sub{color:var(--tpb-dim);margin-top:2px;font-size:.85rem}.tpb-controls{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.tpb-replay{font-family:var(--font-display), serif;letter-spacing:.06em;background:var(--tpb-you);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:9px 22px 7px;font-size:1.05rem}.tpb-replay:hover{filter:brightness(1.1)}.tpb-legend{color:var(--tpb-dim);flex-wrap:wrap;gap:18px;font-size:.8rem;display:flex}.tpb-dot{vertical-align:-1px;border-radius:50%;width:11px;height:11px;margin-right:5px;display:inline-block}.tpb-coach{border-left:4px solid var(--tpb-ball);background:#20293f;border-radius:6px;margin-top:14px;padding:12px 16px;font-size:.9rem;line-height:1.55}.tpb-coach b{color:var(--tpb-ball)}.tpb-coach .scale{color:var(--tpb-ok)}.tpb-sessionbar{border:2px solid var(--tpb-border);border-radius:8px;height:56px;display:flex;overflow:hidden}.tpb-seg{font-family:var(--font-display), serif;letter-spacing:.04em;color:#20293f;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;min-width:0;padding:0 4px;font-size:.85rem;transition:filter .12s;display:flex;overflow:hidden}.tpb-seg:hover{filter:brightness(1.12)}.tpb-seg.sel{box-shadow:inset 0 0 0 3px var(--tpb-line)}.tpb-seg-detail{border-left:4px solid var(--tpb-ok);background:#20293f;border-radius:6px;margin-top:10px;padding:12px 16px;font-size:.9rem;line-height:1.55}.tpb-seg-detail b{color:var(--tpb-ok)}.tpb-timescale{color:var(--tpb-dim);font-size:.7rem;font-family:var(--font-display), serif;letter-spacing:.05em;justify-content:space-between;margin-top:4px;display:flex}.tpb-bubble{opacity:0;transition:opacity .18s,transform .18s cubic-bezier(.34,1.56,.64,1);transform:scale(.4)}.tpb-bubble.show{opacity:1;transform:scale(1)}.tpb-player{transition:transform .35s}@media (prefers-reduced-motion:reduce){.tpb-bubble,.tpb-player{transition:none}}
