/* M06 schedule refinement: preserve the two-group table, make the draw a
   visible ceremony, and express the final two qualification places as a
   genuine advancement route.  Kept separate from the base sheet so later
   tournament formats can opt in without inheriting legacy layout rules. */
.draw-slot-machine{display:grid;gap:7px;width:min(100%,540px);text-align:left}.draw-machine-label{color:#9ab5c3;font-size:11px;font-weight:900;letter-spacing:.16em}.draw-machine-window{position:relative;height:132px;overflow:hidden;border:1px solid rgba(183,255,74,.45);background:linear-gradient(90deg,rgba(3,14,24,.98),rgba(13,46,61,.94),rgba(3,14,24,.98));box-shadow:inset 0 0 34px rgba(94,213,230,.1),0 14px 30px rgba(0,0,0,.24)}.draw-machine-window::before,.draw-machine-window::after{position:absolute;z-index:2;right:0;left:0;height:34px;pointer-events:none;content:""}.draw-machine-window::before{top:0;background:linear-gradient(#061522,rgba(6,21,34,.04))}.draw-machine-window::after{bottom:0;background:linear-gradient(rgba(6,21,34,.04),#061522)}.draw-machine-pointer{position:absolute;z-index:3;top:50%;right:10px;left:10px;height:1px;background:rgba(215,255,145,.95);box-shadow:0 0 11px rgba(183,255,74,.88)}.draw-machine-pointer::before,.draw-machine-pointer::after{position:absolute;top:-5px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;content:""}.draw-machine-pointer::before{left:-1px;border-left:7px solid #d7ff91}.draw-machine-pointer::after{right:-1px;border-right:7px solid #d7ff91}.draw-team-reel{display:grid;grid-template-columns:1fr!important;grid-template-rows:44px 58px 44px;gap:0;width:100%!important;min-height:146px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:translateY(-13px);text-align:left}.draw-team-reel::before,.draw-team-reel::after{display:none}.draw-machine-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:14px;padding:0 22px}.draw-machine-row.ghost{grid-template-columns:1fr;color:#7693a2;font-size:16px;font-weight:800;opacity:.7}.draw-machine-row.ghost span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draw-machine-row.active{border-top:1px solid rgba(183,255,74,.12);border-bottom:1px solid rgba(183,255,74,.12);background:linear-gradient(90deg,transparent,rgba(183,255,74,.11),transparent)}.draw-machine-row.active strong{min-height:auto!important;color:#f5fbfe;font-size:27px!important;line-height:1.1}.draw-reel-crest{width:54px!important;height:46px!important;border-color:rgba(183,255,74,.52)!important;box-shadow:0 0 18px rgba(183,255,74,.13)}.draw-team-reel.reel-tick{animation:slot-reel-tick .12s cubic-bezier(.16,.7,.21,1)}.draw-reveal-card.revealed .draw-machine-window{border-color:#d7ff91;box-shadow:inset 0 0 38px rgba(183,255,74,.15),0 0 32px rgba(183,255,74,.13)}@keyframes slot-reel-tick{from{opacity:.25;transform:translateY(-63px)}to{opacity:1;transform:translateY(-13px)}}

.group-match-centre{grid-template-columns:minmax(680px,.93fr) minmax(840px,1.07fr);align-items:stretch}.group-overview-column,.compact-standings-panel,.group-fixture-workbench{min-height:clamp(650px,68vh,780px);height:clamp(650px,68vh,780px)}.compact-standings-panel,.group-fixture-workbench{display:flex;flex-direction:column}.compact-standings-panel>header{min-height:74px;padding:16px 20px}.compact-standings-panel h2,.group-fixture-workbench h2{font-size:31px}.standing-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.qualification-key{display:flex;align-items:center;gap:5px}.qualification-key span,.qualification-marker{display:inline-flex;align-items:center;justify-content:center;min-width:50px;min-height:23px;padding:2px 6px;border:1px solid rgba(142,181,200,.3);font-size:12px;font-weight:900;line-height:1;white-space:nowrap}.qualification-key .direct{border-color:rgba(183,255,74,.58);background:rgba(183,255,74,.12);color:#d8ff99}.qualification-key .playoff{border-color:rgba(87,168,255,.62);background:rgba(87,168,255,.14);color:#b8ddff}.qualification-key .eliminated{color:#93a9b4}.standings-tiebreak-trigger{min-height:31px;border:1px solid rgba(142,181,200,.36);background:#0b2637;color:#d3e2e9;padding:0 10px;font-size:13px;font-weight:850;cursor:pointer}.standings-tiebreak-trigger:hover{border-color:rgba(183,255,74,.6);color:#e6ffb2}.compact-standings-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px}.compact-standings-grid>article{display:flex;min-width:0;flex-direction:column}.compact-standings-grid article>header{min-height:37px;padding:9px 12px}.compact-standings-grid article>header>div{display:flex;align-items:baseline;gap:8px;min-width:0}.compact-standings-grid article>header>b{font-size:19px}.compact-standings-grid article>header small{color:#8da5b1;font-size:12px;font-weight:750}.compact-standings-grid article>header>span{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.compact-standing-row{grid-template-columns:24px minmax(0,1fr) 112px 58px!important;min-height:49px;padding:8px 10px;gap:8px}.compact-standing-row>i{font-size:14px;font-weight:850}.standing-team{gap:8px}.standing-team em{width:26px;height:23px}.standing-team b{font-size:16px}.standing-record{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;color:#c7d9e1!important;font-size:14px!important;text-align:center}.standing-record b{color:#ddff9d!important;font-size:16px!important}.qualification-marker{justify-self:end;min-width:54px;padding:3px 5px;font-size:12px}.compact-standing-row.is-placeholder{background:rgba(3,15,25,.28);box-shadow:none}.compact-standing-row.is-placeholder .standing-team{opacity:.58}.compact-standing-row.is-placeholder .standing-team em{color:#79909c;font-style:normal}.compact-standing-row.is-placeholder .standing-record{color:#718995!important}.qualification-empty .qualification-marker{border-style:dashed;color:#8198a4}.group-fixture-workbench>header{min-height:74px;padding:16px 20px}.fixture-queue-list{flex:1;height:auto!important;min-height:0}.fixture-progress span{font-size:15px}.fixture-progress b{font-size:27px}.group-fixture-workbench .fixture-queue-row{min-height:90px}.group-fixture-workbench .fixture-queue-teams b{font-size:18px}

.playoff-workspace{max-width:1960px}.playoff-workspace h2{font-size:32px}.playoff-bracket{position:relative;display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(330px,.9fr) minmax(225px,.58fr);gap:70px;min-width:1260px;min-height:640px;padding:28px 34px 34px;overflow:hidden}.playoff-bracket::before{position:absolute;inset:72px 34px 34px;background:radial-gradient(circle at 50% 48%,rgba(183,255,74,.07),transparent 37%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,42px 42px;content:""}.playoff-route-lines{position:absolute;z-index:0;top:87px;right:34px;bottom:34px;left:34px;width:calc(100% - 68px);height:540px;overflow:visible}.playoff-route-lines g{fill:none;stroke:#bde96a;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1;filter:drop-shadow(0 0 5px rgba(183,255,74,.45))}.playoff-route-lines circle{fill:#d7ff91;stroke:#0b2634;stroke-width:2}.playoff-bracket-stage{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;min-width:0}.playoff-bracket-stage h3{margin:0;color:#d7ecf4;font-size:18px;letter-spacing:.06em}.playoff-bracket-matches{display:grid;gap:15px;min-height:0}.playoff-first-stage .playoff-bracket-matches{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(132px,1fr))}.playoff-final-stage .playoff-bracket-matches{grid-template-rows:repeat(2,minmax(132px,1fr));padding:68px 0}.playoff-bracket .knockout-match{min-height:132px!important;padding:12px 13px!important;border-color:rgba(148,195,206,.32)}.playoff-bracket .knockout-match>header span{font-size:15px!important}.playoff-bracket .knockout-team-row{min-height:32px!important}.playoff-bracket .knockout-team-row>b{font-size:16px!important}.playoff-bracket .knockout-team-row>strong{font-size:18px!important}.playoff-qualifier-stage{padding:68px 0}.playoff-qualification-slots{display:grid;grid-template-rows:repeat(2,minmax(104px,1fr));gap:72px}.playoff-qualification-slot{display:grid;align-content:center;gap:9px;padding:15px;border:1px dashed rgba(142,181,200,.42);background:linear-gradient(145deg,rgba(8,28,42,.9),rgba(4,17,28,.92))}.playoff-qualification-slot.resolved{border-style:solid;border-color:rgba(183,255,74,.67);background:linear-gradient(145deg,rgba(23,58,48,.9),rgba(4,18,28,.96));box-shadow:0 0 24px rgba(183,255,74,.09)}.playoff-qualification-slot>span{color:#9ab2bf;font-size:12px;font-weight:900;letter-spacing:.07em}.playoff-qualification-slot>div{display:flex;align-items:center;gap:9px;min-width:0}.playoff-qualification-slot em{display:grid;flex:0 0 auto;place-items:center;width:29px;height:29px;overflow:hidden;border:1px solid rgba(142,181,200,.3);background:#0b2131;color:#a7bbc6;font-style:normal}.playoff-qualification-slot em img{width:100%;height:100%;object-fit:contain}.playoff-qualification-slot b{overflow:hidden;color:#eaf6fb;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.playoff-qualification-slot.resolved b{color:#d9ff98}.playoff-next-step{position:relative;z-index:2}

.leaderboard-launch{position:fixed;z-index:22;right:22px;bottom:22px;min-height:46px;border:1px solid rgba(183,255,74,.66);background:linear-gradient(145deg,#1b4b3d,#0c2a35);box-shadow:0 12px 28px rgba(0,0,0,.33);color:#e0ffac;padding:0 17px;font-size:16px;font-weight:900;cursor:pointer}.leaderboard-launch:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.42)}.leaderboard-dialog,.group-tiebreak-dialog{width:min(700px,calc(100vw - 38px));border:1px solid rgba(183,255,74,.4);background:linear-gradient(145deg,#102b3d,#071522);box-shadow:0 30px 90px rgba(0,0,0,.62);color:#eaf6fb;padding:0}.leaderboard-dialog::backdrop,.group-tiebreak-dialog::backdrop{background:rgba(1,8,14,.7);backdrop-filter:blur(6px)}.leaderboard-dialog>.dialog-close,.group-tiebreak-dialog>.dialog-close{position:absolute;z-index:2;top:12px;right:12px;width:35px;height:35px;border:1px solid rgba(164,208,230,.25);background:#102a3c;color:#fff;font-size:22px;cursor:pointer}.leaderboard-dialog>header{padding:22px 24px;border-bottom:1px solid rgba(164,208,230,.18)}.leaderboard-dialog>header span{color:#b8f83d;font-size:12px;font-weight:900;letter-spacing:.12em}.leaderboard-dialog h2{margin:6px 0 0;font-size:28px}.leaderboard-dialog .leaderboard-grid{margin:18px}.leaderboard-dialog .leaderboard-grid section{padding:17px}.leaderboard-dialog .leaderboard-grid header b,.leaderboard-dialog .leaderboard-grid section>div>b{font-size:18px}.leaderboard-dialog .leaderboard-grid span{font-size:16px}.group-tiebreak-dialog{max-height:calc(100vh - 48px);overflow:auto}.group-tiebreak-dialog .group-tiebreak-panel{margin:0;border:0}.group-tiebreak-dialog .group-tiebreak-panel>header{padding:22px 56px 18px 22px}.group-tiebreak-dialog .group-tiebreak-panel h2{font-size:25px}
@media(min-width:2560px){.draw-machine-window{height:166px}.draw-team-reel{grid-template-rows:54px 72px 54px;min-height:180px!important;transform:translateY(-17px)}.draw-machine-row{grid-template-columns:72px minmax(0,1fr);padding:0 28px}.draw-machine-row.active strong{font-size:36px!important}.draw-machine-row.ghost{font-size:20px}.draw-reel-crest{width:66px!important;height:57px!important}.compact-standing-row{grid-template-columns:28px minmax(0,1fr) 144px 70px!important;min-height:62px;padding:11px 14px}.standing-team em{width:33px;height:29px}.standing-team b{font-size:22px}.standing-record{font-size:19px!important}.standing-record b{font-size:22px!important}.qualification-marker{min-width:65px;font-size:15px}.playoff-bracket{min-height:770px;grid-template-columns:minmax(680px,1.35fr) minmax(430px,.9fr) minmax(300px,.58fr);padding:38px 46px 42px}.playoff-route-lines{top:108px;right:46px;left:46px;width:calc(100% - 92px);height:640px}.playoff-bracket .knockout-match{min-height:165px!important;padding:17px!important}.playoff-bracket .knockout-team-row>b{font-size:20px!important}.playoff-qualification-slot b{font-size:22px}}
@media(max-width:1380px){.group-match-centre{min-width:1240px;grid-template-columns:minmax(600px,.93fr) minmax(760px,1.07fr)}.playoff-workspace{overflow-x:auto}.playoff-bracket{min-width:1240px}.leaderboard-launch{right:16px;bottom:16px}}@media(max-width:760px){.leaderboard-launch{right:12px;bottom:12px}.standing-panel-actions{gap:7px}.qualification-key span{min-width:42px;font-size:10px}.standings-tiebreak-trigger{font-size:11px;padding:0 7px}}
