/* R6S Community Tournament EG — Creator Hub
   Visual language lifted from the campaign KVs: near-black ground, signal red,
   amber yellow, HUD brackets and tick marks. */

@font-face{font-family:"Scout";src:url("../assets/fonts/Scout-Regular.otf");font-weight:400;font-display:swap}
@font-face{font-family:"Scout";src:url("../assets/fonts/Scout-Bold.otf");font-weight:700;font-display:swap}
@font-face{font-family:"Scout";src:url("../assets/fonts/Scout-Black.otf");font-weight:900;font-display:swap}
@font-face{font-family:"Scout Cond";src:url("../assets/fonts/ScoutCond-Bold.otf");font-weight:700;font-display:swap}
@font-face{font-family:"Scout Cond";src:url("../assets/fonts/ScoutCond-Black.otf");font-weight:900;font-display:swap}
@font-face{font-family:"Changa";src:url("../assets/fonts/Changa-Regular.ttf");font-weight:400;font-display:swap}
@font-face{font-family:"Changa";src:url("../assets/fonts/Changa-600.ttf");font-weight:600;font-display:swap}
@font-face{font-family:"Changa";src:url("../assets/fonts/Changa-800.ttf");font-weight:800;font-display:swap}

:root{
  --ground:#0b0b0c;
  --panel:#151517;
  --panel-2:#1d1d20;
  --ink:#f4f1ec;
  --ink-2:#b9b6b0;
  --red:#f5392b;
  --red-deep:#5a1812;
  --amber:#ffc72c;
  --line:rgba(245,57,43,.55);

  --display:"Scout Cond","Changa",system-ui,sans-serif;
  --wide:"Scout","Changa",system-ui,sans-serif;
  --body:"Changa","Scout",system-ui,sans-serif;

  --ease-out:cubic-bezier(.23,1,.32,1);
  --gutter:clamp(16px,4vw,48px);
  --maxw:1240px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:var(--ground);border-bottom:1px solid rgba(255,255,255,.07)}
.nav__in{display:flex;align-items:center;gap:24px;height:64px}
.brand{font:900 20px/1 var(--display);letter-spacing:.02em;text-decoration:none;display:flex;align-items:center;gap:10px;white-space:nowrap}
.brand i{width:12px;height:12px;background:var(--red);display:block}
.brand b{color:var(--red);font-weight:900}
.nav__links{display:flex;gap:2px;margin-inline-start:auto;overflow-x:auto;scrollbar-width:none}
.nav__links::-webkit-scrollbar{display:none}
.nav__links a{font-size:14px;text-decoration:none;color:var(--ink-2);padding:8px 12px;white-space:nowrap;transition:color 150ms ease}
@media (hover:hover){.nav__links a:hover{color:var(--ink)}}
.nav__links a.is-on{color:var(--amber)}
.lang{font:700 13px/1 var(--wide);background:transparent;color:var(--ink);border:1px solid rgba(255,255,255,.25);padding:9px 12px;cursor:pointer;transition:transform 140ms var(--ease-out),background 150ms ease}
.lang:active{transform:scale(.97)}
@media (hover:hover){.lang:hover{background:var(--panel-2)}}

/* ---------- shared bits ---------- */
.tag{display:inline-block;background:var(--amber);color:#0b0b0c;font:700 14px/1 var(--wide);letter-spacing:.04em;padding:9px 12px;text-transform:uppercase}
html[dir=rtl] .tag{letter-spacing:0;font-family:var(--body);font-weight:800;text-transform:none;font-size:15px}
.hud{position:relative}
.hud::before,.hud::after{content:"";position:absolute;width:22px;height:22px;pointer-events:none;border:2px solid var(--red)}
.hud::before{top:-1px;inset-inline-start:-1px;border-width:2px 0 0 2px}
.hud::after{bottom:-1px;inset-inline-end:-1px;border-width:0 2px 2px 0}
html[dir=rtl] .hud::before{border-width:2px 2px 0 0}
html[dir=rtl] .hud::after{border-width:0 0 2px 2px}

.sec{padding-block:clamp(56px,7vw,100px)}
.sec--alt{background:var(--panel)}
.sec__head{display:flex;align-items:center;gap:18px;margin-bottom:clamp(22px,3.2vw,38px)}
.sec__head h2{font:900 clamp(34px,5.4vw,68px)/.98 var(--display);letter-spacing:-.005em;text-transform:uppercase}
html[dir=rtl] .sec__head h2{font:800 clamp(34px,5vw,60px)/1.15 var(--body);text-transform:none;letter-spacing:0}
.arrow{flex:none;width:clamp(38px,5vw,60px);color:var(--amber)}
html[dir=rtl] .arrow{transform:scaleX(-1)}
.lede{max-width:62ch;font-size:clamp(17px,1.5vw,20px);color:var(--ink)}
.muted{color:var(--ink-2)}
.red{color:var(--red)}
.amber{color:var(--amber)}
.btn{display:inline-flex;align-items:center;gap:10px;font:700 15px/1 var(--wide);letter-spacing:.03em;text-decoration:none;padding:16px 22px;border:0;cursor:pointer;transition:transform 140ms var(--ease-out),background 150ms ease,color 150ms ease}
html[dir=rtl] .btn{font-family:var(--body);font-weight:800;letter-spacing:0;font-size:16px}
.btn:active{transform:scale(.97)}
.btn--red{background:var(--red);color:#fff}
.btn--amber{background:var(--amber);color:#0b0b0c}
.btn--ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px rgba(255,255,255,.28)}
@media (hover:hover){
  .btn--red:hover{background:#ff5144}
  .btn--amber:hover{background:#ffd552}
  .btn--ghost:hover{box-shadow:inset 0 0 0 2px var(--amber);color:var(--amber)}
}

/* ---------- hero ---------- */
.hero{padding-block:clamp(24px,4vw,48px) 0}
.hero__kv{position:relative;border:1px solid rgba(255,255,255,.08)}
.hero__kv img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hero__txt{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(28px,5vw,72px);align-items:end;padding-block:clamp(36px,5vw,64px)}
.hero h1{font:900 clamp(40px,6.6vw,92px)/.94 var(--display);text-transform:uppercase;letter-spacing:-.005em}
html[dir=rtl] .hero h1{font:800 clamp(38px,5.6vw,76px)/1.12 var(--body);text-transform:none;letter-spacing:0}
.hero h1 em{font-style:normal;color:var(--red)}
.hero__sub{margin-top:20px;max-width:52ch;color:var(--ink-2);font-size:clamp(17px,1.5vw,20px)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* readout panel (the "100%" box from the KV) */
.readout{border:1px solid var(--amber);background:#000}
.readout__top{background:var(--amber);color:#0b0b0c;font:700 14px/1 var(--wide);letter-spacing:.05em;padding:10px 14px;text-transform:uppercase;display:flex;justify-content:space-between;gap:12px}
html[dir=rtl] .readout__top{font-family:var(--body);font-weight:800;letter-spacing:0;text-transform:none;font-size:15px}
.cd{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 14px 8px}
.cd div{text-align:center}
.cd b{display:block;font:900 clamp(38px,5vw,64px)/1 var(--wide);color:var(--amber);font-variant-numeric:tabular-nums}
.cd span{font-size:13px;color:var(--ink-2)}
.readout__foot{padding:10px 14px 14px;font-size:14px;color:var(--ink-2);border-top:1px dashed rgba(255,199,44,.35);margin:10px 14px 0;padding-inline:0}

/* ticker */
.ticker{border-block:1px solid rgba(255,255,255,.08);background:var(--panel)}
.ticker__in{display:grid;grid-template-columns:repeat(4,1fr)}
.tk{padding:22px 20px;border-inline-start:1px solid rgba(255,255,255,.08)}
.tk:first-child{border-inline-start:0}
.tk small{display:block;font-size:13px;color:var(--ink-2)}
.tk b{display:block;font:900 clamp(26px,3.2vw,42px)/1.1 var(--wide);margin-top:4px}
.tk b.y{color:var(--amber)}
.tk b.r{color:var(--red)}

/* ---------- mission ---------- */
.mission{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,88px);align-items:start}
.mission .lede+.lede{margin-top:18px}
.alert{border:1px solid var(--red);background:var(--red-deep);padding:22px 24px 24px;margin-top:0}
.alert h3{font:800 18px/1.3 var(--body);color:var(--amber);margin-bottom:8px}
.alert p{color:var(--ink);font-size:16px}

/* ---------- timeline ---------- */
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.date{background:var(--panel);display:flex;flex-direction:column}
.sec--alt .date{background:var(--ground)}
.date__top{background:#000;border:1px solid rgba(255,255,255,.1);border-bottom:0;padding:14px 16px;font-weight:600;font-size:15px;min-height:56px;display:flex;align-items:center}
.date__num{background:var(--amber);color:#0b0b0c;padding:18px 16px 14px;font:900 clamp(40px,4.6vw,64px)/.95 var(--wide);letter-spacing:-.02em}
.date__num small{display:block;font:700 clamp(18px,1.8vw,24px)/1.2 var(--body);letter-spacing:0;margin-top:6px}
.date--red .date__num{background:var(--red);color:#fff}
.date__txt{padding:16px;font-size:15px;color:var(--ink-2);flex:1;border:1px solid rgba(255,255,255,.08);border-top:0}
.date__txt b{color:var(--ink);font-weight:600}
.note{margin-top:20px;font-size:14px;color:var(--ink-2)}

/* ---------- prizes ---------- */
.prize{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:center}
.prize__big{font:900 clamp(84px,15vw,200px)/.85 var(--wide);color:var(--amber);letter-spacing:-.04em}
.prize__big sup{font-size:.4em;vertical-align:top;position:relative;top:.12em;margin-inline-end:.05em}
.prize__lbl{margin-top:18px}
.bar{display:flex;height:84px;gap:4px;margin-bottom:20px}
.bar div{display:flex;align-items:center;padding-inline:18px;font:900 clamp(20px,2.6vw,32px)/1 var(--wide);min-width:0}
.bar .b-main{flex:3000;background:var(--amber);color:#0b0b0c}
.bar .b-week{flex:600;background:var(--red);color:#fff;justify-content:center;padding-inline:6px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split > div{background:var(--panel-2);padding:20px}
.split h3{font:800 18px/1.3 var(--body);margin-bottom:6px}
.split p{font-size:15px;color:var(--ink-2)}
.split p b{color:var(--ink)}

/* ---------- talking points ---------- */
.pts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.pt{background:var(--ground);border:1px solid rgba(255,255,255,.08)}
.pt__h{background:var(--red);padding:12px 18px;font:800 18px/1.3 var(--body);display:flex;justify-content:space-between;align-items:center;gap:12px}
.pt__h svg{width:20px;flex:none}
.pt ul{padding:18px 20px 22px;display:grid;gap:10px}
.pt li{position:relative;padding-inline-start:20px;font-size:16px}
.pt li::before{content:"";position:absolute;inset-inline-start:0;top:.7em;width:8px;height:8px;background:var(--amber)}
.pt--hot{grid-column:1/-1}
.pt--hot .pt__h{background:var(--amber);color:#0b0b0c}
.pt--hot ul{grid-template-columns:repeat(2,1fr);column-gap:36px}
.warn{margin-top:20px;padding:16px 20px;background:var(--panel-2);border-inline-start:4px solid var(--amber);font-size:15px}

/* ---------- deliverables ---------- */
.dlv{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px)}
.dlv h3{font:800 22px/1.3 var(--body);margin-bottom:18px}
.checks li{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px}
.checks li svg{flex:none;width:22px;height:22px;margin-top:3px;color:var(--amber)}
.flow{background:#000;border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--red)}
.flow li{position:relative;padding:20px 22px 20px}
.flow li+li{border-top:2px solid var(--red)}
.flow li+li::before{content:"";position:absolute;top:-15px;inset-inline-start:50%;width:28px;height:28px;margin-inline-start:-14px;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2'%3E%3Cpath d='M4 12l5 5L20 6'/%3E%3C/svg%3E") center/16px no-repeat}
.flow b{display:block;font-weight:800;font-size:17px}
.flow span{display:block;margin-top:2px;font-size:15px;color:var(--ink-2)}

/* ---------- rules ---------- */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.fact{background:var(--ground);padding:22px 22px 24px}
.fact small{display:block;font-size:13px;color:var(--ink-2);margin-bottom:6px}
.fact b{display:block;font:700 clamp(20px,2vw,26px)/1.2 var(--wide);color:var(--ink)}
html[dir=rtl] .fact b{font-family:var(--body);font-weight:800}
.fact p{font-size:14px;color:var(--ink-2);margin-top:6px}
.maps{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.maps span{background:var(--panel-2);padding:9px 14px;font-size:14px;font-weight:600}
.maps-l{margin-top:36px;font-weight:800}
.sched{width:100%;border-collapse:collapse;margin-top:12px;font-size:15px}
.sched th,.sched td{padding:12px 14px;text-align:start;border-bottom:1px solid rgba(255,255,255,.1)}
.sched th{font-weight:600;color:var(--ink-2);font-size:13px}
.sched td:last-child{color:var(--amber);font-weight:600}
.scroll-x{overflow-x:auto}

/* ---------- CTA copy ---------- */
.cta{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,72px);align-items:center}
.quote{background:#000;border:1px solid rgba(255,255,255,.1);padding:clamp(22px,3vw,36px);font-size:clamp(18px,1.8vw,22px);line-height:1.55}
.quote strong{color:var(--amber);font-weight:600}
.copy-row{display:flex;gap:12px;align-items:center;margin-top:16px}
.copy-row small{color:var(--amber);font-size:14px;opacity:0;transition:opacity 150ms ease}
.copy-row small.on{opacity:1}
.reg{background:var(--red);padding:clamp(24px,3vw,36px)}
.reg h3{font:900 clamp(28px,3.4vw,44px)/1 var(--display);text-transform:uppercase;margin-bottom:12px}
html[dir=rtl] .reg h3{font:800 clamp(26px,3vw,38px)/1.2 var(--body);text-transform:none}
.reg p{margin-bottom:22px;font-size:16px}
.reg .btn{background:#0b0b0c;color:#fff}
@media (hover:hover){.reg .btn:hover{background:#000;color:var(--amber)}}

/* ---------- assets ---------- */
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.shot{background:var(--panel);position:relative;overflow:hidden}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform 400ms var(--ease-out)}
@media (hover:hover){.shot:hover img{transform:scale(1.025)}}
.shot figcaption{position:absolute;inset-inline:0;bottom:0;background:#000;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:14px}
.shot a{font:700 12px/1 var(--wide);letter-spacing:.05em;color:var(--amber);text-decoration:none;text-transform:uppercase;white-space:nowrap}
html[dir=rtl] .shot a{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:14px}
.shot--kv{grid-column:span 12}
.shot--kv img{aspect-ratio:16/9}
.shot--p{grid-column:span 3}
.shot--p img{aspect-ratio:4/5}
.shot--p figcaption,.shot--kv figcaption{position:static}
.shot{display:flex;flex-direction:column}
.shot img{flex:1;min-height:0;height:auto}
.stage-h{margin:44px 0 16px;font:800 20px/1.3 var(--body)}

/* ---------- roster ---------- */
.rpledge{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:32px}
.rtags{display:flex;flex-wrap:wrap;gap:8px}
.rgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.kvc{position:relative;display:block;aspect-ratio:4/5;container-type:inline-size;background:url("../assets/frame/border.png") center/100% 100% no-repeat;color:inherit;text-decoration:none;transition:transform 200ms var(--ease-out)}
.kvc:active{transform:scale(.98)}
.kvc__photo{position:absolute;left:10.5%;right:10.5%;top:9.5%;bottom:15.5%;background:#1d1d20;overflow:hidden;display:grid;place-items:center;font:900 22cqw/1 var(--wide);box-shadow:0 22px 44px -10px rgba(0,0,0,.85);transition:transform 300ms var(--ease-out),box-shadow 300ms var(--ease-out)}
.kvc__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;display:block;transition:filter 300ms var(--ease-out)}
@media (hover:hover){
  .kvc:hover .kvc__photo{transform:translateY(-6px);box-shadow:0 30px 54px -10px rgba(0,0,0,.9)}
  .kvc:hover .kvc__photo img{filter:none}
}
.kvc__tag{position:absolute;left:16%;right:10.5%;bottom:9%;display:flex;flex-direction:column;z-index:2;pointer-events:none}
.kvc__tag small{background:#000;color:#fff;font:600 4.6cqw/1 var(--body);padding:2.2cqw 3cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-self:flex-start;max-width:100%}
.kvc__tag b{background:var(--amber);color:#0b0b0c;font:900 7.6cqw/1 var(--body);padding:2.8cqw 3cqw 3cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (prefers-reduced-motion:reduce){.kvc,.kvc__photo,.kvc__photo img{transition:none}}

/* ---------- roadmap ---------- */
.road{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.slot{border:1px dashed rgba(255,255,255,.28);padding:22px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.slot b{font-weight:800;font-size:18px}
.slot span{font-size:14px;color:var(--ink-2)}
.slot em{font:700 12px/1 var(--wide);font-style:normal;letter-spacing:.06em;color:var(--amber);text-transform:uppercase}
html[dir=rtl] .slot em{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:14px}

/* ---------- footer ---------- */
.foot{padding-block:clamp(48px,7vw,88px) 40px;border-top:1px solid rgba(255,255,255,.08)}
.foot__big{font:900 clamp(48px,11vw,170px)/.88 var(--display);text-transform:uppercase;letter-spacing:-.01em}
.foot__big em{font-style:normal;color:var(--red)}
.foot__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:36px;font-size:14px;color:var(--ink-2)}

/* ---------- motion ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 520ms var(--ease-out),transform 520ms var(--ease-out);transition-delay:var(--d,0ms)}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv{transform:none;transition:opacity 200ms ease}
  .shot img{transition:none}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero__txt,.mission,.prize,.dlv,.cta{grid-template-columns:1fr}
  .tl,.road{grid-template-columns:repeat(2,1fr)}
  .rgrid{grid-template-columns:repeat(3,1fr)}
  .facts{grid-template-columns:repeat(2,1fr)}
  .ticker__in{grid-template-columns:repeat(2,1fr)}
  .tk:nth-child(3){border-inline-start:0}
  .tk:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08)}
  .shot--p{grid-column:span 6}
}
@media (max-width:640px){
  body{font-size:16px}
  .pts,.pt--hot ul,.split{grid-template-columns:1fr}
  .tl,.road,.facts{grid-template-columns:1fr}
  .rgrid{grid-template-columns:repeat(2,1fr);gap:12px}
  .bar{height:64px}
  .bar .b-week{font-size:0}
  .sec__head{gap:12px}
}

/* ---------- roadmap ---------- */
.rm{display:grid;gap:0}
.ph{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:clamp(24px,5vw,72px);padding-block:clamp(28px,4vw,48px);border-top:1px solid rgba(255,255,255,.12);position:relative}
.ph:first-child{border-top:0;padding-top:0}
.ph__side h3{font:900 clamp(28px,3.4vw,44px)/1 var(--display);text-transform:uppercase;margin:14px 0 8px}
html[dir=rtl] .ph__side h3{font:800 clamp(26px,3vw,36px)/1.2 var(--body);text-transform:none}
.ph__date{display:block;font:900 clamp(20px,2.2vw,28px)/1.2 var(--wide);color:var(--amber)}
html[dir=rtl] .ph__date{font-family:var(--body);font-weight:800}
.ph__body>p{max-width:60ch;font-size:clamp(17px,1.4vw,19px)}
.ph--main .ph__date{color:var(--red)}
.wk{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.wkc{background:var(--ground);border:1px solid rgba(255,255,255,.1)}
.wkc__top{background:#000;padding:10px 14px;font-weight:600;font-size:14px;display:flex;justify-content:space-between;gap:8px}
.wkc__top em{font-style:normal;color:var(--ink-2);font-weight:400}
.wkc__num{background:var(--amber);color:#0b0b0c;padding:14px 14px 10px;font:900 clamp(38px,4vw,54px)/.95 var(--wide)}
.wkc__num small{display:block;font:700 15px/1.3 var(--body);margin-top:6px}
.wkc__reg{padding:12px 14px;font-size:13px;color:var(--ink-2)}
.wkc--past .wkc__num{background:#3a3a3d;color:var(--ink-2)}
.ms{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.ms__i{background:var(--ground);border:1px solid rgba(255,255,255,.1);padding:16px}
.ms__i small{display:block;font-size:13px;color:var(--ink-2)}
.ms__i b{display:block;font:900 clamp(30px,3.4vw,44px)/1.05 var(--wide);margin-top:4px}
.ms__i span{font-size:13px;color:var(--ink-2)}
.ms__i--hot{background:var(--red);border-color:var(--red)}
.ms__i--hot small{color:#fff}
.ph .note{margin-top:16px}
@media (max-width:980px){
  .ph{grid-template-columns:1fr;gap:16px}
  .wk,.ms{grid-template-columns:repeat(2,1fr)}
}

/* ---------- nav: register + mobile menu ---------- */
.nav__reg{padding:11px 16px;font-size:13px}
.burger{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);background:transparent;cursor:pointer;place-content:center;gap:5px;padding:0;transition:transform 140ms var(--ease-out)}
.burger:active{transform:scale(.96)}
.burger span{display:block;width:20px;height:2px;background:var(--ink);transition:transform 200ms var(--ease-out),opacity 150ms ease}
.nav.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:860px){
  .burger{display:grid}
  .nav__reg{margin-inline-start:auto}
  .nav__links{display:none;position:absolute;top:64px;inset-inline:0;margin:0;background:var(--ground);flex-direction:column;padding:6px var(--gutter) 18px;border-bottom:1px solid rgba(255,255,255,.1);overflow:visible}
  .nav.open .nav__links{display:flex}
  .nav__links a{padding:15px 2px;font-size:17px;border-top:1px solid rgba(255,255,255,.07)}
}
@media (max-width:420px){.brand span{display:none}.nav__reg{padding:10px 12px}}

/* ---------- roadmap spine ---------- */
.rm{position:relative;padding-inline-start:34px}
.rm::before{content:"";position:absolute;inset-inline-start:7px;top:8px;bottom:8px;border-inline-start:2px dashed rgba(245,57,43,.55)}
.ph{position:relative}
.ph::before{content:"";position:absolute;inset-inline-start:-34px;top:calc(clamp(28px,4vw,48px) + 4px);width:16px;height:16px;background:var(--red)}
.ph:first-child::before{top:4px}
.ph--main::before{background:var(--amber)}
@media (max-width:980px){.rm{padding-inline-start:28px}.ph::before{inset-inline-start:-28px;width:14px;height:14px}.rm::before{inset-inline-start:6px}}

@media (max-width:980px){.pts{grid-template-columns:1fr}}
@media (max-width:1100px){.rgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.rgrid{grid-template-columns:repeat(2,1fr);gap:10px}}

/* ---------- showmatch ---------- */
.sm{display:grid;gap:28px}
.sm-avw{width:46px;height:46px;overflow:hidden;flex:none;background:#fff;display:block}
.sm-av{width:100%;height:100%;object-fit:cover;object-position:50% 10%;transform:scale(1.75);transform-origin:50% 16%;display:block}
.sm-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#000;border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--red);padding:20px clamp(16px,3vw,36px)}
.sm-team{display:flex;align-items:center;gap:18px}
.sm-team--b{justify-content:flex-end}
.sm-team small{font:900 clamp(20px,2.6vw,34px)/1 var(--display);text-transform:uppercase}
.sm-team b{font:900 clamp(44px,6vw,84px)/1 var(--wide);color:var(--amber);font-variant-numeric:tabular-nums}
.sm-team--a small{color:var(--red)}.sm-team--b small{color:var(--amber)}
.sm-mid{display:grid;justify-items:center;gap:8px}
.sm-mid i{font:900 18px/1 var(--wide);font-style:normal;color:var(--ink-2)}
.sm-status{font:700 12px/1 var(--wide);letter-spacing:.06em;text-transform:uppercase;padding:8px 10px;background:var(--panel-2);color:var(--ink-2)}
html[dir=rtl] .sm-status{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:13px}
.sm-status--live{background:var(--red);color:#fff}
.sm-status--finished{background:var(--amber);color:#0b0b0c}
.sm-info{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1)}
.sm-info div{background:var(--ground);padding:14px 18px}
.sm-info dt{font-size:13px;color:var(--ink-2)}
.sm-info dd{margin:2px 0 0;font:700 20px/1.2 var(--wide)}
html[dir=rtl] .sm-info dd{font-family:var(--body);font-weight:800}
.sm-teams{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sm-col{background:var(--ground);border:1px solid rgba(255,255,255,.1);padding:16px}
.sm-col--a{border-top:3px solid var(--red)}.sm-col--b{border-top:3px solid var(--amber)}
.sm-col h3{font:900 22px/1 var(--display);text-transform:uppercase;margin-bottom:12px}
html[dir=rtl] .sm-col h3{font:800 20px/1.2 var(--body);text-transform:none}
.sm-col ul{display:grid;gap:8px}
.sm-slot{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 10px;background:var(--panel-2)}
.sm-slot b{font-weight:800}
.sm-slot em{font-style:normal;font-size:14px;color:var(--ink-2)}
.sm-slot__e{width:40px;height:40px;border:1px dashed rgba(255,255,255,.3);flex:none}
.sm-pool{background:var(--ground);border:1px dashed rgba(255,255,255,.28);padding:18px}
.sm-pool h3{font:800 18px/1.3 var(--body)}
.sm-pool h3 span{color:var(--amber);margin-inline-start:6px}
.sm-pool p{font-size:14px;color:var(--ink-2);margin:2px 0 14px}
.sm-pool ul{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sm-pool li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-2);min-width:0}
.sm-pool li b{font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-awards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.sm-aw{background:var(--ground);border:1px solid rgba(255,255,255,.1);padding:14px;display:grid;gap:10px;align-content:start}
.sm-aw small{font-size:13px;color:var(--ink-2)}
.sm-aw.on{border-color:var(--amber)}.sm-aw.on small{color:var(--amber)}
.sm-aw__p{display:flex;align-items:center;gap:10px;min-width:0}
.sm-aw__p b{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-aw__e{width:40px;height:40px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.3);color:var(--ink-2);font:900 18px/1 var(--wide);flex:none}
.sm-aw em{font-style:normal;font-size:12px;color:var(--ink-2)}
.sm-h3{font:900 clamp(24px,2.6vw,32px)/1 var(--display);text-transform:uppercase;margin-bottom:-10px}
html[dir=rtl] .sm-h3{font:800 24px/1.2 var(--body);text-transform:none}
.sm-scroll{overflow-x:auto;background:#000;border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--red)}
.sm-table{width:100%;border-collapse:collapse;min-width:820px;font-size:15px}
.sm-table th,.sm-table td{padding:10px 12px;text-align:start;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}
.sm-table thead th{background:#0b0b0c;color:var(--amber);font-weight:700;font-size:13px}
.sm-table th button{all:unset;cursor:pointer;color:inherit;font:inherit;padding:2px 0;transition:color 150ms ease}
.sm-table th button.on{color:#fff;box-shadow:inset 0 -2px 0 var(--red)}
@media (hover:hover){.sm-table th button:hover{color:#fff}}
.sm-table .c-num{text-align:center;font-variant-numeric:tabular-nums}
.sm-table .c-rank{width:44px;color:var(--ink-2)}
.sm-table .c-player{display:flex;align-items:center;gap:12px}
.sm-table .c-player b{font-weight:700}
.sm-table tr.top td{background:rgba(245,57,43,.14)}
.sm-kda{color:var(--amber);font-weight:700}
.sm-chip{display:inline-block;min-width:28px;text-align:center;padding:4px 8px;background:var(--panel-2);color:var(--ink-2);font:700 13px/1 var(--wide)}
.sm-chip--a{background:var(--red);color:#fff}.sm-chip--b{background:var(--amber);color:#0b0b0c}
@media (max-width:980px){.sm-pool ul{grid-template-columns:repeat(2,1fr)}.sm-awards{grid-template-columns:repeat(2,1fr)}.sm-head{grid-template-columns:1fr;justify-items:center;text-align:center}.sm-team,.sm-team--b{justify-content:center}.sm-info{grid-template-columns:1fr}}
@media (max-width:640px){.sm-teams{grid-template-columns:1fr}}

.sm-sync{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}
.sm-sync i{width:10px;height:10px;background:var(--ink-2);flex:none}
.sm-sync--ok{color:var(--ink)}.sm-sync--ok i{background:#38d27a;box-shadow:0 0 0 0 rgba(56,210,122,.6);animation:smpulse 2s infinite}
.sm-sync--err{color:var(--amber)}.sm-sync--err i{background:var(--amber)}
@keyframes smpulse{70%{box-shadow:0 0 0 8px rgba(56,210,122,0)}100%{box-shadow:0 0 0 0 rgba(56,210,122,0)}}
@media (prefers-reduced-motion:reduce){.sm-sync--ok i{animation:none}}

/* ---------- tabs ---------- */
[data-tab][hidden]{display:none!important}
.nav__links a{position:relative}
.nav__links a.is-on{color:var(--amber)}
.nav__links a.is-on::after{content:"";position:absolute;inset-inline:12px;bottom:-1px;height:3px;background:var(--red)}
.nav{border-bottom:1px solid rgba(255,255,255,.07)}
main > [data-tab]:not([hidden]){animation:tabin 260ms var(--ease-out)}
@keyframes tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){main > [data-tab]:not([hidden]){animation:none}}
@media (max-width:860px){.nav__links a.is-on::after{inset-inline:2px;bottom:auto;top:auto;height:100%;width:3px;inset-inline-end:auto;inset-inline-start:-14px}}

/* ---------- operators tab ---------- */

.op-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:22px}
.op-bar input{flex:1 1 220px;min-width:0;background:var(--panel);border:1px solid rgba(255,255,255,.18);color:var(--ink);padding:13px 14px;font:600 15px/1 var(--body)}
.op-bar input:focus{outline:2px solid var(--amber)}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{background:transparent;color:var(--ink);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);padding:12px 14px;font:700 14px/1 var(--body);cursor:pointer;transition:transform 140ms var(--ease-out)}
.seg button:active{transform:scale(.97)}
.seg button.on{background:var(--amber);color:#0b0b0c;box-shadow:none}
.seg button b{opacity:.6;margin-inline-start:6px;font-weight:700}
.op-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;padding-bottom:80px}
.opc{all:unset;cursor:pointer;display:block;background:var(--panel);border-top:3px solid var(--amber);position:relative;overflow:hidden;transition:transform 180ms var(--ease-out)}
.opc--def{border-top-color:var(--red)}
.opc:focus-visible{outline:2px solid var(--amber)}
@media (hover:hover){.opc:hover{transform:translateY(-3px)}}
.opc:active{transform:scale(.98)}
.opc__img{aspect-ratio:3/4;display:grid;place-items:end center;background:#101012}
.opc__img img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;display:block}
.opc__meta{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#000}
.opc__meta img{width:24px;height:24px;object-fit:contain;flex:none}
.opc__meta b{font:900 15px/1.1 var(--display);text-transform:uppercase;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opc__side{margin-inline-start:auto;font:700 10px/1 var(--wide);color:var(--ink-2);letter-spacing:.06em}
/* detail */
.dlg{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.78);display:none;overflow-y:auto;padding:clamp(0px,3vw,36px)}
.dlg.on{display:block}
.dlg__box{max-width:1040px;margin-inline:auto;background:var(--ground);border:1px solid rgba(255,255,255,.12);border-top:3px solid var(--amber);position:relative}
.dlg__box.def{border-top-color:var(--red)}
.dlg__x{position:sticky;top:0;float:inline-end;z-index:2;margin:10px;width:44px;height:44px;background:#000;color:#fff;border:1px solid rgba(255,255,255,.3);font:700 22px/1 var(--body);cursor:pointer}
.dh{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(18px,3vw,40px);padding:clamp(18px,3vw,36px)}
.dh__img{background:#101012;aspect-ratio:3/4;display:grid;place-items:end center}
.dh__img img{width:100%;height:100%;object-fit:contain;object-position:50% 100%}
.dh h2{font:900 clamp(40px,6vw,72px)/.95 var(--display);text-transform:uppercase}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.tags span{background:var(--panel-2);padding:7px 10px;font-weight:600;font-size:13px}
.tags span.s{background:var(--amber);color:#0b0b0c}.tags span.s.def{background:var(--red);color:#fff}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:16px}
.kv div{background:#000;padding:12px 14px}.kv small{display:block;color:var(--ink-2);font-size:12px}.kv b{font-weight:700}
.ds{padding:0 clamp(18px,3vw,36px) clamp(18px,3vw,36px)}
.ds h3{font:900 24px/1 var(--display);text-transform:uppercase;margin:26px 0 12px}
.ds p{max-width:75ch;margin-bottom:12px;color:var(--ink)}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.item{background:var(--panel);padding:12px;display:grid;gap:8px;align-content:start;justify-items:center;text-align:center}
.item img{width:100%;height:64px;object-fit:contain}.item b{font-size:14px;font-weight:700}.item small{color:var(--ink-2);font-size:11px;letter-spacing:.04em}
.item--ability{background:#1a0d0b;border:1px solid var(--red)}
.opquote{border-inline-start:4px solid var(--amber);padding:6px 16px;font-style:italic;margin:14px 0}
details{background:var(--panel);padding:14px 16px;margin-top:10px}summary{cursor:pointer;font-weight:700}
details p{margin-top:12px;color:var(--ink-2);font-size:15px}
.skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.skins img{width:100%;background:#101012;display:block}
.tips{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.tip{background:var(--panel)}.tip img{width:100%;display:block}.tip div{padding:12px 14px}.tip b{display:block;margin-bottom:4px}.tip p{font-size:14px;color:var(--ink-2);margin:0}
@media (max-width:760px){.dh{grid-template-columns:1fr}.dh__img{max-width:300px;margin-inline:auto;width:100%}}

#operators .op-grid{padding-bottom:0}
#operators .op-bar{margin-bottom:22px}
