@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#0c1218; --surface:#131c25; --surface-2:#18232e; --surface-3:#202e3a; --line:#2c3a46; --text:#eef4f0; --muted:#94a3ae; --lime:#c8ff37; --lime-dark:#9ccc19; --amber:#ffb11b; --red:#ff6161; --mono:'DM Mono', monospace; --head:'Barlow Condensed', Impact, sans-serif; --body:'Manrope', sans-serif; }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--ink); }
body { min-width:320px; min-height:100vh; margin:0; color:var(--text); background:radial-gradient(circle at 88% 0%,#24333b 0,transparent 31rem),linear-gradient(145deg,#0d141b 0%,#111a22 55%,#0a1016 100%); font:400 1rem/1.55 var(--body); }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
a { color:inherit; text-decoration:none; }
::selection { color:var(--ink); background:var(--lime); }
.site-shell { width:min(1440px,100%); min-height:100vh; margin:auto; padding:0 3rem; display:flex; flex-direction:column; }
.topbar { height:88px; display:flex; align-items:center; gap:2.8rem; border-bottom:1px solid rgba(148,163,174,.18); }
.brand { display:flex; align-items:center; gap:.55rem; font:800 2rem/.8 var(--head); letter-spacing:.02em; text-transform:uppercase; }
.brand>span:not(.brand-mark) span { color:var(--lime); }.brand small { color:var(--muted); font:600 .72rem var(--mono); letter-spacing:.1em; align-self:flex-end; margin:0 0 -.1rem -.25rem; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; color:var(--ink); background:var(--lime); clip-path:polygon(0 0,100% 0,100% 70%,70% 100%,0 100%); font:.9rem var(--head); }
.main-nav { display:flex; align-self:stretch; gap:1.6rem; }.main-nav a { display:flex; align-items:center; position:relative; color:var(--muted); font-size:.9rem; font-weight:700; }.main-nav a:hover,.main-nav a.is-active { color:var(--text); }.main-nav a.is-active:after { position:absolute; bottom:0; left:0; right:0; height:3px; background:var(--lime); content:''; }
.account-menu { margin-left:auto; display:flex; gap:1rem; align-items:center; }.player-chip { display:flex; gap:.6rem; align-items:center; }.player-chip b { display:block; font-size:.87rem; }.player-chip small { display:block; color:var(--muted); font:500 .67rem var(--mono); }.avatar { width:34px; height:34px; display:grid; place-items:center; border:1px solid #52636e; color:var(--lime); background:var(--surface-3); font:700 .9rem var(--head); }.icon-button,.close { border:0; color:var(--muted); background:transparent; font-size:1.4rem; }.icon-button:hover,.close:hover { color:var(--lime); }.header-note { margin-left:auto; color:var(--muted); font:500 .72rem var(--mono); }
main { flex:1; padding:3.75rem 0 4.5rem; } footer { display:flex; justify-content:space-between; padding:1.6rem 0; color:#70808b; border-top:1px solid rgba(148,163,174,.15); font:500 .7rem var(--mono); letter-spacing:.04em; }footer span:first-child { color:var(--lime); font-weight:bold; }
.hero { min-height:calc(100vh - 185px); display:grid; grid-template-columns:1.2fr .8fr; gap:5rem; align-items:center; position:relative; overflow:hidden; }.hero:after { content:'CS 1.6'; position:absolute; right:-.15em; bottom:-.13em; color:rgba(200,255,55,.035); font:800 clamp(9rem,24vw,24rem)/.75 var(--head); letter-spacing:-.08em; pointer-events:none; }.hero-copy { position:relative; z-index:1; max-width:740px; }.eyebrow { margin:0 0 .65rem; color:var(--lime); font:600 .73rem var(--mono); letter-spacing:.09em; }.signal { display:inline-block; width:7px; height:7px; margin-right:.38rem; border-radius:50%; background:var(--lime); box-shadow:0 0 0 4px rgba(200,255,55,.12); }.hero h1,.page-heading h1,.match-intro h1 { margin:0; font:800 clamp(4rem,8vw,7.6rem)/.82 var(--head); letter-spacing:-.035em; text-transform:uppercase; }.hero h1 em { color:var(--lime); font-style:normal; }.hero-lead { max-width:590px; margin:1.7rem 0; color:#bdc9c8; font-size:1.07rem; line-height:1.85; }.hero-facts { display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; font-size:.78rem; color:var(--muted); }.hero-facts strong { display:block; color:var(--text); font:700 1.1rem var(--head); letter-spacing:.06em; text-transform:uppercase; }
.auth-panel,.form-panel,.players-panel,.action-card,.connection-card,.info-card,.rank-card { position:relative; z-index:1; background:rgba(19,28,37,.9); border:1px solid var(--line); box-shadow:0 20px 60px rgba(0,0,0,.19); }.auth-panel { width:min(100%,430px); justify-self:end; padding:1.75rem; }.tabs { display:flex; gap:1.4rem; border-bottom:1px solid var(--line); margin-bottom:1.55rem; }.tab { position:relative; border:0; padding:0 0 .85rem; color:var(--muted); background:transparent; font-weight:700; }.tab.is-active { color:var(--text); }.tab.is-active:after { position:absolute; right:0; bottom:-1px; left:0; height:2px; content:''; background:var(--lime); }.auth-form { display:grid; gap:1.1rem; }.auth-form.is-hidden,.is-hidden { display:none!important; }.quiet { color:var(--muted); font-size:.77rem; }.auth-panel>.quiet { margin:1.25rem 0 0; font-size:.69rem; }
label { display:grid; gap:.42rem; color:#cbd5d8; font-size:.76rem; font-weight:700; }input,select,textarea { width:100%; min-height:45px; padding:.65rem .78rem; color:var(--text); outline:none; border:1px solid #3a4955; border-radius:2px; background:#0d151c; font-size:.92rem; }input:focus,select:focus,textarea:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(200,255,55,.1); }select { appearance:auto; }textarea { resize:vertical; min-height:96px; }.button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:.65rem; padding:.55rem 1.05rem; border:1px solid #465560; color:var(--text); background:transparent; font-size:.76rem; font-weight:800; letter-spacing:.02em; text-transform:uppercase; transition:.16s ease; }.button:hover { border-color:var(--lime); color:var(--lime); transform:translateY(-1px); }.button-primary { border-color:var(--lime); color:var(--ink); background:var(--lime); }.button-primary:hover { color:var(--ink); background:#d5ff63; box-shadow:0 8px 22px rgba(200,255,55,.17); }.button-ghost { color:#cfd7d8; }.button-small { min-height:35px; padding:.4rem .75rem; font-size:.66rem; }.button-wide { width:100%; }.button span { font-size:1.25rem; line-height:0; }
.page-heading { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2.5rem; }.page-heading h1 { font-size:4.2rem; }.page-heading>div>p:last-child,.match-intro>div>p:last-child { margin:.4rem 0 0; color:var(--muted); font-size:.94rem; }.heading-actions { display:flex; gap:.75rem; flex-wrap:wrap; }.inline-form { padding:1rem; margin:-1.2rem 0 1.4rem; border:1px solid var(--line); background:rgba(14,21,28,.82); }.compact-form { display:flex; align-items:end; gap:.7rem; }.compact-form label { flex:1; }.form-panel { margin-bottom:1.5rem; padding:1.5rem; }.panel-title { display:flex; align-items:start; justify-content:space-between; gap:1rem; margin-bottom:1.25rem; }.panel-title h2,.players-panel h2,.action-card h2,.connection-card h2,.rank-card h2 { margin:0; font:700 1.8rem/1 var(--head); letter-spacing:.02em; text-transform:uppercase; }.form-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; align-items:end; }.form-grid .wide { grid-column:span 2; }
.lobby-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }.lobby-card { padding:1.35rem; border:1px solid var(--line); background:linear-gradient(135deg,rgba(31,46,58,.88),rgba(14,21,28,.9)); transition:transform .18s,border-color .18s; }.lobby-card:hover { transform:translateY(-3px); border-color:#60717a; }.card-top { display:flex; justify-content:space-between; gap:.75rem; align-items:center; color:var(--muted); font:500 .68rem var(--mono); }.mode-badge { padding:.22rem .45rem; color:#a3f416; border:1px solid rgba(200,255,55,.34); background:rgba(200,255,55,.07); font:600 .62rem var(--mono); text-transform:uppercase; }.mode-badge.custom { color:var(--amber); border-color:rgba(255,177,27,.35); background:rgba(255,177,27,.06); }.map-tag { font-size:.68rem; }.lobby-card h2,.squad-card h2,.league-card h2 { margin:1.45rem 0 .25rem; font:700 1.7rem/1 var(--head); letter-spacing:.015em; text-transform:uppercase; }.lobby-card>p,.squad-card p,.league-card p { margin:0; color:var(--muted); font-size:.8rem; }.lobby-card>p b { color:#dbe4e3; }.seat-row { display:flex; gap:.7rem; align-items:center; margin:1.35rem 0 .9rem; }.seats { min-width:max-content; color:var(--muted); font:500 .7rem var(--mono); }.seats b { color:var(--text); }.mini-progress { overflow:hidden; width:100%; height:4px; background:#32414c; }.mini-progress i { display:block; height:100%; background:var(--lime); }.card-foot { display:flex; justify-content:space-between; align-items:center; padding-top:.9rem; border-top:1px solid rgba(148,163,174,.14); }.card-foot small { color:#778792; font:.64rem var(--mono); }
.empty-state { grid-column:1/-1; min-height:250px; display:grid; place-items:center; align-content:center; padding:2rem; text-align:center; border:1px dashed #374651; color:var(--muted); }.empty-state>span { color:var(--lime); font:3rem var(--head); }.empty-state h1,.empty-state h2 { margin:.4rem 0; color:var(--text); font:700 2rem var(--head); text-transform:uppercase; }.empty-state p { max-width:440px; margin:0; font-size:.85rem; }.empty-state.standalone { min-height:430px; }.empty-state .button { margin-top:1.2rem; }
.match-page { max-width:1180px; margin:auto; }.match-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:2.5rem; }.back-link { color:var(--muted); font-size:.8rem; font-weight:700; }.back-link:hover { color:var(--lime); }.match-code-wrap { display:flex; align-items:center; gap:.65rem; color:var(--muted); font:.61rem var(--mono); letter-spacing:.08em; }.code-copy { border:0; padding:.28rem .42rem; color:var(--lime); background:#202e26; font:.73rem var(--mono); letter-spacing:.07em; }.code-copy:hover { color:#e4ff9d; }.code-copy small { margin-left:.4rem; color:#81908d; font:inherit; font-size:.58rem; }.match-intro { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.2rem; }.match-intro h1 { font-size:5rem; }.status-pill { padding:.48rem .75rem; border:1px solid #456071; color:#b7d7e9; background:#16232d; font:600 .7rem var(--mono); white-space:nowrap; }.status-pill.ready { color:var(--ink); border-color:var(--lime); background:var(--lime); }.status-pill.provisioning { color:#ffd480; border-color:#735a25; background:#282314; }.match-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr); gap:1.2rem; }.players-panel { min-height:390px; padding:1.5rem; }.players-panel .panel-title { border-bottom:1px solid var(--line); padding-bottom:1.1rem; }.players-list { display:grid; gap:.6rem; }.player-row { display:flex; align-items:center; gap:.75rem; min-height:55px; padding:.65rem .75rem; border:1px solid rgba(61,77,89,.75); background:#121c24; }.player-row .avatar { flex:0 0 32px; width:32px; height:32px; }.player-name { font-weight:700; font-size:.86rem; }.player-meta { color:var(--muted); font:.65rem var(--mono); }.player-ping { display:inline-block; margin-top:.18rem; font:600 .62rem var(--mono); }.player-ping.is-good { color:var(--lime); }.player-ping.is-medium { color:#ffd480; }.player-ping.is-high { color:#ff858c; }.player-ping.is-unknown { color:#74838d; }.accept-state { margin-left:auto; padding:.22rem .4rem; color:#f2c15d; background:#2a2316; font:500 .62rem var(--mono); }.accept-state.ok { color:var(--lime); background:#1c2a1b; }.loading-line { height:54px; opacity:.5; background:linear-gradient(90deg,#18232e,#24323d,#18232e); animation:shimmer 1.5s infinite; }.loading-line.short { width:73%; }@keyframes shimmer { 0%,100%{opacity:.3}50%{opacity:.7} }
.match-side { display:grid; gap:1.1rem; align-content:start; }.action-card,.connection-card,.info-card { padding:1.4rem; }.action-card h2,.connection-card h2 { margin-bottom:.7rem; }.action-card>p:not(.eyebrow),.info-card p { color:var(--muted); font-size:.8rem; }.connection-card { border-color:rgba(200,255,55,.52); background:linear-gradient(145deg,#1b2b20,#162019); }.connection-card h2 { color:var(--lime); }.connection-detail { display:grid; grid-template-columns:1fr auto auto; gap:.45rem; align-items:center; margin-top:.75rem; padding-top:.75rem; border-top:1px solid rgba(200,255,55,.16); color:#9eafa4; font-size:.68rem; }.connection-detail code { color:#edf7e5; font:.72rem var(--mono); }.copy-icon { padding:0; border:0; color:var(--lime); background:transparent; }.hltv-link,.text-link { display:inline-block; margin-top:1rem; color:var(--lime); font:600 .72rem var(--mono); }.info-card { box-shadow:none; }.info-card .eyebrow { color:var(--amber); }.info-card p { margin:0; line-height:1.7; }
.squad-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.squad-card { display:flex; min-height:235px; border:1px solid var(--line); background:rgba(19,28,37,.8); }.squad-tag { display:flex; align-items:end; width:80px; padding:.7rem; color:var(--ink); background:var(--amber); font:700 1.6rem/.8 var(--head); writing-mode:vertical-rl; text-transform:uppercase; }.squad-content { flex:1; padding:1.25rem; min-width:0; }.squad-card h2 { margin:1.05rem 0 .45rem; }.invite-line { display:flex; gap:.6rem; align-items:center; margin-top:1.1rem; color:var(--muted); font:.64rem var(--mono); }.add-player { display:flex; gap:.6rem; margin-top:1rem; }.add-player input { min-height:35px; font-size:.74rem; }
.league-list { display:grid; gap:.9rem; }.league-card { display:grid; grid-template-columns:85px minmax(0,1fr) 190px; gap:1.2rem; align-items:center; padding:1.25rem; border:1px solid var(--line); background:rgba(19,28,37,.8); }.league-emblem { display:grid; place-items:center; width:65px; height:65px; border:1px solid var(--lime); color:var(--lime); font:700 1.45rem var(--head); clip-path:polygon(50% 0,100% 21%,100% 78%,50% 100%,0 78%,0 21%); }.league-card h2 { margin:.7rem 0 .4rem; }.league-card small { display:block; margin-top:.7rem; color:#7e909c; font:.65rem var(--mono); }.league-join { display:grid; gap:.15rem; justify-items:end; text-align:right; }.league-join>strong { color:var(--lime); font:700 2.25rem/1 var(--head); }.league-join>span { color:var(--muted); font:.65rem var(--mono); }.league-join form { display:grid; gap:.45rem; width:100%; margin-top:.55rem; }.league-join select { min-height:33px; padding:.25rem; font-size:.7rem; }.league-join .button { width:100%; }.mode-badge.active { color:var(--amber); border-color:#684c12; }.mode-badge.finished { color:var(--muted); border-color:#43515a; }
.profile-layout { display:grid; grid-template-columns:320px minmax(0,570px); gap:1rem; }.rank-card { min-height:300px; padding:1.7rem; text-align:center; }.avatar-large { width:74px; height:74px; margin:0 auto 1.5rem; font-size:2rem; }.rank-card h2 { margin:.3rem 0; color:var(--lime); font-size:2.5rem; }.rank-card strong { display:block; font:700 3.9rem/.9 var(--head); }.rank-card strong small { font-size:1rem; color:var(--muted); }.rank-card>p:last-child { color:var(--muted); font-size:.72rem; }.profile-form { margin:0; }.profile-form label { max-width:470px; margin:1rem 0; }.profile-form .button { margin-top:.3rem; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.toast { position:fixed; z-index:50; right:1.25rem; bottom:1.25rem; max-width:380px; padding:.85rem 1rem; color:#d7e3e3; border:1px solid #456071; background:#17242e; box-shadow:0 12px 35px rgba(0,0,0,.35); font-size:.8rem; opacity:0; transform:translateY(1rem); pointer-events:none; transition:.2s; }.toast.is-visible { opacity:1; transform:translateY(0); }.toast.is-error { border-color:#92474d; color:#ffd0d0; background:#2a171b; }.toast.is-success { border-color:#678b35; color:#e5ffae; background:#1d291a; }
.button-danger { border-color:#c6575c; color:#ffd9d9; background:#52262b; }.button-danger:hover { border-color:#ff777e; color:#fff; background:#713137; }.permission-note { max-width:250px; color:var(--amber); font:.7rem/1.5 var(--mono); }.registration-location,.profile-location { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.team-sort-card,.moderation-card { padding:1.15rem; border:1px solid #3a4955; background:#151f28; }.team-sort-card>p:not(.eyebrow),.moderation-card>p:not(.eyebrow) { margin:.45rem 0 .9rem; color:var(--muted); font-size:.78rem; }.moderation-card .eyebrow { color:#ff9090; }.owner-settings { display:grid; grid-template-columns:1fr 1fr auto; gap:.55rem; align-items:end; margin-bottom:.75rem; }.owner-settings label { font-size:.65rem; }.owner-settings select { min-height:35px; padding:.35rem .45rem; font-size:.72rem; }.player-action,.player-team-form { margin-left:auto; }.player-action .button { min-height:31px; padding:.3rem .45rem; font-size:.58rem; }.player-team-form { display:flex; gap:.3rem; }.player-team-form select { width:auto; min-height:31px; padding:.2rem; font-size:.64rem; }.player-team-form .button { min-height:31px; padding:.3rem .45rem; font-size:.58rem; }.inactive-player { display:flex; justify-content:space-between; gap:.6rem; align-items:center; padding:.45rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.75rem; }.inactive-player:first-child { border-top:0; }.inactive-player .player-action { margin-left:0; }
.lobby-workspace { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:1.2rem; align-items:start; }.lobby-list-panel { min-width:0; border:1px solid var(--line); background:rgba(19,28,37,.9); box-shadow:0 20px 60px rgba(0,0,0,.19); }.lobby-list-toolbar { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.25rem 1.35rem; border-bottom:1px solid var(--line); }.lobby-list-toolbar h2 { margin:0; font:700 1.8rem/1 var(--head); letter-spacing:.02em; text-transform:uppercase; }.lobby-list-toolbar .eyebrow { margin-bottom:.38rem; }.table-search { width:min(100%,300px); }.table-search input { min-height:38px; padding:.5rem .65rem; font-size:.72rem; }.lobby-table-wrap { overflow-x:auto; }.lobby-table { width:100%; min-width:735px; border-collapse:collapse; }.lobby-table th { padding:.8rem 1rem; color:#7f9199; background:#151f28; font:600 .62rem var(--mono); letter-spacing:.08em; text-align:left; text-transform:uppercase; white-space:nowrap; }.lobby-table td { padding:.9rem 1rem; color:#bac7ca; border-top:1px solid rgba(148,163,174,.13); font-size:.78rem; vertical-align:middle; }.lobby-table tbody tr[data-lobby-row]:hover { background:#1a2630; }.lobby-table td strong { display:block; color:#f1f7f3; font-size:.84rem; }.lobby-table td small { display:block; margin-top:.15rem; color:#70838d; font:.62rem var(--mono); }.lobby-table td>b { color:var(--lime); font:600 .72rem var(--mono); white-space:nowrap; }.lobby-table td:last-child { text-align:right; }.table-public { color:#a6dc64; font:600 .65rem var(--mono); }.table-private { color:#ffc663; font:600 .65rem var(--mono); }.lobby-table-empty { height:205px; text-align:center!important; }.lobby-table-empty span,.lobby-table-empty strong,.lobby-table-empty small { display:block; }.lobby-table-empty span { color:var(--lime); font:2.5rem var(--head); }.lobby-table-empty strong { margin:.25rem 0; color:var(--text); font:700 1.5rem var(--head); text-transform:uppercase; }.lobby-table-empty small { color:var(--muted); font:normal .76rem var(--body)!important; }.lobby-chat { position:sticky; top:1rem; padding:1.1rem; border:1px solid var(--line); background:#111a22; }.chat-tabs { display:flex; gap:.35rem; margin:-1.1rem -1.1rem 1rem; padding:.65rem .7rem; overflow-x:auto; border-bottom:1px solid var(--line); background:#151f28; }.chat-tab { overflow:hidden; max-width:146px; flex:0 0 auto; padding:.35rem .48rem; color:#81939b; border:1px solid transparent; background:transparent; font:600 .64rem var(--mono); letter-spacing:.02em; text-overflow:ellipsis; white-space:nowrap; }.chat-tab:hover { color:var(--text); border-color:#3b4c58; }.chat-tab.is-active { color:var(--ink); border-color:var(--lime); background:var(--lime); }.chat-messages { display:grid; max-height:430px; min-height:260px; gap:.35rem; margin:.9rem 0; overflow:auto; }.chat-message { display:grid; grid-template-columns:auto 1fr auto; gap:.6rem; align-items:baseline; padding:.45rem .55rem; color:#bdcacd; border-left:2px solid #32424d; background:#17222b; font-size:.78rem; }.chat-message b { color:var(--lime); }.chat-message small { color:#80909a; font:.62rem var(--mono); }.chat-empty { align-self:center; margin:auto; text-align:center; }.chat-form { display:flex; gap:.65rem; }.chat-form input { min-height:38px; }
.news-list,.download-grid,.forum-categories,.thread-list,.history-list,.staff-list,.audit-panel { display:grid; gap:.9rem; }.news-card { display:grid; grid-template-columns:minmax(220px,.58fr) 1fr; gap:2rem; padding:1.55rem; border:1px solid var(--line); background:rgba(19,28,37,.8); }.news-card h2,.download-card h2,.forum-category h2,.thread-list>h2,.audit-panel h2,.history-card h2 { margin:.25rem 0 .55rem; font:700 2rem/1 var(--head); letter-spacing:.02em; text-transform:uppercase; }.news-card p,.news-body,.download-card p,.forum-category p { margin:0; color:var(--muted); font-size:.84rem; }.news-body { line-height:1.8; color:#c8d2d1; }
.ranking-table { overflow:hidden; border:1px solid var(--line); }.ranking-head,.ranking-row { display:grid; grid-template-columns:54px minmax(180px,1.6fr) .7fr .7fr .7fr 1fr; gap:.8rem; align-items:center; padding:.8rem 1rem; }.ranking-head { color:#788993; background:#18232e; font:600 .64rem var(--mono); letter-spacing:.08em; }.ranking-row { color:#aebdc1; border-top:1px solid rgba(148,163,174,.13); font-size:.8rem; }.ranking-row:hover { color:#fff; background:#1c2933; }.ranking-row>strong,.ranking-row>b { color:var(--lime); }.rank-player { display:flex; gap:.6rem; align-items:center; color:#edf5f2; font-weight:700; }.rank-player .avatar { font-style:normal; }
.download-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.download-card { min-height:235px; display:flex; flex-direction:column; padding:1.35rem; border:1px solid var(--line); background:#151f28; }.download-icon { color:var(--lime); font:700 2.8rem/1 var(--head); }.download-card h2 { margin:1rem 0 .55rem; }.download-card footer { margin-top:auto; padding-top:1rem; }.download-card footer small { color:#90a2a7; font:.67rem var(--mono); }
.forum-categories { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:1.5rem; }.forum-category { display:grid; grid-template-columns:1fr auto; gap:.6rem; padding:1.1rem; border:1px solid var(--line); background:#151f28; }.forum-category h2 { margin:0 0 .3rem; }.forum-category>span { color:var(--lime); font:700 1.2rem var(--head); }.forum-category>small { grid-column:2; color:var(--muted); font:.63rem var(--mono); }.thread-list { padding:1.25rem; border:1px solid var(--line); background:#121c24; }.thread-row { display:grid; grid-template-columns:auto minmax(160px,1fr) auto auto; gap:.7rem; align-items:center; padding:.85rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.8rem; }.thread-row b { color:#e7efee; }.thread-row span:nth-child(3),.thread-row small { color:var(--muted); font-size:.68rem; }
.forum-posts { display:grid; gap:.8rem; }.forum-post { display:grid; grid-template-columns:165px 1fr; min-height:145px; border:1px solid var(--line); background:#151f28; }.forum-post aside { display:flex; flex-direction:column; gap:.35rem; padding:1rem; border-right:1px solid var(--line); background:#111a22; font-size:.76rem; }.forum-post aside a { color:var(--lime); font-weight:700; }.forum-post aside small,.forum-post time { color:var(--muted); font:.63rem var(--mono); }.forum-post>div { padding:1rem 1.2rem; }.forum-post>div p { color:#d5dfde; font-size:.86rem; line-height:1.8; }.reply-form { max-width:none; margin-top:1rem; }.public-profile { display:grid; grid-template-columns:320px 1fr; gap:1rem; }.profile-stats { padding:1.5rem; border:1px solid var(--line); background:#151f28; }.profile-stats>div { display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; }.profile-stats span { display:grid; gap:.2rem; color:var(--muted); font:.64rem var(--mono); }.profile-stats b { color:var(--lime); font:700 2rem/1 var(--head); }.profile-stats>p:last-child { margin-top:1.7rem; color:#c5d0cf; font-size:.85rem; }
.history-card { display:grid; grid-template-columns:minmax(200px,1fr) auto auto auto; align-items:center; gap:1.2rem; padding:1.15rem; border:1px solid var(--line); background:#151f28; }.history-card h2 { margin:.7rem 0 .3rem; }.history-card p { margin:0; color:var(--muted); font-size:.72rem; }.scoreboard { color:var(--lime); font:700 2.5rem/1 var(--head); }.match-kda { display:grid; gap:.25rem; text-align:center; }.match-kda b { font:700 1.25rem var(--head); }.match-kda small { color:var(--muted); font:.6rem var(--mono); }.history-links { display:grid; gap:.45rem; }.history-links a { color:var(--lime); font:.7rem var(--mono); }
.staff-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.staff-card { padding:1rem; border:1px solid var(--line); background:#151f28; }.staff-card>div { display:grid; gap:.25rem; }.staff-card a { color:var(--lime); }.staff-card span,.staff-card small { color:var(--muted); font-size:.72rem; }.staff-form { display:grid; grid-template-columns:1fr 1.4fr auto; gap:.45rem; margin-top:.75rem; }.staff-form input,.staff-form select { min-height:33px; padding:.3rem; font-size:.68rem; }.audit-panel { margin-top:1.2rem; padding:1.2rem; border:1px solid var(--line); background:#121c24; }.audit-panel>div { display:grid; grid-template-columns:1fr auto auto; gap:.7rem; padding:.6rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.72rem; }.audit-panel b { color:var(--amber); font:600 .67rem var(--mono); }.audit-panel small { color:var(--muted); font:.63rem var(--mono); }
.admin-content-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.2rem; }.admin-content-grid .form-panel { display:grid; gap:.85rem; margin:0; }.admin-content-grid h2 { margin:0; font:700 1.7rem/1 var(--head); text-transform:uppercase; }
.server-list { display:grid; gap:.6rem; margin-top:1.2rem; padding:1.2rem; border:1px solid var(--line); background:#121c24; }.server-list>.eyebrow { margin-bottom:0; }.server-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem; border:1px solid #33434e; background:#17222b; }.server-row b,.server-row span,.server-row small { display:block; }.server-row b { color:#eff7f1; font-size:.84rem; }.server-row span,.server-row small { color:var(--muted); font-size:.68rem; }.server-row small { font-family:var(--mono); }
.directory-panel,.profile-match-history,.team-leagues { padding:1.2rem; border:1px solid var(--line); background:#151f28; }.directory-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }.directory-toolbar>strong { color:var(--lime); font:700 1.4rem var(--head); text-transform:uppercase; }.team-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }.team-directory-row { display:grid; grid-template-columns:64px 1fr auto; gap:.8rem; align-items:center; padding:1rem; border:1px solid #364651; background:#111a22; }.team-directory-row:hover { border-color:var(--lime); }.team-directory-row b,.team-directory-row small { display:block; }.team-directory-row b { color:#eef5f1; }.team-directory-row small { color:var(--muted); font:.65rem var(--mono); }.team-directory-row>strong { color:var(--lime); font:700 1.25rem var(--head); text-align:right; }.team-directory-row>strong small { color:var(--muted); font:.6rem var(--mono); }.profile-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1.25rem 0 0; }.profile-details div { padding:.65rem; border:1px solid #354550; background:#111a22; }.profile-details dt { color:var(--muted); font:.58rem var(--mono); text-transform:uppercase; }.profile-details dd { margin:.18rem 0 0; overflow-wrap:anywhere; color:#e9f1ef; font-size:.72rem; }.profile-match-history { margin-top:1rem; }.profile-match-history h2,.team-roster h2,.team-leagues h2 { margin:0; font:700 1.75rem/1 var(--head); text-transform:uppercase; }.profile-history-row { display:grid; grid-template-columns:auto minmax(160px,1fr) auto auto; gap:.8rem; align-items:center; padding:.8rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.76rem; }.profile-history-row b,.profile-history-row small { display:block; }.profile-history-row small { color:var(--muted); font:.62rem var(--mono); }.profile-history-row>strong { color:var(--lime); font:700 1.35rem var(--head); }.profile-history-row>span:last-child { color:#b7c5c5; font:.64rem var(--mono); }.team-profile { display:grid; grid-template-columns:300px 1fr; gap:1rem; }.team-profile-card,.team-roster { padding:1.35rem; border:1px solid var(--line); background:#151f28; }.squad-tag-large { width:90px; height:90px; margin-bottom:1.25rem; font-size:1.55rem; }.team-member-row { display:grid; grid-template-columns:auto 1fr auto; gap:.7rem; align-items:center; padding:.65rem 0; border-top:1px solid rgba(148,163,174,.14); }.team-member-row b,.team-member-row small { display:block; }.team-member-row b { color:#edf5f1; font-size:.8rem; }.team-member-row small { color:var(--muted); font:.62rem var(--mono); }.team-member-row>strong { color:var(--amber); font:.63rem var(--mono); }.team-leagues { margin-top:1rem; }.team-league-row { display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; gap:.8rem; align-items:center; padding:.75rem 0; border-top:1px solid rgba(148,163,174,.14); font-size:.75rem; }.team-league-row b { color:#edf5f1; }.team-league-row>span:not(.mode-badge),.team-league-row small { color:var(--muted); font:.63rem var(--mono); }
.installer-shell { max-width:900px; }.installer-main { display:grid; min-height:calc(100vh - 160px); place-items:center; padding:3rem 0; }.installer-card { width:min(100%,620px); padding:2rem; border:1px solid var(--line); background:rgba(19,28,37,.92); box-shadow:0 25px 70px rgba(0,0,0,.28); }.installer-card h1 { margin:0; font:800 4.6rem/.82 var(--head); letter-spacing:-.03em; text-transform:uppercase; }.installer-card h1 em { color:var(--lime); font-style:normal; }.installer-card>p:not(.eyebrow):not(.quiet) { max-width:520px; margin:1.4rem 0; color:#b9c5c8; }.installer-card dl { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin:1.6rem 0; }.installer-card dl div { padding:.7rem; border:1px solid #33434e; background:#111a21; }.installer-card dt { color:var(--muted); font:500 .62rem var(--mono); }.installer-card dd { margin:.25rem 0 0; overflow-wrap:anywhere; font:500 .76rem var(--mono); }.install-message { margin:1.2rem 0; padding:.85rem; border:1px solid; font-size:.8rem; }.install-message.success { border-color:#618635; color:#e4ffb0; background:#1b291a; }.install-message.error { border-color:#91464d; color:#ffd0d0; background:#2a171b; }.install-message code { font:inherit; }.installer-card .quiet { margin-top:1.4rem; }
.installer-roles { margin:1.8rem 0; padding:1.2rem; border:1px solid #3a4955; background:#121c24; }.installer-roles h2 { margin:0; font:700 1.65rem/1 var(--head); letter-spacing:.03em; text-transform:uppercase; }.installer-roles>p:not(.eyebrow):not(.quiet) { margin:.65rem 0 1rem; color:var(--muted); font-size:.8rem; }.installer-role-form { display:grid; grid-template-columns:1fr 1fr auto; gap:.65rem; align-items:end; }
@media (max-width:1000px) { .site-shell{padding:0 1.6rem}.hero{gap:2rem}.lobby-grid{grid-template-columns:repeat(2,1fr)}.lobby-workspace{grid-template-columns:minmax(0,1fr) 330px}.form-grid{grid-template-columns:repeat(2,1fr)}.league-card{grid-template-columns:70px minmax(0,1fr) 165px}.match-intro h1{font-size:4rem} }
@media (max-width:720px) { .site-shell{padding:0 1rem}.topbar{height:72px;gap:1rem}.brand{font-size:1.6rem}.brand-mark{width:29px;height:29px}.main-nav{gap:.8rem;overflow:auto}.main-nav a{font-size:.74rem}.account-menu{gap:.4rem}.player-chip>span:last-child{display:none}.hero{min-height:auto;grid-template-columns:1fr;padding:3rem 0}.auth-panel{justify-self:stretch}.hero h1{font-size:4.2rem}.page-heading,.match-intro{align-items:start;flex-direction:column}.page-heading h1{font-size:3.5rem}.heading-actions{width:100%}.heading-actions .button{flex:1}.compact-form{align-items:stretch;flex-direction:column}.form-grid,.lobby-grid,.lobby-workspace,.squad-grid,.profile-layout,.team-profile,.download-grid,.forum-categories,.public-profile,.staff-list,.admin-content-grid,.team-directory-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.lobby-list-toolbar,.directory-toolbar{align-items:stretch;flex-direction:column}.table-search{width:100%}.lobby-chat{position:static}.chat-messages{min-height:200px;max-height:330px}.match-layout{grid-template-columns:1fr}.match-header{margin-bottom:1.4rem}.match-intro h1{font-size:3.5rem}.league-card{grid-template-columns:55px minmax(0,1fr);gap:.8rem}.league-emblem{width:50px;height:50px}.league-join{grid-column:1/-1;justify-items:start;text-align:left;border-top:1px solid var(--line);padding-top:.8rem}.league-join form{max-width:280px}.squad-tag{width:58px}.squad-card{min-height:0}.player-row{padding:.55rem}.match-code-wrap span{display:none}footer{gap:.7rem;align-items:start;flex-direction:column}.header-note{display:none}.installer-role-form{grid-template-columns:1fr}.installer-card h1{font-size:3.5rem}.news-card,.forum-post{grid-template-columns:1fr;gap:1rem}.forum-post aside{border-right:0;border-bottom:1px solid var(--line)}.ranking-head{display:none}.ranking-row{grid-template-columns:32px 1fr auto;gap:.5rem}.ranking-row>span:nth-child(4),.ranking-row>span:nth-child(5),.ranking-row>span:nth-child(6){display:none}.thread-row{grid-template-columns:1fr auto}.thread-row .mode-badge{display:none}.thread-row small{grid-column:1/-1}.history-card{grid-template-columns:1fr 1fr}.history-links{grid-column:1/-1;grid-template-columns:repeat(2,max-content)}.profile-stats>div,.profile-details{grid-template-columns:repeat(2,1fr)}.profile-history-row,.team-league-row{grid-template-columns:1fr auto}.profile-history-row>span:last-child,.team-league-row small{grid-column:1/-1}.staff-form{grid-template-columns:1fr}.audit-panel>div{grid-template-columns:1fr} }
@media (max-width:430px) { .topbar{gap:.65rem}.main-nav{gap:.58rem}.main-nav a{font-size:.68rem}.brand small{display:none}.page-heading h1{font-size:3rem}.hero h1{font-size:3.6rem}.form-panel,.players-panel,.action-card,.connection-card,.info-card{padding:1rem}.match-intro h1{font-size:3rem} }
