/* Gamer Zone styles */
:root{
  color-scheme:dark;
  --bg:#0A0507; --bg-2:var(--input); --panel:#170A0F; --panel-2:#221017; --line:#3A1520; --line-2:#5C2130;
  --ink:#FFF1F3; --muted:#C29AA3; --faint:#7A4F59;
  --blue:#FF1F3D; --cyan:#FF4D6D; --orange:#FFB020; --gold:#FFC53D; --live:#FF4760; --good:#2EE59D;
  --amber:#FF1F3D; --amber-ink:#FFFFFF; --amber-text:var(--acc-text); --amber-soft:rgba(var(--acc-rgb),.14);
  --display:"Oxanium","Arial Narrow",Impact,sans-serif;
  --sans:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --acc-rgb:255,31,61; --acc2-rgb:255,77,109; --on-acc:#FFFFFF; --team-b:#FFB020;
  --d1:18,7,11; --d2:32,12,18; --d3:20,8,12; --d4:16,7,10; --d5:24,10,14; --d6:10,5,7; --ln:70,24,34;
  --input:#12070B; --btn-hover:#2E111A; --toast:#1E0A10; --tint-hi:#FFD6DC; --acc-text:#FF5A73; --acc-light:#FF8497; --chip-text:#FFC4CD; --acc-deep:#A8001B; --body-text:#EDCBD1;
  --cut:14px;
}

:root[data-game="home"]{
  --bg:#050505; --bg-2:#0B0B0B; --panel:#101010; --panel-2:#181818; --line:#262626; --line-2:#3A3A3A;
  --ink:#FFFFFF; --muted:#A6A6A6; --faint:#5E5E5E;
  --blue:#FFFFFF; --cyan:#D9D9D9; --amber:#FFFFFF; --amber-text:#FFFFFF; --amber-soft:rgba(255,255,255,.1);
  --acc-rgb:255,255,255; --acc2-rgb:200,200,200; --on-acc:#000000; --team-b:#BDBDBD;
  --d1:12,12,12; --d2:24,24,24; --d3:14,14,14; --d4:10,10,10; --d5:18,18,18; --d6:6,6,6; --ln:48,48,48;
  --input:#0C0C0C; --btn-hover:#222222; --toast:#141414; --tint-hi:#E6E6E6; --acc-text:#FFFFFF; --acc-light:#CFCFCF; --chip-text:#E0E0E0; --acc-deep:#8A8A8A; --body-text:#DADADA;
}
:root[data-game="home"]{--bg:#000000; --bg-2:#000000; --panel:#000000; --panel-2:#0A0A0A; --line:#2A2A2A; --line-2:#FFFFFF; --muted:#FFFFFF; --faint:#E0E0E0; --tint-hi:#FFFFFF; --acc-light:#FFFFFF; --body-text:#FFFFFF}
:root[data-game="home"] body{background:#000}
:root[data-game="home"] .hero::after{display:none}
:root[data-game="home"] .hero::before{opacity:.35}
:root[data-game="home"] h1.cup{background:none;color:#FFFFFF;-webkit-text-fill-color:#FFFFFF;filter:none}
:root[data-game="home"] .top{background:#000}
:root[data-game="home"] .top::after{background:#FFFFFF;opacity:.25}
:root[data-game="home"] .eyebrow span{background:#000;color:#FFFFFF;border-color:#FFFFFF}
:root[data-game="home"] .eyebrow b{background:#FFFFFF;color:#000}
:root[data-game="home"] h2::before{background:#FFFFFF;box-shadow:none}
:root[data-game="home"] .top-cta{background:#FFFFFF;color:#000}
:root[data-game="home"] .lede,:root[data-game="home"] .sub,:root[data-game="home"] footer{color:#FFFFFF}
:root[data-game="home"] .game-card.bo1{border:1px solid #3FB8FF;box-shadow:0 0 18px rgba(63,184,255,.45),inset 0 0 40px rgba(63,184,255,.18);background:radial-gradient(460px 280px at 85% 10%,rgba(63,184,255,.55),transparent 70%),repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),linear-gradient(160deg,#0A2C4A,#02060B 75%);clip-path:none}
:root[data-game="home"] .game-card.bo2{border:1px solid #FF7A00;box-shadow:0 0 18px rgba(255,122,0,.45),inset 0 0 40px rgba(255,122,0,.18);background:radial-gradient(460px 280px at 85% 10%,rgba(255,122,0,.55),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),linear-gradient(160deg,#3A1A03,#0A0602 75%);clip-path:none}
:root[data-game="home"] .game-card.bo1:hover{box-shadow:0 0 34px rgba(63,184,255,.7),inset 0 0 50px rgba(63,184,255,.25)}
:root[data-game="home"] .game-card.bo2:hover{box-shadow:0 0 34px rgba(255,122,0,.7),inset 0 0 50px rgba(255,122,0,.25)}
:root[data-game="home"] .game-card.bo1 .gc-kicker{color:#8BE1FF;text-shadow:0 0 10px rgba(63,184,255,.8)}
:root[data-game="home"] .game-card.bo2 .gc-kicker{color:#FFB347;text-shadow:0 0 10px rgba(255,122,0,.8)}
:root[data-game="home"] .game-card.bo1 .gc-name{text-shadow:0 0 22px rgba(63,184,255,.75)}
:root[data-game="home"] .game-card.bo2 .gc-name{text-shadow:0 0 22px rgba(255,122,0,.75)}
:root[data-game="home"] .game-card.bo1 .gc-go{box-shadow:0 0 16px rgba(63,184,255,.7)}
:root[data-game="home"] .game-card.bo2 .gc-go{box-shadow:0 0 16px rgba(255,122,0,.7)}
:root[data-game="bo1"]{
  --bg:#04090F; --bg-2:#07111D; --panel:#0A1523; --panel-2:#0F2034; --line:#153049; --line-2:#21476B;
  --ink:#EEF8FF; --muted:#8FB3CC; --faint:#4E6B83;
  --blue:#3FB8FF; --cyan:#8BE1FF; --orange:#FFB020; --amber:#3FB8FF; --amber-text:#6CCBFF; --amber-soft:rgba(63,184,255,.14);
  --acc-rgb:63,184,255; --acc2-rgb:139,225,255; --on-acc:#04121E; --team-b:#FFB020;
  --d1:6,15,26; --d2:11,26,42; --d3:7,17,29; --d4:5,13,22; --d5:9,21,35; --d6:4,9,15; --ln:24,54,82;
  --input:#06111D; --btn-hover:#11283F; --toast:#0A1B2E; --tint-hi:#D3F1FF; --acc-text:#6CCBFF; --acc-light:#9ADFFF; --chip-text:#C4ECFF; --acc-deep:#0A6FB0; --body-text:#CDE5F4;
}
:root[data-game="bo2"]{
  --bg:#0B0703; --bg-2:#140C05; --panel:#170E06; --panel-2:#22150A; --line:#3D2410; --line-2:#5E3717;
  --ink:#FFF6EE; --muted:#C9A68A; --faint:#7C5B40;
  --blue:#FF7A00; --cyan:#FFB347; --orange:#3FB8FF; --amber:#FF7A00; --amber-text:#FF9A3D; --amber-soft:rgba(255,122,0,.14);
  --acc-rgb:255,122,0; --acc2-rgb:255,179,71; --on-acc:#1A0C00; --team-b:#3FB8FF;
  --d1:18,11,5; --d2:32,19,8; --d3:20,12,5; --d4:16,10,4; --d5:24,15,6; --d6:10,7,3; --ln:72,43,18;
  --input:#130B04; --btn-hover:#2E1A0A; --toast:#1E1206; --tint-hi:#FFE3C4; --acc-text:#FF9A3D; --acc-light:#FFB46B; --chip-text:#FFD9B0; --acc-deep:#B04A00; --body-text:#F1D7BF;
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{background:
  radial-gradient(1200px 600px at 85% -10%,rgba(var(--acc-rgb),.18),transparent 60%),
  radial-gradient(900px 500px at -10% 10%,rgba(var(--acc2-rgb),.08),transparent 60%),var(--bg);
  color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
::selection{background:var(--blue);color:#fff}
.wrap{max-width:1200px;margin:0 auto;padding-inline:16px}
@media (min-width:720px){.wrap{padding-inline:28px}}

/* top bar */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(var(--d6),.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),transparent);opacity:.6}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.brand svg{width:26px;height:26px;flex:none;color:var(--cyan);filter:drop-shadow(0 0 6px rgba(var(--acc2-rgb),.6))}
.tabs{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{appearance:none;background:none;border:0;padding:10px 14px;font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;white-space:nowrap;position:relative}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"]{color:#fff}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px var(--blue)}
.tab.admin{color:var(--gold)}
.top-cta{flex:none}
@media (max-width:720px){.top .tabs{order:3;flex-basis:100%;margin-left:0}.top-cta,.me-chip{margin-left:auto}}
.me-chip{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1px solid var(--line-2);background:var(--panel);cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);flex:none;max-width:200px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.me-chip .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av-sm{width:26px;height:26px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:var(--on-acc);font-family:var(--display);font-weight:800;font-size:14px;flex:none;clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%)}

.brand{appearance:none;background:none;border:0;color:inherit;cursor:pointer;padding:0}
.game-pill{appearance:none;display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line-2);background:rgba(var(--acc-rgb),.1);color:var(--ink);cursor:pointer;font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:12px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.game-pill b{color:var(--on-acc);background:var(--blue);padding:2px 6px;font-size:12px}
.game-pill span{color:var(--muted)}
.game-pill:hover span{color:var(--ink)}
.game-title{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(26px,5vw,48px);line-height:1;margin-top:-6px;color:var(--blue);text-shadow:0 0 18px rgba(var(--acc-rgb),.6);letter-spacing:.02em}
.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px}
.game-card{appearance:none;text-align:left;cursor:pointer;color:var(--ink);position:relative;overflow:hidden;display:grid;gap:10px;align-content:end;min-height:300px;padding:28px;border:1px solid var(--line-2);
  background:radial-gradient(420px 260px at 85% 10%,rgba(var(--acc-rgb),.35),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px),linear-gradient(160deg,#2A0C14,#0E0508 70%);
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));transition:transform .15s,border-color .15s,box-shadow .15s}
.game-card.bo1{background:radial-gradient(420px 260px at 85% 10%,rgba(63,184,255,.38),transparent 70%),repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px),linear-gradient(160deg,#08223A,#04090F 70%);border-color:#21476B}
.game-card.bo2{background:radial-gradient(420px 260px at 85% 10%,rgba(255,122,0,.38),transparent 70%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px),linear-gradient(160deg,#2C1504,#0B0703 70%);border-color:#5E3717}
.game-card.bo1:hover{border-color:#3FB8FF;box-shadow:0 0 30px rgba(63,184,255,.4)}
.game-card.bo2:hover{border-color:#FF7A00;box-shadow:0 0 30px rgba(255,122,0,.4)}
.game-card:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 0 30px rgba(var(--acc-rgb),.35)}
.game-card:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.gc-num{position:absolute;right:22px;top:6px;font-family:var(--display);font-weight:800;font-style:italic;font-size:150px;line-height:1;color:rgba(255,255,255,.06)}
.gc-kicker{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.game-card.bo1 .gc-kicker{color:#7FDBFF}
.game-card.bo2 .gc-kicker{color:#FFB347}
.gc-name{font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:clamp(36px,6vw,56px);line-height:.9}
.gc-stats{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--muted)}
.gc-stats b{color:#fff;font-family:var(--display)}
.gc-go{margin-top:6px;justify-self:start;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:10px 16px;background:linear-gradient(90deg,var(--blue),var(--cyan));color:#fff;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.game-card.bo1 .gc-go{background:linear-gradient(90deg,#1E90FF,#6CD4FF);color:#04121E}
.game-card.bo2 .gc-go{background:linear-gradient(90deg,#FF6A00,#FFB347);color:#1A0C00}
@media (max-width:720px){.game-pill{margin-left:auto}.game-pill~.top-cta,.game-pill~.me-chip{margin-left:0}.game-pill span{display:none}.top .wrap{gap:10px}.brand{font-size:18px}.brand svg{width:22px;height:22px}}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;left:-50%;right:-50%;bottom:-40%;height:120%;background:
  repeating-linear-gradient(90deg,rgba(var(--acc-rgb),.22) 0 1px,transparent 1px 64px),
  repeating-linear-gradient(0deg,rgba(var(--acc-rgb),.22) 0 1px,transparent 1px 64px);
  transform:perspective(500px) rotateX(62deg);transform-origin:50% 100%;
  -webkit-mask-image:linear-gradient(to top,#000 10%,transparent 75%);mask-image:linear-gradient(to top,#000 10%,transparent 75%);animation:gridmove 6s linear infinite;pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 20% 30%,rgba(var(--acc-rgb),.22),transparent 70%),radial-gradient(500px 260px at 90% 80%,rgba(var(--acc2-rgb),.12),transparent 70%);pointer-events:none}
@keyframes gridmove{to{background-position:0 64px,0 64px}}
.hero .wrap{position:relative;z-index:1;padding-block:48px 36px;display:grid;gap:22px}
.eyebrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow b,.eyebrow span{padding:5px 10px;border:1px solid var(--line-2);background:rgba(var(--d5),.7);color:var(--muted);font-weight:600}
.eyebrow b{color:var(--on-acc);background:linear-gradient(90deg,var(--blue),var(--acc-deep));border-color:transparent}
.eyebrow span:empty,.eyebrow span.dot{display:none}
.title-row{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
h1.cup{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(56px,12vw,136px);line-height:.85;letter-spacing:.01em;font-style:italic;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--tint-hi) 45%,var(--acc-text) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 6px 30px rgba(var(--acc-rgb),.45));text-wrap:balance}
.lede{margin:0;max-width:58ch;font-size:18px;color:var(--muted)}
.lede b{color:var(--ink)}
.specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.spec{position:relative;padding:16px 18px;display:grid;gap:4px;align-content:start;background:linear-gradient(180deg,rgba(var(--d2),.9),rgba(var(--d5),.9));border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.spec::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--cyan),var(--blue))}
.spec small{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.spec strong{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.1;font-variant-numeric:tabular-nums}
.spec span{color:var(--muted);font-size:13px}
.meter{display:flex;gap:3px;flex-wrap:wrap;margin-top:6px}
.meter i{width:12px;height:6px;background:var(--line-2);transform:skewX(-20deg)}
.meter i.on{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
@media (max-width:760px){.specs{grid-template-columns:1fr 1fr}.spec strong{font-size:19px}.spec{padding:12px 14px}}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.notice{font-size:13px;color:var(--muted);border-left:3px solid var(--gold);padding:8px 12px;background:rgba(255,197,61,.07);max-width:74ch;margin:0}

/* buttons & fields */
.btn{appearance:none;border:1px solid var(--line-2);background:var(--panel-2);padding:11px 18px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:transform .12s,filter .12s,background .12s}
.btn:hover{background:var(--btn-hover);transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.primary{background:linear-gradient(90deg,var(--blue),var(--cyan));border-color:transparent;color:var(--on-acc);box-shadow:0 0 0 1px rgba(var(--acc2-rgb),.3) inset}
.btn.primary:hover{filter:brightness(1.15) drop-shadow(0 0 10px rgba(var(--acc-rgb),.7))}
.btn.danger{color:var(--live);border-color:rgba(255,71,96,.4)}
.btn.sm{padding:7px 12px;font-size:12px;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none}
@media (prefers-reduced-motion:reduce){.btn{transition:none}.hero::before{animation:none}}
label.f{display:grid;gap:6px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
label.f input,label.f select,label.f textarea,.inp{background:var(--input);border:1px solid var(--line-2);padding:11px 12px;font-family:var(--sans);font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);width:100%;border-radius:0}
label.f input:focus,.inp:focus,label.f select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(var(--acc2-rgb),.15);outline:none}
select.inp,label.f select{appearance:auto}
textarea{resize:vertical}
.mono{font-family:var(--mono)}

/* sections */
main{padding-block:36px 110px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
h2{margin:0;font-family:var(--display);font-weight:800;text-transform:uppercase;font-style:italic;font-size:clamp(28px,4vw,40px);letter-spacing:.02em;line-height:1;display:flex;align-items:center;gap:12px}
h2::before{content:"";width:10px;height:26px;background:linear-gradient(180deg,var(--cyan),var(--blue));transform:skewX(-18deg);box-shadow:0 0 12px var(--blue);flex:none}
h3{margin:0 0 8px;font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.sub{color:var(--muted);font-size:14.5px}
.sec-head .sub{margin-top:8px}

/* layout */
.cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:860px){.cols{grid-template-columns:1fr}}
.panel{position:relative;background:linear-gradient(180deg,rgba(var(--d2),.92),rgba(var(--d3),.92));border:1px solid var(--line);padding:22px;display:grid;gap:16px;
  clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.panel::before{content:"";position:absolute;left:0;top:0;width:60px;height:2px;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:520px){.grid2,.grid3{grid-template-columns:1fr}}
.err{color:var(--live);font-size:14px;font-weight:600}
.ok{color:var(--good);font-size:14px;font-weight:600}
.contact{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border:1px dashed var(--line-2)}
.contact code{font-family:var(--mono);font-weight:600;font-size:14px;user-select:all;color:var(--cyan)}
.entry-out{font-family:var(--mono);font-size:13px;line-height:1.6;min-height:340px;background:var(--input);color:var(--tint-hi)}

/* solo queue */
.lobby-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.lobby-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 0 0 rgba(255,71,96,.7);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,71,96,.7)}100%{box-shadow:0 0 0 10px transparent}}
.q-count{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.q-count strong{font-family:var(--display);font-weight:800;font-style:italic;font-size:72px;line-height:.85;font-variant-numeric:tabular-nums;background:linear-gradient(180deg,#fff,var(--acc-light));-webkit-background-clip:text;background-clip:text;color:transparent}
.q-count span{color:var(--muted);font-size:15px}
.q-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:980px){.q-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.q-slot{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;background:linear-gradient(90deg,rgba(var(--acc-rgb),.18),rgba(var(--acc-rgb),.04));border:1px solid rgba(var(--acc-rgb),.45);min-width:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.q-slot .n{font-family:var(--display);font-weight:700;font-size:12px;color:var(--cyan);width:20px;flex:none;font-variant-numeric:tabular-nums}
.q-slot .g{font-family:var(--mono);font-weight:600;font-size:13.5px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.q-slot .role{font-size:16px}
.q-slot.open{background:transparent;border:1px dashed var(--line-2)}
.q-slot.open .g{color:var(--faint);font-family:var(--display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:11.5px}
.q-slot.open .n{color:var(--faint)}
.q-slot.me{border-color:var(--gold);background:linear-gradient(90deg,rgba(255,197,61,.2),rgba(255,197,61,.04))}
.q-slot .x{appearance:none;border:0;background:none;color:var(--faint);cursor:pointer;font-size:18px;line-height:1;padding:2px 4px}
.q-slot .x:hover{color:var(--live)}
.steps{margin:0;padding-left:22px;display:grid;gap:8px;font-size:14.5px;color:var(--body-text)}
.steps li::marker{font-family:var(--display);color:var(--cyan);font-weight:700}
.profile{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line-2);background:rgba(var(--d1),.8)}
.profile .av{width:46px;height:46px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));color:var(--on-acc);font-family:var(--display);font-weight:800;font-size:22px;flex:none;clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.profile .who{flex:1;min-width:0}
.profile .who b{font-family:var(--mono);font-size:16px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile .who span{font-size:13px;color:var(--muted)}
.gate{font-size:14px;color:var(--muted)}
.signup-panel{max-width:540px}
.chk{display:flex;gap:8px;align-items:center;font-size:14px}

/* lobbies & battles */
.lobbies{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,470px),1fr))}
.lobby{background:linear-gradient(180deg,rgba(var(--d2),.95),rgba(var(--d4),.95));border:1px solid var(--line);overflow:hidden;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,var(--cut) 100%,0 calc(100% - var(--cut)))}
.lobby-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 16px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);background:rgba(var(--d1),.8);border-bottom:1px solid var(--line)}
.lobby-head b{color:#fff}
.lobby-body{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;padding:14px 16px;align-items:start}
.lobby-team h4{margin:0 0 8px;font-family:var(--display);font-weight:800;font-style:italic;text-transform:uppercase;font-size:22px;line-height:1;color:var(--blue);text-shadow:0 0 14px rgba(var(--acc-rgb),.5)}
.lobby-body>.lobby-team:last-child h4{color:var(--team-b);text-shadow:0 0 14px color-mix(in srgb,var(--team-b) 45%,transparent)}
.lobby-team ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-family:var(--mono);font-size:12.5px}
.lobby-team li{display:flex;justify-content:space-between;gap:6px;min-width:0;padding:3px 0;border-bottom:1px solid rgba(var(--ln),.7)}
.lobby-team li span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lobby-team li .role{color:var(--muted);font-size:12px}
.lobby-team li.cap>span:first-child>.role::after{content:" \2605";color:var(--gold)}
.vs{font-family:var(--display);font-weight:800;font-style:italic;font-size:30px;align-self:center;background:linear-gradient(180deg,#fff,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(255,197,61,.45))}
@media (max-width:420px){.lobby-body{grid-template-columns:1fr}.vs{justify-self:start}}

/* results & leaderboards */
.lobby-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line);background:rgba(var(--d1),.6)}
.win-tag{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 10px rgba(255,197,61,.4)}
.pending{font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.rep{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.dl{font-family:var(--display);font-style:normal;font-weight:800;font-size:11.5px;letter-spacing:.02em;text-shadow:none}
.dl.up{color:var(--good)}
.dl.down{color:var(--live)}
.t-avg{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:-4px 0 8px}
.crown{display:inline-block;margin-left:6px;padding:2px 6px;font-size:10.5px;font-style:normal;letter-spacing:.12em;vertical-align:middle;background:var(--gold);color:#1a0d00;text-shadow:none;transform:skewX(-10deg)}
.lb-wrap{overflow-x:auto;border:1px solid var(--line);background:linear-gradient(180deg,rgba(var(--d2),.92),rgba(var(--d3),.92));clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.lb{width:100%;border-collapse:collapse;min-width:520px;font-size:14.5px}
.lb th{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-2);background:rgba(var(--d1),.7)}
.lb td{padding:10px 14px;border-bottom:1px solid rgba(var(--ln),.6)}
.lb tr:last-child td{border-bottom:0}
.lb .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.lb td.sc{font-family:var(--display);font-weight:800;font-style:italic;font-size:20px;color:#fff;text-shadow:0 0 12px rgba(var(--acc-rgb),.55)}
.lb td.wl{color:var(--muted)}
.lb tr.top1 td.sc{color:var(--gold);text-shadow:0 0 12px rgba(255,197,61,.5)}
.lb .rank{display:inline-grid;place-items:center;min-width:30px;height:28px;padding:0 6px;font-family:var(--display);font-weight:800;font-style:italic;font-size:15px;color:var(--muted);border:1px solid var(--line-2);transform:skewX(-12deg)}
.lb tr.top1 .rank{background:var(--gold);color:#1a0d00;border-color:var(--gold);box-shadow:0 0 12px rgba(255,197,61,.5)}
.lb tr.top2 .rank{background:#D9DEE8;color:#15161a;border-color:#D9DEE8}
.lb tr.top3 .rank{background:#D98A4E;color:#1a0d00;border-color:#D98A4E}
.lb tr.top1 td{background:rgba(255,197,61,.06)}
.lb tr.mine td{background:rgba(var(--acc-rgb),.12)}
.lb .who-cell{white-space:nowrap}
.lb .lb-clan{font-family:var(--display);font-weight:800;font-style:italic;font-size:18px;text-transform:uppercase}
.lb .you{font-family:var(--display);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;background:var(--blue);color:var(--on-acc);margin-left:4px}
.pct{display:inline-block;width:60px;height:6px;background:var(--line-2);margin-right:8px;vertical-align:middle;transform:skewX(-20deg);overflow:hidden}
.pct i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
@media (max-width:520px){.pct{display:none}}

/* clan queue */
.cq-list{display:grid;gap:8px}
.cq-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line-2);background:rgba(var(--d1),.8);min-width:0}
.cq-row.me{border-color:var(--gold);background:rgba(255,197,61,.08)}
.cq-row .sub{flex:1;min-width:0;font-size:13.5px}
.cq-tag{font-family:var(--display);font-weight:800;font-style:italic;font-size:26px;line-height:1;text-transform:uppercase}
.cq-row .x{appearance:none;border:0;background:none;color:var(--faint);cursor:pointer;font-size:18px}
.radar{width:12px;height:12px;border-radius:50%;background:var(--good);flex:none;box-shadow:0 0 0 0 rgba(46,229,157,.7);animation:radar 1.6s infinite}
@keyframes radar{0%{box-shadow:0 0 0 0 rgba(46,229,157,.7)}100%{box-shadow:0 0 0 12px transparent}}
@media (prefers-reduced-motion:reduce){.radar,.lobby-label::before{animation:none}}

/* clans list */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.toolbar .inp{max-width:280px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.team{background:linear-gradient(180deg,rgba(var(--d2),.9),rgba(var(--d3),.9));border:1px solid var(--line);padding:16px;display:grid;gap:12px;align-content:start;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:border-color .15s}
.team:hover{border-color:var(--blue)}
.team-top{display:flex;align-items:center;gap:10px}
.tagchip{font-family:var(--display);font-size:13px;font-weight:800;padding:4px 8px;background:linear-gradient(90deg,var(--blue),var(--acc-deep));color:var(--on-acc);letter-spacing:.06em}
.team-name{font-family:var(--display);font-weight:700;font-size:18px;line-height:1.15;flex:1;min-width:0;overflow-wrap:anywhere;text-transform:uppercase}
.team-name.mono{font-family:var(--display);font-style:italic;font-weight:800;font-size:24px}
.pill{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;white-space:nowrap;border:1px solid var(--line-2);color:var(--muted)}
.pill.alive{color:var(--good);border-color:rgba(46,229,157,.5);box-shadow:0 0 10px rgba(46,229,157,.2) inset}
.pill.sample{border-style:dashed}
.roster{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;font-family:var(--mono);font-size:12.5px;margin:0;padding:0;list-style:none;color:var(--body-text)}
.roster li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.roster li.cap::after{content:" ★";color:var(--gold)}
.roster li.sub{color:var(--muted)}
.team-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}

/* registration list */
.plist{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-width:480px;counter-reset:none}
.plist li{display:grid;grid-template-columns:32px 1fr 64px;align-items:center;gap:8px}
.plist .pn{font-family:var(--display);font-weight:800;font-style:italic;font-size:16px;color:var(--cyan);text-align:right;font-variant-numeric:tabular-nums}
.linkbtn{appearance:none;border:0;background:none;padding:0;color:var(--live);font-size:12.5px;cursor:pointer;text-decoration:underline;font-family:var(--sans)}
.lab{display:flex;justify-content:space-between;align-items:baseline;gap:6px}

/* rules */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.rule{position:relative;background:linear-gradient(180deg,rgba(var(--d2),.92),rgba(var(--d3),.92));border:1px solid var(--line);padding:20px 22px;clip-path:polygon(0 0,calc(100% - var(--cut)) 0,100% var(--cut),100% 100%,0 100%)}
.rule h3{font-size:20px;font-style:italic;font-weight:800;margin-bottom:12px;color:#fff}
.rule ol{margin:0;padding-left:22px;display:grid;gap:9px;font-size:15px;color:var(--body-text)}
.rule ol li::marker{font-family:var(--display);color:var(--cyan);font-weight:800}
.modes{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.modes span{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;background:rgba(var(--acc-rgb),.14);border:1px solid rgba(var(--acc-rgb),.4);color:var(--chip-text)}

/* admin */
.admin-list{display:grid;gap:6px;max-height:340px;overflow:auto}
.admin-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);background:rgba(var(--d1),.6);font-size:14px}
.admin-row .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;padding:10px 12px;border:1px solid var(--live);background:rgba(255,71,96,.08)}
.savebar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(var(--d4),.96);border-top:1px solid var(--blue);box-shadow:0 -10px 30px rgba(var(--acc-rgb),.25);color:var(--ink);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.savebar .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.savebar .msg{flex:1;min-width:200px;font-size:14px}
.savebar .msg strong{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}
.savebar .msg small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:90px;z-index:40;background:var(--toast);border:1px solid var(--cyan);padding:12px 16px;font-family:var(--display);font-weight:600;letter-spacing:.04em;font-size:14px;box-shadow:0 0 24px rgba(var(--acc2-rgb),.35);max-width:calc(100% - 32px)}
footer{border-top:1px solid var(--line);padding-block:22px;color:var(--faint);font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* sign-up code box */
.code-input{font-size:28px!important;letter-spacing:.45em;text-align:center;font-weight:700}

/* Solo Queue rank badges */
.tier{display:inline-flex;align-items:center;gap:5px;flex:none;font-family:var(--display);font-style:normal;font-weight:800;font-size:9.5px;line-height:1;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px 3px 7px;white-space:nowrap;vertical-align:middle;
  color:var(--tc);background:color-mix(in srgb,var(--tc) 14%,transparent);border:1px solid color-mix(in srgb,var(--tc) 55%,transparent);clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%);text-shadow:none}
.tier::before{content:"";width:5px;height:5px;background:currentColor;transform:rotate(45deg);flex:none}
.tier.big{font-size:11.5px;padding:5px 11px 5px 10px}
.tier.big::before{width:7px;height:7px}
.t-bronze{--tc:#D6874A}
.t-silver{--tc:#DCE3EC}
.t-gold{--tc:#FFC53D;box-shadow:0 0 10px rgba(255,197,61,.25)}
.t-diamond{--tc:#5FE3FF;box-shadow:0 0 10px rgba(95,227,255,.3)}
.t-master{--tc:#B98BFF;box-shadow:0 0 10px rgba(185,139,255,.3)}
.t-grand{--tc:#FF5CE1;box-shadow:0 0 12px rgba(255,92,225,.35)}
.t-champion{--tc:#FF5470;box-shadow:0 0 14px rgba(255,84,112,.45)}
.t-goat{--tc:#FFD700;color:#1A1000;border-color:#FFE680;background:linear-gradient(100deg,#FFB800 0%,#FFF3B0 35%,#FFD700 55%,#FFF8D6 75%,#FFB800 100%);background-size:220% 100%;box-shadow:0 0 16px rgba(255,215,0,.6);animation:goat 3s linear infinite}
@keyframes goat{to{background-position:-220% 0}}
@media (prefers-reduced-motion:reduce){.t-goat{animation:none}}
.q-slot .tier{font-size:8.5px;padding:2px 6px 2px 5px}
.lobby-team li .tier{font-size:8px;padding:2px 5px 2px 4px;margin-left:2px}
.lobby-team li .tier::before{display:none}
.profile .tier{margin-left:auto}
.spec strong .tier{vertical-align:4px;margin-left:4px}
.tier-list{list-style:none!important;padding:0!important;display:grid;gap:8px}
.tier-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.tier-list li span:last-child{font-family:var(--display);font-weight:700;color:var(--muted);font-size:13px}
.q-slot .slot-main{flex:1;min-width:0;display:grid;gap:4px}
.q-slot .slot-sub{display:flex;align-items:center;gap:6px;min-width:0}
.q-slot .slot-sub .role{font-size:14px;line-height:1}
.q-slot:not(.open){min-height:58px}

/* rank emblems */
.tier::before{display:none!important}
.tier .emb{width:15px;height:15px;flex:none;margin:-3px 0 -3px -2px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.tier.big .emb{width:22px;height:22px;margin:-5px 0 -5px -3px}
.q-slot .tier .emb{width:17px;height:17px}
.lobby-team li .tier .emb{width:13px;height:13px}
.lb .tier .emb{width:24px;height:24px;margin:-7px 1px -7px -4px}
.tier-list .tier.big .emb{width:30px;height:30px;margin:-8px 2px -8px -4px}
.tier-list li{min-height:40px}


/* emblem above the rank name */
.tier{flex-direction:column;justify-content:center;gap:3px;padding:2px 4px!important;background:none!important;border:0!important;clip-path:none!important;box-shadow:none!important;animation:none!important;font-size:8.5px;letter-spacing:.12em;text-align:center;line-height:1.05}
.tier .emb{margin:0!important;width:34px!important;height:34px!important;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--tc) 55%,transparent)) drop-shadow(0 1px 1px rgba(0,0,0,.6))}
.tier.big{font-size:10.5px}
.tier.big .emb{width:50px!important;height:50px!important}
.q-slot .tier{font-size:7.5px}
.q-slot .tier .emb{width:30px!important;height:30px!important}
.lobby-team li .tier{font-size:6.5px;padding:0 2px!important}
.lobby-team li .tier .emb{width:24px!important;height:24px!important}
.lb .tier{font-size:8px}
.lb .tier .emb{width:42px!important;height:42px!important}
.tier-list .tier.big{font-size:10px;min-width:86px}
.tier-list .tier.big .emb{width:62px!important;height:62px!important}
.tier-list li{min-height:0;padding-block:6px}
.spec strong .tier{vertical-align:middle;display:inline-flex}
.spec strong .tier .emb{width:36px!important;height:36px!important}
.t-goat{--tc:#B98BFF;color:#fff!important;text-shadow:none;background:linear-gradient(90deg,#FF5CE1,#B98BFF,#35F0FF,#7DFF9A,#FFD84A,#FF5CE1)!important;background-size:200% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent;animation:goat 3s linear infinite!important}
.t-goat .emb{animation:goatglow 2.4s ease-in-out infinite}
@keyframes goatglow{50%{filter:drop-shadow(0 0 10px rgba(185,139,255,.9)) drop-shadow(0 0 4px rgba(53,240,255,.7)) drop-shadow(0 1px 1px rgba(0,0,0,.6))}}
@media (prefers-reduced-motion:reduce){.t-goat .emb{animation:none}}
.lobby-team li{align-items:center}
.lobby-team li>span:first-child{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;min-width:0}

/* win streak ("on fire") */
.fire{display:inline-flex;align-items:center;gap:2px;flex:none;padding:1px 7px 1px 3px;border-radius:999px;vertical-align:middle;white-space:nowrap;
  font:800 11px/1.2 var(--display);letter-spacing:.04em;color:#FFD27A;background:linear-gradient(90deg,rgba(255,77,0,.32),rgba(255,160,0,.12));
  border:1px solid rgba(255,110,0,.7);box-shadow:0 0 10px rgba(255,80,0,.45),inset 0 0 6px rgba(255,120,0,.25);text-shadow:0 0 6px rgba(255,90,0,.8)}
.fire svg{width:15px;height:15px;transform-origin:50% 90%;animation:flick .9s ease-in-out infinite alternate;filter:drop-shadow(0 0 3px rgba(255,90,0,.9))}
.fire b{font-weight:800}
.fire.lg{font-size:12.5px;padding:2px 9px 2px 4px}
.fire.lg svg{width:18px;height:18px}
@keyframes flick{0%{transform:scale(1,1) rotate(-2deg)}50%{transform:scale(.94,1.08) rotate(2deg)}100%{transform:scale(1.04,.96) rotate(-1deg)}}
@media (prefers-reduced-motion:reduce){.fire svg{animation:none}}
.q-slot .g-row{display:flex;align-items:center;gap:6px;min-width:0}
.q-slot .g-row .g{min-width:0;flex:0 1 auto}
.q-slot .g-row .role{font-size:15px;line-height:1;flex:none}
.q-slot .fire{font-size:10px;padding:0 6px 0 2px}
.q-slot .fire svg{width:13px;height:13px}
.lobby-team li .fire{font-size:9.5px;padding:0 5px 0 2px;margin-left:4px}
.lobby-team li .fire svg{width:12px;height:12px}
.lb .fire{margin-left:8px;font-size:12.5px;padding:2px 9px 2px 4px}
.lb .fire svg{width:17px;height:17px}
.profile .who b{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* lobby result: submit + confirm */
.lobby-foot .res-state{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;min-width:0}
.res-note{font-size:12.5px;color:var(--muted)}
.claim{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.claim.disputed{color:#FF6B6B;text-shadow:0 0 10px rgba(255,80,80,.35)}
.cf-bars{display:inline-flex;gap:6px}
.cf-bar{font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border:1px solid var(--line);color:var(--muted);background:rgba(255,255,255,.03)}
.cf-bar.ok{color:#5BE39A;border-color:rgba(91,227,154,.55);background:rgba(91,227,154,.08)}
.cf-mark{font-weight:800;font-size:12px;margin-left:2px}
.cf-mark.ok{color:#5BE39A}
.cf-mark.no{color:#FF6B6B}
.rep .adm{font:700 10.5px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-left:6px}

/* losing streak ("egg") */
.egg{display:inline-flex;align-items:center;gap:2px;flex:none;padding:1px 7px 1px 3px;border-radius:999px;vertical-align:middle;white-space:nowrap;
  font:800 11px/1.2 var(--display);letter-spacing:.04em;color:#EDE6D6;background:linear-gradient(90deg,rgba(243,236,221,.16),rgba(243,236,221,.05));
  border:1px solid rgba(220,208,185,.55);box-shadow:0 0 8px rgba(243,236,221,.18)}
.egg svg{width:14px;height:14px;transform-origin:50% 90%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.egg.e2{border-color:rgba(200,170,120,.7);color:#F2DDB5}
.egg.e2 svg{width:16px;height:16px;animation:wobble 1.6s ease-in-out infinite}
.egg.e3{border-color:rgba(255,184,28,.75);color:#FFD27A;background:linear-gradient(90deg,rgba(255,184,28,.2),rgba(243,236,221,.05));box-shadow:0 0 10px rgba(255,184,28,.3)}
.egg.e3 svg{width:18px;height:18px}
.egg b{font-weight:800}
.egg.lg{font-size:12.5px;padding:2px 9px 2px 4px}
@keyframes wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-9deg)}75%{transform:rotate(9deg)}}
@media (prefers-reduced-motion:reduce){.egg svg{animation:none}}
.q-slot .egg{font-size:10px;padding:0 6px 0 2px}
.lobby-team li .egg{font-size:9.5px;padding:0 5px 0 2px;margin-left:4px}
.lb .egg{margin-left:8px;font-size:12.5px;padding:2px 9px 2px 4px}

/* egg chip: black background */
.egg,.egg.e2,.egg.e3{background:linear-gradient(180deg,#1a1a1d,#050506)!important}
.egg{box-shadow:0 0 0 1px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.6)}
.egg.e3{box-shadow:0 0 0 1px rgba(0,0,0,.6),0 0 10px rgba(255,184,28,.35)}

.egg.e3{border-color:rgba(220,208,185,.55);color:#EDE6D6;box-shadow:0 0 0 1px rgba(0,0,0,.6),0 2px 6px rgba(0,0,0,.6)}

/* leaving a lobby */
.lobby-team li.left>span:first-child{opacity:.55}
.left-tag{display:inline-block;font:800 9.5px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;margin-left:4px;border:1px solid rgba(255,255,255,.25);color:var(--muted);vertical-align:middle}
.left-tag.loss{border-color:rgba(255,107,107,.6);color:#FF8A8A}
.lobby-foot .confirm{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.leave-note{font-size:12px;color:var(--muted)}
.leave-note.warn{color:#FF8A8A}

.lobby-team li.left>span:first-child{flex-wrap:wrap;row-gap:2px}
.lobby-team li.left .left-tag{margin-left:2px}

/* report an issue */
.lobby-report{padding:10px 16px 14px;border-top:1px dashed var(--line);display:grid;gap:10px;background:rgba(0,0,0,.18)}
.lobby-report .linkbtn{justify-self:start}
.report-form{display:grid;gap:10px;max-width:560px}
.report-form textarea{min-height:70px;resize:vertical}
.review-tag{font:800 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;color:#FFB347;border:1px solid rgba(255,179,71,.6);background:rgba(255,179,71,.08)}
.reports{display:grid;gap:10px}
.report{border:1px solid var(--line);padding:12px;display:grid;gap:6px;background:rgba(255,255,255,.02)}
.report.open{border-color:rgba(255,179,71,.55)}
.report .r-top{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.report .r-top b{color:var(--ink);font-family:var(--display);letter-spacing:.06em}
.report .r-why{font-weight:700}
.report .r-det{white-space:pre-wrap;font-size:14px}
.report .r-note{font-size:13px;color:#5BE39A}
.report .hero-actions{margin:0}

/* lobby chat */
.chat{margin:0 16px 14px;border:1px solid var(--line);background:rgba(0,0,0,.28);display:grid}
.chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line)}
.chat-head b{font:800 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.chat-head span{font-size:11.5px;color:var(--faint)}
.chat-log{max-height:190px;min-height:64px;overflow-y:auto;padding:8px 12px;display:grid;gap:5px;align-content:start;overscroll-behavior:contain}
.chat-empty{font-size:12.5px;color:var(--faint);align-self:center}
.msg{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:baseline;font-size:13.5px;line-height:1.35}
.msg .m-who{font-family:var(--mono,monospace);font-weight:700;white-space:nowrap}
.msg.t0 .m-who{color:var(--blue)}
.msg.t1 .m-who{color:var(--team-b)}
.msg .m-body{word-break:break-word;color:var(--ink)}
.msg .m-time{font-size:11px;color:var(--faint)}
.msg.me .m-body{color:#fff}
.chat-form{display:flex;gap:8px;padding:8px;border-top:1px solid var(--line)}
.chat-form input{flex:1;min-width:0;background:var(--input);border:1px solid var(--line-2);padding:9px 10px;color:var(--ink);font-size:14px;border-radius:0}
.chat-closed{padding:8px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--faint)}
.chat-err{padding:0 12px 8px;font-size:12px;color:#FF8A8A}

/* duo (team up) */
.q-slot .slot-act{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px}
.duo-tag{display:inline-flex;align-items:center;gap:4px;font:800 10px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;color:#9BE8FF;border:1px solid rgba(155,232,255,.55);background:rgba(155,232,255,.08);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.q-slot.duo{box-shadow:inset 3px 0 0 #9BE8FF}
.btn.xs{padding:4px 8px;font-size:10.5px;letter-spacing:.08em}
.duo-note{font-size:11.5px;color:var(--muted)}
.duo-box{display:grid;gap:8px;padding:12px;border:1px solid rgba(155,232,255,.35);background:rgba(155,232,255,.05)}
.duo-box .row{display:block;font-size:14px;line-height:1.8}
.duo-box .row .btn,.duo-box .row .linkbtn{margin-left:6px;vertical-align:middle}

/* top 100 leaderboards: scroll inside the table, header stays visible */
.lb-wrap{max-height:640px;overflow:auto}
.lb thead th{position:sticky;top:0;z-index:2;background:rgb(var(--d2))}
.lb tr.top{position:static}

/* full solo leaderboard: search + find me */
.lb-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.lb-tools .inp{max-width:280px}
.lb-tools .lb-me{font-size:13px;color:var(--muted)}
.lb tr.mine td{box-shadow:inset 0 0 0 9999px rgba(255,255,255,.04)}
.lb-none{padding:14px;color:var(--faint);font-size:13px}

/* home cards: queue + games running */
.gc-stats{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:flex-start}
.gc-stats .gs{display:grid;gap:3px}
.gc-stats .gs small{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.gc-stats .gs small b{font-size:13px}
.live-dot{width:7px;height:7px;border-radius:50%;background:#35E07A;box-shadow:0 0 8px #35E07A;animation:livepulse 1.6s ease-in-out infinite;flex:none}
.live-dot.off{background:#56606c;box-shadow:none;animation:none}
@keyframes livepulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.live-dot{animation:none}}

/* admin tools */
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.adm-box{border:1px solid var(--line);padding:12px;display:grid;gap:10px;align-content:start}
.adm-box h4{margin:0;font:800 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.adm-row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.adm-row label.f{flex:1;min-width:80px}
.ban-tag{display:inline-block;font:800 10px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;color:#FF8A8A;border:1px solid rgba(255,107,107,.6);vertical-align:middle}
.ok-tag{display:inline-block;font:800 10px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;color:#5BE39A;border:1px solid rgba(91,227,154,.55);vertical-align:middle}
.kick{background:none;border:0;color:#FF8A8A;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;margin-left:4px}
.kick:hover{color:#fff}
.msg .m-del{background:none;border:0;color:var(--faint);cursor:pointer;font-size:13px;padding:0 0 0 6px}
.msg .m-del:hover{color:#FF8A8A}
.msg{grid-template-columns:auto 1fr auto auto}
.left-tag.kick-tag{border-color:rgba(255,179,71,.6);color:#FFB347}

/* clan battle: full registered roster under each clan */
.b-roster{margin-top:10px}
.b-roster-h{font:800 11px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.b-roster ol{margin:0;padding:0;list-style:none;counter-reset:rp;display:grid;gap:2px}
.b-roster li{counter-increment:rp;display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--line);font-size:14px}
.b-roster li::before{content:counter(rp);min-width:18px;font:700 12px/1 var(--display);color:var(--faint)}
.b-roster li.lead::after{content:" \2605";color:var(--gold)}

.lobby-team .b-roster li{justify-content:flex-start}
.lobby-team .b-roster li span{margin:0;text-align:left}

.lobby-foot .cv{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}

/* page transitions */
.tabs[role="tablist"]{position:relative}
.tab{transition:color .2s ease}
.tabs.has-ind .tab[aria-selected="true"]::after{display:none}
.tab-ind{position:absolute;left:0;bottom:0;height:3px;width:0;border-radius:2px;background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 12px var(--blue);pointer-events:none}
.tab-ind.ind-mv{animation:gz-ind .4s cubic-bezier(.22,.9,.24,1) backwards}
@keyframes gz-ind{from{transform:translateX(var(--fx));width:var(--fw)}}
@keyframes gz-in-l{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes gz-in-r{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
@keyframes gz-fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes gz-zoom{from{opacity:0;transform:scale(.965);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@keyframes gz-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.v-left{animation:gz-in-l .36s cubic-bezier(.22,.9,.24,1) backwards;animation-delay:var(--ad,0s)}
.v-right{animation:gz-in-r .36s cubic-bezier(.22,.9,.24,1) backwards;animation-delay:var(--ad,0s)}
.v-fade{animation:gz-fade .32s ease-out backwards;animation-delay:var(--ad,0s)}
.v-zoom{animation:gz-zoom .42s cubic-bezier(.22,.9,.24,1) backwards;animation-delay:var(--ad,0s)}
main.v-left .wrap>*,main.v-right .wrap>*,main.v-zoom .wrap>*{animation:gz-rise .45s cubic-bezier(.22,.9,.24,1) backwards;animation-delay:var(--ad,0s)}
main[class*="v-"] .wrap>:nth-child(2){animation-delay:calc(var(--ad,0s) + 50ms)}
main[class*="v-"] .wrap>:nth-child(3){animation-delay:calc(var(--ad,0s) + 100ms)}
main[class*="v-"] .wrap>:nth-child(n+4){animation-delay:calc(var(--ad,0s) + 140ms)}
#app main{overflow-x:clip}
@media (prefers-reduced-motion:reduce){.v-left,.v-right,.v-fade,.v-zoom,main[class*="v-"] .wrap>*,.tab-ind.ind-mv{animation:none!important}}

/* hero stats per tab */
.specs.only-solo .s-clan,.specs.only-clan .s-solo{display:none}
.specs.only-solo,.specs.only-clan{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Solo Queue ranks strip (Solo Queue page) */
.rank-strip{list-style:none;margin:0;padding:14px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;background:linear-gradient(180deg,rgba(var(--d2),.9),rgba(var(--d5),.9));border:1px solid var(--line)}
.rank-strip li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;text-align:center;border-right:1px solid var(--line)}
.rank-strip li:last-child{border-right:0}
.rank-strip .tier.big{flex-direction:column;gap:4px;font-size:10px;min-width:0}
.rank-strip .tier.big .emb{width:58px!important;height:58px!important;margin:0!important}
.rank-strip .pts{font-family:var(--display);font-weight:700;font-size:13px;color:var(--muted);letter-spacing:.04em}
@media (max-width:760px){.rank-strip{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px 6px}.rank-strip li:nth-child(4){border-right:0}.rank-strip .tier.big{white-space:normal;line-height:1.25;font-size:9px}.rank-strip .tier.big .emb{width:50px!important;height:50px!important}}

/* Solo Queue view switch (Waiting queue / Leaderboard) */
.seg{display:inline-flex;gap:4px;padding:4px;margin:0 0 16px;background:linear-gradient(180deg,rgba(var(--d2),.95),rgba(var(--d5),.95));border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.seg-b{appearance:none;border:0;background:none;color:var(--muted);font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:9px 16px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;white-space:nowrap;transition:color .2s ease,background-color .2s ease}
.seg-b:hover{color:var(--ink)}
.seg-b[aria-selected="true"]{color:var(--on-acc);background:linear-gradient(90deg,var(--blue),var(--cyan));box-shadow:0 0 14px rgba(0,0,0,.25)}
.seg-b svg{width:15px;height:15px;flex:none}
.seg-b .n{font-size:11px;letter-spacing:.04em;padding:2px 6px;background:rgba(0,0,0,.4);color:#fff}
.seg-pane>.sec-head:first-child{margin-top:0!important}
@media (max-width:760px){.seg{display:flex}.seg-b{flex:1;min-width:0;justify-content:center;padding:9px 8px;font-size:12px}.seg-b .n-l{display:none}}

/* Your clan (leader view) */
.myclan{display:grid;gap:14px}
.mc-roster{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.mc-roster li{padding:8px 10px;border:1px solid var(--line);background:rgba(0,0,0,.18);font-size:14px}
.mc-roster li.lead span::after{content:" \2605";color:var(--gold)}
.btn.danger-ghost{color:#ff8a8a;border-color:rgba(255,90,90,.45)}
.btn.danger-ghost:hover{background:rgba(255,70,70,.12)}

/* Rules: click a heading to open it */
.rules{grid-template-columns:1fr!important;gap:10px!important}
details.rule{padding:0!important}
details.rule>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;user-select:none}
details.rule>summary::-webkit-details-marker{display:none}
details.rule>summary::marker{content:""}
details.rule>summary h3{margin:0!important}
details.rule>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
.rule-tick{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);color:var(--cyan);background:rgba(0,0,0,.2);transition:transform .28s cubic-bezier(.22,.9,.24,1),background-color .2s ease,border-color .2s ease}
details.rule>summary:hover .rule-tick{border-color:var(--cyan)}
details.rule[open] .rule-tick{transform:rotate(180deg);background:rgba(var(--acc2-rgb),.16);border-color:var(--cyan)}
details.rule[open]>summary{padding-bottom:10px}
.rule-body{padding:0 22px 20px}
details.rule.opening .rule-body{animation:gz-rise .32s cubic-bezier(.22,.9,.24,1)}
@media (prefers-reduced-motion:reduce){details.rule.opening .rule-body{animation:none}.rule-tick{transition:none}}

/* ===== Phone layout ===== */
@media (max-width:640px){
  /* header: no blur so the bottom tab bar can be fixed to the screen */
  .top{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(var(--d6),.97)!important}
  .top .wrap{min-height:54px;gap:10px;flex-wrap:nowrap}
  :root:not([data-game="home"]) .brand span{display:none}
  .me-chip{min-width:0;max-width:46vw}
  .me-chip .mono{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
  .game-pill{margin-left:auto!important;flex:none}
  /* bottom tab bar */
  .top nav.tabs[role="tablist"]{position:fixed;left:0;right:0;bottom:0;z-index:25;margin:0!important;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;overflow:visible;
    padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px));background:rgba(var(--d6),.98);border-top:1px solid var(--line-2);box-shadow:0 -8px 24px rgba(0,0,0,.45)}
  .top nav.tabs .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px 2px 6px;min-height:54px;font-size:10.5px;letter-spacing:.06em;white-space:nowrap}
  .top nav.tabs .tab .t-l{display:none}
  .top nav.tabs .tab .t-s{display:block}
  .top nav.tabs .tab .t-ic{display:block;line-height:0}
  .top nav.tabs .tab[aria-selected="true"]{color:var(--cyan)}
  .top nav.tabs .tab-ind{top:0;bottom:auto}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}
  .savebar{bottom:calc(62px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}
  /* compact hero inside a game */
  :root:not([data-game="home"]) .hero .eyebrow,
  :root:not([data-game="home"]) .hero .title-row,
  :root:not([data-game="home"]) .hero .lede{display:none}
  .hero .wrap{padding-block:26px 22px;gap:14px}
  :root:not([data-game="home"]) .hero .wrap{padding-block:16px 16px;gap:10px}
  :root:not([data-game="home"]) .hero .game-title{font-size:30px;margin:0 0 12px}
  .hero .notice{font-size:12px;padding:8px 10px;margin-top:10px}
  .specs{gap:8px}
  .spec{padding:10px 12px!important}
  .spec strong{font-size:17px!important}
  .spec small{font-size:10px}
  .spec span{font-size:12px}
  h1.cup{font-size:clamp(40px,13vw,64px)}
  main{padding-top:22px!important}
  .sec-head{margin-bottom:12px}
  .sec-head h2{font-size:26px}
  .sec-head .sub{font-size:13.5px}
  .panel{padding:16px!important}
  .q-count strong{font-size:52px}
  /* queue: players one per row, open slots three per row */
  .q-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px}
  .q-slot:not(.open){grid-column:1/-1;min-height:46px;padding:6px 10px}
  .q-slot:not(.open) .slot-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
  .q-slot .g-row{flex:1 1 auto}
  .q-slot .g{font-size:14px}
  .q-slot .slot-sub .tier{display:inline-flex;flex-direction:row;align-items:center;gap:4px;font-size:9.5px}
  .q-slot .slot-sub .tier .emb{width:26px!important;height:26px!important;margin:0!important}
  .q-slot .slot-act{flex-basis:100%;margin-top:0}
  .q-slot.open{min-height:34px;padding:4px 8px;justify-content:center}
  .q-slot.open .n{width:auto}
  /* leaderboard: no side scrolling, compact rows */
  .lb-wrap{max-height:none!important;overflow:visible!important}
  .lb{min-width:0!important;font-size:14px}
  .lb thead{display:none}
  .lb td{padding:9px 6px}
  .lb td:first-child{padding-left:10px;width:34px}
  .lb td:nth-last-child(-n+4){display:none}
  .lb .rank{min-width:26px;height:24px;font-size:13px}
  .lb .who-cell{white-space:normal;max-width:0;width:100%}
  .lb .who-cell>.mono,.lb .who-cell>.lb-clan{display:inline-block;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;line-height:1.35;padding-bottom:1px}
  .lb-sub{display:block!important;font-size:11.5px;color:var(--muted);margin-top:2px;letter-spacing:.02em}
  .lb .tier{font-size:0!important}
  .lb .tier .emb{width:34px!important;height:34px!important;margin:0!important}
  .lb td.sc{font-size:18px;padding-right:12px}
  .lb .fire,.lb .egg{margin-left:4px}
  .lb-tools{flex-wrap:wrap;gap:8px}
  .lb-tools .inp{flex:1 1 100%}
  /* lobby cards */
  .lobby-body{padding:12px!important;gap:6px!important}
  .lobby-team h4{font-size:19px}
  .lobby-team li{padding:5px 0!important;min-height:0}
  .lobby-team .tier{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:3px;font-size:9px!important}
  .lobby-team .tier .emb{width:22px!important;height:22px!important;margin:0!important}
  .vs{font-size:24px!important;margin:2px 0!important}
  .b-roster ol{grid-template-columns:1fr 1fr!important;column-gap:12px}
  .chat-log{max-height:220px}
  .btn{min-height:40px}
  .hero-actions{gap:8px}
  .hero-actions .btn{flex:1 1 auto}
}
@media (min-width:641px){.tab .t-ic,.tab .t-s{display:none}}
.lb-sub{display:none}

/* Live games / Recent lobbies: click a lobby to open it */
.lobbies{align-items:start}
details.lobby>summary{list-style:none;cursor:pointer;user-select:none;align-items:center;flex-wrap:nowrap}
details.lobby>summary::-webkit-details-marker{display:none}
details.lobby>summary::marker{content:""}
details.lobby>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}
details.lobby:not([open])>summary{border-bottom:0}
.lobby-head .lh-l{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.lobby-head .lh-r{display:flex;align-items:center;gap:10px;flex:none;margin-left:auto}
.lh-st{font-size:10.5px;letter-spacing:.1em;padding:2px 7px;border:1px solid var(--line-2);color:var(--muted);white-space:nowrap}
.lh-st.live{color:var(--good);border-color:rgba(46,229,157,.45)}
.lh-st.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--good);margin-right:5px;vertical-align:1px;box-shadow:0 0 6px var(--good)}
.lh-st.wait{color:var(--gold);border-color:rgba(255,197,61,.45)}
.lh-st.rev{color:#ff8a8a;border-color:rgba(255,90,90,.45)}
.lh-st.won{color:#fff;border-color:var(--line-2);background:rgba(var(--acc-rgb),.14)}
.lh-you{font-size:10px;letter-spacing:.1em;padding:2px 6px;background:var(--blue);color:var(--on-acc)}
.lobby-tick{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);color:var(--cyan);background:rgba(0,0,0,.2);transition:transform .28s cubic-bezier(.22,.9,.24,1),border-color .2s ease}
details.lobby>summary:hover .lobby-tick{border-color:var(--cyan)}
details.lobby[open] .lobby-tick{transform:rotate(180deg);border-color:var(--cyan)}
details.lobby.opening>:not(summary){animation:gz-rise .3s cubic-bezier(.22,.9,.24,1)}
@media (max-width:640px){details.lobby>summary{padding:10px 12px}.lh-t{display:none}}
@media (prefers-reduced-motion:reduce){details.lobby.opening>:not(summary){animation:none}.lobby-tick{transition:none}}

/* Registered clans: click a clan to see its players */
.team-grid{align-items:start}
details.team{display:block}
details.team>summary{list-style:none;cursor:pointer;user-select:none}
details.team>summary::-webkit-details-marker{display:none}
details.team>summary::marker{content:""}
details.team>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
details.team>summary .t-count{font-size:12.5px;color:var(--muted);white-space:nowrap}
details.team>summary .lobby-tick{margin-left:auto;flex:none}
details.team>summary:hover .lobby-tick{border-color:var(--cyan)}
details.team[open]>summary .lobby-tick{transform:rotate(180deg);border-color:var(--cyan)}
details.team>.roster{margin-top:12px}
details.team>.team-foot{margin-top:12px}
details.team.opening>:not(summary){animation:gz-rise .3s cubic-bezier(.22,.9,.24,1)}
@media (prefers-reduced-motion:reduce){details.team.opening>:not(summary){animation:none}}

/* Open spots: someone left, another player can take the place for 15 minutes */
.spot-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;border:1px dashed rgba(46,229,157,.55);background:rgba(46,229,157,.06);font-size:13px;color:var(--ink)}
.spot-row b{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px;color:var(--good)}
.spot-row .spot-t{color:var(--muted);font-size:12px}
.spot-row .btn{margin-left:auto}
.lh-st.spot{color:var(--good);border-color:rgba(46,229,157,.45);background:rgba(46,229,157,.08)}
.sub-tag{font-family:var(--display);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:1px 5px;border:1px solid rgba(46,229,157,.5);color:var(--good);margin-left:4px;vertical-align:1px}

/* Run away votes (no-show players) */
.ra{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:1px}
.ra-n{font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.08em;padding:1px 5px;border:1px solid rgba(255,90,90,.5);color:#ff8a8a;white-space:nowrap}
.ra-b{appearance:none;cursor:pointer;font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px solid rgba(255,90,90,.45);background:transparent;color:#ff8a8a;white-space:nowrap}
.ra-b:hover{background:rgba(255,70,70,.12)}
.ra-b.on{background:rgba(255,70,70,.9);color:#fff;border-color:transparent}
.ra-b.call{border-color:var(--line-2);color:var(--muted)}
.ra-b.call:hover{color:var(--ink);background:rgba(255,255,255,.06)}
.ra-b:disabled{opacity:.5;cursor:default}
.ran-tag{font-family:var(--display);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:1px 5px;background:rgba(255,70,70,.85);color:#fff;margin-left:4px;vertical-align:1px}
.lobby-team li{flex-wrap:wrap}
.lobby-team li>.ra{margin:2px 0 2px;display:flex;flex-basis:100%;order:9}
@media (max-width:640px){.ra-b{padding:4px 8px}}

/* Game timer: how long a live game has been running (or how long a finished one took) */
.lh-timer{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--good);padding:2px 7px;border:1px solid rgba(46,229,157,.4);background:rgba(46,229,157,.06);white-space:nowrap;font-variant-numeric:tabular-nums}
.lh-timer.done{color:var(--muted);border-color:var(--line-2);background:transparent;font-weight:600}

/* Seasons */
.season-chip{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.season-chip b{color:#fff}
.season-chip .sm{padding:2px 8px;border:1px solid var(--gold);color:var(--gold);background:rgba(255,197,61,.08)}
.season-chip .sm.unranked{border-color:var(--line-2);color:var(--muted);background:transparent}
.season-chip .left{color:var(--good)}
.hero .season-chip{margin-top:-4px}
.season-bar{margin:-4px 0 14px}
.past-seasons{margin-top:26px}
.past-seasons h3{font-size:18px;margin:0 0 10px}
.ps-list{display:grid;gap:8px}
.ps-top{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;counter-reset:ps}
.ps-top li{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid rgba(var(--ln),.6);font-size:14px}
.ps-top li .pos{font-family:var(--display);font-weight:800;font-style:italic;width:26px;color:var(--muted)}
.ps-top li:nth-child(1) .pos{color:var(--gold)}
.ps-top li .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-top li .sc{font-family:var(--display);font-weight:800;font-style:italic;color:#fff}
.ps-top li .wl{font-size:12px;color:var(--muted);white-space:nowrap}
.past-seasons .team-name{white-space:nowrap}
@media (max-width:640px){.past-seasons .team-top{gap:8px}.past-seasons .team-name{font-size:17px}.past-seasons .pill{font-size:9.5px;padding:2px 6px}.past-seasons .t-count{font-size:11.5px}}

/* ===== Round of fixes: phone zoom, team separation, duo colours, team-up alerts ===== */
/* Phones: show a bit more on screen */
@media (max-width:640px){html{zoom:.85}}
/* Game found: clearly separate the two teams */
.lobby-body>.lobby-team{padding:10px 12px;border:1px solid var(--line);border-left:4px solid var(--blue);background:linear-gradient(90deg,rgba(var(--acc-rgb),.10),transparent 70%)}
.lobby-body>.lobby-team:last-child{border-left-color:var(--team-b);background:linear-gradient(90deg,color-mix(in srgb,var(--team-b) 12%,transparent),transparent 70%)}
@media (max-width:640px){
  .lobby-body>.vs{display:flex!important;align-items:center;gap:12px;width:100%;margin:6px 0!important;font-size:20px!important}
  .lobby-body>.vs::before,.lobby-body>.vs::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.8}
}
/* Duos: each pair gets its own colour */
.q-slot.duo{box-shadow:none}
.q-slot.dc0{--dc:#B57BFF}.q-slot.dc1{--dc:#2EE59D}.q-slot.dc2{--dc:#FF5FA2}.q-slot.dc3{--dc:#FFD43B}
.duo-tag.dc0{--dc:#B57BFF}.duo-tag.dc1{--dc:#2EE59D}.duo-tag.dc2{--dc:#FF5FA2}.duo-tag.dc3{--dc:#FFD43B}
.q-slot.duo{border-color:var(--dc)!important;box-shadow:inset 5px 0 0 var(--dc),0 0 14px color-mix(in srgb,var(--dc) 35%,transparent)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--dc) 22%,transparent),transparent 75%)!important}
.duo-tag[class*="dc"]{color:#101014;background:var(--dc);border-color:var(--dc)}
/* Team-up request: impossible to miss */
.duo-alert{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:2px solid #2EE59D;background:linear-gradient(90deg,rgba(46,229,157,.22),rgba(46,229,157,.06));box-shadow:0 0 18px rgba(46,229,157,.35);animation:gz-pulse 1.6s ease-in-out infinite}
.duo-alert .da-ic{font-size:26px;line-height:1}
.duo-alert .da-txt{flex:1;min-width:180px;display:grid;gap:2px;font-size:15px;color:#fff}
.duo-alert .da-txt span{font-size:12.5px;color:var(--muted)}
.duo-alert .da-btns{display:flex;gap:8px}
.q-slot.asks-me{border-color:#2EE59D!important;animation:gz-pulse 1.6s ease-in-out infinite}
@keyframes gz-pulse{0%,100%{box-shadow:0 0 0 0 rgba(46,229,157,.45)}50%{box-shadow:0 0 0 6px rgba(46,229,157,0)}}
@media (prefers-reduced-motion:reduce){.duo-alert,.q-slot.asks-me{animation:none}}

/* Red action buttons (Leave duo, Leave queue) */
.btn.red{background:linear-gradient(180deg,#F0444F,#C9222E);color:#fff;border-color:transparent;box-shadow:0 0 12px rgba(240,68,79,.3)}
.btn.red:hover{background:linear-gradient(180deg,#FF5A64,#D92B37)}
.btn.red:disabled{opacity:.55}

/* Back button (top left) */
.back-btn{appearance:none;display:inline-flex;align-items:center;gap:4px;padding:7px 12px 7px 8px;border:1px solid var(--line-2);background:rgba(var(--d2),.9);color:var(--ink);font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;flex:none}
.back-btn:hover{border-color:var(--cyan);color:#fff}
@media (max-width:640px){.back-btn{padding:8px 10px}.back-btn span{display:none}}

/* flags (images, so they show on Windows too) + lobby player rows: flag · ID · rank · points */
img.flg{display:inline-block;width:20px;height:15px;object-fit:cover;vertical-align:-2px;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.lobby-team li .lp{display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.lobby-team li .lp-flag{display:inline-flex;flex:none;line-height:0}
.lobby-team li .lp-flag:empty{display:none}
.lobby-team li .lp-name{font-weight:700;overflow-wrap:anywhere}
.lobby-team li .tier.ico{flex-direction:row!important;padding:0!important;gap:0!important;font-size:0!important}
.lobby-team li .tier.ico .emb{width:26px!important;height:26px!important;margin:0!important}
.lobby-team li .lp .dl{font-family:var(--display);font-weight:800;font-size:13px;padding:1px 7px;border-radius:3px;letter-spacing:.02em}
.lobby-team li .lp .dl.up{color:#3CE08A;background:rgba(60,224,138,.12)}
.lobby-team li .lp .dl.down{color:#FF6B6B;background:rgba(255,107,107,.12)}
@media (max-width:640px){.lobby-team li .tier.ico .emb{width:22px!important;height:22px!important}}

/* streak chip stays glued beside the player ID (also on phones) */
.nt{display:inline-flex;align-items:center;gap:5px;flex:0 1 auto;min-width:0;max-width:100%;vertical-align:middle;white-space:nowrap}
.nt>.nt-n{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto}
.nt>.fire,.nt>.egg{flex:none;margin-left:0!important}
.q-slot .g-row>.nt{flex:0 1 auto}
.lb .who-cell>.nt{max-width:calc(100% - 30px)}
.lb .who-cell>.nt>.mono{max-width:none;display:inline}
.lobby-team li .nt>.fire,.lobby-team li .nt>.egg{font-size:11.5px;padding:1px 7px 1px 3px}
.lobby-team li .nt>.fire svg{width:15px;height:15px}
.lobby-team li .nt>.egg svg{width:15px;height:15px}

/* "Searching" bar at the top of the screen while you're in a queue */
.q-live{display:flex;flex-wrap:wrap;gap:1px;border-top:1px solid rgba(var(--acc-rgb),.45);background:linear-gradient(90deg,rgba(var(--acc-rgb),.28),rgba(var(--acc-rgb),.08));animation:qlglow 2.2s ease-in-out infinite}
.q-live-item{appearance:none;border:0;background:none;color:var(--ink);flex:1 1 260px;display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px;cursor:pointer;font:700 13px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase}
.q-live-item:hover{background:rgba(var(--acc-rgb),.12)}
.q-live .radar{position:relative;width:10px;height:10px;border-radius:50%;background:#3CE08A;flex:none;box-shadow:0 0 8px #3CE08A}
.q-live .radar::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #3CE08A;animation:qlping 1.4s ease-out infinite}
.ql-t{color:#3CE08A}
.ql-w{color:var(--muted);font-weight:600;white-space:nowrap}
.ql-timer{font:800 17px/1 var(--display);letter-spacing:.04em;color:#fff;min-width:52px;text-align:left;font-variant-numeric:tabular-nums}
@keyframes qlping{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.6);opacity:0}}
@keyframes qlglow{0%,100%{box-shadow:inset 0 -1px 0 rgba(var(--acc-rgb),.3)}50%{box-shadow:inset 0 -1px 0 rgba(var(--acc-rgb),.9),0 4px 16px rgba(var(--acc-rgb),.25)}}
@media (prefers-reduced-motion:reduce){.q-live,.q-live .radar::after{animation:none}}
@media (max-width:640px){.q-live-item{padding:7px 16px 7px 18px;gap:8px;font-size:11.5px;justify-content:flex-start}.ql-timer{font-size:15px;margin-left:auto}}

/* League map vote (under the battle's player list) */
.lv{margin:0 16px 14px;border:1px solid var(--line);background:rgba(0,0,0,.25);padding:12px 14px}
.lv-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin-bottom:10px}
.lv-h b{font:800 15px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--acc-text)}
.lv-h span{font-size:12.5px;color:var(--muted)}
.lv-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lv-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 10px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.lv-n{font:800 14px/1 var(--display);color:var(--muted);text-align:center}
.lv-m{font:700 13px/1.2 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.lv-map{font:800 15px/1 var(--display);letter-spacing:.04em;color:#fff;padding:4px 10px;background:rgba(var(--acc-rgb),.22);border:1px solid rgba(var(--acc-rgb),.55)}
.lv-w{font-size:12px;color:var(--faint);letter-spacing:.08em;text-transform:uppercase}
.lv-row.wait{opacity:.6}
.lv-row.cur{border-color:rgba(var(--acc-rgb),.75);background:rgba(var(--acc-rgb),.08);box-shadow:0 0 14px rgba(var(--acc-rgb),.18)}
.lv-t{font:800 16px/1 var(--display);color:#3CE08A;font-variant-numeric:tabular-nums;min-width:44px;text-align:right}
.lv-opts{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:6px}
.lv-o{appearance:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border:1px solid var(--line-2);background:var(--input);color:var(--ink);font:700 14px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;min-height:44px}
.lv-o b{font-size:13px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.08);color:var(--muted)}
.lv-o:hover:not(.ro){border-color:var(--blue)}
.lv-o.on{border-color:#3CE08A;background:rgba(60,224,138,.14);color:#fff;box-shadow:0 0 10px rgba(60,224,138,.25)}
.lv-o.on b{background:#3CE08A;color:#06140c}
.lv-o.ro{cursor:default}
.lv-foot{grid-column:1/-1;font-size:12.5px;color:var(--muted);margin-top:2px}
.lv-foot b{color:#3CE08A}
.adm-seg{margin-bottom:18px}
@media (max-width:640px){
  .lv{margin:0 10px 12px;padding:10px}
  .lv-opts{grid-template-columns:1fr}
  .lv-m{font-size:12px}

}

/* League ranks */
.t-liron{--tc:#A3ACB6}.t-lbronze{--tc:#D6874A}.t-lsilver{--tc:#E6ECF2}.t-lgold{--tc:#FFC53D}.t-lplat{--tc:#2FD4CC}.t-lmaster{--tc:#B98BFF}.t-lchamp{--tc:#FF4D6A}
.tier.lk .emb{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tc) 40%,transparent))!important}
.rank-strip.lg-strip{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (max-width:760px){.rank-strip.lg-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.rank-strip.lg-strip li:nth-child(4){border-right:0}}
/* anonymous League queue */
.q-slot .g.anon,.q-slot .anon .nt-n{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}
/* League: open spot that will cancel the battle */
.spot-row.warn{border-color:rgba(255,184,28,.7);background:rgba(255,184,28,.08)}
.spot-row.warn .spot-t{color:#FFD27A}

/* tap a player's name to open their profile */
.pl{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s}
.pl:hover,.pl:focus-visible{text-decoration-color:currentColor}
.nt.pl:hover .nt-n{text-decoration:underline;text-underline-offset:3px}
body.pf-open{overflow:hidden}
.pf-back{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto;animation:pfIn .18s ease-out}
.pf-sheet{position:relative;width:100%;max-width:640px;background:var(--panel);border:1px solid var(--line-2);box-shadow:0 20px 60px rgba(0,0,0,.6);padding:22px 22px 18px;display:grid;gap:16px}
.pf-x{position:absolute;top:10px;right:10px;appearance:none;border:1px solid var(--line);background:var(--input);color:var(--ink);width:36px;height:36px;font-size:16px;cursor:pointer}
.pf-head{display:flex;align-items:center;gap:14px;padding-right:40px}
.pf-head .av{width:54px;height:54px;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--blue),var(--cyan));color:var(--on-acc);font:800 26px/1 var(--display);clip-path:polygon(0 0,100% 0,100% 72%,72% 100%,0 100%)}
.pf-head h3{margin:0 0 4px;font-size:22px;letter-spacing:.02em}
.pf-head .sub{font-size:13.5px;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.pf-sec{display:grid;gap:8px}
.pf-sec-h b{font:800 13px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-text)}
.pf-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-box{border:1px solid var(--line);background:rgba(255,255,255,.03);padding:10px 12px;display:grid;gap:8px;align-content:start;min-height:112px}
.pf-box.prev{background:rgba(0,0,0,.2)}
.pf-box small{font:700 11px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pf-rank{display:flex;align-items:center;gap:10px}
.pf-rank .tier.big{font-size:9px!important}
.pf-rank .tier.big .emb{width:46px!important;height:46px!important}
.pf-rank strong{display:block;font:800 22px/1 var(--display);color:#fff}
.pf-rank span{font-size:12.5px;color:var(--muted)}
.pf-wl{font-size:13px;color:var(--body-text);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pf-wl b{color:#fff}
.pf-none{margin:6px 0 0;font-size:13px;color:var(--faint)}
.pf-clans{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pf-clans li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);padding:8px 10px;font-size:13.5px}
.pf-g{font:800 11px/1 var(--display);letter-spacing:.1em;padding:4px 6px;background:var(--blue);color:var(--on-acc)}
.pf-tag{font:800 16px/1 var(--display);letter-spacing:.08em}
.pf-cs{margin-left:auto;color:var(--muted)}
@keyframes pfIn{from{opacity:0}to{opacity:1}}
@media (max-width:640px){.pf-back{padding:12px 10px 90px}.pf-sheet{padding:18px 14px 14px}.pf-cols{grid-template-columns:1fr 1fr;gap:8px}.pf-box{padding:9px}.pf-rank{gap:6px}.pf-rank .tier.big .emb{width:36px!important;height:36px!important}.pf-rank strong{font-size:18px}.pf-cs{margin-left:0;width:100%}}

/* League restricted list */
.ban-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ban-grp{border:1px solid var(--line);background:rgba(255,60,60,.05);padding:10px 12px}
.ban-grp h4{margin:0 0 8px;font:800 12.5px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#FF7A7A}
.ban-grp ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ban-grp li{position:relative;padding-left:22px;font-size:14px;color:var(--body-text)}
.ban-grp li::before{content:"";position:absolute;left:2px;top:3px;width:13px;height:13px;border:2px solid #FF5A5A;border-radius:50%;background:linear-gradient(135deg,transparent 45%,#FF5A5A 45%,#FF5A5A 58%,transparent 58%)}

/* ---- Menu: clearer, button-style tabs ---- */
@media (min-width:641px){
  .top nav.tabs[role="tablist"]{gap:8px;flex-wrap:wrap;align-items:center}
  .top nav.tabs .tab{padding:11px 18px;font-size:14.5px;font-weight:700;color:#fff;letter-spacing:.09em;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);
    clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%);transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
  .top nav.tabs .tab:hover{background:rgba(var(--acc-rgb),.28);border-color:rgba(var(--acc-rgb),.85)}
  .top nav.tabs .tab[aria-selected="true"]{background:linear-gradient(180deg,var(--acc-light),var(--blue));color:var(--on-acc);border-color:transparent;box-shadow:0 0 18px rgba(var(--acc-rgb),.5);text-shadow:none}
  .top nav.tabs .tab[aria-selected="true"]::after,.top nav.tabs .tab-ind{display:none!important}
  .top nav.tabs .tab.admin{color:var(--gold);border-color:rgba(255,197,61,.45)}
  .top nav.tabs .tab.admin[aria-selected="true"]{color:#1a1000;background:linear-gradient(180deg,#FFE27A,#FFB800)}
}
@media (max-width:640px){
  .top nav.tabs[role="tablist"]{background:#0b0704!important;border-top:2px solid rgba(var(--acc-rgb),.7)!important;box-shadow:0 -6px 20px rgba(0,0,0,.6);padding:4px 4px calc(4px + env(safe-area-inset-bottom,0px))}
  .top nav.tabs .tab{color:#fff;min-height:60px;gap:4px;margin:2px;border-radius:10px;transition:background .15s}
  .top nav.tabs .tab .t-ic svg{width:25px;height:25px}
  .top nav.tabs .tab .t-s{font-size:11px;font-weight:800;letter-spacing:.05em}
  .top nav.tabs .tab[aria-selected="true"]{background:linear-gradient(180deg,var(--acc-light),var(--blue));color:var(--on-acc)!important;box-shadow:0 0 14px rgba(var(--acc-rgb),.55)}
  .top nav.tabs .tab-ind{display:none!important}
  .top nav.tabs .tab.admin{color:var(--gold)}
  .top nav.tabs .tab.admin[aria-selected="true"]{background:linear-gradient(180deg,#FFE27A,#FFB800);color:#1a1000!important}
}
/* result submit confirmation */
.sub-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(var(--acc-rgb),.6);background:rgba(var(--acc-rgb),.1)}
.sub-confirm .leave-note{flex-basis:100%;color:#fff}

/* Searching bar: open the queue, or leave it */
.q-live-item{display:flex;align-items:center;gap:8px;cursor:default;padding:6px 12px}
.q-live-item:hover{background:none}
.ql-go{appearance:none;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;display:flex;align-items:center;gap:10px;cursor:pointer;flex:1 1 auto;justify-content:center;min-width:0;padding:2px 0}
.ql-go:hover .ql-w{color:#fff}
.ql-leave,.ql-yes,.ql-no{appearance:none;cursor:pointer;font:800 11.5px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:7px 11px;border:1px solid rgba(255,90,90,.75);background:rgba(255,60,60,.14);color:#FF8A8A;flex:none}
.ql-leave:hover{background:rgba(255,60,60,.3);color:#fff}
.ql-ask{display:flex;align-items:center;gap:6px;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#FFD27A;flex:none}
.ql-yes{background:#E0303F;border-color:#E0303F;color:#fff}
.ql-no{border-color:var(--line-2);background:var(--input);color:var(--ink)}
@media (max-width:640px){.q-live-item{padding:6px 10px 6px 16px}.ql-go{justify-content:flex-start;gap:8px}.ql-leave,.ql-yes,.ql-no{padding:7px 9px;font-size:11px}}

/* Less text: no explanation lines under headings (the account page keeps its sign-up help) */
.sec-head:not(.keep) .sub{display:none}
.hero.slim{padding:18px 0 10px!important;min-height:0!important}
.hero.slim .wrap{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap}
.hero.slim .game-title{margin:0!important;font-size:clamp(24px,4vw,36px)}
.hero.slim .season-chip,.hero.slim .season-bar{margin:0!important}
.hero.slim .wrap{padding-block:14px 12px!important;display:flex!important}
.hero.slim{padding:0!important}
/* score next to the name in the Solo Queue waiting list */
.q-score{flex:none;font:800 13px/1 var(--display);letter-spacing:.03em;color:#fff;padding:4px 7px;border:1px solid rgba(var(--acc-rgb),.55);background:rgba(var(--acc-rgb),.16);border-radius:4px;font-variant-numeric:tabular-nums}

/* chicken: left a match in the last 24 hours */
.chick{display:inline-flex;align-items:center;gap:3px;flex:none;padding:1px 6px 1px 3px;border-radius:999px;vertical-align:middle;white-space:nowrap;
  font:800 11px/1.2 var(--display);letter-spacing:.04em;color:#FFE9C7;background:linear-gradient(180deg,#3a2a12,#1a1208);border:1px solid rgba(255,180,90,.55);box-shadow:0 0 8px rgba(255,160,60,.2)}
.chick svg{width:16px;height:16px;flex:none;transform-origin:50% 90%;animation:chickbob 1.8s ease-in-out infinite}
.chick.lg{font-size:12.5px;padding:2px 9px 2px 4px}
.chick.lg svg{width:19px;height:19px}
.lobby-team li .nt>.chick{padding:1px 5px 1px 2px}
.q-slot .chick{padding:0 5px 0 2px}
@keyframes chickbob{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}}
@media (prefers-reduced-motion:reduce){.chick svg{animation:none}}
.leave-pick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.leave-pick .leave-note{flex-basis:100%}

/* Lobby player rows: full name always visible; streak/chicken chips under the name; rank + points on the right */
.lobby-team li .lp{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;column-gap:8px;row-gap:3px;width:100%}
.lobby-team li .lp>.lp-flag{grid-column:1;grid-row:1}
.lobby-team li .lp>.lp-name,.lobby-team li .lp>.nt{grid-column:2;grid-row:1}
.lobby-team li .lp>.tier{grid-column:3;grid-row:1}
.lobby-team li .lp>.dl{grid-column:4;grid-row:1;justify-self:end}
.lobby-team li .lp>*:not(.lp-flag):not(.lp-name):not(.nt):not(.tier):not(.dl){grid-column:2/-1;grid-row:2;justify-self:start}
.lobby-team li .lp>.kick{grid-column:4;grid-row:2;justify-self:end}
.lobby-team li .lp .nt{flex-wrap:wrap;row-gap:3px;min-width:0}
.lobby-team li .lp .nt>.nt-n,.lobby-team li .lp .lp-name{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;min-width:0}
.lobby-team li .lp .nt>.nt-n{flex:1 0 100%}
.lobby-team li .lp .nt>.fire,.lobby-team li .lp .nt>.egg,.lobby-team li .lp .nt>.chick{font-size:10.5px}
.lobby-team li .lp>.lp-flag{align-self:start;margin-top:2px}
.lobby-team li .lp{grid-template-columns:auto minmax(0,1fr) auto auto auto}
.lobby-team li .lp>.kick{grid-column:5!important;grid-row:1!important;justify-self:end!important;align-self:center}

/* Leave / cancel buttons: clear red boxes */
.btn.red-box{background:rgba(224,48,63,.16);border:1.5px solid #E0303F;color:#FF7A85;font-weight:800;letter-spacing:.08em;padding:9px 14px;clip-path:none;border-radius:4px}
.btn.red-box:hover{background:#E0303F;color:#fff}
.btn.red-box.ghost{background:transparent;color:#FF9AA2}
.lobby-foot .cv,.lobby-foot .rep{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ql-ask{flex-wrap:wrap;justify-content:flex-end;text-align:right}
@media (max-width:640px){.q-live-item{flex-wrap:wrap}.ql-ask{flex-basis:100%;justify-content:space-between;text-align:left;font-size:11px}}
.rank-box .rule-body{padding-top:4px}
.rank-box .rank-strip{margin:0}
/* clan rank emblems */
.lobby-team h4 .tier.ico,.team-top .tier.ico{display:inline-flex;vertical-align:middle;padding:0!important;font-size:0!important;background:none!important;border:0!important}
.lobby-team h4 .tier.ico .emb{width:28px!important;height:28px!important;margin:0!important}
.team-top .tier.ico .emb{width:30px!important;height:30px!important;margin:0!important}
.pf-clans .tier{font-size:9px}
.pf-clans .tier .emb{width:28px!important;height:28px!important}

/* ---- Supervisors tab ---- */
.sup-seg{margin-bottom:16px}
.ar-g{flex:none;font:800 10.5px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px;background:rgba(var(--acc-rgb),.2);border:1px solid rgba(var(--acc-rgb),.5);color:#fff}
.archive{display:grid;gap:8px}
.ar-row{border:1px solid var(--line);background:rgba(255,255,255,.02)}
.ar-row>summary{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;cursor:pointer}
.ar-row>summary::-webkit-details-marker{display:none}
.ar-row[open]>summary{border-bottom:1px solid var(--line);background:rgba(var(--acc-rgb),.06)}
.ar-w{font-size:13.5px;color:var(--body-text)}
.ar-t{margin-left:auto;font-size:12.5px;color:var(--muted)}
.ar-teams{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px}
.ar-team{border-left:3px solid var(--blue);padding-left:10px}
.ar-team.t1{border-left-color:var(--team-b,#3fa9f5)}
.ar-team>b{display:block;font:800 13px/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.ar-team ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ar-team li{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13.5px}
.ar-n{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-weight:600}
.ar-more{margin:6px 0}
.ar-more summary{cursor:pointer;font-size:13px;color:var(--acc-text)}
.ban-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ban-list li{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;border:1px solid var(--line);padding:8px 10px}
.ban-list li .btn{margin-left:auto}
.report .r-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
/* admin controls inside a game */
.adm-add{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 16px 12px;padding:10px 12px;border:1px dashed rgba(255,197,61,.5);background:rgba(255,197,61,.05)}
.adm-add .inp{width:auto;max-width:200px;padding:8px 10px;font-size:14px}
.lobby-team li .lp>.kick.sw{grid-column:4!important;grid-row:1!important;color:#7fd3ff}
.lobby-team li .lp{grid-template-columns:auto minmax(0,1fr) auto auto auto auto}
.lobby-team li .lp>.kick:not(.sw){grid-column:6!important}
.lobby-team li .lp>.dl{grid-column:5}
.sw-confirm{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px}
@media (max-width:640px){.ar-teams{grid-template-columns:1fr}.ar-t{margin-left:0;width:100%}.adm-add{margin:0 10px 12px}.adm-add .inp{max-width:none;flex:1 1 140px}}
/* admin buttons go on the second line so names keep their room */
.lobby-team li .lp{grid-template-columns:auto minmax(0,1fr) auto auto!important}
.lobby-team li .lp>.dl{grid-column:4!important;grid-row:1!important}
.lobby-team li .lp>.kick.sw{grid-column:3!important;grid-row:2!important;justify-self:center}
.lobby-team li .lp>.kick:not(.sw){grid-column:4!important;grid-row:2!important;justify-self:end}
.lobby-team li .lp>.sw-confirm{grid-column:1/-1!important;grid-row:3!important}
/* staff role in player profiles */
.role-tag{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;padding:5px 10px;font:800 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;border-radius:3px}
.role-tag.admin{color:#1a1000;background:linear-gradient(180deg,#FFE27A,#FFB800);box-shadow:0 0 12px rgba(255,184,0,.4)}
.role-tag.sup{color:#fff;background:linear-gradient(180deg,#4FB4FF,#1C6FD1);box-shadow:0 0 12px rgba(60,150,255,.4)}
.pf-head>div:last-child{display:flex;flex-direction:column;align-items:flex-start}
.swap-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:12px 14px;border:1px solid var(--line,#3a2f25);border-radius:10px;background:rgba(255,255,255,.03)}
.swap-box b{font-size:.85rem;letter-spacing:.06em}
.swap-box.on{border-color:rgba(76,201,120,.55);background:rgba(76,201,120,.08)}
.swap-box.on b{color:#4cc978}
.swap-box span{flex:1 1 260px;font-size:.85rem;opacity:.85}
.season-chip .swap-note{font-size:.78rem;opacity:.8;font-style:italic}
/* Last season's top 3 */
.podium{margin:0 0 14px;padding:12px 14px;border:1px solid rgba(255,196,64,.45);border-radius:12px;background:linear-gradient(135deg,rgba(255,196,64,.12),rgba(255,255,255,.02))}
.pd-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:8px}
.pd-h b{color:#ffc440;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}
.pd-h span{font-size:.78rem;opacity:.75}
.pd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.pd-list li{display:grid;grid-template-columns:34px 40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:rgba(0,0,0,.25);min-width:0}
.pd-list li.pd1{border:1px solid rgba(255,196,64,.7);background:linear-gradient(90deg,rgba(255,196,64,.22),rgba(0,0,0,.25));padding:12px}
.pd-list li.pd2{border:1px solid rgba(200,210,225,.45);margin:0 8px}
.pd-list li.pd3{border:1px solid rgba(205,127,50,.5);margin:0 16px}
.pd-m{font-size:1.5rem;line-height:1;text-align:center}
.pd1 .pd-m{font-size:1.9rem}
.pd-n{display:flex;align-items:center;gap:6px;min-width:0;font-weight:700;overflow:hidden}
.pd1 .pd-n{font-size:1.1rem}
.pd-n .pl,.pd-n b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-s{font-size:.78rem;opacity:.8;text-align:right;white-space:nowrap}
@media (max-width:520px){.pd-list li{gap:8px;padding:8px 10px}.pd-list li.pd2{margin:0 4px}.pd-list li.pd3{margin:0 8px}}
/* League game settings */
.set-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.set-grp{padding:10px 12px;border:1px solid var(--line,#3a2f25);border-radius:10px;background:rgba(0,0,0,.2)}
.set-grp h4{margin:0 0 6px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}
.set-grp dl{margin:0}
.set-grp dl>div{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.06)}
.set-grp dl>div:first-child{border-top:0}
.set-grp dt{opacity:.8}
.set-grp dd{margin:0;font-weight:700}
.set-note{margin:10px 0 0;font-size:.8rem;opacity:.7}
/* Leaderboard: "Your position · Show me" box — orange in BO2 / League, blue in BO1 */
:root{--me-c:#FF8A1F;--me-rgb:255,138,31}
:root[data-game="bo1"]{--me-c:#2E8BFF;--me-rgb:46,139,255}
.lb-me-box{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:2px solid var(--me-c);border-radius:10px;background:rgba(var(--me-rgb),.16);color:#fff;font:inherit;cursor:pointer;white-space:nowrap}
.lb-me-box span{font-size:.8rem;opacity:.85}
.lb-me-box b{font-size:1.1rem;color:var(--me-c)}
.lb-me-box em{font-style:normal;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:7px;background:var(--me-c);color:#000}
.lb-me-box:hover{background:rgba(var(--me-rgb),.26)}
.lb tr.mine td{box-shadow:inset 0 0 0 9999px rgba(var(--me-rgb),.14)!important}
.lb tr.mine td:first-child{box-shadow:inset 4px 0 0 var(--me-c),inset 0 0 0 9999px rgba(var(--me-rgb),.14)!important}
/* Sign in / Sign up choice */
.auth-pick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px}
@media (max-width:520px){.auth-opt{padding:14px 12px}.auth-opt b{font-size:1rem}}
.auth-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px;border:1px solid var(--line-2,#555);border-radius:12px;background:var(--panel-2,#111);color:#fff;font:inherit;text-align:left;cursor:pointer}
.auth-opt b{font-size:1.15rem;text-transform:uppercase;letter-spacing:.04em}
.auth-opt span{font-size:.85rem;opacity:.75}
.auth-opt.new{border-color:rgba(var(--acc-rgb),.8);background:rgba(var(--acc-rgb),.14)}
.auth-opt:hover{border-color:rgba(var(--acc-rgb),1)}
/* Top switch: BO2 ⇄ BO1 in one tap */
.game-pill.swap{gap:6px;padding:5px 8px}
.game-pill.swap b{padding:3px 7px;font-size:12px;color:#000}
.game-pill.swap b.g-bo2{background:#FF8A1F}
.game-pill.swap b.g-bo1{background:#2E8BFF;color:#fff}
.game-pill.swap b.to{background:transparent!important;border:1.5px solid currentColor;padding:2px 6px}
.game-pill.swap b.to.g-bo1{color:#5AA6FF}
.game-pill.swap b.to.g-bo2{color:#FF9A3C}
.game-pill.swap:hover b.to.g-bo1{background:#2E8BFF!important;color:#fff;border-color:#2E8BFF}
.game-pill.swap:hover b.to.g-bo2{background:#FF8A1F!important;color:#000;border-color:#FF8A1F}
.game-pill.swap .sw-ic{font-style:normal;font-size:15px;color:var(--ink);line-height:1}
/* Top 3 box follows the game colour: orange BO2 / League, blue BO1 */
:root[data-game="bo1"] .podium{border-color:rgba(46,139,255,.6);background:linear-gradient(135deg,rgba(46,139,255,.14),rgba(255,255,255,.02))}
:root[data-game="bo1"] .pd-h b{color:#5AA6FF}
:root[data-game="bo2"] .podium{border-color:rgba(255,138,31,.6);background:linear-gradient(135deg,rgba(255,138,31,.14),rgba(255,255,255,.02))}
:root[data-game="bo2"] .pd-h b{color:#FF9A3C}
/* Logo */
.brand .brand-logo{height:34px;width:auto;flex:none;filter:drop-shadow(0 0 8px rgba(255,122,26,.45))}
@media (max-width:720px){.brand .brand-logo{height:30px}}
.pf-mine{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line,#333)}
/* Clan battle cards: full, clear player names (no cut-off) */
.lobby-team .b-roster ol{grid-template-columns:1fr!important}
@media (min-width:900px){.lobby-team .b-roster ol{grid-template-columns:1fr!important}}
.lobby-team .b-roster li{font-size:15px;padding:7px 0;min-width:0}
.lobby-team .b-roster li>span:first-child,.lobby-team .b-roster li .pl{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;word-break:break-word;min-width:0;color:var(--ink,#fff);font-weight:700;letter-spacing:.02em}
.lobby-team .b-roster li.lead{background:linear-gradient(90deg,rgba(255,196,64,.10),transparent)}
.lobby-team li .role .pl{color:var(--ink,#fff);font-weight:700;font-size:15px;white-space:normal;overflow-wrap:anywhere}
.lobby-team li:has(.role .pl)>span:first-child{flex:none}
/* ---- Championship ---- */
.ch-admin{margin-bottom:16px;border-color:rgba(255,196,64,.45)!important}
.ch-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:6px 0 14px;padding:14px 16px;border:1px solid rgba(var(--me-rgb),.55);border-radius:12px;background:linear-gradient(135deg,rgba(var(--me-rgb),.16),rgba(255,255,255,.02))}
.ch-head h3{margin:0;font-family:var(--display);font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.ch-fmt{font-size:.85rem;opacity:.8}
.ch-st{font:800 12px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:6px;border:1px solid currentColor}
.ch-st.signup{color:#3CE08A}.ch-st.groups,.ch-st.knockout{color:var(--me-c)}.ch-st.finished{color:#FFC440}
.ch-champion{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:14px 16px;border:1px solid rgba(255,196,64,.7);border-radius:12px;background:linear-gradient(90deg,rgba(255,196,64,.22),rgba(0,0,0,.2));font-size:1.6rem}
.ch-champion span{font:800 13px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#FFC440}
.ch-signup{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px}
.ch-signup .ok-line{margin:0}
.ch-sec-h{display:flex;align-items:baseline;gap:10px;margin:22px 0 10px}
.ch-sec-h b{font:800 16px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--me-c)}
.ch-sec-h span{font-size:.85rem;opacity:.7}
.ch-entries{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.ch-entry{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line,#333);border-radius:10px;background:rgba(0,0,0,.25);min-width:0}
.ch-entry .ch-n{font-size:.78rem;opacity:.7;margin-left:auto}
.ch-entry .ch-g{font:700 11px/1 var(--display);padding:3px 6px;border-radius:4px;background:rgba(var(--me-rgb),.2);color:var(--me-c)}
.ch-entry .kick{margin-left:4px}
.ch-clan{appearance:none;display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 4px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(255,255,255,.04);color:var(--ink,#fff);font:inherit;cursor:pointer;min-width:0}
.ch-clan b{font-family:var(--display);font-weight:800;letter-spacing:.05em;font-size:15px}
.ch-clan:hover{border-color:var(--me-c);background:rgba(var(--me-rgb),.14)}
.ch-clan .tier.ico .emb,.ch-clan .tier .emb{width:20px!important;height:20px!important;margin:0!important}
.ch-clan .tier{padding:0!important;font-size:0!important;background:none!important;border:0!important}
.ch-clan.win{border-color:#3CE08A;background:rgba(60,224,138,.12)}
.ch-clan.big b{font-size:22px}
.ch-tbd{display:inline-block;padding:4px 8px;font-size:.85rem;opacity:.55;font-style:italic}
.ch-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.ch-group h4{margin:0 0 8px;font:800 15px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}
.ch-table{width:100%;border-collapse:collapse;font-size:14px}
.ch-table th{font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;opacity:.7;text-align:center;padding:6px 4px}
.ch-table th:nth-child(2){text-align:left}
.ch-table td{padding:6px 4px;border-top:1px solid var(--line,#333);text-align:center}
.ch-table td:nth-child(2){text-align:left}
.ch-table tr.q td{background:rgba(60,224,138,.08)}
.ch-table tr.q td:first-child{box-shadow:inset 3px 0 0 #3CE08A}
.ch-games{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.ch-games li{padding:8px 0;border-top:1px dashed var(--line,#333)}
.ch-vs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ch-vs>span{font:800 12px/1 var(--display);opacity:.6}
.ch-vs em{margin-left:auto;font-style:normal;font-size:.8rem;opacity:.6}
.ch-vs em.done{opacity:1;color:#3CE08A;font-weight:700}
.ch-res{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.ch-bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;padding-bottom:8px}
.ch-round{display:flex;flex-direction:column;justify-content:space-around;gap:12px}
.ch-round h4{margin:0;font:800 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--me-c);text-align:center}
.ch-match{display:grid;gap:4px;padding:8px;border:1px solid var(--line,#333);border-radius:10px;background:rgba(0,0,0,.28)}
.ch-match.final{border-color:rgba(255,196,64,.7);box-shadow:0 0 18px rgba(255,196,64,.15)}
.ch-side{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 6px;border-radius:6px}
.ch-side.win{background:rgba(60,224,138,.12)}
.ch-side.out{opacity:.45}
.ch-tick{color:#3CE08A;font-weight:800}
.ch-bye{font-size:.75rem;opacity:.6;font-style:italic}
.ch-lead{margin:0;font-size:16px;color:#FFC440}
.ch-roster{margin:0;padding-left:22px;display:grid;gap:6px;font-size:15px}
.ch-roster li.lead::after{content:" \2605";color:#FFC440}
@media (max-width:640px){.ch-bracket{grid-auto-flow:row;grid-auto-columns:auto}.ch-groups{grid-template-columns:1fr}.ch-head h3{font-size:18px}}
.ch-entry .ch-n,.ch-entry .ch-g{white-space:nowrap}
@media (max-width:640px){.ch-entries{grid-template-columns:1fr 1fr;gap:6px}.ch-entry{padding:6px 8px;gap:6px;flex-wrap:wrap}.ch-entry .ch-n{margin-left:0;font-size:.72rem}}
.ch-entry .ch-clan{flex:none}
.ch-entries{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media (max-width:640px){.ch-entries{grid-template-columns:1fr 1fr}}
.ch-res{gap:6px}
.ch-res .ch-sc{width:54px;min-width:0;padding:6px 6px;text-align:center;font-weight:800;min-height:34px}
.ch-sc-l{font:800 12px/1 var(--display);letter-spacing:.05em;opacity:.8}
.ch-dash{font-weight:800;opacity:.6}
.ch-hint{font-size:.72rem;opacity:.55;font-style:italic}
.ch-ms{display:inline-flex;align-items:center;gap:4px;font:800 16px/1 var(--display)}
.ch-adj{color:#FFC440;font-weight:800;margin-left:2px}
.ch-adjrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line,#333);font-size:.8rem}
.ch-adjrow select{max-width:110px;min-height:34px;padding:4px 8px}
.ch-adjrow .ch-sc{width:64px;text-align:center;min-height:34px;padding:4px}
.ch-max{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.ch-max select{width:auto;min-height:38px}
.ch-cap{font:600 14px/1 var(--display);padding:8px 12px;border-radius:8px;background:rgba(var(--me-rgb),.15);color:var(--me-c)}
.ch-cap b{font-size:18px}
.ch-info{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px;font-size:15px;line-height:1.35}
.ch-info li{display:flex;align-items:flex-start;gap:9px}
.ch-info i{font-style:normal;width:20px;text-align:center;flex:none}
.ch-info b{color:#fff}
.ch-info em{font-style:normal;font-weight:800;font-size:13px;padding:2px 8px;border-radius:5px;margin-right:4px;white-space:nowrap}
.ch-info em.pw{background:rgba(60,224,138,.16);color:#3CE08A}
.ch-info em.pd{background:rgba(255,196,64,.16);color:#FFC440}
.ch-info em.pl0{background:rgba(255,107,107,.16);color:#FF6B6B}
.ch-head{align-items:flex-start}
/* Championship announcement */
.ch-banners{display:grid;gap:10px;margin:0 0 18px}
.ch-banner{appearance:none;display:flex;align-items:center;gap:12px;width:100%;margin:12px 0 0;padding:12px 14px;border:1.5px solid #FFC440;border-radius:12px;background:linear-gradient(100deg,rgba(255,196,64,.24),rgba(255,138,31,.10) 60%,rgba(0,0,0,.2));color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 0 22px rgba(255,196,64,.18);animation:chbGlow 2.4s ease-in-out infinite}
.ch-banners .ch-banner{margin:0}
.ch-banner.g-bo1{border-color:#5AA6FF;background:linear-gradient(100deg,rgba(46,139,255,.26),rgba(46,139,255,.08) 60%,rgba(0,0,0,.2));box-shadow:0 0 22px rgba(46,139,255,.2)}
.chb-ic{font-size:28px;line-height:1;flex:none}
.chb-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.chb-t em{font-style:normal;font:800 11px/1.2 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#FFC440}
.ch-banner.g-bo1 .chb-t em{color:#8CC3FF}
.chb-t b{font-size:16px;line-height:1.25}
.chb-t span{font-size:13px;opacity:.8}
.chb-go{flex:none;font:800 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;border-radius:8px;background:#FFC440;color:#000}
.ch-banner.g-bo1 .chb-go{background:#2E8BFF;color:#fff}
@keyframes chbGlow{0%,100%{box-shadow:0 0 14px rgba(255,196,64,.12)}50%{box-shadow:0 0 26px rgba(255,196,64,.32)}}
@media (prefers-reduced-motion:reduce){.ch-banner{animation:none}}
@media (max-width:520px){.chb-ic{font-size:22px}.chb-t b{font-size:15px}.chb-go{padding:8px 9px}}
.ch-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin:10px 0}
.ch-tg{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid}
.ch-tg span{font:700 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.ch-tg b{font:800 16px/1 var(--display);text-transform:uppercase;letter-spacing:.04em}
.ch-tg .btn{margin-left:auto}
.ch-tg.on{border-color:rgba(60,224,138,.6);background:rgba(60,224,138,.08)}.ch-tg.on b{color:#3CE08A}
.ch-tg.off{border-color:rgba(255,107,107,.55);background:rgba(255,107,107,.07)}.ch-tg.off b{color:#FF6B6B}
.ch-st.signup.soon{color:#FFC440}
.hero .ch-banners{margin:16px 0 0}
/* Big, clear queue buttons */
.btn.qjoin{width:100%;min-height:62px!important;justify-content:center;gap:12px;font-size:19px!important;letter-spacing:.08em;animation:qjPulse 2.2s ease-in-out infinite}
.btn.qjoin .qj-ic{flex:none}
.btn.qjoin span{white-space:normal}
.hero-actions .btn.qjoin{flex:1 1 100%}
.qjoin-top{margin:4px 0 14px}
@keyframes qjPulse{0%,100%{box-shadow:0 0 0 0 rgba(var(--acc-rgb),.0),0 6px 18px rgba(var(--acc-rgb),.25)}50%{box-shadow:0 0 0 6px rgba(var(--acc-rgb),.18),0 6px 26px rgba(var(--acc-rgb),.45)}}
@media (prefers-reduced-motion:reduce){.btn.qjoin{animation:none}}
@media (min-width:900px){.qjoin-top{display:none}}
/* Queue slots on wider screens: the name gets its own line so it's never hidden behind the chips */
@media (min-width:641px){
  .q-slot:not(.open) .g-row{display:flex!important;flex-wrap:wrap!important;align-items:center;justify-content:center;gap:4px 6px;min-width:0}
  .q-slot:not(.open) .g-row>.nt{display:contents}
  .q-slot:not(.open) .g-row .nt-n{flex:1 0 100%;text-align:center;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;font-weight:700;font-size:15px;max-width:none!important;cursor:pointer}
}
/* Co-leader */
.co-tag{display:inline-block;font:800 10px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:3px 6px;border-radius:4px;background:rgba(90,166,255,.2);color:#8CC3FF;vertical-align:middle}
.co-box{display:grid;gap:8px;margin:12px 0;padding:12px 14px;border:1px solid rgba(90,166,255,.45);border-radius:10px;background:rgba(46,139,255,.07)}
.co-box>div:first-child{display:grid;gap:3px}
.co-box b{font:800 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#8CC3FF}
.co-box span{font-size:14px;opacity:.85}
.co-box select{max-width:240px}
.mc-roster li.co{color:#8CC3FF}
.ch-co{color:#8CC3FF;font-size:14px}
/* Arabic rules */
.rules-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.lang-btn{appearance:none;flex:none;padding:10px 14px;border-radius:10px;border:1.5px solid rgba(var(--acc-rgb),.8);background:rgba(var(--acc-rgb),.14);color:#fff;font:700 15px/1 "Tajawal",var(--body,system-ui),sans-serif;cursor:pointer;white-space:nowrap}
.lang-btn:hover{background:rgba(var(--acc-rgb),.28)}
.ar-h{font-family:"Tajawal",system-ui,sans-serif;font-style:normal;font-weight:800}
.rules-ar,.rules-head .sub[lang=ar]{font-family:"Tajawal",system-ui,sans-serif}
.rules-ar .rule h3{font-family:"Tajawal",system-ui,sans-serif;font-style:normal;text-transform:none;letter-spacing:0;font-weight:800}
.rules-ar .rule-body{text-align:right}
.rules-ar .rule ol{padding-right:22px;padding-left:0}
.rules-ar li{line-height:1.8;font-size:16px}
.rules-ar .set-grp h4,.rules-ar .ban-grp h4{font-family:"Tajawal",system-ui,sans-serif;letter-spacing:0;text-transform:none;font-size:15px}
.rules-ar .ban-grp li{direction:rtl}
.rules-ar .set-grp dd{direction:rtl}
/* Result photos */
.ph-box{display:grid!important;gap:10px;width:100%}
.ph-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ph-pick:has(.ph-slot:only-of-type){grid-template-columns:120px}
.ph-slot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:16/10;border:2px dashed rgba(var(--acc-rgb),.6);border-radius:10px;background:rgba(var(--acc-rgb),.06);color:var(--ink,#fff);cursor:pointer;overflow:hidden}
.ph-slot span{font-size:22px;line-height:1;font-weight:800;color:rgba(var(--acc-rgb),1)}
.ph-slot small{font-size:11px;opacity:.8}
.ph-slot.full{border-style:solid;border-color:#3CE08A;cursor:default}
.ph-slot img{width:100%;height:100%;object-fit:cover;display:block}
.ph-x{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.75);color:#fff;font-size:12px;cursor:pointer}
.ph-count{font:700 13px/1 var(--display);letter-spacing:.04em;color:#FFC440}
.ph-count.ok{color:#3CE08A}
.ph-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ph-up{min-height:46px;font-size:16px}
.ph-up[disabled]{opacity:.45}
.ph-lbl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8}
.ph-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0;width:100%}
.ph-strip>span{font:700 12px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;opacity:.8;margin-right:4px}
.ph-th{appearance:none;padding:0;border:1px solid var(--line,#333);border-radius:6px;overflow:hidden;width:64px;height:40px;cursor:zoom-in;background:#000}
.ph-th img{width:100%;height:100%;object-fit:cover;display:block}
.ph-lb{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
.ph-lb img{max-width:100%;max-height:100%;border-radius:8px}
@media (max-width:520px){.ph-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ph-pick.one{grid-template-columns:150px}
/* ---- Language button + Arabic (right-to-left) ---- */
.lang-top{appearance:none;flex:none;min-width:40px;height:40px;padding:0 10px;border-radius:10px;border:1.5px solid rgba(var(--acc-rgb),.7);background:rgba(var(--acc-rgb),.12);color:#fff;font:800 16px/1 "Tajawal",var(--display),sans-serif;cursor:pointer}
.lang-top:hover{background:rgba(var(--acc-rgb),.28)}
html[lang=ar] body,html[lang=ar] .btn,html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] .tab,html[lang=ar] .seg-b,html[lang=ar] .sub,html[lang=ar] .pill,html[lang=ar] small,html[lang=ar] .lobby-label,html[lang=ar] .season-chip,html[lang=ar] .game-title,html[lang=ar] .gc-name,html[lang=ar] .gc-kicker,html[lang=ar] label,html[lang=ar] .inp,html[lang=ar] .toast,html[lang=ar] .tier,html[lang=ar] .pd-h b,html[lang=ar] .ch-sec-h b,html[lang=ar] .ch-st,html[lang=ar] .chb-t em,html[lang=ar] .chb-go,html[lang=ar] .eyebrow,html[lang=ar] .lh-st,html[lang=ar] .win-tag,html[lang=ar] .claim,html[lang=ar] .pending{font-family:"Tajawal",system-ui,sans-serif!important;letter-spacing:0!important;font-style:normal!important}
html[lang=ar] .btn,html[lang=ar] .tab,html[lang=ar] .seg-b,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] .tier,html[lang=ar] .lobby-label{text-transform:none!important}
html[lang=ar] .mono,html[lang=ar] .pl,html[lang=ar] .nt-n,html[lang=ar] .lb-clan{direction:ltr;unicode-bidi:isolate}
html[lang=ar] h1.cup,html[lang=ar] .brand span{direction:ltr}
html[lang=ar] .back-btn svg,html[lang=ar] .ch-banner .chb-go{transform:none}
html[lang=ar] .back-btn svg{transform:scaleX(-1)}
html[lang=ar] .rule ol,html[lang=ar] .mc-roster,html[lang=ar] .ch-roster{padding-right:22px;padding-left:0}
html[lang=ar] .lobby-team{border-left:0!important;border-right:4px solid var(--tc,currentColor)}
.ql-max{font-size:11px;opacity:.6;margin-left:3px;font-weight:600}
/* phone: only the big Join button under the player count */
@media (max-width:899px){.qjoin-bottom{display:none!important}.hero-actions:has(>.qjoin-bottom:only-child){display:none}}
/* clan tag: one line, upright, readable */
.team-name.mono{font-style:normal;font-weight:800;font-size:22px;letter-spacing:.06em;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;flex:0 0 auto;color:#fff}
details.team>summary.team-top{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;column-gap:10px;row-gap:6px}
details.team>summary.team-top>.team-name{grid-column:1;grid-row:1}
details.team>summary.team-top>.tier{grid-column:2;grid-row:1}
details.team>summary.team-top>.lobby-tick{grid-column:4;grid-row:1/3;margin:0}
details.team>summary.team-top>.pill{grid-column:1;grid-row:2;justify-self:start}
details.team>summary.team-top>.t-count{grid-column:2/4;grid-row:2;white-space:nowrap}
.past-seasons details.team>summary.team-top{display:flex}
/* ☰ menu (top-left) */
.menu-wrap{position:relative;flex:none}
.menu-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid var(--line-2);background:rgba(var(--d2),.9);color:var(--ink);cursor:pointer}
.menu-btn:hover,.menu-btn.on{border-color:var(--amber);color:#fff}
.menu-btn.on{background:var(--amber);color:#111}
.menu-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:260px;background:#14100c;border:1px solid var(--line-2);box-shadow:0 18px 40px rgba(0,0,0,.6);padding:6px;display:flex;flex-direction:column;gap:4px;animation:mpop .14s ease-out}
:root[data-game="bo1"] .menu-pop{background:#0c1118}
@keyframes mpop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.menu-pop button{appearance:none;display:flex;align-items:center;gap:12px;width:100%;text-align:start;padding:11px 12px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;font:inherit}
.menu-pop button:hover{background:rgba(255,255,255,.05);border-color:var(--line-2)}
.mi-ic{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border:1px solid var(--line-2);color:var(--amber)}
.mi-ic.rep{color:#ff5a5a}
.mi-t{display:flex;flex-direction:column;gap:2px;line-height:1.2}
.mi-t b{font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:14px;color:#fff}
.mi-t small{color:var(--muted);font-size:12.5px}
html[dir=rtl] .menu-pop{left:auto;right:0}
@media (max-width:640px){.menu-btn{width:36px;height:34px}.menu-pop{min-width:240px}}
/* Report a problem box */
.rep-sheet{max-width:560px}
.rep-head{display:flex;gap:12px;align-items:flex-start;margin:0 40px 14px 0}
html[dir=rtl] .rep-head{margin:0 40px 14px 0}
.rep-head h3{margin:0 0 4px;font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:20px}
.rep-ic{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;background:rgba(255,90,90,.12);border:1px solid rgba(255,90,90,.45);color:#ff6b6b}
.rep-form{display:flex;flex-direction:column;gap:12px}
.rep-form .f{margin:0}
.rep-form small{color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}
.rep-form textarea{width:100%;min-height:96px;resize:vertical}
.rep-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:520px){.rep-row{grid-template-columns:1fr}}
.rep-ph>span{display:block;margin-bottom:6px}
.rep-mine{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}
.rep-mine h4{margin:0 0 10px;font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--muted)}
.rep-item{border:1px solid var(--line);padding:10px 12px;margin-bottom:8px;background:rgba(255,255,255,.02)}
.ri-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.ri-g{color:var(--muted)}
.ri-st{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border:1px solid}
.ri-st.open{color:#ffc44d;border-color:rgba(255,196,77,.5)}
.ri-st.resolved{color:#4ade80;border-color:rgba(74,222,128,.5)}
.ri-t{margin-inline-start:auto;color:var(--muted);font-size:12px}
.ri-d{margin-top:6px;font-size:13.5px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.ri-reply{margin-top:8px;padding:8px 10px;border-inline-start:3px solid #4ade80;background:rgba(74,222,128,.07);font-size:13px}
.rep-row{grid-template-columns:1.5fr 1fr}.rep-form .f small{display:inline;margin-inline-start:4px}
.rep-ph .ph-pick,.rep-ph .ph-pick:has(.ph-slot:only-of-type){grid-template-columns:repeat(3,minmax(0,1fr));max-width:420px}
/* game codes + archive search */
.gcode{display:inline-flex;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:2px 7px;border:1px solid rgba(var(--acc-rgb),.55);color:rgb(var(--acc-rgb));background:rgba(var(--acc-rgb),.08);white-space:nowrap;direction:ltr;unicode-bidi:isolate;user-select:all}
.arc-search{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.arc-search input.inp{flex:1 1 220px;width:auto;min-width:0;text-transform:uppercase}
.arc-search input::placeholder{text-transform:none}
.season-chip .left.ending{color:#ffc44d}
/* locked country */
.ctry-lock{display:grid;gap:6px}
.ctry-lock>span{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ctry-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--line-2);background:var(--input);color:var(--ink);font-size:15px}
.ctry-box small{flex-basis:100%;color:var(--muted);font-size:12.5px}
label.f small.sub{text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:400}
/* last season's top 10: places 4-10 are smaller rows under the podium */
.pd-list li.pdx{padding:6px 12px;margin:0 22px;background:rgba(0,0,0,.18)}
.pd-list li.pdx .pd-n{font-size:.95rem}
.pd-list li.pdx .pd-s{font-size:.85rem}
.pd-no{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line-2);font-size:13px;font-weight:800;color:var(--muted)}
@media (max-width:520px){.pd-list li.pdx{margin:0 10px}}
/* top bar: ☰ + language on the left, GAMER ZONE in the middle, game switch + your ID on the right */
.top.centered .wrap{position:relative}
.top.centered .brand{position:absolute;left:50%;top:0;height:64px;transform:translateX(-50%);z-index:1}
.top.centered span.tabs{display:none}
.top.centered .lang-top{margin:0}
.top.centered .game-pill{margin-left:0!important;margin-inline-start:auto!important}
.top.centered .me-chip,.top.centered .top-cta{margin-left:0!important;margin-inline-start:auto!important}
.top.centered .game-pill~.me-chip,.top.centered .game-pill~.top-cta{margin-inline-start:0!important}
.top.in-game nav.tabs{order:3;flex-basis:100%;margin-left:0;margin-inline-start:0}
.mi-ic.lang{font-family:var(--display);font-weight:800;font-size:15px;color:var(--ink)}
@media (max-width:1050px){.top.in-game .brand span{display:none}}
@media (max-width:640px){
  .top.centered .brand{height:54px;font-size:15px;gap:6px}
  .top.centered .brand svg{width:22px;height:22px}
  .top.centered .lang-top{min-width:36px;height:36px;padding:0 8px}
  .top.centered .me-chip{max-width:28vw}
  .top.in-game .me-chip{padding:3px}
  .top.in-game .me-chip .mono{display:none}
  .top.centered .back-btn~.brand span{display:none}
}
@media (max-width:380px){.top.centered .brand span{display:none}}
/* last season's winner */
.podium.winner .pd-congrats{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pd-cup{font-size:2rem;line-height:1;filter:drop-shadow(0 0 10px rgba(255,196,64,.55))}
.pd-congrats b{display:block;font-family:var(--display);font-weight:800;letter-spacing:.04em;font-size:1.05rem;color:#ffd166}
.pd-congrats span{font-size:12.5px;color:var(--muted)}
/* leaderboard: pick a season */
.lb-seasons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.lbs{appearance:none;padding:7px 14px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--ink);font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.lbs:hover{border-color:rgba(var(--acc-rgb),.6)}
.lbs.on{background:rgb(var(--acc-rgb));border-color:rgb(var(--acc-rgb));color:var(--on-acc)}
@media (min-width:641px){.top.in-game .wrap{padding-top:14px}}
.pd-congrats .pd-cup{font-size:2rem;color:inherit}
/* player rows in a found game: one clean line per player */
.lobby-team li.p2{display:block;padding:7px 0!important;border-bottom:1px solid rgba(var(--ln),.7)}
.lobby-team li.p2:last-child{border-bottom:0}
.p2-row{display:flex;align-items:center;gap:8px;min-width:0}
.p2-row .lp-flag{display:inline-flex;flex:none;line-height:0;width:20px}
.p2-row .lp-flag:empty{display:none}
.p2-nm{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono);font-weight:700;font-size:14px;color:var(--ink);cursor:pointer}
.p2-nm.l{font-size:12.5px}
.p2-nm.xl{font-size:11.5px;letter-spacing:-.02em}
.p2-nm:hover{text-decoration:underline}
.p2-cap{color:var(--gold);margin-inline-start:5px;font-size:12px}
.p2-row .tier.ico{flex:none}
.p2-row .tier.ico .emb{width:26px!important;height:26px!important;margin:0!important}
.p2-row .dl{flex:none;font-family:var(--display);font-weight:800;font-size:12.5px;padding:1px 7px;border-radius:3px}
.p2-row .dl.up{color:#3CE08A;background:rgba(60,224,138,.12)}
.p2-row .dl.down{color:#FF6B6B;background:rgba(255,107,107,.12)}
.p2-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;padding-inline-start:28px}
.p2-meta .ra{margin:0;display:inline-flex}
.p2-meta .fire,.p2-meta .egg,.p2-meta .chick{margin:0;font-size:10.5px}
.lobby-team li.p2.left .p2-row{opacity:.55}
@media (max-width:640px){.p2-nm{font-size:13.5px}.p2-nm.l{font-size:12px}.p2-nm.xl{font-size:11px}.p2-row .tier.ico .emb{width:22px!important;height:22px!important}}
/* bigger lobby chat */
.chat-log{max-height:340px!important;min-height:140px}
.chat-log .msg-body,.chat-log{font-size:14px}
.chat-in input,.chat-form input{min-height:46px}
@media (max-width:640px){.chat-log{max-height:300px!important;min-height:120px}}
/* admin: result decisions archive */
.decisions{display:grid;gap:10px}
.dec{border:1px solid var(--line);padding:12px;background:rgba(255,255,255,.02);display:grid;gap:8px}
.dec-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dec-top>b{font-family:var(--display);letter-spacing:.06em}
.dec-now{margin-inline-start:auto;font-size:13px;color:var(--muted)}
.dec-now b{color:var(--ink)}
.dec-hist{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px;color:var(--muted)}
.dec-hist b{color:var(--ink)}
.dec-role{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffc44d}
/* your live game: pinned open at the top */
details.lobby.pinned{border-color:rgba(var(--acc-rgb),.75)!important;box-shadow:0 0 0 1px rgba(var(--acc-rgb),.35),0 10px 30px rgba(0,0,0,.35)}
details.lobby.pinned>summary{cursor:default}
details.lobby.pinned>summary .lobby-tick{display:none}
.auto-note{display:block;flex-basis:100%;font-size:12.5px;color:#ffc44d;margin-top:2px}
/* archive: admins' game log */
.arc-admin{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:10px;display:grid;gap:8px}
.arc-log-h{font-family:var(--display);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#ffc44d}
.arc-log{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px}
.arc-log li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.arc-log .ev{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line-2);color:var(--ink)}
.arc-log .ev-reported,.arc-log .ev-disputed{color:#ff8080;border-color:rgba(255,100,100,.5)}
.arc-log .ev-cancelled{color:var(--muted)}
.arc-log .ev-confirmed,.arc-log .ev-auto,.arc-log .ev-agreed{color:#4ade80;border-color:rgba(74,222,128,.45)}
.arc-log .ev-changed{color:#ffc44d;border-color:rgba(255,196,77,.5)}
.arc-log .ev-w{color:var(--muted);margin-inline-start:auto;font-size:12px}
.arc-admin{padding:10px 14px 4px}
.sup-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.sup-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
/* clan flags */
.cflag{display:inline-flex;align-items:center;margin-inline-end:6px;vertical-align:-2px;line-height:0}
.cflag .flg{width:20px;height:15px}
.team-name .cflag .flg{width:24px;height:18px}
/* admin clan editor */
.ae-clan{margin-top:12px;border-top:1px dashed var(--line-2);padding-top:12px;display:grid;gap:10px}
.ae-h{font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffc44d}
.ae-clan textarea{width:100%;font-size:14px}
/* profile: run away count */
.pf-ra{display:flex;align-items:center;gap:8px;margin:10px 0 4px;padding:8px 12px;border:1px solid var(--line);background:rgba(255,255,255,.02);font-size:13.5px;color:var(--muted)}
.pf-ra b{font-family:var(--display);font-size:18px;color:var(--ink)}
.pf-ra.has{border-color:rgba(255,100,100,.45)}
.pf-ra.has b{color:#ff7a7a}
/* banned players in a clan battle */
.ban-warn{margin:8px 0 0;padding:7px 10px;border:1px solid rgba(255,90,90,.5);background:rgba(255,70,70,.08);color:#ff9a9a;font-size:12.5px;line-height:1.4}
.ban-in{display:inline-block;margin-inline-start:6px;padding:1px 6px;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:rgba(220,50,50,.85);vertical-align:1px}
/* profile: game history */
.pf-games{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.pf-games>li{border:1px solid var(--line);background:rgba(255,255,255,.02);padding:7px 10px}
.pg-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px}
.pg-mode{color:var(--ink);min-width:0}
.pg-res{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line-2)}
.pg-res.won{color:#4ade80;border-color:rgba(74,222,128,.5)}
.pg-res.lost{color:#ff7a7a;border-color:rgba(255,100,100,.5)}
.pg-res.open{color:#ffc44d;border-color:rgba(255,196,77,.5)}
.pg-res.cx{color:var(--muted)}
.pg-row .dl{font-family:var(--display);font-weight:800;font-size:12px;padding:1px 6px}
.pg-row .dl.up{color:#3CE08A;background:rgba(60,224,138,.12)}
.pg-row .dl.down{color:#FF6B6B;background:rgba(255,107,107,.12)}
.pg-t{margin-inline-start:auto;color:var(--muted);font-size:12px}
/* staff: read-only lobby chat */
.pg-chatlog{margin-top:8px;border:1px solid var(--line-2);background:rgba(0,0,0,.25);padding:8px 10px;display:grid;gap:4px;max-height:260px;overflow-y:auto;font-size:13px}
.pg-msg{display:flex;gap:8px;align-items:baseline}
.pg-msg b{font-family:var(--mono);flex:none}
.pg-msg b.t0{color:#ff9a3c}.pg-msg b.t1{color:#5fb8ff}
.pg-msg .msg-body{flex:1;min-width:0;overflow-wrap:anywhere}
.pg-mt{color:var(--muted);font-size:11px;flex:none}
.arc-chat{margin-top:10px;padding:0 14px}
/* manage players: clans */
.adm-clans{display:grid;gap:6px;margin:6px 0}
.adm-clan-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* admin: section menu */
.adm-nav{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:6px 0 20px}
.adm-nav-b{appearance:none;position:relative;display:flex;align-items:center;gap:12px;text-align:start;padding:12px 14px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--ink);cursor:pointer;font:inherit;min-height:66px}
.adm-nav-b:hover{border-color:rgba(var(--acc-rgb),.6);background:rgba(var(--acc-rgb),.06)}
.adm-nav-b.on{border-color:rgb(var(--acc-rgb));background:rgba(var(--acc-rgb),.14);box-shadow:inset 3px 0 0 rgb(var(--acc-rgb))}
.adm-nav-b.alert{border-color:rgba(255,90,90,.6)}
.an-ic{font-size:22px;line-height:1;flex:none;width:28px;text-align:center}
.an-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.an-t b{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13.5px}
.an-t small{color:var(--muted);font-size:12px;line-height:1.3}
.an-n{position:absolute;top:8px;inset-inline-end:8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#e5484d;color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.adm-sec-h{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:20px;margin:0 0 14px}
.adm-body{display:grid;gap:18px}
.adm-body>.panel{margin:0!important}
.panel.danger-zone{border-color:rgba(255,90,90,.45)}
.panel.danger-zone h3{color:#ff8a8a}
@media (max-width:640px){.adm-nav{grid-template-columns:1fr 1fr;gap:8px}.adm-nav-b{padding:10px;min-height:0;gap:8px}.an-t small{display:none}.an-ic{font-size:18px;width:22px}}
/* profile game history: open a game */
.pg-row[data-act]{cursor:pointer}
.pg-item.open{border-color:rgba(var(--acc-rgb),.6)}
.pg-tick{color:var(--muted);font-size:12px}
.pg-det{margin-top:8px;border-top:1px dashed var(--line-2);padding-top:8px;display:grid;gap:8px}
.pg-result{font-family:var(--display);font-weight:800;letter-spacing:.04em;font-size:13.5px;color:#ffd166}
.pg-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:start}
.pg-vs{align-self:center;font-family:var(--display);font-weight:800;color:var(--muted);font-size:12px}
.pg-team{border-inline-start:3px solid #ff9a3c;padding-inline-start:8px;min-width:0}
.pg-team.t1{border-color:#5fb8ff}
.pg-team.win>b::after{content:" 🏆"}
.pg-team>b{display:block;font-size:13px;margin-bottom:4px}
.pg-team ul{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:12.5px}
.pg-team li{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.pg-team .dl{font-family:var(--display);font-weight:800;font-size:11px;padding:0 5px}
.pg-team .dl.up{color:#3CE08A}.pg-team .dl.down{color:#FF6B6B}
.pg-staff{margin-top:6px;font-size:12.5px}
@media (max-width:520px){.pg-teams{grid-template-columns:1fr}.pg-vs{display:none}}
/* announcement banner */
.ev-banner{display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:14px 16px;border:1px solid rgba(120,170,255,.55);background:linear-gradient(100deg,rgba(60,110,255,.22),rgba(150,60,255,.16) 60%,rgba(0,0,0,.2));box-shadow:0 0 24px rgba(90,130,255,.18)}
.ev-banner.live{border-color:rgba(74,222,128,.6);background:linear-gradient(100deg,rgba(40,180,110,.22),rgba(60,110,255,.14) 60%,rgba(0,0,0,.2));box-shadow:0 0 24px rgba(74,222,128,.18)}
.ev-ic{font-size:28px;line-height:1;flex:none}
.ev-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ev-k{font-family:var(--display);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9ec1ff}
.ev-banner.live .ev-k{color:#4ade80}
.ev-t{font-family:var(--display);font-weight:800;font-style:italic;letter-spacing:.04em;text-transform:uppercase;font-size:22px;color:#fff;line-height:1.1}
.ev-dates{font-size:13px;color:#e7ecff}
.ev-x{font-size:13px;color:var(--muted)}
.ev-count{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:8px 10px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.25)}
.ev-count b{font-family:var(--display);font-size:22px;font-weight:800;color:#fff;line-height:1}
.ev-count span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:4px}
@media (max-width:560px){.ev-banner{flex-wrap:wrap;gap:10px}.ev-count{flex-direction:row;gap:6px;min-width:0;width:100%;padding:6px}.ev-count span{margin:0}.ev-t{font-size:19px}}
.ev-preview{margin-top:14px;border-top:1px dashed var(--line-2);padding-top:10px}
/* report cards: who decided */
.who-decs{display:grid;gap:4px;margin-top:6px;padding:8px 10px;border:1px solid rgba(255,196,77,.35);background:rgba(255,196,77,.06)}
.who-dec{font-size:13px;color:var(--muted)}
.who-dec b{color:var(--ink)}
.who-dec.done{color:#4ade80}
/* event prizes */
.ev-banner{flex-wrap:wrap}
.ev-prizes{flex-basis:100%;border-top:1px solid rgba(255,255,255,.14);padding-top:10px;margin-top:2px}
.ev-ptog{appearance:none;width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;color:var(--ink);cursor:pointer;font:inherit;padding:2px 0;text-align:start}
.ev-ptog span{font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:#ffd166}
.ev-ptog b{margin-inline-start:auto;font-family:var(--display);font-size:15px;color:#fff;background:linear-gradient(90deg,rgba(255,196,64,.28),rgba(255,196,64,.08));border:1px solid rgba(255,196,64,.55);padding:3px 10px}
.ev-ptog i{font-style:normal;color:var(--muted);font-size:12px}
.ev-pgrid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:10px}
.ev-pcard{border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.28);padding:10px 12px}
.ev-ph{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}
.ev-ph b{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:14px;color:#fff}
.ev-ph span{font-size:12px;color:var(--muted)}
.ev-pl{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.ev-pcard:last-child .ev-pl{grid-template-columns:1fr 1fr;column-gap:14px}
.ev-pl li{display:flex;align-items:center;gap:8px;padding:5px 8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);font-size:13px}
.ev-pl li.p1{border-color:rgba(255,196,64,.7);background:linear-gradient(90deg,rgba(255,196,64,.2),rgba(0,0,0,0))}
.ev-pl li.p2{border-color:rgba(200,210,225,.5)}
.ev-pl li.p3{border-color:rgba(205,127,50,.55)}
.ev-pos{width:26px;text-align:center;font-size:16px;flex:none;font-family:var(--display);font-weight:800;color:var(--muted)}
.ev-pl li:not(.p1):not(.p2):not(.p3) .ev-pos{font-size:12px}
.ev-pn{color:var(--muted)}
.ev-pl b{margin-inline-start:auto;font-family:var(--display);font-weight:800;color:#fff;white-space:nowrap}
.ev-pl li.p1 b{color:#ffd166;font-size:15px}
@media (max-width:760px){.ev-pgrid{grid-template-columns:1fr}}
@media (max-width:420px){.ev-pcard:last-child .ev-pl{grid-template-columns:1fr}}
/* event season switch + season chip during the event */
.ev-season{display:flex;align-items:center;gap:14px;margin:12px 0;padding:12px 14px;border:1px solid var(--line-2);background:rgba(255,255,255,.02)}
.ev-season.on{border-color:rgba(74,222,128,.55);background:rgba(74,222,128,.07)}
.ev-season>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ev-season b{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:13.5px}
.ev-season.on b{color:#4ade80}
.ev-season span{font-size:12.5px;color:var(--muted);line-height:1.45}
.season-chip.ev b{color:#9ec1ff}
.decide{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.cx-tag{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--line-2);color:var(--muted)}
@media (max-width:560px){.ev-season{flex-direction:column;align-items:flex-start}}
.season-chip.pre b{color:#c4a7ff}

/* Ranks: always shown, no toggle */
.rank-box.flat{padding:18px 0 4px}
.rank-box.flat>h3{padding:0 22px;margin-bottom:10px}

/* League party (4 vs 4): invite a teammate before searching */
.party-box{display:grid;gap:10px;padding:14px;margin:0 0 4px;border:1px solid rgba(46,229,157,.4);background:linear-gradient(180deg,rgba(46,229,157,.08),rgba(46,229,157,.02))}
.party-box .pb-h{font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:#2EE59D}
.party-box .pb-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.party-box .pb-chip{display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border:1px solid var(--line-2);background:rgba(0,0,0,.25);font-weight:700;font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.party-box .pb-chip.me{border-color:#2EE59D}
.party-box .pb-plus{color:#2EE59D;font-weight:800}
.party-box .pb-inv{display:flex;gap:8px;flex-wrap:wrap}
.party-box .pb-inv .inp{flex:1;min-width:150px}
.party-box .hero-actions{margin-top:0}
.who .pb-with{color:#2EE59D;font-weight:700}
.party-pop{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:90;display:grid;gap:10px;width:min(560px,calc(100% - 32px))}
.party-pop .pp-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:2px solid #2EE59D;background:linear-gradient(90deg,rgba(14,40,30,.97),rgba(18,10,14,.97));box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 22px rgba(46,229,157,.35);animation:gz-pulse 1.6s ease-in-out infinite}
.party-pop .pp-ic{font-size:28px;line-height:1}
.party-pop .pp-txt{flex:1;min-width:190px;display:grid;gap:3px;font-size:15px;color:#fff}
.party-pop .pp-txt span{font-size:12.5px;color:var(--muted)}
.party-pop .pp-btns{display:flex;gap:8px}
@media (prefers-reduced-motion:reduce){.party-pop .pp-card{animation:none}}
@media (max-width:900px){.party-pop{bottom:84px}}

/* Ban evasion check (admins only) */
.ip-sus{border-color:rgba(255,176,32,.55)!important;background:linear-gradient(180deg,rgba(255,176,32,.08),rgba(255,176,32,.02))}
.ip-sus h3{color:var(--gold)}
.ip-list,.ip-seen{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.ip-list li,.ip-seen li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}
.ip-seen code{font-family:var(--mono);font-size:13px;color:#fff;background:rgba(0,0,0,.3);border:1px solid var(--line);padding:2px 6px;word-break:break-all}
.ip-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:52px}
.ip-m{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid}
.ip-m.dev{color:#FF4760;border-color:rgba(255,71,96,.6);background:rgba(255,71,96,.12)}
.ip-m.ip{color:var(--gold);border-color:rgba(255,197,61,.55);background:rgba(255,197,61,.1)}
.ip-lh{display:block;margin-top:12px;font-size:13px}
.ip-box{grid-column:1/-1}

/* Player tags, finder, League restricted note, season dates */
.ptag{display:inline-block;font-family:var(--mono);font-size:.78em;font-weight:700;letter-spacing:.04em;color:var(--gold);background:rgba(255,197,61,.1);border:1px solid rgba(255,197,61,.35);padding:1px 6px;vertical-align:middle;white-space:nowrap;font-style:normal;text-transform:none}
.ptag.sm{font-size:11px;margin-left:6px}
.find-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:10px 12px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(var(--d2),.9),rgba(var(--d3),.9))}
.find-box .fb-l{font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.find-box .inp{flex:1;min-width:160px;max-width:320px}
.ban-ok{margin:0 0 12px;padding:8px 12px;border:1px solid rgba(46,229,157,.45);background:rgba(46,229,157,.08);color:#CFFBE7;font-weight:700;font-size:14px}
.sd-box{display:grid;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);background:rgba(0,0,0,.18)}
.ptag.copy{cursor:pointer;font-size:.72em;line-height:1.5;display:inline-flex;align-items:center;gap:5px;transition:background-color .15s ease,border-color .15s ease}
.ptag.copy:hover,.ptag.copy:focus-visible{background:rgba(255,197,61,.2);border-color:var(--gold);outline:none}
.ptag.copy .cp-ic{font-size:.95em;opacity:.8}
.mc-admin .adm-box h4+.grid2,.mc-admin .adm-box .grid2{margin-top:6px}

/* Result pop-up: your team's turn to accept / change / report */
.res-pop{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:95;width:min(640px,calc(100% - 32px))}
.res-pop .rp-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px;border:2px solid var(--gold);background:linear-gradient(90deg,rgba(48,34,6,.97),rgba(18,10,14,.97));box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 22px rgba(255,197,61,.3);animation:gz-pulse 1.6s ease-in-out infinite}
.res-pop .rp-ic{font-size:26px;line-height:1}
.res-pop .rp-txt{flex:1;min-width:200px;display:grid;gap:3px;font-size:15px;color:#fff}
.res-pop .rp-txt span{font-size:12.5px;color:var(--muted)}
.res-pop .rp-btns{display:flex;gap:8px;flex-wrap:wrap}
.res-pop .confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (prefers-reduced-motion:reduce){.res-pop .rp-card{animation:none}}

/* League of War prizes, next to the announcement */
.ev-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;align-items:stretch;margin:14px 0 4px}
.ev-row .ev-banner{margin:0}
.pz-box{display:grid;gap:10px;padding:12px 14px;border:1px solid rgba(255,197,61,.55);background:linear-gradient(160deg,rgba(255,197,61,.16),rgba(255,140,0,.06) 55%,rgba(0,0,0,.25));box-shadow:0 0 24px rgba(255,197,61,.14)}
.pz-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.pz-h span{font-family:var(--display);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:13px;color:var(--gold)}
.pz-h b{font-family:var(--display);font-size:20px;color:#fff;white-space:nowrap}
.pz-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pz-k{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.pz-list{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.pz-list li{display:grid;grid-template-columns:22px 34px 1fr;align-items:center;gap:4px;font-size:13.5px;padding:3px 6px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.05)}
.pz-list li b{text-align:right;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.pz-list li b small{font-size:10px;color:var(--muted);font-weight:700}
.pz-list li.pz-1{border-color:rgba(255,197,61,.5);background:rgba(255,197,61,.12)}
.pz-list li.pz-1 b{color:var(--gold);font-size:15px}
.pz-m{text-align:center}
.pz-m i{font-style:normal;font-size:11px;font-weight:800;color:var(--muted);display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--line-2);border-radius:50%}
.pz-o{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase}
@media (max-width:820px){.ev-row{grid-template-columns:1fr}}
@media (max-width:380px){.pz-cols{grid-template-columns:1fr}}
/* Announcement colour per game: Black Ops 1 blue, Black Ops 2 orange */
.ev-row.ev-bo1 .ev-banner,.ev-row.ev-bo1 .ev-banner.live{border-color:rgba(70,150,255,.75);background:linear-gradient(100deg,rgba(30,110,255,.42),rgba(20,70,200,.26) 60%,rgba(0,10,40,.35));box-shadow:0 0 26px rgba(50,130,255,.28)}
.ev-row.ev-bo2 .ev-banner,.ev-row.ev-bo2 .ev-banner.live{border-color:rgba(255,140,30,.8);background:linear-gradient(100deg,rgba(255,120,0,.42),rgba(220,80,0,.26) 60%,rgba(40,12,0,.35));box-shadow:0 0 26px rgba(255,130,20,.28)}
.ev-row.ev-bo1 .ev-k{color:#9cc8ff}.ev-row.ev-bo2 .ev-k{color:#ffc58a}
.ev-row.ev-bo1 .ev-banner.live .ev-k,.ev-row.ev-bo2 .ev-banner.live .ev-k{color:#4ade80}
/* Prizes box follows the game colour too */
.ev-row.ev-bo1 .pz-box{border-color:rgba(70,150,255,.75);background:linear-gradient(160deg,rgba(30,110,255,.36),rgba(20,70,200,.18) 55%,rgba(0,10,40,.35));box-shadow:0 0 26px rgba(50,130,255,.24)}
.ev-row.ev-bo2 .pz-box{border-color:rgba(255,140,30,.8);background:linear-gradient(160deg,rgba(255,120,0,.36),rgba(220,80,0,.18) 55%,rgba(40,12,0,.35));box-shadow:0 0 26px rgba(255,130,20,.24)}
.ev-row.ev-bo1 .pz-h span{color:#9cc8ff}.ev-row.ev-bo2 .pz-h span{color:#ffd08a}
.ev-cd{font-variant-numeric:tabular-nums}
/* Home page: total prizes only */
.pz-box.pz-total{display:grid;place-content:center;justify-items:center;text-align:center;gap:4px;padding:16px}
.pz-t-k{font-family:var(--display);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:13px;color:var(--gold)}
.pz-t-v{font-family:var(--display);font-size:clamp(30px,5vw,42px);line-height:1.05;color:#fff;text-shadow:0 0 18px rgba(255,197,61,.35);white-space:nowrap}
.pz-t-v small{font-size:.45em;color:var(--gold);font-weight:800}
.pz-t-s{font-size:12px;color:var(--muted)}

/* Map score picker (winner 4 – loser 0..3) */
.sc-pick{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:4px 0}
.sc-pick .sc-l{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.sc-pick .sc-w{font-family:var(--display);font-size:15px;color:var(--gold);white-space:nowrap}
.sc-pick .sc-o{font-family:var(--display);font-size:14px;color:#fff;white-space:nowrap}
.sc-pick .sc-dash{color:var(--muted);font-weight:800}
.sc-b{min-width:38px;height:36px;padding:0 10px;border:1px solid var(--line-2);background:rgba(0,0,0,.3);color:#fff;font-family:var(--display);font-weight:800;font-size:16px;cursor:pointer}
.sc-b.wide{font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.sc-b:hover,.sc-b:focus-visible{border-color:var(--gold);outline:none}
.sc-b.on{background:var(--gold);border-color:var(--gold);color:#1a1000}
.chg-box{display:grid;gap:6px}
.pg-sc{font-family:var(--display);font-weight:800;font-size:13px;color:#fff;white-space:nowrap}
.res-pop .confirm{background:#1b0f0a;border-color:rgba(255,197,61,.45)}
.sc-pick{display:grid;gap:6px}
.sc-pick .sc-l{font-size:12px;letter-spacing:.06em}
.sc-opts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:360px}
.sc-b.sc-opt{height:42px;font-size:18px;letter-spacing:.04em}
.res-pop .confirm.chg-box,.confirm.chg-box{display:grid;gap:10px;justify-items:start}
.sc-opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.chg-box .ph-acts{display:flex;gap:8px;flex-wrap:wrap}

/* Pull to refresh (home-screen app) */
.ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 6px);transform:translate(-50%,-60px);opacity:0;z-index:200;display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-2);background:rgba(16,8,10,.95);color:#fff;font-weight:700;font-size:13px;box-shadow:0 6px 20px rgba(0,0,0,.5);pointer-events:none;transition:opacity .15s ease}
.ptr .ptr-ic{display:inline-block;transition:transform .2s ease;color:var(--gold);font-size:16px}
.ptr.ready .ptr-ic{transform:rotate(180deg)}
.ptr.busy .ptr-ic{animation:ptr-spin .8s linear infinite}
@keyframes ptr-spin{to{transform:rotate(360deg)}}
/* Admins / supervisors: registered players */
.reg-count{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 16px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(var(--d2),.95),rgba(var(--d3),.95))}
.reg-count .rc-ic{font-size:24px}
.reg-count .rc-k{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.reg-count .rc-n{font-family:var(--display);font-size:28px;line-height:1.1;color:#fff}
.reg-count .rc-s{margin-left:auto;font-size:13px;color:var(--muted)}

/* Average score of the two teams (found game) */
.avg-bar{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--line-2);background:linear-gradient(90deg,rgba(var(--acc-rgb),.16),rgba(0,0,0,.25) 50%,rgba(255,176,32,.14))}
.ab-side{display:grid;gap:1px;min-width:90px}
.ab-side.b{text-align:right}
.ab-t{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.ab-side.b .ab-t{color:var(--team-b)}
.ab-n{font-family:var(--display);font-size:30px;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.ab-r{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ab-mid{display:grid;gap:5px;justify-items:center;text-align:center}
.ab-k{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ab-track{display:block;width:100%;height:8px;background:var(--team-b);border-radius:4px;overflow:hidden}
.ab-track i{display:block;height:100%;background:var(--cyan)}
.ab-d{font-size:12.5px;font-weight:700;color:#fff}
.t-avg{display:flex;align-items:baseline;gap:6px;margin:-2px 0 8px}
.t-avg b{font-family:var(--display);font-size:18px;color:#fff;letter-spacing:0}
@media (max-width:520px){.avg-bar{gap:8px;padding:8px 10px}.ab-n{font-size:24px}.ab-side{min-width:70px}}
.p2-sc{flex:none;font-family:var(--display);font-weight:800;font-size:15px;color:#fff;font-variant-numeric:tabular-nums;padding:1px 7px;border:1px solid var(--line-2);background:rgba(0,0,0,.3);margin-left:auto}
.p2-row .p2-sc + .badge,.p2-row .p2-sc + *{margin-left:6px}
.p2-sc{font-size:13px;padding:0 4px;border:0;background:none;color:var(--gold);min-width:0}
.p2-row .p2-sc + *{margin-left:0}
/* season not loaded yet: a quiet placeholder instead of a guessed season */
.season-chip.loading{min-width:220px}
.season-chip .sk-line{display:block;width:220px;height:14px;border-radius:3px;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.16),rgba(255,255,255,.06));background-size:200% 100%;animation:sk-shine 1.1s linear infinite}
@keyframes sk-shine{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.season-chip .sk-line{animation:none}}

/* Match found */
.mf-pop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:rgba(0,0,0,.6);padding:16px}
.mf-card{display:grid;justify-items:center;gap:8px;text-align:center;width:min(420px,100%);padding:26px 22px;border:2px solid #2EE59D;background:linear-gradient(180deg,rgba(14,40,30,.98),rgba(16,8,10,.98));box-shadow:0 0 40px rgba(46,229,157,.35);animation:gz-pulse 1.4s ease-in-out infinite}
.mf-ic{font-size:44px;line-height:1}
.mf-t{font-family:var(--display);font-size:30px;font-style:italic;text-transform:uppercase;color:#fff;letter-spacing:.02em}
.mf-s{font-size:15px;color:var(--muted)}.mf-s b{color:#fff}
.mf-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:6px}
@media (prefers-reduced-motion:reduce){.mf-card{animation:none}}
.ql-bell{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:6px 10px;border:1px solid var(--line-2);background:rgba(0,0,0,.3);color:#fff;font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap}
.ql-bell.on{border-color:#2EE59D;color:#CFFBE7}

/* WhatsApp group pop-up */
.wa-pop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}
.wa-card{position:relative;width:100%;max-width:380px;background:linear-gradient(180deg,#0f2a1d,#0b1510);border:1px solid #25d366;border-radius:16px;padding:28px 22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 40px rgba(37,211,102,.18)}
.wa-ic{width:64px;height:64px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px rgba(37,211,102,.18)}
.wa-t{font-size:20px;color:#fff;line-height:1.25}
.wa-s{font-size:14px;color:#b9d8c6;line-height:1.5}
.wa-go{margin-top:6px;width:100%;justify-content:center;background:#25d366!important;color:#06240f!important;border-color:#25d366!important;font-weight:800;text-decoration:none;padding:12px 16px;font-size:16px}
.wa-later{background:none;border:0;color:#8fae9c;font-size:14px;padding:6px;cursor:pointer}
.wa-x{position:absolute;top:8px;right:10px;background:none;border:0;color:#cfe;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
[dir=rtl] .wa-x{right:auto;left:10px}

.ev-gnote{margin:4px 0 10px;font-size:13px;color:var(--muted,#9aa)}
.ev-banner .ev-game{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:11px;opacity:.85}
.ev-banner .ev-other{color:#ffd27a}
.season-chip .ev-next{color:#ffb84d}

/* WhatsApp strip at the top */
.wa-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 16px;background:#25d366;color:#06240f;text-decoration:none;font-size:14px;line-height:1.2;position:relative;z-index:60}
.wa-bar:hover{background:#2ee070}
.wa-bar-ic{display:inline-flex;width:24px;height:24px;border-radius:50%;background:#06240f;color:#25d366;align-items:center;justify-content:center}
.wa-bar b{font-weight:800;letter-spacing:.02em}
.wa-bar-go{background:#06240f;color:#25d366;font-weight:800;font-size:12px;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}

/* ================= FC27 ================= */
:root[data-game="fc"]{
  --bg:#04110B; --bg-2:#06180F; --panel:#071C12; --panel-2:#0B2619; --line:#14432C; --line-2:#1F6342;
  --ink:#F2FFF7; --muted:#9CC9B0; --faint:#5E8C74;
  --blue:#C6FF1A; --cyan:#00E59B; --amber:#C6FF1A; --amber-text:#C6FF1A; --amber-soft:rgba(198,255,26,.12);
  --acc-rgb:198,255,26; --acc2-rgb:0,229,155; --on-acc:#04110B; --team-b:#00E59B;
  --d1:7,28,18; --d2:11,38,25; --d3:6,24,15; --d4:5,20,13; --d5:9,32,21; --d6:4,17,11; --ln:20,67,44;
  --input:#020B06; --btn-hover:#0F3321; --toast:#0A2418; --tint-hi:#E6FFD0; --acc-text:#C6FF1A; --acc-light:#D8FF66; --chip-text:#D8FFB0; --acc-deep:#5E8A00; --body-text:#D9F5E4;
}
:root[data-game="fc"] body{background:radial-gradient(900px 420px at 80% -10%,rgba(198,255,26,.16),transparent 65%),radial-gradient(700px 400px at 0% 20%,rgba(0,229,155,.12),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 90px,rgba(255,255,255,0) 90px 180px),linear-gradient(180deg,#062016,#030B07 70%) fixed;background-color:#04110B}
:root[data-game="fc"] .fc-hero .game-title{background:linear-gradient(90deg,#C6FF1A,#00E59B);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
:root[data-game="fc"] .tab[aria-selected="true"]{background:linear-gradient(90deg,#C6FF1A,#00E59B);color:#04110B}
:root[data-game="fc"] .btn.primary{background:linear-gradient(90deg,#C6FF1A,#00E59B);color:#04110B;border:0}
.fc-pill .cur{background:#C6FF1A;color:#04110B;padding:4px 10px;font-weight:800}
.fc-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:9px;background:#FF4D5E;color:#fff;font-style:normal;font-size:11px;padding:0 5px;margin-left:4px}
.fc-chip b{color:#F2FFF7}
.fc-grid{gap:16px;align-items:stretch}
.fc-k{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C6FF1A;display:block}
.fc-big{font-family:var(--display);font-style:italic;font-weight:800;font-size:48px;line-height:1;margin:8px 0 4px}
.fc-slots{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:16px}
.fc-slot{border:1px dashed var(--line);min-height:84px;display:grid;place-items:center;text-align:center;font-size:12px;color:var(--faint);letter-spacing:.1em;text-transform:uppercase;padding:8px}
.fc-slot.s{border:1px solid rgba(198,255,26,.5);background:rgba(198,255,26,.06);color:#C6FF1A}
.fc-slot span{display:block;font-size:24px}
.fc-vs{font-family:var(--display);font-style:italic;font-size:22px;color:#C6FF1A}
.fc-me,.fc-club{display:flex;align-items:center;gap:12px}
.fc-me>div,.fc-club>div{display:flex;flex-direction:column;gap:2px}
.fc-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.fc-tiles div{border:1px solid var(--line);padding:10px;text-align:center}.fc-tiles b{display:block;font-family:var(--display);font-size:22px}.fc-tiles span{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.fc-go{width:100%;font-size:16px;padding:14px}
.fc-go.searching{opacity:.85}
.fc-pts{text-align:center;margin:10px 0 0}
.fc-crest{display:inline-grid;place-items:center;width:44px;height:50px;flex:0 0 auto;background:linear-gradient(160deg,#C6FF1A,#00E59B);clip-path:polygon(50% 0,100% 15%,92% 70%,50% 100%,8% 70%,0 15%);color:#04110B;font-family:var(--display);font-weight:800;font-size:12px}
.fc-crest.sm{width:26px;height:30px;font-size:8px;vertical-align:middle}
.fc-cn{font-family:var(--display);font-size:19px}
.fc-match{border:1px solid var(--line);background:rgba(0,0,0,.25);padding:16px;margin-bottom:12px}
.fc-match.mine{border-color:rgba(198,255,26,.6);box-shadow:0 0 16px rgba(198,255,26,.12)}
.fc-mh{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;text-align:center}
.fc-mrow{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.fc-side{display:flex;align-items:center;gap:10px;min-width:0}.fc-side.r{justify-content:flex-start;text-align:right;flex-direction:row-reverse}
.fc-side.pc{flex-direction:column;align-items:flex-start}.fc-side.pc.r{align-items:flex-end}
.fc-ros{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--muted)}
.fc-side.r .fc-ros{justify-content:flex-end}
.fc-mid{text-align:center}
.fc-score{display:inline-block;font-family:var(--display);font-weight:800;font-size:30px;font-style:italic;padding:2px 14px;background:rgba(198,255,26,.08);border:1px solid rgba(198,255,26,.35)}
.fc-claim{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-size:14px}
.fc-act{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}
.fc-act textarea{flex:1 1 100%;background:var(--input);color:var(--ink);border:1px solid var(--line);padding:10px;font:inherit}
.fc-sub{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:10px}
.fc-goals{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fc-goals input{width:64px;height:46px;border:1px solid #C6FF1A;background:var(--input);color:var(--ink);font-family:var(--display);font-size:22px;text-align:center}
.fc-lbp{padding:6px 12px}
.fc-lb{width:100%;border-collapse:collapse}
.fc-lb th{font-family:var(--display);font-size:12px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;padding:10px 6px;border-bottom:1px solid var(--line);text-align:center}
.fc-lb td{padding:10px 6px;border-bottom:1px solid rgba(20,67,44,.6);text-align:center}
.fc-lb .l{text-align:left}.fc-lb .pts{font-family:var(--display);font-weight:800;font-size:18px;color:#C6FF1A}
.fc-lb tr.top1 td{background:rgba(255,210,63,.08)}.fc-lb tr.me td{background:rgba(198,255,26,.09)}
.fc-more{text-align:center;padding:12px 0 6px}
.fc-none{padding:6px 0 10px}
.fc-rl{margin:8px 0 0;padding-left:20px;line-height:1.8}.fc-rl b{color:#C6FF1A}
.fc-champs{margin:6px 0 18px;padding:16px;border:1px solid rgba(255,210,63,.55);background:radial-gradient(600px 200px at 50% -20%,rgba(255,210,63,.2),transparent 70%),linear-gradient(180deg,rgba(40,32,6,.85),rgba(6,20,13,.9));text-align:center}
.fc-champs h3{margin:0;font-family:var(--display);font-style:italic;font-size:22px;text-transform:uppercase;color:#FFD23F}
.fc-cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;text-align:left}
.fc-cbox{border:1px solid rgba(255,210,63,.3);padding:12px;background:rgba(0,0,0,.25)}
.fc-cbox h5{margin:0 0 8px;font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:13px;color:#C6FF1A}
.fc-crow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,210,63,.12);font-size:14px;gap:8px}
.fc-crow:last-child{border:0}.fc-crow .p{color:#FFD23F;font-family:var(--display);font-weight:800;text-align:right}
.fc-crow .p small{display:block;font-family:var(--sans);font-weight:600;font-size:11px;color:var(--muted)}
.fc-crow.n1 b{color:#FFD23F}
.fc-pbtn{width:100%;margin:10px 0 4px;background:linear-gradient(90deg,#C6FF1A,#00E59B)!important;color:#04110B!important;border:0!important}
.fc-ph .fc-k{margin-bottom:2px}
.fc-sea{border:1px solid #14432C;padding:12px;margin:12px 0;background:rgba(7,28,18,.55)}
.fc-sea.prev{border-style:dashed}
.fc-seah{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.fc-seah b{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;color:#C6FF1A}.fc-sea.prev .fc-seah b{color:#FFD23F}
.fc-seah span{font-size:12px;color:#9CC9B0}
.fc-rk{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(20,67,44,.7)}
.fc-rkn{min-width:92px;text-align:center;padding:8px 6px;background:rgba(198,255,26,.1);border:1px solid rgba(198,255,26,.45)}
.fc-rkn.g{background:rgba(255,210,63,.12);border-color:rgba(255,210,63,.6)}
.fc-rkn b{display:block;font-family:var(--display);font-style:italic;font-weight:800;font-size:32px;line-height:1;color:#C6FF1A}.fc-rkn.g b{color:#FFD23F}
.fc-rkn span{font-size:11px;color:#9CC9B0}
.fc-rk.none .fc-rkn{background:transparent;border-style:dashed;border-color:#14432C}.fc-rk.none .fc-rkn b{color:#5E8C74}
.fc-rki{display:flex;flex-direction:column;gap:2px}.fc-rki b{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em}.fc-rki small{color:#9CC9B0}
.fc-rkp{font-family:var(--display);font-weight:800}.fc-rkr{font-size:12px;color:#7FA894}
.fc-hist{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(20,67,44,.6);font-size:14px}
.fc-f{display:inline-grid;place-items:center;width:18px;height:18px;font-style:normal;font-size:10px;font-weight:800;color:#04110B}
.fc-f.w{background:#C6FF1A}.fc-f.d{background:#9CC9B0}.fc-f.l{background:#FF4D5E;color:#fff}
.game-card.fc{border:1px solid #C6FF1A;box-shadow:0 0 18px rgba(198,255,26,.35),inset 0 0 40px rgba(198,255,26,.12);background:radial-gradient(460px 280px at 85% 10%,rgba(198,255,26,.45),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 40px,transparent 40px 80px),linear-gradient(160deg,#0B3A22,#020B06 75%);clip-path:none}
:root[data-game="home"] .game-card.fc{border:1px solid #C6FF1A;background:radial-gradient(460px 280px at 85% 10%,rgba(198,255,26,.45),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 40px,transparent 40px 80px),linear-gradient(160deg,#0B3A22,#020B06 75%);clip-path:none}
:root[data-game="home"] .game-card.fc .gc-kicker{color:#C6FF1A;text-shadow:0 0 10px rgba(198,255,26,.7)}
:root[data-game="home"] .game-card.fc .gc-go{background:linear-gradient(90deg,#C6FF1A,#00E59B);color:#04110B}
:root[data-game="home"] .game-card.fc .gc-name{text-shadow:0 0 22px rgba(198,255,26,.6)}
@media(max-width:760px){.fc-cgrid{grid-template-columns:1fr}.fc-tiles{grid-template-columns:repeat(4,1fr)}.fc-big{font-size:38px}.fc-mrow{grid-template-columns:1fr;text-align:center}.fc-side,.fc-side.r{justify-content:center;flex-direction:row}.fc-side.pc,.fc-side.pc.r{align-items:center}.fc-side.r .fc-ros,.fc-ros{justify-content:center}.fc-lb th:nth-child(7),.fc-lb td:nth-child(7),.fc-lb th:nth-child(8),.fc-lb td:nth-child(8){display:none}}
.fc-lb .linkbtn{color:var(--ink);text-decoration:none;font-weight:700}.fc-lb .linkbtn:hover{color:#C6FF1A;text-decoration:underline}
.fc-grid>.panel,.fc-lbp{align-content:start}.fc-search .fc-slots{margin-top:6px}

.fc-dec{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.fc-arcbar{display:grid;gap:10px;margin-bottom:12px}
.fc-arcf{display:flex;flex-wrap:wrap;gap:8px}
.fc-arcs{display:flex;gap:8px;flex-wrap:wrap}.fc-arcs input{flex:1 1 220px;background:var(--input);border:1px solid var(--line);color:var(--ink);padding:10px;font:inherit}
.fc-arow{border:1px solid var(--line);background:rgba(0,0,0,.22);padding:12px 14px;margin-bottom:10px}
.fc-arh{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12px;color:var(--muted);letter-spacing:.04em}
.fc-arh b{color:#C6FF1A;font-size:14px}
.fc-arm{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:8px;font-weight:700}
.fc-arm span:last-child{text-align:right}.fc-arm .w{color:#C6FF1A}
.fc-ars{font-family:var(--display);font-style:italic;font-size:22px;padding:0 10px}
.fc-arx{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:13px;color:var(--muted)}
.fc-edit{margin-top:8px}
.fc-st{padding:2px 8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid}
.fc-st.ok{color:#C6FF1A;border-color:rgba(198,255,26,.5)}.fc-st.x{color:#FF4D5E;border-color:rgba(255,77,94,.5)}.fc-st.rep{color:#FFD23F;border-color:rgba(255,210,63,.6)}.fc-st.wait{color:#00E59B;border-color:rgba(0,229,155,.5)}.fc-st.live{color:#9CC9B0;border-color:#14432C}
.fc-arx .linkbtn,.fc-claim .linkbtn{color:#C6FF1A}

/* main menu button */
.home-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--ink);font-family:var(--display);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.home-btn:hover{border-color:rgb(var(--acc-rgb));color:rgb(var(--acc-rgb))}
@media(max-width:760px){.home-btn span{display:none}.home-btn{padding:0 9px}}
/* feedback */
.mi-ic.fb{font-size:17px;display:inline-grid;place-items:center}
.fb-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.fb-item{border:1px solid var(--line);padding:12px;margin-bottom:10px;background:rgba(255,255,255,.02)}
.fb-item.new{border-color:rgb(var(--acc-rgb));box-shadow:inset 3px 0 0 rgb(var(--acc-rgb))}
.fb-k.suggestion{color:#FFD23F}.fb-k.feedback{color:#7FD3FF}
.fb-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
/* FC27 home card */
.fc-gs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;width:100%}
.fc-gs .gs{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid rgba(198,255,26,.25);background:rgba(0,0,0,.25)}
.fc-gm{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#C6FF1A;font-weight:800}
.fc-season{display:block;margin-top:8px;font-size:13px;color:#D9F5E4;font-weight:700}
@media(max-width:520px){.fc-gs{grid-template-columns:1fr}}
.fc-lv{display:flex;align-items:center;gap:6px;font-size:15px}.fc-lv b{font-size:18px}
.fc-stop{width:100%;margin-top:8px;background:#C8102E!important;border:1px solid #FF4D5E!important;color:#fff!important;font-weight:800;padding:12px}
.fc-stop:hover{background:#E0193A!important}
.sec-head.fc-sp{margin-top:34px}
.fc-must{display:flex;gap:14px;align-items:center;margin:0 0 16px;padding:14px 18px;border:2px solid #FFD23F;background:linear-gradient(90deg,rgba(255,210,63,.18),rgba(255,210,63,.04));box-shadow:0 0 18px rgba(255,210,63,.15)}
.fc-must-ic{font-size:28px;line-height:1;color:#FFD23F}
.fc-must b{display:block;font-family:var(--display);font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:#FFD23F}
.fc-must span{font-size:14px;color:#F2FFF7}
.fc-alert{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 16px;border:2px solid #FF4D5E;background:rgba(255,77,94,.12);color:#fff}
.fc-alert span{font-size:22px;color:#FF4D5E}.fc-alert b{flex:1;font-size:15px;line-height:1.45}
.fc-alert-x{background:none;border:0;color:#fff;font-size:18px;cursor:pointer;padding:4px 8px}
.fc-busy{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin:0 0 10px;border:2px solid #FF4D5E;background:rgba(255,77,94,.12)}.fc-busy span{font-size:20px}.fc-busy b{font-size:14px;line-height:1.45;color:#fff}
.fc-go[disabled]{opacity:.45;filter:grayscale(.6)}
.fc-adm{margin-top:14px;border-color:rgba(255,184,77,.5)!important}
.fc-adm .fc-k,.fc-adm-m .fc-k{color:#FFB84D}
.fc-aql{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.fc-aql li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line)}.fc-aql li .btn{margin-left:auto}
.fc-aqa{display:flex;gap:8px;flex-wrap:wrap}.fc-aqa input,.fc-aqa select,.fc-adm-m input{flex:1 1 160px;background:var(--input);border:1px solid var(--line);color:var(--ink);padding:9px;font:inherit}
.fc-adm-m{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:10px;border-top:1px dashed rgba(255,184,77,.4)}
/* phones: show the full PSN ID (wrap onto a second line instead of cutting it with …) */
@media (max-width:760px){
  .p2-nm,.p2-nm.l,.p2-nm.xl{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;line-height:1.15;font-size:11.5px;letter-spacing:-.02em}
  .q-slot .g{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.15;font-size:12px}
  .lobby-team li span:first-child{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .roster li{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .fc-side b.mono,.fc-ros span{overflow-wrap:anywhere}
  .p2-row{gap:5px}
  .p2-sc{font-size:13px;padding:1px 5px}
}
/* phones (also big ones): the two teams one under the other, so every name has the full width */
@media (max-width:560px){.lobby-body{grid-template-columns:1fr!important}.lobby-body>.vs{justify-self:stretch}
  .p2-nm,.p2-nm.l,.p2-nm.xl{font-size:13px;letter-spacing:0;line-height:1.2}}
/* record: wins and losses (no ratio bar) */
.rec-w{color:#3CE08A;font-weight:800}.rec-l{color:#FF6B6B;font-weight:800}
.pf-wl{display:flex;gap:10px}.pf-wl .wl-w,.pf-wl .wl-l{display:inline-flex;align-items:baseline;gap:4px;padding:4px 10px;border:1px solid var(--line-2);font-weight:700}
.pf-wl .wl-w b{color:#3CE08A;font-size:17px}.pf-wl .wl-l b{color:#FF6B6B;font-size:17px}
.lb td.wl{color:var(--ink);font-weight:700}
@media (max-width:760px){.lb td:nth-last-child(-n+3){display:none}}
@media (max-width:760px){.lb td.sc{display:table-cell!important}}
/* leaderboard top-3 rows share the class "top" with the site header: don't inherit the header's line, blur or background */
.lb tr.top{position:static!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:0!important;z-index:auto!important}
.lb tr.top:not(.top1){background:none!important}
.lb tr.top::before,.lb tr.top::after,.fc-lb tr::before,.fc-lb tr::after{content:none!important;display:none!important}
/* FC27 tournament */
.ft-banner{display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:16px;align-items:center;margin:0 0 18px;padding:16px 18px;border:2px solid #FFD23F;background:radial-gradient(600px 200px at 0% 0%,rgba(255,210,63,.22),transparent 70%),linear-gradient(90deg,rgba(40,32,6,.92),rgba(6,24,15,.92));box-shadow:0 0 22px rgba(255,210,63,.18)}
.ft-bl{display:flex;flex-direction:column;gap:3px}.ft-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#FFD23F;font-weight:800}
.ft-bl b{font-family:var(--display);font-size:20px;font-style:italic;text-transform:uppercase;color:#fff}
.ft-prizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ft-p{display:flex;flex-direction:column;align-items:center;padding:8px 6px;border:1px solid rgba(255,210,63,.35);background:rgba(0,0,0,.25)}
.ft-p span{font-size:12px;color:var(--muted);font-weight:700}.ft-p b{font-family:var(--display);font-size:20px;color:#FFD23F}.ft-p b small{font-size:11px;color:#E6D28A}
.ft-p.p1{border-color:#FFD23F;box-shadow:inset 0 0 18px rgba(255,210,63,.15)}
.ft-go{white-space:nowrap}
.ft-panel{display:grid;gap:14px}
.ft-ok{padding:12px 14px;border:2px solid #C6FF1A;background:rgba(198,255,26,.08);font-size:16px;color:#E6FFD0}
.ft-list{margin:0;padding-left:26px;display:grid;gap:2px}.ft-list li{padding:8px 4px;border-bottom:1px solid var(--line)}.ft-list li b{margin-right:10px}.ft-list li .btn{float:right;margin-left:6px}
.ft-list li.me b{color:#C6FF1A}
@media(max-width:760px){.ft-banner{grid-template-columns:1fr}.ft-go{width:100%}}
.fc-adm-end{margin-top:10px;display:flex;justify-content:flex-end}
.fc-adm-endbox{margin-top:10px;padding:12px;border:1px solid rgba(255,80,80,.45);border-radius:10px;background:rgba(255,60,60,.06);display:grid;gap:8px}
.fc-adm-endbox>.btn{justify-self:start}
/* home: rotating announcements */
.rot{position:relative;display:grid}
.rot-s{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .5s ease,transform .5s ease,visibility 0s .5s}
.rot-s.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .5s ease,visibility 0s}
.rot-s>.ev-row,.rot-s>.ft-banner{margin-top:0;margin-bottom:0;height:100%}
.rot-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}
.rot-d{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s,background .3s}
.rot-d.on{width:26px;border-radius:5px;background:var(--cyan)}
.ft-home{margin-top:18px}
@media (prefers-reduced-motion:reduce){.rot-s,.rot-s.on{transition:none;transform:none}}
/* FC27 Pro Clubs sub-menu */
.fc-submenu{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.03)}
.fc-sm-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0 6px}
.fc-sm{flex:1 1 auto;min-height:40px;padding:8px 16px;border-radius:9px;border:1px solid var(--line-2);background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.fc-sm.on{background:linear-gradient(90deg,var(--blue),var(--cyan));color:var(--on-acc);border-color:transparent}
@media (max-width:560px){.fc-sm-k{width:100%;margin:2px 4px}}
/* ===== FC27 tournament announcement: green pitch card with a moving neon edge ===== */
@keyframes ftEdge{to{background-position:0 0,300% 0}}
@keyframes ftShine{0%,62%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(320%) skewX(-18deg)}}
@keyframes ftPulse{0%{box-shadow:0 0 0 0 rgba(198,255,26,.75)}100%{box-shadow:0 0 0 9px rgba(198,255,26,0)}}
@keyframes ftGlow{0%,100%{box-shadow:0 0 18px rgba(0,229,155,.25),0 0 0 1px rgba(198,255,26,.15) inset}50%{box-shadow:0 0 34px rgba(198,255,26,.42),0 0 0 1px rgba(198,255,26,.3) inset}}
.ft-banner{position:relative;overflow:hidden;isolation:isolate;border:2px solid transparent;border-radius:14px;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 46px,rgba(255,255,255,0) 46px 92px) padding-box,
    linear-gradient(90deg,#C6FF1A,#00E59B,#7CFFCB,#C6FF1A,#00E59B) border-box;
  background-color:#05170F;background-size:auto,300% 100%;
  animation:ftEdge 6s linear infinite,ftGlow 3s ease-in-out infinite}
.ft-banner{background:
    radial-gradient(520px 220px at 0% 0%,rgba(198,255,26,.20),transparent 70%) padding-box,
    radial-gradient(420px 220px at 100% 100%,rgba(0,229,155,.18),transparent 70%) padding-box,
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 46px,rgba(255,255,255,0) 46px 92px) padding-box,
    linear-gradient(180deg,#073321,#04140D) padding-box,
    linear-gradient(90deg,#C6FF1A,#00E59B,#7CFFCB,#C6FF1A,#00E59B) border-box;
  background-size:auto,auto,auto,auto,300% 100%}
@keyframes ftEdge{to{background-position:0 0,0 0,0 0,0 0,300% 0}}
/* pitch centre circle + halfway line, faint, on the right */
.ft-banner::before{content:"";position:absolute;z-index:-1;top:50%;right:22%;width:150px;height:150px;margin-top:-75px;border:2px solid rgba(255,255,255,.07);border-radius:50%;box-shadow:75px 0 0 -73px rgba(255,255,255,.07),-75px 0 0 -73px rgba(255,255,255,.07)}
/* a light sweep every few seconds */
.ft-banner::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:0;width:28%;background:linear-gradient(90deg,transparent,rgba(198,255,26,.13),transparent);animation:ftShine 5s ease-in-out infinite;pointer-events:none}
.ft-k{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:4px 10px 4px 8px;border-radius:999px;background:rgba(198,255,26,.12);border:1px solid rgba(198,255,26,.45);color:#C6FF1A}
.ft-dot{width:8px;height:8px;border-radius:50%;background:#C6FF1A;animation:ftPulse 1.4s ease-out infinite;flex:none}
.ft-bl b{font-size:22px;background:linear-gradient(90deg,#FFFFFF,#E6FFB8 45%,#7CFFCB);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;margin-top:4px}
.ft-bl .sub{color:#A8E8C8}
.ft-p{border:1px solid rgba(0,229,155,.35);border-radius:10px;background:linear-gradient(180deg,rgba(0,229,155,.10),rgba(0,0,0,.25))}
.ft-p span{color:#BFEFD8}
.ft-p b{color:#fff}.ft-p b small{color:#8FE3BC}
.ft-p.p1{border-color:#C6FF1A;background:linear-gradient(180deg,rgba(198,255,26,.20),rgba(0,0,0,.25));box-shadow:0 0 16px rgba(198,255,26,.25)}
.ft-p.p1 b{color:#C6FF1A}
.ft-banner .ft-go{background:linear-gradient(90deg,#C6FF1A,#00E59B);color:#04110B;border:0;font-weight:800;box-shadow:0 6px 18px rgba(0,229,155,.3)}
.ft-banner .ft-go:hover{filter:brightness(1.08);transform:translateY(-1px)}
@media(max-width:760px){.ft-banner::before{right:-40px}.ft-bl b{font-size:19px}}
@media (prefers-reduced-motion:reduce){.ft-banner,.ft-banner::after,.ft-dot{animation:none}}
/* FC27 admin · clubs */
.fc-admc-l{list-style:none;margin:0;padding:0;display:grid}
.fc-admc-l>li{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 4px;border-bottom:1px solid var(--line)}
.fc-admc-l>li:last-child{border-bottom:0}
.fc-admc-l>li.ed{display:block;padding:10px 0}
.fc-admc-i{display:flex;flex-direction:column;gap:2px;flex:1 1 180px;min-width:0}
.fc-admc-i b{overflow-wrap:anywhere}
.fc-admc-b{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.fc-admc-f{margin-bottom:14px;display:grid;gap:10px;border-color:rgba(198,255,26,.45)}
.fc-admc-f h3{margin:0}
.fc-admc-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.fc-admc-g{grid-template-columns:1fr}.fc-admc-b{width:100%}}
/* FC27 match chat */
.fc-chat{margin:12px 0 4px;border-color:rgba(0,229,155,.35);background:rgba(0,0,0,.32)}
.fc-chat .chat-head b{color:#C6FF1A}
.fc-chat .msg.t0 .m-who{color:#C6FF1A}
.fc-chat .msg.t1 .m-who{color:#5FE3FF}
.fc-arc-chat{margin-top:8px}.fc-arc-chat .chat{margin:0}
/* ===== FC27 match header: clear names / team sheets ===== */
.fcv-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;margin:10px 0 4px}
.fcv-row.pc{align-items:stretch}
.fcv-team{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.18))}
.fcv-team.r{flex-direction:row-reverse;text-align:right}
.fcv-team.me{border-color:rgba(198,255,26,.55);box-shadow:0 0 0 1px rgba(198,255,26,.18) inset,0 0 18px rgba(198,255,26,.10)}
.fcv-av{flex:none;width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font:800 19px/1 var(--display);color:#04110B;background:linear-gradient(135deg,#C6FF1A,#00E59B)}
.fcv-team.r .fcv-av{background:linear-gradient(135deg,#5FE3FF,#00E59B)}
.fcv-nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.fcv-nm b{font-size:17px;line-height:1.2;color:#fff;overflow-wrap:anywhere;word-break:break-word}
.fcv-nm small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fcv-team.me .fcv-nm small{color:#C6FF1A}
.fcv-mid{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.fcv-vs{font:900 italic 22px/1 var(--display);letter-spacing:.06em;background:linear-gradient(90deg,#C6FF1A,#00E59B);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.fcv-mid .live{font-size:12px;white-space:nowrap}
/* Pro Clubs team sheet */
.fcv-team.pc{flex-direction:column;align-items:stretch;gap:10px}
.fcv-team.pc.r{text-align:left}
.fcv-club{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.fcv-club .fc-crest{flex:none;width:44px;height:48px;font-size:12px}
.fcv-club .fcv-nm b{font-family:var(--display);font-size:20px;font-style:italic;text-transform:uppercase;letter-spacing:.02em}
.fcv-team.pc.r .fcv-club{flex-direction:row-reverse;text-align:right}
.fcv-ros{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.fcv-ros li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.035)}
.fcv-ros li.ld{background:rgba(255,197,61,.10)}
.fcv-ros li.co{background:rgba(198,255,26,.07)}
.fcv-ros li.you{outline:1px solid rgba(198,255,26,.5)}
.fcv-ic{flex:none;width:18px;text-align:center;font-size:13px;opacity:.95}
.fcv-ros li:not(.ld):not(.co) .fcv-ic{opacity:.45;font-size:11px}
.fcv-p{flex:1;min-width:0;font-size:14.5px;color:#fff;overflow-wrap:anywhere}
.fcv-ros em{flex:none;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:5px;background:rgba(255,197,61,.18);color:#FFC53D}
.fcv-ros li.co em{background:rgba(198,255,26,.15);color:#C6FF1A}
.fcv-ros em.y{background:rgba(198,255,26,.22);color:#C6FF1A}
@media(max-width:560px){
  .fcv-row{grid-template-columns:1fr;gap:6px}
  .fcv-team.r:not(.pc){flex-direction:row;text-align:left}
  .fcv-team.pc.r .fcv-club{flex-direction:row;text-align:left}
  .fcv-mid{flex-direction:row;justify-content:center;gap:10px;padding:2px 0}
  .fcv-mid::before,.fcv-mid::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(198,255,26,.35),transparent)}
}
[dir="rtl"] .fcv-team.r,[dir="rtl"] .fcv-team.pc.r .fcv-club{text-align:left}
.fcv-row.pc .fcv-mid{align-self:center}
/* final score chip on finished games */
.lh-sc{display:inline-flex;align-items:center;gap:7px;padding:3px 10px;border:1px solid var(--line-2);background:rgba(255,255,255,.06);white-space:nowrap}
.lh-sc b{font:800 15px/1.1 var(--display);letter-spacing:.06em;color:var(--ink)}
.lh-sc small{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pg-result .lh-sc{margin-left:6px;font-size:13px}
/* admin game log */
.glog{margin:10px 16px 14px;border:1px dashed var(--line-2);background:rgba(0,0,0,.22)}
.glog-t{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.glog-t span{font:800 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-text,var(--gold))}
.glog-t small{flex:1;font-size:11.5px;color:var(--faint)}
.glog-t i{font-style:normal;color:var(--muted)}
.glog-none{margin:0;padding:0 12px 12px}
.glog-l{list-style:none;margin:0;padding:0 12px 12px;display:grid;gap:2px;max-height:420px;overflow-y:auto}
.glog-l li{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:12px;align-items:start;padding:8px 10px;border-left:3px solid var(--line-2);background:rgba(255,255,255,.025)}
.glog-time{font-size:11.5px;color:var(--faint);white-space:nowrap}
.glog-ev{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.glog-ev i{font-style:normal;width:18px;text-align:center}
.glog-d{font-size:13.5px;color:var(--ink);overflow-wrap:anywhere}
.glog-by{margin-left:8px;font-size:12px;color:var(--muted)}.glog-by b{color:var(--ink)}
.glog-l li.ge-accepted,.glog-l li.ge-confirmed,.glog-l li.ge-auto{border-left-color:var(--good)}
.glog-l li.ge-submitted,.glog-l li.ge-changed_score{border-left-color:var(--gold)}
.glog-l li.ge-runaway_vote,.glog-l li.ge-voted_out,.glog-l li.ge-left_loss,.glog-l li.ge-disputed,.glog-l li.ge-reported{border-left-color:var(--live)}
.glog-l li.ge-kicked,.glog-l li.ge-changed,.glog-l li.ge-cancelled{border-left-color:var(--cyan)}
.pf-games .glog{margin:8px 0 4px}
.glog-k{display:flex;flex-direction:column;gap:3px;min-width:0}
.glog-k .glog-time{font-size:11px}
@media(max-width:640px){.glog{margin:10px 10px 12px}.glog-t small{display:none}.glog-l li{grid-template-columns:1fr;gap:4px}.glog-k{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}}
/* announcement arrows */
.rot-dots{align-items:center;gap:10px}
.rot-arr{width:36px;height:36px;display:grid;place-items:center;padding:0 0 3px;border-radius:50%;border:1px solid var(--line-2);background:rgba(255,255,255,.06);color:var(--ink);font:700 24px/1 system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .15s}
.rot-arr:hover{background:rgba(255,255,255,.14);border-color:var(--cyan)}
.rot-arr:active{transform:scale(.92)}
.rot-arr:first-child{margin-right:6px}.rot-arr:last-child{margin-left:6px}
[dir="rtl"] .rot-arr{transform:scaleX(-1)}
[dir="rtl"] .rot-arr:active{transform:scaleX(-1) scale(.92)}
/* FC27 · All clubs */
.fc-sm small{display:inline-block;min-width:20px;margin-left:4px;padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.12);font-size:11px}
.fc-sm.on small{background:rgba(0,0,0,.2)}
.fc-clubs-find{margin:0 0 14px}
.fc-clubs-find input{width:100%;max-width:420px;padding:11px 14px;background:var(--input);border:1px solid var(--line-2);color:var(--ink);font-size:15px;border-radius:10px}
.fc-clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;align-items:start}
.fc-cc{padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.2));display:grid;gap:10px}
.fc-cc[hidden]{display:none}
.fc-cc.mine{border-color:rgba(198,255,26,.55);box-shadow:0 0 18px rgba(198,255,26,.10)}
.fc-cc-h{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.fc-cc-h .fc-crest{flex:none;width:44px;height:48px;font-size:12px}
.fc-cc-n{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.fc-cc-n b{font-family:var(--display);font-size:19px;font-style:italic;text-transform:uppercase;color:#fff;overflow-wrap:anywhere}
.fc-cc-n small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fc-cc.mine .fc-cc-n small{color:#C6FF1A}
.fc-cc-st{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.fc-cc-st b{font:800 20px/1 var(--display);color:#C6FF1A}
.fc-cc-st small{font-size:11px;color:var(--muted);white-space:nowrap}
.fc-cc-st.none small{white-space:normal;max-width:90px;font-size:10.5px;opacity:.8}
@media(max-width:560px){.fc-clubs-grid{grid-template-columns:1fr}.fc-submenu .fc-sm{flex:1 1 45%;font-size:14px;padding:8px 10px}}
[dir="rtl"] .fc-cc-st{align-items:flex-start;text-align:left}
/* All clubs: show / hide players */
.fc-clubs-find{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fc-clubs-find input{flex:1 1 260px}
.fc-cc-all,.fc-cc-tog{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--line-2);border-radius:10px;background:rgba(255,255,255,.04);color:var(--ink);font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.fc-cc-all.on{border-color:rgba(198,255,26,.6);background:rgba(198,255,26,.08)}
.fc-box{flex:none;width:20px;height:20px;display:grid;place-items:center;border:2px solid var(--line-2);border-radius:5px;font-size:13px;font-weight:900;color:#04110B;background:transparent}
.fc-cc-all.on .fc-box,.fc-cc.open .fc-cc-tog .fc-box{background:linear-gradient(135deg,#C6FF1A,#00E59B);border-color:transparent}
.fc-cc-tog{width:100%;justify-content:flex-start;padding:8px 12px}
.fc-cc-tog small{color:var(--muted);font-weight:600}
.fc-cc-tog i{margin-left:auto;font-style:normal;color:var(--muted)}
[dir="rtl"] .fc-cc-tog i{margin-left:0;margin-right:auto}
.fc-cc:not(.open) .fc-cc-h{padding-bottom:0;border-bottom:0}
/* phones: keep the bottom menu glued to the bottom of the screen (iPhone Safari can misplace fixed bars while scrolling) */
@media (max-width:640px){
  .top nav.tabs[role="tablist"]{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
}
/* admin: add win / loss */
.wl-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:12px 16px;align-items:end}
.wl-grid .f>span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-weight:700}
.wl-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.wl-b{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 6px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--ink);font:inherit;cursor:pointer}
.wl-b small{font-size:10.5px;color:var(--muted)}
.wl-b.win.on{background:rgba(46,229,157,.16);border-color:var(--good)}
.wl-b.loss.on{background:rgba(255,71,96,.16);border-color:var(--live)}
.wl-b.points.on{background:rgba(255,197,61,.14);border-color:var(--gold)}
.wl-log{width:100%;border-collapse:collapse;font-size:13px}
.wl-log th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:6px 8px;text-align:center}
.wl-log td{padding:8px;border-top:1px solid var(--line);text-align:center;vertical-align:top}
.wl-log .l{text-align:left}
.wl-log tr.undone td{opacity:.45}
.wl-log tr.undone td:last-child{opacity:1}
.wl-t{white-space:nowrap;font-size:12px;color:var(--muted)}
.wl-d{display:block;font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:640px){.wl-grid{grid-template-columns:1fr}.wl-log{font-size:12px}}
@media(max-width:640px){
  .wl-d{white-space:normal}
  .wl-log,.wl-log tbody,.wl-log tr,.wl-log td{display:block;width:auto}
  .wl-log thead{display:none}
  .wl-log tr{border:1px solid var(--line);padding:8px 10px;margin-bottom:8px;display:grid;grid-template-columns:auto 1fr auto;gap:4px 10px;align-items:center}
  .wl-log td{border:0;padding:0;text-align:left}
  .wl-log td.wl-t{grid-column:1/-1;order:-1}
  .wl-log td:nth-child(5){grid-column:1/-1}
  .wl-log td:nth-child(6){grid-column:1/-2}
}
.adm-body,.wl-panel{min-width:0}
/* admin +/− box */
.adj{margin-top:14px;padding:12px;border:1px dashed var(--line-2);display:grid;gap:8px}
.adj-h{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.adj-h small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--faint)}
.adj-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.adj-row input{width:110px;padding:7px 9px;background:var(--input);border:1px solid var(--line-2);color:var(--ink)}
.adj-k{font-size:13px;color:var(--muted);margin-right:4px}.adj-k b{color:var(--ink);font-size:15px;margin-left:4px}
.adj-b.up{border-color:rgba(46,229,157,.55);color:var(--good)}
.adj-b.down{border-color:rgba(255,71,96,.55);color:var(--live)}
.left-tag.add-tag{background:rgba(255,197,61,.14);color:var(--gold);border-color:rgba(255,197,61,.45)}
.adj-row input{flex:1 1 90px;min-width:80px}
.adj-row .adj-b{white-space:nowrap}
/* FC27 home card: searching now */
.fc-gs .gs{gap:5px}
.fc-sr{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--muted)}
.fc-sr b{font-size:18px;color:#fff}
.fc-sr.on b{color:#C6FF1A}
.fc-radar{position:relative;flex:none;width:9px;height:9px;border-radius:50%;background:#5c6b62}
.fc-sr.on .fc-radar{background:#C6FF1A}
.fc-sr.on .fc-radar::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #C6FF1A;opacity:0;animation:fcRadar 1.6s ease-out infinite}
@keyframes fcRadar{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.fc-lv{font-size:13px!important;color:var(--muted)}.fc-lv b{font-size:15px!important;color:#fff}
@media(max-width:520px){.fc-gs .gs{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px}}
@media (prefers-reduced-motion:reduce){.fc-sr.on .fc-radar::after{animation:none}}
/* FC27 card: the ball is a faint background shape, always behind the numbers (phones draw emoji in full colour) */
.game-card.fc .gc-num{opacity:.07;filter:grayscale(1) brightness(1.6);pointer-events:none;z-index:0;font-style:normal;font-size:130px;top:4px;right:14px}
.game-card.fc>*:not(.gc-num){position:relative;z-index:1}
@media(max-width:520px){.game-card.fc .gc-num{font-size:96px;top:6px;right:8px;opacity:.06}}

/* phones: the bottom menu's own holder under <body> (not the sticky header), so it can't be dragged while scrolling */
#gz-bnav.top{position:static!important;top:auto;height:0;min-height:0;padding:0;border:0!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:auto}
#gz-bnav.top::after{display:none}
/* lobby: vote to cancel (red box) */
.cvx{flex:1 1 100%;width:100%;margin:6px 0 2px;padding:14px 16px;border:2px solid #E0303F;border-radius:8px;background:linear-gradient(180deg,rgba(224,48,63,.18),rgba(224,48,63,.07));box-shadow:0 0 0 1px rgba(224,48,63,.25) inset,0 0 22px rgba(224,48,63,.18);display:flex;flex-direction:column;gap:12px;text-align:left}
.cvx-h{display:flex;align-items:center;gap:12px}
.cvx-ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(224,48,63,.25);font-size:22px}
.cvx-tt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.cvx-tt>b{font-family:var(--display);font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:#FF5A66}
.cvx-tt small{font-size:13px;color:#F3C9CD;line-height:1.4}
.cvx-tt small b{color:#fff}
.cvx-time{flex:none;display:flex;flex-direction:column;align-items:center;padding:6px 10px;border:1px solid rgba(224,48,63,.6);border-radius:6px;background:rgba(0,0,0,.3)}
.cvx-t{font:800 20px/1 var(--mono,monospace);color:#fff}
.cvx-time small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#FF9AA2;margin-top:3px}
.cvx-teams{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cvx-team{padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:rgba(0,0,0,.28)}
.cvx-team.ok{border-color:#E0303F;background:rgba(224,48,63,.16)}
.cvx-th{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cvx-th b{font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.cvx-team.t0 .cvx-th b{color:#FFB15C}
.cvx-team.t1 .cvx-th b{color:#5CC2FF}
.cvx-n{font:800 16px/1 var(--display);color:#fff}
.cvx-dots{display:flex;gap:6px;margin:8px 0 6px}
.cvx-dots i{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.12)}
.cvx-dots i.on{background:#E0303F;box-shadow:0 0 8px rgba(224,48,63,.7)}
.cvx-who{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:#F3C9CD}
.cvx-who.none{color:var(--muted)}
.cvx-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.btn.cvx-go{flex:1;justify-content:center;background:#E0303F;border:0;color:#fff;font-weight:800;letter-spacing:.08em;padding:12px 16px;clip-path:none;border-radius:6px;text-transform:uppercase}
.btn.cvx-go:hover{background:#FF3B4B}
.cvx-done{font-weight:800;color:#FF9AA2}
.cvx-undo{margin-left:auto}
@media (max-width:560px){.cvx{padding:12px}.cvx-h{flex-wrap:wrap}.cvx-tt{flex:1 1 calc(100% - 52px)}.cvx-time{flex:1 1 100%;flex-direction:row;justify-content:center;gap:8px;align-items:baseline}.cvx-teams{gap:8px}.cvx-tt>b{font-size:15px}}
[dir="rtl"] .cvx{text-align:right}
[dir="rtl"] .cvx-undo{margin-left:0;margin-right:auto}
.cvx-n,.cvx-t{direction:ltr;unicode-bidi:isolate}
/* 1vs1: two slots, hidden players, kill score picker */
.q-grid.duel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.q-slot.hidden-p{border-style:dashed}
.q-slot.hidden-p .g{color:var(--muted);font-weight:700}
.sc-opts.many{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:5px;max-height:190px;overflow:auto;padding:2px}
.sc-opts.many .sc-b{min-width:0;padding:7px 2px;font-size:12px}
.avg-bar.duel .ab-t{text-transform:none;letter-spacing:.02em;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Run away: who voted (small) */
.ra{flex-wrap:wrap}
.ra-who{flex-basis:100%;display:block;margin-top:3px;font-size:10.5px;line-height:1.35;color:#d9a3a3;font-weight:500;letter-spacing:0;text-transform:none}
.ra-who .mono{font-size:10.5px;color:#ffb4b4}
/* admin: mark Ran away (no vote) */
.adm-ra{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;padding:10px 12px;border:1px dashed rgba(255,90,90,.45);background:rgba(255,70,70,.05)}
.adm-ra-t{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ff9a9a}
.adm-ra .inp{flex:1 1 180px;max-width:260px;padding:8px 10px}
.adm-ra .confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
/* 1vs1: typed score */
.sc-pick.sc-type .sc-in{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
.sc-type .sc-in>b{font:800 26px/1 var(--display);color:#fff}
.sc-type .sc-in>i{font-style:normal;font-size:22px;color:var(--muted)}
.sc-type .sc-in .inp{width:84px;flex:none;text-align:center;font:800 24px/1 var(--display);padding:8px 6px;letter-spacing:.04em}
.sc-type .sc-in small{flex-basis:100%;font-size:12px;color:var(--muted)}

/* phones: no bottom bar while the keyboard is open */
@media (max-width:640px){ body.kb-open #gz-bnav nav.tabs{display:none!important} }

/* phones: the page itself never scrolls. The content (#app) is the scroll area and the bottom menu is the block
   right under it, not a floating bar. Safari's address bar, bounce and keyboard move floating bars around;
   this one is part of the layout, so it can't end up in the middle of the screen. */
@media (max-width:640px){
  html.gz-shell{height:100%;overflow:hidden;overscroll-behavior:none}
  html.gz-shell body{height:100%;min-height:0;margin:0;overflow:hidden;overscroll-behavior:none;display:flex;flex-direction:column;padding-bottom:0!important}
  html.gz-shell body>#app{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
  html.gz-shell body.pf-open>#app{overflow:hidden}
  html.gz-shell #gz-bnav.top{flex:none;order:2;height:auto!important;position:relative!important;z-index:25}
  html.gz-shell #gz-bnav nav.tabs[role="tablist"]{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;-webkit-transform:none!important;will-change:auto}
  html:not(.gz-shell) #gz-bnav nav.tabs[role="tablist"]{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important}
}
/* FC27 tournament: registration closing date + countdown */
.ft-close{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}
.ft-cl{font-size:13px;color:#d6ffe9}
.ft-cl b{color:#fff;letter-spacing:.03em}
.ft-timer{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(198,255,26,.55);border-radius:999px;background:rgba(0,0,0,.35);font-size:12px;color:#C6FF1A;font-weight:700}
.ft-timer b{font:800 15px/1 var(--mono,monospace);color:#fff;letter-spacing:.02em;direction:ltr;unicode-bidi:isolate}
.ft-panel>.ft-close{margin:0 0 12px}
.ft-adm-cl{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.ft-adm-cl .inp{width:auto;padding:6px 8px}
.ft-timer,.ft-cl{text-transform:none;letter-spacing:.02em}
.ft-banner .ft-close,.ft-banner .ft-close *{text-transform:none!important}
.ft-cl b{direction:ltr;unicode-bidi:isolate;display:inline-block}

/* admin: undo Ran away */
.ra-undo{appearance:none;cursor:pointer;margin-left:6px;padding:2px 8px;border:1px dashed rgba(255,197,61,.6);background:rgba(255,197,61,.08);color:var(--gold);font:700 10.5px/1.4 var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:4px}
.ra-undo:hover{background:rgba(255,197,61,.18)}
.ra-undo-c{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-basis:100%;margin-top:6px}

/* iPhone zooms the whole page in when you tap a typing box whose text is smaller than 16px, and often stays zoomed:
   that is what pushed the bottom menu into the middle of the screen. 16px on phones = no zoom. */
@media (max-width:900px){
  input,select,textarea,.inp,.chat-form input,label.f input,label.f select,label.f textarea{font-size:16px!important}
}
/* if the page is zoomed anyway (pinch), hide the bottom menu until it is back to normal size */
@media (max-width:640px){ body.vv-zoom #gz-bnav nav.tabs{display:none!important} }
.roster-wait{margin:10px 0 0;padding:9px 12px;border:1px solid rgba(255,197,61,.45);background:rgba(255,197,61,.08);color:#ffe2a0;font-size:13px;border-radius:6px}
.roster-wait b{color:#fff}
.roster-wait.lock{border-color:rgba(255,90,90,.5);background:rgba(255,70,70,.08);color:#ffc2c2}
.kick-b{appearance:none;cursor:pointer;padding:2px 8px;border:1px dashed rgba(255,90,90,.55);background:rgba(255,70,70,.06);color:#ff9a9a;font:700 10.5px/1.4 var(--display);letter-spacing:.06em;text-transform:uppercase;border-radius:4px}
.kick-b:hover{background:rgba(255,70,70,.16)}
.kick-c{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-basis:100%;margin-top:6px}
.kick-c .leave-note,.ra-undo-c .leave-note{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;max-width:100%}
/* Cup: schedule, my cup list, matchdays */
.ch-sched{margin:12px 0;padding:14px 16px}
.ch-sched h4{margin:0 0 8px;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:15px}
.ch-sched h4 small{font-family:var(--sans);text-transform:none;letter-spacing:0;color:var(--muted);font-size:12px;margin-left:6px}
.ch-sched ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ch-sched li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 10px;border:1px solid var(--line);background:rgba(0,0,0,.22);border-radius:6px}
.ch-sched li>span:first-child{flex:1 1 140px;font-weight:700;color:var(--ink)}
.ch-sched li>b{font-family:var(--mono,monospace);color:var(--gold);direction:ltr;unicode-bidi:isolate}
.ch-sched li.next{border-color:rgba(60,224,138,.5);background:rgba(60,224,138,.07)}
.ch-sched li.fin{border-color:rgba(255,196,64,.6);background:rgba(255,196,64,.08)}
.ch-sched li.past{opacity:.55}
.ch-sched li em{font-style:normal;font-size:12px;color:var(--muted)}
.ch-mylist{margin:10px 0;padding:12px;border:1px dashed var(--line-2);border-radius:8px;background:rgba(0,0,0,.2)}
.ch-mylist textarea{width:100%;max-width:420px;display:block;margin-bottom:8px;font-family:var(--mono,monospace)}
.ch-mylist.locked{border-style:solid}
.ch-names{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ch-names span{padding:3px 8px;border:1px solid var(--line);border-radius:4px;font-size:13px}
.ch-games li.ch-day{list-style:none;margin:10px 0 2px;padding:0;font:700 11.5px/1.3 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);border:0;background:none}
.ch-round h4 .ch-rt{display:block;font-family:var(--sans);font-size:12px;letter-spacing:0;text-transform:none;color:var(--muted);margin-top:2px}
.ch-adm-sched{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.2)}
.ch-adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:8px 0}
.ch-adm-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
/* cup banner: last day to register + countdown */
.chb-t .chb-close{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:4px;opacity:1;font-size:12.5px;color:#ffe2a0}
.chb-t .chb-close b{color:#fff;direction:ltr;unicode-bidi:isolate}
.chb-t .chb-close .ft-timer{font-size:12px;opacity:1}
/* registration closing time in orange (announcement + cup schedule) */
.chb-t .chb-close,.chb-t .chb-close b{color:#FF8A1F!important}
.chb-t .chb-close b{font-weight:800}
.ch-sched li.next{border-color:rgba(255,138,31,.65);background:rgba(255,138,31,.10)}
.ch-sched li.next>span:first-child,.ch-sched li.next>b{color:#FF8A1F}
.ch-sched li.next .ft-timer{border-color:rgba(255,138,31,.6);color:#FF8A1F}
.ch-sched li.next .ft-timer b{color:#fff}
.chb-t .chb-close .ft-timer{border-color:rgba(255,138,31,.6)!important;color:#FF8A1F!important}
.chb-t .chb-close .ft-timer b{color:#fff!important}
/* cup: player already registered pop-up */
.cup-alert{width:100%;max-width:380px;padding:24px 20px 18px;border:2px solid #FF8A1F;border-radius:14px;background:linear-gradient(180deg,#2a1708,#140b05);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.cup-alert .ca-ic{font-size:34px;line-height:1}
.cup-alert b{font-size:18px;color:#FF8A1F}
.cup-alert p{margin:0;color:#ffe7cf;font-size:15px;line-height:1.5}
/* cup: submitted results */
.ch-claim{margin:6px 0 2px;padding:8px 10px;border:1px solid rgba(255,138,31,.55);background:rgba(255,138,31,.08);border-radius:6px;font-size:13px;color:#ffe2c4}
.ch-claim.done{border-color:var(--line);background:rgba(0,0,0,.2);color:var(--muted)}
.ch-claim em{font-style:normal;color:#FF8A1F}
.ch-claim-act{display:flex;gap:8px;margin-top:6px}
.ch-sub{margin:6px 0;padding:10px;border:1px dashed var(--line-2);border-radius:8px;background:rgba(0,0,0,.25);display:flex;flex-direction:column;gap:8px}
.ch-sub-btn{margin:6px 0 2px}
/* cup prizes */
.chp{margin:12px 0;padding:14px 16px;border:1px solid rgba(255,196,64,.55);border-radius:10px;background:linear-gradient(135deg,rgba(255,196,64,.14),rgba(255,138,31,.06))}
.chp-h{font-family:var(--display);font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:#FFD23F;margin-bottom:10px}
.chp-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.chp-p{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(0,0,0,.3)}
.chp-p.p1{border-color:#FFD23F;box-shadow:0 0 18px rgba(255,210,63,.18) inset}
.chp-p span{font-size:13px;font-weight:700;color:#f3dfb0}
.chp-p b{font-family:var(--display);font-size:24px;color:#FFD23F;direction:ltr;unicode-bidi:isolate}
.chp-p.p2 b{color:#E6E6EA}
.chp-p b small{font-size:12px;color:#E6D28A}
.chb-t .chb-prz{margin-top:4px;font-size:13px;opacity:1;color:#FFD23F}
.chb-t .chb-prz b{color:#FFD23F;direction:ltr;unicode-bidi:isolate}
/* XClan: players looking for a clan */
.xc-form{margin:12px 0;padding:16px}
.xc-form h3{margin:0 0 10px}
.xc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.xc-grid .xc-note{grid-column:1/-1}
@media(max-width:560px){.xc-grid{grid-template-columns:1fr}}
.xc-mine{border-color:rgba(60,224,138,.5)}
.xc-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.xc-card{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,rgba(var(--d2),.92),rgba(var(--d3),.92))}
.xc-top{display:flex;align-items:center;gap:10px}
.xc-who{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.xc-who .pl{font-weight:800;font-size:16px}
.xc-who small{flex-basis:100%;color:var(--muted);font-size:12px}
.xc-note-t{margin:8px 0 0;font-size:14px;color:var(--ink)}
.xc-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}
.xc-wa{background:#25D366!important;border-color:#25D366!important;color:#06240f!important;font-weight:800}
.xc-ph{font-size:13px;color:var(--muted)}
.xc-lock{margin:10px 0 0}
/* FC27 Tournament */
.cup-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
@media(max-width:760px){.cup-top{grid-template-columns:1fr}}
.cup-rules h4{margin:0 0 8px;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;font-size:15px}
.cup-rules ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cup-rules li{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.22);font-size:14px}
.cup-rules li b{color:#C6FF1A}
.cup-groups{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.cup-g .ch-table tr.me td{color:#C6FF1A}
.cup-day{margin:12px 0 4px!important;font:700 11.5px/1.3 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.cup-m{margin:6px 0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.22)}
.cup-m.mine{border-color:rgba(198,255,26,.55);background:rgba(198,255,26,.06)}
.cup-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.cup-sd{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.cup-sd.r{text-align:right}
.cup-sd.w .cup-n{color:#3CE08A}
.cup-n.me{text-decoration:underline;text-decoration-color:#C6FF1A}
.cup-tbd{color:var(--muted);font-style:italic}
.cup-sc{font:800 16px/1 var(--mono,monospace);color:#fff;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,.08)}
.cup-sc.vs{font-size:12px;color:var(--muted);background:none}
.cup-claim{margin-top:6px;font-size:12.5px;color:#ffe2c4}
.cup-claim em{font-style:normal;color:#FF8A1F}
.cup-claim.rev em{color:#FF6B6B}
.cup-act,.cup-staff{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.cup-staff .adm{font-size:10px;padding:2px 6px;border:1px solid var(--gold);color:var(--gold);border-radius:4px;letter-spacing:.08em;text-transform:uppercase}
.cup-sub{margin-top:8px;padding:10px;border:1px dashed var(--line-2);border-radius:8px;display:flex;flex-direction:column;gap:8px}
.cup-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cup-subbtn{margin-top:6px}
.cup-mine{display:grid;gap:4px;margin-bottom:10px}
.cup-when{font-size:12px;font-weight:700;color:#C6FF1A;margin-top:8px}
.cup-br .ch-round{min-width:240px}
.cup-ru tr.out td{opacity:.5}
.cup-staff .ch-sc,.cup-in .ch-sc{width:64px!important;flex:none;padding:6px 8px;text-align:center}
.cup-staff{gap:6px}
.ft-resv{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:10px;padding:8px 10px;border:1px dashed rgba(255,196,64,.5);border-radius:8px}
.ft-resv b{color:#FFD23F;font-size:13px}
.ft-resv small{flex-basis:100%}
.cup-ru tr.cut td{border-bottom:2px solid #C6FF1A}
/* FC27 groups: 3 at a time with arrows */
.cup-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px}
.cup-arr{appearance:none;cursor:pointer;width:52px;height:52px;flex:none;border-radius:50%;border:2px solid #C6FF1A;background:rgba(198,255,26,.12);color:#C6FF1A;font-size:20px;font-weight:900;display:grid;place-items:center}
.cup-arr:hover:not([disabled]){background:#C6FF1A;color:#0b1510}
.cup-arr[disabled]{opacity:.25;cursor:default}
.cup-pg-mid{flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 12px;text-align:center}
.cup-pg-mid b{font-family:var(--display);font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.cup-pg-mid span{color:var(--muted)}
.cup-pg-sel{width:auto!important;padding:6px 10px}
.cup-page{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:start}
.cup-page .cup-g{align-self:start}
@media(max-width:640px){.cup-page{grid-template-columns:1fr!important}.cup-arr{width:44px;height:44px}}
.cup-first tbody tr td:nth-child(2){color:#FFD23F}
.cup-ru tr.me td{color:#C6FF1A}
