@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap");:root{--bg:#0c1512;--bg-alt:#0f1c17;--panel:#142720;--panel-2:#1a3129;--line:#24463a;--text:#eef3f0;--text-dim:#9db3aa;--accent:#ff5a4e;--accent-2:#2fbf82;--accent-3:#ffb703;--font-display:"Oswald",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"JetBrains Mono",monospace}:root[data-theme=light]{--bg:#f4f7f5;--bg-alt:#e9efeb;--panel:#fff;--panel-2:#eef3f0;--line:#d7e2dc;--text:#0f1a16;--text-dim:#5c6f66;--accent:#e0392f;--accent-2:#1f8f5c;--accent-3:#b5790a}*{box-sizing:border-box}body,html{padding:0;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}::selection{background:var(--accent);color:#0c1512}:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.container{max-width:1180px;margin:0 auto;padding:0 20px 80px}.site-header{border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--bg-alt),var(--bg));position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.header-inner{max-width:1180px;margin:0 auto;padding:18px 20px;justify-content:space-between;gap:12px;flex-wrap:wrap}.brand,.header-inner{display:flex;align-items:baseline}.brand{gap:10px}.brand .mark{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;color:var(--accent-2);border:1px solid var(--accent-2);padding:3px 6px;border-radius:3px}.brand h1{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:.01em;margin:0;text-transform:uppercase}.brand .sub{color:var(--text-dim);font-size:13px}.header-links{display:flex;gap:16px;font-size:14px;color:var(--text-dim)}.header-links a{text-decoration:none;border-bottom:1px solid transparent}.header-links a:hover{color:var(--text);border-bottom-color:var(--accent)}.net-divider{height:1px;background-image:repeating-linear-gradient(90deg,var(--line) 0,var(--line) 6px,transparent 6px,transparent 12px);margin:28px 0}.controls{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 10px;align-items:center}.controls input[type=text],.controls select{background:var(--panel);border:1px solid var(--line);color:var(--text);padding:9px 12px;border-radius:6px;font-size:14px;font-family:var(--font-body)}.controls input[type=text]{flex:1 1 220px;min-width:160px}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 18px}.chip{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text-dim);background:var(--panel);cursor:pointer}.chip.active{border-color:var(--accent-2);color:var(--accent-2);background:rgba(47,191,130,.1)}.status-line{color:var(--text-dim);font-size:13px;margin:4px 0 18px}.status-line .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-2);margin-right:6px;box-shadow:0 0 0 3px rgba(47,191,130,.18)}.event-group{margin-bottom:34px}.event-group h2{font-family:var(--font-display);text-transform:uppercase;font-size:19px;letter-spacing:.02em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:10px}.event-group h2 .count{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);text-transform:none;letter-spacing:0}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px}.match-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;position:relative;overflow:hidden}.match-card.live{border-color:var(--accent-3);box-shadow:0 0 0 1px rgba(255,183,3,.25)}.match-card.completed{opacity:.72}.match-meta{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;color:var(--text-dim);margin-bottom:10px;gap:8px}.match-meta .stage{color:var(--accent-2)}.badge{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;padding:2px 7px;border-radius:999px;text-transform:uppercase}.badge.live{background:rgba(255,183,3,.16);color:var(--accent-3)}.badge.not_scheduled{background:rgba(157,179,170,.1);color:var(--text-dim)}.badge.scheduled{background:rgba(47,191,130,.1);color:var(--accent-2)}.badge.completed{background:rgba(47,191,130,.14);color:var(--accent-2)}.players{display:flex;flex-direction:column;gap:6px}.player-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.player-row .name{font-size:14.5px;font-weight:500}.player-row.winner .name{color:var(--accent-2);font-weight:700}.player-row .school{display:block;font-size:11.5px;color:var(--text-dim);font-weight:400}.score-box{font-size:18px;font-weight:700;min-width:26px;color:var(--text)}.score-box,.vs-line{font-family:var(--font-mono);text-align:center}.vs-line{font-size:10px;color:var(--text-dim);margin:2px 0;letter-spacing:.1em}.card-footer{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-dim)}.empty-state{color:var(--text-dim);font-size:14px;padding:40px 0;text-align:center;border:1px dashed var(--line);border-radius:10px}.login-shell{max-width:360px;margin:90px auto;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.login-shell h1{font-family:var(--font-display);text-transform:uppercase;font-size:20px;margin:0 0 6px}.login-shell p{color:var(--text-dim);font-size:13px;margin:0 0 18px}.login-shell input{width:100%;padding:10px 12px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--text);font-size:14px;margin-bottom:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:6px;border:1px solid var(--accent-2);background:var(--accent-2);color:#072016;font-weight:600;font-size:13.5px;cursor:pointer}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:transparent;color:var(--text-dim);border-color:var(--line)}.btn.danger{background:transparent;border-color:var(--accent);color:var(--accent)}.error-text{color:var(--accent);font-size:13px;margin:-4px 0 12px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table.admin-table{border-collapse:collapse;width:100%;font-size:13px;min-width:980px}table.admin-table th{text-align:left;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);background:var(--panel-2);padding:10px;position:-webkit-sticky;position:sticky;top:0}table.admin-table td{padding:8px 10px;border-top:1px solid var(--line);background:var(--panel);vertical-align:middle}table.admin-table input[type=number],table.admin-table input[type=text],table.admin-table select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:5px;padding:5px 7px;font-size:13px;width:100%}table.admin-table input[type=number]{width:52px;text-align:center}.row-dirty{box-shadow:inset 3px 0 0 var(--accent-3)}.save-btn{padding:5px 10px;font-size:12px}.toolbar{justify-content:space-between;flex-wrap:wrap;margin:22px 0 14px}.toolbar,.toolbar .right{display:flex;align-items:center;gap:10px}.small-note{color:var(--text-dim);font-size:12px}@media (max-width:640px){.brand h1{font-size:18px}.header-inner{padding:14px 16px}}.theme-toggle{background:transparent;border:1px solid var(--line);color:var(--text-dim);border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer}.theme-toggle:hover{color:var(--text);border-color:var(--accent-2)}.event-group h2 span:first-child{display:flex;align-items:baseline;gap:8px}.link-btn{background:transparent;border:1px solid var(--line);color:var(--text-dim);border-radius:6px;padding:3px 9px;font-size:11px;font-family:var(--font-mono);cursor:pointer;white-space:nowrap}.link-btn:hover{color:var(--accent-2);border-color:var(--accent-2)}.games-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.game-pill{font-family:var(--font-mono);font-size:11px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:2px 6px;color:var(--text-dim)}.live-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.live-grid .match-card{padding:18px 20px}.live-grid .score-box{font-size:22px}.bracket-scroll{overflow-x:auto;padding-bottom:12px}.bracket-columns{display:flex;gap:18px;min-width:max-content}.bracket-column{width:260px;flex:0 0 auto}.bracket-column h3{font-family:var(--font-display);text-transform:uppercase;font-size:14px;letter-spacing:.04em;color:var(--accent-2);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.bracket-column-matches{display:flex;flex-direction:column;gap:10px}.bracket-column-matches .match-card,.bulk-bar{padding:10px 12px}.bulk-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--panel-2);border:1px solid var(--accent-3);border-radius:8px;margin-bottom:14px}.bulk-bar input[type=text],.bulk-bar select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:5px;padding:6px 9px;font-size:13px}.row-conflict{box-shadow:inset 3px 0 0 var(--accent)}.conflict-flag{color:var(--accent);font-size:11px;font-family:var(--font-mono);margin-left:6px}table.admin-table td.checkbox-cell{width:28px;text-align:center}@media print{.no-print,.site-header{display:none!important}body{background:#fff;color:#000}.match-card{page-break-inside:avoid;break-inside:avoid;border:1px solid #999}}