.team-panel h2 { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.team-panel .side { white-space: nowrap; font-size: 11px; padding: 2px 8px; border-radius: 999px; background: var(--panel-2); color: var(--muted); }
.lineup-row { display: grid; grid-template-columns: 22px 74px 1fr; gap: 6px; align-items: center; margin: 4px 0; }
.lineup-row .no { color: var(--muted); font-size: 12px; text-align: right; }
.lineup-row select { padding: 5px 6px; font-size: 13px; }
.cost-meter { height: 8px; background: var(--bg); border-radius: 4px; overflow: hidden; margin: 6px 0 2px; }
.cost-meter div { height: 100%; background: var(--green); transition: width .2s; }
.cost-meter.over div { background: var(--red); }
.linescore th, .linescore td { text-align: center; padding: 6px 8px; }
.linescore td:first-child, .linescore th:first-child { text-align: left; }
.linescore td.rhe { font-weight: 700; color: var(--accent); }
.linescore td.live { background: #22304f; }
.situation { display: flex; gap: 16px; align-items: center; margin: 12px 0; font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.diamond { position: relative; width: 44px; height: 44px; }
.diamond i { position: absolute; width: 13px; height: 13px; transform: rotate(45deg); border: 2px solid var(--line); background: var(--bg); }
.diamond i.on { background: var(--accent); border-color: var(--accent); }
.diamond .b1 { right: 2px; top: 16px; } .diamond .b2 { left: 15px; top: 2px; } .diamond .b3 { left: 2px; top: 16px; }
.outs b { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--line); margin-left: 3px; }
.outs b.on { background: var(--red); }
.pbp { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow-y: auto; border-top: 1px solid var(--line); }
.pbp li { padding: 6px 4px; border-bottom: 1px solid var(--line); font-size: 13px; animation: slidein .25s ease-out; }
.pbp li.half { color: var(--blue); font-weight: 700; background: var(--panel-2); }
.pbp li.tactic { color: var(--purple); }
.pbp li.change { color: var(--muted); font-style: italic; }
.pbp li.h1 { color: #ffe1a3; }
.pbp li.h2 { color: var(--accent); font-weight: 700; }
.pbp li.h3 { color: #fff; font-weight: 800; background: linear-gradient(90deg, #7a4a00, transparent); font-size: 15px; }
.pbp li.end { color: var(--green); font-weight: 800; }
@keyframes slidein { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.clutch-banner { text-align: center; font-weight: 900; letter-spacing: 4px; color: #fff; background: linear-gradient(90deg, #8b0000, #ff3b3b, #8b0000); border-radius: 8px; padding: 6px; margin-bottom: 10px; animation: pulse .9s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
#stage.tense { box-shadow: 0 0 0 2px #ff3b3b inset; animation: tense 1s ease-in-out infinite; }
@keyframes tense { 0%, 100% { box-shadow: 0 0 0 2px #ff3b3b inset; } 50% { box-shadow: 0 0 0 6px #ff3b3b55 inset; } }
#stage.shake { animation: shake .45s; }
@keyframes shake { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-8px); } 40%, 60% { transform: translateX(8px); } }
.big-call { text-align: center; font-size: 28px; font-weight: 900; color: var(--accent); margin: 8px 0 12px; text-shadow: 0 0 18px #f5b43c88; animation: pop .5s cubic-bezier(.2, 1.6, .4, 1); }
.big-call.wait { color: var(--muted); font-size: 18px; text-shadow: none; animation: none; }
@keyframes pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.progress { height: 6px; background: var(--bg); border-radius: 3px; overflow: hidden; margin-bottom: 12px; }
.progress div { height: 100%; width: 0; background: var(--blue); transition: width .1s; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin-bottom: 12px; }
.kpi { background: var(--bg); border: 1px solid var(--line); border-radius: 10px; padding: 10px; }
.kpi .label { font-size: 11px; color: var(--muted); }
.kpi .value { font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
