.team-emblem { display:inline-block; width:40px; height:40px; object-fit:contain; vertical-align:middle; flex-shrink:0; }
.team-emblem.large { width:clamp(110px,13vw,210px); height:clamp(110px,13vw,210px); }
.team-name .team-emblem { width:28px; height:28px; margin-right:7px; }
.board-team .team-emblem { width:clamp(40px,4vw,70px); height:clamp(40px,4vw,70px); margin-right:12px; }
.registration-team .team-emblem { float:left; margin-right:10px; }
.profile-fields { margin:16px 0; }
.profile-fields label { margin-bottom:16px; }
.emblem-picker { border:1px solid var(--line); border-radius:8px; margin:12px 0; padding:12px; }
.emblem-picker legend { padding:0 6px; color:var(--muted); }
.emblem-picker > div { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
.emblem-picker button { background:#fff; border:1px solid #dce4ee; border-radius:7px; padding:7px 3px; color:var(--ink); }
.emblem-picker button span { display:block; font-size:11px; margin-top:3px; }
.emblem-picker button[aria-pressed="true"] { border-color:#2c5d96; background:#e3edf9; box-shadow:inset 0 0 0 1px #2c5d96; }
.experience-options { display:grid; gap:8px; margin-bottom:14px; }
.round-control-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.queue-edit { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.queue-edit label { display:flex; align-items:center; gap:10px; }
.queue-edit select { margin:0; }
.prep-inline { display:block; font-size:34px; margin:14px 0; font-variant-numeric:tabular-nums; }
.captain-prep { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 18px; background:#e7eef8; border:1px solid #b8c9dd; border-radius:8px; margin-bottom:18px; }
.captain-prep strong { font-size:28px; font-variant-numeric:tabular-nums; }
.timer-urgent { color:#a13035; }
.ready-card { margin-top:20px; text-align:center; }
.envelope-card { text-align:center; padding-top:30px; padding-bottom:35px; }
.envelope-card h1 { margin:12px 0 24px; }
.envelope-button { display:inline-flex; flex-direction:column; align-items:center; gap:14px; background:transparent; border:0; color:#274c79; font-size:19px; font-weight:600; padding:15px; }
.envelope-button svg { width:220px; height:150px; fill:#ecdfc6; stroke:#987644; stroke-width:3; transition:transform .2s; }
.envelope-button:hover svg { transform:translateY(-5px) rotate(-2deg); }
.experience-board { min-height:80vh; padding:3vh 4vw; color:#f5f7fb; }
.experience-board h1,.experience-board h2 { color:#f5f7fb; }
.team-introduction,.countdown-screen,.performance-screen,.prep-screen { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; min-height:75vh; gap:2.5vh; }
.team-introduction h1,.performance-screen h2 { font-size:clamp(36px,5.6vw,95px); max-width:1400px; }
.team-introduction p,.performance-screen p,.prep-screen p { color:#bdcfdf; font-size:clamp(22px,2.5vw,42px); }
.team-introduction .table-number { font-size:clamp(20px,2vw,32px); }
.performance-screen h1,.prep-screen h1,.countdown-screen h1 { font-size:clamp(30px,3.5vw,58px); }
.performance-next { font-size:clamp(20px,2vw,32px); margin-top:3vh; padding-top:3vh; border-top:1px solid #456079; color:#bdcfdf; }
.countdown-screen [data-start-countdown] { font-size:clamp(120px,24vw,340px); line-height:1; color:#eed9ac; min-height:1em; }
.countdown-screen p { color:#bdcfdf; font-size:clamp(20px,2vw,32px); }
.public-main .countdown-screen { min-height:65vh; }
.public-main .countdown-screen h1 { color:var(--ink); }
.public-main .countdown-screen [data-start-countdown] { color:#2c5d96; }
.public-main .countdown-screen p { color:var(--muted); }
.prep-screen [data-prep-timer] { font-size:clamp(80px,14vw,210px); font-variant-numeric:tabular-nums; line-height:1; color:#eed9ac; }
.prep-screen [data-prep-timer].timer-urgent { color:#f2a8a8; }
.ready-indicators { width:100%; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.ready-indicators > div { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; border:1px solid #456079; border-radius:8px; background:#1b3147; padding:12px 5px; color:#b7c8d9; }
.ready-indicators .is-ready { border-color:#87b69b; background:#294b46; color:#def1e3; }
.ready-indicators span { font-size:clamp(12px,1.3vw,22px); }
.ready-indicators strong { font-size:clamp(12px,1.2vw,20px); }
.submission-panel { margin-top:2vh; text-align:center; }
.submission-panel h2 { color:#bdcfdf; font-size:clamp(18px,1.8vw,30px); margin-bottom:1.3vh; }
.event-board-main:has(.submission-panel) .blitz-screen { min-height:52vh; gap:1vh; }
.event-board-main:has(.submission-panel) .hourglass { height:38vh; }
.event-board-main:has(.submission-panel) .blitz-clock [data-board-timer] { font-size:clamp(70px,11vw,180px); }
.award-controls { margin-bottom:22px; }
.award-wait { display:flex; min-height:55vh; align-items:center; justify-content:center; text-align:center; }
.award-wait h2 { color:#eed9ac; font-size:clamp(30px,4vw,65px); }
.award-step-1 .podium,.award-step-2 .podium { display:flex; justify-content:center; gap:3vw; }
.award-step-1 .podium-card,.award-step-2 .podium-card { width:min(520px,42vw); }
.podium-team .team-emblem { display:block; margin:0 auto 8px; }
@media(max-width:700px) { .round-control-grid,.queue-edit { grid-template-columns:1fr; } .emblem-picker > div { grid-template-columns:repeat(4,minmax(0,1fr)); } .ready-indicators { grid-template-columns:repeat(3,minmax(0,1fr)); } .team-name .team-emblem { display:none; } .captain-prep { position:sticky; top:0; z-index:10; } .award-step-1 .podium-card,.award-step-2 .podium-card { width:auto; } }
@media(prefers-reduced-motion:reduce) { .envelope-button svg { transition:none; } .envelope-button:hover svg { transform:none; } }
