/* lane-run.css: stub created by the foundation lane; owned by the run lane. */

/* ===== runmeta: title screen daily / history / class badges ===== */
.ts-daily b { font-weight: 700; }
.ts-histwrap { position: relative; display: flex; flex-direction: column; align-items: center; }
.ts-history { margin-top: 6px; min-width: 190px; padding: 6px 8px; background: rgba(20,12,6,.92); border: 2px solid #1a0d04; border-radius: 4px; font-size: 12px; color: #e8d9a8; }
.ts-history[hidden] { display: none; }
.ts-history > div { display: flex; justify-content: space-between; gap: 10px; padding: 2px 0; }
.ts-history .lost b { color: var(--red, #c0392b); } .ts-history .won b { color: var(--green, #5fae4e); }
.cc-best { font-size: 10px; line-height: 1; color: var(--gold, #e0b84a); text-shadow: 0 1px 0 #000; }
.ts-die-note { display: block; min-height: 14px; margin-top: 2px; font-size: 11px; color: #cdbf9c; text-align: center; }
.ts-tagline { margin: 2px 0 4px; font-size: 12px; font-style: italic; color: #e8d9a8; }
.ts-cx { display: flex; align-items: center; gap: 4px; margin-bottom: 4px; font-size: 11px; color: #cdbf9c; }
.ts-cx i { width: 9px; height: 9px; border-radius: 50%; border: 1px solid #1a0d04; background: rgba(255,255,255,.12); }
.ts-cx i.on { background: var(--cc, var(--gold, #e0b84a)); }
.ts-best b { color: var(--gold, #e0b84a); }

/* preflight */
/* opponent plaque */
.opp-plaque { box-sizing: border-box; max-width: 340px; padding: 8px 10px; background: rgba(20,12,6,.92); border: 2px solid #1a0d04; border-radius: 6px; color: #e8d9a8; font-size: 12px; }
.opp-head { display: flex; align-items: center; gap: 8px; }
.opp-class { width: 32px; height: 32px; border-radius: 4px; border: 1px solid #1a0d04; }
.opp-who { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.opp-who b { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.opp-who small { color: #cdbf9c; }
.opp-scout { min-width: 64px; min-height: 44px; padding: 0 10px; font: inherit; font-weight: 700; color: #fff3d0; background: #5a3d22; border: 2px solid #1a0d04; border-radius: 4px; cursor: pointer; }
.opp-scout[aria-pressed="true"] { background: #8a6a2a; }
.opp-pips { display: flex; gap: 3px; margin: 6px 0; }
.opp-pips i { flex: 1; height: 5px; max-width: 18px; border-radius: 2px; background: rgba(255,255,255,.14); }
.opp-pips i.done { background: var(--gold, #e0b84a); } .opp-pips i.now { background: #fff3d0; box-shadow: 0 0 6px #ffd45a; }
.opp-items { display: flex; flex-wrap: wrap; gap: 4px; }
.opp-item { width: 44px; height: 44px; padding: 2px; background: #2b1d10; border: 1px solid #1a0d04; border-radius: 4px; cursor: pointer; }
.opp-item img { width: 100%; height: 100%; object-fit: cover; border-radius: 3px; display: block; }
.opp-cap { min-height: 16px; margin-top: 4px; font-size: 11px; color: #cdbf9c; }
.opp-board { margin-top: 6px; overflow: auto; pointer-events: none; }
/* fight gate */
.fight-sign.fight-ready { animation: fgReady 1.6s ease-in-out infinite; }
.fight-sign.fight-warn { filter: saturate(.85); }
.fight-sign.fight-armed { outline: 3px solid #ffd45a; outline-offset: 2px; }
@keyframes fgReady { 0%, 100% { box-shadow: 0 0 0 rgba(255,212,90,0); } 50% { box-shadow: 0 0 16px 3px rgba(255,212,90,.65); } }
@media (prefers-reduced-motion: reduce) { .fight-sign.fight-ready { animation: none; box-shadow: 0 0 10px 2px rgba(255,212,90,.5); } }
/* end card */
.end-card { max-width: 560px; margin: 0 auto; padding: 20px 16px 28px; }
.end-class { display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; }
.end-portrait { width: 44px; height: 44px; border-radius: 6px; border: 2px solid #1a0d04; }
.end-note { display: inline-block; margin: 0 0 10px; padding: 3px 12px; border-radius: 12px; background: rgba(255,255,255,.08); font-size: 14px; }
.end-note.best { background: var(--gold, #e0b84a); color: #1a0d04; font-weight: 700; }
.end-board { display: flex; justify-content: center; margin: 8px 0; overflow-x: auto; pointer-events: none; }
.end-strip { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px; margin: 8px 0; }
.end-strip i { width: 14px; height: 14px; border-radius: 3px; background: var(--muted, #888); }
.end-strip i.w { background: var(--green, #5fae4e); } .end-strip i.l { background: var(--red, #c0392b); }
.end-totals { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 16px; margin: 8px 0; font-size: 14px; }
.end-mvp-ic { width: 22px; height: 22px; vertical-align: middle; border-radius: 3px; }
.end-log { max-width: 520px; margin: 8px auto; text-align: left; font-size: 13px; }
.end-log summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; }
.end-seed { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 10px 0; font-size: 13px; }
.end-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 14px; }
.end-actions .btn, .end-copy { min-height: 44px; }
@media (max-width: 400px) { .end-actions .btn { flex: 1 1 100%; } }
/* first-run coach: strip never captures pointers except Skip */
.coach { position: fixed; left: 8px; right: 8px; bottom: 8px; z-index: 600; display: flex; align-items: center; gap: 10px; padding: 8px 10px; background: rgba(20,12,6,.95); border: 2px solid #ffd45a; border-radius: 8px; color: #fff3d0; font-size: 14px; pointer-events: none; }
.coach.done { border-color: var(--green, #5fae4e); }
.coach-n { font-weight: 700; color: #ffd45a; white-space: nowrap; }
.coach-t { flex: 1; min-width: 0; }
.coach-skip { pointer-events: auto; min-width: 64px; min-height: 44px; font: inherit; color: #fff3d0; background: #5a3d22; border: 2px solid #1a0d04; border-radius: 4px; cursor: pointer; }
.coach-ring { animation: coachRing 1.2s ease-in-out infinite; outline: 3px solid #ffd45a; outline-offset: 2px; border-radius: 6px; }
@keyframes coachRing { 50% { outline-color: rgba(255,212,90,.25); } }
@media (prefers-reduced-motion: reduce) { .coach-ring { animation: none; } }
