:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background:#06111d;color:#eef7f8;--navy:#071522;--panel:#0b1d2c;--panel-2:#102738;--line:#29485b;--lime:#b8ff1f;--cyan:#45d8ff;--muted:#9eb3c0;--danger:#ffc2c2}
*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%;overflow-x:hidden}body{min-height:100vh;background:radial-gradient(circle at 18% 0,#10314acc 0,transparent 38%),#06111d;color:#eef7f8}body.tournament-page{background:linear-gradient(180deg,#03101be8,#06111df2),url('/assets/game-home-stadium-coach-v1.png') center/cover fixed}button,input,a{font:inherit}button,a{border:1px solid var(--line);border-radius:8px;background:#102739;color:#eef7f8;padding:9px 13px;text-decoration:none;font-weight:750;cursor:pointer}button:hover,a:hover{border-color:var(--cyan)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:2px}button.primary,.primary-link{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);border-color:var(--lime);color:#07110e}button:disabled{opacity:.44;cursor:not-allowed}.section-label{color:var(--cyan);font-size:.65rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.muted{color:var(--muted);font-size:.9rem}
.page-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(16px,3vw,44px);border-bottom:1px solid var(--line);background:#04111ce8;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.page-header h1{margin:3px 0 0;font-size:clamp(1.2rem,2.1vw,1.75rem);line-height:1.05}.page-header nav{display:flex;align-items:center;gap:7px}.page-header nav a,.page-header nav button{background:transparent;padding:9px 11px}.page-header nav .primary-link{background:var(--lime);color:#07110e}.brand{color:var(--lime);font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.wordmark{border:0;background:transparent;padding:0}.wordmark img{display:block;width:clamp(150px,17vw,220px);height:auto}.header-tournament{min-width:0;flex:1;border-left:1px solid var(--line);padding-left:20px}.header-tournament h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
main{width:min(1220px,calc(100% - 28px));margin:20px auto 50px}.tournament-main{width:min(1560px,calc(100% - 24px));margin:12px auto 18px}.panel,.dashboard-panel{background:linear-gradient(150deg,#0d2232f5,#071723f5);border:1px solid var(--line);border-radius:12px}.panel{padding:18px;margin-bottom:16px}.panel h2,.panel h3,.dashboard-panel h2,.dashboard-panel h3{margin:0}.dashboard-panel{padding:13px;min-width:0;min-height:0;box-shadow:0 14px 32px #0003}.status,.empty{padding:14px;border:1px dashed #3b5c70;border-radius:9px;color:var(--muted)}.status.error{color:var(--danger);border-color:#9b4d57}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.tournament-picker{max-width:1000px;margin:40px auto}.tournament-card{display:grid;gap:8px}.tournament-card strong{font-size:1.08rem}.badge,.live-badge{display:inline-flex;width:max-content;border:1px solid #486879;border-radius:999px;padding:4px 8px;color:var(--cyan);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.tournament-dashboard{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:9px;height:calc(100vh - 122px);min-height:490px}.dashboard-summary{display:grid;grid-template-columns:.8fr .9fr 1.7fr .8fr;gap:8px}.summary-card{display:grid;gap:2px;min-width:0;padding:8px 12px;background:linear-gradient(145deg,#0d2434ee,#081824ee);border:1px solid var(--line);border-radius:10px}.summary-card span{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.summary-card strong{color:var(--lime);font-size:1.06rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-next strong{color:#eef7f8;font-size:.9rem}.dashboard-body{display:grid;grid-template-columns:minmax(285px,26fr) minmax(525px,48fr) minmax(280px,26fr);grid-template-areas:"left schedule right";gap:9px;min-width:0;min-height:0;overflow:hidden}.dashboard-left,.dashboard-right{display:grid;grid-template-rows:auto auto;align-content:start;gap:9px;min-width:0;min-height:0}.dashboard-left{grid-area:left}.dashboard-right{grid-area:right}.standings-panel{overflow:hidden;padding-bottom:8px}.schedule-panel{grid-area:schedule}.details-panel{overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid #203d4f}.panel-heading h2{margin-top:2px;font-size:1rem}.panel-progress{color:var(--muted);font-size:.72rem}.champion{position:absolute;top:84px;left:50%;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:10px;border:1px solid var(--lime);border-radius:999px;background:#0d2b1e;padding:7px 14px}.champion strong{color:var(--lime)}
.table-wrap{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:.7rem}th,td{padding:5px 3px;border-bottom:1px solid #1d3849;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}th{color:var(--cyan);font-size:.58rem;text-transform:uppercase}th:nth-child(2),td:nth-child(2){text-align:left;max-width:112px}tbody tr:last-child td{border-bottom:0}tr.own{background:#b8ff1f12;color:#eef7f8}tr.own td:first-child{box-shadow:inset 3px 0 var(--lime)}td:last-child strong{display:inline-grid;place-items:center;min-width:23px;min-height:23px;border-radius:50%;background:#b8ff1f1a;color:var(--lime)}.standing-name{display:block;overflow:hidden;text-overflow:ellipsis}.standings-wrap small{display:block;color:var(--lime);font-size:.52rem;text-transform:uppercase}.rules-score{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.rules-score span{display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 2px;border:1px solid #25465a;border-radius:7px;color:var(--muted);font-size:.62rem}.rules-score b{color:#fff;font-size:.88rem}.tiebreak-summary{margin:6px 0 0;color:var(--muted);font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rules-details{margin-top:2px;color:var(--muted);font-size:.66rem}.rules-details summary{color:var(--cyan);cursor:pointer;font-weight:800;padding:3px 0}.rules-list{line-height:1.35}.rules-list p{margin:5px 0}.rules-list h3{font-size:.7rem;margin-top:7px}.rules-list ol{margin:4px 0;padding-left:18px}
.schedule-panel{display:flex;flex-direction:column;overflow:hidden}.schedule-scroll{display:grid;grid-auto-rows:max-content;align-content:start;gap:3px;min-height:0;overflow-y:auto;padding-right:3px;scrollbar-color:#41677a #071621}.round{border:1px solid #213f50;border-radius:8px;background:#081925;overflow:hidden}.round header{display:flex;align-items:center;justify-content:space-between;padding:1px 7px;background:#102738;border-bottom:1px solid #213f50}.round header strong{color:var(--cyan);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.round header span{font-size:.54rem;color:var(--muted);font-weight:900;letter-spacing:.12em}.fixture{display:grid;grid-template-columns:minmax(92px,1fr) 40px minmax(92px,1fr) minmax(88px,.68fr) 70px;align-items:center;gap:6px;min-height:22px;padding:0 6px;border-bottom:1px solid #183445;font-size:.67rem}.fixture:last-child{border-bottom:0}.fixture-team{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:750}.fixture .away{text-align:left}.fixture-result{text-align:center;color:#fff;font-variant-numeric:tabular-nums}.fixture-status{color:var(--muted);font-size:.56rem;font-weight:800;text-align:center;text-transform:uppercase}.fixture-link{display:inline-flex;align-items:center;justify-content:center;min-height:21px;padding:3px 7px;border-color:#789f2c;background:#b8ff1f20;color:#c7ff51;font-size:.59rem;font-weight:900;white-space:nowrap}.fixture-link:hover,.fixture-link:focus-visible{border-color:var(--lime);background:#b8ff1f2e;color:#fff}.fixture-no-action{text-align:center;color:#4b6270}.own-fixture{background:linear-gradient(90deg,#b8ff1f12,transparent 58%);box-shadow:inset 3px 0 var(--lime)}.focus-fixture{outline:1px solid #b8ff1f80;outline-offset:-1px;background:linear-gradient(90deg,#b8ff1f20,transparent 72%)}
.tournament-facts{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 6px}.tournament-facts div{padding:5px;border:1px solid #213f50;border-radius:7px}.tournament-facts dt{color:var(--muted);font-size:.53rem;text-transform:uppercase}.tournament-facts dd{margin:1px 0 0;font-weight:800;font-size:.69rem}.details-panel h3{margin:3px 0 5px;font-size:.73rem;color:var(--cyan);text-transform:uppercase}.participant-list{display:grid;gap:3px}.participant{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:3px 5px;border:1px solid #213f50;border-radius:7px}.participant.current{border-color:#587824;background:#b8ff1f0c}.participant-avatar{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#16384c;color:var(--cyan);font-size:.56rem;font-weight:900}.participant-name{display:block;min-width:0;max-width:155px;border-radius:3px}.participant-name:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.participant-name strong,.participant-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-name strong{color:#f2f8fa;font-size:.7rem;font-weight:850}.participant-name small{color:#819dac;font-size:.5rem;font-weight:650}.participant em{color:var(--lime);font-size:.54rem;font-style:normal;font-weight:900;text-transform:uppercase}.next-match-panel{display:grid;gap:6px;border:1px solid #7fac27;box-shadow:0 0 0 1px #b8ff1f1c;background:linear-gradient(145deg,#143122f5,#081b24f5)}.next-match-panel h2{font-size:1rem}.next-round,.next-status{color:var(--muted);font-size:.65rem;text-transform:uppercase}.next-opponents{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;font-size:.72rem}.next-opponents strong:last-child{text-align:right}.next-opponents span{color:var(--muted);font-size:.58rem;text-transform:uppercase}.next-action{width:100%;min-height:42px;padding:8px;font-size:.82rem}.next-match-panel p{margin:0;color:var(--muted);font-size:.7rem}
.tournament-footer{display:flex;align-items:center;gap:8px;min-height:42px;padding:5px 8px;border:1px solid var(--line);border-radius:9px;background:#071521ee}.tournament-footer a,.tournament-footer button{padding:7px 10px;background:transparent}.footer-standing{margin-left:auto;color:var(--muted);font-size:.72rem}.fixture-hub{max-width:760px;margin:8vh auto 0;text-align:center}.fixture-hub .inline-link{display:inline-flex;margin-bottom:18px}.fixture-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:24px 0;font-size:clamp(1.15rem,4vw,2rem)}.fixture-scoreboard b{color:var(--lime);font-size:clamp(1.4rem,5vw,2.5rem)}.fixture-state{display:inline-flex;border:1px solid var(--lime);border-radius:999px;padding:7px 12px;color:var(--lime);font-size:.75rem;font-weight:900;letter-spacing:.08em}.fixture-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:20px}.result-confirmation{margin-top:18px;padding:12px;border:1px solid var(--lime);border-radius:10px;color:var(--lime);font-weight:900}
/* Existing administration surface */
.grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.7fr);gap:16px}.field{display:grid;gap:6px;margin:12px 0}.field span{color:var(--cyan);font-size:.69rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}input{width:100%;min-height:42px;border:1px solid #36566b;border-radius:8px;background:#071522;color:#fff;padding:9px 11px}.actions,.summary,.tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.list{display:grid;gap:8px}.list button,.user-result{width:100%;text-align:left}.selected{border-color:var(--lime)!important;box-shadow:inset 3px 0 var(--lime)}.tab[hidden],.player-tab[hidden]{display:none}.admin-page .fixture,.tab .fixture{grid-template-columns:1fr auto 1fr auto}.admin-page .round,.tab .round{margin:12px 0}.champion+.dashboard-body{min-height:0}
@media(max-width:1100px){.tournament-dashboard{height:auto;min-height:0}.dashboard-body{grid-template-columns:1fr 1.4fr;grid-template-areas:"left schedule" "right schedule";overflow:visible}.schedule-scroll{max-height:560px}.dashboard-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.page-header{position:relative;align-items:flex-start;flex-wrap:wrap;padding:12px}.wordmark img{width:150px}.header-tournament{order:3;width:100%;flex-basis:100%;border-left:0;border-top:1px solid var(--line);padding:9px 0 0}.page-header nav{margin-left:auto;flex-wrap:wrap}.page-header nav a,.page-header nav button{padding:7px 8px;font-size:.72rem}.tournament-main{width:min(100% - 16px,680px)}.dashboard-summary{grid-template-columns:1fr 1fr}.summary-next{grid-column:1/-1}.dashboard-body{display:flex;flex-direction:column}.dashboard-left,.dashboard-right{display:contents}.next-match-panel{order:-5}.standings-panel{order:-4}.schedule-panel{order:-3}.details-panel{order:-2}.rules-panel{order:-1}.schedule-scroll{max-height:none;overflow:visible}.tournament-footer{flex-wrap:wrap}.footer-standing{width:100%;margin:0}.grid{grid-template-columns:1fr}.fixture{grid-template-columns:minmax(80px,1fr) 32px minmax(80px,1fr) 64px}.fixture-status{display:none}.fixture-link,.fixture-no-action{grid-column:4}.tournament-facts{grid-template-columns:1fr 1fr}.standings-wrap table{min-width:620px}.page-header nav [data-session-logout]{display:none}}
@media(max-height:700px) and (min-width:1101px){.tournament-dashboard{height:auto;min-height:calc(100vh - 122px)}.dashboard-body{min-height:470px;overflow:visible}.summary-card{padding:7px 11px}.summary-card strong{font-size:.95rem}.dashboard-panel{padding:9px}.panel-heading{margin-bottom:6px;padding-bottom:5px}.fixture{min-height:27px;padding:1px 7px}.round header{padding:2px 8px}.tournament-footer{min-height:36px}.rules-details{max-height:74px;overflow:auto}}
