/* RPG live table (#707): player screen and DM share panel.
   Versioned file: changes MUST bump ?v= in index.html and sw.js. */
.live-table-player .card, .live-table-dm .card { min-width: 0; }
.live-spotlight { border-width: 2px; border-color: var(--bs-primary); }
.live-spotlight-label { color: var(--bs-primary); letter-spacing: .05em; }
.live-flash { animation: live-flash 1.2s ease-out; }
@keyframes live-flash { 0% { box-shadow: 0 0 0 .5rem rgba(var(--tt-accent-rgb, 13, 110, 253), .45); } 100% { box-shadow: 0 0 0 0 rgba(var(--tt-accent-rgb, 13, 110, 253), 0); } }
@media (prefers-reduced-motion: reduce) { .live-flash { animation: none; } }
.live-share + .live-share { margin-top: .5rem; }
.live-share-meta { margin-bottom: .25rem; }
.live-feed-item { padding: .6rem 0; border-top: 1px solid var(--bs-border-color); }
.live-feed-item:first-child { border-top: 0; }
.live-announcement { font-weight: 600; overflow-wrap: anywhere; }
.live-die { display: inline-flex; align-items: center; justify-content: center; min-width: 2rem; height: 2rem; padding: 0 .35rem; border: 2px solid var(--bs-border-color); border-radius: .4rem; font-weight: 700; }
.live-die-big { min-width: 3.5rem; height: 3.5rem; font-size: 1.75rem; border-color: var(--bs-primary); }
.live-die-crit { border-color: var(--bs-success); color: var(--bs-success); }
.live-die-fumble { border-color: var(--bs-danger); color: var(--bs-danger); }
.live-die-dropped { opacity: .45; text-decoration: line-through; }
.live-combatant-pc { border-left: 4px solid var(--bs-primary); }
.live-combatant-monster { border-left: 4px solid var(--bs-danger); }
.live-combatant-name { font-size: 1.1rem; }
.live-ac { font-size: 1.35rem; font-weight: 700; }
.live-attack-selected { font-weight: 700; color: var(--bs-primary); }
.live-attack-selected::before { content: "▶ "; }
.live-vs { font-weight: 700; font-size: 1.25rem; color: var(--bs-secondary-color); }
.live-handout { max-height: 70vh; width: auto; }
.live-timer-clock { font-size: clamp(2.25rem, 6vw, 3.5rem); font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.1; }
.live-timer-track { height: .6rem; }
.live-timer-out { border-color: var(--bs-danger); }
.live-timer-out .live-timer-clock { color: var(--bs-danger); }
.live-timer-out .progress-bar { background-color: var(--bs-danger); }
.live-counter { min-width: 7rem; }
.live-counter-value { font-size: 1.75rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.live-counter-value-sm { min-width: 2.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.live-initiative-current { background: var(--bs-primary); color: var(--tt-on-accent, #fff); border-color: var(--bs-primary) !important; font-weight: 700; }
