/* tournament.css — tournament.php (layout C "Match night", picked 2026-10-20).
   Colours come from shared.css tokens; the mockup is the reference. */
.tn-page{display:flex;flex-direction:column;gap:16px;padding-top:18px;padding-bottom:48px}
.tn-back{color:var(--muted);font-size:.85rem;text-decoration:none;align-self:flex-start}
.tn-back:hover{color:var(--fg)}
.tn-panel{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:16px;min-width:0}
.tn-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.tn-head h2{margin:0;font-size:1rem}
.tn-head span{font-size:.75rem;color:var(--muted)}
.tn-help{font-size:.85rem;color:var(--fg2);line-height:1.5;margin:0}
.tn-fine{font-size:.75rem;color:var(--muted);line-height:1.5;margin:0}

/* chips */
.tn-chips{display:flex;flex-wrap:wrap;gap:8px}
.tn-chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--glass-hover);color:var(--fg2);white-space:nowrap}
.tn-st-live{background:rgba(224,82,96,.15);color:#ff8a95}
.tn-st-live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.tn-st-open{background:rgba(52,211,153,.12);color:var(--green)}
.tn-st-disputes{background:rgba(242,169,0,.14);color:var(--gold)}
.tn-st-cancelled{background:rgba(224,82,96,.12);color:#ff8a95}
.tn-free{background:rgba(52,211,153,.12);color:var(--green)}
.tn-mode{background:var(--brand-glow);color:var(--brand)}
.tn-tw{background:rgba(169,112,255,.18);color:#c9a6ff}

/* list page */
.tn-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;grid-auto-rows:1fr}
.tn-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--fg);transition:border-color .15s}
.tn-card:hover{border-color:var(--border-brand)}
.tn-card h2{margin:0;font-size:1.15rem}
.tn-sub{margin:0;color:var(--fg2);font-size:.85rem}
.tn-empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:640px}
.tn-empty h2{margin:0}
.tn-empty p{margin:0;color:var(--fg2)}
/* the list page body is one .wg-frame (shared.css); its sections are .wg-panels */
.tn-panel-note{font-size:.78rem;color:var(--muted)}
.tn-frame .tn-empty{max-width:none}
.tn-frame>.tn-podium:empty{display:none}      /* no stray gap before the scores exist */
/* featured event (A + C mix, 2026-10-23) */
.tn-next{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;padding:24px;border-color:rgba(52,211,153,.35)}
.tn-next-live{border-color:rgba(224,82,96,.45)}
.tn-next-disputes{border-color:rgba(242,169,0,.4)}
.tn-next-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.tn-next-main h2{margin:0;font-size:1.75rem;font-weight:900;line-height:1.15}
.tn-next-main .tn-sub{font-size:.95rem}
.tn-kick{font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.tn-next-live .tn-kick{color:#ff8a95}
.tn-next-disputes .tn-kick{color:var(--gold)}
.tn-next-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.tn-next-cta .tn-cta{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;text-decoration:none}
.tn-ghost-btn.tn-next-ghost{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;color:var(--fg);border-color:var(--border);font-weight:700;font-size:.9rem;padding:0 18px}
.tn-ghost-btn.tn-next-ghost:hover{border-color:var(--border-brand)}
.tn-next-side{display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--border);padding-left:28px;min-width:0}
.tn-fill{display:flex;flex-direction:column;gap:8px}
.tn-fill-row{display:flex;justify-content:space-between;gap:8px;font-size:.85rem}
.tn-fill-row span{color:var(--fg2)}
.tn-fill-bar{height:8px;border-radius:99px;background:var(--glass-hover);overflow:hidden}
.tn-fill-bar i{display:block;height:100%;border-radius:99px;background:var(--green)}
.tn-tchips{display:flex;flex-wrap:wrap;gap:6px}
.tn-tchip{font-size:.78rem;padding:5px 10px;border-radius:8px;background:var(--glass-hover);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-tchip-open{background:none;border:1px dashed var(--border);color:var(--muted)}
/* how it works + hall of champions */
.tn-how,.tn-champs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.tn-hstep{display:flex;flex-direction:column;gap:8px;padding:20px}
.tn-hn{font-size:1.7rem;font-weight:900;color:var(--brand);line-height:1}
.tn-champ{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;text-decoration:none;color:var(--fg)}
.tn-champ svg{color:var(--gold)}
.tn-champ-won,.tn-champ-next{border-color:rgba(242,169,0,.45);background:rgba(242,169,0,.06)}
.tn-champ-won:hover{border-color:var(--gold)}
.tn-champ-k{font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
.tn-champ-t{font-size:1.15rem}
.tn-champ-empty{border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted)}
.tn-champ-empty .tn-champ-k{color:var(--muted)}
.tn-champ-empty b{color:var(--fg2);font-size:1.05rem}
.tn-streamit{display:flex;flex-direction:column;gap:12px;border-color:rgba(169,112,255,.35)}
.tn-streamit .tn-head{margin:0}
.tn-streamit .tn-ghost-btn.tn-next-ghost{margin-top:auto;align-self:flex-start;border-color:rgba(169,112,255,.5)}
.tn-tba{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 20px;border:1px dashed var(--border);border-radius:var(--radius)}
.tn-tba div{display:flex;flex-direction:column;gap:4px}
.tn-tba span{color:var(--fg2);font-size:.88rem}

/* hero */
.tn-hero{background:linear-gradient(180deg,rgba(50,167,235,.12),rgba(50,167,235,0));border:1px solid var(--border-brand);border-radius:16px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}
.tn-hero-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.tn-title{font-size:clamp(1.4rem,4vw,2rem);font-weight:900;margin:0;letter-spacing:-.02em;text-wrap:balance}
.tn-clock{text-align:right}
.tn-clock-t{font-size:2.4rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.tn-clock-k{font-size:.75rem;color:var(--muted);margin-top:4px}
.tn-note{border-color:rgba(224,82,96,.35);color:#ffb3ba}

/* podium */
.tn-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-auto-rows:1fr}
.tn-pod{border-radius:12px;padding:12px;border:1px solid var(--border);background:var(--bg3);display:flex;flex-direction:column;gap:4px;min-width:0}
.tn-p{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tn-g1{border-color:rgba(242,169,0,.45)} .tn-g1 .tn-p{color:var(--gold)}
.tn-g2{border-color:rgba(201,211,224,.35)} .tn-g2 .tn-p{color:#c9d3e0}
.tn-g3{border-color:rgba(208,138,78,.4)} .tn-g3 .tn-p{color:#d08a4e}
.tn-nm{font-weight:800;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-big{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums}
.tn-pod-sub{font-size:.72rem;color:var(--muted)}

/* rows (layout picked 2026-10-22): cards in one row share its height; the live
   row is a flex row so the cards beside a hidden stream panel take its room */
.tn-band{display:grid;gap:16px;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.tn-band-1{--n:1} .tn-band-2{--n:2} .tn-band-3{--n:3}
.tn-band>*{min-width:0}
.tn-band-live{display:flex}
.tn-band-live>.tn-streams{flex:1.6 1 0}
.tn-band-live>:not(.tn-streams){flex:1 1 0}
.tn-band-live>[hidden]{display:none}
.tn-streams{display:flex;flex-direction:column;gap:12px}

/* leaderboard */
.tn-board{overflow-x:auto}
.tn-lb{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tn-lb th{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:right;font-weight:700;padding:6px 8px;border-bottom:1px solid var(--border)}
.tn-lb th:nth-child(-n+2),.tn-lb td:nth-child(-n+2){text-align:left}
.tn-lb td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:right;font-size:.9rem;vertical-align:top}
.tn-row{cursor:pointer}
.tn-row:hover td,.tn-row:focus-visible td{background:var(--glass)}
.tn-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}
.tn-me td{background:var(--highlight-bg)}
.tn-rk{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--glass-hover);font-weight:800;font-size:.8rem}
.tn-r1 .tn-rk{background:rgba(242,169,0,.18);color:var(--gold)}
.tn-r2 .tn-rk{background:rgba(201,211,224,.15);color:#c9d3e0}
.tn-r3 .tn-rk{background:rgba(208,138,78,.18);color:#d08a4e}
.tn-tn{font-weight:700}
.tn-tn small{display:block;font-weight:500;color:var(--muted);font-size:.72rem;margin-top:2px}
.tn-lv{color:#c9a6ff;font-size:.7rem;font-weight:700;margin-left:6px}
.tn-pts{font-weight:800}
.tn-dots{display:inline-flex;gap:3px;padding-top:5px}
.tn-dots i{width:7px;height:7px;border-radius:2px;background:var(--glass-hover);display:block}
.tn-dots i.f{background:var(--brand)}
.tn-more{display:block;margin-top:5px;font-size:.72rem;font-weight:700;color:var(--brand);white-space:nowrap}
.tn-row:hover .tn-more{text-decoration:underline}
.tn-exp td{background:var(--bg3);padding:0}
.tn-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;padding:10px}
.tn-g{border:1px solid var(--border);border-radius:9px;padding:8px;text-align:left;font-size:.75rem;color:var(--fg2);background:var(--bg2);display:flex;flex-direction:column;gap:3px}
.tn-g b{color:var(--fg);font-size:.95rem}
.tn-gp{color:var(--muted)}
.tn-g a{color:var(--brand);text-decoration:none;font-weight:700}
/* team cards (open events), after clan.php's member cards; one height per row */
.tn-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;grid-auto-rows:1fr}
.tn-tc{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:12px;background:var(--bg3);border:1px solid var(--border);min-width:0}
.tn-tc.tn-me{border-color:var(--border-brand)}
.tn-tc-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tn-tc-head>b{font-size:.95rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}
.tn-tc-kd{font-size:.72rem;color:var(--muted)} .tn-tc-kd b{color:var(--brand);font-size:.82rem}
.tn-ok-chip{font-size:.68rem;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(52,211,153,.12);color:var(--green);white-space:nowrap}
.tn-pcs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tn-pc{display:flex;align-items:center;gap:6px;min-width:0}
.tn-pc-main{display:flex;align-items:center;gap:9px;min-width:0;flex:1;text-decoration:none;color:inherit;padding:5px 6px;border-radius:9px;transition:background .15s}
.tn-pc-main:hover{background:rgba(255,255,255,.06)}
.tn-av{width:32px;height:32px;border-radius:50%;flex:0 0 32px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:var(--muted);font-weight:700;font-size:.82rem}
.tn-pc-body{min-width:0;display:flex;flex-direction:column;gap:1px}
.tn-pc-name{display:flex;align-items:center;gap:5px;min-width:0;font-size:.85rem}
.tn-pc-name b{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.tn-pill{display:inline-block;font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:0 5px;margin-right:5px;border-radius:999px;background:rgba(242,169,0,.14);color:var(--gold);vertical-align:1px}
.tn-rank{width:20px;height:20px;flex:0 0 20px;object-fit:contain}
.tn-pc-sub{font-size:.7rem;color:var(--muted);line-height:1.35}
.tn-pc-marks{display:flex;align-items:center;gap:6px;flex:0 0 auto;font-size:.78rem}
.tn-pc-dc{font-size:.72rem}
.tn-pc-tw{color:#c9a6ff;text-decoration:none;font-size:.72rem;padding:3px 6px;border-radius:6px;background:rgba(169,112,255,.14)}

/* "Your team in Discord" / claim panel */
.tn-team{display:flex;flex-direction:column;gap:12px}
.tn-team .tn-head{margin-bottom:0}
.tn-trow{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.tn-trow-col{flex-direction:column;align-items:stretch}
.tn-tk{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tn-vc{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--fg);font-weight:700;background:rgba(88,101,242,.14);border:1px solid rgba(88,101,242,.4);border-radius:10px;padding:8px 12px}
.tn-vc small{color:#aab2ff;font-weight:600}
.tn-muted{color:var(--muted);font-size:.85rem}
.tn-ok{color:var(--green);font-size:.78rem}
.tn-inline{display:inline}
.tn-claims{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tn-claims li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.85rem;padding:7px 10px;border-radius:9px;background:var(--bg3)}
.tn-nudge{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;background:rgba(88,101,242,.1);border:1px solid rgba(88,101,242,.35);font-size:.85rem;color:var(--fg2)}
.tn-claim-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;grid-auto-rows:1fr}
.tn-claim-list form{display:flex}
.tn-claim{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;cursor:pointer;font-family:inherit;color:var(--fg);background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 12px}
.tn-claim:hover{border-color:var(--border-brand)}
.tn-claim span{font-size:.75rem;color:var(--brand);font-weight:700}
.tn-remind{align-self:flex-start;font-size:.85rem;color:var(--brand);text-decoration:none;font-weight:700}

/* stream + strip (Twitch needs >= 400x300, unscaled and uncovered to keep playing) */
.tn-stream{position:relative;aspect-ratio:16/9;min-height:300px;max-width:100%;border-radius:12px;overflow:hidden;background:#000}
.tn-stream iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tn-stream-link{display:grid;place-items:center;text-decoration:none;color:#e2d2ff;font-weight:800;background:radial-gradient(120% 90% at 30% 30%,#3b2a63 0%,#1d1433 55%,#0e0a1a 100%);border:1px solid rgba(169,112,255,.4)}
.tn-stream-who{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.tn-stream-who b{display:block}
.tn-stream-who span{font-size:.8rem;color:var(--fg2)}
.tn-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.tn-sc{flex:0 0 auto;display:flex;align-items:center;gap:10px;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:8px 12px 8px 8px;text-decoration:none;color:var(--fg)}
.tn-sc.on{border-color:rgba(169,112,255,.5);background:rgba(169,112,255,.08)}
.tn-thumb{width:48px;height:28px;border-radius:6px;background:linear-gradient(135deg,#6441a5,#2a1b4a);position:relative;flex:0 0 auto}
.tn-thumb::after{content:"LIVE";position:absolute;left:3px;top:3px;font-size:.52rem;font-weight:800;background:var(--red);color:#fff;border-radius:3px;padding:1px 3px}
.tn-n{display:block;font-weight:700;font-size:.85rem;white-space:nowrap}
.tn-m{display:block;font-size:.72rem;color:var(--muted);white-space:nowrap}

/* sign-up */
.tn-form{display:flex;flex-direction:column;gap:12px}
.tn-form label,.tn-solo-form label{font-size:.78rem;color:var(--fg2);font-weight:600;display:block;margin-bottom:5px}
.tn-form input,.tn-solo-form input:not([type=radio]),.tn-ovb input,.tn-ovb select,.tn-team input{width:100%;box-sizing:border-box;background:rgba(10,17,32,.85);border:1px solid var(--border);color:var(--fg);border-radius:9px;padding:10px 11px;font:500 .9rem inherit;font-family:inherit}
.tn-form input:focus,.tn-solo-form input:focus,.tn-ovb input:focus,.tn-ovb select:focus,.tn-team input:focus{outline:none;border-color:var(--brand)}
.tn-team .tn-ovb-link input{font-size:.8rem}
.tn-step{display:flex;gap:10px;align-items:center;font-size:.9rem}
.tn-step .tn-n{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;background:rgba(52,211,153,.18);color:var(--green)}
/* signed in: the form across the page, team name + button left, players 2×2 right */
.tn-signup-wide .tn-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:20px;align-items:start}
.tn-form-side{display:flex;flex-direction:column;gap:12px}
.tn-pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;grid-auto-rows:1fr}
.tn-pcard{margin:0;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--bg3);padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px}
.tn-pcard legend{padding:0 4px;font-size:.82rem;font-weight:700;color:var(--fg)}
.tn-pcard legend small,.tn-form label small,.tn-solo-form label small{color:var(--muted);font-weight:500;font-size:.72rem}
.tn-signup{display:flex;flex-direction:column}
.tn-signup>.tn-help{margin-bottom:12px}
.tn-perks{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:9px;font-size:.88rem;color:var(--fg2);line-height:1.45}
.tn-perks li{padding-left:22px;position:relative}
.tn-perks li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.tn-perks b{color:var(--fg)}
.tn-signin{align-self:flex-start;margin-top:auto}
.tn-band-3 .tn-ovb-row{grid-template-columns:minmax(0,1fr)}
.tn-spot{border:1px dashed rgba(255,255,255,.14);border-radius:12px;display:grid;place-items:center;font-size:.8rem;color:var(--muted);min-height:120px;text-align:center;padding:8px}
.tn-st{font-size:.72rem;margin-top:4px}
.tn-st-ok{color:var(--green)} .tn-st-wait{color:var(--gold)} .tn-st-bad{color:#ff8a95}
.tn-cta{background:var(--brand);color:#04121d;border:0;border-radius:10px;padding:12px 16px;font-weight:800;font-size:.95rem;cursor:pointer;font-family:inherit}
.tn-cta:hover{filter:brightness(1.08)}
.tn-err{background:rgba(224,82,96,.1);border:1px solid rgba(224,82,96,.35);color:#ffb3ba;border-radius:9px;padding:10px 12px;font-size:.85rem;margin-bottom:10px}
.tn-flash{background:rgba(52,211,153,.1);border:1px solid rgba(52,211,153,.3);color:#a7f3d0;border-radius:9px;padding:10px 12px;font-size:.85rem;margin-bottom:10px}
.tn-withdraw{margin-top:10px}
.tn-link-btn{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:.8rem;padding:0;font-family:inherit}

/* "Link your PUBG name in Discord" (option B, picked 2026-10-22) */
.tn-link{display:flex;flex-direction:column;gap:14px;border-color:rgba(88,101,242,.45)}
.tn-link-head{display:flex;align-items:center;gap:10px;color:#8f98ff}
.tn-link-head h2{margin:0;font-size:1rem;color:var(--fg)}
.tn-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tn-steps li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tn-sn{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800;background:rgba(50,167,235,.16);color:var(--brand)}
.tn-sn-ok{background:rgba(52,211,153,.16);color:var(--green)}
.tn-sx{flex:1 1 200px;min-width:0;font-size:.88rem;line-height:1.5}
.tn-sx code{font-family:ui-monospace,Consolas,monospace;font-size:.82rem;background:var(--bg3);border:1px solid var(--border);padding:2px 7px;border-radius:6px;overflow-wrap:anywhere}
.tn-sbtn{min-height:44px;display:inline-flex;align-items:center}
.tn-ask{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border);font-size:.88rem;color:var(--fg2);line-height:1.5}
.tn-ask b{color:var(--fg)}
.tn-ghost-btn{background:transparent;color:var(--brand);border:1px solid rgba(50,167,235,.5);border-radius:10px;padding:0 14px;min-height:44px;font:700 .82rem inherit;font-family:inherit;cursor:pointer}
.tn-ghost-btn:hover{background:rgba(50,167,235,.08)}

/* rules */
.tn-rules{display:flex;flex-direction:column;gap:10px;font-size:.85rem;color:var(--fg2);line-height:1.5}
.tn-rules .tn-head{margin-bottom:0}
.tn-rules p{margin:0}
.tn-rules b{color:var(--fg)}
.tn-ptable{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;font-variant-numeric:tabular-nums;text-align:center}
.tn-ptable div{background:var(--bg3);border-radius:6px;padding:5px 0;font-size:.72rem}
.tn-ptable b{display:block;font-size:.9rem;color:var(--fg)}
.tn-ptable .tn-pkill{background:rgba(50,167,235,.16);border:1px solid rgba(50,167,235,.45);color:#a9d8f5}

/* overlay builder */
.tn-ovb{display:flex;flex-direction:column;gap:12px}
.tn-ovb .tn-head{margin-bottom:0}
.tn-ovb label{font-size:.78rem;color:var(--fg2);font-weight:600;display:block;margin-bottom:5px}
.tn-ovb-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tn-ovb-link{display:flex;gap:8px}
.tn-ovb-link input{flex:1;min-width:0;font-size:.8rem}
/* the real overlay in a frame over a stand-in for gameplay (tournament.js preview()) */
.tn-ovp{position:relative;flex:1;min-height:110px;border-radius:12px;overflow:hidden;background:#34414f;border:1px solid var(--border)}
.tn-ovp iframe{position:absolute;left:12px;top:12px;border:0;background:transparent;transform-origin:0 0;pointer-events:none}
.tn-ovp-k{position:absolute;right:10px;bottom:8px;font-size:.68rem;color:#c4cfdb}
.tn-ovp .tn-help{position:absolute;left:12px;top:12px;color:#c4cfdb}

/* solo players + Mixed Squads (2026-10-23, mockup "Mixed teams") */
.tn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tn-mode-sw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:12px;border:1px solid var(--border);border-radius:10px}
.tn-mode-sw a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;text-decoration:none;color:var(--fg2);font-weight:700;font-size:.88rem;text-align:center;padding:0 8px}
.tn-mode-sw a:hover{color:var(--fg)}
.tn-mode-sw a[aria-current]{background:var(--brand);color:#04121d}
.tn-solo-form{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}
.tn-mic{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.tn-mic legend{font-size:.78rem;color:var(--fg2);font-weight:600;margin-bottom:5px;padding:0}
.tn-mic label{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--border);border-radius:9px;font-size:.86rem;cursor:pointer}
.tn-mic label:has(input:checked){border-color:var(--brand);background:rgba(50,167,235,.1)}
.tn-solo{display:flex;flex-direction:column;gap:12px;border-color:rgba(50,167,235,.45)}
.tn-solo .tn-head{margin:0}
.tn-look-chip{font-size:.72rem!important;font-weight:800;padding:3px 9px;border-radius:999px;background:rgba(242,169,0,.15);color:var(--gold)!important}
.tn-solo-me{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:10px;background:var(--glass-hover)}
.tn-solo-me small,.tn-req-who small{color:var(--fg2);font-size:.8rem}
.tn-solo-sec{display:flex;flex-direction:column;gap:8px}
.tn-req{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:10px;border:1px solid rgba(50,167,235,.4);background:rgba(50,167,235,.06)}
.tn-req-in{border-color:rgba(52,211,153,.4);background:rgba(52,211,153,.06)}
.tn-req-who{display:flex;flex-direction:column;gap:2px;min-width:0}
.tn-req-btns{display:flex;gap:8px}
.tn-yes{background:var(--green);color:#04140b;border:0;border-radius:9px;min-height:40px;padding:0 16px;font-weight:800;font-size:.85rem;font-family:inherit;cursor:pointer}
.tn-yes:hover{filter:brightness(1.08)}
.tn-req-btns .tn-ghost-btn{min-height:40px;color:var(--fg);border-color:var(--border)}
.tn-solo-edit summary{cursor:pointer;color:var(--fg2);font-size:.85rem;font-weight:600}
.tn-solo-edit[open] summary{margin-bottom:10px}
.tn-solos-cap{gap:10px}
.tn-open-sw{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--border)}
.tn-open-sw.is-on{border-color:rgba(242,169,0,.45);background:rgba(242,169,0,.06)}
.tn-open-sw>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.tn-open-sw small{color:var(--fg2);font-size:.78rem}
.tn-switch{flex:none;width:46px;height:28px;border-radius:999px;border:0;padding:3px;background:var(--glass-hover);cursor:pointer;display:flex}
.tn-switch i{width:22px;height:22px;border-radius:50%;background:var(--fg2);transition:transform .15s}
.tn-open-sw.is-on .tn-switch{background:var(--gold)}
.tn-open-sw.is-on .tn-switch i{background:#1a1300;transform:translateX(18px)}
.tn-looking .tn-head span .tn-time{color:inherit}
.tn-lk-wrap{overflow-x:auto}
.tn-lk{width:100%;border-collapse:collapse;font-size:.88rem}
.tn-lk th{text-align:left;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px}
.tn-lk td{padding:9px 10px;border-top:1px solid var(--border);vertical-align:middle}
.tn-lk td a{color:var(--fg);text-decoration:none}
.tn-lk td a:hover b{text-decoration:underline}
.tn-lk-me td{background:rgba(50,167,235,.06)}
.tn-lk-note{color:var(--fg2);max-width:320px}
.tn-lk-act{text-align:right;white-space:nowrap}
.tn-you{font-size:.7rem;font-weight:800;color:var(--brand)}
.tn-lk-tag{font-size:.8rem;font-weight:700;color:var(--brand);text-decoration:none}
.tn-invite,.tn-ask button{background:var(--brand);color:#04121d;border:0;border-radius:9px;min-height:38px;padding:0 16px;font-weight:800;font-size:.84rem;font-family:inherit;cursor:pointer}
.tn-invite:hover,.tn-ask button:hover{filter:brightness(1.08)}
.tn-tc-open{border-color:rgba(242,169,0,.45)}
.tn-tc-tags{display:flex;flex-wrap:wrap;gap:6px}
.tn-lf-tag,.tn-mix-tag{font-size:.7rem;font-weight:800;padding:3px 8px;border-radius:999px;background:rgba(242,169,0,.15);color:var(--gold)}
.tn-mix-tag{background:rgba(169,112,255,.18);color:#c9a6ff}
.tn-ask{margin-top:auto}
.tn-ask button{width:100%}
.tn-ask-state{margin-top:auto;font-size:.8rem;color:var(--fg2);text-align:center;text-decoration:none}

@media (max-width:900px){
  .tn-band,.tn-band-live{display:flex;flex-direction:column}
  .tn-band-live>:not(.tn-streams){order:-1}   /* your team / Discord before the stream */
  .tn-signup-wide .tn-form{grid-template-columns:minmax(0,1fr)}
  .tn-next{grid-template-columns:minmax(0,1fr);gap:18px;padding:18px}
  .tn-next-side{border-left:0;padding-left:0;border-top:1px solid var(--border);padding-top:16px}
  .tn-how,.tn-champs{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
}
@media (max-width:600px){
  .tn-hero{grid-template-columns:minmax(0,1fr);padding:14px}
  .tn-clock{text-align:left}
  .tn-podium{gap:8px}
  .tn-pod{padding:9px}
  .tn-nm{font-size:.82rem}
  .tn-big{font-size:1.15rem}
  .tn-hs{display:none}
  .tn-lb td{padding:9px 6px;font-size:.85rem}
  .tn-stream{min-height:0}
  .tn-pgrid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .tn-ptable{grid-template-columns:repeat(5,minmax(0,1fr))}
  .tn-ovb-row{grid-template-columns:minmax(0,1fr)}
  .tn-teams,.tn-claim-list{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .tn-steps li{align-items:flex-start}
  .tn-sbtn{justify-content:center;margin-left:38px;width:calc(100% - 38px)}
  .tn-ghost-btn{width:100%}
  .tn-req-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .tn-req-btns button{min-height:44px}
  .tn-lk .tn-lk-note{display:none}          /* the note is in the captain's DM and the solo's card */
  .tn-lk td,.tn-lk th{padding-left:6px;padding-right:6px}
  .tn-next-main h2{font-size:1.35rem}
  .tn-next-cta .tn-cta{width:100%;justify-content:center}
  .tn-champ-empty~.tn-champ-empty{display:none}   /* one "to come" card is enough in a column */
  .tn-ask .btn{width:100%;justify-content:center}
}

/* ── Results view (disputes / final; hybrid mockup picked 2026-10-24) ──────────
   stats.php-style header for one team (team buttons inside it), tabs, then one
   .wg-frame body. Drawn by tournament.js resultsView(). */
.tr-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px 16px;flex-wrap:wrap}
.tr-line{margin:0;font-size:.8rem;color:var(--fg2);line-height:1.5}
.tr-line .tr-event{display:inline;font-size:inherit;font-weight:700;line-height:inherit;letter-spacing:0;color:var(--fg);margin:0}
.tr-kick{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.tr-hero{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));padding:24px 24px 16px;display:flex;flex-direction:column;gap:16px}
.tr-hero-main{display:flex;gap:22px;align-items:center}
.tr-badge{width:100px;height:100px;flex-shrink:0;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--glass-hover);color:var(--fg2)}
.tr-badge svg{width:38px;height:38px}
.tr-badge b{font-size:1.6rem;font-weight:900}
.tr-badge1 b{font-size:.95rem}
.tr-badge1{background:linear-gradient(135deg,#c8820a,#f5c518 45%,#e6a800);color:#1a1000;box-shadow:0 0 26px 5px rgba(255,205,0,.22)}
.tr-badge2{background:linear-gradient(135deg,#8a96a8,#dfe6ef 50%,#a9b4c4);color:#121822}
.tr-badge3{background:linear-gradient(135deg,#8a4f23,#e0a26d 50%,#a8642f);color:#1a0e05}
.tr-id{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.tr-name{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tr-name h2{margin:0;font-size:1.9rem;font-weight:800;line-height:1.15;overflow-wrap:anywhere}
.tr-pill{padding:5px 12px;border-radius:999px;background:var(--glass-hover);color:var(--fg2);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.tr-pill-gold{background:linear-gradient(135deg,#c8820a,#f5c518 45%,#e6a800);color:#1a1000}
.tr-meta{font-size:.82rem;color:var(--fg2)}
.tr-chips{display:flex;gap:8px;flex-wrap:wrap}
.tr-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 4px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--fg);font-size:.82rem;font-weight:600;text-decoration:none}
.tr-chip:hover{background:rgba(255,255,255,.1);text-decoration:none}
.tr-av{width:24px;height:24px;flex:0 0 24px;border-radius:50%;display:grid;place-items:center;background:#1b2433;color:var(--fg2);font-weight:700;font-size:.68rem}
.tr-nums{display:flex;gap:22px;align-items:center;flex-shrink:0;font-variant-numeric:tabular-nums}
.tr-nums>div{display:flex;flex-direction:column;align-items:flex-end}
.tr-nums span{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tr-nums b{font-size:2.6rem;line-height:1.1;font-weight:800}
.tr-nums small{font-size:.75rem;color:var(--fg2)}
.tr-nums i{width:1px;height:64px;background:var(--border)}
.tr-gold{color:#f5c518}
.tr-teams{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border)}
.tr-teams-k{font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.tr-tb{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 14px 0 6px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--fg);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;max-width:100%}
.tr-tb:hover{border-color:var(--border-brand)}
.tr-tb.on{border:2px solid var(--brand);background:rgba(50,167,235,.14);font-weight:700;padding-left:5px}
.tr-tb-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-tb-p{color:var(--fg2);font-variant-numeric:tabular-nums}
.tr-rk{display:inline-grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:7px;background:var(--glass-hover);color:var(--fg2);font-weight:800;font-size:.8rem}
.tr-rk1{background:rgba(242,169,0,.2);color:var(--gold)}
.tr-rk2{background:rgba(201,211,224,.15);color:#c9d3e0}
.tr-rk3{background:rgba(208,138,78,.18);color:#d08a4e}
.tr-copy{margin-left:auto;min-height:36px;padding:0 14px;border-radius:9px;border:1px solid var(--border);background:transparent;color:var(--fg);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}
.tr-copy:hover{border-color:var(--border-brand)}
.tr-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:10px;overflow-x:auto}
.tr-tabs button{min-height:38px;padding:0 16px;border-radius:9px;border:0;background:transparent;color:var(--fg2);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap}
.tr-tabs button:hover{color:var(--fg)}
.tr-tabs button.on{background:rgba(50,167,235,.15);color:var(--fg)}
.tr-body{display:flex;flex-direction:column;gap:16px}
.tr-body .wg-panel{min-width:0}
.tr-h{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap;margin-bottom:12px}
.tr-h h3,.tr-chart>h3{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.tr-h>span{font-size:.75rem;color:var(--muted)}
.tr-link{background:none;border:0;padding:0;color:var(--brand);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.tr-link:hover{text-decoration:underline}
.tr-awards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px}
.tr-aw,.tr-tile{border:1px solid var(--border);border-radius:12px;background:var(--bg2);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tr-aw span{font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7cc8f2}
.tr-aw b{font-size:1.02rem;overflow-wrap:anywhere}
.tr-aw small,.tr-tile small{font-size:.75rem;color:var(--fg2)}
.tr-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;font-variant-numeric:tabular-nums}
.tr-tile span{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.tr-tile b{font-size:1.55rem}
.tr-row2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.tr-key{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--brand);margin:0 4px 0 2px}
.tr-key-gold{background:var(--gold)}
.tr-bars,.tr-bar-l{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:14px}
.tr-bars{align-items:end;height:160px;border-bottom:1px solid var(--border)}
.tr-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.tr-bar b{font-size:.8rem;margin-bottom:4px}
.tr-bar span{width:min(44px,80%);display:block}
.tr-bar span:first-of-type{border-radius:5px 5px 0 0}
.tr-pp{background:var(--gold)}
.tr-kp{background:var(--brand)}
.tr-bar-l{margin-top:8px;font-size:.72rem;color:var(--muted);text-align:center}
.tr-lb-row{display:grid;grid-template-columns:22px minmax(0,1fr) 70px 28px;gap:8px;align-items:center;padding:6px 0;font-size:.85rem;color:var(--fg);text-decoration:none;font-variant-numeric:tabular-nums}
.tr-lb-row:hover{text-decoration:none}
.tr-lb-row:hover>b:first-of-type{color:var(--brand)}
.tr-lb-row>b:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-lb-rk{font-weight:800;color:var(--muted)}
.tr-c1{color:var(--gold)} .tr-c2{color:#c9d3e0} .tr-c3{color:#d08a4e}
.tr-lb-bar{height:6px;border-radius:3px;background:var(--glass-hover);overflow:hidden}
.tr-lb-bar i{display:block;height:100%;border-radius:3px}
.tr-lb-k{text-align:right}
.tr-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:.72rem;color:var(--muted)}
.tr-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px}
.tr-lb-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.tr-lb-cols .tr-lb-row{grid-template-columns:22px minmax(0,1fr) 150px 30px;border-bottom:1px solid rgba(255,255,255,.06);padding:8px 0}
.tr-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;font-variant-numeric:tabular-nums}
.tr-pc{border:1px solid var(--border);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;color:var(--fg);text-decoration:none;min-width:0}
.tr-pc:hover{border-color:var(--border-brand);text-decoration:none}
.tr-pc-top{border-color:rgba(242,169,0,.55);background:rgba(242,169,0,.05)}
.tr-pc-h{display:flex;justify-content:space-between;align-items:center;gap:8px}
.tr-pc-h b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tr-tag,.tr-tag-gold{font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.tr-tag-gold{color:var(--gold)}
.tr-pc-k{display:flex;align-items:baseline;gap:6px}
.tr-pc-k b{font-size:1.9rem}
.tr-pc small,.tr-pc-k small{font-size:.75rem;color:var(--fg2)}
.tr-spark{display:flex;gap:4px;align-items:flex-end;height:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.tr-spark i{flex:1;background:var(--brand);border-radius:3px 3px 0 0}
.tr-g{display:grid;grid-template-columns:70px 100px 50px 70px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.06);font-size:.88rem;font-variant-numeric:tabular-nums}
.tr-g-pts{font-size:1rem}
.tr-g-who{font-size:.78rem;color:var(--fg2);min-width:0}
.tr-g a{font-weight:700;white-space:nowrap}
.tr-scroll{overflow-x:auto}
.tr-st .tn-lb td{vertical-align:middle}
@media (max-width:1000px){
  .tr-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tr-awards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-row2{grid-template-columns:minmax(0,1fr)}
  .tr-lb-cols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .tr-hero{padding:18px 16px 14px}
  .tr-hero-main{flex-direction:column;text-align:center;gap:12px}
  .tr-badge{width:80px;height:80px;border-radius:18px}
  .tr-badge svg{width:30px;height:30px}
  .tr-name{justify-content:center}
  .tr-name h2{font-size:1.5rem}
  .tr-chips{justify-content:center}
  .tr-nums b{font-size:2rem}
  .tr-nums>div{align-items:center}
  .tr-nums i{height:44px}
  .tr-teams{flex-direction:column;align-items:stretch}
  .tr-teams-k{text-align:left}
  .tr-tb{min-height:48px}
  .tr-tb-n{flex:1;text-align:left}
  .tr-copy{margin-left:0;min-height:44px}
  .tr-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .tr-tabs button{padding:0 4px;font-size:.78rem;min-height:40px;background:rgba(255,255,255,.04)}
  .tr-awards,.tr-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tr-tiles .tr-tile:last-child{grid-column:span 2}
  .tr-cards{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}
  .tr-bars,.tr-bar-l{gap:8px}
  .tr-bars{height:120px}
  .tr-bar-l{font-size:.62rem}
  .tr-lb-cols .tr-lb-row{grid-template-columns:22px minmax(0,1fr) 70px 28px}
  .tr-g{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
  .tr-g a{margin-left:auto}
  .tr-g-who{flex-basis:100%;order:9}
}
