:root{color:#132338;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface:#ffffffd6;--surface-strong:#f6fafff5;--surface-soft:#fafcfffa;--line:#13233814;--line-strong:#13233829;--text-main:#132338;--text-muted:#61748d;--accent:#2d74c4;--accent-strong:#0f2f57;--accent-soft:#2d74c414;--accent-mint:#3a887014;--warm-soft:#c99a491a;--success:#20834a;--warning:#9c6a00;--danger:#b24d39;--shadow:0 16px 48px #213a5c1f;background:radial-gradient(circle at top,#7bb9ff24,#0000 34%),linear-gradient(#f9fbff 0%,#edf4fb 48%,#e6eef7 100%);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:0 0;min-height:100vh;margin:0;overflow:auto}button,input,textarea,select{font:inherit}h1,h2,h3,p{margin:0}.monitor-shell{grid-template-rows:auto auto 1fr auto;gap:20px;height:100vh;padding:24px;display:grid;overflow:hidden}.monitor-shell--final{grid-template-rows:1fr}.final-screen{border:1px solid var(--line-strong);background:linear-gradient(180deg, #fffffff5, #f3f9fff5), var(--surface);height:100%;min-height:0;box-shadow:var(--shadow);border-radius:32px;grid-template-rows:auto minmax(0,1fr);gap:22px;padding:28px 32px 32px;display:grid}.final-screen__header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.final-screen__eyebrow{color:var(--text-muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.86rem;font-weight:800}.final-screen__header h1{color:var(--accent-strong);letter-spacing:-.04em;margin:0;font-size:clamp(2.4rem,4.6vw,4.8rem);line-height:.92}.phase-banner{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#fffffff2,#f3f9fff5);border-radius:20px;justify-content:space-between;align-items:flex-start;gap:20px;padding:14px 22px;display:flex}.phase-banner__content{gap:2px;min-width:0;display:grid}.phase-banner__eyebrow,.section-card__eyebrow{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem;font-weight:700}.phase-banner h1{color:var(--accent-strong);letter-spacing:-.02em;font-size:clamp(1.9rem,3vw,2.8rem);line-height:.98}.phase-banner__clock{color:var(--accent-strong);letter-spacing:.08em;font-variant-numeric:tabular-nums;flex-shrink:0;font-family:JetBrains Mono,Fira Code,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1.35rem,2.4vw,2.1rem);font-weight:800;line-height:1}.inline-warning{color:#7d3224;background:#fff1edf2;border:1px solid #b24d392e;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;padding:16px 20px;display:flex}.inline-warning p{color:#985245;margin-top:4px}.monitor-grid{align-items:stretch;gap:20px;height:100%;min-height:0;display:flex;overflow:hidden}.monitor-grid>.section-card{flex:1 1 0;align-self:stretch;min-width:0;height:100%;max-height:100%}.page-credit{color:var(--text-muted);letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:.82rem}.admin-shell{background:0 0;height:100vh;padding:28px;overflow:auto}.admin-topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.admin-topbar h1{color:var(--accent-strong);letter-spacing:-.03em;font-size:clamp(2rem,3vw,2.8rem);line-height:.98}.admin-eyebrow{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}.admin-subtitle,.admin-muted{color:var(--text-muted)}.admin-subtitle{max-width:56ch;margin-top:10px}.admin-topbar__actions{align-items:center;gap:12px;display:flex}.admin-auth-badge{min-height:36px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:#61748d1f;border-radius:999px;align-items:center;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.admin-auth-badge.is-authenticated{color:var(--success);background:#20834a1f}.admin-message{border:1px solid #0000;border-radius:16px;margin-bottom:18px;padding:14px 16px}.admin-message--success{color:#1d6d3f;background:#ecf9f0eb;border-color:#20834a29}.admin-message--error{color:#8b3f31;background:#fff1edf5;border-color:#b24d392e}.admin-status-panel{min-height:122px;margin-bottom:18px}.admin-status-panel--idle{background:#f8fcffb8}.admin-status-panel--success{background:#ecf9f0eb;border-color:#20834a29}.admin-status-panel--error{color:#7c2515;background:linear-gradient(#ffe7e2fa,#ffd6cefa);border-color:#b24d3957}.admin-status-panel--error .admin-eyebrow,.admin-status-panel--error h2,.admin-status-panel--error .admin-status-panel__text{color:#7c2515}.admin-status-panel__text{margin:0;font-size:.98rem;line-height:1.5}.admin-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.admin-card{border:1px solid var(--line-strong);background:#f8fcffb8;border-radius:24px;padding:20px}.admin-card--wide,.admin-card--full{grid-column:1/-1}.admin-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-status-pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:.78rem;font-weight:800;display:inline-flex}.admin-status-pill--idle{color:var(--text-muted);background:#61748d1f}.admin-status-pill--active{color:var(--accent);background:#2d74c41a;border-color:#2d74c429}.admin-status-pill--warning{color:var(--warning);background:#ffdb8433;border-color:#9c6a0029}.admin-status-pill--success{color:var(--success);background:#8df0bf2e;border-color:#20834a29}.admin-card h2{letter-spacing:-.03em;margin-top:6px;font-size:1.5rem;line-height:1}.admin-session-state{padding:12px 0 2px}.admin-form{gap:14px;display:grid}.admin-form--inline{grid-template-columns:minmax(0,1fr) 160px auto;align-items:end;margin-bottom:18px}.admin-field{gap:8px;display:grid}.admin-field span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.admin-field input,.admin-score-form input{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text-main);background:#ffffffe6;border-radius:12px;padding:0 14px}.admin-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.admin-toggle-row{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:14px;min-height:44px;padding:4px 0;display:flex}.admin-toggle-row__label{color:var(--text-muted);font-size:.92rem;font-weight:700;transition:color .12s}.admin-toggle-row__label.is-active{color:var(--accent-strong)}.admin-switch{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:66px;min-height:40px;padding:0;display:inline-flex}.admin-switch:disabled{cursor:not-allowed;opacity:.55}.admin-switch__track{border:1px solid var(--line-strong);background:#ffffffe6;border-radius:999px;align-items:center;width:58px;height:32px;padding:4px;transition:background .14s,border-color .14s;display:inline-flex}.admin-switch__track.is-standings{background:linear-gradient(135deg,#2d74c4,#5d9be2);border-color:#2d74c44d}.admin-switch__thumb{background:#fff;border-radius:999px;width:22px;height:22px;transition:transform .14s;transform:translate(0);box-shadow:0 6px 16px #1c314c2e}.admin-switch__track.is-standings .admin-switch__thumb{transform:translate(26px)}.admin-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d74c4,#5d9be2);border:0;border-radius:12px;min-height:44px;padding:0 16px;font-weight:800}.admin-button:disabled{cursor:not-allowed;opacity:.55}.team-shell{min-height:100vh;padding:16px;overflow:auto}.team-page{width:min(100%,720px);padding-bottom:calc(104px + env(safe-area-inset-bottom));gap:16px;margin:0 auto;display:grid}.team-nav{z-index:20;width:100%;padding:8px 12px max(16px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffffa;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #213a5c14}.team-nav__link{min-height:52px;color:var(--accent-strong);text-align:center;white-space:normal;border-radius:12px;justify-content:center;align-items:center;padding:8px 10px;font-size:.92rem;font-weight:800;line-height:1.15;text-decoration:none;display:inline-flex}.team-nav__link.is-active{color:#fff;background:linear-gradient(135deg,#2d74c4,#5d9be2)}.team-page__header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.team-page__eyebrow,.team-card__eyebrow{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.team-page h1{color:var(--accent-strong);letter-spacing:-.04em;margin-top:6px;font-size:clamp(2rem,10vw,3rem);line-height:.98}.team-page__meta{color:var(--text-muted);text-align:right;font-size:.88rem}.team-card{border:1px solid var(--line-strong);box-shadow:var(--shadow);background:linear-gradient(#fffffff2,#f4f9fff5);border-radius:24px;gap:16px;padding:18px;display:grid}.team-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.team-card h2{letter-spacing:-.03em;margin-top:4px;font-size:1.5rem;line-height:1.05}.team-field{gap:8px;display:grid}.team-field span,.match-card__label,.standing-highlight__label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:700}.team-field input{border:1px solid var(--line-strong);width:100%;min-height:52px;color:var(--text-main);background:#fffffff5;border-radius:14px;padding:0 16px}.team-picker-list,.match-list{gap:10px;display:grid}.team-picker-item,.team-button{border:1px solid var(--line-strong);cursor:pointer;border-radius:16px;min-height:52px}.team-picker-item{color:var(--text-main);text-align:left;background:#ffffffe0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.team-picker-item.is-selected{background:#2d74c414;border-color:#2d74c44d}.team-picker-item__name{font-weight:700}.team-picker-item__meta{color:var(--text-muted);font-size:.9rem}.team-button{color:#fff;background:linear-gradient(135deg,#2d74c4,#5d9be2);padding:0 16px;font-weight:800}.team-button--secondary{color:var(--accent-strong);background:#fffffff5}.team-empty-state,.team-note{color:var(--text-muted);line-height:1.5}.team-placement-bracket{gap:12px;display:grid}.team-placement-bracket .tournament-map{grid-template-columns:1fr;height:auto;padding-right:0;overflow:visible}.team-rank-pill,.standing-card__points,.match-card__id,.match-card__result-badge{min-height:36px;color:var(--accent);white-space:nowrap;background:#2d74c41a;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-size:.86rem;font-weight:800;display:inline-flex}.match-card__result-badge--w{color:var(--success);background:#20834a1f}.match-card__result-badge--d{color:var(--accent);background:#2d74c41a}.match-card__result-badge--l{color:var(--danger);background:#b24d391f}.match-card__result-badge--bye{color:var(--text-muted);background:#61748d1f}.standing-highlight{background:#2d74c414;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.standing-highlight__value,.match-card__value{margin-top:4px;font-size:1.08rem;font-weight:700}.team-stats-grid--played-match{grid-template-columns:repeat(2,minmax(0,1fr))}.team-stats-grid--played-match dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.played-match-result{align-items:center;gap:8px;display:inline-flex}.played-match-result .match-card__result-badge{min-height:30px}.team-stats-grid,.standing-card__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.team-stats-grid--standing{gap:8px}.team-stats-grid div,.standing-card__stats div{background:#ffffffb8;border-radius:16px;padding:12px}.team-stats-grid--standing div{border-radius:14px;padding:10px}.match-card .team-stats-grid div{border-radius:14px;padding:9px 11px}.team-stats-grid dt,.standing-card__stats dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.team-stats-grid dd,.standing-card__stats dd{margin:6px 0 0;font-size:1.05rem;font-weight:800}.team-stats-grid--standing dd{font-size:.98rem}.match-card .team-stats-grid dd{margin-top:4px;font-size:1rem}.match-card{border:1px solid var(--line);background:#ffffffd1;border-radius:20px;gap:10px;padding:12px 14px;display:grid}.match-card__header,.match-card__body,.standing-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.match-card__phase,.standing-card__rank{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.match-card h3,.standing-card h3{margin-top:2px;font-size:1rem;line-height:1.15}.standings-cards{gap:12px;display:none}.standing-card{border:1px solid var(--line);background:#ffffffd1;border-radius:20px;gap:14px;padding:16px;display:grid}.standing-card.is-selected,.team-standings-table tbody tr.team-standings-table__row--selected{background:#2d74c414;border-color:#2d74c447}.team-standings-table{border-collapse:collapse;table-layout:fixed;width:100%}.team-standings-table th,.team-standings-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:14px 8px}.team-standings-table th{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:800}.team-standings-table col.team-standings-table__col-rank{width:52px}.team-standings-table col.team-standings-table__col-team{width:auto}.team-standings-table col.team-standings-table__col-stat{width:46px}.team-standings-table col.team-standings-table__col-diff{width:56px}.team-standings-table__head-rank,.team-standings-table__cell-rank{text-align:left;padding-left:18px}.team-standings-table__head-team,.team-standings-table__cell-team{text-align:left}.team-standings-table__head-team{padding-right:12px}.team-standings-table__cell-team{white-space:nowrap;text-overflow:ellipsis;padding-right:12px;overflow:hidden}.team-standings-table__head-stat,.team-standings-table__cell-stat{text-align:center;padding-left:4px;padding-right:4px}.team-standings-table__head-diff,.team-standings-table__cell-diff{text-align:center;padding-left:4px;padding-right:12px}.team-standings-table tbody td{font-variant-numeric:tabular-nums}.team-standings-table tbody .team-standings-table__cell-team{font-weight:700}.team-standings-table tbody tr:last-child td{border-bottom:0}.team-standings-table-wrap{border:1px solid var(--line);background:#fffc;border-radius:18px;display:block;overflow:hidden}@media (width>=768px){.team-shell{padding:24px}.team-page{padding-bottom:calc(108px + env(safe-area-inset-bottom));gap:20px}.team-card{padding:22px}.standing-card{padding:18px}}@media (width<=767px){.team-standings-table{table-layout:auto}.team-standings-table th,.team-standings-table td{padding:10px 4px;font-size:.82rem}.team-standings-table th{letter-spacing:.05em;font-size:.68rem}.team-standings-table col.team-standings-table__col-rank{width:32px}.team-standings-table col.team-standings-table__col-stat{width:30px}.team-standings-table__head-rank,.team-standings-table__cell-rank{padding-left:8px}.team-standings-table__head-team,.team-standings-table__cell-team{padding-right:8px}.team-standings-table__head-diff,.team-standings-table__cell-diff,.team-standings-table col.team-standings-table__col-diff{display:none}.team-standings-table__cell-team{max-width:0}.team-page__header,.team-card__header,.standing-highlight,.match-card__header,.match-card__body{flex-direction:column;align-items:stretch}.team-stats-grid,.standing-card__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.team-stats-grid--standing{grid-template-columns:repeat(3,minmax(0,1fr))}.standing-card{gap:12px}.standing-card__stats{gap:8px}.standing-card__stats div{padding:10px 12px}}.admin-button--secondary{border:1px solid var(--line-strong);color:var(--accent-strong);background:#ffffffe6}.admin-button--danger{background:linear-gradient(135deg,#b24d39,#d47a64)}.admin-button--ghost{border:1px solid var(--line-strong);min-height:36px;color:var(--accent-strong);background:#ffffffe0;padding:0 12px}.admin-team-list,.admin-match-list{gap:12px;display:grid}.admin-team-list{max-height:360px;padding-right:6px;overflow:auto}.admin-team-row,.admin-match-row{border:1px solid var(--line);background:#ffffffc7;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.admin-team-row strong,.admin-match-row__name{display:block}.admin-team-row span,.admin-match-row__subline,.admin-match-row__id{color:var(--text-muted)}.admin-match-row{align-items:flex-start}.admin-match-row__meta{gap:6px;min-width:0;display:grid}.admin-match-row__topline,.admin-match-row__subline,.admin-match-row__teams{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-match-row__status{text-transform:uppercase;background:#61748d1f;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.76rem;font-weight:800;display:inline-flex}.admin-match-row__status--ready,.admin-match-row__status--pending{color:var(--warning);background:#ffdb8433}.admin-match-row__status--finished{color:var(--success);background:#8df0bf2e}.admin-match-row__status--skipped{color:var(--text-muted);background:#61748d1f}.admin-match-row__divider{color:var(--accent);text-transform:uppercase;font-weight:800}.admin-match-row__result{gap:10px;min-width:220px;display:grid}.admin-match-row__score-badge{border:1px solid var(--line-strong);min-height:40px;color:var(--accent-strong);background:#ffffffd6;border-radius:12px;justify-content:center;align-items:center;padding:0 14px;font-weight:800;display:inline-flex}.admin-match-row__score-badge--muted{color:var(--text-muted)}.admin-score-form{grid-template-columns:72px auto 72px auto;align-items:center;gap:8px;display:grid}.admin-score-form span{text-align:center;color:var(--accent-strong);font-weight:800}.submit-card{width:100%}.submit-match-preview{border:1px solid var(--line);background:#ffffffc7;border-radius:18px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:20px;padding:18px 20px;display:grid}.submit-match-preview strong{text-align:center;font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.05}.submit-match-preview span{color:var(--accent);text-transform:uppercase;font-size:.88rem;font-weight:800}.submit-form{gap:18px}.submit-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.submit-page__header{align-items:flex-start}.submit-page__subtitle{text-align:left;max-width:34ch;margin-top:12px}.submit-page__actions{flex-wrap:wrap;gap:10px;display:flex}.submit-status-card--success{background:#ecf9f0eb;border-color:#20834a29}.submit-status-card--error{background:#fff1edf5;border-color:#b24d3933}.submit-status-card--error .team-card__eyebrow,.submit-status-card--error h2,.submit-status-card--error .admin-status-panel__text{color:#7c2515}@media (width<=960px){.admin-layout,.admin-actions-grid,.admin-form--inline{grid-template-columns:1fr}.admin-topbar,.admin-team-row,.admin-match-row{flex-direction:column;align-items:flex-start}.admin-topbar__actions{flex-flow:row;justify-content:flex-start;align-items:center;width:100%}.admin-topbar__actions>*{flex-shrink:0}.admin-auth-badge{white-space:nowrap;min-width:0}.admin-match-row__result{width:100%;min-width:0}}@media (width<=767px){.submit-page__actions{width:100%}.submit-page__actions .team-button{flex:1 1 0}.submit-match-preview{text-align:center;grid-template-columns:1fr;justify-items:center;gap:10px;margin-bottom:16px;padding:16px}.submit-score-grid{grid-template-columns:1fr;gap:12px}}.feedback-card{border:1px solid var(--line);background:linear-gradient(180deg, #ffffffeb, #f7fbffe6), var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:28px}.section-card{border:1px solid var(--line-strong);background:#f8fcff85;border-radius:28px;grid-template-rows:86px minmax(0,1fr);height:100%;min-height:0;padding:22px 22px 20px;display:grid;overflow:hidden}.section-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;height:100%;min-height:0;padding-bottom:16px;display:flex}.section-card h2,.feedback-card h2{letter-spacing:-.03em;margin-top:6px;font-size:clamp(1.45rem,1.9vw,1.95rem);line-height:1}.section-card__content{min-height:0;padding-top:16px;overflow:hidden}.monitor-swap-stack{height:100%;min-height:0;position:relative}.monitor-swap-pane{opacity:0;pointer-events:none;position:absolute;inset:0}.monitor-swap-pane--active{opacity:1;pointer-events:auto}.monitor-list{grid-template-rows:repeat(8,minmax(0,1fr));gap:14px;height:100%;display:grid;overflow:hidden}.standings-panel,.final-placings{height:100%;min-height:0}.final-placings__row{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:18px;display:grid}.final-placings__body{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;align-content:stretch;gap:14px 18px;height:100%;min-height:0;display:grid;overflow:hidden}.final-placings__row{border:1px solid var(--line-strong);background:linear-gradient(135deg, #2d74c40d, transparent 26%), linear-gradient(180deg, #fffffff5, #f5f9fff5), var(--surface-soft);border-radius:24px;min-height:0;padding:16px 20px}.final-placings__row--place-1{background:linear-gradient(135deg,#deb5373d,#0000 30%),linear-gradient(#fff9dcfa,#fff0b3fa);border-color:#c2911559}.final-placings__row--place-2{background:linear-gradient(135deg,#b6c0cd38,#0000 30%),linear-gradient(#f8fbfffa,#dfe6eefa);border-color:#7a85944d}.final-placings__row--place-3{background:linear-gradient(135deg,#be7b4438,#0000 30%),linear-gradient(#fff2e9fa,#e8c1a4fa);border-color:#9c66384d}.final-placings__place{color:var(--accent-strong);letter-spacing:-.03em;font-size:clamp(1.5rem,2.6vw,2.3rem);font-weight:800}.final-placings__team{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.45rem,2.2vw,2.1rem);line-height:1.08;overflow:hidden}.tournament-map{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;height:100%;min-height:0;padding-right:4px;display:grid;overflow:auto}.tournament-map__group{border:1px solid var(--line-strong);background:linear-gradient(135deg, #2d74c40d, transparent 26%), linear-gradient(180deg, #fffffff5, #f5f9fff5), var(--surface-soft);border-radius:22px;align-content:start;gap:8px;padding:10px;display:grid}.tournament-map__group--round-robin{align-self:start}.tournament-map__group--highlighted{background:linear-gradient(135deg,#ba34342e,#0000 34%),linear-gradient(#fffcfcfc,#ffeeeefc);border-color:#ba343480;box-shadow:0 0 0 3px #ba343429,0 18px 40px #78181829}.tournament-map__group-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.tournament-map__group-header h3{color:#7c1f1f;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.94rem;font-weight:800}.tournament-map__highlight-pill{color:#7c1f1f;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#ba343424;border:1px solid #ba343438;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:.72rem;font-weight:800;display:inline-flex}.tournament-map__bracket{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;display:grid}.tournament-map__column{grid-template-rows:auto auto auto;align-content:start;gap:8px;min-width:0;display:grid}.tournament-map__column-header{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.76rem;font-weight:800}.tournament-map__round-robin{grid-auto-rows:max-content;align-content:start;gap:8px;display:grid}.tournament-map__node{background:linear-gradient(180deg, #fffffffa, #f4f8fff5), var(--surface-soft);border:1px solid #a0b1c773;border-radius:12px;grid-template-rows:auto auto auto;align-content:start;gap:4px;min-width:0;padding:8px 10px;display:grid;box-shadow:0 10px 24px #20395614}.tournament-map__node--live,.tournament-map__node--pending,.tournament-map__node--ready{border-color:#ffdb8473}.tournament-map__node--finished{border-color:#8df0bf47}.tournament-map__node--semi-final{border-color:#2d74c44d}.tournament-map__node--grand-final{background:linear-gradient(135deg,#deb53724,#0000 38%),linear-gradient(#fffae5fa,#faf2c9fa);border-color:#c2911559}.tournament-map__node-header{justify-content:flex-start;min-height:18px;display:flex}.tournament-map__badge{min-height:18px;color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#2d74c414;border-radius:999px;align-items:center;padding:0 7px;font-size:.66rem;font-weight:800;display:inline-flex}.tournament-map__badge--semi-final{background:#2d74c41f}.tournament-map__badge--grand-final{color:#8a5c00;background:#deb5372e}.tournament-map__badge--placement{color:var(--text-muted);background:#61748d1f}.tournament-map__badge--round{color:#1d6a4a;background:#469a751f}.tournament-map__team{background:#2d74c40f;border-radius:8px;grid-template-columns:minmax(0,1fr) 2ch;align-items:center;gap:8px;min-width:0;min-height:24px;padding:3px 6px;display:grid}.tournament-map__team.is-winner{background:#8df0bf2e}.tournament-map__team strong{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;line-height:1.1;overflow:hidden}.tournament-map__team span{color:var(--accent-strong);font-variant-numeric:tabular-nums;text-align:center;justify-content:center;align-items:center;width:2ch;min-width:2ch;min-height:1em;font-size:.92rem;font-weight:700;line-height:1;display:inline-flex}.tournament-map__group--round-robin .tournament-map__node{align-self:start;height:auto;min-height:0}.tournament-map__group--round-robin .tournament-map__team{min-height:0}@media (width<=900px){.tournament-map{grid-template-columns:1fr}.tournament-map__bracket{gap:28px}}.standings-table{grid-template-rows:auto 1fr;height:100%;min-height:0;display:grid}.standings-table__header,.standings-table__row{grid-template-columns:44px minmax(0,1fr) 120px 68px 78px;align-items:center;gap:12px;display:grid}.standings-table__header{color:var(--text-muted);letter-spacing:.14em;text-transform:uppercase;padding:0 14px 12px;font-size:.76rem;font-weight:800}.standings-table__header-rank,.standings-table__header-team{text-align:left}.standings-table__header-stat{text-align:center}.standings-table__body{gap:8px;min-height:0;display:grid;overflow:hidden}.standings-table__row{border:1px solid var(--line);background:linear-gradient(135deg, #2d74c40d, transparent 26%), linear-gradient(180deg, #fffffff5, #f5f9fff5), var(--surface-soft);border-radius:16px;padding:10px 12px}.standings-table__rank,.standings-table__record,.standings-table__matches,.standings-table__diff{font-size:.92rem}.standings-table__team{font-size:.96rem}.standings-table__rank{color:var(--accent-strong);font-size:1rem;font-weight:800}.standings-table__team{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:1rem;line-height:1.1;overflow:hidden}.standings-table__record,.standings-table__matches,.standings-table__diff{min-height:36px;color:var(--accent-strong);font-variant-numeric:tabular-nums;text-align:center;background:linear-gradient(#2d74c414,#2d74c408);border:1px solid #2d74c41f;border-radius:12px;justify-content:center;justify-self:center;align-items:center;padding:0 10px;display:inline-flex}.standings-table__record{letter-spacing:.04em;min-width:104px;font-weight:700}.standings-table__matches,.standings-table__diff{min-width:56px;font-weight:800}.standings-table__diff{min-width:66px}.match-card{border:1px solid var(--line-strong);background:linear-gradient(135deg, #2d74c40d, transparent 26%), linear-gradient(180deg, #fffffff5, #f5f9fff5), var(--surface-soft);border-radius:18px;gap:10px;min-height:0;padding:16px;display:grid;position:relative}.match-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.match-card__header-main{align-items:center;min-width:0;display:flex}.match-card__name{color:var(--accent-strong);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:800;display:block;overflow:hidden}.match-card__id{min-height:24px;color:var(--text-muted);letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:2px;right:5px}.status-badge{letter-spacing:.12em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.status-badge--scheduled{color:var(--accent);background:#2d74c414;border-color:#2d74c424}.status-badge--ready,.status-badge--pending{color:var(--warning);background:#ffdb8433;border-color:#9c6a002e}.status-badge--live{color:var(--danger);background:#ffad9b2e;border-color:#b24d3933}.status-badge--finished{color:var(--success);background:#8df0bf2e;border-color:#20834a2e}.status-badge--skipped{color:var(--text-muted);background:#61748d1f;border-color:#61748d2e}.match-card__body{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:14px;display:grid}.match-card__main{align-content:start;gap:10px;min-width:0;display:grid}.match-card__time-block{align-content:start;gap:3px;padding-top:2px;display:grid}.match-card__time-main{color:var(--accent-strong);letter-spacing:-.02em;font-size:1.26rem;font-weight:800;line-height:1}.match-card__time-day{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.match-card__teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;display:grid}.match-card__teams strong{letter-spacing:-.03em;white-space:nowrap;text-overflow:ellipsis;padding-block:.08em .12em;font-size:clamp(1.1rem,1.7vw,1.6rem);line-height:1.16;display:block;overflow:hidden}.match-card__teams strong:first-child{text-align:right}.match-card__versus{color:var(--accent);text-transform:uppercase;font-size:.92rem;font-weight:800}.match-card__score{border:1px solid var(--line-strong);min-width:104px;min-height:44px;color:var(--accent);text-transform:uppercase;background:#ffffffb3;border-radius:14px;justify-content:center;align-items:center;padding:0 14px;font-size:1.45rem;font-weight:800;line-height:1.12;display:inline-flex}.match-card__details{color:var(--text-muted);flex-wrap:nowrap;gap:10px;min-width:0;font-size:.88rem;display:flex;overflow:hidden}.match-card__details span{white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#2d74c40f,#2d74c408);border-radius:10px;padding:6px 9px;overflow:hidden}.match-card__footer{justify-content:flex-start;align-items:center;gap:12px;padding-right:56px;display:flex}.feedback-card,.empty-state{text-align:center;place-items:center;display:grid}.feedback-card{gap:14px;min-height:340px;padding:40px}.feedback-card p,.empty-state p{max-width:40ch;color:var(--text-muted);font-size:1.05rem}.feedback-card--error{border-color:#b24d3933}.empty-state{border:1px dashed var(--line-strong);border-radius:20px;min-height:220px;padding:24px}.loading-spinner{border:4px solid #ffffff29;border-top-color:var(--accent);border-radius:50%;width:56px;height:56px;animation:1s linear infinite spin}.retry-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2d74c4,#69aef0);border:0;border-radius:999px;min-height:48px;padding:0 20px;font-weight:800}.retry-button--inline{flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.phase-banner{grid-template-columns:1fr}body{overflow:auto}.monitor-shell,#root{overflow:visible}.monitor-shell{height:auto;min-height:100vh}.monitor-grid{flex-direction:column;height:auto;overflow:visible}.monitor-grid>.section-card{width:100%;height:auto;max-height:none}.section-card,.section-card__content,.monitor-swap-stack,.monitor-list,.standings-table__body{overflow:visible}.monitor-swap-pane{display:none}.monitor-swap-pane--active{opacity:1;pointer-events:auto;display:block;position:static}.monitor-list{grid-template-rows:none;height:auto}.standings-table{height:auto}}@media (width<=760px){.monitor-shell{padding:16px}.phase-banner,.section-card,.feedback-card{padding:18px}.section-card{grid-template-rows:74px minmax(0,1fr)}.inline-warning,.phase-banner,.match-card__topline,.match-card__header{flex-direction:column;align-items:flex-start}.match-card__body{grid-template-columns:1fr}.match-card__teams{grid-template-columns:1fr;justify-items:start}.match-card__versus,.result-card__score{justify-self:start}.match-card__footer{flex-direction:column;align-items:flex-start}.section-card__header{height:100%}.standings-table__header,.standings-table__row{grid-template-columns:34px minmax(0,1fr) 96px 52px 62px;gap:8px}.standings-table__header{padding-inline:8px;font-size:.68rem}.standings-table__row{padding:12px 10px}}
