/* Дополнения для экранов 1.4. Базовое оформление сохранено из версии 1.3.0. */
.event-board-main h1,.event-board-main h2 { color: #f5f7fb; }
.event-board-main { width: min(1760px,100%); margin: auto; padding: 3vh 4vw; }
.opening-screen { min-height: 78vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 4vh; }
.opening-screen h1 { font-size: clamp(42px,6vw,110px); max-width: 1400px; line-height: 1.13; }
.opening-screen p { color: #bdcfdf; font-size: clamp(22px,2.5vw,42px); max-width: 1200px; white-space: pre-line; }
.screen-line { height: 4px; width: 90px; border-radius: 8px; background: var(--accent); }
.registration-screen { display: grid; grid-template-columns: minmax(260px,.85fr) minmax(0,1.2fr); gap: 5vw; align-items: center; min-height: 78vh; }
.registration-intro { text-align: center; }
.registration-intro h1 { font-size: clamp(32px,4vw,68px); margin-bottom: 3vh; }
.qr-card { display: inline-block; padding: 13px; border-radius: 8px; background: #fff;  }
.qr-card svg { display: block; width: clamp(220px,min(28vw,42vh),440px); height: auto; }
.join-url { color: #eed9ac; font-size: clamp(15px,1.8vw,29px); margin-top: 2vh; overflow-wrap: anywhere; }
.registration-info h2 { font-size: clamp(24px,2.7vw,43px); }
.registration-info ol { color: #bdcfdf; font-size: clamp(18px,1.8vw,30px); padding-left: 1.25em; line-height: 1.8; margin: 2vh 0; }
.registration-teams { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 3vh; }
.registration-team { padding: 1.5vh 1.2vw; border: 1px solid #456079; border-radius: 8px; background: #1b3147; }
.registration-team span { display: block; color: #b7c8d9; font-size: clamp(12px,1.1vw,18px); margin-bottom: 5px; }
.registration-team strong { color: #bdcfdf; font-size: clamp(16px,1.5vw,27px); line-height: 1.25; overflow-wrap: anywhere; }
.registration-team.is-named strong { color: #f5f7fb; }
.registration-team.is-named { border-color: #c6a576; animation: team-name-in .65s ease; }
@keyframes team-name-in { from { opacity: .3; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.blitz-screen { min-height: 78vh; display: grid; align-content: center; gap: 3vh; text-align: center; }
.blitz-screen > h1 { font-size: clamp(36px,4.4vw,76px); }
.blitz-clock { display: flex; align-items: center; justify-content: center; gap: 6vw; }
.hourglass { height: min(58vh,580px); width: auto; overflow: visible; }
.hourglass-glass { fill: rgba(96,165,250,.035); stroke: #b7c8d9; stroke-width: 5; }
.hourglass-sand { fill: #d59b52; }
.hourglass-frame { fill: none; stroke: #d0deea; stroke-width: 10; stroke-linecap: round; }
.sand-stream { fill: none; stroke: #eed9ac; stroke-width: 5; stroke-dasharray: 3 6; animation: sand-fall .6s linear infinite; }
@keyframes sand-fall { to { stroke-dashoffset: -18; } }
.blitz-clock [data-board-timer] { color: #f5f7fb; font-size: clamp(80px,13vw,220px); font-weight: 600; letter-spacing: -.04em; font-variant-numeric: tabular-nums; line-height: 1; }
.blitz-clock p { color: #bdcfdf; font-size: clamp(22px,2.4vw,40px); margin-top: 3vh; }
.blitz-clock.is-urgent [data-board-timer],.blitz-clock.is-urgent p { color: #fda4af; }
.blitz-clock.is-urgent .hourglass-sand { fill: #fb7185; }
.blitz-clock.is-urgent .sand-stream { stroke: #fda4af; }
.blitz-clock.is-finished .sand-stream { display: none; }
@media(max-width:800px) {
  .registration-screen { grid-template-columns: 1fr; }
  .registration-teams { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .registration-team { padding: 14px; }
  .blitz-clock { gap: 3vw; }
  .hourglass { height: 39vh; }
}
@media(prefers-reduced-motion:reduce) { .sand-stream,.registration-team.is-named { animation: none; } }

/* Публикация баллов в палитре версии 1.3. */
.board-table .total { position: relative; }
.board-table .score-total { display: inline-block; }
.score-addition { position: absolute; top: 5%; right: 5%; padding: .12em .3em; border-radius: 4px; color: #e0f3e7; background: #315d52; border: 1px solid #729d87; font-size: clamp(16px,1.55vw,28px); line-height: 1.15; white-space: nowrap; pointer-events: none; font-variant-numeric: tabular-nums; }
@media(max-width:800px) { .score-addition { font-size: 15px; top: 0; right: 0; } }
