:root{--bg: var(--color-bg-primary);--card: var(--color-bg-secondary);--elevated: var(--color-bg-tertiary);--border: var(--color-border);--text: var(--color-text-primary);--text-dim: var(--color-text-tertiary);--accent: var(--accent-color, #00cfb4);--green: var(--color-success);--red: var(--color-error);--orange: #f59e0b;--gold: #fbbf24;--purple: #3b82f6;--radius: 0px}body{overflow-x:auto;overflow-y:auto}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#09090bf2;backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:16px}.tournament-name{font-size:22px;font-weight:800;letter-spacing:-.5px}.tournament-meta{display:flex;gap:12px;font-size:13px;color:var(--text-dim)}.tournament-meta span{display:flex;align-items:center;gap:4px}.live-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:0;background:#22c55e26;color:var(--green);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.live-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.announcement{text-align:center;padding:10px 24px;background:#00cfb414;border-bottom:1px solid var(--border);font-size:15px;font-weight:600;color:var(--accent);display:none}.bracket-container{padding:24px;min-width:fit-content}.bracket-section{margin-bottom:32px}.section-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--text-dim);margin-bottom:16px;padding-left:4px}.section-title.winners{color:var(--accent)}.section-title.losers{color:var(--orange)}.section-title.grand{color:var(--gold)}.bracket-grid{display:flex;gap:24px;align-items:flex-start}.round-column{display:flex;flex-direction:column;gap:8px;min-width:220px}.round-header{text-align:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:8px}.match-card{background:var(--card);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:border-color .3s}.match-card.in-progress{border-color:var(--green);box-shadow:0 0 12px #22c55e26}.match-card.score-reported{border-color:var(--orange);box-shadow:0 0 12px #ffab4026;animation:pulseGlow 2s infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 12px #ffab4026}50%{box-shadow:0 0 20px #ffab404d}}.match-card.completed{opacity:.7}.match-card-header{display:flex;justify-content:space-between;padding:4px 8px;background:var(--elevated);font-size:10px;font-weight:600;color:var(--text-dim)}.match-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:4px}.match-status-dot.pending{background:var(--text-dim)}.match-status-dot.ready{background:var(--accent)}.match-status-dot.in-progress{background:var(--green)}.match-status-dot.score-reported{background:var(--orange)}.match-status-dot.completed{background:var(--purple)}.match-entrant{display:flex;align-items:center;padding:6px 10px;font-size:13px;border-top:1px solid var(--border);transition:background .3s}.match-entrant.winner{background:#22c55e14}.match-entrant .seed{font-size:10px;font-weight:700;color:var(--text-dim);width:20px;text-align:center;flex-shrink:0}.match-entrant .name{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-entrant .name.tbd{color:var(--text-dim);font-style:italic}.match-entrant .score{font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;width:28px;text-align:center;flex-shrink:0}.match-entrant.winner .score{color:var(--green)}.match-entrant.winner .name{font-weight:700}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:16px}.loading .spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}
