/* Faceoff League v2.8 — Official 8-team Draft, Group Qualification & Playoffs */
.draft-format-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-top:18px;padding-bottom:10px}
.draft-format-card{position:relative;overflow:hidden;min-height:135px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 92%,transparent),color-mix(in srgb,var(--panel-2) 88%,transparent));box-shadow:var(--shadow-soft)}
.draft-format-card:after{content:"";position:absolute;right:-34px;bottom:-58px;width:120px;height:120px;border:18px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%}
.draft-format-card span,.draft-rule-block>span{position:relative;z-index:1;color:var(--accent);font-size:.64rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.draft-format-card strong{position:relative;z-index:1;display:block;margin-top:8px;color:var(--text-strong);font-size:.94rem;line-height:1.25}
.draft-format-card small{position:relative;z-index:1;display:block;margin-top:8px;color:var(--muted);font-size:.68rem;line-height:1.45}
.draft-snake-preview{display:grid;gap:10px;margin:14px 0 16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 78%,transparent)}
.draft-snake-preview>div{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center}
.draft-snake-preview>div>strong{color:var(--muted);font-size:.62rem;letter-spacing:.1em}
.draft-snake-preview p{display:flex;align-items:center;gap:7px;margin:0;overflow-x:auto;padding-bottom:3px}
.draft-snake-preview p span{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:.67rem;font-weight:850}
.draft-snake-preview p span b{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:.58rem}
.draft-snake-preview p i{color:var(--accent);font-style:normal;font-weight:900}
.draft-snake-preview>small{color:var(--muted);font-size:.65rem}
.draft-format-warning{padding:10px;border:1px solid rgba(247,111,134,.35);border-radius:10px;background:rgba(247,111,134,.08);color:var(--red);font-size:.75rem;font-weight:800}

.group-qualification-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
.group-qualification-strip span{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:.65rem;font-weight:800}
.group-qualification-strip span b{color:var(--text-strong)}
.group-qualification-strip .direct{border-color:rgba(51,209,141,.3);background:rgba(51,209,141,.08)}
.group-qualification-strip .quarter{border-color:rgba(66,164,255,.3);background:rgba(66,164,255,.08)}
.group-qualification-strip .out{border-color:rgba(247,111,134,.24);background:rgba(247,111,134,.055)}
.qualification-badge{display:inline-flex;align-items:center;justify-content:center;min-width:102px;min-height:28px;padding:0 9px;border:1px solid var(--line);border-radius:999px;font-size:.59rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}
.qualification-badge.direct{color:var(--green);border-color:rgba(51,209,141,.34);background:rgba(51,209,141,.1)}
.qualification-badge.quarter{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}
.qualification-badge.out{color:var(--red);border-color:rgba(247,111,134,.28);background:rgba(247,111,134,.08)}
.qualification-direct td:first-child{box-shadow:inset 4px 0 0 var(--green)}
.qualification-quarter td:first-child{box-shadow:inset 4px 0 0 var(--accent)}
.qualification-out{opacity:.72}
.qualification-out td:first-child{box-shadow:inset 4px 0 0 var(--red)}
.standing-rank-number{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:8px;background:color-mix(in srgb,var(--panel-2) 82%,transparent);font-weight:950}
.qualification-direct .standing-rank-number{color:var(--green);background:rgba(51,209,141,.1)}
.qualification-quarter .standing-rank-number{color:var(--accent);background:var(--accent-soft)}
.qualification-cell{text-align:center!important}
.qualification-standings-card .standings-table{min-width:930px}
.qualification-standings-card .subheading-row h3{margin:2px 0 0}
.qualification-standings-card .subheading-row .eyebrow{margin:0}

.playoff-generator-card{position:relative;overflow:hidden}
.playoff-generator-card:after{content:"";position:absolute;right:-90px;top:-110px;width:260px;height:260px;border:42px solid color-mix(in srgb,var(--accent) 10%,transparent);border-radius:50%;pointer-events:none}
.playoff-generator-card>*{position:relative;z-index:1}
.playoff-format-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 18px}
.playoff-format-flow>div{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 78%,transparent)}
.playoff-format-flow>div:nth-child(1){border-color:rgba(51,209,141,.3);background:rgba(51,209,141,.07)}
.playoff-format-flow>div:nth-child(2){border-color:var(--accent-border);background:var(--accent-soft)}
.playoff-format-flow>div:nth-child(3){border-color:rgba(247,111,134,.25);background:rgba(247,111,134,.06)}
.playoff-format-flow strong{color:var(--text-strong);font-size:.78rem}
.playoff-format-flow span{color:var(--muted);font-size:.64rem}
.playoff-bestof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.playoff-admin-list{grid-template-columns:1fr!important}
.playoff-admin-card{padding:16px!important;border-radius:15px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel-2) 84%,transparent))!important}
.playoff-admin-card.completed{border-color:rgba(51,209,141,.32)!important}
.playoff-admin-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.playoff-admin-head>div{display:grid;gap:4px}
.playoff-admin-head>div>span{color:var(--accent);font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.playoff-admin-head>div>strong{color:var(--text-strong);font-size:1rem}
.playoff-admin-head i{margin:0 6px;color:var(--muted);font-style:normal;font-weight:600}
.playoff-admin-controls{display:grid;grid-template-columns:1fr 1.4fr 1.4fr 1fr;gap:10px}
.playoff-admin-controls label{display:grid;gap:6px;color:var(--muted);font-size:.68rem;font-weight:800}
.playoff-admin-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}
.playoff-admin-foot small{color:var(--muted)}
.playoff-bracket-shell{position:relative;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 94%,transparent),color-mix(in srgb,var(--panel-2) 82%,transparent))!important}
.playoff-round>.subheading-row{padding-bottom:10px;border-bottom:1px solid var(--line)}
.playoff-round>.subheading-row h3{font-size:1rem;text-transform:uppercase;letter-spacing:.035em}
.playoff-series{border-radius:14px!important;background:color-mix(in srgb,var(--panel-solid) 92%,transparent)!important}
.playoff-series>.tag{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}
.playoff-team{background:color-mix(in srgb,var(--panel-2) 72%,transparent)}
.playoff-team.winner{border-color:rgba(51,209,141,.4)!important;background:rgba(51,209,141,.08)!important}

.draft-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.draft-rule-block{position:relative;overflow:hidden;min-height:210px}
.draft-rule-block:after{content:"";position:absolute;right:-44px;bottom:-64px;width:140px;height:140px;border:20px solid color-mix(in srgb,var(--accent) 11%,transparent);border-radius:50%}
.draft-rule-block>*{position:relative;z-index:1}
.draft-rule-block h3{margin:12px 0 9px;font-size:1.22rem}
.draft-rule-block p{margin:0;color:var(--muted);font-size:.83rem}

@media(max-width:1050px){.draft-format-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-admin-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.draft-format-overview,.draft-rules-grid,.playoff-format-flow,.playoff-bestof-grid{grid-template-columns:1fr}.group-qualification-strip{grid-template-columns:1fr}.draft-snake-preview>div{grid-template-columns:1fr}.playoff-admin-head,.playoff-admin-foot{align-items:flex-start;flex-direction:column}.playoff-admin-controls{grid-template-columns:1fr}.qualification-cell{grid-column:1/-1}.qualification-badge{width:100%}}
.gm-timeout-control{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel-2) 78%,transparent)}
.gm-timeout-control>div{display:grid;gap:3px}.gm-timeout-control strong{color:var(--text-strong);font-size:.78rem}.gm-timeout-control small{color:var(--muted);font-size:.64rem}
.gm-timeout-control.available{border-color:var(--accent-border);background:var(--accent-soft)}
.gm-timeout-control.used{border-color:rgba(247,111,134,.24);background:rgba(247,111,134,.06)}
.gm-timeout-control.used strong{color:var(--red)}
@media(max-width:620px){.gm-timeout-control{align-items:flex-start;flex-direction:column}.gm-timeout-control .button{width:100%}}
.draft-rules-lock{display:flex;flex-wrap:wrap;gap:8px;padding:11px 12px;border:1px solid rgba(51,209,141,.28);border-radius:12px;background:rgba(51,209,141,.07)}
.draft-rules-lock span{color:var(--green);font-size:.65rem;font-weight:850}
