/* ===== core variables ===== */
/* TODO: migrate these to --tierN-* properly, current naming is a mess */
:root {
    --bg0:#050a18;--bg1:#080f20;--bg2:#0e1830;--bg3:#152040;
    --card:#0d1628;--card-h:#122038;
    --blue:#3d9eff;--blue-dim:rgba(61,158,255,.2);--blue-glow:rgba(61,158,255,.4);
    --cyan:#00e5ff;--cyan-dim:rgba(0,229,255,.14);
    --gold:#f0c040;--gold-dim:rgba(240,192,64,.18);
    --silver:#b0c8e0;--bronze:#d08040;
    --danger:#e84040;--success:#22e060;
    --txt:#e4f0ff;--txt-m:#6888b0;--txt-d:#2e4060;
    --border:rgba(61,158,255,.18);--border2:rgba(61,158,255,.35);
    --r:16px;--rm:10px;--t:200ms cubic-bezier(.4,0,.2,1);--ts:320ms cubic-bezier(.34,1.56,.64,1);

    /* tier color tokens */
    --tier1-main:#f0c040; --tier1-glow:rgba(240,192,64,.6); --tier1-border:rgba(232,181,48,.5); --tier1-bg:linear-gradient(135deg,rgba(232,181,48,.22) 0%,rgba(255,220,80,.08) 60%,rgba(240,160,0,.04) 100%); --tier1-before:rgba(232,181,48,.15); --tier1-badge:linear-gradient(145deg,rgba(232,181,48,.35),rgba(255,200,60,.15)); --tier1-badge-border:rgba(232,181,48,.6); --tier1-badge-shadow:rgba(232,181,48,.25); --tier1-badge-inner-shadow:rgba(240,192,64,.6); --tier1-name-color:#f0c040; --tier1-name-shadow:rgba(240,192,64,.4); --tier1-desc-color:rgba(240,192,64,.6); --tier1-count-bg:rgba(232,181,48,.12); --tier1-count-border:rgba(232,181,48,.35); --tier1-count-color:rgba(240,192,64,.8); --tier1-body-border:rgba(232,181,48,.3); --tier1-player-border:rgba(240,192,64,.55); --tier1-player-bg:rgba(240,192,64,.08); --tier1-player-shadow:rgba(240,192,64,.12); --tier1-player-before:rgba(240,192,64,.12); --tier1-nick-color:#f0c040;
    --tier2-main:#b0c8e0; --tier2-glow:rgba(176,200,224,.5); --tier2-border:rgba(176,200,224,.38); --tier2-bg:linear-gradient(135deg,rgba(176,200,224,.18) 0%,rgba(200,220,240,.06) 60%,rgba(160,190,210,.03) 100%); --tier2-before:rgba(176,200,224,.12); --tier2-badge:linear-gradient(145deg,rgba(176,200,224,.28),rgba(210,230,250,.1)); --tier2-badge-border:rgba(176,200,224,.5); --tier2-badge-shadow:rgba(176,200,224,.2); --tier2-badge-inner-shadow:rgba(176,200,224,.5); --tier2-name-color:#c8dff0; --tier2-name-shadow:rgba(176,200,224,.3); --tier2-desc-color:rgba(176,200,224,.55); --tier2-count-bg:rgba(176,200,224,.1); --tier2-count-border:rgba(176,200,224,.28); --tier2-count-color:rgba(176,200,224,.7); --tier2-body-border:rgba(176,200,224,.22); --tier2-player-border:rgba(176,200,224,.45); --tier2-player-bg:rgba(176,200,224,.07); --tier2-player-shadow:rgba(176,200,224,.1); --tier2-player-before:rgba(176,200,224,.1); --tier2-nick-color:#c8dff0;
    --tier3-main:#d08040; --tier3-glow:rgba(208,128,64,.5); --tier3-border:rgba(208,128,64,.45); --tier3-bg:linear-gradient(135deg,rgba(208,128,64,.2) 0%,rgba(220,150,80,.07) 60%,rgba(190,110,50,.03) 100%); --tier3-before:rgba(208,128,64,.14); --tier3-badge:linear-gradient(145deg,rgba(208,128,64,.3),rgba(230,150,80,.12)); --tier3-badge-border:rgba(208,128,64,.55); --tier3-badge-shadow:rgba(208,128,64,.2); --tier3-badge-inner-shadow:rgba(208,128,64,.5); --tier3-name-color:#e09050; --tier3-name-shadow:rgba(208,128,64,.35); --tier3-desc-color:rgba(208,128,64,.6); --tier3-count-bg:rgba(208,128,64,.12); --tier3-count-border:rgba(208,128,64,.3); --tier3-count-color:rgba(208,128,64,.75); --tier3-body-border:rgba(208,128,64,.25); --tier3-player-border:rgba(208,128,64,.45); --tier3-player-bg:rgba(208,128,64,.07); --tier3-player-shadow:rgba(208,128,64,.1); --tier3-player-before:rgba(208,128,64,.1); --tier3-nick-color:#e09050;
    --tier4-main:#3d9eff; --tier4-glow:rgba(61,158,255,.5); --tier4-border:rgba(45,140,240,.4); --tier4-bg:linear-gradient(135deg,rgba(45,140,240,.18) 0%,rgba(61,158,255,.06) 60%,rgba(0,200,255,.03) 100%); --tier4-before:rgba(45,140,240,.12); --tier4-badge:linear-gradient(145deg,rgba(45,140,240,.28),rgba(0,200,255,.1)); --tier4-badge-border:rgba(45,140,240,.5); --tier4-badge-shadow:rgba(45,140,240,.18); --tier4-badge-inner-shadow:rgba(61,158,255,.5); --tier4-name-color:#6cb8ff; --tier4-name-shadow:rgba(61,158,255,.3); --tier4-desc-color:rgba(61,158,255,.55); --tier4-count-bg:rgba(61,158,255,.1); --tier4-count-border:rgba(61,158,255,.28); --tier4-count-color:rgba(61,158,255,.75); --tier4-body-border:rgba(45,140,240,.22); --tier4-player-border:rgba(61,158,255,.45); --tier4-player-bg:rgba(61,158,255,.07); --tier4-player-shadow:rgba(61,158,255,.1); --tier4-player-before:rgba(61,158,255,.1); --tier4-nick-color:#6cb8ff;
    --tier5-main:#9080c8; --tier5-glow:rgba(120,100,180,.4); --tier5-border:rgba(120,100,180,.35); --tier5-bg:linear-gradient(135deg,rgba(120,100,180,.16) 0%,rgba(140,120,200,.05) 60%,rgba(100,80,160,.03) 100%); --tier5-before:rgba(120,100,180,.1); --tier5-badge:linear-gradient(145deg,rgba(120,100,180,.25),rgba(100,80,160,.1)); --tier5-badge-border:rgba(120,100,180,.4); --tier5-badge-shadow:rgba(120,100,180,.15); --tier5-badge-inner-shadow:rgba(120,100,180,.4); --tier5-name-color:#a090d8; --tier5-name-shadow:rgba(120,100,180,.25); --tier5-desc-color:rgba(120,100,180,.55); --tier5-count-bg:rgba(120,100,180,.1); --tier5-count-border:rgba(120,100,180,.25); --tier5-count-color:rgba(150,130,210,.7); --tier5-body-border:rgba(120,100,180,.2); --tier5-player-border:rgba(120,100,180,.4); --tier5-player-bg:rgba(120,100,180,.06); --tier5-player-shadow:rgba(120,100,180,.08); --tier5-player-before:rgba(120,100,180,.1); --tier5-nick-color:#a090d8;
}

[data-theme="light"]{
    --bg0:#eef4fc;--bg1:#e4edf8;--bg2:#d8e6f4;--bg3:#cddaea;
    --card:#f0f6ff;--card-h:#e8f0fc;
    --txt:#0d1e30;--txt-m:#4a6080;--txt-d:#8aaac8;
    --border:rgba(45,140,240,.15);--border2:rgba(45,140,240,.3);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Exo 2',system-ui,sans-serif;background:var(--bg0);color:var(--txt);min-height:100vh;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(61,158,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(61,158,255,.055) 1px,transparent 1px);background-size:56px 56px;animation:gridDrift 50s linear infinite;}
@keyframes gridDrift{to{background-position:56px 56px}}
body::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 5% 0%,rgba(61,158,255,.22) 0,transparent 65%),radial-gradient(ellipse 50% 40% at 95% 5%,rgba(0,229,255,.14) 0,transparent 60%),radial-gradient(ellipse 55% 45% at 85% 95%,rgba(120,80,255,.18) 0,transparent 60%),radial-gradient(ellipse 40% 35% at 15% 90%,rgba(61,158,255,.12) 0,transparent 55%);}
#bgCanvas{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5}
[data-theme="light"] #bgCanvas{opacity:.15}

.page{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:32px 20px 80px}
.main-nav{z-index:10;display:flex;align-items:center;gap:0;padding:0 20px;max-width:100%;border-bottom:1px solid rgba(61,158,255,.15);background:rgba(5,10,24,.92);backdrop-filter:blur(20px);position:sticky;top:0;}
.nav-logo{font-family:'Orbitron',sans-serif;font-size:13px;font-weight:900;color:var(--cyan);letter-spacing:.04em;padding:14px 20px 14px 0;border-right:1px solid rgba(61,158,255,.2);margin-right:4px;white-space:nowrap;text-shadow:0 0 20px rgba(0,229,255,.4)}
.nav-tab{padding:14px 20px;font-family:'Exo 2',sans-serif;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--txt-m);cursor:pointer;border:none;background:none;transition:all var(--t);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;display:flex;align-items:center;gap:8px}
.nav-tab:hover{color:var(--txt)}
.nav-tab.active{color:var(--cyan);border-bottom-color:var(--cyan);text-shadow:0 0 12px rgba(0,229,255,.4)}
.nav-tab .nav-badge{display:inline-flex;align-items:center;justify-content:center;padding:1px 7px;border-radius:999px;font-size:9px;background:rgba(240,192,64,.18);border:1px solid rgba(240,192,64,.4);color:var(--gold);font-family:'JetBrains Mono',monospace}
.nav-tab .nav-badge.live{background:rgba(32,212,104,.15);border-color:rgba(32,212,104,.4);color:#20d468;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}
.nav-spacer{flex:1}
.nav-right{display:flex;align-items:center;gap:8px;padding:8px 0}

.page-section{display:none}
.page-section.active{display:block}

header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.brand{display:flex;flex-direction:column;gap:10px}
/* TODO: clean this up later - live pill is only used on main page */
.live-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:999px;width:fit-content;border:1px solid rgba(32,212,104,.4);background:rgba(32,212,104,.08);font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.14em;color:#20d468;text-transform:uppercase}
.live-dot{width:7px;height:7px;border-radius:50%;background:#20d468;flex-shrink:0;animation:pDot 2.4s ease-in-out infinite}
@keyframes pDot{0%,100%{box-shadow:0 0 0 0 rgba(32,212,104,.5)}50%{box-shadow:0 0 0 7px rgba(32,212,104,0)}}
.site-title{font-family:'Orbitron',sans-serif;font-size:clamp(22px,4vw,46px);font-weight:900;line-height:1.05;letter-spacing:.02em}
.site-title .t1{color:var(--cyan);text-shadow:0 0 32px rgba(0,212,255,.5)}
.site-title .t2{color:var(--cyan);opacity:.9;text-shadow:0 0 32px rgba(0,212,255,.4)}
.site-title .t3{color:var(--cyan);text-shadow:0 0 32px rgba(0,212,255,.5),0 0 8px rgba(0,212,255,.3)}
.site-title .sep{color:rgba(0,212,255,.4);margin:0 5px;font-weight:400}
.subtitle{font-size:13px;color:var(--txt-m);max-width:520px;line-height:1.65;margin-top:2px}
.madeby{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--txt-d);margin-top:4px;letter-spacing:.06em}
.hbtn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:999px;border:1px solid var(--border2);background:var(--bg2);color:var(--txt-m);font-family:'Exo 2',sans-serif;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:all var(--t);white-space:nowrap}
.hbtn:hover{background:var(--bg3);border-color:var(--blue);color:var(--txt);transform:translateY(-1px)}
.hbtn.accent{background:linear-gradient(135deg,rgba(45,140,240,.22),rgba(0,212,255,.1));border-color:rgba(45,140,240,.55);color:#90c8f8}
.hbtn.accent:hover{background:linear-gradient(135deg,rgba(45,140,240,.32),rgba(0,212,255,.18));box-shadow:0 6px 24px rgba(45,140,240,.25)}
.auth-ava{width:40px;height:40px;border-radius:50%;border:2px solid var(--border2);background:var(--bg2);cursor:pointer;overflow:hidden;transition:all var(--t)}
.auth-ava:hover{border-color:var(--blue);box-shadow:0 0 0 4px rgba(45,140,240,.18);transform:scale(1.05)}
.auth-ava img{width:100%;height:100%;object-fit:cover;display:block}
.auth-loading{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--txt-d);font-size:12px;cursor:not-allowed}
.spin{width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--txt-m);border-radius:50%;animation:doSpin .7s linear infinite;flex-shrink:0}
@keyframes doSpin{to{transform:rotate(360deg)}}

.stats-row{display:flex;gap:10px;margin-bottom:26px;flex-wrap:wrap}
.stat-card{flex:1;min-width:130px;padding:14px 18px;border-radius:16px;background:linear-gradient(135deg,rgba(18,30,58,.9),rgba(10,18,38,.95));border:1px solid rgba(61,158,255,.2);box-shadow:0 4px 20px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);display:flex;align-items:center;gap:12px;transition:all var(--t)}
.stat-card:hover{border-color:rgba(61,158,255,.45);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 20px rgba(61,158,255,.1)}
.stat-ico{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.stat-ico.gold{background:rgba(232,181,48,.14);border:1px solid rgba(232,181,48,.3)}
.stat-ico.blue{background:rgba(45,140,240,.14);border:1px solid rgba(45,140,240,.3)}
.stat-ico.cyan{background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.25)}
.stat-ico.green{background:rgba(32,212,104,.1);border:1px solid rgba(32,212,104,.25)}
.stat-lbl{font-size:10px;color:var(--txt-d);text-transform:uppercase;letter-spacing:.1em;font-family:'JetBrains Mono',monospace;margin-bottom:2px}
.stat-val{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:700;line-height:1}
.stat-val.gold{color:var(--gold)}.stat-val.blue{color:var(--blue)}.stat-val.cyan{color:var(--cyan)}.stat-val.green{color:var(--success)}

.search-wrap{position:relative;margin-bottom:20px}
.s-ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--txt-d);pointer-events:none;line-height:0}
.s-in{width:100%;padding:13px 48px 13px 44px;border-radius:14px;background:linear-gradient(135deg,rgba(18,30,58,.9),rgba(10,18,38,.95));border:1px solid rgba(61,158,255,.2);color:var(--txt);font-family:'Exo 2',sans-serif;font-size:14px;outline:none;transition:all var(--t);box-shadow:0 4px 20px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04)}
.s-in::placeholder{color:var(--txt-d)}
.s-in:focus{border-color:rgba(45,140,240,.6);box-shadow:0 0 0 3px rgba(45,140,240,.1)}
.s-x{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;border:none;background:var(--bg3);color:var(--txt-m);font-size:16px;cursor:pointer;display:none;align-items:center;justify-content:center;transition:all var(--t)}
.s-x.show{display:flex}.s-x:hover{background:var(--border2);color:var(--txt)}
.s-cnt{position:absolute;right:46px;top:50%;transform:translateY(-50%);font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--txt-d);opacity:0;transition:opacity var(--t);pointer-events:none}
.s-cnt.show{opacity:1}

.tabs-row{display:flex;gap:7px;margin-bottom:20px;overflow-x:auto;padding-bottom:4px}
.tabs-row::-webkit-scrollbar{display:none}
.tab{padding:8px 18px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--txt-m);font-family:'Exo 2',sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px;transition:all var(--t);flex-shrink:0}
.tab:hover{background:var(--bg3);border-color:var(--border2);color:var(--txt)}
.tab.active{background:linear-gradient(135deg,rgba(45,140,240,.28),rgba(0,212,255,.1));border-color:rgba(45,140,240,.8);color:#c8e4ff;box-shadow:0 0 24px rgba(45,140,240,.18),0 4px 14px rgba(0,0,0,.3)}
.tab-n{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--border);font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--txt-m)}
.tab.active .tab-n{background:rgba(45,140,240,.2);border-color:rgba(45,140,240,.5);color:#90c8f8}

.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px;flex-wrap:wrap}
.sec-title{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:700;display:flex;align-items:center;gap:10px}
.sec-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 12px rgba(32,212,104,.5);animation:pDot 2.4s ease-in-out infinite;flex-shrink:0}
.sec-sub{font-size:12px;color:var(--txt-m);margin-top:4px}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}
@media(max-width:780px){.grid{grid-template-columns:1fr}}
@media(min-width:781px) and (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}}

.pcard{position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;cursor:pointer;background:linear-gradient(145deg,rgba(18,30,58,.95) 0%,rgba(10,18,38,.98) 100%);border:1px solid rgba(61,158,255,.22);box-shadow:0 4px 24px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06);transition:transform var(--ts),box-shadow var(--t),border-color var(--t);animation:cardUp 350ms cubic-bezier(.4,0,.2,1) both;}
@keyframes cardUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.pcard::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 10% 0%,rgba(61,158,255,.09) 0,transparent 70%);transition:opacity var(--t);}
.pcard::before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(135deg,rgba(61,158,255,.13) 0,rgba(0,229,255,.06) 50%,transparent 100%);opacity:0;transition:opacity var(--t);}
.pcard:hover{transform:translateY(-5px);border-color:rgba(61,158,255,.6)}
.pcard:hover::before{opacity:1}
.pcard:hover{box-shadow:0 20px 50px rgba(0,0,0,.6),0 0 40px rgba(61,158,255,.15),inset 0 1px 0 rgba(255,255,255,.1)}
.card-top-line{height:2px;width:100%;background:linear-gradient(90deg,var(--blue) 0,var(--cyan) 100%);opacity:0;transition:opacity var(--t);flex-shrink:0;position:relative;z-index:2}
.pcard:hover .card-top-line{opacity:1}
.pcard[data-rank="1"]{border-color:rgba(240,192,64,.5);box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 0 1px rgba(240,192,64,.12),inset 0 1px 0 rgba(255,220,80,.1)}
.pcard[data-rank="1"]::after{background:radial-gradient(ellipse 90% 70% at 0% 0%,rgba(240,192,64,.18) 0,transparent 65%)}
.pcard[data-rank="1"] .card-top-line{background:linear-gradient(90deg,#f0c040 0%,#ffe080 50%,#f0c040 100%);opacity:1;animation:shimmerLine 2.5s linear infinite;background-size:200% 100%}
.pcard[data-rank="1"]:hover{border-color:rgba(240,192,64,.85);box-shadow:0 22px 52px rgba(0,0,0,.6),0 0 50px rgba(240,192,64,.22),0 0 0 1px rgba(240,192,64,.3),inset 0 1px 0 rgba(255,220,80,.15)}
.pcard[data-rank="2"]{border-color:rgba(176,200,224,.38);box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 0 1px rgba(176,200,224,.08),inset 0 1px 0 rgba(200,220,240,.08)}
.pcard[data-rank="2"]::after{background:radial-gradient(ellipse 90% 70% at 0% 0%,rgba(176,200,224,.12) 0,transparent 65%)}
.pcard[data-rank="2"] .card-top-line{background:linear-gradient(90deg,#b0c8e0 0%,#e0eeff 50%,#b0c8e0 100%);opacity:1;animation:shimmerLine 3s linear infinite;background-size:200% 100%}
.pcard[data-rank="2"]:hover{border-color:rgba(176,200,224,.7);box-shadow:0 22px 52px rgba(0,0,0,.6),0 0 40px rgba(176,200,224,.18)}
.pcard[data-rank="3"]{border-color:rgba(208,128,64,.4);box-shadow:0 4px 24px rgba(0,0,0,.4),0 0 0 1px rgba(208,128,64,.1),inset 0 1px 0 rgba(220,150,80,.08)}
.pcard[data-rank="3"]::after{background:radial-gradient(ellipse 90% 70% at 0% 0%,rgba(208,128,64,.14) 0,transparent 65%)}
.pcard[data-rank="3"] .card-top-line{background:linear-gradient(90deg,#d08040 0%,#ffc080 50%,#d08040 100%);opacity:1;animation:shimmerLine 3.5s linear infinite;background-size:200% 100%}
.pcard[data-rank="3"]:hover{border-color:rgba(208,128,64,.75);box-shadow:0 22px 52px rgba(0,0,0,.6),0 0 40px rgba(208,128,64,.2)}
@keyframes shimmerLine{0%{background-position:200% 0}100%{background-position:-200% 0}}
.c-rank{position:absolute;top:12px;right:12px;z-index:3;padding:4px 12px;border-radius:999px;font-family:'Orbitron',sans-serif;font-size:11px;font-weight:700;border:1px solid;letter-spacing:.04em;backdrop-filter:blur(8px)}
.c-rank.gold{background:rgba(240,192,64,.2);color:var(--gold);border-color:rgba(240,192,64,.5);box-shadow:0 0 14px rgba(240,192,64,.25)}
.c-rank.silver{background:rgba(176,200,224,.14);color:var(--silver);border-color:rgba(176,200,224,.45)}
.c-rank.bronze{background:rgba(208,128,64,.15);color:var(--bronze);border-color:rgba(208,128,64,.4)}
.c-rank.plain{background:rgba(61,158,255,.1);color:#90c8f8;border-color:rgba(61,158,255,.3)}
.c-inner{position:relative;z-index:1;display:flex;gap:14px;padding:16px}
.c-ava{flex-shrink:0;width:66px;height:66px;border-radius:16px;overflow:hidden;border:2px solid rgba(61,158,255,.35);background:var(--bg2);position:relative;box-shadow:0 4px 16px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.05);}
.c-ava img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--t)}
.pcard:hover .c-ava img{transform:scale(1.08)}
.c-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.c-top{display:flex;align-items:center;gap:8px;padding-right:74px}
.c-flag{width:22px;height:15px;object-fit:cover;border-radius:3px;border:1px solid rgba(255,255,255,.12);flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.c-nick{font-family:'Orbitron',sans-serif;font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--t);letter-spacing:.01em}
.pcard:hover .c-nick{color:var(--cyan);text-shadow:0 0 20px rgba(0,229,255,.4)}
.c-cats{display:none}.cat-tag{display:none}
.pp-rank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:4px}
.pp-rank-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:16px 10px 14px;border-radius:14px;border:1px solid;text-align:center;transition:transform 180ms cubic-bezier(.34,1.56,.64,1),box-shadow 180ms;position:relative;overflow:hidden;}
.pp-rank-card::before{content:'';position:absolute;inset:0;opacity:.06;pointer-events:none}
.pp-rank-card:hover{transform:translateY(-3px)}
.pp-rank-card.gold{background:rgba(232,181,48,.12);border-color:rgba(232,181,48,.4)}.pp-rank-card.gold:hover{box-shadow:0 8px 24px rgba(232,181,48,.2)}.pp-rank-card.gold::before{background:radial-gradient(circle at 50% 0,#e8b530,transparent)}
.pp-rank-card.silver{background:rgba(157,180,204,.1);border-color:rgba(157,180,204,.32)}.pp-rank-card.silver:hover{box-shadow:0 8px 24px rgba(157,180,204,.15)}.pp-rank-card.silver::before{background:radial-gradient(circle at 50% 0,#9db4cc,transparent)}
.pp-rank-card.bronze{background:rgba(192,120,64,.12);border-color:rgba(192,120,64,.32)}.pp-rank-card.bronze:hover{box-shadow:0 8px 24px rgba(192,120,64,.2)}.pp-rank-card.bronze::before{background:radial-gradient(circle at 50% 0,#c07840,transparent)}
.pp-rank-card.plain{background:rgba(45,140,240,.08);border-color:rgba(45,140,240,.22)}.pp-rank-card.plain:hover{box-shadow:0 8px 24px rgba(45,140,240,.12)}.pp-rank-card.plain::before{background:radial-gradient(circle at 50% 0,#2d8cf0,transparent)}
.pp-rank-card-medal{font-size:18px;line-height:1;margin-bottom:1px}
.pp-rank-card-pos{font-family:'Orbitron',sans-serif;font-size:26px;font-weight:900;line-height:1;letter-spacing:-.01em}
.pp-rank-card.gold .pp-rank-card-pos{color:var(--gold);text-shadow:0 0 16px rgba(232,181,48,.5)}
.pp-rank-card.silver .pp-rank-card-pos{color:var(--silver);text-shadow:0 0 16px rgba(157,180,204,.4)}
.pp-rank-card.bronze .pp-rank-card-pos{color:var(--bronze);text-shadow:0 0 16px rgba(192,120,64,.4)}
.pp-rank-card.plain .pp-rank-card-pos{color:var(--blue);text-shadow:0 0 12px rgba(45,140,240,.35)}
.pp-rank-card-cat{font-family:'JetBrains Mono',monospace;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--txt-d);margin-top:3px}
.pp-rank-grid.single{grid-template-columns:1fr}
.pp-rank-grid.single .pp-rank-card{flex-direction:row;gap:16px;padding:18px 20px;justify-content:flex-start;text-align:left}
.pp-rank-grid.single .pp-rank-card-pos{font-size:32px}
.pp-rank-grid.single .pp-rank-card-cat{font-size:11px;margin-top:0}
.pp-rank-grid.single .pp-rank-card-medal{font-size:24px}
.pp-rank-grid.single .pp-rank-info{display:flex;flex-direction:column;gap:3px}
.c-links{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.plink{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:all var(--t);border:1px solid;backdrop-filter:blur(4px)}
.plink:hover{transform:translateY(-2px)}
.plink.yt{background:rgba(220,50,50,.15);border-color:rgba(220,50,50,.42);color:#ff9090}.plink.yt:hover{background:rgba(220,50,50,.28);border-color:rgba(220,50,50,.7);box-shadow:0 4px 18px rgba(220,50,50,.3)}
.plink.sr{background:rgba(32,220,104,.12);border-color:rgba(32,220,104,.38);color:#7ee8b0}.plink.sr:hover{background:rgba(32,220,104,.24);border-color:rgba(32,220,104,.68);box-shadow:0 4px 18px rgba(32,220,104,.25)}
.plink.tg{background:rgba(0,160,220,.15);border-color:rgba(0,160,220,.42);color:#7ecbff}.plink.tg:hover{background:rgba(0,160,220,.28);border-color:rgba(0,160,220,.7);box-shadow:0 4px 18px rgba(0,160,220,.3)}
.c-footer{position:relative;z-index:1;display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:10px 16px;border-top:1px solid rgba(61,158,255,.14);background:linear-gradient(90deg,rgba(61,158,255,.08) 0,rgba(0,229,255,.03) 100%)}
.rchip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid;font-family:'JetBrains Mono',monospace;letter-spacing:.03em}
.rchip.gold{background:rgba(240,192,64,.15);color:var(--gold);border-color:rgba(240,192,64,.42)}
.rchip.silver{background:rgba(176,200,224,.1);color:var(--silver);border-color:rgba(176,200,224,.35)}
.rchip.bronze{background:rgba(208,128,64,.13);color:var(--bronze);border-color:rgba(208,128,64,.35)}
.rchip.plain{background:rgba(61,158,255,.1);color:#90c8f8;border-color:rgba(61,158,255,.28)}
.rchip-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}

.state-box{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:90px 20px}
.state-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:doSpin .8s linear infinite}
.state-lbl{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--txt-m)}
.state-empty{grid-column:1/-1;padding:70px 20px;text-align:center}
.state-empty h3{font-family:'Orbitron',sans-serif;font-size:20px;margin-bottom:8px;color:var(--txt-m)}
.state-empty p{font-size:13px;color:var(--txt-d)}
.load-err{grid-column:1/-1;padding:28px;border-radius:var(--r);border:1px dashed rgba(232,64,64,.4);background:rgba(232,64,64,.06);color:#f08080;text-align:center;font-size:13px;line-height:1.7}
.load-err strong{display:block;font-size:15px;margin-bottom:6px;color:#fca5a5}
.retry-btn{margin-top:14px;padding:9px 22px;border-radius:999px;background:rgba(232,64,64,.12);border:1px solid rgba(232,64,64,.4);color:#f08080;font-size:12px;cursor:pointer;transition:all var(--t)}
.retry-btn:hover{background:rgba(232,64,64,.22)}

/* ===================== TIERS PAGE ===================== */
.tiers-page{position:relative;z-index:1;max-width:1300px;margin:0 auto;padding:32px 20px 80px}
.tiers-header{margin-bottom:36px}
.tiers-title-row{display:flex;align-items:center;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.tiers-main-title{font-family:'Orbitron',sans-serif;font-size:clamp(20px,3.5vw,40px);font-weight:900;letter-spacing:.03em}
.tiers-main-title .tx{background:linear-gradient(135deg,#fff 0%,#00e5ff 50%,#3d9eff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tiers-sub{font-size:13px;color:var(--txt-m);max-width:480px;line-height:1.6;margin-top:4px}

.tier-section{margin-bottom:24px;animation:cardUp 400ms cubic-bezier(.4,0,.2,1) both}
.tier-section:nth-child(1){animation-delay:0ms}
.tier-section:nth-child(2){animation-delay:60ms}
.tier-section:nth-child(3){animation-delay:120ms}
.tier-section:nth-child(4){animation-delay:180ms}
.tier-section:nth-child(5){animation-delay:240ms}

.tier-header{display:flex;align-items:center;gap:16px;padding:14px 20px 14px;border-radius:16px 16px 0 0;position:relative;overflow:hidden;cursor:default;}
.tier-header::before{content:'';position:absolute;inset:0;pointer-events:none}
.tier-badge{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;flex-shrink:0;position:relative;z-index:1}
.tier-badge-inner{font-family:'Orbitron',sans-serif;font-weight:900;line-height:1;text-align:center}
.tier-badge-t{font-size:9px;letter-spacing:3px;opacity:.7;margin-bottom:1px}
.tier-badge-n{font-size:26px}
.tier-info{flex:1;position:relative;z-index:1}
.tier-name{font-family:'Orbitron',sans-serif;font-size:18px;font-weight:900;letter-spacing:.04em;line-height:1}
.tier-desc{font-size:12px;margin-top:4px;font-family:'JetBrains Mono',monospace;letter-spacing:.04em}
.tier-count{margin-left:auto;position:relative;z-index:1;font-family:'JetBrains Mono',monospace;font-size:12px;padding:4px 14px;border-radius:999px;border:1px solid}

.tier-body{border-radius:0 0 16px 16px;border:1px solid;border-top:none;padding:16px;display:flex;flex-wrap:wrap;gap:10px;min-height:80px;position:relative}

/* ===== TIER COLOR TOKENS + GENERIC RULES ===== */

/* T1 Gold */
.tier-t1{--tc-bg:var(--tier1-bg);--tc-before:var(--tier1-before);--tc-badge:var(--tier1-badge);--tc-badge-border:var(--tier1-badge-border);--tc-badge-shadow:var(--tier1-badge-shadow);--tc-badge-inner-shadow:var(--tier1-badge-inner-shadow);--tc-border:var(--tier1-border);--tc-name-color:var(--tier1-name-color);--tc-name-shadow:var(--tier1-name-shadow);--tc-desc-color:var(--tier1-desc-color);--tc-count-bg:var(--tier1-count-bg);--tc-count-border:var(--tier1-count-border);--tc-count-color:var(--tier1-count-color);--tc-body-border:var(--tier1-body-border);--tc-player-border:var(--tier1-player-border);--tc-player-bg:var(--tier1-player-bg);--tc-player-shadow:var(--tier1-player-shadow);--tc-player-before:var(--tier1-player-before);--tc-nick-color:var(--tier1-nick-color)}

/* T2 Silver */
.tier-t2{--tc-bg:var(--tier2-bg);--tc-before:var(--tier2-before);--tc-badge:var(--tier2-badge);--tc-badge-border:var(--tier2-badge-border);--tc-badge-shadow:var(--tier2-badge-shadow);--tc-badge-inner-shadow:var(--tier2-badge-inner-shadow);--tc-border:var(--tier2-border);--tc-name-color:var(--tier2-name-color);--tc-name-shadow:var(--tier2-name-shadow);--tc-desc-color:var(--tier2-desc-color);--tc-count-bg:var(--tier2-count-bg);--tc-count-border:var(--tier2-count-border);--tc-count-color:var(--tier2-count-color);--tc-body-border:var(--tier2-body-border);--tc-player-border:var(--tier2-player-border);--tc-player-bg:var(--tier2-player-bg);--tc-player-shadow:var(--tier2-player-shadow);--tc-player-before:var(--tier2-player-before);--tc-nick-color:var(--tier2-nick-color)}

/* T3 Bronze */
.tier-t3{--tc-bg:var(--tier3-bg);--tc-before:var(--tier3-before);--tc-badge:var(--tier3-badge);--tc-badge-border:var(--tier3-badge-border);--tc-badge-shadow:var(--tier3-badge-shadow);--tc-badge-inner-shadow:var(--tier3-badge-inner-shadow);--tc-border:var(--tier3-border);--tc-name-color:var(--tier3-name-color);--tc-name-shadow:var(--tier3-name-shadow);--tc-desc-color:var(--tier3-desc-color);--tc-count-bg:var(--tier3-count-bg);--tc-count-border:var(--tier3-count-border);--tc-count-color:var(--tier3-count-color);--tc-body-border:var(--tier3-body-border);--tc-player-border:var(--tier3-player-border);--tc-player-bg:var(--tier3-player-bg);--tc-player-shadow:var(--tier3-player-shadow);--tc-player-before:var(--tier3-player-before);--tc-nick-color:var(--tier3-nick-color)}

/* T4 Blue */
.tier-t4{--tc-bg:var(--tier4-bg);--tc-before:var(--tier4-before);--tc-badge:var(--tier4-badge);--tc-badge-border:var(--tier4-badge-border);--tc-badge-shadow:var(--tier4-badge-shadow);--tc-badge-inner-shadow:var(--tier4-badge-inner-shadow);--tc-border:var(--tier4-border);--tc-name-color:var(--tier4-name-color);--tc-name-shadow:var(--tier4-name-shadow);--tc-desc-color:var(--tier4-desc-color);--tc-count-bg:var(--tier4-count-bg);--tc-count-border:var(--tier4-count-border);--tc-count-color:var(--tier4-count-color);--tc-body-border:var(--tier4-body-border);--tc-player-border:var(--tier4-player-border);--tc-player-bg:var(--tier4-player-bg);--tc-player-shadow:var(--tier4-player-shadow);--tc-player-before:var(--tier4-player-before);--tc-nick-color:var(--tier4-nick-color)}

/* T5 Purple */
.tier-t5{--tc-bg:var(--tier5-bg);--tc-before:var(--tier5-before);--tc-badge:var(--tier5-badge);--tc-badge-border:var(--tier5-badge-border);--tc-badge-shadow:var(--tier5-badge-shadow);--tc-badge-inner-shadow:var(--tier5-badge-inner-shadow);--tc-border:var(--tier5-border);--tc-name-color:var(--tier5-name-color);--tc-name-shadow:var(--tier5-name-shadow);--tc-desc-color:var(--tier5-desc-color);--tc-count-bg:var(--tier5-count-bg);--tc-count-border:var(--tier5-count-border);--tc-count-color:var(--tier5-count-color);--tc-body-border:var(--tier5-body-border);--tc-player-border:var(--tier5-player-border);--tc-player-bg:var(--tier5-player-bg);--tc-player-shadow:var(--tier5-player-shadow);--tc-player-before:var(--tier5-player-before);--tc-nick-color:var(--tier5-nick-color)}

/* generic tier rules — all tiers share the same structure */
.tier-t1 .tier-header,
.tier-t2 .tier-header,
.tier-t3 .tier-header,
.tier-t4 .tier-header,
.tier-t5 .tier-header{background:var(--tc-bg);border:1px solid var(--tc-border);border-bottom:none}
.tier-t1 .tier-header::before,
.tier-t2 .tier-header::before,
.tier-t3 .tier-header::before,
.tier-t4 .tier-header::before,
.tier-t5 .tier-header::before{background:radial-gradient(ellipse 80% 120% at 0% 50%,var(--tc-before) 0,transparent 70%)}
.tier-t1 .tier-badge,
.tier-t2 .tier-badge,
.tier-t3 .tier-badge,
.tier-t4 .tier-badge,
.tier-t5 .tier-badge{background:var(--tc-badge);border:1px solid var(--tc-badge-border);box-shadow:0 0 20px var(--tc-badge-shadow),inset 0 1px 0 rgba(255,240,100,.2)}
.tier-t1 .tier-badge-inner,
.tier-t2 .tier-badge-inner,
.tier-t3 .tier-badge-inner,
.tier-t4 .tier-badge-inner,
.tier-t5 .tier-badge-inner{color:var(--tc-name-color);text-shadow:0 0 14px var(--tc-badge-inner-shadow)}
.tier-t1 .tier-name,
.tier-t2 .tier-name,
.tier-t3 .tier-name,
.tier-t4 .tier-name,
.tier-t5 .tier-name{color:var(--tc-name-color);text-shadow:0 0 18px var(--tc-name-shadow)}
.tier-t1 .tier-desc,
.tier-t2 .tier-desc,
.tier-t3 .tier-desc,
.tier-t4 .tier-desc,
.tier-t5 .tier-desc{color:var(--tc-desc-color)}
.tier-t1 .tier-count,
.tier-t2 .tier-count,
.tier-t3 .tier-count,
.tier-t4 .tier-count,
.tier-t5 .tier-count{background:var(--tc-count-bg);border-color:var(--tc-count-border);color:var(--tc-count-color)}
.tier-t1 .tier-body,
.tier-t2 .tier-body,
.tier-t3 .tier-body,
.tier-t4 .tier-body,
.tier-t5 .tier-body{background:linear-gradient(135deg,rgba(18,24,50,.97),rgba(12,18,40,.99));border-color:var(--tc-body-border)}

/* tier player cards */
.tier-player{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;cursor:pointer;border:1px solid rgba(61,158,255,.12);background:rgba(255,255,255,.025);transition:transform var(--ts),background var(--t),border-color var(--t),box-shadow var(--t);min-width:160px;flex:0 0 auto;position:relative;overflow:hidden}
.tier-player::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity var(--t);pointer-events:none}
.tier-player:hover{transform:translateY(-3px) scale(1.02)}
.tier-player:active{transform:scale(.98)}

.tier-t1 .tier-player:hover,
.tier-t2 .tier-player:hover,
.tier-t3 .tier-player:hover,
.tier-t4 .tier-player:hover,
.tier-t5 .tier-player:hover{border-color:var(--tc-player-border);background:var(--tc-player-bg);box-shadow:0 8px 24px var(--tc-player-shadow)}
.tier-t1 .tier-player::before,
.tier-t2 .tier-player::before,
.tier-t3 .tier-player::before,
.tier-t4 .tier-player::before,
.tier-t5 .tier-player::before{background:radial-gradient(ellipse at 0% 0%,var(--tc-player-before),transparent 70%)}
.tier-t1 .tier-player:hover::before,
.tier-t2 .tier-player:hover::before,
.tier-t3 .tier-player:hover::before,
.tier-t4 .tier-player:hover::before,
.tier-t5 .tier-player:hover::before{opacity:1}

.tier-player-ava{width:42px;height:42px;border-radius:10px;object-fit:cover;border:1.5px solid rgba(255,255,255,.1);flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,.4);transition:transform var(--t)}
.tier-player:hover .tier-player-ava{transform:scale(1.06)}
.tier-player-info{flex:1;min-width:0}
.tier-player-nick{font-family:'Orbitron',sans-serif;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.01em;color:var(--txt);transition:color var(--t)}
.tier-t1 .tier-player:hover .tier-player-nick,
.tier-t2 .tier-player:hover .tier-player-nick,
.tier-t3 .tier-player:hover .tier-player-nick,
.tier-t4 .tier-player:hover .tier-player-nick,
.tier-t5 .tier-player:hover .tier-player-nick{color:var(--tc-nick-color)}
/* hack: flag sizes are hardcoded, would be nice to make these responsive */
.tier-player-flag{width:18px;height:12px;object-fit:cover;border-radius:2px;border:1px solid rgba(255,255,255,.1);margin-top:4px;display:block}
.tier-player-cats{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--txt-d);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.04em}
.tier-empty{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--txt-d);padding:20px;text-align:center;width:100%;opacity:.5}

/* tiers loading */
.tiers-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:80px 20px;color:var(--txt-m);font-family:'JetBrains Mono',monospace;font-size:12px}
.tiers-spin{width:36px;height:36px;border:2px solid var(--border);border-top-color:var(--cyan);border-radius:50%;animation:doSpin .8s linear infinite}

/* ===================== MODALS ===================== */
.modal-ov{position:fixed;inset:0;background:rgba(2,5,14,.88);backdrop-filter:blur(14px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity 220ms ease,visibility 220ms ease}
.modal-ov.open{opacity:1;visibility:visible}
.modal-panel{max-width:420px;width:100%;background:linear-gradient(160deg,var(--bg2),var(--bg1));border:1px solid var(--border2);border-radius:20px;position:relative;transform:scale(.94) translateY(12px);transition:transform 280ms cubic-bezier(.34,1.56,.64,1);max-height:92vh;overflow-y:auto;box-shadow:0 40px 80px rgba(0,0,0,.7),0 0 60px rgba(45,140,240,.08)}
.modal-ov.open .modal-panel{transform:scale(1) translateY(0)}
.modal-x{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg2);color:var(--txt-m);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--t);z-index:10}
.modal-x:hover{background:var(--bg3);border-color:var(--border2);color:var(--txt);transform:rotate(90deg)}

/* player profile modal */
.pmod .modal-panel{max-width:600px;padding:0;overflow:hidden;background:linear-gradient(160deg,rgba(12,22,44,.98) 0%,rgba(6,12,28,.99) 100%);border-color:rgba(61,158,255,.3);box-shadow:0 40px 80px rgba(0,0,0,.8),0 0 80px rgba(61,158,255,.1);}
.pp-head{padding:24px 68px 22px 24px;background:linear-gradient(135deg,rgba(61,158,255,.18) 0%,rgba(0,229,255,.08) 40%,rgba(120,80,255,.1) 100%);border-bottom:1px solid rgba(61,158,255,.2);display:flex;gap:18px;align-items:flex-start;position:relative;overflow:hidden;}
.pp-head::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(61,158,255,.22) 0%,transparent 55%),linear-gradient(315deg,rgba(0,229,255,.1) 0%,transparent 50%);}
.pp-head::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 60%);border-bottom:1px solid rgba(61,158,255,.25);}
.pp-ava{width:76px;height:76px;border-radius:20px;object-fit:cover;border:2px solid rgba(61,158,255,.6);flex-shrink:0;box-shadow:0 0 0 4px rgba(61,158,255,.12),0 8px 24px rgba(0,0,0,.5);position:relative;z-index:1;}
.pp-info{flex:1;min-width:0;position:relative;z-index:1}
.pp-nick-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.pp-flag{width:24px;height:16px;object-fit:cover;border-radius:3px;border:1px solid rgba(255,255,255,.15);box-shadow:0 2px 6px rgba(0,0,0,.4)}
.pp-nick{font-family:'Orbitron',sans-serif;font-size:22px;font-weight:900;word-break:break-word;text-shadow:0 0 30px rgba(61,158,255,.35)}
.pp-cats{font-family:'JetBrains Mono',monospace;font-size:10px;color:rgba(100,160,220,.7);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.pp-ranks{display:flex;flex-wrap:wrap;gap:5px}
.pp-tabs{display:flex;border-bottom:1px solid rgba(61,158,255,.15);background:rgba(0,0,0,.3);padding:0 20px;overflow-x:auto;}
.pp-tabs::-webkit-scrollbar{display:none}
.pp-tab{padding:13px 18px;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--txt-m);border:none;background:none;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--t),border-color var(--t);font-family:'Exo 2',sans-serif;text-transform:uppercase;}
.pp-tab:hover{color:var(--txt)}
.pp-tab.active{color:var(--cyan);border-bottom-color:var(--cyan);text-shadow:0 0 12px rgba(0,229,255,.4)}
.pp-body{padding:20px 22px 24px;overflow-y:auto;max-height:55vh;min-height:140px;background:linear-gradient(180deg,rgba(10,18,38,.5) 0,transparent 100%);}
.pp-body::-webkit-scrollbar{width:4px}.pp-body::-webkit-scrollbar-thumb{background:rgba(61,158,255,.25);border-radius:4px}
.pp-panel{display:none}.pp-panel.active{display:block}
.pp-desc{font-size:13px;color:var(--txt-m);line-height:1.75;margin-bottom:18px;padding:14px 16px;border-radius:12px;background:rgba(61,158,255,.06);border:1px solid rgba(61,158,255,.14);}
.pp-links{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.pp-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid transparent;color:#fff;transition:all var(--t);font-family:'Exo 2',sans-serif;letter-spacing:.04em;}
.pp-link:hover{filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.pp-link.tg{background:linear-gradient(135deg,#0077b5,#0099dd);box-shadow:0 4px 14px rgba(0,136,204,.25)}
.pp-link.tt{background:linear-gradient(135deg,#00c8c8,#00f2ea);color:#000}
.pp-link.yt{background:linear-gradient(135deg,#b00,#e00);box-shadow:0 4px 14px rgba(200,0,0,.25)}
.pp-link.sr{background:rgba(32,220,104,.14);border-color:rgba(32,220,104,.4);color:#7ee8b0;box-shadow:0 4px 14px rgba(32,220,104,.1)}
.runs-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.runs-title{font-family:'Orbitron',sans-serif;font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}
.runs-title::before{content:'';width:3px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--success),var(--blue));flex-shrink:0}
.runs-badge{padding:3px 11px;border-radius:999px;font-size:10px;background:var(--blue-dim);border:1px solid var(--border2);color:#90c8f8;font-family:'JetBrains Mono',monospace}
.runs-filter{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.rf{padding:3px 11px;border-radius:999px;font-size:10px;font-weight:600;border:1px solid var(--border);background:var(--bg2);color:var(--txt-m);cursor:pointer;transition:all var(--t)}
.rf:hover{color:var(--txt);border-color:var(--border2)}.rf.active{background:var(--blue-dim);border-color:rgba(45,140,240,.5);color:#90c8f8}.rf.hidden{opacity:.6;text-decoration:line-through;background:rgba(232,64,64,.06);border-color:rgba(232,64,64,.25);color:#f08080}
.runs-list{display:flex;flex-direction:column;gap:6px}
.run-row{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:12px;background:linear-gradient(135deg,rgba(18,30,58,.8),rgba(10,18,38,.9));border:1px solid rgba(61,158,255,.14);text-decoration:none;color:inherit;transition:all var(--t);}
.run-row:hover{background:rgba(61,158,255,.12);border-color:rgba(61,158,255,.4);transform:translateX(4px);box-shadow:0 4px 16px rgba(61,158,255,.1)}
.run-place{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Orbitron',sans-serif;font-size:12px;font-weight:700;flex-shrink:0;border:1px solid}
.run-place.gold{background:rgba(232,181,48,.12);color:var(--gold);border-color:rgba(232,181,48,.35)}
.run-place.silver{background:rgba(157,180,204,.1);color:var(--silver);border-color:rgba(157,180,204,.3)}
.run-place.bronze{background:rgba(192,120,64,.1);color:var(--bronze);border-color:rgba(192,120,64,.28)}
.run-place.plain{background:rgba(255,255,255,.04);color:var(--txt-m);border-color:var(--border);font-size:10px}
.run-info{flex:1;min-width:0}
.run-map{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:3px}
.run-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.run-cat{padding:1px 7px;border-radius:999px;font-size:9px;font-weight:700;background:var(--blue-dim);border:1px solid var(--border2);color:#90c8f8;text-transform:uppercase}
.run-date{font-size:10px;color:var(--txt-d);font-family:'JetBrains Mono',monospace}
.run-wr{padding:1px 7px;border-radius:999px;font-size:9px;font-weight:700;background:rgba(232,181,48,.15);border:1px solid rgba(232,181,48,.4);color:var(--gold);text-transform:uppercase}
.run-time{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:700;flex-shrink:0;color:var(--txt)}
.runs-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px;color:var(--txt-m);font-family:'JetBrains Mono',monospace;font-size:12px}
.runs-spin{width:28px;height:28px;border:2px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:doSpin .8s linear infinite}
.runs-empty{padding:40px;text-align:center;color:var(--txt-m);font-size:13px;line-height:1.7}
.runs-no-sr{padding:28px;border-radius:var(--rm);border:1px dashed var(--border);background:rgba(45,140,240,.04);text-align:center}
.runs-no-sr p{font-size:13px;color:var(--txt-m);line-height:1.7}
.runs-err{padding:20px;border-radius:var(--rm);border:1px dashed rgba(232,64,64,.4);background:rgba(232,64,64,.06);color:#f08080;font-size:13px;text-align:center;line-height:1.7}

.signin-mod .modal-panel{max-width:360px;padding:36px 30px;text-align:center}
.signin-icon-txt{font-family:'Orbitron',sans-serif;font-size:34px;font-weight:900;color:var(--gold);margin-bottom:14px;text-shadow:0 0 20px rgba(232,181,48,.4);letter-spacing:.05em}
.signin-mod h3{font-family:'Orbitron',sans-serif;font-size:17px;font-weight:700;margin-bottom:8px;padding-right:0}
.signin-sub{font-size:13px;color:var(--txt-m);margin-bottom:26px;line-height:1.6}
.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 20px;border-radius:14px;background:#fff;color:#1f2937;font-size:14px;font-weight:700;cursor:pointer;border:none;font-family:'Exo 2',sans-serif;transition:all 140ms;box-shadow:0 4px 20px rgba(0,0,0,.5)}
.google-btn:hover{background:#f1f5ff;transform:translateY(-1px);box-shadow:0 8px 30px rgba(0,0,0,.6)}
.google-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.signin-note{margin-top:14px;font-size:10px;color:var(--txt-d);line-height:1.6;font-family:'JetBrains Mono',monospace}

.user-mod .modal-panel{max-width:460px;padding:0;display:flex;flex-direction:column;max-height:92vh;overflow:hidden}
.up-head{padding:22px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(45,140,240,.12),rgba(0,212,255,.06));display:flex;flex-direction:column;align-items:center;flex-shrink:0}
.up-ava{width:74px;height:74px;border-radius:50%;object-fit:cover;border:3px solid var(--blue);margin-bottom:10px}
.up-name{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:700;margin-bottom:2px}
.up-email{font-size:11px;color:var(--txt-d);font-family:'JetBrains Mono',monospace}
.up-body{padding:18px 22px 22px;overflow-y:auto;flex:1}
.up-body::-webkit-scrollbar{width:4px}.up-body::-webkit-scrollbar-thumb{background:var(--border2);border-radius:4px}
.up-lbl{display:block;font-size:10px;font-weight:700;color:var(--txt-d);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-family:'JetBrains Mono',monospace}
.up-field{margin-bottom:14px}
.up-in,.up-sel{width:100%;padding:10px 14px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);color:var(--txt);font-family:'Exo 2',sans-serif;font-size:13px;outline:none;transition:all var(--t)}
.up-in:focus,.up-sel:focus{border-color:rgba(45,140,240,.6);box-shadow:0 0 0 3px rgba(45,140,240,.1)}
.up-in::placeholder{color:var(--txt-d)}.up-sel{cursor:pointer}.up-sel option{background:var(--bg1)}
.up-div{border:none;border-top:1px solid var(--border);margin:16px 0}
.up-links{display:flex;flex-direction:column;gap:8px}
.up-lrow{display:flex;align-items:center;gap:8px}
.up-lico{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid}
.up-lico.yt{background:rgba(220,50,50,.1);border-color:rgba(220,50,50,.25)}.up-lico.tg{background:rgba(0,136,204,.1);border-color:rgba(0,136,204,.25)}.up-lico.sr{background:rgba(32,212,104,.08);border-color:rgba(32,212,104,.2)}.up-lico.tt{background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.2)}
.ava-row{display:flex;gap:10px;align-items:center}.ava-row .up-in{flex:1}
.ava-mini{width:38px;height:38px;border-radius:10px;object-fit:cover;border:1px solid var(--border);display:none;flex-shrink:0}
.save-btn{width:100%;padding:12px;border-radius:12px;background:linear-gradient(135deg,#1e5fc8,#2d8cf0);border:none;color:#fff;font-size:14px;font-weight:700;font-family:'Orbitron',sans-serif;letter-spacing:.06em;cursor:pointer;transition:all var(--t)}
.save-btn:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 10px 28px rgba(45,140,240,.4)}
.save-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.up-st{font-size:12px;text-align:center;margin-top:8px;min-height:16px;font-family:'JetBrains Mono',monospace}
.up-st.ok{color:var(--success)}.up-st.err{color:var(--danger)}
.sout-btn{margin-top:14px;width:100%;padding:10px;border-radius:10px;background:rgba(232,64,64,.07);border:1px solid rgba(232,64,64,.2);color:#f08080;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--t);font-family:'Exo 2',sans-serif}
.sout-btn:hover{background:rgba(232,64,64,.15);border-color:rgba(232,64,64,.4)}

.howto-mod .modal-panel{max-width:440px;padding:28px}
.m-h3{font-family:'Orbitron',sans-serif;font-size:16px;font-weight:700;margin-bottom:18px;padding-right:40px;letter-spacing:.02em}
.req-box{background:rgba(45,140,240,.08);border:1px solid rgba(45,140,240,.25);border-radius:12px;padding:16px;margin-bottom:18px}
.req-title{font-family:'JetBrains Mono',monospace;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);margin-bottom:12px;font-weight:600}
.req-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.req-item:last-child{margin-bottom:0}
.req-num{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:rgba(45,140,240,.25);border:1px solid rgba(45,140,240,.5);color:#90c8f8;font-size:10px;font-weight:700;font-family:'JetBrains Mono',monospace;display:flex;align-items:center;justify-content:center;margin-top:1px}
.req-text{font-size:13px;color:var(--txt-m);line-height:1.65}
.req-text strong{color:var(--txt);font-weight:600}
.req-text a{color:var(--cyan);text-decoration:none}.req-text a:hover{text-decoration:underline}
.tg-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:12px;background:linear-gradient(135deg,#006da8,#0088cc);border:none;color:#fff;font-size:14px;font-weight:700;font-family:'Exo 2',sans-serif;text-decoration:none;transition:all var(--t);margin-top:4px}
.tg-btn:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px rgba(0,136,204,.4)}
.dc-row{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}
.dc-lbl{font-size:12px;color:var(--txt-m);margin-bottom:10px}
.dc-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(88,101,242,.12);border:1px solid rgba(88,101,242,.35);color:#b8bbff;font-size:12px;cursor:pointer;font-weight:600;transition:all var(--t)}
.dc-pill:hover{background:rgba(88,101,242,.22);transform:translateY(-1px)}

/* TOURNAMENT */
.trn-page{position:relative;z-index:1;padding:28px 0 80px}
.trn-header{text-align:center;padding:20px 20px 0;max-width:1300px;margin:0 auto 20px}
.trn-header::after{content:'';display:block;height:1px;margin-top:16px;background:linear-gradient(90deg,transparent,#00c8ff,#0070ff,rgba(94,23,235,.7),transparent);opacity:.5}
.trn-title-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.trn-logo-tag{font-family:'Orbitron',sans-serif;font-size:9px;letter-spacing:5px;color:#00c8ff;opacity:.6;margin-bottom:6px}
.trn-main-title{font-family:'Orbitron',sans-serif;font-size:clamp(18px,3vw,38px);font-weight:900;background:linear-gradient(130deg,#fff 0%,#00c8ff 50%,#0070ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.04em}
.trn-sub{font-size:11px;color:rgba(160,210,255,.5);letter-spacing:1.5px;font-family:'JetBrains Mono',monospace}
.trn-controls{display:flex;justify-content:center;align-items:center;gap:10px;padding:10px 20px 18px;flex-wrap:wrap}
.season-wrap{position:relative}
.season-btn{font-family:'Orbitron',monospace;font-size:8px;letter-spacing:2px;text-transform:uppercase;padding:8px 18px;border-radius:6px;border:1px solid rgba(0,200,255,.3);background:rgba(0,200,255,.08);color:#00c8ff;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;}
.season-btn:hover{background:rgba(0,200,255,.15);border-color:#00c8ff;box-shadow:0 0 14px rgba(0,200,255,.3)}
.season-btn .s-arrow{font-size:10px;transition:transform .2s}
.season-btn.open .s-arrow{transform:rotate(180deg)}
.season-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:160px;background:#0d1b3e;border:1px solid rgba(0,200,255,.25);border-radius:10px;overflow:hidden;z-index:100;box-shadow:0 8px 32px rgba(0,0,0,.5);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .18s,transform .18s;}
.season-dropdown.open{opacity:1;pointer-events:all;transform:translateY(0)}
.season-item{padding:11px 16px;font-family:'Orbitron',monospace;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#a0c8e8;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;gap:8px;}
.season-item:hover{background:rgba(0,200,255,.1);color:#00c8ff}
.season-item.active{color:#00c8ff;background:rgba(0,200,255,.08)}
.season-item .s-dot{width:6px;height:6px;border-radius:50%;background:#00c8ff;opacity:.6;flex-shrink:0}

/* ===== GLOBAL CHAT ===== */
.chat-page{max-width:900px;margin:0 auto;padding:40px 20px}
.chat-header{margin-bottom:24px}
.chat-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.chat-main-title{font-family:'Orbitron',monospace;font-size:28px;font-weight:700;letter-spacing:3px}
.chat-main-title .tx{color:var(--cyan);-webkit-text-fill-color:var(--cyan)}
.chat-main-title .tx2{color:var(--txt-m);-webkit-text-fill-color:var(--txt-m);font-size:70%}
.chat-status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt-m);font-family:'JetBrains Mono',monospace}
.chat-sub{font-size:13px;color:var(--txt-m);margin-top:8px;line-height:1.6}
.chat-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.chat-stat{background:var(--card);border:1px solid var(--border);border-radius:var(--rm);padding:14px 16px;text-align:center}
.chat-stat-lbl{font-size:10px;color:var(--txt-m);text-transform:uppercase;letter-spacing:1px;font-family:'Orbitron',monospace;margin-bottom:6px}
.chat-stat-val{font-size:20px;font-weight:700;color:var(--cyan);font-family:'JetBrains Mono',monospace}
.chat-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.chat-filter{font-family:'Orbitron',monospace;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:8px 16px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--txt-m);cursor:pointer;transition:all .2s}
.chat-filter:hover{border-color:var(--cyan);color:var(--cyan)}
.chat-filter.active{background:rgba(0,229,255,.12);border-color:rgba(0,229,255,.4);color:var(--cyan)}
.chat-container{background:var(--card);border:1px solid var(--border);border-radius:var(--r);height:500px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.chat-container::-webkit-scrollbar{width:6px}
.chat-container::-webkit-scrollbar-track{background:transparent}
.chat-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.chat-waiting{display:flex;align-items:center;justify-content:center;gap:12px;height:100%;color:var(--txt-m);font-size:13px}
.chat-spin{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--cyan);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.chat-msg{display:flex;gap:10px;padding:8px 12px;border-radius:8px;transition:background .15s;animation:fadeSlide .2s ease}
.chat-msg:hover{background:rgba(255,255,255,.03)}
@keyframes fadeSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.chat-msg-time{font-size:10px;color:var(--txt-d);font-family:'JetBrains Mono',monospace;min-width:50px;padding-top:2px}
.chat-msg-server{font-size:9px;color:var(--txt-d);font-family:'JetBrains Mono',monospace;background:rgba(0,229,255,.08);border:1px solid rgba(0,229,255,.15);border-radius:4px;padding:1px 6px;min-width:80px;text-align:center;white-space:nowrap}
.chat-msg-nick{font-weight:600;color:var(--cyan);font-size:13px;white-space:nowrap}
.chat-msg-text{color:var(--txt);font-size:13px;word-break:break-word}
.chat-msg-king{background:rgba(240,192,64,.08);border:1px solid rgba(240,192,64,.2);border-radius:8px;padding:10px 14px;display:flex;align-items:center;gap:10px;animation:fadeSlide .2s ease}
.chat-msg-king .crown{font-size:18px}
.chat-msg-king .king-text{color:var(--gold);font-size:13px;font-weight:600}
.chat-msg-king .king-nick{color:var(--gold)}
.chat-msg-level{background:rgba(32,212,104,.06);border:1px solid rgba(32,212,104,.15);border-radius:8px;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--txt-m);animation:fadeSlide .2s ease}
.chat-msg-level .lvl-icon{color:var(--success)}
.chat-msg-level .lvl-nick{color:var(--success);font-weight:600}
.chat-empty{text-align:center;padding:40px;color:var(--txt-d);font-size:13px}
.chat-king-badge{display:inline-block;background:linear-gradient(135deg,rgba(240,192,64,.25),rgba(255,220,80,.1));border:1px solid rgba(240,192,64,.4);border-radius:4px;padding:1px 6px;font-size:10px;color:var(--gold);font-family:'Orbitron',monospace;letter-spacing:1px;margin-left:6px}
@media(max-width:640px){.chat-stats{grid-template-columns:repeat(2,1fr)}.chat-container{height:400px}.chat-main-title{font-size:22px}}
