:root{--php-card:#101827;--php-line:rgba(151,177,220,.16);--php-muted:#8d9ab1}body{overflow-x:hidden}.main-content{min-height:calc(100vh - 180px)}.section-stack{display:grid;gap:22px;padding-top:28px;padding-bottom:64px}.narrow{width:min(880px,calc(100% - 32px));padding:30px 0 70px}.container-wide{width:min(1800px,calc(100% - 32px));margin-inline:auto}.card{background:linear-gradient(150deg,rgba(18,28,48,.96),rgba(9,15,28,.96));border:1px solid var(--php-line);border-radius:20px;padding:22px;box-shadow:0 18px 55px rgba(0,0,0,.2)}.card h2,.card h3{margin-top:0}.muted{color:var(--php-muted)}.flash-stack{display:grid;gap:8px;padding-top:18px}.alert{padding:13px 16px;border:1px solid var(--php-line);border-radius:12px;background:#17233a}.alert-success{border-color:rgba(76,210,137,.4);color:#96efbd}.alert-error{border-color:rgba(255,101,122,.4);color:#ff9baa}.empty-state{padding:35px;text-align:center;color:var(--php-muted)}
.page-hero{padding:62px 0 36px;background:radial-gradient(circle at 80% 0,rgba(66,122,236,.18),transparent 42%);border-bottom:1px solid var(--php-line)}.page-hero>.container{display:flex;justify-content:space-between;align-items:end;gap:24px}.page-hero h1{font-size:clamp(34px,5vw,64px);margin:7px 0 8px}.page-hero p{max-width:720px;color:var(--php-muted);margin:0}.eyebrow{font-size:11px;letter-spacing:.18em;color:#70a4ff;font-weight:800}.page-actions{display:flex;flex-wrap:wrap;gap:10px}.site-footer{border-top:1px solid var(--php-line);padding:28px 0}.site-footer>.container{display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:42px;height:42px;object-fit:contain}.footer-brand div{display:grid}.footer-brand span,.site-footer>div>span{color:var(--php-muted);font-size:12px}.footer-links{display:flex;gap:18px}.footer-links a{color:#cbd7ec}
.stack-form{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:end}.form-grid h2,.form-grid>button{grid-column:1/-1}.stack-form label,.form-grid label,.filter-bar label{display:grid;gap:7px;color:#aebbd0;font-size:13px}input,textarea,select{max-width:100%;background:#091120;color:#edf3ff;border:1px solid #2b3a56;border-radius:11px;padding:11px 12px;font:inherit}textarea{resize:vertical;min-height:100px}select[multiple]{min-height:120px}fieldset{border:1px solid var(--php-line);border-radius:14px;padding:15px}legend{padding:0 8px;color:#a9bad5}.switch{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.switch input{width:auto}.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:14px;background:rgba(11,19,34,.8);border:1px solid var(--php-line);border-radius:16px}.filter-bar input[type=search]{min-width:260px;flex:1}.form-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.btn-danger{background:#8f3343!important;border-color:#b24a5b!important}.btn-success{background:#2a7955!important}.icon-btn{display:inline-grid;place-items:center;min-width:32px;height:32px;padding:4px 8px;border:1px solid var(--php-line);background:#15223a;color:#dce8ff;border-radius:9px;cursor:pointer}.icon-btn.danger{color:#ff8d9e}.is-loading{opacity:.65}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat-card{padding:20px;border:1px solid var(--php-line);border-radius:18px;background:#101a2d}.stat-card span{display:block;color:var(--php-muted);font-size:12px}.stat-card strong{font-size:34px}.simple-list{display:grid}.simple-list>div{display:grid;grid-template-columns:160px 1fr auto;gap:14px;padding:12px 0;border-bottom:1px solid var(--php-line)}.simple-list small{color:var(--php-muted)}.admin-tabs{display:flex;gap:8px;padding-top:18px;overflow:auto}.admin-tabs a{white-space:nowrap;padding:10px 14px;border:1px solid var(--php-line);border-radius:11px;color:#aebbd0}.admin-tabs a.active{background:#6d9fff;color:#08101e;border-color:#6d9fff}.table-wrap,.staff-table-shell{overflow-x:auto}.table-wrap table,.staff-table{width:100%;border-collapse:collapse;min-width:900px}.table-wrap th,.table-wrap td,.staff-table th,.staff-table td{padding:12px;border-bottom:1px solid var(--php-line);text-align:left;vertical-align:middle}.table-wrap th,.staff-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#8495b2}.staff-table-shell{background:#0d1627;border:1px solid var(--php-line);border-radius:18px}.staff-table{min-width:1650px}.staff-table input,.staff-table select{min-width:100px;padding:8px}.staff-table td:nth-child(3) input{min-width:150px}.staff-table td:nth-child(13) select{min-width:190px}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:999px;background:#18243a;font-size:11px}.status-pill i{width:7px;height:7px;border-radius:50%;background:#5bd69a}.offline .status-pill i{background:#657086}.token-list{display:grid;gap:10px}.token-list>div{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--php-line);border-radius:12px}.token-list code{overflow-wrap:anywhere;color:#84b3ff}.console-form{display:grid;grid-template-columns:250px 1fr auto;gap:10px}
.server-grid,.card-grid,.user-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.server-card{padding:22px;background:#111b2e;border:1px solid var(--php-line);border-radius:20px}.server-card-top{display:flex;justify-content:space-between}.server-card h2{font-size:26px}.server-count strong{font-size:40px}.progress{height:6px;background:#202d43;border-radius:10px;overflow:hidden;margin:13px 0}.progress i{display:block;height:100%;background:linear-gradient(90deg,#558bff,#72dfca)}.user-card{display:flex;align-items:center;gap:14px;padding:16px;background:#111a2c;border:1px solid var(--php-line);border-radius:17px;color:#edf3ff;transition:.2s}.user-card:hover{transform:translateY(-3px);border-color:#4c70aa}.user-card img{width:64px;height:64px;border-radius:15px;object-fit:cover}.user-card>div{display:grid;gap:6px}.role-row{display:flex;flex-wrap:wrap;gap:5px}.role-badge,.role-preview{display:inline-flex;padding:4px 8px;border:1px solid color-mix(in srgb,var(--role-color,#6fa8dc),transparent 45%);background:color-mix(in srgb,var(--role-color,#6fa8dc),transparent 88%);color:var(--role-color,#a9c8ff);border-radius:8px;font-size:11px}.role-badge.author{--role-color:#f1b85b}
.profile-hero{padding:65px 0 28px;background:linear-gradient(rgba(6,10,19,.45),rgba(6,10,19,.92)),var(--profile-banner);background-size:cover;background-position:center}.profile-head{display:flex;align-items:end;gap:18px}.profile-head>div{flex:1}.profile-head h1{font-size:44px;margin:5px 0}.profile-avatar{width:130px;height:130px;border-radius:28px;object-fit:cover;border:4px solid #101a2d}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;padding:28px 0 65px}.management-panel{position:sticky;top:88px;align-self:start;display:grid;gap:16px;padding:20px;background:#0f192b;border:1px solid #344667;border-radius:20px}.info-list{display:grid;gap:10px}.info-list>div{display:grid;grid-template-columns:140px 1fr;padding:10px 0;border-bottom:1px solid var(--php-line)}.info-list dt{color:var(--php-muted)}.profile-messages{display:grid}.profile-messages>div{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid var(--php-line)}.profile-messages img{width:42px;height:42px;border-radius:10px}.profile-messages p{flex:1;margin:0}.profile-messages span{display:block;color:var(--php-muted);font-size:11px}.settings-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;padding:30px 0 65px}
.forum-section{border:1px solid var(--php-line);border-radius:20px;overflow:hidden;background:#0e1728}.forum-section>header{padding:22px;border-bottom:1px solid var(--php-line)}.forum-section h2{margin:5px 0}.forum-section p{margin:0;color:var(--php-muted)}.forum-category-list{display:grid}.forum-category-row{display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:17px 20px 17px calc(20px + var(--depth,0)*24px);border-bottom:1px solid var(--php-line);color:#eaf0fb}.forum-category-row:hover{background:#14223a}.forum-category-row div{display:grid;gap:3px}.forum-category-row small,.category-stats{color:var(--php-muted)}.category-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#192a48}.thread-list{display:grid;border:1px solid var(--php-line);border-radius:18px;overflow:hidden;background:#0f1829}.thread-list>h2{padding:18px;margin:0}.thread-list>a{display:grid;grid-template-columns:38px 1fr auto;gap:13px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--php-line);color:#e7efff}.thread-list>a:hover{background:#142039}.thread-list small{color:var(--php-muted)}.thread-list>a>div{display:grid}.thread-layout{display:grid;gap:16px;padding:28px 0 65px}.forum-post{display:grid;grid-template-columns:190px 1fr;background:#101a2c;border:1px solid var(--php-line);border-radius:18px;overflow:hidden}.forum-post>aside{padding:18px;background:#0c1423;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.forum-post>aside img{width:82px;height:82px;border-radius:18px;object-fit:cover}.post-body{padding:18px;min-width:0}.post-meta{display:flex;justify-content:space-between;color:var(--php-muted);font-size:12px;border-bottom:1px solid var(--php-line);padding-bottom:10px}.post-meta>div{display:flex;gap:5px}.post-meta form{display:inline}.bb-content{padding-top:17px;overflow-wrap:anywhere}.bb-img{max-width:100%;max-height:700px;border-radius:14px}.bb-code{overflow:auto;padding:14px;background:#060b14;border-radius:12px}.bb-quote{border-left:3px solid #6899f4;padding:12px 15px;background:#14213a}.bb-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:7px;border:1px solid var(--php-line);border-radius:12px;background:#091220}.bb-toolbar button,.bb-toolbar label{height:34px;min-width:34px;display:grid;place-items:center;border:1px solid #2e405e;border-radius:8px;background:#15233b;color:#dce8ff;cursor:pointer}.bb-toolbar input[type=color]{width:28px;height:28px;padding:2px}.bb-preview{padding:16px;border:1px dashed #46638f;border-radius:12px;background:#0a1324}.bb-help{margin-top:15px;padding:14px;border:1px solid var(--php-line);border-radius:14px}.bb-help-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding-top:12px}.moderation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.moderation-actions h3{width:100%}.moderation-actions form{display:flex;gap:7px}.manage-forum-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:30px 0 70px}.structure-list{grid-column:1/-1}.structure-list details{padding:12px;border-bottom:1px solid var(--php-line)}.inline-edit{display:flex;gap:8px;padding:10px 0}.structure-row{margin-left:calc(var(--depth)*22px);display:flex;justify-content:space-between;padding:8px 10px}
.role-editor-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;padding:26px 0 70px}.role-sidebar{display:grid;align-content:start;gap:12px;position:sticky;top:85px}.role-group{display:grid;background:#0e1728;border:1px solid var(--php-line);border-radius:15px;overflow:hidden}.role-group h3{font-size:11px;color:var(--php-muted);padding:11px;margin:0}.role-list-item{display:flex;align-items:center;gap:9px;padding:11px;color:#cbd7eb}.role-list-item i{width:9px;height:9px;border-radius:50%}.role-list-item span{flex:1}.role-list-item.active{background:#1a2b49;color:white}.role-editor-main{display:grid;gap:15px}.permission-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.permission-groups fieldset{display:grid;gap:8px}.permission-groups label{display:flex;gap:8px}.salary-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.salary-role-card header{display:flex;align-items:center;gap:10px}.salary-role-card header i{width:12px;height:12px;border-radius:50%}.salary-bonus-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.salary-bonus-grid label{display:grid;grid-template-columns:1fr 110px;align-items:center}
@media(min-width:1500px){.staff-table{min-width:100%}.staff-table-shell{overflow-x:visible}.server-grid,.user-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(3,1fr)}.server-grid,.user-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.management-panel{position:static}.role-editor-layout{grid-template-columns:220px 1fr}.settings-grid{grid-template-columns:1fr}}@media(max-width:760px){.page-hero>.container,.site-footer>.container{align-items:flex-start;flex-direction:column}.form-grid,.manage-forum-grid,.salary-role-grid,.permission-groups{grid-template-columns:1fr}.structure-list{grid-column:auto}.server-grid,.user-grid,.card-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.forum-post{grid-template-columns:1fr}.forum-post>aside{flex-direction:row;text-align:left}.forum-post>aside img{width:55px;height:55px}.profile-head{align-items:center;flex-wrap:wrap}.profile-avatar{width:92px;height:92px}.role-editor-layout{grid-template-columns:1fr}.role-sidebar{position:static}.console-form{grid-template-columns:1fr}.simple-list>div{grid-template-columns:1fr}.token-list>div{grid-template-columns:1fr}.bb-help-grid{grid-template-columns:1fr}.salary-bonus-grid{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
.structure-list>details{padding:12px;border-bottom:1px solid var(--php-line)}.structure-list summary{cursor:pointer;font-weight:700}.structure-edit-form{display:grid;gap:12px;padding:12px 0}.structure-row{display:block;margin:8px 0 8px calc(var(--depth)*22px);padding:10px;border:1px solid var(--php-line);border-radius:12px}

/* Native checkboxes must not inherit the full-width text-field geometry. */
.visibility-fieldset input[type="checkbox"]{width:16px;height:16px;min-width:16px;min-height:16px;padding:0;margin:0;flex:0 0 16px;border-radius:4px;accent-color:#289cff}

.filter-disclosure{margin-bottom:20px;border:1px solid rgba(147,209,255,.14);border-radius:14px;background:rgba(10,18,33,.78);overflow:hidden}
.filter-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:12px 16px;color:#eef7ff;cursor:pointer;list-style:none;font-weight:800}
.filter-disclosure>summary::-webkit-details-marker{display:none}.filter-disclosure>summary b{color:#83e4ff;font-size:.7rem}.filter-disclosure[open]>summary{border-bottom:1px solid rgba(147,209,255,.14)}
.filter-disclosure .directory-filter{margin:0;padding:16px;border:0;border-radius:0;background:transparent}
.salary-global-bonus-form{margin-bottom:28px;border:1px solid rgba(131,228,255,.18);border-radius:18px;background:linear-gradient(145deg,rgba(16,27,47,.96),rgba(7,13,25,.95));box-shadow:0 18px 42px rgba(0,0,0,.22)}
.salary-inline-bonuses{min-width:220px}.salary-inline-bonuses .staff-bonus-menu{position:absolute;z-index:30}.forum-post-actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:7px;margin-top:24px}.forum-post-actions form{margin:0}.forum-post-actions .mini-btn.active{color:#fff;border-color:#5ed4aa;background:rgba(54,196,145,.16)}
@media(max-width:760px){.filter-disclosure .directory-filter{grid-template-columns:1fr}.salary-inline-bonuses{min-width:0;width:100%}.salary-inline-bonuses .staff-bonus-menu{position:static}}

:root {
  color-scheme: dark;
  --bg: #050914;
  --bg-2: #071426;
  --panel: #0b1a2e;
  --panel-2: #102642;
  --line: rgba(121, 205, 255, .18);
  --line-2: rgba(121, 205, 255, .3);
  --text: #eef8ff;
  --soft: #a9bfd1;
  --muted: #718aa0;
  --blue: #289cff;
  --blue-2: #75d8ff;
  --danger: #ff5b78;
  --success: #42e69a;
  --shadow: 0 22px 70px rgba(0,0,0,.34);
  --radius: 8px;
  --font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--font);
  color: var(--text);
  background:
    radial-gradient(circle at 16% -8%, rgba(40,156,255,.22), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(117,216,255,.12), transparent 30%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
code, .mono { font-family: Consolas, "Courier New", monospace; }

.site-shell { min-height: 100vh; display: flex; flex-direction: column; }
.main-content { flex: 1; }
.container { width: min(1220px, calc(100% - 32px)); margin: 0 auto; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: rgba(5, 12, 25, .82);
  backdrop-filter: blur(18px);
}
.nav { min-height: 72px; display: flex; align-items: center; gap: 18px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 900; }
.brand img { width: 42px; filter: drop-shadow(0 0 20px rgba(117,216,255,.35)); }
.nav-menu { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav-menu a {
  padding: 9px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: var(--soft);
  font-weight: 800;
  font-size: .9rem;
}
.nav-menu a:hover, .nav-menu a.active { color: white; background: rgba(40,156,255,.18); }
.nav-user { display: flex; align-items: center; gap: 10px; }
.nav-user img { width: 34px; height: 34px; object-fit: cover; border-radius: 50%; border: 1px solid var(--blue-2); }
.nav-user span { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--soft); }
.nav-toggle { display: none; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 6px; background: transparent; }
.nav-toggle span { display: block; width: 20px; height: 2px; margin: 5px auto; background: var(--text); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--text);
  text-decoration: none;
  font-weight: 900;
  cursor: pointer;
  background: transparent;
}
.btn-primary { color: #02111f; background: linear-gradient(135deg, var(--blue-2), var(--blue)); box-shadow: 0 0 34px rgba(40,156,255,.22); }
.btn-ghost { border-color: var(--line-2); background: rgba(255,255,255,.04); }
.btn-ghost:hover { border-color: var(--blue-2); background: rgba(40,156,255,.12); }
.btn-danger { border-color: rgba(255,91,120,.4); background: rgba(255,91,120,.16); color: #ffd8e1; }
.btn-sm { min-height: 32px; padding: 6px 10px; font-size: .82rem; }

.hero {
  position: relative;
  min-height: 660px;
  display: grid;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,9,20,.96), rgba(5,9,20,.68), rgba(5,9,20,.92)),
    url("/logo_background.png") center / cover no-repeat;
}
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: center; }
.eyebrow { color: var(--blue-2); text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 900; }
.hero h1, .page-title h1, .forum-head h1, .topic-head h1, .admin-hero h1 {
  margin: 10px 0 14px;
  font-size: clamp(2.5rem, 6vw, 5.8rem);
  line-height: .95;
  letter-spacing: 0;
}
.hero p, .page-title p, .forum-head p, .admin-hero p { color: var(--soft); max-width: 720px; font-size: 1.05rem; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.hero-panel {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(11,26,46,.72);
  box-shadow: var(--shadow);
}
.hero-panel img { width: 220px; margin: 0 auto 22px; filter: drop-shadow(0 0 38px rgba(117,216,255,.35)); }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hero-stats div, .metric, .server-card, .feature-card, .panel, .side-card, .topic-head, .post, .reply-box, .profile, .admin-nav, .server-row {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(11,26,46,.94), rgba(16,38,66,.76));
}
.hero-stats div { padding: 14px; text-align: center; }
.hero-stats strong, .metric strong { display: block; color: var(--blue-2); font-size: 1.8rem; }
.hero-stats span, .metric span, .muted { color: var(--muted); }

.section { padding: 72px 0; }
.section-tight { padding-top: 36px; }
.section-head, .forum-head, .panel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.section-head h2, .panel h2, .side-card h2 { margin: 0; font-size: 1.25rem; }
.section-head a, .panel-head a { color: var(--blue-2); font-weight: 800; text-decoration: none; }
.server-grid, .feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.server-card, .feature-card { padding: 20px; }
.server-card h3, .feature-card h3 { margin: 14px 0 8px; }
.server-card code { display: inline-block; margin: 0 0 16px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 6px; color: var(--blue-2); }
.card-top { display: flex; justify-content: space-between; gap: 10px; }
.status { display: inline-flex; align-items: center; gap: 8px; color: var(--soft); font-weight: 900; font-size: .85rem; }
.status i { width: 9px; height: 9px; border-radius: 50%; background: var(--muted); }
.online .status i, .status.online i { background: var(--success); box-shadow: 0 0 16px rgba(66,230,154,.55); }
.feature-card span { color: var(--blue-2); font-weight: 900; }
.feature-card p { color: var(--soft); }

.page-title { padding: 64px 0 20px; }
.page-title h1 { font-size: clamp(2rem, 5vw, 4rem); }
.page-header { padding: 56px 0 18px; }
.page-header h1 { margin: 10px 0; font-size: clamp(2rem, 5vw, 3.7rem); }
.page-header p { color: var(--soft); }
.bp-kicker { color: var(--blue-2); text-transform: uppercase; letter-spacing: .12em; font-size: .76rem; font-weight: 900; }
.back-link { display: inline-flex; margin-bottom: 10px; color: var(--blue-2); text-decoration: none; font-weight: 900; }
.server-list { display: grid; gap: 16px; }
.server-row { display: grid; grid-template-columns: minmax(220px, 1fr) 1.4fr auto; gap: 18px; align-items: center; padding: 20px; }
.server-main h2 { margin: 8px 0 4px; }
.server-main p { margin: 0; color: var(--soft); }
.server-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.server-meta div span { display: block; color: var(--muted); font-size: .82rem; margin-bottom: 4px; }
.role-line { display: flex; flex-wrap: wrap; gap: 6px; }
.role { display: inline-flex; padding: 4px 8px; border-radius: 5px; background: var(--role, #1f5f97); color: white; font-size: .76rem; font-weight: 900; }

.forum-page, .admin-page { padding: 38px 0 78px; }
.forum-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; align-items: start; }
.forum-head.compact { align-items: center; }
.searchbar { display: flex; gap: 10px; margin-bottom: 16px; }
input, select, textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  outline: none;
  background: rgba(255,255,255,.055);
  color: var(--text);
}
select option { background: var(--panel); }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--blue-2); box-shadow: 0 0 0 3px rgba(40,156,255,.12); }
.forum-box { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: rgba(11,26,46,.72); }
.forum-box-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  background: linear-gradient(135deg, #0d3158, #1f5f97);
  font-weight: 900;
}
.forum-box-title small { color: rgba(255,255,255,.72); }
.forum-category-row, .thread-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 86px 110px minmax(210px, 260px);
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 12px 16px;
  border-top: 1px solid var(--line);
  text-decoration: none;
}
.thread-row { grid-template-columns: 42px minmax(0, 1fr) 90px 100px; }
.forum-category-row:hover, .thread-row:hover { background: rgba(40,156,255,.08); }
.forum-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; background: #1f5f97; color: white; font-weight: 900; }
.forum-info { min-width: 0; }
.forum-info strong, .forum-last b, .side-item b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-info span, .forum-last small, .side-item small { color: var(--muted); font-size: .84rem; }
.forum-count { text-align: center; color: var(--muted); }
.forum-count b { display: block; color: var(--text); }
.forum-last, .side-item { display: flex; gap: 10px; align-items: center; min-width: 0; }
.forum-last img, .side-item img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.side-column { display: grid; gap: 16px; }
.side-card { padding: 16px; }
.side-item { padding: 11px 0; border-top: 1px solid var(--line); text-decoration: none; }
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255,255,255,.035);
  color: var(--muted);
}
.breadcrumb a { color: var(--blue-2); text-decoration: none; }
.tag { display: inline-flex; margin-left: 8px; padding: 3px 7px; border-radius: 5px; background: rgba(117,216,255,.16); color: var(--blue-2); font-size: .75rem; }
.tag.danger { background: rgba(255,91,120,.16); color: #ffd6df; }
.empty { padding: 22px; color: var(--muted); text-align: center; }

.topic-head { padding: 18px; margin-bottom: 14px; display: flex; justify-content: space-between; gap: 16px; }
.topic-head h1 { font-size: clamp(1.6rem, 4vw, 2.6rem); }
.topic-actions, .post-actions, .form-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.post { display: grid; grid-template-columns: 170px minmax(0, 1fr); border-radius: 0; border-bottom: 0; }
.post:first-of-type { border-radius: var(--radius) var(--radius) 0 0; }
.post-author { padding: 18px; border-right: 1px solid var(--line); text-align: center; }
.post-author img { width: 86px; height: 86px; object-fit: cover; border-radius: 50%; margin: 0 auto 10px; border: 2px solid var(--blue-2); }
.post-author a { display: block; text-decoration: none; font-weight: 900; margin-bottom: 8px; }
.post-body { min-height: 190px; padding: 18px; }
.post-date { display: flex; justify-content: space-between; color: var(--muted); font-size: .86rem; margin-bottom: 16px; }
.bb-content { line-height: 1.65; color: #f6fbff; }
.bb-content a { color: var(--blue-2); }
.bb-quote { margin: 10px 0; padding: 10px 12px; border-left: 3px solid var(--blue-2); background: rgba(40,156,255,.12); }
.bb-code { padding: 12px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; background: #040811; }
.bb-img { max-width: min(100%, 760px); margin: 8px 0; border-radius: 6px; }
.bb-u { text-decoration: underline; }
.bb-s { text-decoration: line-through; }
.bb-center { text-align: center; }
.bb-left { text-align: left; }
.bb-right { text-align: right; }
.bb-list { margin-left: 22px; }
.post-actions { justify-content: flex-end; margin-top: 36px; }
.mini-btn {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: rgba(255,255,255,.05);
  color: var(--soft);
  text-decoration: none;
  cursor: pointer;
}
.mini-btn:hover, .mini-btn.active { color: white; border-color: var(--blue-2); background: rgba(40,156,255,.14); }
.mini-btn.danger { color: #ffd6df; border-color: rgba(255,91,120,.3); }
.reply-box { margin-top: 16px; padding: 16px; display: grid; grid-template-columns: 58px 1fr; gap: 14px; }
.reply-box > img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.editor-form, .create-topic, .info-form { display: grid; gap: 12px; }
.editor { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: rgba(255,255,255,.04); }
.editor-toolbar { display: flex; flex-wrap: wrap; gap: 2px; padding: 7px; border-bottom: 1px solid var(--line); }
.editor-toolbar button { min-height: 32px; padding: 0 9px; border: 0; border-radius: 5px; background: transparent; color: var(--soft); font-weight: 900; cursor: pointer; }
.editor-toolbar button:hover { background: rgba(40,156,255,.14); color: white; }
.editor textarea { border: 0; border-radius: 0; min-height: 160px; background: transparent; }
.create-topic { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(11,26,46,.72); }
.create-topic > input { font-size: 1.4rem; font-weight: 900; min-height: 58px; }
.alert { padding: 12px; border: 1px solid rgba(255,91,120,.36); border-radius: 6px; background: rgba(255,91,120,.12); color: #ffd6df; }

.profile { overflow: hidden; margin-bottom: 16px; }
.profile-banner {
  min-height: 260px;
  display: flex;
  align-items: end;
  gap: 20px;
  padding: 28px;
  background:
    radial-gradient(circle at 18% 22%, rgba(117,216,255,.36), transparent 26%),
    linear-gradient(135deg, #061124, #123c61 54%, #07101f);
  background-size: cover;
  background-position: center;
}
.profile-banner.custom { background-size: cover; background-position: center; }
.profile-avatar { width: 168px; height: 168px; object-fit: cover; border-radius: 50%; border: 4px solid rgba(238,248,255,.9); box-shadow: 0 18px 48px rgba(0,0,0,.35); }
.profile-banner h1 { margin: 0 0 10px; font-size: clamp(2rem, 4vw, 3.5rem); }
.profile-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.profile-stats div { padding: 16px; text-align: center; border-right: 1px solid var(--line); min-width: 0; }
.profile-stats div:last-child { border-right: 0; }
.profile-stats span { display: block; color: var(--muted); font-size: .84rem; }
.profile-stats strong { word-break: break-word; }
.profile-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px; }
.panel { padding: 18px; margin-bottom: 16px; }
.inline-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: start; }
.tabs { display: flex; margin: 16px 0 0; border: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; overflow: hidden; background: linear-gradient(135deg, #0d3158, #1f5f97); }
.tabs a { padding: 14px 16px; text-decoration: none; font-weight: 900; color: white; }
.tabs a.active { color: var(--blue-2); background: rgba(0,0,0,.18); }
.profile-message-form { display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; align-items: start; }
.profile-message-form img, .profile-message img { width: 52px; height: 52px; object-fit: cover; border-radius: 50%; }
.profile-message { display: grid; grid-template-columns: 54px 1fr; gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.profile-message header { display: flex; justify-content: space-between; gap: 10px; align-items: center; color: var(--text); }
.profile-message header > div { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.profile-message header span { color: var(--muted); font-size: .84rem; }
.profile-message-delete { flex: 0 0 auto; margin: 0; }
.profile-message-delete button { display: grid; width: 28px; height: 28px; padding: 0; place-items: center; border: 1px solid rgba(255,102,133,.24); border-radius: 8px; color: #ff9db0; background: rgba(255,102,133,.07); font-size: 1.05rem; line-height: 1; cursor: pointer; transition: border-color .18s ease, color .18s ease, background .18s ease, transform .18s ease; }
.profile-message-delete button:hover { border-color: rgba(255,102,133,.62); color: #fff; background: rgba(255,102,133,.2); transform: translateY(-1px); }
.info-form label, .info-view h3 { color: var(--blue-2); font-weight: 900; }
.info-view { display: grid; gap: 8px; color: var(--soft); }
.role-list { display: grid; gap: 8px; }
.user-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.user-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(145deg, rgba(11,26,46,.94), rgba(16,38,66,.76));
  text-decoration: none;
}
.user-card img { width: 58px; height: 58px; object-fit: cover; border-radius: 50%; border: 1px solid var(--blue-2); }
.user-card strong { display: block; margin-bottom: 3px; }
.user-card span { display: block; color: var(--muted); font-size: .84rem; margin-bottom: 7px; }

.admin-hero { padding: 24px; margin-bottom: 18px; display: flex; justify-content: space-between; gap: 16px; align-items: center; }
.admin-hero h1 { font-size: clamp(2rem, 5vw, 4rem); }
.admin-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 18px; }
.admin-nav { padding: 10px; display: grid; gap: 7px; align-content: start; }
.admin-nav a { padding: 11px 12px; border-radius: 6px; color: var(--soft); text-decoration: none; font-weight: 800; background: rgba(255,255,255,.035); }
.admin-nav a:hover { color: white; background: rgba(40,156,255,.14); }
.admin-main { min-width: 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 16px; }
.metric { padding: 16px; }
.table { width: 100%; border-collapse: collapse; }
.table th, .table td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.table th { color: var(--muted); font-size: .82rem; }
.table code { color: var(--blue-2); }
.admin-card, .form-card, .admin-section { padding: 18px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: linear-gradient(145deg, rgba(11,26,46,.94), rgba(16,38,66,.76)); }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 11px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.admin-table th { color: var(--muted); font-size: .82rem; }
.admin-table code { color: var(--blue-2); }
.logs-table-wrapper { overflow-x: auto; }
.empty-cell, .empty-state { padding: 20px; color: var(--muted); text-align: center; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; padding: 4px 8px; border-radius: 5px; border: 1px solid var(--line); color: var(--soft); font-size: .8rem; font-weight: 900; }
.status-badge.active { color: var(--success); border-color: rgba(66,230,154,.35); background: rgba(66,230,154,.1); }
.status-badge.inactive { color: var(--muted); }
.btn-success { border-color: rgba(66,230,154,.35); background: rgba(66,230,154,.14); color: #d8ffe9; }
.role-badge { display: inline-flex; padding: 4px 8px; border-radius: 5px; color: #fff; font-size: .76rem; font-weight: 900; }
.role-badge.small { font-size: .72rem; }
.command-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; }
.span-2 { grid-column: 1 / -1; }
.console-form { display: grid; grid-template-columns: 160px 180px 1fr; gap: 10px; }
.console-form input[name="command"] { grid-column: 1 / -2; }
.console-output { min-height: 120px; max-height: 240px; overflow: auto; margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: #040811; color: #cce9ff; font-family: Consolas, "Courier New", monospace; }
.agent-list { display: grid; gap: 10px; }
.agent-card { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.035); }
.agent-card h3 { margin: 9px 0 4px; }
.agent-card p, .agent-card small { color: var(--muted); }
.agent-card code { display: block; margin: 8px 0; color: var(--blue-2); word-break: break-all; }

.footer { border-top: 1px solid var(--line); padding: 24px 0; background: rgba(5,12,25,.68); }
.footer-grid { display: flex; justify-content: space-between; gap: 18px; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 9px; font-weight: 900; }
.footer-brand img { width: 34px; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.footer-links a { color: var(--soft); text-decoration: none; font-weight: 700; }
.footer-copy { color: var(--muted); }

@media (max-width: 980px) {
  .nav { flex-wrap: wrap; padding: 10px 0; }
  .nav-toggle { display: block; margin-left: auto; }
  .nav-menu { order: 3; display: none; width: 100%; flex-direction: column; align-items: stretch; margin-left: 0; }
  .nav-menu.open { display: flex; }
  .hero-grid, .forum-layout, .admin-layout, .command-grid { grid-template-columns: 1fr; }
  .server-row { grid-template-columns: 1fr; }
  .server-meta, .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .forum-category-row { grid-template-columns: 42px 1fr 80px; }
  .forum-category-row .forum-count:nth-of-type(2), .forum-last { display: none; }
  .inline-form, .console-form { grid-template-columns: 1fr; }
  .console-form input[name="command"] { grid-column: auto; }
}

@media (max-width: 720px) {
  .container { width: min(100% - 24px, 1220px); }
  .hero { min-height: 560px; }
  .hero-grid { gap: 24px; }
  .hero-panel { display: none; }
  .section-head, .forum-head, .topic-head, .admin-hero, .footer-grid { align-items: flex-start; flex-direction: column; }
  .server-meta, .feature-grid, .metric-grid, .profile-stats { grid-template-columns: 1fr; }
  .thread-row { grid-template-columns: 42px 1fr; }
  .thread-row .forum-count { grid-column: 2; display: inline-block; text-align: left; }
  .post, .reply-box, .profile-message-form, .profile-message { grid-template-columns: 1fr; }
  .post-author { border-right: 0; border-bottom: 1px solid var(--line); }
  .profile-banner { align-items: center; flex-direction: column; text-align: center; }
  .profile-avatar { width: 136px; height: 136px; }
  .profile-actions, .tabs { flex-direction: column; align-items: stretch; }
  .table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* Visual refresh — 2026 */
:root {
  --bg: #050711;
  --bg-2: #090d1b;
  --panel: #0d1425;
  --panel-2: #121d34;
  --line: rgba(150, 205, 255, .13);
  --line-2: rgba(142, 221, 255, .3);
  --text: #f4f8ff;
  --soft: #b7c3d8;
  --muted: #7889a5;
  --blue: #4b8dff;
  --blue-2: #83e4ff;
  --violet: #8d6cff;
  --danger: #ff6685;
  --success: #53e7a4;
  --shadow: 0 28px 80px rgba(0, 0, 0, .38);
  --shadow-soft: 0 14px 42px rgba(0, 0, 0, .24);
  --radius: 18px;
  --font: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

::selection { color: #fff; background: rgba(89, 133, 255, .62); }
html { scrollbar-color: #31496e #080b15; }
body {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(ellipse 70% 45% at 10% -10%, rgba(79, 114, 255, .24), transparent 65%),
    radial-gradient(ellipse 55% 40% at 100% 4%, rgba(73, 211, 255, .14), transparent 65%),
    linear-gradient(180deg, #050711 0%, #080c19 48%, #070a14 100%);
}
body::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  opacity: .16;
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}
a, button, input, select, textarea { transition: color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease, opacity .2s ease; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--blue-2);
  outline-offset: 3px;
}
.container { width: min(1240px, calc(100% - 48px)); }

.topbar {
  border-bottom-color: rgba(148, 204, 255, .1);
  background: rgba(5, 7, 17, .72);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .16);
  backdrop-filter: blur(24px) saturate(140%);
}
.nav { min-height: 78px; gap: 22px; }
.brand { gap: 11px; letter-spacing: -.04em; }
.brand img {
  width: 45px;
  transition: transform .28s ease, filter .28s ease;
  filter: drop-shadow(0 0 18px rgba(110, 211, 255, .32));
}
.brand:hover img { transform: rotate(-5deg) scale(1.06); filter: drop-shadow(0 0 24px rgba(110, 211, 255, .5)); }
.brand-copy { display: inline-flex; align-items: baseline; font-style: normal; font-size: 1rem; }
.brand-copy strong { font-weight: 800; }
.brand-copy em { color: var(--blue-2); font-style: normal; font-weight: 500; }
.nav-menu { gap: 6px; }
.nav-menu a {
  position: relative;
  padding: 10px 13px;
  border: 1px solid transparent;
  border-radius: 11px;
  font-size: .85rem;
  font-weight: 700;
}
.nav-menu a:hover { color: #fff; border-color: var(--line); background: rgba(255, 255, 255, .04); }
.nav-menu a.active {
  color: #fff;
  border-color: rgba(130, 227, 255, .17);
  background: linear-gradient(135deg, rgba(75, 141, 255, .2), rgba(131, 228, 255, .08));
  box-shadow: inset 0 1px rgba(255, 255, 255, .04);
}
.nav-menu a.active::after {
  position: absolute;
  right: 13px;
  bottom: 4px;
  left: 13px;
  height: 2px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, var(--blue), var(--blue-2));
  box-shadow: 0 0 10px rgba(131, 228, 255, .7);
}
.nav-user {
  padding-left: 4px;
  border-left: 1px solid var(--line);
}
.nav-user img { width: 36px; height: 36px; border: 2px solid rgba(131, 228, 255, .55); box-shadow: 0 0 0 4px rgba(131, 228, 255, .06); }
.nav-user span { font-size: .84rem; font-weight: 700; }
.nav-toggle { border-radius: 12px; background: rgba(255, 255, 255, .035); cursor: pointer; }
.nav-toggle span { transition: transform .2s ease, opacity .2s ease; }
.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2) { opacity: 0; }
.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: 12px;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: -.01em;
}
.btn::before {
  position: absolute;
  z-index: -1;
  top: -80%;
  bottom: -80%;
  left: -45%;
  width: 32%;
  content: "";
  pointer-events: none;
  opacity: 0;
  transform: rotate(18deg) translateX(-220%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .46), transparent);
}
.btn:hover::before { animation: bp-button-shine .72s ease; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.97); }
.btn-primary {
  color: #07101e;
  background: linear-gradient(135deg, #a4efff 0%, #61bbff 42%, #6687ff 100%);
  box-shadow: 0 10px 28px rgba(75, 141, 255, .25), inset 0 1px rgba(255, 255, 255, .6);
}
.btn-primary:hover { box-shadow: 0 15px 34px rgba(75, 141, 255, .36), inset 0 1px rgba(255, 255, 255, .7); filter: saturate(1.08); }
.btn-ghost {
  border-color: rgba(158, 213, 255, .2);
  background: rgba(255, 255, 255, .045);
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
.btn-ghost:hover { border-color: rgba(131, 228, 255, .52); background: rgba(79, 147, 255, .12); }
.btn-danger { border-color: rgba(255, 102, 133, .32); background: rgba(255, 102, 133, .12); }
.btn-sm { min-height: 34px; padding: 7px 11px; border-radius: 9px; font-size: .78rem; }

.hero {
  min-height: 720px;
  border-bottom-color: rgba(140, 202, 255, .1);
  isolation: isolate;
}
.hero::before {
  position: absolute;
  z-index: 1;
  top: 13%;
  right: 6%;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(131, 228, 255, .12);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 70px rgba(111, 151, 255, .025), 0 0 0 140px rgba(111, 151, 255, .018);
}
.hero-bg {
  background:
    linear-gradient(90deg, rgba(5, 7, 17, .96) 0%, rgba(5, 8, 18, .7) 52%, rgba(5, 7, 17, .9) 100%),
    linear-gradient(180deg, rgba(5, 7, 17, .06) 45%, #070a15 100%),
    url("/logo_background.png") center / cover no-repeat;
  filter: saturate(.85) contrast(1.04);
}
.hero-grid { z-index: 2; grid-template-columns: minmax(0, 1fr) 390px; gap: clamp(38px, 6vw, 86px); }
.eyebrow, .bp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #a3ebff;
  letter-spacing: .16em;
  font-size: .7rem;
}
.eyebrow::before, .bp-kicker::before {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  content: "";
  background: var(--blue-2);
  box-shadow: 0 0 14px rgba(131, 228, 255, .8);
}
.hero h1 {
  margin: 16px 0 22px;
  max-width: 850px;
  color: transparent;
  font-size: clamp(3.3rem, 7.2vw, 7.2rem);
  font-weight: 800;
  letter-spacing: -.075em;
  line-height: .87;
  background: linear-gradient(120deg, #fff 15%, #d8f6ff 50%, #8ebcff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  filter: drop-shadow(0 12px 32px rgba(45, 94, 181, .22));
}
.hero p { max-width: 680px; color: #b9c7db; font-size: clamp(1rem, 1.5vw, 1.14rem); line-height: 1.75; }
.hero-actions { gap: 11px; margin-top: 32px; }
.hero-actions .btn { min-height: 50px; padding: 13px 21px; }
.hero-panel {
  position: relative;
  padding: 30px;
  overflow: hidden;
  border-color: rgba(156, 219, 255, .2);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(17, 28, 50, .82), rgba(8, 14, 29, .74));
  box-shadow: 0 32px 90px rgba(0, 0, 0, .4), inset 0 1px rgba(255, 255, 255, .06);
  backdrop-filter: blur(22px);
}
.hero-panel::before {
  position: absolute;
  top: -50%;
  left: -20%;
  width: 75%;
  height: 160%;
  content: "";
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(151, 224, 255, .07), transparent);
}
.hero-panel img { position: relative; width: 235px; margin-bottom: 28px; filter: drop-shadow(0 0 42px rgba(105, 187, 255, .44)); }
.hero-stats { position: relative; gap: 8px; }
.hero-stats div {
  padding: 15px 8px;
  border-color: rgba(147, 210, 255, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
}
.hero-stats strong, .metric strong {
  color: #a8edff;
  font-size: 1.75rem;
  letter-spacing: -.05em;
}
.hero-stats span { font-size: .7rem; }

.section { padding: 88px 0; }
.section-tight { padding-top: 28px; }
.section-head { margin-bottom: 24px; }
.section-head h2, .panel h2, .side-card h2 { letter-spacing: -.035em; }
.section-head h2 { font-size: clamp(1.6rem, 3vw, 2.15rem); }
.section-head a, .panel-head a { color: #a4eaff; }
.server-grid, .feature-grid { gap: 18px; }
.hero-stats div, .metric, .server-card, .feature-card, .panel, .side-card, .topic-head, .post, .reply-box, .profile, .admin-nav, .server-row {
  border-color: var(--line);
  background: linear-gradient(145deg, rgba(16, 25, 44, .92), rgba(10, 16, 31, .86));
  box-shadow: inset 0 1px rgba(255, 255, 255, .03), var(--shadow-soft);
}
.server-card, .feature-card {
  position: relative;
  min-height: 210px;
  padding: 24px;
  overflow: hidden;
}
.server-card::after, .feature-card::after {
  position: absolute;
  right: -50px;
  bottom: -70px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  content: "";
  background: rgba(83, 141, 255, .08);
  filter: blur(6px);
}
.server-card:hover, .feature-card:hover, .user-card:hover {
  border-color: rgba(131, 228, 255, .28);
  transform: translateY(-5px);
  box-shadow: 0 24px 55px rgba(0, 0, 0, .3), 0 0 0 1px rgba(131, 228, 255, .04);
}
.server-card h3, .feature-card h3 { position: relative; z-index: 1; font-size: 1.08rem; letter-spacing: -.025em; }
.server-card code { position: relative; z-index: 1; border-radius: 9px; background: rgba(84, 146, 255, .07); }
.card-top, .server-card .btn { position: relative; z-index: 1; }
.feature-card > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(131, 228, 255, .2);
  border-radius: 11px;
  background: rgba(84, 146, 255, .08);
  font-size: .75rem;
}
.feature-card p { position: relative; z-index: 1; line-height: 1.7; }
.status i { width: 8px; height: 8px; }
.status.online i { animation: bp-status-pulse 2.1s ease-out infinite; }
.page-title { padding: 82px 0 28px; }
.page-title h1, .forum-head h1, .admin-hero h1 {
  color: #f8fbff;
  font-weight: 800;
  letter-spacing: -.06em;
}
.page-title h1 { margin-top: 15px; font-size: clamp(2.5rem, 5vw, 4.8rem); }
.page-title p, .forum-head p, .admin-hero p { line-height: 1.7; }

.server-list { gap: 14px; }
.server-row {
  padding: 23px;
  border-radius: 20px;
}
.server-row:hover { border-color: rgba(131, 228, 255, .26); transform: translateY(-2px); box-shadow: 0 20px 50px rgba(0, 0, 0, .26); }
.server-main h2 { letter-spacing: -.035em; }
.server-meta {
  gap: 8px;
  padding: 11px;
  border: 1px solid rgba(144, 204, 255, .09);
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
}
.server-meta > div { padding: 3px 7px; }
.role, .role-badge { border-radius: 999px; box-shadow: inset 0 1px rgba(255, 255, 255, .15); }

.forum-page, .admin-page { padding: 52px 0 92px; }
.forum-layout { grid-template-columns: minmax(0, 1fr) 326px; gap: 22px; }
.forum-head { margin-bottom: 24px; }
.forum-head h1 { margin-top: 14px; font-size: clamp(2.35rem, 5vw, 4.5rem); }
.forum-head.compact h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
.searchbar {
  gap: 8px;
  margin-bottom: 18px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(10, 16, 30, .72);
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}
.searchbar input { border-color: transparent; background: transparent; }
.searchbar input:focus { border-color: transparent; box-shadow: none; }
input, select, textarea {
  min-height: 46px;
  padding: 11px 14px;
  border-color: rgba(147, 209, 255, .14);
  border-radius: 11px;
  background: rgba(255, 255, 255, .04);
}
input::placeholder, textarea::placeholder { color: #657792; }
input:hover, select:hover, textarea:hover { border-color: rgba(147, 209, 255, .25); }
input:focus, select:focus, textarea:focus {
  border-color: rgba(131, 228, 255, .64);
  background: rgba(54, 95, 158, .09);
  box-shadow: 0 0 0 4px rgba(75, 141, 255, .1);
}
.forum-box {
  border-color: var(--line);
  border-radius: 18px;
  background: rgba(10, 16, 30, .76);
  box-shadow: var(--shadow-soft), inset 0 1px rgba(255, 255, 255, .025);
}
.forum-box-title {
  padding: 15px 18px;
  background: linear-gradient(110deg, rgba(62, 105, 196, .72), rgba(51, 130, 180, .45));
  box-shadow: inset 0 1px rgba(255, 255, 255, .08);
}
.forum-category-row, .thread-row {
  min-height: 82px;
  padding: 15px 18px;
  border-top-color: rgba(145, 205, 255, .09);
  transition: padding .22s ease, background .22s ease, transform .22s ease;
}
.forum-category-row:hover, .thread-row:hover {
  padding-left: 22px;
  background: linear-gradient(90deg, rgba(74, 130, 232, .1), rgba(90, 202, 255, .035));
}
.forum-icon {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(157, 225, 255, .2);
  border-radius: 11px;
  background: linear-gradient(145deg, rgba(83, 126, 237, .72), rgba(70, 172, 217, .52));
  box-shadow: 0 8px 22px rgba(61, 110, 202, .22);
  transition: transform .24s cubic-bezier(.22, 1, .36, 1), box-shadow .24s ease;
}
.forum-category-row:hover .forum-icon, .thread-row:hover .forum-icon { transform: rotate(-4deg) scale(1.06); }
.forum-info strong { margin-bottom: 4px; letter-spacing: -.015em; }
.forum-info span, .forum-last small, .side-item small { line-height: 1.5; }
.forum-last img, .side-item img {
  border: 1px solid rgba(131, 228, 255, .3);
  box-shadow: 0 0 0 3px rgba(131, 228, 255, .04);
}
.side-column { gap: 18px; }
.side-card { padding: 19px; border-radius: 18px; }
.side-card h2 { margin-bottom: 10px; font-size: 1.04rem; }
.side-item { margin: 0 -5px; padding: 13px 5px; border-top-color: rgba(145, 205, 255, .09); border-radius: 9px; }
.side-item:hover { padding-left: 10px; padding-right: 0; background: rgba(83, 141, 255, .055); }
.breadcrumb {
  margin-bottom: 22px;
  padding: 13px 16px;
  border-color: rgba(146, 207, 255, .11);
  border-radius: 14px;
  background: rgba(255, 255, 255, .025);
  font-size: .84rem;
}
.breadcrumb a:hover { color: #fff; }
.tag { border: 1px solid rgba(131, 228, 255, .16); border-radius: 999px; }

.topic-head { padding: 22px; margin-bottom: 16px; border-radius: 18px; }
.topic-head h1 { margin-top: 0; font-weight: 800; letter-spacing: -.045em; }
.post {
  border-color: rgba(145, 205, 255, .1);
  background: rgba(11, 17, 31, .86);
  box-shadow: none;
}
.post:first-of-type { border-radius: 18px 18px 0 0; }
.post:last-of-type { border-bottom: 1px solid var(--line); border-radius: 0 0 18px 18px; }
.post-author { padding: 22px 18px; border-right-color: rgba(145, 205, 255, .09); background: rgba(75, 125, 212, .035); }
.post-author img {
  width: 92px;
  height: 92px;
  border: 3px solid rgba(131, 228, 255, .58);
  box-shadow: 0 0 0 5px rgba(131, 228, 255, .05), 0 14px 32px rgba(0, 0, 0, .3);
}
.post-body { min-height: 205px; padding: 22px; }
.post-date { padding-bottom: 11px; border-bottom: 1px solid rgba(145, 205, 255, .08); }
.bb-content { color: #eaf1fb; line-height: 1.75; }
.bb-quote { padding: 14px 16px; border-left-width: 4px; border-radius: 0 11px 11px 0; background: rgba(64, 133, 235, .1); }
.bb-code, .console-output { border-radius: 11px; background: #050813; }
.bb-img { border-radius: 12px; }
.mini-btn { border-radius: 9px; background: rgba(255, 255, 255, .035); }
.mini-btn:hover, .mini-btn.active { transform: translateY(-1px); }
.reply-box { margin-top: 18px; padding: 20px; border-radius: 18px; }
.reply-box > img { border: 2px solid rgba(131, 228, 255, .38); }
.editor { border-radius: 13px; background: rgba(255, 255, 255, .025); }
.editor-toolbar { padding: 8px; background: rgba(255, 255, 255, .025); }
.editor-toolbar button { border-radius: 8px; }
.create-topic { padding: 22px; border-radius: 18px; background: rgba(11, 18, 33, .84); box-shadow: var(--shadow-soft); }
.alert { border-radius: 11px; }

.profile {
  border-radius: 22px;
  box-shadow: var(--shadow);
}
.profile-banner {
  position: relative;
  min-height: 290px;
  padding: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 15% 15%, rgba(131, 228, 255, .34), transparent 27%),
    radial-gradient(circle at 80% 0%, rgba(141, 108, 255, .28), transparent 35%),
    linear-gradient(135deg, #0a1122, #183966 54%, #0a0f20);
}
.profile-banner::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent 30%, rgba(5, 8, 17, .7));
}
.profile-banner > * { position: relative; z-index: 1; }
.profile-avatar { border-width: 5px; box-shadow: 0 0 0 7px rgba(255, 255, 255, .08), 0 22px 50px rgba(0, 0, 0, .42); }
.profile-banner h1 { letter-spacing: -.055em; }
.profile-stats { border-color: rgba(145, 205, 255, .09); background: rgba(7, 12, 24, .55); }
.profile-stats div { padding: 19px 14px; border-right-color: rgba(145, 205, 255, .09); }
.profile-stats strong { display: block; margin-top: 4px; font-size: 1.05rem; }
.profile-actions { padding: 16px 18px; }
.panel { padding: 22px; border-radius: 18px; }
.tabs { border-color: var(--line); border-radius: 15px 15px 0 0; background: rgba(12, 20, 37, .9); }
.tabs a { position: relative; color: var(--soft); }
.tabs a.active { color: #fff; background: rgba(79, 141, 255, .12); }
.tabs a.active::after { position: absolute; right: 14px; bottom: 0; left: 14px; height: 3px; border-radius: 999px 999px 0 0; content: ""; background: linear-gradient(90deg, var(--blue), var(--blue-2)); }
.profile-message { border-top-color: rgba(145, 205, 255, .09); }
.user-grid { gap: 16px; }
.user-card {
  padding: 17px;
  border-color: var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(16, 25, 44, .92), rgba(10, 16, 31, .86));
  box-shadow: var(--shadow-soft);
}
.user-card img { border: 2px solid rgba(131, 228, 255, .42); }

.admin-hero {
  position: relative;
  padding: 30px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 85% 0%, rgba(131, 228, 255, .13), transparent 35%),
    linear-gradient(145deg, rgba(16, 27, 49, .94), rgba(9, 15, 29, .9));
  box-shadow: var(--shadow-soft);
}
.admin-hero h1 { margin-top: 13px; }
.admin-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 20px; }
.admin-nav { position: sticky; top: 98px; padding: 12px; border-radius: 17px; }
.admin-nav a { padding: 12px 13px; border: 1px solid transparent; border-radius: 10px; }
.admin-nav a:hover { border-color: rgba(131, 228, 255, .14); transform: translateX(3px); }
.metric-grid { gap: 14px; }
.metric { padding: 19px; border-radius: 16px; }
.metric span { font-size: .78rem; }
.metric strong { margin-top: 5px; font-size: 2rem; }
.table th, .table td, .admin-table th, .admin-table td { padding: 13px 11px; border-bottom-color: rgba(145, 205, 255, .09); }
.table tbody tr:hover, .admin-table tbody tr:hover { background: rgba(76, 135, 234, .055); }
.admin-card, .form-card, .admin-section {
  padding: 22px;
  border-color: var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(16, 25, 44, .92), rgba(10, 16, 31, .86));
  box-shadow: var(--shadow-soft);
}
.status-badge { border-radius: 999px; }
.agent-card { border-radius: 13px; }

.footer {
  padding: 32px 0;
  border-top-color: rgba(145, 205, 255, .09);
  background: rgba(4, 7, 14, .7);
  backdrop-filter: blur(14px);
}
.footer-brand img { width: 38px; filter: drop-shadow(0 0 14px rgba(131, 228, 255, .24)); }
.footer-links { gap: 7px; }
.footer-links a { padding: 7px 9px; border-radius: 8px; font-size: .82rem; }
.footer-links a:hover { color: #fff; background: rgba(255, 255, 255, .04); }
.footer-copy { font-size: .78rem; }

@keyframes bp-rise {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes bp-button-shine {
  0% { opacity: 0; transform: rotate(18deg) translateX(-220%); }
  28% { opacity: .8; }
  100% { opacity: 0; transform: rotate(18deg) translateX(580%); }
}
@keyframes bp-status-pulse {
  0%, 45% { box-shadow: 0 0 0 0 rgba(83, 231, 164, .5); }
  100% { box-shadow: 0 0 0 8px rgba(83, 231, 164, 0); }
}

.motion-item {
  transition:
    opacity .55s cubic-bezier(.22, 1, .36, 1),
    transform .55s cubic-bezier(.22, 1, .36, 1),
    padding .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .25s ease;
  transition-delay: calc(var(--motion-order, 0) * 45ms);
}
.motion-item.motion-pending { opacity: 0; transform: translateY(22px) scale(.985); }
.motion-item.motion-visible { opacity: 1; transform: translateY(0) scale(1); }
.motion-item.motion-settled { transition-delay: 0s; }

.nav-menu a::before {
  position: absolute;
  right: 13px;
  bottom: 6px;
  left: 13px;
  height: 1px;
  border-radius: 999px;
  content: "";
  opacity: 0;
  transform: scaleX(.35);
  background: linear-gradient(90deg, var(--blue), var(--blue-2));
  transition: opacity .22s ease, transform .22s ease;
}
.nav-menu a:hover::before { opacity: .65; transform: scaleX(1); }
.nav-menu a.active::before { display: none; }
.agent-card:hover, .metric:hover {
  border-color: rgba(131, 228, 255, .28);
  transform: translateY(-3px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .24);
}
.hero-copy > *, .hero-panel { animation: bp-rise .65s both; }
.hero-copy > :nth-child(2) { animation-delay: .06s; }
.hero-copy > :nth-child(3) { animation-delay: .12s; }
.hero-copy > :nth-child(4) { animation-delay: .18s; }
.hero-panel { animation-delay: .18s; }

@media (max-width: 1080px) {
  .nav { gap: 12px; }
  .nav-menu a { padding-inline: 9px; }
  .brand-copy { display: none; }
}

@media (max-width: 980px) {
  .nav { padding: 10px 0; }
  .brand-copy { display: inline-flex; }
  .nav-user { margin-left: auto; border-left: 0; }
  .nav-toggle { margin-left: 0; }
  .nav-menu {
    order: 4;
    gap: 4px;
    margin-top: 3px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: rgba(11, 17, 31, .96);
    box-shadow: var(--shadow-soft);
  }
  .nav-menu a { padding: 11px 13px; }
  .nav-menu a.active::after { top: 10px; right: auto; bottom: 10px; left: 4px; width: 2px; height: auto; }
  .hero { min-height: 670px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) 330px; gap: 32px; }
  .hero-panel { padding: 24px; }
  .forum-layout, .admin-layout, .command-grid { grid-template-columns: 1fr; }
  .admin-nav { position: static; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}

@media (max-width: 760px) {
  .container { width: min(100% - 28px, 1240px); }
  .nav { min-height: 68px; }
  .nav-user span { display: none; }
  .nav-user .btn { padding-inline: 11px; font-size: .76rem; }
  .hero { min-height: 610px; }
  .hero::before { right: -180px; opacity: .5; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-panel { display: none; }
  .hero h1 { font-size: clamp(3.15rem, 15vw, 5.2rem); letter-spacing: -.07em; }
  .hero p { line-height: 1.65; }
  .section { padding: 68px 0; }
  .section-tight { padding-top: 20px; }
  .server-card, .feature-card { min-height: 0; }
  .page-title { padding-top: 60px; }
  .page-title h1, .forum-head h1 { letter-spacing: -.05em; }
  .server-row { padding: 18px; }
  .server-meta { grid-template-columns: 1fr; }
  .forum-page, .admin-page { padding: 34px 0 68px; }
  .forum-category-row { grid-template-columns: 38px minmax(0, 1fr) 62px; padding: 13px; }
  .thread-row { grid-template-columns: 38px minmax(0, 1fr); padding: 13px; }
  .forum-box-title small { display: none; }
  .forum-icon { width: 34px; height: 34px; }
  .topic-head { padding: 18px; }
  .post-author { padding: 18px; }
  .post-author img { width: 80px; height: 80px; }
  .post-body { padding: 18px; }
  .reply-box { padding: 16px; }
  .profile-banner { min-height: 280px; padding: 26px 18px; }
  .profile-stats div { border-right: 0; border-bottom: 1px solid rgba(145, 205, 255, .09); }
  .profile-stats div:last-child { border-bottom: 0; }
  .profile-actions, .tabs { gap: 7px; }
  .tabs { padding: 7px; border-radius: 15px; }
  .tabs a { border-radius: 9px; text-align: center; }
  .tabs a.active::after { display: none; }
  .panel { padding: 17px; }
  .footer { padding: 28px 0; }
}

@media (max-width: 480px) {
  .brand-copy { display: none; }
  .nav { gap: 8px; }
  .nav-user { margin-left: auto; }
  .nav-user img { display: none; }
  .hero h1 { font-size: 3rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .searchbar { flex-direction: column; }
  .searchbar .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Account menu */
.nav-user { position: relative; padding-left: 0; border-left: 0; }
.user-menu { position: relative; }
.user-menu summary {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 5px 9px 5px 6px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .035);
  cursor: pointer;
  list-style: none;
}
.user-menu summary::-webkit-details-marker { display: none; }
.user-menu summary:hover, .user-menu[open] summary { border-color: rgba(131, 228, 255, .3); background: rgba(79, 141, 255, .09); }
.user-menu summary img { width: 34px; height: 34px; }
.user-menu summary span { max-width: 120px; color: var(--text); font-size: .82rem; }
.user-menu summary i { width: 7px; height: 7px; margin: 0 3px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: translateY(-2px) rotate(45deg); }
.user-menu[open] summary i { transform: translateY(2px) rotate(225deg); }
.user-menu-popover {
  position: absolute;
  z-index: 50;
  top: calc(100% + 10px);
  right: 0;
  width: 280px;
  padding: 8px;
  border: 1px solid rgba(151, 213, 255, .17);
  border-radius: 17px;
  background: rgba(9, 14, 27, .97);
  box-shadow: 0 24px 65px rgba(0, 0, 0, .5), inset 0 1px rgba(255, 255, 255, .04);
  backdrop-filter: blur(24px);
}
.user-menu-popover::before { position: absolute; top: -6px; right: 28px; width: 11px; height: 11px; content: ''; border-top: 1px solid var(--line-2); border-left: 1px solid var(--line-2); background: #0a1020; transform: rotate(45deg); }
.user-menu-head { display: grid; gap: 2px; padding: 10px 11px 12px; border-bottom: 1px solid var(--line); }
.user-menu-head small { color: var(--muted); }
.user-menu-popover a { display: grid; gap: 2px; padding: 10px 11px; border-radius: 10px; text-decoration: none; }
.user-menu-popover a:hover { background: rgba(77, 141, 255, .1); }
.user-menu-popover a span { display: block; color: var(--text); font-size: .86rem; font-weight: 800; }
.user-menu-popover a small { color: var(--muted); font-size: .72rem; }
.user-menu-popover .user-menu-logout { margin-top: 5px; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; }
.user-menu-popover .user-menu-logout span { color: #ff9caf; }

/* Profile and player management */
.profile-page-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
.profile-page-grid.with-management { grid-template-columns: minmax(0, 1fr) 350px; }
.profile-main-column { min-width: 0; }
.profile-tab-panel { margin-top: 0; border-radius: 0 0 18px 18px; }
.player-management { position: sticky; top: 98px; display: grid; gap: 12px; }
.management-heading { padding: 6px 4px 10px; }
.management-heading h2 { margin: 10px 0 4px; font-size: 1.65rem; letter-spacing: -.045em; }
.management-heading p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.management-card { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, rgba(16, 25, 44, .94), rgba(9, 15, 29, .9)); box-shadow: var(--shadow-soft); }
.management-card summary { display: flex; align-items: center; justify-content: space-between; min-height: 49px; padding: 12px 15px; cursor: pointer; list-style: none; font-size: .87rem; font-weight: 800; }
.management-card summary::-webkit-details-marker { display: none; }
.management-card summary::after { content: '+'; color: var(--blue-2); font-size: 1.2rem; font-weight: 500; }
.management-card[open] summary { border-bottom: 1px solid var(--line); }
.management-card[open] summary::after { content: '−'; }
.management-card summary b { min-width: 21px; padding: 2px 6px; border-radius: 999px; background: rgba(255, 102, 133, .16); color: #ffafbd; text-align: center; }
.management-form, .management-stack { display: grid; gap: 10px; }
.management-form { padding: 13px; }
.management-stack { padding: 13px; }
.management-options { display: grid; gap: 6px; }
.role-choice { display: flex; align-items: center; gap: 9px; min-height: 37px; padding: 7px 9px; border: 1px solid transparent; border-radius: 9px; color: var(--soft); cursor: pointer; }
.role-choice:hover { border-color: var(--line); background: rgba(255, 255, 255, .025); }
.role-choice input { width: 16px; min-height: 16px; margin: 0; accent-color: var(--blue); }
.role-color { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--role-color); box-shadow: 0 0 10px var(--role-color); }
.server-role-control { padding: 0 0 11px; border-bottom: 1px solid var(--line); }
.server-role-control:last-child { padding-bottom: 0; border-bottom: 0; }
.server-role-control label { display: grid; gap: 6px; color: var(--soft); font-size: .8rem; }
.active-ban { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px; border: 1px solid rgba(255, 102, 133, .14); border-radius: 10px; background: rgba(255, 102, 133, .05); }
.active-ban div { display: grid; gap: 2px; min-width: 0; }
.active-ban span { overflow: hidden; color: var(--muted); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.btn-block { width: 100%; }

/* Personal settings */
.settings-page { padding: 54px 0 90px; }
.settings-layout { display: grid; grid-template-columns: 245px minmax(0, 820px); justify-content: center; gap: 34px; align-items: start; }
.settings-nav { position: sticky; top: 105px; display: grid; gap: 5px; }
.settings-nav h1 { margin: 11px 0 18px; font-size: 2.3rem; letter-spacing: -.06em; }
.settings-nav a { padding: 10px 12px; border-radius: 10px; color: var(--soft); font-size: .84rem; font-weight: 700; text-decoration: none; }
.settings-nav a:hover { color: #fff; background: rgba(78, 141, 255, .1); transform: translateX(3px); }
.settings-content, .settings-form { display: grid; gap: 18px; }
.settings-card { display: grid; gap: 16px; padding: 25px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(16, 25, 44, .94), rgba(9, 15, 29, .9)); box-shadow: var(--shadow-soft); scroll-margin-top: 100px; }
.settings-card-head { display: flex; gap: 13px; align-items: flex-start; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.settings-card-head > span { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line-2); border-radius: 10px; color: var(--blue-2); font-size: .72rem; font-weight: 800; }
.settings-card h2 { margin: 0 0 4px; font-size: 1.25rem; letter-spacing: -.035em; }
.settings-card p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.settings-card label { display: grid; gap: 7px; color: var(--soft); font-size: .82rem; font-weight: 700; }
.settings-preview { min-height: 155px; display: flex; align-items: flex-end; gap: 14px; padding: 20px; border-radius: 15px; background: radial-gradient(circle at 15% 10%, rgba(131,228,255,.28), transparent 30%), linear-gradient(135deg,#0a1122,#1b4070); background-size: cover; background-position: center; }
.settings-preview img { width: 76px; height: 76px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.settings-preview strong { font-size: 1.25rem; text-shadow: 0 2px 12px #000; }
.settings-savebar { position: sticky; z-index: 5; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 12px 13px 12px 18px; border: 1px solid var(--line-2); border-radius: 16px; background: rgba(9, 15, 29, .94); box-shadow: 0 18px 50px rgba(0,0,0,.42); backdrop-filter: blur(18px); }
.settings-savebar span { color: var(--muted); font-size: .78rem; }
.connection-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 13px; align-items: center; }
.connection-icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; background: #5865f2; color: #fff; font-size: 1.25rem; font-weight: 900; box-shadow: 0 10px 28px rgba(88,101,242,.25); }
.connection-row > div:nth-child(2) { display: grid; gap: 3px; }
.connection-row > div:nth-child(2) span, .connection-unavailable { color: var(--muted); font-size: .78rem; }
.connection-setup-note { margin-top: 18px; padding: 15px 17px; display: grid; gap: 7px; border: 1px solid rgba(255,190,92,.26); border-radius: 12px; background: rgba(255,190,92,.06); }
.connection-setup-note span { color: var(--muted); font-size: .82rem; }
.connection-setup-note code { color: var(--soft); overflow-wrap: anywhere; }
.connection-setup-note a { color: var(--accent); font-weight: 800; font-size: .82rem; }
.integration-health { display: flex; flex-wrap: wrap; gap: 8px; margin: 15px 0; }
.integration-warning { margin-bottom: 14px; padding: 11px 13px; border: 1px solid rgba(255,190,92,.24); border-radius: 10px; color: #ffd28b; background: rgba(255,190,92,.06); font-size: .82rem; }
.guide-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 22px; align-items: start; }
.guide-content { display: grid; gap: 14px; }
.guide-step { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; }
.guide-step > span { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 10px; color: var(--accent); font-weight: 900; }
.guide-step h2 { margin: 2px 0 8px; font-size: 1.2rem; }
.guide-step p, .guide-step li { color: var(--muted); }
.guide-step code { overflow-wrap: anywhere; }
.guide-step pre { overflow: auto; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: rgba(0,0,0,.18); }
.guide-step .btn { margin-top: 12px; }
.guide-status { position: sticky; top: 90px; display: grid; gap: 14px; }
.guide-status h3 { margin: 0; }
.guide-status ul { margin: 0; padding-left: 18px; color: var(--muted); }
@media (max-width: 900px) { .guide-layout { grid-template-columns: 1fr; } .guide-status { position: static; } }
.alert-warning { border-color: rgba(255,190,92,.4); color: #ffd28b; }
.notice { padding: 13px 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(78, 141, 255, .08); color: var(--soft); }
.notice.success { border-color: rgba(83, 231, 164, .25); background: rgba(83, 231, 164, .08); color: #caffdf; }

/* Thread permissions and forum management */
.narrow-container { max-width: 980px; }
.permission-page-head { padding: 18px 0 28px; }
.permission-page-head h1 { margin: 13px 0 9px; font-size: clamp(2.3rem, 5vw, 4.2rem); letter-spacing: -.065em; }
.permission-page-head p { max-width: 720px; margin: 0; color: var(--soft); line-height: 1.65; }
.thread-permissions-form { display: grid; gap: 16px; }
.permission-block { padding: 23px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg, rgba(16,25,44,.94), rgba(9,15,29,.9)); box-shadow: var(--shadow-soft); }
.permission-block-copy { display: flex; gap: 13px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.permission-block-copy > span { color: var(--blue-2); font-size: .74rem; font-weight: 800; }
.permission-block-copy h2 { margin: 0 0 5px; font-size: 1.2rem; }
.permission-block-copy p { margin: 0; color: var(--muted); font-size: .82rem; }
.policy-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 8px; padding-top: 17px; }
.policy-option { cursor: pointer; }
.policy-option input { position: absolute; opacity: 0; pointer-events: none; }
.policy-option span { display: grid; min-height: 54px; place-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 11px; color: var(--soft); font-size: .78rem; font-weight: 700; text-align: center; }
.policy-option:hover span { border-color: var(--line-2); }
.policy-option input:checked + span { border-color: rgba(131,228,255,.48); background: linear-gradient(135deg, rgba(75,141,255,.18), rgba(131,228,255,.07)); color: #fff; box-shadow: inset 0 0 0 1px rgba(131,228,255,.06); }
.permission-role-picker { display: none; margin-top: 15px; padding: 14px; border: 1px dashed rgba(131,228,255,.2); border-radius: 12px; background: rgba(75,141,255,.04); }
.permission-role-picker.visible { display: grid; gap: 9px; }
.permission-role-picker > strong { font-size: .8rem; }
.permission-role-picker > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 4px; }
.permission-actions { position: sticky; z-index: 3; bottom: 14px; padding: 12px; border: 1px solid var(--line-2); border-radius: 15px; background: rgba(8,13,25,.94); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.thread-access-note { margin-top: 16px; padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); color: var(--muted); text-align: center; }
.post-ranks { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; }
.author-role { --role: linear-gradient(135deg, #587fff, #42bad7); }
.forum-head-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.forum-manage-grid { display: grid; grid-template-columns: 310px minmax(0, 1fr); gap: 18px; align-items: start; }
.forum-category-create { position: sticky; top: 98px; }
.forum-category-list { display: grid; gap: 10px; }
.forum-category-manage-card { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, rgba(16,25,44,.92), rgba(9,15,29,.88)); }
.forum-category-manage-card > div { display: flex; gap: 12px; min-width: 0; }
.forum-category-manage-card h2 { margin: 0 0 3px; font-size: 1rem; }
.forum-category-manage-card p { margin: 0 0 6px; color: var(--muted); font-size: .78rem; }
.forum-category-manage-card small { color: #60708b; }

/* Icon BBCode toolbar */
.editor-toolbar { gap: 4px; padding: 9px; overflow: visible; }
.editor-toolbar button { position: relative; display: grid; width: 34px; height: 34px; min-height: 34px; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 8px; font-size: .85rem; }
.editor-toolbar button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.editor-toolbar button:hover { border-color: var(--line); transform: translateY(-1px); }
.editor-toolbar button::after { position: absolute; z-index: 20; bottom: calc(100% + 8px); left: 50%; padding: 6px 8px; content: attr(data-tooltip); transform: translate(-50%, 4px); border: 1px solid var(--line); border-radius: 7px; opacity: 0; pointer-events: none; background: #080e1c; color: #fff; box-shadow: var(--shadow-soft); font-size: .68rem; font-weight: 700; white-space: nowrap; transition: .16s ease; }
.editor-toolbar button:hover::after, .editor-toolbar button:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.toolbar-divider { width: 1px; height: 24px; align-self: center; margin: 0 3px; background: var(--line); }
.toolbar-color { position: relative; display: inline-flex; }
.toolbar-color input[type="color"] { width: 22px; height: 34px; margin-left: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 7px; opacity: 1; cursor: pointer; background: rgba(255,255,255,.035); }
.toolbar-color input[type="color"]::-webkit-color-swatch-wrapper{padding:2px}.toolbar-color input[type="color"]::-webkit-color-swatch{border:0;border-radius:4px}.toolbar-color input[type="color"]::-moz-color-swatch{border:0;border-radius:4px}
.color-tool { padding-bottom: 2px; border-bottom: 3px solid var(--editor-color, #63d5ff); font-weight: 800; }
.bb-image-error { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,102,133,.25); border-radius: 8px; color: #ff9caf; background: rgba(255,102,133,.08); font-size: .8rem; }
.size-tool { font-size: 1.05rem; font-weight: 800; }
.editor-preview-controls { display: flex; justify-content: flex-end; padding-top: 9px; }
.bb-preview { margin-top: 11px; overflow: hidden; border: 1px solid rgba(131,228,255,.19); border-radius: 14px; background: linear-gradient(145deg,rgba(17,27,47,.96),rgba(8,14,27,.94)); }
.bb-preview[hidden] { display: none; }
.bb-preview > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border-bottom: 1px solid var(--line); }
.bb-preview > header > div { display: grid; gap: 3px; }
.bb-preview > header strong { font-size: .82rem; }
.bb-preview > .bb-content { min-height: 76px; padding: 17px; }
.bbcode-help-footer { padding-top: 22px; padding-bottom: 8px; }
.bbcode-help-button { display: flex; align-items: center; gap: 13px; width: 100%; padding: 14px 16px; border: 1px solid var(--line-2); border-radius: 15px; background: linear-gradient(135deg,rgba(75,141,255,.1),rgba(131,228,255,.035)); color: var(--text); cursor: pointer; text-align: left; }
.bbcode-help-button > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 10px; background: linear-gradient(135deg,var(--blue-2),var(--blue)); color: #06101e; font-weight: 900; }
.bbcode-help-button > div { display: grid; gap: 2px; }
.bbcode-help-button small { color: var(--muted); }
.bbcode-help-button > b { margin-left: auto; color: var(--blue-2); font-size: .74rem; }
.bbcode-help-dialog { width: min(860px,calc(100vw - 28px)); max-height: min(760px,calc(100vh - 28px)); padding: 0; overflow: auto; border: 1px solid var(--line-2); border-radius: 20px; background: #0a1120; color: var(--text); box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.bbcode-help-dialog::backdrop { background: rgba(2,6,14,.78); backdrop-filter: blur(8px); }
.bbcode-help-head { display: flex; justify-content: space-between; gap: 18px; padding: 22px; border-bottom: 1px solid var(--line); }
.bbcode-help-head h2 { margin: 6px 0 3px; }
.bbcode-help-head p { margin: 0; color: var(--muted); font-size: .78rem; }
.bbcode-help-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 18px 22px; }
.bbcode-help-grid article { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.bbcode-help-grid code { overflow-wrap: anywhere; color: var(--blue-2); font-size: .72rem; }
.bbcode-help-grid span { color: var(--soft); font-size: .75rem; }
.bbcode-help-tip { margin: 0 22px 22px; padding: 12px; border: 1px solid rgba(83,231,164,.14); border-radius: 11px; background: rgba(83,231,164,.05); color: #a9d5bb; font-size: .74rem; }
.discord-link-state { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); }
.discord-link-state span, .discord-link-state small { color: var(--muted); font-size: .68rem; }
.discord-link-state strong { overflow-wrap: anywhere; font-family: ui-monospace,monospace; font-size: .78rem; }
.management-notice { padding: 10px; border: 1px solid var(--line); border-radius: 9px; color: var(--soft); font-size: .72rem; }
.management-notice.success { border-color: rgba(83,231,164,.2); background: rgba(83,231,164,.055); color: #a9d5bb; }
.management-notice.danger { border-color: rgba(255,105,120,.2); background: rgba(255,105,120,.055); color: #ffc0c7; }

/* Roles */
.role-settings-head { margin: 24px 0; }
.role-settings-head h1 { margin: 12px 0 8px; font-size: clamp(2.8rem, 6vw, 5rem); letter-spacing: -.07em; }
.role-settings-head p { max-width: 680px; margin: 0; color: var(--soft); }
.role-create-card { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: 24px; align-items: center; margin-bottom: 22px; padding: 22px; border: 1px solid var(--line-2); border-radius: 18px; background: linear-gradient(135deg, rgba(64,105,190,.17), rgba(22,36,62,.75)); box-shadow: var(--shadow-soft); }
.role-create-card > div { display: flex; gap: 13px; }
.role-create-icon { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; border-radius: 12px; background: linear-gradient(135deg,var(--blue-2),var(--blue)); color: #07101e; font-size: 1.4rem; font-weight: 500; }
.role-create-card h2 { margin: 0 0 4px; }
.role-create-card p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.role-create-form { display: grid; grid-template-columns: 1.2fr 90px 1fr auto auto; gap: 9px; align-items: end; }
.role-create-form label, .role-main-fields label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.color-field input[type=color] { min-height: 46px; padding: 5px; cursor: pointer; }
.switch-field { display: flex !important; align-items: center; gap: 8px !important; min-height: 46px; padding: 0 8px; }
.switch-field input { position: absolute; opacity: 0; }
.switch-field span, .permission-switch i { position: relative; width: 34px; height: 20px; flex: 0 0 auto; border-radius: 999px; background: #26334a; }
.switch-field span::after, .permission-switch i::after { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; content: ''; background: #8c9ab0; transition: .18s ease; }
.switch-field input:checked + span, .permission-switch input:checked + i { background: rgba(83,171,255,.45); }
.switch-field input:checked + span::after, .permission-switch input:checked + i::after { left: 17px; background: var(--blue-2); box-shadow: 0 0 10px rgba(131,228,255,.6); }
.role-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 470px), 1fr)); gap: 18px; }
.role-settings-card { position: relative; padding: 21px; overflow: hidden; border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(145deg, rgba(16,25,44,.94), rgba(9,15,29,.9)); box-shadow: var(--shadow-soft); }
.role-settings-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: var(--role-accent); box-shadow: 0 0 18px var(--role-accent); }
.role-settings-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.role-card-title { display: flex; align-items: center; gap: 11px; }
.role-card-swatch { width: 15px; height: 15px; border-radius: 50%; background: var(--role-accent); box-shadow: 0 0 14px var(--role-accent); }
.role-card-title h2 { margin: 0 0 2px; font-size: 1.1rem; }
.role-card-title p { margin: 0; color: var(--muted); font-size: .72rem; }
.protected-badge { padding: 5px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); font-size: .66rem; font-weight: 800; }
.role-edit-form { display: grid; gap: 18px; }
.role-main-fields { display: grid; grid-template-columns: 1fr 80px 1fr auto; gap: 9px; align-items: end; }
.role-permission-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.role-permission-groups fieldset { display: grid; gap: 5px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }
.role-permission-groups legend { padding: 0 6px; color: var(--blue-2); font-size: .72rem; font-weight: 800; }
.permission-switch { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 34px; color: var(--soft); cursor: pointer; }
.permission-switch b { font-size: .73rem; font-weight: 600; }
.permission-switch input { position: absolute; opacity: 0; }
.role-card-actions { display: flex; justify-content: flex-end; }
.role-delete-form { position: absolute; right: 21px; bottom: 21px; }
.role-card-actions { padding-right: 115px; }
.role-permission-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.role-permission-summary section { padding: 11px; border: 1px solid var(--line); border-radius: 11px; }
.role-permission-summary h3 { margin: 0 0 8px; color: var(--blue-2); font-size: .72rem; }
.role-permission-summary section > div { display: grid; gap: 5px; }
.role-permission-summary span { display: flex; align-items: center; gap: 7px; color: var(--soft); font-size: .72rem; }
.role-permission-summary span i { width: 6px; height: 6px; border-radius: 50%; background: var(--success); }
.role-permission-summary small { color: var(--muted); }

.action-badge { display: inline-flex; padding: 5px 8px; border: 1px solid rgba(131,228,255,.15); border-radius: 999px; background: rgba(75,141,255,.08); color: #bceeff; font-size: .74rem; font-weight: 700; }
.server-check-time { display: block; margin-top: 5px; color: var(--muted); font-size: .67rem; }
.server-config-form { grid-template-columns: 1fr 1fr 140px auto; }
.btn-xs { min-height: 28px; padding: 4px 8px; border-radius: 8px; font-size: .72rem; }
.btn-outline { border-color: var(--line-2); background: transparent; }

@media (max-width: 1100px) {
  .profile-page-grid.with-management { grid-template-columns: minmax(0, 1fr) 320px; }
  .role-create-card { grid-template-columns: 1fr; }
  .role-create-form { grid-template-columns: 1fr 90px 1fr auto auto; }
}

@media (max-width: 900px) {
  .profile-page-grid.with-management, .settings-layout, .forum-manage-grid { grid-template-columns: 1fr; }
  .player-management, .settings-nav, .forum-category-create { position: static; }
  .settings-nav { display: flex; flex-wrap: wrap; align-items: center; }
  .settings-nav h1 { width: 100%; }
  .role-create-form, .role-main-fields { grid-template-columns: 1fr 90px 1fr; }
  .role-create-form .switch-field, .role-main-fields .switch-field { grid-column: span 2; }
}

@media (max-width: 700px) {
  .user-menu summary span { display: none; }
  .user-menu-popover span { display: block; }
  .user-menu-popover { position: fixed; top: 72px; right: 14px; left: 14px; width: auto; }
  .profile-page-grid.with-management { display: flex; flex-direction: column; }
  .player-management { width: 100%; }
  .settings-page { padding-top: 34px; }
  .settings-card { padding: 18px; }
  .settings-savebar { align-items: stretch; flex-direction: column; }
  .connection-row { grid-template-columns: 48px 1fr; }
  .connection-row > :last-child { grid-column: 1 / -1; width: 100%; }
  .connection-row form .btn { width: 100%; }
  .permission-block { padding: 17px; }
  .policy-options { grid-template-columns: 1fr 1fr; }
  .forum-category-manage-card { align-items: stretch; flex-direction: column; }
  .role-create-form, .role-main-fields, .role-permission-groups, .role-permission-summary { grid-template-columns: 1fr; }
  .role-create-form .switch-field, .role-main-fields .switch-field { grid-column: auto; }
  .role-delete-form { position: static; margin-top: 10px; }
  .role-card-actions { padding-right: 0; }
  .role-card-actions .btn, .role-delete-form .btn { width: 100%; }
  .server-config-form { grid-template-columns: 1fr; }
  .bbcode-help-grid { grid-template-columns: 1fr; }
  .bbcode-help-head { align-items: flex-start; flex-direction: column; }
}

/* Split role editor */
.roles-workspace {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}
.role-sidebar {
  position: sticky;
  top: 98px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(16, 25, 44, .96), rgba(8, 14, 27, .94));
  box-shadow: var(--shadow-soft);
}
.role-quick-create { border-bottom: 1px solid var(--line); }
.role-quick-create > summary {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 14px;
  cursor: pointer;
  list-style: none;
}
.role-quick-create > summary::-webkit-details-marker { display: none; }
.role-quick-create > summary:hover, .role-quick-create[open] > summary { background: rgba(76, 139, 238, .08); }
.role-quick-create > summary > span {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--blue-2), var(--blue));
  color: #07101e;
  font-size: 1.25rem;
}
.role-quick-create > summary > div { display: grid; gap: 2px; }
.role-quick-create > summary strong { font-size: .86rem; }
.role-quick-create > summary small { color: var(--muted); font-size: .7rem; }
.role-quick-create > form { display: grid; gap: 10px; padding: 0 14px 14px; }
.role-quick-create label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.role-create-inline { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 8px; }
.role-integration-mini { display: grid; gap: 8px; padding: 10px; border: 1px solid rgba(131,228,255,.13); border-radius: 11px; background: rgba(75,141,255,.045); }
.role-quick-create .switch-field { padding: 0; }
.role-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px 8px;
  color: var(--muted);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.role-sidebar-head b { display: grid; min-width: 22px; height: 22px; place-items: center; border-radius: 999px; background: rgba(131, 228, 255, .08); color: var(--blue-2); font-size: .67rem; }
.role-nav-list { display: grid; gap: 4px; max-height: calc(100vh - 280px); min-height: 180px; padding: 5px 8px 10px; overflow-y: auto; }
.role-nav-group-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 8px 5px 2px; padding: 7px 6px 5px; border-bottom: 1px solid var(--line); color: #8fa0ba; font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.role-nav-group-title:first-child { margin-top: 0; }
.role-nav-group-title.server { color: #a6def1; }
.role-nav-group-title b { min-width: 19px; padding: 2px 5px; border-radius: 999px; background: rgba(131, 228, 255, .07); color: var(--blue-2); font-size: .61rem; text-align: center; }
.role-nav-empty { padding: 7px 11px 10px; color: #5e6d84; font-size: .68rem; line-height: 1.4; }
.role-nav-item {
  position: relative;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.role-nav-item:hover { border-color: var(--line); background: rgba(255, 255, 255, .035); }
.role-nav-item.active {
  border-color: rgba(131, 228, 255, .22);
  background: linear-gradient(135deg, rgba(75, 141, 255, .17), rgba(131, 228, 255, .055));
  box-shadow: inset 3px 0 var(--role-color, var(--blue-2));
}
.role-nav-swatch { width: 11px; height: 11px; border-radius: 50%; background: var(--role-color); box-shadow: 0 0 12px var(--role-color); }
.role-nav-copy { display: grid; gap: 3px; min-width: 0; }
.role-nav-copy strong { overflow: hidden; font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.role-nav-copy small { overflow: hidden; color: var(--muted); font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.role-nav-arrow { color: var(--muted); font-size: 1.2rem; }
.role-nav-lock { opacity: .55; font-size: .72rem; }
.role-nav-item.active .role-nav-arrow { color: var(--blue-2); transform: translateX(2px); }

.role-editor-surface {
  min-width: 0;
  min-height: 620px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(16, 25, 44, .93), rgba(8, 14, 27, .9));
  box-shadow: var(--shadow-soft);
}
.role-editor-panel { display: none; position: relative; padding: 25px; overflow: hidden; }
.role-editor-panel.active { display: block; animation: bp-rise .25s both; }
.role-editor-panel::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ''; background: var(--role-accent); box-shadow: 0 0 22px var(--role-accent); }
.role-editor-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: -1px -1px 22px; padding: 2px 0 20px; border-bottom: 1px solid var(--line); }
.role-editor-identity { display: flex; align-items: center; gap: 15px; min-width: 0; }
.role-editor-swatch { width: 46px; height: 46px; flex: 0 0 auto; border: 8px solid rgba(255, 255, 255, .06); border-radius: 14px; background: var(--role-accent); box-shadow: 0 0 24px color-mix(in srgb, var(--role-accent) 45%, transparent); }
.role-editor-identity h2 { margin: 5px 0 2px; font-size: 1.55rem; letter-spacing: -.045em; }
.role-editor-identity p { margin: 0; color: var(--muted); font-size: .75rem; }
.role-editor-section { display: grid; gap: 17px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.role-editor-section:first-child { padding-top: 0; }
.role-editor-section-head { display: flex; gap: 11px; }
.role-editor-section-head > span { display: grid; width: 31px; height: 31px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line-2); border-radius: 9px; color: var(--blue-2); font-size: .66rem; font-weight: 800; }
.role-editor-section-head h3 { margin: 0 0 3px; font-size: .98rem; }
.role-editor-section-head p { margin: 0; color: var(--muted); font-size: .73rem; }
.role-editor-actions { position: sticky; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 18px; padding: 11px 11px 11px 15px; border: 1px solid var(--line-2); border-radius: 14px; background: rgba(8, 14, 27, .94); box-shadow: 0 15px 42px rgba(0, 0, 0, .35); backdrop-filter: blur(16px); }
.role-editor-actions span { color: var(--muted); font-size: .72rem; }
.role-editor-delete { display: flex; justify-content: flex-end; margin-top: 12px; }
.protected-role-notice { display: flex; gap: 12px; margin-bottom: 18px; padding: 14px; border: 1px solid rgba(131, 228, 255, .14); border-radius: 12px; background: rgba(75, 141, 255, .06); }
.protected-role-notice > span { font-size: 1.15rem; }
.protected-role-notice strong { display: block; margin-bottom: 3px; }
.protected-role-notice p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.role-editor-empty { display: grid; min-height: 620px; place-content: center; justify-items: center; color: var(--muted); text-align: center; }
.role-editor-empty > span { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid var(--line); border-radius: 15px; color: var(--blue-2); font-size: 1.5rem; }
.role-editor-empty h2 { margin: 14px 0 4px; color: var(--text); }
.role-editor-empty p { margin: 0; }
.role-main-fields { grid-template-columns: minmax(180px, 1fr) 80px minmax(200px, 1fr); }
.role-scope-field { min-width: 0; }
.role-integration-form { margin-top: 18px; }
.role-integration-section { padding: 18px; border: 1px solid rgba(131,228,255,.15); border-radius: 15px; background: linear-gradient(135deg,rgba(75,141,255,.08),rgba(131,228,255,.025)); }
.role-integration-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.role-integration-fields > label { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(0,1fr); gap: 14px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(7,12,24,.48); }
.role-integration-fields label > span { display: grid; gap: 3px; }
.role-integration-fields b { font-size: .8rem; }
.role-integration-fields small { color: var(--muted); font-size: .66rem; line-height: 1.4; }
.role-integration-note { display: flex; align-items: flex-start; gap: 9px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.role-integration-note i { width: 7px; height: 7px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 10px rgba(131,228,255,.6); }
.role-integration-save { justify-self: end; }
.agent-token-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; margin: 9px 0; }
.agent-token-row code { min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

@media (max-width: 900px) {
  .roles-workspace { grid-template-columns: 250px minmax(0, 1fr); gap: 14px; }
  .role-editor-panel { padding: 19px; }
  .role-main-fields { grid-template-columns: 1fr 80px; }
  .role-main-fields > label:nth-child(3) { grid-column: 1 / -1; }
  .role-main-fields .switch-field { grid-column: 1 / -1; }
  .role-permission-groups { grid-template-columns: 1fr; }
  .role-integration-fields { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .roles-workspace { grid-template-columns: 1fr; }
  .role-sidebar { position: static; }
  .role-nav-list { display: flex; min-height: 0; max-height: none; overflow-x: auto; overflow-y: hidden; }
  .role-nav-group-title { min-width: max-content; border-bottom: 0; border-right: 1px solid var(--line); }
  .role-nav-empty { display: none; }
  .role-nav-item { min-width: 190px; }
  .role-editor-surface { min-height: 0; }
  .role-editor-panel { padding: 17px; }
  .role-editor-header { align-items: flex-start; flex-direction: column; }
  .role-editor-actions { align-items: stretch; flex-direction: column; }
  .role-editor-actions .btn { width: 100%; }
  .role-integration-fields > label { grid-template-columns: 1fr; gap: 8px; }
  .role-integration-save { width: 100%; }
  .agent-token-row { grid-template-columns: 1fr; }
}

/* Homepage v3 */
.landing-hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; border-bottom: 1px solid var(--line); background: #060914; isolation: isolate; }
.landing-hero::before { position: absolute; z-index: -2; inset: 0; content: ''; opacity: .14; background-image: linear-gradient(rgba(145,205,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(145,205,255,.08) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, #000, transparent 76%); }
.landing-hero::after { position: absolute; z-index: -1; right: -12%; bottom: -45%; width: 720px; height: 720px; border: 1px solid rgba(131,228,255,.08); border-radius: 50%; content: ''; box-shadow: 0 0 0 90px rgba(92,135,255,.025), 0 0 0 180px rgba(92,135,255,.018); }
.landing-glow { position: absolute; z-index: -1; border-radius: 50%; filter: blur(20px); pointer-events: none; }
.landing-glow.one { top: -220px; left: -130px; width: 620px; height: 620px; background: radial-gradient(circle, rgba(67,102,242,.24), transparent 67%); }
.landing-glow.two { right: 6%; bottom: 2%; width: 430px; height: 430px; background: radial-gradient(circle, rgba(49,193,230,.14), transparent 68%); }
.landing-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); gap: clamp(48px, 7vw, 100px); align-items: center; padding-top: 68px; padding-bottom: 68px; }
.landing-copy { max-width: 720px; }
.landing-live-label { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; padding: 7px 10px; border: 1px solid rgba(83,231,164,.18); border-radius: 999px; background: rgba(83,231,164,.055); color: #bdeed1; font-size: .7rem; font-weight: 700; }
.landing-live-label i { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 14px rgba(83,231,164,.8); }
.landing-copy h1 { margin: 0; font-size: clamp(4rem, 7.4vw, 7.7rem); font-weight: 800; letter-spacing: -.085em; line-height: .89; }
.landing-copy h1 span { color: transparent; background: linear-gradient(105deg, #8eeaff, #698cff 72%); -webkit-background-clip: text; background-clip: text; }
.landing-copy > p { max-width: 650px; margin: 28px 0 0; color: #a9b6cb; font-size: 1.02rem; line-height: 1.75; }
.landing-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.landing-actions .btn { min-height: 52px; padding-inline: 22px; }
.landing-actions .btn b { margin-left: 24px; font-size: 1.1rem; }
.landing-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--soft); font-size: .84rem; font-weight: 800; text-decoration: none; }
.landing-text-link:hover { color: #fff; transform: translateX(3px); }
.landing-text-link span { color: var(--blue-2); }
.landing-proof { display: flex; gap: 0; margin-top: 45px; }
.landing-proof div { display: grid; gap: 2px; min-width: 122px; padding-right: 24px; border-right: 1px solid var(--line); }
.landing-proof div + div { padding-left: 24px; }
.landing-proof div:last-child { border-right: 0; }
.landing-proof strong { font-size: 1.35rem; letter-spacing: -.04em; }
.landing-proof span { color: var(--muted); font-size: .68rem; }
.landing-dashboard { position: relative; padding: 19px; overflow: hidden; border: 1px solid rgba(145,211,255,.18); border-radius: 24px; background: linear-gradient(150deg, rgba(17,27,48,.93), rgba(7,12,25,.94)); box-shadow: 0 34px 90px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.045); transform: perspective(1200px) rotateY(-3deg); }
.landing-dashboard::before { position: absolute; top: -120px; right: -100px; width: 270px; height: 270px; border-radius: 50%; content: ''; background: rgba(75,141,255,.1); filter: blur(20px); }
.dashboard-topline { position: relative; display: flex; align-items: center; gap: 8px; padding: 2px 3px 15px; color: #86a1c2; font-family: Consolas, monospace; font-size: .61rem; letter-spacing: .08em; }
.dashboard-topline i { width: 5px; height: 5px; border-radius: 50%; background: var(--success); }
.dashboard-topline small { margin-left: auto; color: #506079; font-size: .57rem; }
.dashboard-logo { position: relative; display: flex; align-items: center; gap: 13px; margin-bottom: 14px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.dashboard-logo img { width: 50px; filter: drop-shadow(0 0 16px rgba(131,228,255,.3)); }
.dashboard-logo div { display: grid; gap: 2px; }
.dashboard-logo small { color: var(--muted); font-size: .66rem; }
.dashboard-logo strong { font-size: 1rem; letter-spacing: -.035em; }
.dashboard-server-stack { position: relative; display: grid; gap: 7px; }
.dashboard-server { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.022); }
.dashboard-server:hover { border-color: rgba(131,228,255,.24); transform: translateX(-3px); }
.dashboard-index { color: #4d5d75; font-family: Consolas, monospace; font-size: .66rem; }
.dashboard-server-main { display: grid; gap: 3px; min-width: 0; }
.dashboard-server-main strong { font-size: .82rem; }
.dashboard-server-main span { color: var(--muted); font-size: .64rem; }
.dashboard-server-main > div { height: 3px; margin-top: 5px; overflow: hidden; border-radius: 999px; background: #1a2335; }
.dashboard-server-main > div i { display: block; width: var(--fill); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--blue), var(--blue-2)); box-shadow: 0 0 10px rgba(131,228,255,.4); }
.dashboard-status { display: inline-flex; align-items: center; gap: 5px; color: #8aa0bd; font-family: Consolas, monospace; font-size: .57rem; }
.dashboard-status i { width: 6px; height: 6px; border-radius: 50%; background: var(--muted); }
.dashboard-server.online .dashboard-status { color: #8ee8b5; }
.dashboard-server.online .dashboard-status i { background: var(--success); box-shadow: 0 0 10px rgba(83,231,164,.7); }
.dashboard-server.offline { opacity: .58; }
.dashboard-empty { padding: 30px; color: var(--muted); text-align: center; }
.dashboard-footer { display: flex; justify-content: space-between; margin-top: 11px; padding: 12px 4px 2px; color: var(--muted); font-size: .68rem; text-decoration: none; }
.dashboard-footer b { color: var(--blue-2); }
.dashboard-footer:hover b { transform: translateX(3px); }

.network-strip { border-bottom: 1px solid var(--line); background: rgba(5,8,16,.72); }
.network-strip-grid { display: grid; grid-template-columns: 150px 150px 150px minmax(0,1fr); min-height: 116px; align-items: stretch; }
.network-strip-grid > div { display: flex; flex-direction: column; justify-content: center; padding: 20px 25px; border-right: 1px solid var(--line); }
.network-strip-grid > div:first-child { padding-left: 0; }
.network-strip-grid span { color: var(--muted); font-size: .65rem; }
.network-strip-grid strong { margin-top: 4px; font-size: 1.75rem; letter-spacing: -.06em; }
.network-strip-grid strong small { color: #53627a; font-size: .8rem; }
.network-strip-grid .network-strip-note { flex-direction: row; align-items: center; gap: 11px; border-right: 0; }
.network-strip-note i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 14px rgba(131,228,255,.6); }
.network-strip-note p { max-width: 440px; margin: 0; color: #73839b; font-size: .72rem; line-height: 1.55; }
.home-section { padding: 105px 0; }
.home-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 40px; }
.home-section-number { color: var(--blue-2); font-family: Consolas, monospace; font-size: .65rem; font-weight: 700; letter-spacing: .12em; }
.home-section-head h2 { margin: 12px 0 0; font-size: clamp(2.7rem, 5vw, 5rem); letter-spacing: -.075em; line-height: .94; }
.home-section-head > p { max-width: 370px; margin: 0; color: var(--muted); line-height: 1.65; }
.home-server-board { border-top: 1px solid var(--line); }
.home-server-entry { display: grid; grid-template-columns: 55px minmax(260px,1fr) minmax(220px,.65fr) 130px; gap: 22px; align-items: center; min-height: 124px; padding: 18px 4px; border-bottom: 1px solid var(--line); }
.home-server-entry:hover { padding-right: 12px; padding-left: 12px; background: linear-gradient(90deg, rgba(75,141,255,.06), transparent); }
.home-server-entry.offline { opacity: .62; }
.home-server-number { color: #3e4d64; font-family: Consolas, monospace; font-size: .72rem; }
.home-server-name .status { color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.home-server-name h3 { margin: 7px 0 3px; font-size: 1.45rem; letter-spacing: -.045em; }
.home-server-name code { color: #667892; font-size: .72rem; }
.home-server-load > div:first-child { display: flex; justify-content: space-between; color: var(--muted); font-size: .68rem; }
.home-server-load b { color: var(--soft); }
.home-load-bar { height: 5px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: #172135; }
.home-load-bar i { display: block; width: var(--fill); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #617cff, #71dcff); }
.home-copy-address { display: grid; gap: 2px; padding: 11px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.025); color: var(--text); cursor: pointer; text-align: left; }
.home-copy-address span { color: var(--muted); font-size: .58rem; }
.home-copy-address b { font-size: .72rem; }
.home-copy-address:not(:disabled):hover { border-color: var(--line-2); background: rgba(75,141,255,.1); transform: translateY(-2px); }
.home-copy-address:disabled { cursor: not-allowed; opacity: .45; }
.home-community-section { border-top: 1px solid var(--line); background: linear-gradient(180deg, rgba(12,20,37,.45), transparent); }
.community-showcase { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); gap: 18px; }
.community-forum-card, .community-identity-card { border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(145deg, rgba(16,25,44,.94), rgba(8,14,27,.9)); box-shadow: var(--shadow-soft); }
.community-forum-card { padding: 22px; }
.community-card-head { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.community-card-head > div { display: grid; gap: 3px; }
.community-card-head span { color: var(--muted); font-size: .68rem; }
.community-card-head strong { font-size: 1rem; }
.community-card-head a { color: var(--blue-2); font-size: .72rem; font-weight: 800; text-decoration: none; }
.community-thread-list { display: grid; }
.community-thread-list > a { display: grid; grid-template-columns: 32px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); text-decoration: none; }
.community-thread-list > a:last-child { border-bottom: 0; }
.community-thread-list > a:hover { padding-inline: 7px; background: rgba(75,141,255,.045); }
.community-thread-list > a > span { color: #4b5b74; font-family: Consolas, monospace; font-size: .65rem; }
.community-thread-list > a div { display: grid; gap: 4px; min-width: 0; }
.community-thread-list > a strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-thread-list > a small { color: var(--muted); font-size: .68rem; }
.community-thread-list > a > b { color: #71839d; font-size: .67rem; }
.community-empty { padding: 50px; color: var(--muted); text-align: center; }
.community-identity-card { position: relative; padding: 28px; overflow: hidden; }
.community-identity-card::after { position: absolute; right: -120px; bottom: -150px; width: 330px; height: 330px; border: 1px solid rgba(131,228,255,.08); border-radius: 50%; content: ''; box-shadow: 0 0 0 55px rgba(75,141,255,.025); }
.identity-orbit { position: relative; width: 115px; height: 115px; display: grid; place-items: center; margin-bottom: 40px; border: 1px solid rgba(131,228,255,.14); border-radius: 50%; }
.identity-orbit img { width: 65px; filter: drop-shadow(0 0 18px rgba(131,228,255,.35)); }
.identity-orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--blue-2); box-shadow: 0 0 12px rgba(131,228,255,.7); }
.identity-orbit i:nth-of-type(1) { top: 4px; left: 29px; }.identity-orbit i:nth-of-type(2) { right: 0; bottom: 34px; }.identity-orbit i:nth-of-type(3) { bottom: 3px; left: 25px; background: var(--violet); }
.community-identity-card > span { color: var(--blue-2); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.community-identity-card h3 { margin: 10px 0 12px; font-size: 2rem; letter-spacing: -.06em; line-height: 1; }
.community-identity-card p { position: relative; z-index: 1; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.community-identity-card .btn { position: relative; z-index: 1; margin-top: 15px; }
.home-final-cta { padding: 105px 0; border-top: 1px solid var(--line); background: radial-gradient(circle at 15% 100%, rgba(75,141,255,.17), transparent 37%), #070a14; }
.home-final-inner { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(280px,.7fr); gap: 60px; align-items: end; }
.home-final-inner h2 { margin: 14px 0 0; font-size: clamp(3rem,6vw,6rem); letter-spacing: -.08em; line-height: .9; }
.home-final-inner > div:last-child { display: grid; gap: 22px; justify-items: start; }
.home-final-inner p { max-width: 380px; margin: 0; color: var(--soft); line-height: 1.65; }

/* Profile moderation and hierarchy */
.self-management-note { margin-top: 10px; padding: 9px 10px; border: 1px solid rgba(131,228,255,.15); border-radius: 9px; background: rgba(75,141,255,.06); color: #9eb2ce; font-size: .7rem; line-height: 1.45; }
.role-choice small { color: var(--muted); font-size: .65rem; }
.forum-ban-form { padding: 0; }
.forum-ban-form label { display: grid; gap: 6px; color: var(--soft); font-size: .78rem; }
.forum-ban-state { display: grid; gap: 4px; padding: 11px; border: 1px solid rgba(255,102,133,.18); border-radius: 10px; background: rgba(255,102,133,.06); }
.forum-ban-state strong { color: #ffadbd; font-size: .78rem; }
.forum-ban-state span { color: var(--soft); font-size: .75rem; line-height: 1.45; }
.forum-ban-state small { color: var(--muted); font-size: .65rem; }
.role-main-fields { grid-template-columns: minmax(170px,1fr) 80px minmax(190px,1fr) 130px; }

/* Local GMod connection */
.local-server-card { display: grid; grid-template-columns: minmax(280px,1fr) minmax(360px,.9fr); gap: 20px; border-color: rgba(131,228,255,.24); background: radial-gradient(circle at 0 0, rgba(75,141,255,.13), transparent 38%), linear-gradient(145deg,rgba(16,25,44,.96),rgba(8,14,27,.92)); }
.local-server-copy { display: flex; gap: 14px; align-items: flex-start; }
.local-server-icon { display: grid; width: 46px; height: 46px; flex: 0 0 auto; place-items: center; border: 1px solid var(--line-2); border-radius: 13px; background: rgba(75,141,255,.1); color: var(--blue-2); font-size: 1.3rem; }
.local-server-copy h3 { margin: 8px 0 5px; }
.local-server-copy p { max-width: 500px; margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.local-server-form { display: grid; grid-template-columns: 1fr 150px; gap: 9px; align-content: start; }
.local-server-form label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; font-weight: 800; }
.local-server-form .btn { grid-column: 1 / -1; }
.local-server-ready { grid-column: 1 / -1; display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid rgba(83,231,164,.17); border-radius: 11px; background: rgba(83,231,164,.055); color: #9ebda9; font-size: .72rem; }
.local-server-ready > i { width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--success); box-shadow: 0 0 10px rgba(83,231,164,.7); }
.local-server-ready a { margin-left: auto; color: var(--blue-2); font-weight: 800; text-decoration: none; }

@media (max-width: 1000px) {
  .landing-hero-grid { grid-template-columns: 1fr 370px; gap: 35px; }
  .landing-copy h1 { font-size: clamp(3.7rem, 8vw, 6rem); }
  .network-strip-grid { grid-template-columns: repeat(3, 1fr); }
  .network-strip-grid .network-strip-note { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .home-server-entry { grid-template-columns: 45px minmax(220px,1fr) 200px 115px; }
  .local-server-card { grid-template-columns: 1fr; }
}

@media (max-width: 780px) {
  .landing-hero { min-height: auto; }
  .landing-hero-grid { grid-template-columns: 1fr; padding-top: 75px; padding-bottom: 55px; }
  .landing-dashboard { transform: none; }
  .landing-copy h1 { font-size: clamp(3.5rem, 15vw, 5.5rem); }
  .landing-proof { flex-wrap: wrap; row-gap: 18px; }
  .network-strip-grid { grid-template-columns: repeat(3,1fr); }
  .network-strip-grid > div { padding: 18px 12px; }
  .network-strip-grid > div:first-child { padding-left: 12px; }
  .home-section { padding: 75px 0; }
  .home-section-head { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
  .home-server-entry { grid-template-columns: 38px minmax(0,1fr) auto; gap: 13px; }
  .home-server-load { grid-column: 2 / -1; }
  .home-copy-address { grid-column: 3; grid-row: 1; }
  .community-showcase, .home-final-inner { grid-template-columns: 1fr; }
  .home-final-inner { gap: 35px; }
  .role-main-fields { grid-template-columns: 1fr 80px; }
  .role-main-fields > label:nth-child(3), .role-main-fields > label:nth-child(4) { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .landing-actions { align-items: stretch; flex-direction: column; }
  .landing-text-link { padding: 8px 2px; }
  .landing-proof div { min-width: 33%; padding-right: 10px; }
  .landing-proof div + div { padding-left: 10px; }
  .dashboard-topline small { display: none; }
  .network-strip-grid { grid-template-columns: 1fr 1fr; }
  .network-strip-grid > div:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--line); }
  .home-server-entry { grid-template-columns: 30px minmax(0,1fr); }
  .home-copy-address { grid-column: 2; grid-row: auto; }
  .home-server-load { grid-column: 2; }
  .community-thread-list > a { grid-template-columns: 25px minmax(0,1fr); }
  .community-thread-list > a > b { grid-column: 2; }
  .local-server-form { grid-template-columns: 1fr; }
  .local-server-form .btn { grid-column: auto; }
  .local-server-ready { align-items: flex-start; flex-direction: column; }
  .local-server-ready a { margin-left: 0; }
}

.profile-stats { grid-template-columns: repeat(5,minmax(0,1fr)); }
@media (max-width: 760px) { .profile-stats { grid-template-columns: 1fr; } }

/* Forum structure, directories and staff tools */
.forum-head-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.forum-action-btn { position: relative; display: flex; min-width: 205px; min-height: 58px; align-items: center; gap: 12px; padding: 9px 15px; overflow: hidden; border: 1px solid var(--line-2); border-radius: 15px; text-decoration: none; box-shadow: var(--shadow-soft); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.forum-action-btn > span { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border-radius: 10px; background: rgba(255,255,255,.09); font-size: 1.25rem; }
.forum-action-btn > div { display: grid; gap: 1px; }.forum-action-btn small { color: rgba(235,248,255,.65); font-size: .63rem; text-transform: uppercase; letter-spacing: .08em; }.forum-action-btn b { font-size: .82rem; }
.forum-action-btn.primary { color: #06111f; border-color: transparent; background: linear-gradient(135deg,#a4efff,#61bbff 44%,#6687ff); }.forum-action-btn.primary small { color: rgba(6,17,31,.62); }.forum-action-btn.secondary { background: linear-gradient(145deg,rgba(24,39,66,.96),rgba(12,21,39,.94)); }
.forum-action-btn:hover { transform: translateY(-3px); border-color: rgba(131,228,255,.55); box-shadow: 0 18px 42px rgba(0,0,0,.32); }.forum-action-btn.compact { min-width: 185px; min-height: 52px; }
.forum-section-stack { display: grid; gap: 22px; }.forum-section-box { overflow: hidden; }.forum-section-box .forum-box-title > div { display: grid; gap: 2px; }.forum-section-box .forum-box-title > div > small { opacity: .7; text-transform: none; letter-spacing: 0; }
.forum-subcategory-row { position: relative; padding-left: 48px; background: rgba(70,123,206,.025); }.forum-subcategory-row::before { position: absolute; top: 0; bottom: 0; left: 26px; width: 1px; content: ''; background: linear-gradient(transparent,var(--line-2),transparent); }.forum-subcategory-row .forum-icon { width: 32px; height: 32px; background: rgba(78,133,220,.16); }
.category-children { margin-bottom: 18px; }

.forum-builder-create-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin: 25px 0; }.forum-builder-form,.builder-edit-form { display: grid; gap: 11px; }.builder-form-title { display: flex; gap: 12px; align-items: flex-start; }.builder-form-title > span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line-2); border-radius: 10px; color: var(--blue-2); font-size: .72rem; }.builder-form-title h2 { margin: 0 0 3px; }.builder-form-title p { margin: 0; color: var(--muted); font-size: .75rem; }
.visibility-fieldset { display: grid; gap: 9px; margin: 2px 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; }.visibility-fieldset legend { padding: 0 6px; color: var(--soft); font-size: .72rem; font-weight: 800; }.visibility-audiences { display: flex; flex-wrap: wrap; gap: 7px; }.visibility-audiences label,.visibility-roles label { display: flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.025); color: var(--soft); font-size: .72rem; cursor: pointer; }.visibility-audiences label:has(input:checked),.visibility-roles label:has(input:checked) { border-color: rgba(131,228,255,.5); color: #fff; background: rgba(75,141,255,.12); }.visibility-fieldset input { min-height: 0; }.visibility-fieldset > small { color: var(--muted); font-size: .65rem; line-height: 1.5; }.visibility-roles summary { color: var(--blue-2); font-size: .7rem; cursor: pointer; }.visibility-roles > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }.visibility-roles i { width: 8px; height: 8px; border-radius: 50%; background: var(--role-color); }
.forum-builder-sections { display: grid; gap: 22px; margin-top: 25px; }.forum-builder-section { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,rgba(16,25,44,.95),rgba(8,14,27,.92)); box-shadow: var(--shadow-soft); }.builder-section-settings > summary,.builder-category-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 18px; cursor: pointer; list-style: none; }.builder-section-settings > summary::-webkit-details-marker,.builder-category-card > summary::-webkit-details-marker { display: none; }.builder-section-settings > summary > div,.builder-category-card > summary > div { display: flex; align-items: center; gap: 12px; }.builder-section-settings h2,.builder-category-card strong { margin: 0; }.builder-section-settings p,.builder-category-card small { display: block; margin: 3px 0 0; color: var(--muted); font-size: .7rem; }.builder-section-settings > summary > b { color: var(--blue-2); font-size: .72rem; }.builder-section-settings[open] > summary { border-bottom: 1px solid var(--line); }.builder-section-settings > form,.builder-category-card > form { margin: 0 18px 16px; }.builder-edit-form { grid-template-columns: repeat(3,minmax(0,1fr)); padding-top: 15px; }.builder-edit-form label { display: grid; gap: 5px; color: var(--muted); font-size: .68rem; }.builder-edit-form .visibility-fieldset,.builder-edit-form .btn { grid-column: 1 / -1; }.builder-category-tree { display: grid; gap: 8px; padding: 14px; background: rgba(3,8,17,.25); }.builder-category-card { border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }.builder-category-card[open] { border-color: rgba(131,228,255,.3); }.builder-category-card.subcategory { margin-left: 34px; }.builder-category-card > summary > span { color: var(--blue-2); font-size: .7rem; }

.directory-filter { display: grid; grid-template-columns: minmax(240px,1.5fr) repeat(3,minmax(145px,.7fr)) auto; gap: 10px; align-items: end; margin-bottom: 20px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,rgba(15,25,44,.94),rgba(8,14,27,.9)); box-shadow: var(--shadow-soft); }.directory-filter label { display: grid; gap: 6px; color: var(--muted); font-size: .68rem; font-weight: 800; }.directory-filter-actions { display: flex; gap: 7px; }.filtered-user-grid { margin-top: 0; }.user-steam-line { display: block; margin: -2px 0 8px; color: #667b99; font-family: Consolas,monospace; font-size: .65rem; }.profile-steamid { display: block; margin-top: 4px; color: var(--blue-2); font-size: .65rem; }.log-filter { grid-template-columns: minmax(220px,1.2fr) repeat(4,minmax(140px,.7fr)) auto; }

.ban-create-form { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 10px; align-items: end; }.ban-create-form > label { display: grid; gap: 6px; color: var(--muted); font-size: .7rem; }.temporary-ban-toggle { display: flex !important; min-height: 46px; align-items: center; gap: 8px !important; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.03); cursor: pointer; }.temporary-ban-toggle input { min-height: 0; }.temporary-ban-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.temporary-ban-fields[hidden] { display: none; }.ban-create-form > .btn { min-height: 46px; }.ban-scope { display: inline-flex; padding: 5px 8px; border-radius: 8px; background: rgba(75,141,255,.1); color: #acd0ff; font-size: .7rem; }.ban-scope.global { background: rgba(255,102,133,.1); color: #ffadbd; }

.wide-container { width: min(1780px,calc(100% - 36px)); }.staff-server-tabs { display: flex; gap: 8px; margin: 20px 0; overflow-x: auto; }.staff-server-tabs a { display: flex; align-items: center; gap: 8px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 11px; color: var(--muted); text-decoration: none; white-space: nowrap; }.staff-server-tabs a.active { border-color: rgba(131,228,255,.5); color: #fff; background: rgba(75,141,255,.12); }.staff-add-card,.staff-table-card { margin-bottom: 18px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,rgba(16,25,44,.96),rgba(8,14,27,.94)); box-shadow: var(--shadow-soft); }.staff-add-card > summary { display: flex; align-items: center; gap: 11px; padding: 15px 17px; cursor: pointer; list-style: none; }.staff-add-card > summary > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: rgba(75,141,255,.13); color: var(--blue-2); }.staff-add-card > summary strong,.staff-add-card > summary small { display: block; }.staff-add-card > summary small { color: var(--muted); font-size: .68rem; }.staff-add-form { display: grid; grid-template-columns: repeat(5,minmax(150px,1fr)); gap: 9px; padding: 0 17px 17px; }.staff-add-form label { display: grid; gap: 5px; color: var(--muted); font-size: .66rem; }.staff-add-form .btn { align-self: end; }.staff-table-card > header { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; }.staff-table-card h2 { margin: 5px 0 0; }.staff-table-card > header > b { color: var(--blue-2); font-size: .75rem; }.staff-table-scroll { overflow-x: visible; border-top: 1px solid var(--line); }.staff-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }.staff-table th,.staff-table td { padding: 6px; border-right: 1px solid rgba(145,205,255,.06); border-bottom: 1px solid rgba(145,205,255,.08); text-align: left; overflow-wrap: anywhere; }.staff-table th { position: sticky; top: 0; color: #8fa4c3; background: #0b1324; font-size: .58rem; line-height: 1.25; text-transform: uppercase; }.staff-table td { font-size: .66rem; }.staff-table input,.staff-table select { width: 100%; min-width: 0; min-height: 34px; padding: 6px; font-size: .65rem; }.staff-table code { white-space: normal; overflow-wrap: anywhere; }.staff-profile-link { display: block; margin-top: 4px; color: var(--blue-2); font-size: .62rem; text-decoration: none; }.staff-row-actions { display: flex; flex-wrap: wrap; gap: 5px; }.staff-row-actions form { margin: 0; }

@media (max-width: 1400px) { .staff-table-scroll { overflow-x: auto; }.staff-table { min-width: 1380px; } }
@media (max-width: 1100px) { .directory-filter,.log-filter { grid-template-columns: repeat(2,minmax(0,1fr)); }.directory-search,.directory-filter-actions { grid-column: 1 / -1; }.staff-add-form { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 760px) { .forum-builder-create-grid { grid-template-columns: 1fr; }.builder-edit-form { grid-template-columns: 1fr; }.builder-category-card.subcategory { margin-left: 15px; }.forum-subcategory-row { padding-left: 28px; }.forum-subcategory-row::before { left: 12px; }.ban-create-form,.staff-add-form { grid-template-columns: 1fr; }.temporary-ban-fields { grid-column: 1 / -1; }.directory-filter,.log-filter { grid-template-columns: 1fr; }.directory-search,.directory-filter-actions { grid-column: auto; }.forum-head-actions { width: 100%; }.forum-action-btn { flex: 1 1 190px; } }

/* Staff workspace and payroll */
.staff-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.staff-overview > div { position: relative; overflow: hidden; min-height: 112px; padding: 17px 18px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(19,31,54,.96),rgba(8,15,29,.94)); box-shadow: var(--shadow-soft); }
.staff-overview > div::after { position: absolute; right: -22px; bottom: -32px; width: 92px; height: 92px; border-radius: 50%; content: ''; background: rgba(76,145,255,.09); filter: blur(2px); }
.staff-overview span,.staff-overview small { position: relative; z-index: 1; display: block; color: var(--muted); }
.staff-overview span { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.staff-overview strong { position: relative; z-index: 1; display: block; margin: 6px 0 2px; color: #fff; font-size: 1.55rem; line-height: 1; }
.staff-overview small { font-size: .66rem; }
.staff-table-card.redesigned { overflow: hidden; border-color: rgba(131,228,255,.14); background: #080f1e; }
.staff-table-card.redesigned > header { background: linear-gradient(100deg,rgba(32,70,126,.2),transparent 70%); }
.staff-table-card.redesigned > header p { margin: 4px 0 0; color: var(--muted); font-size: .68rem; }
.staff-table-card.redesigned .staff-table-scroll { overflow-x: auto; border-top-color: rgba(131,228,255,.12); scrollbar-color: rgba(105,172,255,.55) rgba(255,255,255,.025); }
.staff-table-card.redesigned .staff-table { min-width: 1660px; table-layout: auto; }
.staff-table-card.redesigned .staff-table th { position: sticky; z-index: 2; top: 0; padding: 11px 9px; border-right-color: rgba(255,255,255,.045); color: #a8bddb; background: #0d182b; font-size: .59rem; letter-spacing: .045em; }
.staff-table-card.redesigned .staff-table td { height: 70px; padding: 8px 9px; vertical-align: middle; border-color: rgba(145,205,255,.065); background: rgba(255,255,255,.012); }
.staff-table-card.redesigned .staff-data-row:nth-child(even) td { background: rgba(64,111,181,.035); }
.staff-table-card.redesigned .staff-data-row:hover td { background: rgba(68,133,230,.075); }
.staff-table-card.redesigned input,.staff-table-card.redesigned select { border-color: transparent; background: rgba(255,255,255,.035); }
.staff-table-card.redesigned input:hover,.staff-table-card.redesigned select:hover,.staff-table-card.redesigned input:focus,.staff-table-card.redesigned select:focus { border-color: rgba(131,228,255,.32); background: rgba(10,20,38,.95); }
.staff-identity-cell { min-width: 145px; }.staff-steamid { max-width: 145px; }.staff-steamid code { color: #9db8dd; font-size: .61rem; }
.staff-profile-link.external { color: #768aa8; }.discipline-input { text-align: center; font-weight: 900; }.discipline-input.warning { color: #ffd07a; }.discipline-input.reprimand { color: #ff95aa; }
.tenure-pill,.appointed-by { display: inline-flex; align-items: center; min-height: 29px; padding: 5px 8px; border: 1px solid rgba(131,228,255,.15); border-radius: 9px; color: #b9d8ff; background: rgba(72,137,231,.07); font-size: .65rem; white-space: nowrap; }
.appointed-by { color: var(--soft); border-color: var(--line); background: rgba(255,255,255,.025); }
.staff-salary-link { display: grid; gap: 2px; padding: 7px 9px; border: 1px solid rgba(89,216,171,.17); border-radius: 10px; color: #71e2b8; background: rgba(57,190,143,.065); text-decoration: none; white-space: nowrap; }
.staff-salary-link b { font-size: .78rem; }.staff-salary-link small { color: #8196b4; font-size: .58rem; }.staff-salary-link:hover { border-color: rgba(89,216,171,.42); background: rgba(57,190,143,.12); }

.salary-hero { align-items: center; }.salary-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 32px 0 14px; }.salary-section-head h2 { margin: 5px 0 0; }.salary-section-head p { margin: 0; color: var(--muted); font-size: .72rem; }
.salary-role-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(330px,1fr)); gap: 12px; }.salary-role-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(17,29,50,.96),rgba(8,15,29,.94)); box-shadow: var(--shadow-soft); }.salary-role-card[open] { grid-column: 1 / -1; border-color: rgba(131,228,255,.3); }.salary-role-card > summary { display: grid; grid-template-columns: 13px 1fr auto; gap: 12px; align-items: center; padding: 16px 17px; cursor: pointer; list-style: none; }.salary-role-card > summary::-webkit-details-marker { display: none; }.salary-role-dot { width: 11px; height: 38px; border-radius: 99px; background: var(--role-color); box-shadow: 0 0 18px color-mix(in srgb,var(--role-color) 55%,transparent); }.salary-role-card summary strong,.salary-role-card summary small { display: block; }.salary-role-card summary small { margin-top: 3px; color: var(--muted); font-size: .67rem; }.salary-role-card summary > b { color: var(--blue-2); font-size: .68rem; }
.salary-role-form { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 14px; padding: 0 17px 17px; border-top: 1px solid var(--line); }.salary-role-form label { display: grid; gap: 5px; color: var(--muted); font-size: .66rem; }.salary-base-input { padding-top: 15px; }.salary-base-input input { min-height: 54px; color: #fff; font-size: 1.1rem; font-weight: 900; }.salary-bonus-settings { display: grid; grid-template-columns: repeat(4,minmax(135px,1fr)); gap: 8px; padding-top: 15px; }.salary-role-form > .btn { grid-column: 1 / -1; justify-self: end; }
.salary-staff-list { display: grid; gap: 12px; }.salary-staff-card { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,rgba(16,27,47,.96),rgba(7,13,25,.95)); box-shadow: var(--shadow-soft); }.salary-staff-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; border-bottom: 1px solid var(--line); }.salary-person { display: flex; align-items: center; gap: 12px; }.salary-avatar-letter { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(131,228,255,.22); border-radius: 13px; color: var(--blue-2); background: rgba(75,141,255,.1); font-weight: 900; }.salary-person strong,.salary-person small,.salary-total span,.salary-total small { display: block; }.salary-person small,.salary-total span,.salary-total small { color: var(--muted); font-size: .65rem; }.salary-total { text-align: right; }.salary-total strong { display: block; color: #71e2b8; font-size: 1.25rem; }.salary-staff-form { display: flex; align-items: center; gap: 14px; padding: 14px 18px; }.salary-bonus-picker { display: grid; flex: 1; grid-template-columns: repeat(4,minmax(145px,1fr)); gap: 7px; }.salary-bonus-choice { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.022); cursor: pointer; }.salary-bonus-choice:has(input:checked) { border-color: rgba(89,216,171,.38); background: rgba(57,190,143,.09); }.salary-bonus-choice input { min-height: 0; }.salary-bonus-choice span,.salary-bonus-choice b,.salary-bonus-choice small { display: block; }.salary-bonus-choice b { color: var(--soft); font-size: .65rem; }.salary-bonus-choice small { margin-top: 2px; color: #71e2b8; font-size: .59rem; }

/* Unlimited forum nesting and moderation controls */
.forum-subcategory-row { padding-left: calc(18px + var(--category-indent,24px)); }.forum-subcategory-row::before { left: calc(14px + var(--category-line,18px)); }.builder-category-card.subcategory { margin-left: var(--category-indent,22px); }.thread-move-form { display: flex; gap: 6px; align-items: center; }.thread-move-form select { width: min(310px,38vw); min-height: 34px; padding: 5px 8px; font-size: .68rem; }

@media (max-width: 1200px) { .staff-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }.salary-bonus-settings,.salary-bonus-picker { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .staff-overview { grid-template-columns: 1fr; }.salary-role-grid { grid-template-columns: 1fr; }.salary-role-form { grid-template-columns: 1fr; }.salary-bonus-settings,.salary-bonus-picker { grid-template-columns: 1fr; }.salary-staff-card > header,.salary-staff-form,.salary-section-head { align-items: stretch; flex-direction: column; }.salary-total { text-align: left; }.salary-role-form > .btn { grid-column: auto; justify-self: stretch; }.thread-move-form { width: 100%; }.thread-move-form select { width: 100%; }.builder-category-card.subcategory { margin-left: var(--category-mobile-indent,10px); } }

/* Salary workspace v2 */
.salary-dashboard { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 20px 0 32px; }
.salary-dashboard > div { position: relative; overflow: hidden; min-height: 122px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: linear-gradient(145deg,rgba(18,31,54,.97),rgba(8,15,29,.95)); box-shadow: var(--shadow-soft); }
.salary-dashboard > div::after { position: absolute; right: -30px; bottom: -40px; width: 115px; height: 115px; border-radius: 50%; content: ''; background: rgba(75,141,255,.09); }
.salary-dashboard > div.primary { border-color: rgba(81,221,169,.25); background: linear-gradient(145deg,rgba(19,59,54,.7),rgba(8,22,30,.96)); }.salary-dashboard > div.primary::after { background: rgba(65,221,164,.13); }
.salary-dashboard span,.salary-dashboard small,.salary-dashboard strong { position: relative; z-index: 1; display: block; }.salary-dashboard span { color: #8095b4; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.salary-dashboard strong { margin: 9px 0 4px; color: #fff; font-size: 1.55rem; line-height: 1; }.salary-dashboard .primary strong { color: #72e2b8; }.salary-dashboard small { color: var(--muted); font-size: .64rem; }
.salary-dashboard .salary-auto-state.enabled{border-color:rgba(103,210,255,.25);background:linear-gradient(145deg,rgba(15,48,71,.82),rgba(8,18,31,.96))}.salary-dashboard .salary-auto-state.enabled strong{color:#83dcff}.salary-dashboard .salary-auto-state.disabled{opacity:.68}.salary-history-head{margin-top:36px}.salary-payout-history td>small{display:block;max-width:260px;margin-top:5px;color:var(--muted);line-height:1.35}
.salary-config-workspace { display: grid; grid-template-columns: 285px minmax(0,1fr); overflow: hidden; min-height: 640px; border: 1px solid rgba(131,228,255,.14); border-radius: 20px; background: linear-gradient(145deg,rgba(14,24,42,.98),rgba(7,13,25,.97)); box-shadow: var(--shadow); }
.salary-rank-sidebar { border-right: 1px solid var(--line); background: rgba(3,8,17,.3); }.salary-rank-sidebar-head { padding: 18px; border-bottom: 1px solid var(--line); }.salary-rank-sidebar-head strong,.salary-rank-sidebar-head small { display: block; }.salary-rank-sidebar-head strong { color: #fff; }.salary-rank-sidebar-head small { margin-top: 3px; color: var(--muted); font-size: .65rem; }.salary-rank-nav { display: grid; gap: 5px; padding: 10px; max-height: 720px; overflow-y: auto; }
.salary-rank-nav-item { display: grid; grid-template-columns: 8px 1fr auto; gap: 11px; align-items: center; width: 100%; padding: 11px; border: 1px solid transparent; border-radius: 12px; color: var(--soft); background: transparent; text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,transform .18s ease; }.salary-rank-nav-item > i { width: 7px; height: 34px; border-radius: 99px; background: var(--role-color); box-shadow: 0 0 14px color-mix(in srgb,var(--role-color) 48%,transparent); }.salary-rank-nav-item span,.salary-rank-nav-item b,.salary-rank-nav-item small { display: block; }.salary-rank-nav-item b { font-size: .72rem; }.salary-rank-nav-item small { margin-top: 3px; color: #6f84a2; font-size: .59rem; }.salary-rank-nav-item em { color: #526985; font-style: normal; font-size: 1.15rem; }.salary-rank-nav-item:hover { border-color: rgba(131,228,255,.13); background: rgba(75,141,255,.055); transform: translateX(2px); }.salary-rank-nav-item.active { border-color: rgba(131,228,255,.28); color: #fff; background: linear-gradient(100deg,rgba(67,129,224,.16),rgba(67,129,224,.04)); }.salary-rank-nav-item.active em { color: var(--blue-2); }
.salary-rate-editor { min-width: 0; }.salary-rate-panel { display: none; }.salary-rate-panel.active { display: block; animation: salaryPanelIn .22s ease both; }@keyframes salaryPanelIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }.salary-rate-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 112px; padding: 20px 23px; border-bottom: 1px solid var(--line); background: linear-gradient(100deg,rgba(51,101,176,.11),transparent 70%); }.salary-rate-title { display: flex; align-items: center; gap: 14px; }.salary-rate-title > i { width: 10px; height: 58px; border-radius: 99px; background: var(--role-color); }.salary-rate-title h2 { margin: 3px 0; }.salary-rate-title p { margin: 0; color: var(--muted); font-size: .68rem; }.salary-rate-maximum { text-align: right; }.salary-rate-maximum span,.salary-rate-maximum strong { display: block; }.salary-rate-maximum span { color: var(--muted); font-size: .62rem; }.salary-rate-maximum strong { margin-top: 4px; color: #72e2b8; font-size: 1.35rem; }
.salary-rate-form { padding: 22px 23px; }.salary-rate-base { display: grid; max-width: 390px; gap: 7px; color: var(--soft); font-size: .69rem; font-weight: 800; }.salary-rate-base > div { display: grid; grid-template-columns: 1fr 42px; overflow: hidden; border: 1px solid rgba(131,228,255,.22); border-radius: 13px; background: rgba(255,255,255,.025); }.salary-rate-base input { min-height: 58px; border: 0; border-radius: 0; color: #fff; background: transparent; font-size: 1.2rem; font-weight: 900; }.salary-rate-base > div > b { display: grid; place-items: center; border-left: 1px solid var(--line); color: #72e2b8; background: rgba(52,190,141,.055); }.salary-rate-base > small { color: var(--muted); font-size: .6rem; font-weight: 500; line-height: 1.5; }
.salary-rate-bonuses { margin-top: 26px; }.salary-rate-bonuses-head strong,.salary-rate-bonuses-head small { display: block; }.salary-rate-bonuses-head small { margin-top: 3px; color: var(--muted); font-size: .64rem; }.salary-rate-bonus-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 12px; }.salary-rate-bonus-grid > label { display: flex; align-items: center; justify-content: space-between; gap: 13px; min-height: 62px; padding: 9px 10px 9px 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.022); }.salary-rate-bonus-grid > label > span { display: flex; align-items: center; gap: 9px; min-width: 0; }.salary-rate-bonus-grid > label > span i { display: grid; flex: 0 0 auto; width: 27px; height: 27px; place-items: center; border-radius: 8px; color: #82aef3; background: rgba(75,141,255,.1); font-size: .58rem; font-style: normal; }.salary-rate-bonus-grid > label > span b { font-size: .66rem; }.salary-rate-bonus-grid > label > div { display: grid; flex: 0 0 122px; grid-template-columns: 1fr 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }.salary-rate-bonus-grid input { min-width: 0; min-height: 36px; padding: 5px 7px; border: 0; border-radius: 0; background: rgba(4,9,18,.62); font-size: .68rem; }.salary-rate-bonus-grid em { display: grid; place-items: center; color: #72e2b8; background: rgba(52,190,141,.055); font-size: .65rem; font-style: normal; }.salary-rate-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); }.salary-rate-actions span { color: var(--muted); font-size: .62rem; }
.salary-payroll-list { display: grid; gap: 8px; }.salary-payroll-row { display: grid; grid-template-columns: minmax(190px,1.1fr) 100px 100px minmax(220px,1.3fr) 120px auto; gap: 14px; align-items: center; min-height: 78px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg,rgba(16,27,47,.92),rgba(7,13,25,.93)); }.salary-payroll-amount span,.salary-payroll-amount b,.salary-payroll-total span,.salary-payroll-total strong { display: block; }.salary-payroll-amount span,.salary-payroll-total span { color: var(--muted); font-size: .59rem; }.salary-payroll-amount b { margin-top: 3px; color: #d8e7fb; font-size: .73rem; }.salary-payroll-amount.bonus b { color: #72e2b8; }.salary-payroll-tags { display: flex; flex-wrap: wrap; gap: 4px; }.salary-payroll-tags span { padding: 4px 6px; border: 1px solid rgba(131,228,255,.12); border-radius: 7px; color: #9cb4d4; background: rgba(75,141,255,.055); font-size: .55rem; }.salary-payroll-tags small { color: var(--muted); }.salary-payroll-total strong { margin-top: 2px; color: #72e2b8; font-size: 1rem; }

/* Bonus dropdown inside staff table */
.staff-bonus-cell { position: relative; min-width: 150px; }.staff-bonus-dropdown { position: relative; min-width: 140px; }.staff-bonus-dropdown > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 42px; padding: 7px 9px; border: 1px solid rgba(89,216,171,.2); border-radius: 10px; color: #72e2b8; background: rgba(57,190,143,.065); cursor: pointer; list-style: none; }.staff-bonus-dropdown > summary::-webkit-details-marker { display: none; }.staff-bonus-dropdown summary span,.staff-bonus-dropdown summary b,.staff-bonus-dropdown summary small { display: block; }.staff-bonus-dropdown summary b { font-size: .76rem; }.staff-bonus-dropdown summary small { margin-top: 2px; color: #7990ad; font-size: .56rem; }.staff-bonus-dropdown summary > i { color: #7890ae; font-style: normal; transition: transform .18s ease; }.staff-bonus-dropdown[open] summary > i { transform: rotate(180deg); }.staff-bonus-menu { display: grid; gap: 8px; width: 290px; margin-top: 7px; padding: 11px; border: 1px solid rgba(131,228,255,.2); border-radius: 13px; background: #0b1527; box-shadow: 0 18px 42px rgba(0,0,0,.42); }.staff-bonus-menu header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }.staff-bonus-menu header strong { color: #fff; font-size: .68rem; }.staff-bonus-menu header small { color: #72e2b8; font-size: .58rem; }.staff-bonus-menu > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }.staff-bonus-menu label { display: flex; align-items: center; gap: 6px; min-width: 0; padding: 6px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.025); cursor: pointer; }.staff-bonus-menu label:has(input:checked) { border-color: rgba(89,216,171,.35); background: rgba(57,190,143,.08); }.staff-bonus-menu input { width: auto !important; min-width: 0 !important; min-height: 0 !important; }.staff-bonus-menu label span,.staff-bonus-menu label b,.staff-bonus-menu label small { display: block; min-width: 0; }.staff-bonus-menu label b { overflow: hidden; color: #b7c9e2; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }.staff-bonus-menu label small { margin-top: 2px; color: #72e2b8; font-size: .52rem; }.staff-bonus-menu > button { justify-self: stretch; }

@media (max-width: 1200px) { .salary-dashboard { grid-template-columns: repeat(2,minmax(0,1fr)); }.salary-config-workspace { grid-template-columns: 240px minmax(0,1fr); }.salary-rate-bonus-grid { grid-template-columns: 1fr; }.salary-payroll-row { grid-template-columns: minmax(180px,1fr) repeat(3,100px) auto; }.salary-payroll-tags { grid-column: 1 / -1; grid-row: 2; } }
@media (max-width: 760px) { .salary-dashboard { grid-template-columns: 1fr; }.salary-config-workspace { display: block; }.salary-rank-sidebar { border-right: 0; border-bottom: 1px solid var(--line); }.salary-rank-nav { display: flex; overflow-x: auto; }.salary-rank-nav-item { flex: 0 0 210px; }.salary-rate-panel > header,.salary-rate-actions { align-items: stretch; flex-direction: column; }.salary-rate-maximum { text-align: left; }.salary-rate-bonus-grid > label { align-items: stretch; flex-direction: column; }.salary-rate-bonus-grid > label > div { width: 100%; flex-basis: auto; }.salary-payroll-row { grid-template-columns: 1fr 1fr; }.salary-payroll-row .salary-person,.salary-payroll-tags { grid-column: 1 / -1; }.salary-payroll-row > .btn { grid-column: 1 / -1; }.staff-bonus-menu { width: 250px; }.staff-bonus-menu > div { grid-template-columns: 1fr; } }

/* Administration directory and staff profile dialog */
.staff-add-form-new { grid-template-columns: repeat(4,minmax(0,1fr)); }.staff-add-form-new .btn { align-self: end; }
.staff-directory-shell { overflow-x: auto; border: 1px solid rgba(131,228,255,.14); border-radius: 19px; background: linear-gradient(145deg,rgba(13,23,41,.98),rgba(7,13,25,.97)); box-shadow: var(--shadow-soft); }
.staff-directory-table { width: 100%; min-width: 1120px; border-collapse: collapse; }.staff-directory-table th { padding: 13px 14px; border-bottom: 1px solid var(--line); color: #7287a6; background: rgba(3,8,17,.34); font-size: .59rem; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }.staff-directory-table td { padding: 13px 14px; border-bottom: 1px solid rgba(151,177,220,.09); color: #c7d5e9; font-size: .7rem; vertical-align: middle; }.staff-directory-table tbody tr:last-child td { border-bottom: 0; }
.staff-directory-row { cursor: pointer; outline: none; transition: background .18s ease,transform .18s ease; }.staff-directory-row:hover,.staff-directory-row:focus-visible { background: rgba(75,141,255,.075); }.staff-directory-row:focus-visible { box-shadow: inset 3px 0 #76b8ff; }.staff-person-cell { display: flex; align-items: center; gap: 11px; min-width: 190px; }.staff-person-cell img { width: 39px; height: 39px; border: 1px solid rgba(131,228,255,.18); border-radius: 11px; object-fit: cover; }.staff-person-cell span,.staff-person-cell strong,.staff-person-cell small { display: block; }.staff-person-cell strong { color: #fff; font-size: .73rem; }.staff-person-cell small { margin-top: 3px; color: #667d9c; font-size: .56rem; }.staff-directory-table code { color: #9eb8da; font-size: .62rem; white-space: nowrap; }
.discipline-count { display: inline-grid; min-width: 29px; height: 29px; place-items: center; border: 1px solid var(--line); border-radius: 9px; font-weight: 900; }.discipline-count.warning { color: #ffd27f; border-color: rgba(255,195,92,.25); background: rgba(255,195,92,.07); }.discipline-count.reprimand { color: #ff91a4; border-color: rgba(255,102,133,.25); background: rgba(255,102,133,.07); }
.staff-status { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: #aebdd2; white-space: nowrap; }.staff-status i { width: 7px; height: 7px; border-radius: 50%; background: #6f7f96; }.staff-status.active { color: #76e0b7; border-color: rgba(72,211,157,.22); background: rgba(72,211,157,.065); }.staff-status.active i { background: #55d6a3; box-shadow: 0 0 8px rgba(85,214,163,.6); }.staff-status.vacation { color: #ffd180; border-color: rgba(255,193,89,.22); background: rgba(255,193,89,.06); }.staff-status.vacation i { background: #ffc45c; }.staff-status.frozen { color: #91c8ff; border-color: rgba(95,174,255,.23); background: rgba(95,174,255,.065); }.staff-status.frozen i { background: #72b8ff; }
.staff-profile-dialog { width: min(1120px,calc(100% - 30px)); max-width: none; max-height: calc(100vh - 28px); padding: 0; overflow: auto; border: 1px solid rgba(131,228,255,.22); border-radius: 22px; color: var(--text); background: #091323; box-shadow: 0 30px 100px rgba(0,0,0,.68); }.staff-profile-dialog::backdrop { background: rgba(2,6,13,.78); backdrop-filter: blur(7px); }.staff-profile-dialog > article { background: radial-gradient(circle at 90% 0,rgba(75,141,255,.14),transparent 34%),linear-gradient(145deg,#101c31,#07101e 72%); }.staff-dialog-head { position: sticky; z-index: 4; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 22px; border-bottom: 1px solid var(--line); background: rgba(9,19,35,.94); backdrop-filter: blur(14px); }.staff-dialog-person { display: flex; align-items: center; gap: 14px; }.staff-dialog-person img { width: 60px; height: 60px; border: 2px solid rgba(131,228,255,.24); border-radius: 17px; object-fit: cover; }.staff-dialog-person h2 { margin: 3px 0; font-size: 1.35rem; }.staff-dialog-person p { margin: 0; color: var(--muted); font-size: .68rem; }.staff-dialog-close { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--line); border-radius: 11px; color: #aebdd3; background: rgba(255,255,255,.035); font-size: 1.45rem; cursor: pointer; }.staff-dialog-close:hover { color: #fff; border-color: rgba(131,228,255,.32); }
.staff-dialog-body { display: grid; gap: 16px; padding: 20px 22px 24px; }.staff-profile-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }.staff-profile-stats > div { padding: 14px 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); }.staff-profile-stats span,.staff-profile-stats strong { display: block; }.staff-profile-stats span { color: var(--muted); font-size: .6rem; text-transform: uppercase; }.staff-profile-stats strong { margin-top: 7px; color: #fff; font-size: 1.1rem; }.reprimand-text { color: #ff91a4 !important; }.warning-text { color: #ffd27f !important; }
.staff-norm-card { padding: 15px 17px; border: 1px solid rgba(93,214,168,.18); border-radius: 15px; background: rgba(49,172,128,.055); }.staff-norm-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; }.staff-norm-head h3 { margin: 4px 0 0; }.staff-norm-head > strong { color: #72e2b8; font-size: 1.25rem; }.staff-norm-progress { height: 7px; margin-top: 13px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }.staff-norm-progress i { display: block; width: var(--progress); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#43bf91,#7ce7c0); box-shadow: 0 0 12px rgba(83,216,167,.4); }
.staff-detail-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }.staff-detail-grid > div { display: grid; min-width: 0; gap: 5px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 13px; background: rgba(3,8,17,.28); }.staff-detail-grid span { color: var(--muted); font-size: .59rem; text-transform: uppercase; }.staff-detail-grid code,.staff-detail-grid strong { overflow-wrap: anywhere; color: #d8e8ff; font-size: .68rem; }.staff-detail-grid button { justify-self: start; padding: 0; border: 0; color: var(--blue-2); background: none; font-size: .58rem; cursor: pointer; }
.staff-dialog-columns { display: grid; grid-template-columns: 1.05fr .95fr; gap: 14px; align-items: start; }.staff-dialog-section { overflow: hidden; border: 1px solid var(--line); border-radius: 17px; background: rgba(7,14,27,.6); }.staff-section-title { display: flex; gap: 11px; padding: 15px 16px; border-bottom: 1px solid var(--line); }.staff-section-title > span { display: grid; flex: 0 0 32px; height: 32px; place-items: center; border: 1px solid rgba(131,228,255,.2); border-radius: 9px; color: var(--blue-2); font-size: .62rem; }.staff-section-title h3,.staff-section-title p { margin: 0; }.staff-section-title p { margin-top: 3px; color: var(--muted); font-size: .61rem; }.staff-profile-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 15px 16px; }.staff-profile-form label,.discipline-create-form label { display: grid; gap: 5px; color: var(--muted); font-size: .61rem; font-weight: 800; }.staff-profile-form input,.staff-profile-form select,.discipline-create-form input,.discipline-create-form select,.discipline-create-form textarea { min-height: 41px; padding: 8px 10px; }.staff-profile-form .btn { grid-column: 1 / -1; }.discipline-create-form { display: grid; gap: 10px; padding: 15px 16px; border-bottom: 1px solid var(--line); }.discipline-create-form textarea { min-height: 86px; }.discipline-history { display: grid; gap: 8px; max-height: 420px; padding: 14px 16px; overflow-y: auto; }.discipline-history article { padding: 11px 12px; border: 1px solid var(--line); border-left-width: 3px; border-radius: 11px; background: rgba(255,255,255,.022); }.discipline-history article.warning { border-left-color: #ffc55f; }.discipline-history article.reprimand { border-left-color: #ff718c; }.discipline-history article.legacy { border-left-color: #7186a4; }.discipline-history article span { color: #fff; font-size: .64rem; font-weight: 900; }.discipline-history article p { margin: 6px 0; color: #b9c9df; font-size: .66rem; line-height: 1.55; }.discipline-history article small { color: #7186a4; font-size: .56rem; }.staff-dialog-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }.staff-dialog-footer form { margin-left: auto; }
@media (min-width: 1280px) { .staff-directory-shell { overflow-x: visible; }.staff-directory-table { min-width: 100%; } }
@media (max-width: 860px) { .staff-add-form-new { grid-template-columns: 1fr 1fr; }.staff-dialog-columns { grid-template-columns: 1fr; }.staff-detail-grid,.staff-profile-stats { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .staff-add-form-new,.staff-profile-form,.staff-detail-grid,.staff-profile-stats { grid-template-columns: 1fr; }.staff-dialog-head,.staff-dialog-footer { align-items: stretch; flex-direction: column; }.staff-dialog-close { position: absolute; top: 14px; right: 14px; }.staff-dialog-person { padding-right: 44px; }.staff-dialog-footer form,.staff-dialog-footer .btn { width: 100%; margin: 0; } }

/* Staff table v2: strict geometry also protects the layout before images finish loading. */
.staff-directory-shell { margin-top: 18px; border-color: rgba(131,228,255,.2); box-shadow: 0 20px 55px rgba(0,0,0,.25); }
.staff-directory-table { table-layout: auto; }.staff-directory-table th:first-child { width: 22%; }.staff-directory-table th:nth-child(2) { width: 14%; }.staff-directory-row { height: 68px; transition: background .18s ease,box-shadow .18s ease; }.staff-directory-row:nth-child(even) { background: rgba(255,255,255,.012); }.staff-directory-row:hover,.staff-directory-row:focus-visible { background: linear-gradient(90deg,rgba(75,141,255,.12),rgba(75,141,255,.035)); box-shadow: inset 3px 0 #76b8ff; }
.staff-person-cell img { display: block; width: 39px !important; min-width: 39px !important; max-width: 39px !important; height: 39px !important; min-height: 39px !important; max-height: 39px !important; object-fit: cover; }
.staff-dialog-person img { display: block; width: 60px !important; min-width: 60px !important; max-width: 60px !important; height: 60px !important; min-height: 60px !important; max-height: 60px !important; object-fit: cover; }
.staff-salary-summary { overflow: hidden; border: 1px solid rgba(89,216,171,.2); border-radius: 16px; background: linear-gradient(120deg,rgba(35,122,95,.11),rgba(8,18,29,.72)); }.staff-salary-totals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }.staff-salary-totals > div { padding: 15px 17px; border-right: 1px solid var(--line); }.staff-salary-totals > div:last-child { border-right: 0; }.staff-salary-totals span,.staff-salary-totals strong { display: block; }.staff-salary-totals span { color: var(--muted); font-size: .61rem; text-transform: uppercase; }.staff-salary-totals span b { color: #72e2b8; }.staff-salary-totals strong { margin-top: 7px; color: #ddecff; font-size: 1.05rem; }.staff-salary-totals .total { background: rgba(54,194,143,.065); }.staff-salary-totals .total strong { color: #72e2b8; font-size: 1.25rem; }
.staff-salary-bonuses { padding: 12px 16px; border-top: 1px solid var(--line); }.staff-salary-bonus-tags { display: flex; flex-wrap: wrap; gap: 6px; }.staff-salary-bonus-tags > span { padding: 6px 8px; border: 1px solid rgba(89,216,171,.2); border-radius: 8px; color: #b9d7cc; background: rgba(57,190,143,.06); font-size: .59rem; }.staff-salary-bonus-tags > span b { color: #72e2b8; }.staff-salary-bonus-tags > small { color: var(--muted); }.staff-salary-bonuses details { margin-top: 10px; }.staff-salary-bonuses summary { color: var(--blue-2); font-size: .64rem; font-weight: 800; cursor: pointer; }.staff-salary-bonuses form { display: grid; gap: 10px; margin-top: 10px; }.staff-salary-bonuses form > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }.staff-salary-bonuses label { display: flex; align-items: center; gap: 7px; padding: 8px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.022); cursor: pointer; }.staff-salary-bonuses label:has(input:checked) { border-color: rgba(89,216,171,.36); background: rgba(57,190,143,.08); }.staff-salary-bonuses label input { width: auto; min-height: 0; }.staff-salary-bonuses label span,.staff-salary-bonuses label b,.staff-salary-bonuses label small { display: block; }.staff-salary-bonuses label b { color: #c7d7ea; font-size: .58rem; }.staff-salary-bonuses label small { margin-top: 2px; color: #72e2b8; font-size: .54rem; }
@media (max-width: 860px) { .staff-salary-bonuses form > div { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .staff-salary-totals,.staff-salary-bonuses form > div { grid-template-columns: 1fr; }.staff-salary-totals > div { border-right: 0; border-bottom: 1px solid var(--line); }.staff-salary-totals > div:last-child { border-bottom: 0; } }

/* Readability pass: staff table and cards */
.staff-directory-table th { font-size: .72rem; line-height: 1.35; }
.staff-directory-table td { font-size: .84rem; line-height: 1.45; }
.staff-person-cell strong { font-size: .9rem; }.staff-person-cell small { font-size: .7rem; }.staff-directory-table code { font-size: .76rem; }
.staff-profile-dialog { font-size: 16px; }.staff-dialog-person p { font-size: .82rem; }.staff-profile-stats span { font-size: .72rem; }.staff-profile-stats strong { font-size: 1.18rem; }
.staff-detail-grid span { font-size: .7rem; }.staff-detail-grid code,.staff-detail-grid strong { font-size: .82rem; }.staff-detail-grid button { font-size: .72rem; }
.staff-section-title > span { font-size: .72rem; }.staff-section-title p { font-size: .76rem; }.staff-profile-form label,.discipline-create-form label { font-size: .76rem; }
.discipline-history article span { font-size: .8rem; }.discipline-history article p { font-size: .8rem; }.discipline-history article small { display: block; margin-top: 4px; font-size: .69rem; }
.discipline-history article.revoked { opacity: .67; border-left-color: #7186a4; }.discipline-history article.revoked > span { text-decoration: line-through; }
.discipline-revoke-form { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 10px; }.discipline-revoke-form input { min-height: 36px; font-size: .76rem; }
.staff-resync-form { padding: 0 16px 16px; }.staff-resync-form .btn { width: 100%; }
.staff-rank-sync-form { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 16px 16px;padding:14px 16px;border:1px solid rgba(86,177,255,.2);border-radius:14px;background:rgba(8,24,40,.72); }
.staff-rank-sync-form > div { min-width:0; }
.staff-rank-sync-form strong,.staff-rank-sync-form small { display:block; }
.staff-rank-sync-form small { margin-top:4px;color:var(--muted);line-height:1.45; }
.staff-rank-sync-form .btn { flex:0 0 auto; }
@media (max-width:720px){.staff-rank-sync-form{align-items:stretch;flex-direction:column}.staff-rank-sync-form .btn{width:100%}}

/* Live server chat */
.server-chat-page{display:grid;gap:18px;padding:28px 0 64px}.server-chat-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;background:linear-gradient(135deg,rgba(10,30,50,.96),rgba(7,17,31,.94));border-color:rgba(85,190,255,.22)}
.server-chat-toolbar h2,.server-chat-toolbar p{margin:0}.server-chat-toolbar h2{margin-top:8px;font-size:clamp(20px,2.2vw,28px)}.server-chat-toolbar p{margin-top:5px;color:var(--muted)}.server-chat-toolbar form{min-width:min(100%,260px)}.server-chat-toolbar label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.server-chat-live{display:inline-flex;align-items:center;gap:7px;color:#70e7b6;font-size:11px;font-weight:900;letter-spacing:.14em}.server-chat-live i{width:8px;height:8px;border-radius:50%;background:#52e4a7;box-shadow:0 0 0 5px rgba(82,228,167,.1),0 0 18px rgba(82,228,167,.75);animation:chatLivePulse 2s ease-in-out infinite}
@keyframes chatLivePulse{50%{opacity:.55;box-shadow:0 0 0 9px rgba(82,228,167,0),0 0 10px rgba(82,228,167,.45)}}
.server-chat-stream{height:min(62vh,650px);min-height:420px;overflow:auto;padding:12px 18px;scrollbar-gutter:stable;background:radial-gradient(circle at 50% 0,rgba(44,134,211,.08),transparent 42%),rgba(4,12,24,.91)}.server-chat-empty{display:grid;place-items:center;min-height:100%;padding:40px;text-align:center;color:var(--muted)}
.server-chat-message{display:grid;grid-template-columns:52px minmax(0,1fr);gap:13px;padding:14px 6px;border-bottom:1px solid rgba(115,184,234,.1);animation:chatMessageIn .28s ease both}.server-chat-message:last-child{border-bottom:0}.server-chat-source{display:grid;place-items:center;align-self:start;width:46px;height:34px;border:1px solid rgba(79,175,244,.28);border-radius:10px;background:rgba(36,126,198,.1);color:#69c9ff;font-size:10px;font-weight:900;letter-spacing:.05em}.server-chat-message.source-site .server-chat-source{border-color:rgba(133,108,255,.34);background:rgba(101,76,224,.13);color:#b9a9ff}.server-chat-message header{display:flex;align-items:center;gap:9px;min-width:0}.server-chat-message header strong{font-size:14px;color:#f3f9ff}.server-chat-message header span,.server-chat-message header em{padding:3px 7px;border-radius:7px;background:rgba(91,165,221,.1);color:#83b9df;font-size:10px;font-style:normal}.server-chat-message time{margin-left:auto;color:#617d96;font-size:11px}.server-chat-message p{margin:5px 0 0;overflow-wrap:anywhere;color:#dbeaf5;line-height:1.55;white-space:pre-wrap}
@keyframes chatMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.server-chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px 20px}.server-chat-compose label{display:grid;gap:7px}.server-chat-compose label>span{color:var(--muted);font-size:12px;font-weight:800}.server-chat-compose textarea{min-height:64px;max-height:150px;resize:vertical}.server-chat-compose small{grid-column:1/-1;color:var(--muted)}.server-chat-readonly{padding:18px 20px;color:var(--muted)}

/* Rank synchronization must keep its own readable layout inside the staff dialog. */
.staff-dialog-section .staff-rank-sync-form{display:flex!important;align-items:flex-start!important;flex-direction:column!important;justify-content:flex-start!important;gap:14px!important;min-width:0;margin:16px 0 0!important;padding:16px 18px!important;border:1px solid rgba(86,177,255,.22)!important;border-radius:14px!important;background:rgba(8,24,40,.76)!important}.staff-dialog-section .staff-rank-sync-form>div{display:grid!important;gap:5px!important;min-width:0!important;width:100%!important}.staff-dialog-section .staff-rank-sync-form strong{display:block!important;font-size:15px!important;line-height:1.35!important}.staff-dialog-section .staff-rank-sync-form small{display:block!important;margin:0!important;max-width:540px;color:var(--muted)!important;font-size:12px!important;line-height:1.55!important}.staff-dialog-section .staff-rank-sync-form .btn{flex:0 0 auto!important;width:auto!important;white-space:normal}
@media(max-width:720px){.server-chat-toolbar{align-items:stretch;flex-direction:column}.server-chat-toolbar form{min-width:100%}.server-chat-stream{height:58vh;min-height:360px}.server-chat-compose{grid-template-columns:1fr}.server-chat-compose .btn{width:100%}.staff-dialog-section .staff-rank-sync-form{align-items:stretch!important;flex-direction:column!important}.staff-dialog-section .staff-rank-sync-form .btn{width:100%!important;white-space:normal}}
@media(prefers-reduced-motion:reduce){.server-chat-live i,.server-chat-message{animation:none}}
.staff-norm-card p { margin: 10px 0 0; color: var(--soft); font-size: .8rem; }.staff-norm-card.norm-failed { border-color: rgba(255,113,140,.2); background: rgba(191,65,91,.06); }.staff-norm-card.norm-failed .staff-norm-progress i { background: linear-gradient(90deg,#ff718c,#ffc55f); }.staff-norm-card.norm-none { border-color: var(--line); background: rgba(255,255,255,.025); }

/* Salary norm configuration */
.salary-norm-settings { display: grid; gap: 14px; margin-top: 22px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(75,141,255,.045); }.salary-norm-settings legend { padding: 0 7px; color: #fff; font-size: .9rem; font-weight: 900; }.salary-norm-settings > .switch { justify-self: start; color: var(--soft); font-size: .82rem; }.salary-norm-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }.salary-norm-grid label { display: grid; gap: 6px; color: var(--muted); font-size: .76rem; font-weight: 800; }.salary-norm-grid input { min-height: 46px; }.salary-norm-settings > small { color: var(--muted); font-size: .72rem; }

/* Staff reports */
.report-page,.report-review-page { padding-top: 28px; padding-bottom: 60px; }.report-layout { display: grid; grid-template-columns: minmax(300px,390px) minmax(0,1fr); gap: 18px; align-items: start; }.report-submit { position: sticky; top: 92px; }.report-submit h2 { margin-top: 0; }.report-submit label { font-size: .82rem; }.report-upload small { color: var(--muted); }.report-history,.report-review-list { display: grid; gap: 14px; }.report-server > header,.report-review-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }.report-server h2,.report-review-card h2 { margin: 5px 0 0; }.norm-state,.report-status { display: inline-flex; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; font-size: .75rem; font-weight: 900; }.norm-state.done,.report-status.approved { color: #72e2b8; border-color: rgba(89,216,171,.28); background: rgba(57,190,143,.08); }.norm-state.failed,.report-status.rejected { color: #ff91a4; border-color: rgba(255,113,140,.28); background: rgba(191,65,91,.08); }.norm-state.none { color: #9eb0c8; }.report-status.pending { color: #ffd27f; border-color: rgba(255,197,95,.28); background: rgba(255,197,95,.07); }.report-norm-progress { margin-top: 16px; }.report-norm-progress > div:not(.staff-norm-progress) { display: flex; justify-content: space-between; margin-top: 7px; color: var(--soft); font-size: .82rem; }.report-norm-progress > small { display: block; margin-top: 9px; color: var(--muted); }.report-list { display: grid; gap: 8px; margin-top: 17px; }.report-list article { padding: 12px 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.02); }.report-list article > div { display: flex; align-items: center; gap: 9px; }.report-list article p { margin: 8px 0 0; color: var(--soft); font-size: .82rem; }.report-list article small { display: block; margin-top: 7px; color: var(--muted); }.report-filter-tabs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 17px; }.report-filter-tabs a { padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--soft); }.report-filter-tabs a.active { color: #fff; border-color: rgba(131,228,255,.4); background: rgba(75,141,255,.12); }.report-review-card { padding: 20px; }.report-review-card header p { margin: 5px 0 0; color: var(--muted); }.report-metrics { display: flex; gap: 8px; }.report-metrics b { padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; color: #dceaff; }.report-comment { color: var(--soft); line-height: 1.65; }.report-screenshots { display: grid; grid-template-columns: repeat(auto-fill,minmax(140px,1fr)); gap: 9px; margin-top: 14px; }.report-screenshots a { overflow: hidden; aspect-ratio: 16/10; border: 1px solid var(--line); border-radius: 10px; }.report-screenshots img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }.report-screenshots a:hover img { transform: scale(1.04); }.report-screenshots > span { color: var(--muted); }.report-review-form { display: grid; grid-template-columns: 1fr auto auto; gap: 9px; margin-top: 16px; }.report-review-form textarea { min-height: 44px; }.review-note { padding: 11px 13px; border-radius: 10px; color: var(--soft); background: rgba(255,255,255,.025); }

/* Thread permissions: restore the Node.js card interface and readable controls */
.permission-block-copy > span { font-size: .84rem; }.permission-block-copy h2 { font-size: 1.3rem; }.permission-block-copy p { font-size: .9rem; line-height: 1.55; }.policy-option span { min-height: 58px; font-size: .88rem; }.permission-role-picker > strong { font-size: .9rem; }.role-choice { min-height: 42px; font-size: .84rem; }.visibility-permission-block .visibility-fieldset { margin-top: 17px; padding: 16px; }.visibility-permission-block .visibility-fieldset legend { font-size: .82rem; }.visibility-permission-block .visibility-audiences label,.visibility-permission-block .visibility-roles label { min-height: 42px; padding: 9px 11px; font-size: .84rem; }.visibility-permission-block .visibility-fieldset > small,.visibility-permission-block .visibility-roles summary { font-size: .76rem; }

@media (max-width: 860px) { .report-layout { grid-template-columns: 1fr; }.report-submit { position: static; }.report-review-form { grid-template-columns: 1fr 1fr; }.report-review-form textarea { grid-column: 1 / -1; }.salary-norm-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .discipline-revoke-form,.report-review-form { grid-template-columns: 1fr; }.report-review-card > header,.report-server > header { flex-direction: column; }.report-metrics { flex-wrap: wrap; } }

.thread-layout { display: grid; gap: 0; padding: 0 0 65px; }.thread-layout > .post:first-child { border-radius: 18px 18px 0 0; }.thread-layout > .post + .post { border-top: 1px solid rgba(145,205,255,.09); }.thread-layout > .post:last-of-type { border-radius: 0 0 18px 18px; border-bottom: 1px solid var(--line); }.reply-form { margin-top: 18px; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,rgba(16,25,44,.92),rgba(9,15,29,.88)); }.reply-form h2 { margin-top: 0; }.moderation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 16px; }.moderation-actions h3 { width: 100%; margin: 0 0 5px; }.moderation-actions form { display: flex; gap: 7px; }.post-ranks .role-badge { font-size: .72rem; }

/* Lightweight staff dialog: avoid repainting and blurring the animated table behind it. */
.staff-profile-dialog::backdrop { background: rgba(2,6,13,.88) !important; backdrop-filter: none !important; }
.staff-profile-dialog { box-shadow: 0 22px 64px rgba(0,0,0,.58); }
.staff-profile-dialog > article { background: #0a1425; }
.staff-dialog-head { background: #0b1628; backdrop-filter: none !important; }
.staff-dialog-open .motion-item { transition: none !important; animation: none !important; }
.staff-dialog-open .staff-directory-row { transition: none !important; }

.role-table-toggle { display: flex !important; align-items: flex-start; gap: 10px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 11px; background: rgba(75,141,255,.045); cursor: pointer; }.role-table-toggle input { width: 18px; min-width: 18px; min-height: 18px; margin-top: 2px; accent-color: var(--blue); }.role-table-toggle span,.role-table-toggle b,.role-table-toggle small { display: block; }.role-table-toggle b { color: #dce9fb; font-size: .78rem; }.role-table-toggle small { margin-top: 3px; color: var(--muted); font-size: .68rem; line-height: 1.45; }.role-table-toggle-wide { max-width: 720px; }

/* Unified administration workspace: console, bans, reports and audit log */
.admin-workspace-page { padding-top: 38px; background: radial-gradient(circle at 85% 0,rgba(75,141,255,.08),transparent 28%); }
.admin-workspace-heading .breadcrumb { margin-bottom: 14px; }
.admin-workspace-heading .admin-hero { position: relative; overflow: hidden; margin-bottom: 4px; padding: 28px 30px; border: 1px solid var(--line); border-radius: 21px; background: radial-gradient(circle at 92% 0,rgba(117,216,255,.13),transparent 34%),linear-gradient(145deg,rgba(16,29,51,.98),rgba(8,15,29,.96)); box-shadow: 0 24px 65px rgba(0,0,0,.24); }
.admin-workspace-heading .admin-hero::after { position: absolute; right: -45px; bottom: -75px; width: 230px; height: 230px; border: 1px solid rgba(131,228,255,.08); border-radius: 50%; content: ''; }
.admin-workspace-heading .admin-hero h1 { margin: 8px 0 7px; font-size: clamp(2.15rem,4.5vw,3.7rem); }
.admin-workspace-heading .admin-hero p { margin: 0; max-width: 780px; }
.admin-workspace-heading .admin-hero > * { position: relative; z-index: 1; }
.admin-workspace-page > .admin-tabs { width: min(1780px,calc(100% - 36px)); margin: 14px auto 0; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: rgba(7,14,27,.72); }
.admin-workspace-page > .admin-tabs a { min-height: 42px; display: inline-flex; align-items: center; }
.admin-workspace-content { display: grid; gap: 18px; padding-top: 20px; }
.admin-tool-card,.admin-create-disclosure { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(145deg,rgba(16,27,47,.96),rgba(8,15,28,.95)); box-shadow: 0 18px 48px rgba(0,0,0,.2); }
.admin-tool-card-head { display: flex; align-items: center; gap: 13px; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.admin-tool-card-head > div { min-width: 0; flex: 1; }.admin-tool-card-head h2,.admin-tool-card-head p { margin: 0; }.admin-tool-card-head h2 { font-size: 1.05rem; }.admin-tool-card-head p { margin-top: 4px; color: var(--muted); font-size: .78rem; }
.admin-tool-icon { display: grid; width: 39px; height: 39px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(131,228,255,.18); border-radius: 11px; color: #9de9ff; background: rgba(75,141,255,.1); font-size: .92rem; font-weight: 900; }.admin-tool-icon.danger { color: #ff9aaa; border-color: rgba(255,113,140,.2); background: rgba(191,65,91,.09); }
.admin-record-count { padding: 6px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: .67rem; white-space: nowrap; }
.admin-table-card .logs-table-wrapper { overflow-x: auto; }.admin-table-card .admin-table { min-width: 890px; }.admin-table-card .admin-table th { padding: 12px 14px; font-size: .69rem; text-transform: uppercase; letter-spacing: .055em; }.admin-table-card .admin-table td { padding: 13px 14px; font-size: .8rem; vertical-align: middle; }.admin-table-card .admin-table tbody tr:last-child td { border-bottom: 0; }
.admin-date-cell { color: var(--muted); font-size: .71rem !important; white-space: nowrap; }.command-code { display: inline-block; max-width: 420px; padding: 6px 8px; border: 1px solid rgba(131,228,255,.12); border-radius: 8px; color: #a9eaff !important; background: rgba(2,8,16,.5); overflow-wrap: anywhere; }.command-result { max-width: 430px; color: #aebed3; overflow-wrap: anywhere; }
.console-command-form { display: grid; grid-template-columns: minmax(210px,.65fr) minmax(320px,2fr) auto; gap: 11px; align-items: end; padding: 18px 19px 20px; }.console-command-form label,.admin-ban-form label { display: grid; gap: 6px; color: var(--muted); font-size: .71rem; font-weight: 800; }.console-command-form input,.console-command-form select,.admin-ban-form input,.admin-ban-form select { min-height: 46px; }.console-command-form .btn { min-height: 46px; }
.queue-status,.scope-badge { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: #aabbd1; background: rgba(255,255,255,.025); font-size: .68rem; font-weight: 800; white-space: nowrap; }.queue-status i { width: 7px; height: 7px; border-radius: 50%; background: #8392a8; }.queue-status.completed { color: #72e2b8; border-color: rgba(89,216,171,.22); background: rgba(57,190,143,.055); }.queue-status.completed i { background: #55d6a3; }.queue-status.claimed { color: #8edcff; border-color: rgba(117,216,255,.22); }.queue-status.claimed i { background: #75d8ff; box-shadow: 0 0 8px rgba(117,216,255,.65); }.queue-status.queued { color: #ffd27f; border-color: rgba(255,197,95,.2); }.queue-status.queued i { background: #ffc55f; }.queue-status.failed { color: #ff91a4; border-color: rgba(255,113,140,.22); background: rgba(191,65,91,.055); }.queue-status.failed i { background: #ff718c; }
.admin-create-disclosure > summary { display: flex; align-items: center; gap: 13px; padding: 17px 19px; cursor: pointer; list-style: none; }.admin-create-disclosure > summary::-webkit-details-marker { display: none; }.admin-create-disclosure > summary > div { flex: 1; }.admin-create-disclosure > summary strong,.admin-create-disclosure > summary small { display: block; }.admin-create-disclosure > summary strong { color: #fff; }.admin-create-disclosure > summary small { margin-top: 3px; color: var(--muted); font-size: .71rem; }.admin-create-disclosure > summary > b { color: var(--blue-2); font-size: .68rem; }.admin-create-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.admin-ban-form { display: grid; grid-template-columns: 1.2fr 1fr 1.65fr 1.2fr auto; gap: 10px; align-items: end; padding: 18px 19px 20px; }.admin-ban-duration span{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-ban-duration span small{color:#69819c;font-size:.62rem;font-weight:700}.admin-ban-form > .btn { min-height: 46px; }.scope-badge.global { color: #ff9aaa; border-color: rgba(255,113,140,.2); }.scope-badge.server { color: #8edcff; border-color: rgba(117,216,255,.2); }.ban-reason-cell { min-width: 220px; max-width: 430px; }
.admin-filter-disclosure { margin: 0; border-radius: 16px; background: linear-gradient(145deg,rgba(16,27,47,.92),rgba(8,15,28,.92)); }.admin-filter-title { display: flex; align-items: center; gap: 11px; }.admin-filter-title > i { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 9px; color: var(--blue-2); font-style: normal; }.admin-filter-title span,.admin-filter-title strong,.admin-filter-title small { display: block; }.admin-filter-title small { margin-top: 2px; color: var(--muted); font-size: .67rem; font-weight: 600; }
.steamid-search-disclosure { margin: 0 0 18px; }
.steamid-search-disclosure > summary { padding: 14px 17px; }
.steamid-search-disclosure .admin-filter-title { min-width: 0; text-align: left; }
.steamid-search-disclosure .admin-filter-title > i { flex: 0 0 38px; width: 38px; height: 38px; border-color: rgba(117,216,255,.2); background: rgba(75,141,255,.08); font-size: 1rem; }
.steamid-search-disclosure .admin-filter-title strong { color: #eef7ff; font-size: .86rem; line-height: 1.25; }
.steamid-search-disclosure .admin-filter-title small { margin-top: 4px; font-size: .68rem; line-height: 1.35; }
.steamid-search-form { grid-template-columns: minmax(280px,620px) auto; justify-content: start; gap: 10px; padding: 17px !important; }
.steamid-search-form .directory-search { width: 100%; }
.steamid-search-form .directory-filter-actions { align-items: stretch; }
.steamid-search-form .btn { min-height: 46px; }
@media (max-width:680px){.steamid-search-disclosure>summary>b{display:none}.steamid-search-form{grid-template-columns:1fr}.steamid-search-form .directory-filter-actions,.steamid-search-form .btn{width:100%}}
.audit-table .action-badge { white-space: nowrap; }.log-person-link { display: grid; gap: 2px; color: #dceaff; font-weight: 850; text-decoration: none; }.log-person-link > span { color: #6f91bc; font-size: .59rem; font-weight: 700; }.log-person-link:hover { color: #8ee8ff; }.log-person-link.target { color: #9ddcff; }.console-actor { color: #aab9cc; font-weight: 800; }.log-details-cell { min-width: 190px; max-width: 440px; color: var(--soft); overflow-wrap: anywhere; }
.admin-status-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 16px 18px 18px; border-top: 1px solid var(--line); background: rgba(7,14,27,.38); }.admin-status-tabs a { min-height: 39px; display: inline-flex; align-items: center; padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; color: var(--soft); background: rgba(255,255,255,.02); }.admin-status-tabs a.active { color: #07101f; border-color: #84ddff; background: linear-gradient(135deg,#8de8ff,#6897ff); }.admin-status-filter { overflow: hidden; margin: 0; }.admin-status-filter > summary { padding: 16px 18px; }.report-person-link { color: #f1f7ff; text-decoration: none; }.report-person-link:hover { color: #8ee8ff; }.admin-workspace-content .report-review-card { padding: 20px; }.admin-workspace-content .report-metrics b { display: grid; min-width: 92px; gap: 2px; text-align: center; }.admin-workspace-content .report-metrics b span { color: var(--muted); font-size: .57rem; text-transform: uppercase; letter-spacing:.07em; }
@media (max-width: 1060px) { .admin-ban-form { grid-template-columns: repeat(2,minmax(0,1fr)); }.admin-ban-reason { grid-column: 1 / -1; }.console-command-form { grid-template-columns: 1fr 2fr; }.console-command-form .btn { grid-column: 1 / -1; } }
@media (max-width: 680px) { .admin-workspace-heading .admin-hero { align-items: flex-start; flex-direction: column; padding: 22px; }.admin-workspace-heading .admin-hero .page-actions,.admin-workspace-heading .admin-hero .btn { width: 100%; }.admin-workspace-page > .admin-tabs { width: min(100% - 24px,1780px); }.admin-workspace-content { width: min(100% - 24px,1780px); }.console-command-form,.admin-ban-form { grid-template-columns: 1fr; }.admin-ban-reason,.console-command-form .btn { grid-column: auto; }.admin-tool-card-head { align-items: flex-start; }.admin-record-count { display: none; }.admin-create-disclosure > summary > b { display: none; } }

.user-menu-popover .user-menu-logout { padding: 5px 0 0; }.user-menu-popover .user-menu-logout button { width: 100%; padding: 10px 11px; border: 0; border-radius: 9px; color: #ff9caf; background: transparent; text-align: left; cursor: pointer; font: inherit; font-size: .86rem; font-weight: 800; }.user-menu-popover .user-menu-logout button:hover { background: rgba(191,65,91,.09); }
.admin-workspace-content .admin-table-card,.admin-workspace-content .report-review-card,.admin-workspace-content .admin-create-disclosure,.admin-workspace-content .admin-filter-disclosure { border-color: rgba(141,205,255,.14); background: linear-gradient(145deg,rgba(15,27,48,.98),rgba(8,15,28,.98)); }.admin-workspace-content .admin-table td { font-size: .86rem; }.admin-workspace-content .admin-table th { font-size: .72rem; }.admin-workspace-content .report-review-list { gap: 18px; }

/* Motion and interactive feedback */
@keyframes bp-disclosure-in { from { opacity: 0; transform: translateY(-7px) scale(.995); } to { opacity: 1; transform: none; } }
@keyframes bp-home-grid-drift { from { background-position: 0 0,0 0; } to { background-position: 72px 36px,36px 72px; } }
@keyframes bp-home-glow-drift { 0%,100% { transform: translate3d(0,0,0) scale(1); opacity: .8; } 50% { transform: translate3d(20px,-16px,0) scale(1.07); opacity: 1; } }
@keyframes bp-home-dashboard-in { from { opacity: 0; transform: perspective(1200px) rotateY(-3deg) translateY(26px) scale(.97); } to { opacity: 1; transform: perspective(1200px) rotateY(-3deg); } }
@keyframes bp-home-logo-float { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-5px) rotate(-1.5deg); } }
@keyframes bp-home-row-in { from { opacity: 0; transform: translateX(15px); } to { opacity: 1; transform: none; } }
@keyframes bp-home-progress-in { from { transform: scaleX(0); } to { transform: scaleX(1); } }

details > summary { transition: color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
details > summary:hover { background-color: rgba(75,141,255,.055); }
details[open] > summary ~ * { animation: bp-disclosure-in .24s cubic-bezier(.22,1,.36,1) both; }
select { cursor: pointer; }
select:hover { border-color: rgba(131,228,255,.42); background-color: #0c172a; }
select:focus { border-color: rgba(131,228,255,.72); box-shadow: 0 0 0 3px rgba(75,141,255,.12),0 10px 26px rgba(0,0,0,.16); transform: translateY(-1px); }
select optgroup { color: #82dfff; background: #0a1425; font-weight: 900; }
select option { color: #e7f2ff; background: #0b1527; font-weight: 600; }
button:not(:disabled):active { transform: translateY(1px) scale(.97); }
.staff-profile-reference small,.directory-filter label > small { color: #6f86a5; font-size: .58rem; line-height: 1.4; }
.hierarchy-role-select { min-width: 220px; }

.landing-hero::before { animation: bp-home-grid-drift 24s linear infinite; }
.landing-glow.one { animation: bp-home-glow-drift 9s ease-in-out infinite; }
.landing-glow.two { animation: bp-home-glow-drift 11s ease-in-out -4s infinite reverse; }
.landing-copy > * { animation: bp-rise .7s cubic-bezier(.22,1,.36,1) both; }
.landing-copy > :nth-child(2) { animation-delay: .07s; }
.landing-copy > :nth-child(3) { animation-delay: .14s; }
.landing-copy > :nth-child(4) { animation-delay: .21s; }
.landing-copy > :nth-child(5) { animation-delay: .28s; }
.landing-dashboard { animation: bp-home-dashboard-in .85s .18s cubic-bezier(.22,1,.36,1) both; }
.dashboard-logo img { animation: bp-home-logo-float 5s 1s ease-in-out infinite; }
.dashboard-server { animation: bp-home-row-in .48s both; }
.dashboard-server:nth-child(1) { animation-delay: .34s; }.dashboard-server:nth-child(2) { animation-delay: .42s; }.dashboard-server:nth-child(3) { animation-delay: .5s; }
.dashboard-server-main > div i { transform-origin: left; animation: bp-home-progress-in .8s .62s cubic-bezier(.22,1,.36,1) both; }
.landing-live-label i,.network-strip-note i,.dashboard-server.online .dashboard-status i { animation: bp-status-pulse 1.8s ease-out infinite; }
.community-thread-list > a { transition: padding .22s ease,background .22s ease,transform .22s ease,border-color .22s ease; }
.community-thread-list > a:hover { transform: translateX(4px); border-color: rgba(131,228,255,.28); }

@media (max-width: 760px) { .landing-dashboard { animation-name: bp-rise; }.hierarchy-role-select { min-width: 0; } }

/* Smoother site motion */
@keyframes bp-page-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes bp-dialog-enter { from { opacity: 0; transform: translateY(16px) scale(.975); } to { opacity: 1; transform: none; } }
.main-content > section,.bp-live-page > section,.bp-live-page > article { animation: bp-page-enter .58s cubic-bezier(.16,1,.3,1) both; }
.bp-live-page { display: contents; }
.live-fragment-static,.live-fragment-static > * { animation:none!important; }
.bp-live-page.live-fragment-static > section,.bp-live-page.live-fragment-static > article { animation:none!important; }
.live-fragment-static details[open] > summary ~ *,.live-fragment-static .role-editor-panel.active,.live-fragment-static .salary-rate-panel.active { animation:none!important; }
.live-fragment-static .motion-item { opacity:1!important;translate:0 0!important;transform:none!important;transition:none!important; }

/* Server statistics page */
.stats-page .admin-workspace-content{display:grid;gap:22px;padding:26px 0 64px}.stats-server-tabs{margin-bottom:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border:1px solid rgba(91,164,218,.16);border-radius:14px;background:linear-gradient(145deg,rgba(11,26,46,.94),rgba(16,38,66,.76))}.stat-card-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;font-size:22px;flex-shrink:0}.stat-card-online .stat-card-icon{background:rgba(83,223,168,.15);color:#53dfa8}.stat-card-servers .stat-card-icon{background:rgba(40,156,255,.15);color:#289cff}.stat-card-peak .stat-card-icon{background:rgba(255,200,40,.15);color:#ffc828}.stat-card-alltime .stat-card-icon{background:rgba(255,120,200,.15);color:#ff78c8}.stat-card-new .stat-card-icon{background:rgba(117,216,255,.15);color:#75d8ff}.stat-label{display:block;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.stat-value{display:flex;align-items:baseline;gap:6px;font-size:1.8rem;font-weight:800;line-height:1}.stat-value small{font-size:.72rem;font-weight:600;color:var(--muted)}.stat-sub{display:block;margin-top:5px;font-size:.74rem;color:var(--muted)}.stats-chart-card{padding:0}.stats-chart-card .admin-tool-card-head{padding:18px 22px;border-bottom:1px solid rgba(91,164,218,.12)}.stats-chart-card .admin-tool-card-head h2{margin:0 0 3px}.stats-chart-card .admin-tool-card-head p{margin:0;color:var(--muted);font-size:.85rem}.stats-period-nav{display:flex;gap:6px}.stats-period-nav a{padding:7px 14px;border:1px solid rgba(91,164,218,.16);border-radius:8px;color:var(--muted);font-size:.82rem;font-weight:700;text-decoration:none;transition:.2s ease}.stats-period-nav a:hover,.stats-period-nav a.active{border-color:rgba(91,199,255,.4);background:rgba(34,125,190,.12);color:#f2f8ff}.stats-chart-wrap{position:relative;padding:6px 6px 0;overflow-x:auto}.stats-chart{width:100%;display:block;overflow:visible;max-height:280px}.chart-grid{stroke:rgba(100,176,229,.08);stroke-width:1}.chart-line{fill:none;stroke:#75d8ff;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 8px rgba(117,216,255,.28))}.chart-dot{fill:#75d8ff;filter:drop-shadow(0 0 6px rgba(117,216,255,.5))}.chart-label-y{fill:#4d6a82;font-size:9px;text-anchor:end;font-family:Consolas,monospace}.chart-label-x{fill:#4d6a82;font-size:9px;text-anchor:middle;font-family:Consolas,monospace}.stats-chart-empty{display:grid;place-items:center;gap:10px;padding:60px 20px;color:var(--muted);text-align:center;font-size:.9rem}.stats-chart-empty span{font-size:3rem;opacity:.3}@media(max-width:660px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{flex-direction:column;text-align:center;padding:16px}}
.btn { transition: transform .34s cubic-bezier(.16,1,.3,1),box-shadow .34s ease,border-color .34s ease,background .34s ease,filter .34s ease; }
.btn:hover { transform: translateY(-3px) scale(1.015); }
.btn:active { transform: translateY(0) scale(.965); transition-duration: .12s; }
input,textarea,select { transition: color .32s ease,border-color .32s ease,background-color .32s ease,box-shadow .32s ease,transform .32s cubic-bezier(.16,1,.3,1); }
summary,.tabs a,.nav-menu a,.admin-side-nav a,.staff-server-tabs a { transition-duration: .32s !important; transition-timing-function: cubic-bezier(.16,1,.3,1) !important; }
dialog[open] > article,dialog[open] > form { animation: bp-dialog-enter .36s cubic-bezier(.16,1,.3,1) both; }
.panel,.admin-tool-card,.user-card,.server-row,.staff-directory-row,.notification-card { transition: transform .38s cubic-bezier(.16,1,.3,1),border-color .32s ease,background .32s ease,box-shadow .38s ease,opacity .32s ease; }
.user-card:hover,.server-row:hover,.notification-card:hover { transform: translateY(-4px); box-shadow: 0 22px 48px rgba(0,0,0,.25); }
.hierarchy-role-select + small { display: none; }
.profile-upload-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.profile-upload-grid label { display: grid; gap: 7px; }
.profile-upload-grid small { color: var(--muted); font-size: .67rem; }
.profile-upload-grid input[type=file] { min-height: 48px; padding: 9px; cursor: pointer; }
.profile-image-remove { display: flex; flex-wrap: wrap; gap: 10px; }
.profile-image-remove label { display: flex !important; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(255,113,140,.18); border-radius: 10px; color: #ff9caf; background: rgba(191,65,91,.055); cursor: pointer; }
.profile-image-remove input { width: auto; min-height: 0; accent-color: #ff718c; }
@media (max-width: 680px) { .profile-upload-grid { grid-template-columns: 1fr; } }

/* Live players in the control panel */
.live-players-table-wrap .live-players-table{min-width:820px}
.live-players-page{display:grid;gap:18px;padding:26px 0 64px}.live-server-tabs{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 8px;scrollbar-width:thin}.live-server-tabs a{display:flex;align-items:center;gap:9px;min-width:max-content;padding:11px 14px;border:1px solid rgba(91,164,218,.16);border-radius:12px;background:rgba(7,18,33,.76);color:var(--muted);text-decoration:none;transition:.25s ease}.live-server-tabs a:hover,.live-server-tabs a.active{border-color:rgba(91,199,255,.4);background:rgba(34,125,190,.12);color:#f2f8ff;transform:translateY(-2px)}.live-server-tabs i{width:8px;height:8px;border-radius:50%;background:#546679}.live-server-tabs i.online{background:#53dfa8;box-shadow:0 0 12px rgba(83,223,168,.7)}.live-server-tabs b{display:grid;place-items:center;min-width:24px;height:24px;margin-left:4px;border-radius:8px;background:rgba(104,184,239,.1);font-size:11px}.live-players-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px;background:linear-gradient(135deg,rgba(10,31,51,.95),rgba(7,16,30,.95))}.live-players-summary h2,.live-players-summary p{margin:0}.live-players-summary h2{margin-top:6px}.live-players-summary p{margin-top:5px;color:var(--muted)}.live-players-summary>strong{display:grid;min-width:100px;text-align:right;color:#70d8ff;font-size:32px}.live-players-summary>strong small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}.live-players-table-wrap{position:relative;overflow-x:auto;padding:0}.live-players-table{width:100%;min-width:760px;border-collapse:collapse}.live-players-table th{padding:13px 18px;border-bottom:1px solid rgba(100,176,229,.15);color:#6f91ad;font-size:10px;text-align:left;text-transform:uppercase;letter-spacing:.08em}.live-players-table td{padding:15px 18px;border-bottom:1px solid rgba(100,176,229,.08);color:#dcecf7;font-size:13px}.live-players-table tr:last-child td{border-bottom:0}.live-players-table tbody tr{transition:background .22s ease}.live-players-table tbody tr:hover{background:rgba(61,154,218,.055)}.live-player-name{display:flex;align-items:center;gap:10px}.live-player-name i{width:9px;height:9px;border-radius:50%;background:#53dfa8;box-shadow:0 0 10px rgba(83,223,168,.5)}.live-player-ping{color:#8dddbd}.live-players-empty{padding:50px 24px;text-align:center;color:var(--muted)}.live-players-updated{margin:0;color:#607e96;font-size:11px;text-align:right}.live-player-row-in{animation:chatMessageIn .25s ease both}@media(max-width:700px){.live-players-page{padding-top:18px}.live-players-summary{align-items:flex-start}.live-players-summary>strong{min-width:auto;font-size:25px}.live-players-table th,.live-players-table td{padding-inline:13px}}
/* Server statistics v2 — real monitoring, no generated values. */
.stats-page{--stats-line:rgba(116,190,236,.16);--stats-surface:linear-gradient(145deg,rgba(13,27,47,.97),rgba(6,14,27,.98));background:radial-gradient(circle at 80% 10%,rgba(52,157,222,.08),transparent 30%)}
.stats-page .admin-workspace-content{display:grid;gap:18px;padding:24px 0 72px}.stats-server-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px}.stats-server-tabs>a{position:relative;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:70px;padding:13px 15px;border:1px solid var(--stats-line);border-radius:15px;background:rgba(7,17,31,.84);color:#718ca5;text-decoration:none;overflow:hidden;transition:border-color .25s ease,background .25s ease,transform .25s ease}.stats-server-tabs>a:before{position:absolute;inset:auto 20% -1px;content:'';height:2px;background:#6ed8ff;opacity:0;box-shadow:0 0 15px #6ed8ff}.stats-server-tabs>a:hover,.stats-server-tabs>a.active{border-color:rgba(110,216,255,.42);background:linear-gradient(145deg,rgba(17,42,67,.94),rgba(8,21,38,.96));color:#eff9ff;transform:translateY(-2px)}.stats-server-tabs>a.active:before{opacity:1}.stats-server-tabs i{width:8px;height:8px;border-radius:50%;background:#536575}.stats-server-tabs i.online,.stats-server-tabs i.status.online{background:#51e2a8;box-shadow:0 0 12px rgba(81,226,168,.7)}.stats-server-tabs span{display:grid;min-width:0;gap:3px}.stats-server-tabs span b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.stats-server-tabs span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#638099;font-size:.65rem}.stats-server-tabs>a>strong{font-size:1.35rem;color:#edf9ff}
.stats-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stats-metric{position:relative;display:flex;align-items:flex-start;gap:15px;min-height:144px;padding:20px;border:1px solid var(--stats-line);border-radius:18px;background:var(--stats-surface);overflow:hidden;box-shadow:0 16px 35px rgba(0,0,0,.16)}.stats-metric:after{position:absolute;right:-35px;bottom:-55px;width:120px;height:120px;border:1px solid rgba(110,216,255,.07);border-radius:50%;content:''}.stats-metric-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid rgba(110,216,255,.18);border-radius:13px;background:rgba(74,166,226,.09);color:#72dfff;font-size:1rem}.stats-metric-live .stats-metric-icon{border-color:rgba(81,226,168,.19);background:rgba(81,226,168,.09);color:#51e2a8}.stats-metric-new .stats-metric-icon{border-color:rgba(161,112,255,.2);background:rgba(161,112,255,.09);color:#b68bff}.stats-metric>div{display:grid;gap:7px;min-width:0}.stats-metric small{color:#718ba2;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.stats-metric strong{display:flex;align-items:baseline;gap:6px;color:#f3fbff;font-size:2rem;line-height:1}.stats-metric strong em{color:#59748c;font-size:.85rem;font-style:normal}.stats-metric p{margin:0;color:#668096;font-size:.69rem;line-height:1.45}
.stats-chart-card{padding:0;background:var(--stats-surface)}.stats-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px 18px;border-bottom:1px solid var(--stats-line)}.stats-chart-head h2{margin:5px 0 4px;font-size:1.22rem}.stats-chart-head p{max-width:670px;margin:0;color:#6f879b;font-size:.74rem;line-height:1.5}.stats-period-nav{display:flex;gap:5px;padding:4px;border:1px solid rgba(112,190,241,.13);border-radius:12px;background:rgba(3,10,20,.48)}.stats-period-nav a{padding:8px 14px;border:0!important;border-radius:9px;color:#718ba2;text-decoration:none;font-size:.72rem;font-weight:800}.stats-period-nav a:hover,.stats-period-nav a.active{background:rgba(78,172,233,.15);color:#eafbff;box-shadow:inset 0 0 0 1px rgba(110,216,255,.19)}.stats-chart-summary{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(112,190,241,.1)}.stats-chart-summary>div{display:grid;gap:5px;padding:14px 22px;border-right:1px solid rgba(112,190,241,.1)}.stats-chart-summary>div:last-child{border-right:0}.stats-chart-summary span{color:#627e96;font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.stats-chart-summary strong{color:#dcefff;font-size:.86rem}.stats-chart-wrap{min-height:330px;padding:10px 12px 0;overflow-x:auto}.stats-chart{display:block;width:100%;min-width:700px;max-height:340px}.chart-grid{stroke:rgba(123,188,230,.1);stroke-width:1}.chart-area{fill:url(#statistics-area)}.chart-line{fill:none;stroke:#6ed8ff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:url(#statistics-glow)}.chart-dot{fill:#081528;stroke:#78e0ff;stroke-width:2;transition:r .2s ease}.chart-dot:hover{r:6}.chart-label-y,.chart-label-x{fill:#58748b;font-family:Manrope,Arial,sans-serif;font-size:10px}.chart-label-y{text-anchor:end}.chart-label-x{text-anchor:middle}.stats-chart-empty{min-height:310px;display:grid;align-content:center;justify-items:center;gap:8px;padding:35px;text-align:center}.stats-chart-empty span{color:#6ed8ff;font-size:2.8rem;opacity:.5}.stats-chart-empty strong{color:#e6f6ff}.stats-chart-empty p{max-width:530px;margin:0;color:#6d869b;font-size:.76rem;line-height:1.55}
.stats-detail-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:14px}.stats-new-card,.stats-health-card{padding:22px 24px;background:var(--stats-surface)}.stats-new-card header h2,.stats-health-card header h2{margin:5px 0}.stats-new-card header p,.stats-health-card>p{margin:0;color:#70889c;font-size:.75rem;line-height:1.5}.stats-new-card>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:20px}.stats-new-card>div>span{display:grid;gap:5px;padding:14px;border:1px solid rgba(109,189,239,.12);border-radius:12px;background:rgba(4,13,25,.44)}.stats-new-card b{font-size:1.25rem}.stats-new-card small{color:#627e95;font-size:.64rem}.stats-health-card footer{display:flex;align-items:center;gap:9px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(112,190,241,.1);color:#668299;font-size:.68rem}.stats-health-card footer i{width:8px;height:8px;border-radius:50%;background:#d9a944}.stats-health-card footer i.ok{background:#51e2a8;box-shadow:0 0 10px rgba(81,226,168,.55)}
.stats-server-list{padding:0;background:var(--stats-surface)}.stats-server-list>header{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--stats-line)}.stats-server-list>header h2{margin:5px 0 0;font-size:1.05rem}.stats-server-list>header>span{color:#6d879c;font-size:.7rem}.stats-server-table{overflow-x:auto}.stats-server-table table{width:100%;min-width:820px;border-collapse:collapse}.stats-server-table th,.stats-server-table td{padding:15px 20px;border-bottom:1px solid rgba(112,190,241,.085);text-align:left}.stats-server-table tr:last-child td{border-bottom:0}.stats-server-table th{color:#5f7b92;font-size:.63rem;text-transform:uppercase;letter-spacing:.07em}.stats-server-table td{color:#cfe3f1;font-size:.78rem}.stats-server-table td:first-child a{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.stats-server-table td:first-child i{width:8px;height:8px;border-radius:50%;background:#596b7c}.stats-server-table td:first-child i.online{background:#51e2a8;box-shadow:0 0 10px rgba(81,226,168,.55)}.stats-server-table td:first-child span{display:grid;gap:2px}.stats-server-table td:first-child small,.stats-server-table td:nth-child(2)>small{color:#5f7b91;font-size:.63rem}.stats-state{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(120,139,157,.1);color:#8192a2;font-size:.63rem;font-weight:800}.stats-state.online{background:rgba(81,226,168,.1);color:#67deb0}
@media(max-width:1050px){.stats-overview-grid{grid-template-columns:repeat(2,1fr)}.stats-detail-layout{grid-template-columns:1fr}.stats-server-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.stats-page .admin-workspace-content{padding-top:17px}.stats-server-tabs{display:flex;overflow-x:auto;padding-bottom:5px}.stats-server-tabs>a{flex:0 0 210px}.stats-overview-grid{grid-template-columns:1fr 1fr;gap:9px}.stats-metric{min-height:130px;padding:15px;gap:10px}.stats-metric-icon{flex-basis:34px;height:34px}.stats-metric strong{font-size:1.55rem}.stats-chart-head{display:grid;padding:18px}.stats-period-nav{width:100%}.stats-period-nav a{flex:1;text-align:center}.stats-chart-summary{grid-template-columns:1fr 1fr}.stats-chart-summary>div:nth-child(2){border-right:0}.stats-chart-summary>div:nth-child(-n+2){border-bottom:1px solid rgba(112,190,241,.1)}.stats-chart-wrap{margin-inline:-3px;padding-inline:0}.stats-new-card>div{grid-template-columns:1fr 1fr}}

.chart-point{outline:none;cursor:crosshair}
.chart-dot-hit{fill:transparent;pointer-events:all}
.chart-tooltip{opacity:0;pointer-events:none;transform-box:fill-box;transition:opacity .14s ease}
.chart-point:hover .chart-tooltip,.chart-point:focus .chart-tooltip{opacity:1}
.chart-tooltip rect{fill:#071522;stroke:rgba(117,216,255,.38);stroke-width:1;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.chart-tooltip text{font-family:Manrope,Arial,sans-serif;text-anchor:start}
.chart-tooltip-time{fill:#7894aa;font-size:10px;font-weight:700}
.chart-tooltip-value{fill:#effaff;font-size:12px;font-weight:900}
@media(max-width:430px){.stats-overview-grid{grid-template-columns:1fr}.stats-metric{min-height:116px}.stats-new-card,.stats-health-card{padding:18px}}

/* Secure player Screengrab gallery. */
.live-player-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.live-player-actions form{margin:0}.btn-screengrab{border:1px solid rgba(107,221,255,.34);background:linear-gradient(135deg,rgba(24,138,190,.22),rgba(77,87,220,.2));color:#bceeff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.btn-screengrab:hover{border-color:rgba(111,224,255,.65);background:linear-gradient(135deg,rgba(27,158,215,.36),rgba(92,100,238,.3));box-shadow:0 8px 22px rgba(36,155,216,.18)}.btn-screengrab span{font-size:12px}.screengrab-panel{overflow:hidden;padding:0;background:linear-gradient(145deg,rgba(7,20,37,.96),rgba(7,13,27,.98))}.screengrab-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid rgba(103,190,239,.13)}.screengrab-panel h2,.screengrab-panel p{margin:0}.screengrab-panel h2{margin-top:4px;font-size:22px}.screengrab-panel p{margin-top:4px;color:var(--muted);font-size:12px}.screengrab-secure{padding:8px 11px;border:1px solid rgba(83,219,171,.2);border-radius:10px;background:rgba(34,125,96,.1);color:#84ddbd;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.screengrab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.screengrab-card{min-width:0;overflow:hidden;border:1px solid rgba(101,176,225,.14);border-radius:15px;background:rgba(4,13,25,.75);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}.screengrab-card:hover{transform:translateY(-2px);border-color:rgba(105,202,255,.32);box-shadow:0 15px 32px rgba(0,0,0,.18)}.screengrab-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#020711}.screengrab-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.screengrab-card:hover .screengrab-image img{transform:scale(1.025)}.screengrab-placeholder{display:grid;place-items:center;align-content:center;gap:7px;aspect-ratio:16/9;padding:20px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(55,151,207,.14),transparent 58%),rgba(4,12,23,.8)}.screengrab-placeholder i{width:28px;height:28px;border:2px solid rgba(102,207,255,.18);border-top-color:#67d3ff;border-radius:50%;animation:screengrabSpin 1s linear infinite}.status-failed .screengrab-placeholder i{border:0;background:rgba(255,93,117,.13);animation:none}.status-failed .screengrab-placeholder i:after{content:'×';display:grid;place-items:center;height:100%;color:#ff879a;font-style:normal;font-size:21px}.screengrab-placeholder strong{font-size:12px}.screengrab-placeholder span{max-width:250px;color:#708ca3;font-size:10px}.screengrab-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:13px 14px}.screengrab-meta>div{display:grid;min-width:0}.screengrab-meta strong{overflow:hidden;color:#e9f6ff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.screengrab-meta code{overflow:hidden;color:#718da5;font-size:9px;text-overflow:ellipsis}.screengrab-meta>span{color:#7792a8;font-size:9px}.screengrab-meta>small{grid-column:1/-1;color:#57758d;font-size:9px}@keyframes screengrabSpin{to{transform:rotate(360deg)}}@media(max-width:980px){.screengrab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.screengrab-panel>header{align-items:flex-start;flex-direction:column}.screengrab-grid{grid-template-columns:1fr;padding:12px}.screengrab-secure{display:none}.live-player-actions{min-width:150px}}

.roles-v2-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:18px;align-items:start}.roles-v2-sidebar{display:grid;gap:12px;position:sticky;top:18px}.roles-v2-sidebar>details,.department-mini-card,.role-v2-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(15,27,48,.98),rgba(8,15,28,.98));box-shadow:0 18px 48px rgba(0,0,0,.18)}.roles-v2-sidebar>details>summary{padding:15px 17px;color:#eef7ff;font-weight:850;cursor:pointer}.roles-v2-form{display:grid;gap:11px;padding:0 16px 17px}.roles-v2-form label,.role-v2-editor label{display:grid;gap:6px;color:var(--muted);font-size:.73rem;font-weight:800}.roles-v2-form input,.roles-v2-form select,.role-v2-editor input,.role-v2-editor select{min-height:43px}.roles-v2-form small{font-size:.65rem;line-height:1.45}.department-mini-card{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px}.department-mini-card small{grid-column:1/-1;color:var(--muted)}.department-mini-card input{min-width:0}.roles-v2-main{display:grid;gap:14px}.role-v2-card{padding:18px}.role-v2-card>header{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}.role-v2-card>header i{width:13px;height:42px;border-radius:999px;background:var(--role-color);box-shadow:0 0 18px color-mix(in srgb,var(--role-color) 55%,transparent)}.role-v2-card>header div{min-width:0;flex:1}.role-v2-card>header h2,.role-v2-card>header p{margin:0}.role-v2-card>header h2{font-size:1.12rem}.role-v2-card>header p{margin-top:3px;color:var(--muted);font-size:.72rem}.role-v2-card>header>b{color:#7894ba;font-size:.72rem}.role-v2-editor{display:grid;gap:17px;padding-top:17px}.role-v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.department-role-note{align-self:end;margin:0;padding:11px;border:1px solid rgba(117,216,255,.16);border-radius:10px;color:#9bdff6;background:rgba(75,141,255,.06);font-size:.7rem;line-height:1.5}.check-row{display:flex!important;align-items:center;gap:9px}.check-row input{width:17px!important;min-width:17px!important;min-height:17px!important;accent-color:#75d8ff}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-groups fieldset{display:grid;align-content:start;gap:8px;margin:0;padding:13px;border:1px solid var(--line);border-radius:12px}.permission-groups legend{padding:0 6px;color:#a9c5e8;font-size:.72rem;font-weight:900}.role-v2-editor>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid var(--line);color:var(--muted);font-size:.7rem}
.staff-tier-heading td{padding:12px 16px!important;border-top:1px solid rgba(131,228,255,.18)!important;border-bottom:1px solid rgba(131,228,255,.12)!important;background:linear-gradient(90deg,rgba(75,141,255,.13),rgba(75,141,255,.025))!important}.staff-tier-heading span{display:inline-flex;align-items:center;gap:8px;color:#bfeaff;font-size:.76rem;font-weight:950;text-transform:uppercase;letter-spacing:.075em}.staff-tier-heading span:before{width:8px;height:8px;border-radius:50%;background:#75d8ff;box-shadow:0 0 10px rgba(117,216,255,.72);content:''}.staff-tier-heading.tier-highest td{background:linear-gradient(90deg,rgba(173,111,255,.16),rgba(75,141,255,.025))!important}.staff-tier-heading.tier-highest span:before{background:#c69aff}.staff-tier-heading.tier-curator span:before{background:#ffca72}.staff-tier-heading.tier-senior span:before{background:#79e7b8}.staff-tier-heading.tier-none span{color:#8398b5}.staff-tier-heading.tier-none span:before{background:#66758a;box-shadow:none}.staff-department-fieldset{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:5px 0;padding:13px;border:1px solid rgba(117,216,255,.16);border-radius:12px;background:rgba(75,141,255,.045)}.staff-department-fieldset legend{padding:0 7px;color:#bceaff;font-size:.75rem;font-weight:900}.staff-department-group{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(4,10,20,.34)}.staff-department-group>strong{color:#e4f3ff;font-size:.72rem}.staff-department-group .check-row{color:#aebfd5;font-size:.7rem}
@media(max-width:1050px){.roles-v2-layout{grid-template-columns:1fr}.roles-v2-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.department-mini-card{display:none}.role-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.roles-v2-sidebar,.role-v2-grid,.permission-groups,.staff-department-fieldset{grid-template-columns:1fr}.role-v2-card{padding:14px}.role-v2-editor>footer{align-items:stretch;flex-direction:column}.role-v2-editor>footer .btn{width:100%}}
.role-index nav{display:grid;gap:4px;max-height:48vh;padding:0 12px 14px;overflow:auto}.role-index nav>strong{margin-top:9px;padding:6px 7px 3px;color:#dcecff;font-size:.73rem}.role-index nav>small{padding:7px 7px 2px;color:#718cac;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.role-index nav>a{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;color:#aebfd4;text-decoration:none;font-size:.72rem;font-weight:750}.role-index nav>a:hover{color:#e9f8ff;background:rgba(75,141,255,.09)}.role-index nav>a i{width:8px;height:8px;border-radius:50%;background:var(--role-color)}
.main-content:has(>.admin-side-nav){min-height:100vh;padding-left:270px}.admin-side-nav{position:fixed;z-index:35;top:72px;bottom:0;left:0;width:250px;padding:16px 13px;border-right:1px solid rgba(137,201,255,.14);background:linear-gradient(180deg,rgba(9,18,34,.99),rgba(5,11,22,.99));box-shadow:18px 0 50px rgba(0,0,0,.18);overflow-y:auto}.admin-side-brand{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:11px;border:1px solid rgba(117,216,255,.12);border-radius:13px;color:#fff;text-decoration:none;background:rgba(75,141,255,.055)}.admin-side-brand img{width:34px;height:34px;object-fit:contain}.admin-side-brand span,.admin-side-brand b,.admin-side-brand small{display:block}.admin-side-brand b{font-size:.82rem}.admin-side-brand small{margin-top:2px;color:#738bab;font-size:.61rem}.admin-side-nav nav{display:grid;gap:5px}.admin-side-nav nav>a{display:flex;align-items:center;gap:10px;min-height:45px;padding:8px 11px;border:1px solid transparent;border-radius:11px;color:#91a7c3;text-decoration:none;font-size:.78rem;font-weight:800;transition:.18s ease}.admin-side-nav nav>a i{display:grid;width:29px;height:29px;place-items:center;border-radius:8px;color:#7596bd;background:rgba(255,255,255,.025);font-style:normal}.admin-side-nav nav>a:hover{color:#dff5ff;border-color:rgba(117,216,255,.11);background:rgba(75,141,255,.06);transform:translateX(2px)}.admin-side-nav nav>a.active{color:#07111f;border-color:#8ae3ff;background:linear-gradient(135deg,#91eaff,#7098ff);box-shadow:0 10px 24px rgba(73,136,240,.2)}.admin-side-nav nav>a.active i{color:#07111f;background:rgba(255,255,255,.25)}.admin-workspace-page>.admin-tabs{display:none!important}.notification-fab{position:fixed;z-index:70;right:22px;bottom:22px;display:grid;width:49px;height:49px;place-items:center;border:1px solid rgba(131,228,255,.2);border-radius:15px;color:#dff7ff;background:linear-gradient(145deg,#142744,#0a1527);box-shadow:0 15px 36px rgba(0,0,0,.38);text-decoration:none}.notification-fab span{font-size:1.45rem;transform:rotate(45deg)}.notification-fab b{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 5px;border:2px solid #091222;border-radius:999px;color:#fff;background:#ff597b;font-size:.63rem;line-height:18px;text-align:center}.notification-fab.has-unread{border-color:#7fdfff;box-shadow:0 0 0 5px rgba(117,216,255,.06),0 15px 36px rgba(0,0,0,.38)}.notification-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.notification-page-head h1,.notification-page-head p{margin:0}.notification-page-head h1{margin:6px 0;font-size:2.2rem}.notification-page-head p{color:var(--muted)}.notification-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 17px;border:1px solid var(--line);border-radius:14px;color:#cbd9eb;background:linear-gradient(145deg,rgba(14,25,44,.96),rgba(7,14,26,.96));text-decoration:none}.notification-card.unread{border-color:rgba(117,216,255,.28);background:linear-gradient(145deg,rgba(20,40,68,.98),rgba(8,18,34,.98))}.notification-type-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:#9fe9ff;background:rgba(75,141,255,.1);font-weight:950}.notification-card strong,.notification-card p,.notification-card small{display:block;margin:0}.notification-card p{margin:4px 0;color:#9fb1c8;font-size:.78rem}.notification-card small{color:#647b9b;font-size:.65rem}.notification-card>i{width:8px;height:8px;border-radius:50%;background:#75d8ff;box-shadow:0 0 10px #75d8ff}
@media(max-width:900px){.main-content:has(>.admin-side-nav){padding-left:0;padding-bottom:76px}.admin-side-nav{top:auto;right:0;bottom:0;width:auto;height:68px;padding:8px;border-top:1px solid rgba(137,201,255,.16);border-right:0;overflow-x:auto;overflow-y:hidden}.admin-side-brand{display:none}.admin-side-nav nav{display:flex;gap:5px}.admin-side-nav nav>a{min-width:70px;min-height:50px;justify-content:center;padding:5px 8px}.admin-side-nav nav>a i{width:25px;height:25px}.admin-side-nav nav>a span{display:none}.notification-fab{right:14px;bottom:82px}.notification-page-head{align-items:stretch;flex-direction:column}}
.site-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.site-stat-card{position:relative;overflow:hidden;min-height:135px;padding:20px;border:1px solid rgba(131,228,255,.14);border-radius:17px;background:linear-gradient(145deg,rgba(16,29,51,.98),rgba(7,14,27,.98));box-shadow:0 18px 42px rgba(0,0,0,.18)}.site-stat-card span,.site-stat-card strong{display:block}.site-stat-card span{color:#8299b8;font-size:.72rem;font-weight:800}.site-stat-card strong{margin-top:13px;color:#fff;font-size:2.15rem}.site-stat-card i{position:absolute;right:-25px;bottom:-35px;width:100px;height:100px;border:18px solid rgba(117,216,255,.045);border-radius:50%}.server-admin-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px}.server-admin-summary>article{padding:15px 17px;border:1px solid var(--line);border-radius:14px;background:rgba(12,23,41,.92)}.server-admin-summary span,.server-admin-summary strong{display:block}.server-admin-summary span{color:var(--muted);font-size:.68rem}.server-admin-summary strong{margin-top:5px;font-size:1.45rem}.server-admin-summary form,.server-admin-summary .btn{height:100%}.server-admin-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:11px;align-items:end;padding:17px}.server-admin-form label,.server-card-edit label{display:grid;gap:6px;color:var(--muted);font-size:.68rem;font-weight:800}.server-admin-form input{min-height:45px}.server-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.server-admin-card{padding:17px;border:1px solid rgba(131,228,255,.14);border-radius:17px;background:linear-gradient(145deg,rgba(15,27,48,.98),rgba(7,14,27,.98));box-shadow:0 18px 45px rgba(0,0,0,.2)}.server-admin-card>header,.server-admin-card>footer,.server-admin-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.server-state{display:inline-flex;align-items:center;gap:7px;color:#91a5bf;font-size:.68rem;font-weight:850}.server-state i{width:8px;height:8px;border-radius:50%;background:#68778c}.server-state.online{color:#71ddb5}.server-state.online i{background:#56d7a4;box-shadow:0 0 9px rgba(86,215,164,.7)}.server-admin-card>header>b{padding:4px 7px;border-radius:8px;color:#8fcce7;background:rgba(75,141,255,.08);font-size:.6rem}.server-admin-card-title{padding:17px 0}.server-admin-card-title h2,.server-admin-card-title code{display:block;margin:0}.server-admin-card-title h2{font-size:1.1rem}.server-admin-card-title code{margin-top:5px;color:#7895ba;font-size:.7rem}.server-admin-card-title>strong{font-size:1.8rem}.server-admin-card-title>strong small{color:#7186a3;font-size:.8rem}.server-card-edit{display:grid;grid-template-columns:1.2fr 1fr 90px 1.4fr auto;gap:8px;align-items:end;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(2,8,17,.28)}.server-card-edit input{min-width:0;min-height:40px}.server-admin-card>footer{padding-top:13px}.server-admin-card>footer small{color:#657c9b}.server-token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:17px}.server-token-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px;border:1px solid var(--line);border-radius:11px}.server-token-grid strong,.server-token-grid code,.server-token-grid small{display:block}.server-token-grid code,.server-token-grid small{grid-column:1/-1}.server-token-grid code{color:#9cdff6;overflow-wrap:anywhere}.server-token-grid small{color:var(--muted)}.department-tabs{margin-bottom:17px}.department-member-grid,.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.department-member-card,.media-card{border:1px solid rgba(131,228,255,.14);border-radius:15px;background:linear-gradient(145deg,rgba(14,26,46,.98),rgba(7,14,27,.98));box-shadow:0 15px 38px rgba(0,0,0,.18)}.department-member-card{padding:15px}.department-member-card>header,.department-member-card>footer{display:flex;align-items:center;gap:11px}.department-member-card>header img,.media-card summary img{width:48px;height:48px;border-radius:12px;object-fit:cover}.department-member-card h2,.department-member-card p{margin:0}.department-member-card h2{font-size:.92rem}.department-member-card p{margin-top:4px;color:#7d98b9;font-size:.68rem}.department-member-card dl{display:grid;gap:7px;margin:14px 0}.department-member-card dl>div{display:flex;justify-content:space-between;gap:10px}.department-member-card dt{color:var(--muted);font-size:.65rem}.department-member-card dd{margin:0;color:#bacbe0;font-size:.68rem}.department-member-card>footer{justify-content:flex-end;border-top:1px solid var(--line);padding-top:12px}.media-section{margin-top:30px}.media-section>header h2,.media-section>header p{margin:0}.media-section>header p{margin-top:5px;color:var(--muted)}.media-card{overflow:hidden}.media-card>summary{display:flex;align-items:center;gap:11px;padding:14px;cursor:pointer;list-style:none}.media-card>summary div{min-width:0;flex:1}.media-card>summary strong,.media-card>summary small{display:block}.media-card>summary small{margin-top:4px;color:var(--muted);font-size:.63rem}.media-card>summary>span{color:#79bcd8;font-size:.63rem}.media-card>form{display:grid;gap:9px;padding:14px;border-top:1px solid var(--line)}.media-card label,.media-create-dialog label{display:grid;gap:5px;color:var(--muted);font-size:.67rem;font-weight:800}.media-socials{grid-column:1/-1}.media-create-dialog{width:min(580px,calc(100% - 24px));border:1px solid rgba(131,228,255,.18);border-radius:17px;color:#dce9f8;background:#091426}.media-create-dialog::backdrop{background:rgba(2,6,13,.84)}.media-create-dialog>form{display:grid;gap:11px;padding:19px}.media-create-dialog header{display:flex;align-items:center;justify-content:space-between}.media-create-dialog header h2{margin:0}.media-create-dialog header button{border:0;color:#fff;background:transparent;font-size:1.5rem;cursor:pointer}
@media(max-width:1300px){.site-stat-grid{grid-template-columns:repeat(3,1fr)}.server-card-edit{grid-template-columns:repeat(2,1fr)}.server-card-edit .btn{grid-column:1/-1}.department-member-grid,.media-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-stat-grid,.server-admin-summary,.server-admin-grid,.department-member-grid,.media-grid,.server-token-grid{grid-template-columns:1fr}.server-admin-form,.server-card-edit{grid-template-columns:1fr}.server-admin-summary form{min-height:48px}}
.notification-fab span{font-size:0!important;transform:none!important}.notification-fab span:before{content:'\1F514';font-size:1.12rem}
.media-social-link-list{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 12px}.media-social-link-list a{padding:5px 8px;border:1px solid rgba(117,216,255,.15);border-radius:8px;color:#8fdcf5;background:rgba(75,141,255,.06);font-size:.62rem;text-decoration:none}
.roles-v2-main:not(.role-selected)>.role-v2-card:not(:first-child){display:none}
.roles-v2-main.role-selected>.role-v2-card{display:none}.roles-v2-main.role-selected>.role-v2-card.active{display:block}.role-index nav a.active{border-color:rgba(117,216,255,.32);color:#eafaff;background:rgba(75,141,255,.12)}.role-index nav em{display:block;margin:5px 10px 2px;color:#6f87a8;font-size:.58rem;font-style:normal;font-weight:800;text-transform:uppercase}.department-tier-heading{grid-column:1/-1;margin:12px 0 0;padding:9px 12px;border-left:3px solid #75d8ff;color:#bcdaf1;font-size:.82rem;background:linear-gradient(90deg,rgba(75,141,255,.1),transparent)}.department-member-card{overflow:hidden}.department-member-card>summary{display:flex;align-items:center;gap:11px;cursor:pointer;list-style:none}.department-member-card>summary::-webkit-details-marker{display:none}.department-member-card>summary img{width:48px;height:48px;border-radius:12px;object-fit:cover}.department-member-card>summary div{min-width:0;flex:1}.department-member-card>summary>span{color:#79bcd8;font-size:.62rem}.department-member-card[open]>summary{padding-bottom:12px;border-bottom:1px solid var(--line)}.department-member-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:12px}.department-member-edit label{display:grid;gap:5px;color:var(--muted);font-size:.67rem;font-weight:800}.department-member-edit footer{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.department-member-card>form:last-child{display:flex;justify-content:flex-end;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}@media(max-width:680px){.department-member-edit{grid-template-columns:1fr}.department-member-edit footer{grid-column:auto;align-items:stretch;flex-direction:column}}
.department-directory-table td a{color:#8fdcf5;text-decoration:none}.department-directory-table td a:hover{color:#fff}.department-profile-form .wide,.department-page .staff-add-form .wide{grid-column:1/-1}.department-profile-form textarea,.department-page .staff-add-form textarea{width:100%;min-height:96px;resize:vertical}.department-profile-dialog .staff-dialog-section{width:100%}@media(max-width:680px){.department-profile-form .wide,.department-page .staff-add-form .wide{grid-column:auto}}
.staff-tier-heading.tier-media td{background:linear-gradient(90deg,rgba(255,116,189,.17),rgba(75,141,255,.025))!important}.staff-tier-heading.tier-media span:before{background:#ff74bd;box-shadow:0 0 10px rgba(255,116,189,.7)}.department-media-fields{display:grid;grid-template-columns:1fr 2fr;gap:10px;padding:12px;border:1px solid rgba(255,116,189,.18);border-radius:12px;background:rgba(255,116,189,.045)}.department-media-fields[hidden]{display:none}.department-media-fields label{display:grid;gap:5px}@media(max-width:680px){.department-media-fields{grid-template-columns:1fr}}
/* Unified ButterflyProject interface -------------------------------------- */
:root {
  --ui-bg: #050914;
  --ui-surface: rgba(10, 20, 37, .94);
  --ui-surface-strong: rgba(13, 28, 49, .97);
  --ui-surface-soft: rgba(21, 42, 69, .54);
  --ui-border: rgba(117, 216, 255, .17);
  --ui-border-hover: rgba(117, 216, 255, .36);
  --ui-text: #edf8ff;
  --ui-muted: #92abc0;
  --ui-accent: #4eb8ff;
  --ui-accent-2: #82e2ff;
  --ui-radius: 18px;
  --ui-radius-small: 11px;
  --ui-shadow: 0 20px 55px rgba(0, 0, 0, .26);
  --ui-ease: cubic-bezier(.16, 1, .3, 1);
}

html { background: var(--ui-bg); }
body {
  color: var(--ui-text);
  font-family: Manrope, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15.5px;
  line-height: 1.55;
  background:
    radial-gradient(circle at 12% -8%, rgba(35, 139, 222, .14), transparent 32rem),
    radial-gradient(circle at 88% 18%, rgba(86, 213, 255, .065), transparent 28rem),
    var(--ui-bg);
}

.main-content { flex: 1; }
.page-title, .page-hero, .admin-workspace-heading { position: relative; }
.page-title h1, .page-hero h1, .admin-hero h1, .forum-head h1,
.notification-page-head h1, .management-heading h2 { letter-spacing: -.035em; }
.page-title > p, .page-hero p, .admin-hero p, .forum-head p,
.notification-page-head p { color: var(--ui-muted); }
.eyebrow { color: var(--ui-accent-2); letter-spacing: .14em; }

/* One surface language for every section. */
:is(.panel,.card,.side-card,.forum-box,.forum-section,.thread-list,.topic-head,
.forum-post,.reply-box,.profile,.profile-tab-panel,.settings-card,.management-card,
.filter-disclosure,.admin-tool-card,.admin-create-disclosure,.server-admin-card,
.staff-add-card,.staff-directory-shell,.report-server,.notification-card,
.salary-role-card,.console-panel,.logs-panel,.ban-card,.roles-v2-sidebar,
.role-v2-card,.department-mini-card,.site-stat-card) {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius);
  background: linear-gradient(145deg, var(--ui-surface-strong), var(--ui-surface));
  box-shadow: var(--ui-shadow);
}

:is(.panel,.card,.settings-card,.admin-tool-card,.server-admin-card,
.salary-role-card,.console-panel,.logs-panel,.ban-card) { padding: clamp(18px, 2vw, 25px); }

:is(.panel,.card,.forum-box,.forum-section,.thread-list,.topic-head,.forum-post,
.reply-box,.settings-card,.management-card,.filter-disclosure,.admin-tool-card,
.server-admin-card,.notification-card,.role-v2-card,.department-mini-card) {
  transition: transform .34s var(--ui-ease), border-color .28s ease,
    background-color .28s ease, box-shadow .34s var(--ui-ease);
}

:is(.user-card,.server-row,.notification-card,.admin-tool-card):hover {
  border-color: var(--ui-border-hover);
  box-shadow: 0 24px 62px rgba(0, 0, 0, .32);
}

/* Controls */
:is(input:not([type=checkbox]):not([type=radio]):not([type=color]),textarea,select) {
  min-height: 46px;
  width: 100%;
  padding: 11px 13px;
  color: var(--ui-text);
  border: 1px solid rgba(141, 195, 231, .22);
  border-radius: var(--ui-radius-small);
  outline: 0;
  background: rgba(4, 11, 23, .78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}
textarea { min-height: 92px; resize: vertical; }
:is(input,textarea,select):focus {
  border-color: rgba(89, 190, 255, .7);
  box-shadow: 0 0 0 4px rgba(49, 158, 235, .12);
}
label > span, .field-label { color: #b9cde0; font-weight: 650; }
select option, select optgroup { color: #eaf6ff; background: #0a1729; }

.btn, button, .mini-btn {
  font-family: inherit;
  transition: transform .28s var(--ui-ease), border-color .25s ease,
    background .25s ease, color .25s ease, box-shadow .28s var(--ui-ease);
}
.btn {
  min-height: 43px;
  border-radius: var(--ui-radius-small);
  font-weight: 750;
  letter-spacing: -.01em;
}
.btn-primary {
  color: #03101c;
  border-color: transparent;
  background: linear-gradient(135deg, #79dcff, #4197ff);
  box-shadow: 0 10px 28px rgba(38, 143, 239, .2);
}
.btn-primary:hover { box-shadow: 0 14px 34px rgba(38, 143, 239, .3); }
.btn-ghost { color: #d7edfc; border-color: var(--ui-border); background: rgba(119, 201, 255, .055); }
.btn-danger { background: linear-gradient(135deg, #f56982, #c94362); }
.btn-success { background: linear-gradient(135deg, #65e5aa, #2aa779); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.975); }

/* Navigation and tabs */
.topbar {
  border-bottom: 1px solid var(--ui-border);
  background: rgba(5, 12, 25, .88);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
  backdrop-filter: blur(18px);
}
.nav-menu a, .tabs a, .staff-server-tabs a {
  border-radius: 10px;
  transition: color .25s ease, background .25s ease, transform .28s var(--ui-ease);
}
.nav-menu a:hover, .tabs a:hover, .staff-server-tabs a:hover { background: rgba(102, 202, 255, .075); }
.nav-menu a.active, .tabs a.active, .staff-server-tabs a.active {
  color: #f5fbff;
  background: rgba(63, 164, 240, .14);
  box-shadow: inset 0 0 0 1px rgba(107, 209, 255, .14);
}
.admin-side-nav {
  border-right: 1px solid var(--ui-border);
  background: linear-gradient(180deg, rgba(6, 14, 27, .98), rgba(7, 18, 33, .97));
  box-shadow: 16px 0 45px rgba(0, 0, 0, .18);
}
.admin-side-nav a { border-radius: 11px; }
.admin-side-nav a.active { background: linear-gradient(135deg, rgba(56, 164, 242, .2), rgba(77, 121, 230, .12)); }

details > summary { border-radius: 12px; cursor: pointer; }
details > summary:hover { color: #fff; background: rgba(112, 203, 255, .055); }
.filter-disclosure > summary, .admin-create-disclosure > summary,
.management-card > summary { min-height: 56px; padding: 15px 18px; }

/* Tables and repeated rows */
.table, table { font-size: .9rem; }
.table th, table th {
  color: #9fc1d9;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  background: rgba(7, 16, 29, .72);
}
.table :is(th,td), table :is(th,td) { border-color: rgba(131, 197, 236, .11); }
.table tbody tr, table tbody tr { transition: background .24s ease; }
.table tbody tr:hover, table tbody tr:hover { background: rgba(89, 179, 238, .055); }
.logs-table-wrapper, .table-wrap, .staff-table-scroll {
  border: 1px solid var(--ui-border);
  border-radius: 15px;
  background: rgba(4, 10, 21, .42);
}

/* Forum, profile and user management */
.forum-category-row, .thread-list > a, .profile-message, .staff-directory-row {
  border-color: rgba(131, 197, 236, .11);
}
.forum-category-row:hover, .thread-list > a:hover, .staff-directory-row:hover { background: rgba(79, 171, 233, .055); }
.profile { overflow: hidden; }
.profile-banner { background-color: #0b1c31; }
.profile-avatar { border: 4px solid #0b192c; box-shadow: 0 12px 35px rgba(0, 0, 0, .35); }
.player-management { gap: 13px; }
.management-card { overflow: hidden; box-shadow: 0 14px 34px rgba(0, 0, 0, .19); }
.management-form { padding: 17px; }
.profile-moderation-form > p { margin: 0; color: var(--ui-muted); font-size: .86rem; }
.profile-moderation-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.profile-moderation-card { border-color: rgba(245, 105, 130, .25); }
.role, .role-badge, .action-badge { border-radius: 999px; }
.empty, .empty-state {
  color: var(--ui-muted);
  border: 1px dashed rgba(128, 199, 239, .18);
  border-radius: 14px;
  background: rgba(6, 14, 26, .45);
}

.alert { border-radius: 13px; box-shadow: 0 14px 34px rgba(0, 0, 0, .2); }
.breadcrumb { color: var(--ui-muted); }
.breadcrumb a:hover { color: var(--ui-accent-2); }

@media (max-width: 780px) {
  body { font-size: 15px; }
  :is(.panel,.card,.settings-card,.admin-tool-card,.server-admin-card) { padding: 17px; }
  .nav-menu { background: rgba(6, 15, 29, .98); border: 1px solid var(--ui-border); border-radius: 16px; }
  .profile-moderation-actions .btn { width: 100%; }
  .table, table { font-size: .84rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* 2026 unified visual layer: opaque working surfaces stay above decorative light. */
html { scroll-behavior: smooth; }
body { isolation: isolate; background: #050811; }
body::before, body::after { z-index: -1 !important; pointer-events: none; }
.site-shell, .main-content, .admin-workspace-content, .admin-tool-card,
.admin-table-card, .logs-table-wrapper, .audit-table { position: relative; z-index: 1; }
.admin-tool-card, .panel, .forum-box, .post, .admin-document-card {
  background: linear-gradient(145deg, rgba(13,23,42,.96), rgba(7,13,26,.98));
  border: 1px solid rgba(120,211,255,.16);
  box-shadow: 0 20px 60px rgba(0,0,0,.23), inset 0 1px rgba(255,255,255,.025);
}
.admin-table-card { overflow: hidden; }
.logs-table-wrapper { background: #09111f; isolation: isolate; }
.audit-table { background: #09111f; }
.audit-table tbody tr { background: rgba(8,16,30,.98); }
.audit-table tbody tr:hover { background: rgba(18,37,60,.98); }

/* Documentation and editor */
.memo-server-tabs { display:flex; gap:8px; overflow:auto; padding:4px; margin-bottom:18px; scrollbar-width:thin; }
.memo-server-tabs a { flex:0 0 auto; padding:10px 15px; border:1px solid rgba(117,216,255,.14); border-radius:12px; color:#93a8c3; text-decoration:none; transition:.25s ease; }
.memo-server-tabs a:hover,.memo-server-tabs a.active { color:#fff; border-color:rgba(117,216,255,.55); background:rgba(46,164,224,.16); translate:0 -2px; }
.admin-document-card { max-width:1050px; margin:0 auto 22px; border-radius:22px; overflow:hidden; }
.admin-document-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:34px 42px 26px; border-bottom:1px solid rgba(117,216,255,.12); }
.admin-document-card h1 { margin:7px 0; font-size:clamp(27px,4vw,44px); }
.admin-document-card header p { color:#8195b1; margin:0; }
.admin-document-content { min-height:340px; padding:40px 44px 55px; font-size:16px; line-height:1.75; background:linear-gradient(90deg,transparent 38px,rgba(117,216,255,.05) 39px,transparent 40px); }
.document-editor-disclosure form,.inline-memo-editor form { padding:20px; }
.console-memo-global { margin:0 0 50px; }
.console-memo-card { border-radius:20px; }
.console-memo-content { padding:22px; display:grid; gap:10px; }
.console-memo-content pre { cursor:pointer; transition:.22s ease; }
.console-memo-content pre:hover { border-color:#75d8ff; translate:3px 0; }
.inline-memo-editor { border-top:1px solid rgba(117,216,255,.12); padding:16px 22px; }
.inline-memo-editor summary { cursor:pointer; color:#75d8ff; font-weight:800; }

/* Changelog-inspired news while retaining Butterfly colors. */
.news-page { min-height:75vh; padding:74px 0 110px; background:radial-gradient(circle at 72% 8%,rgba(57,143,255,.13),transparent 32%); }
.news-hero { max-width:850px; margin-bottom:42px; }
.news-hero h1 { margin:8px 0 12px; font-size:clamp(38px,7vw,76px); letter-spacing:-.055em; }
.news-hero p { color:#94a7c1; font-size:17px; }
.news-hero nav { display:flex; gap:8px; margin-top:25px; }
.news-hero nav a { padding:10px 17px; border:1px solid rgba(117,216,255,.15); border-radius:999px; color:#93a8c2; text-decoration:none; transition:.25s ease; }
.news-hero nav a:hover,.news-hero nav a.active { background:#eafaff; border-color:#eafaff; color:#07111f; transform:translateY(-2px); }
.changelog-list { display:grid; gap:13px; }
.changelog-card { display:grid; grid-template-columns:120px minmax(0,1fr) auto; align-items:center; gap:28px; padding:25px 28px; border:1px solid rgba(117,216,255,.13); border-radius:18px; background:rgba(9,17,31,.88); text-decoration:none; transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .3s,background .3s; }
.changelog-card:hover { transform:translateY(-4px) scale(1.006); border-color:rgba(117,216,255,.55); background:#0d1a2d; }
.changelog-card time { color:#7387a4; font-variant-numeric:tabular-nums; }
.changelog-card h2 { margin:8px 0 5px; font-size:22px; }
.changelog-card p { margin:0; color:#8fa4bf; }
.changelog-card > b { color:#75d8ff; white-space:nowrap; }
.news-tag { display:inline-flex; padding:5px 9px; border-radius:7px; background:rgba(83,181,255,.14); color:#85dcff; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.news-tag.update { background:rgba(182,104,255,.16); color:#d8a9ff; }
.news-article { padding-block:70px 110px; }
.news-article header { margin:24px 0 34px; }
.news-article h1 { font-size:clamp(36px,7vw,68px); line-height:1.03; margin:13px 0; }
.news-article header p { color:#8297b3; }
.news-cover { width:100%; max-height:470px; object-fit:cover; border-radius:20px; margin-bottom:34px; }
.news-content { font-size:17px; line-height:1.8; }
.admin-news-list,.mapping-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:14px; margin-top:20px; }
.admin-news-list article,.mapping-list article { padding:20px; border-radius:17px; }
.admin-news-list article > div,.mapping-list article { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mapping-form,.blacklist-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:22px; border-radius:18px; }
.mapping-form label,.blacklist-form label { display:grid; gap:7px; color:#91a7c3; font-size:13px; }
.mapping-form button,.blacklist-form button { align-self:end; }
.blacklist-form .wide { grid-column:span 2; }
.blacklist-type { display:inline-flex; padding:5px 9px; border-radius:7px; color:#ffb1c6; background:rgba(255,49,104,.15); font-weight:900; }
.blacklist-type.chsa { color:#ffd08b; background:rgba(255,165,45,.15); }
.blacklist-remove-form { display:grid; gap:7px; min-width:180px; }
.blacklist-actions { display:grid; gap:8px; min-width:190px; }
.blacklist-actions form { margin:0; }
.blacklist-type.chss { color:#8fe3ff; background:rgba(61,181,255,.14); }
.console-memo-editor { margin:0 18px 20px; }
.console-memo-editor .editor textarea { min-height:340px; resize:vertical; }
.bp-async-toast-stack { position:fixed; z-index:10000; right:22px; bottom:22px; display:grid; gap:9px; width:min(390px,calc(100% - 32px)); pointer-events:none; }
.bp-async-toast { padding:13px 16px; border:1px solid rgba(96,221,171,.3); border-radius:12px; color:#dffff2; background:rgba(8,28,25,.96); box-shadow:0 18px 50px rgba(0,0,0,.38); opacity:0; transform:translateY(12px); transition:.24s ease; }
.bp-async-toast.error { border-color:rgba(255,104,136,.35); color:#ffdce4; background:rgba(38,12,22,.97); }
.bp-async-toast.visible { opacity:1; transform:none; }

/* Server cards: image-led, readable, and live. */
.server-admin-card { position:relative; overflow:hidden; padding:0 !important; border:1px solid rgba(117,216,255,.16); background:#091220 !important; transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .3s; }
.server-admin-card:hover { transform:translateY(-5px); border-color:rgba(117,216,255,.5); }
.server-admin-cover { min-height:112px; display:flex; justify-content:space-between; align-items:flex-start; padding:16px; background:linear-gradient(180deg,rgba(4,8,16,.15),#091220),var(--server-cover),linear-gradient(135deg,#17395b,#0a1424); background-size:cover; background-position:center; }
.server-admin-card-title,.server-card-edit,.server-admin-card footer,.server-player-meter { margin-inline:20px; }
.server-player-meter { height:5px; border-radius:99px; overflow:hidden; background:rgba(255,255,255,.06); }
.server-player-meter i { display:block; width:var(--server-fill); height:100%; background:linear-gradient(90deg,#61d7ff,#688cff); transition:width .6s ease; }
.server-row { position:relative; isolation:isolate; overflow:hidden; min-height:190px; padding:28px !important; border-radius:22px !important; background:linear-gradient(90deg,rgba(7,13,24,.98) 0%,rgba(7,13,24,.86) 57%,rgba(7,13,24,.35)),var(--server-cover),linear-gradient(135deg,#15304b,#080e19) !important; background-size:cover !important; background-position:center !important; transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .3s !important; }
.server-row::after { content:''; position:absolute; inset:auto 28px 18px 28px; height:4px; background:linear-gradient(90deg,#63d8ff var(--server-fill),rgba(255,255,255,.08) var(--server-fill)); border-radius:99px; z-index:-1; }
.server-row:hover { transform:translateY(-5px) scale(1.006); border-color:rgba(117,216,255,.55); }
.server-row .server-main h2 { font-size:clamp(24px,4vw,40px); }

/* Forum tree and topics */
.forum-page { background:radial-gradient(circle at 15% 3%,rgba(60,160,255,.075),transparent 30%); }
.forum-head { padding:30px 0 22px; }
.forum-head h1 { font-size:clamp(34px,6vw,60px); letter-spacing:-.045em; }
.forum-action-btn { transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,box-shadow .28s !important; }
.forum-action-btn:hover { transform:translateY(-4px); box-shadow:0 17px 36px rgba(0,0,0,.3); }
.forum-section-box { border-radius:20px; overflow:hidden; }
.forum-box-title { background:linear-gradient(90deg,rgba(39,109,170,.18),transparent); }
.forum-category-row { transition:background .25s,transform .25s; }
.forum-category-row:hover { background:rgba(69,169,226,.085); transform:translateX(3px); }
.forum-subcategory-row { position:relative; padding-left:calc(22px + var(--category-indent)); }
.forum-subcategory-row::before { content:''; position:absolute; left:calc(28px + var(--category-line)); top:0; bottom:50%; width:16px; border-left:1px solid rgba(117,216,255,.2); border-bottom:1px solid rgba(117,216,255,.2); border-radius:0 0 0 8px; }
.post { border-radius:18px; overflow:hidden; transition:border-color .25s; }
.post:hover { border-color:rgba(117,216,255,.34); }
.post-author { background:rgba(7,14,27,.72); }
.post-body .bb-content { font-size:15.5px; line-height:1.72; }
.manage-forum-grid { margin-left:auto; margin-right:auto; }
.structure-list details { border:1px solid rgba(117,216,255,.12); border-radius:13px; margin:9px 0; background:rgba(7,15,28,.62); }
.structure-list summary { padding:14px 16px; cursor:pointer; font-weight:800; }

/* Home: cinematic vertical portal feeling inspired by the supplied references. */
.landing-hero { min-height:720px; background:radial-gradient(circle at 73% 35%,rgba(222,45,135,.13),transparent 25%),radial-gradient(circle at 58% 15%,rgba(61,150,255,.18),transparent 32%),#050811; }
.landing-copy h1 { font-size:clamp(52px,7.5vw,104px); line-height:.91; letter-spacing:-.07em; }
.landing-copy h1 span { background:linear-gradient(100deg,#fff 12%,#7fe1ff 55%,#cc89ff); -webkit-background-clip:text; color:transparent; }
.landing-dashboard { max-width:none; padding:14px; background:rgba(5,10,19,.78); border-color:rgba(255,255,255,.13); }
.dashboard-server-stack { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; min-height:360px; }
.dashboard-server { position:relative; overflow:hidden; display:flex !important; flex-direction:column; justify-content:flex-end; min-height:350px; padding:18px 13px !important; border-radius:15px !important; background:linear-gradient(180deg,rgba(12,21,36,.05),rgba(7,14,27,.96)),var(--server-cover),linear-gradient(145deg,#21496d,#0c1525) !important; background-size:cover !important; background-position:center !important; }
.dashboard-server::before { content:''; position:absolute; inset:0; background:linear-gradient(120deg,transparent,rgba(255,255,255,.08),transparent); translate:-120% 0; transition:translate .75s ease; }
.dashboard-server:hover::before { translate:120% 0; }
.dashboard-server-main { position:relative; z-index:1; }
.dashboard-server-main strong { font-size:18px; }
.dashboard-index { position:absolute; left:16px; top:14px; font-size:58px; font-weight:900; opacity:.14; }
.dashboard-status { position:absolute; right:13px; top:13px; }
.dashboard-footer { margin-top:10px; }

/* Consistent responsive behaviour. */
@media (max-width: 900px) {
  .mapping-form,.blacklist-form { grid-template-columns:1fr 1fr; }
  .changelog-card { grid-template-columns:90px minmax(0,1fr); }
  .changelog-card > b { grid-column:2; }
  .admin-document-card > header { padding:28px; flex-direction:column; }
  .admin-document-content { padding:30px 28px 45px; }
}
@media (max-width: 680px) {
  .landing-hero { min-height:auto; padding-top:38px; }
  .landing-copy h1 { font-size:clamp(45px,15vw,70px); }
  .dashboard-server-stack { grid-template-columns:1fr; min-height:0; }
  .dashboard-server { min-height:210px; }
  .changelog-card { grid-template-columns:1fr; gap:10px; padding:20px; }
  .changelog-card > b { grid-column:auto; }
  .news-page { padding-top:44px; }
  .mapping-form,.blacklist-form { grid-template-columns:1fr; }
  .blacklist-form .wide { grid-column:auto; }
  .admin-document-card > header,.admin-document-content { padding-left:20px; padding-right:20px; }
  .server-row { display:grid !important; min-height:300px; padding:22px !important; background:linear-gradient(180deg,rgba(7,13,24,.45),#07101e 62%),var(--server-cover),#0b1727 !important; }
  .server-row .server-meta { grid-template-columns:1fr 1fr; }
  .forum-head { align-items:stretch; }
  .forum-head-actions { display:grid; grid-template-columns:1fr; }
  .forum-category-row { grid-template-columns:38px minmax(0,1fr); }
  .forum-category-row .forum-count,.forum-category-row .forum-last { display:none; }
  .post { grid-template-columns:1fr !important; }
  .post-author { display:grid; grid-template-columns:52px 1fr; align-items:center; }
}

/* Homepage reveal motion */
.landing-copy > .motion-item,
.landing-dashboard.motion-item,
.dashboard-server-stack > .motion-item {
  transition-duration: .78s;
  transition-timing-function: cubic-bezier(.16, 1, .3, 1);
  transition-delay: calc(var(--motion-order, 0) * 70ms);
}
.landing-dashboard.motion-pending {
  opacity: 0;
  transform: perspective(1200px) rotateY(-3deg) translateY(30px) scale(.975);
}
.landing-dashboard.motion-visible {
  opacity: 1;
  transform: perspective(1200px) rotateY(-3deg) translateY(0) scale(1);
}
.landing-glow.one { animation: bp-home-glow-one 9s ease-in-out infinite alternate; }
.landing-glow.two { animation: bp-home-glow-two 11s ease-in-out infinite alternate; }
.dashboard-sequence .dashboard-server-main > div i { animation: bp-home-meter .9s 1.35s cubic-bezier(.16,1,.3,1) both; }
@keyframes bp-home-glow-one { to { translate: 45px 28px; scale: 1.08; opacity: .78; } }
@keyframes bp-home-glow-two { to { translate: -38px -22px; scale: .92; opacity: .7; } }
@keyframes bp-home-meter { from { width: 0; } to { width: var(--fill); } }

/* Staff tables stay inside their card and scroll only when space is insufficient. */
.staff-directory-shell {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-gutter: stable;
  overscroll-behavior-inline: contain;
}
.staff-directory-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.staff-directory-table th {
  white-space: normal;
  overflow-wrap: anywhere;
}
.staff-directory-row > td {
  min-width: 0;
  max-width: 0;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: ellipsis;
}
.staff-directory-table th:nth-child(1) { width: 20%; }
.staff-directory-table th:nth-child(2) { width: 14%; }
.staff-directory-table th:nth-child(3) { width: 13%; }
.staff-directory-table th:nth-child(4) { width: 8%; }
.staff-directory-table th:nth-child(5) { width: 11%; }
.staff-directory-table th:nth-child(6) { width: 8%; }
.staff-directory-table th:nth-child(7) { width: 7%; }
.staff-directory-table th:nth-child(8) { width: 9%; }
.staff-directory-table th:nth-child(9) { width: 10%; }
.staff-person-cell { min-width: 0; }
.staff-person-cell > span { min-width: 0; }
.staff-person-cell strong,
.staff-person-cell small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.staff-directory-table code { white-space: normal; overflow-wrap: anywhere; }
.staff-directory-table .role,
.staff-directory-table .staff-status { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* Compact staff status controls and keep status badges fully visible. */
.staff-profile-form label:has(> input[name="vacation"]) small,
.staff-add-form-new label:has(> input[name="vacation"]) small { display: none; }
.staff-profile-form label:has(> select[name="status"]) {
  width: min(100%, 210px);
  justify-self: start;
}
.staff-directory-table th:nth-child(1) { width: 19%; }
.staff-directory-table th:nth-child(2) { width: 13%; }
.staff-directory-table th:nth-child(3) { width: 12%; }
.staff-directory-table th:nth-child(9) { width: 13%; }
.staff-directory-row > td:last-child {
  max-width: none;
  padding-inline: 10px 16px;
  overflow: visible;
  text-overflow: clip;
}
.staff-directory-table td:last-child .staff-status {
  max-width: none;
  overflow: visible;
  text-overflow: clip;
}

/* Preserve readable columns instead of squeezing text letter by letter. */
.staff-directory-page > .wide-container {
  width: min(1480px, calc(100% - 36px));
  max-width: 1480px;
}
.staff-directory-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.staff-directory-table th,
.staff-directory-table td {
  padding-inline: 10px;
  overflow-wrap: normal;
  word-break: normal;
}
.staff-directory-table th { white-space: normal; }
.staff-directory-table td { white-space: nowrap; }
.staff-directory-row > td {
  max-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.staff-directory-table th:nth-child(1),
.staff-directory-table td:nth-child(1) { width: 17%; min-width: 0; }
.staff-directory-table th:nth-child(2),
.staff-directory-table td:nth-child(2) { width: 15%; min-width: 0; }
.staff-directory-table th:nth-child(3),
.staff-directory-table td:nth-child(3) { width: 14%; min-width: 0; }
.staff-directory-table th:nth-child(4),
.staff-directory-table td:nth-child(4) { width: 8%; min-width: 0; }
.staff-directory-table th:nth-child(5),
.staff-directory-table td:nth-child(5) { width: 11%; min-width: 0; }
.staff-directory-table th:nth-child(6),
.staff-directory-table td:nth-child(6) { width: 9%; min-width: 0; }
.staff-directory-table th:nth-child(7),
.staff-directory-table td:nth-child(7) { width: 7%; min-width: 0; }
.staff-directory-table th:nth-child(8),
.staff-directory-table td:nth-child(8) { width: 9%; min-width: 0; }
.staff-directory-table th:nth-child(9),
.staff-directory-table td:nth-child(9) { width: 10%; min-width: 0; }
.staff-directory-table code,
.staff-directory-table .role,
.staff-directory-table .staff-status {
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  overflow-wrap: normal;
  word-break: normal;
  text-overflow: ellipsis;
}
.staff-directory-table code { display: inline-block; vertical-align: middle; }
.staff-directory-table .role {
  display: inline-flex;
  align-items: center;
  width: max-content;
}
.staff-directory-row > td:last-child {
  max-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.staff-directory-table td:last-child .staff-status {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.logs-table-wrapper,
.table-wrap,
.staff-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

@media (max-width: 1080px) {
  .staff-directory-table { min-width: 980px; }
}

@media (max-width: 780px) {
  .landing-dashboard.motion-pending { transform: translateY(24px) scale(.98); }
  .landing-dashboard.motion-visible { transform: translateY(0) scale(1); }
}

/* Dedicated server-card sequence and cursor depth. */
.landing-dashboard {
  --dashboard-rotate-x: 0deg;
  --dashboard-rotate-y: -3deg;
  --dashboard-lift: 0px;
  --dashboard-pointer-x: 50%;
  --dashboard-pointer-y: 50%;
  transform: perspective(1100px) rotateX(var(--dashboard-rotate-x)) rotateY(var(--dashboard-rotate-y)) translateZ(var(--dashboard-lift));
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.landing-dashboard::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  content: '';
  opacity: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--dashboard-pointer-x) var(--dashboard-pointer-y), rgba(137,229,255,.14), transparent 42%);
  transition: opacity .3s ease;
}
.landing-dashboard.is-depth-active {
  box-shadow: 0 42px 105px rgba(0,0,0,.56), inset 0 1px rgba(255,255,255,.06);
}
.landing-dashboard.is-depth-active::after { opacity: 1; }
.landing-dashboard > * { position: relative; z-index: 1; }
.landing-dashboard .dashboard-topline,
.landing-dashboard .dashboard-logo,
.landing-dashboard .dashboard-footer { transform: translateZ(13px); }
.landing-dashboard .dashboard-server { transform: translateZ(22px); transform-style: preserve-3d; }
.landing-dashboard .dashboard-server:hover { transform: translate3d(-3px,0,27px); }

.landing-dashboard.dashboard-sequence {
  animation: bp-dashboard-shell-in 1.18s cubic-bezier(.16,1,.3,1) both;
}
.dashboard-sequence .dashboard-topline,
.dashboard-sequence .dashboard-logo,
.dashboard-sequence .dashboard-footer,
.dashboard-sequence .dashboard-server {
  opacity: 0;
}
.dashboard-sequence .dashboard-topline,
.dashboard-sequence .dashboard-logo {
  animation: bp-dashboard-content-in .58s .74s cubic-bezier(.16,1,.3,1) both;
}
.dashboard-sequence .dashboard-logo { animation-delay: .86s; }
.dashboard-sequence .dashboard-server {
  animation: bp-dashboard-server-in .72s cubic-bezier(.16,1,.3,1) both;
}
.dashboard-sequence .dashboard-server:nth-child(1) { animation-delay: 1.08s; }
.dashboard-sequence .dashboard-server:nth-child(2) { animation-delay: 1.28s; }
.dashboard-sequence .dashboard-server:nth-child(3) { animation-delay: 1.48s; }
.dashboard-sequence .dashboard-server:nth-child(n+4) { animation-delay: 1.68s; }
.dashboard-sequence .dashboard-footer {
  animation: bp-dashboard-content-in .62s 1.76s cubic-bezier(.16,1,.3,1) both;
}
@keyframes bp-dashboard-shell-in {
  0% { opacity: 0; clip-path: inset(48% 48% round 24px); scale: .82; }
  58% { opacity: 1; clip-path: inset(0 round 24px); scale: 1.015; }
  100% { opacity: 1; clip-path: inset(0 round 24px); scale: 1; }
}
@keyframes bp-dashboard-content-in {
  from { opacity: 0; translate: 0 12px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes bp-dashboard-server-in {
  from { opacity: 0; translate: 0 18px; scale: .96; }
  to { opacity: 1; translate: 0 0; scale: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .landing-dashboard.dashboard-sequence { animation-duration: 1.18s !important; }
  .dashboard-sequence :is(.dashboard-topline,.dashboard-logo,.dashboard-footer,.dashboard-server) { animation-duration: .62s !important; }
  .dashboard-sequence .dashboard-server-main > div i { animation-duration: .9s !important; }
}

@media (max-width: 780px), (hover: none) {
  .landing-dashboard { --dashboard-rotate-y: 0deg; transform: perspective(1100px) rotateX(0) rotateY(0) translateZ(0); }
}

/* Lightweight page entrance: no full-page snapshots or artificial navigation delay. */
.main-content > section,.bp-live-page > section,.bp-live-page > article {
  animation: bp-route-section-in .34s cubic-bezier(.16,1,.3,1) both;
}
.admin-side-nav {
  animation: bp-route-sidebar-in .28s cubic-bezier(.16,1,.3,1) both;
}
@keyframes bp-route-section-in {
  from { opacity: 0; translate: 0 7px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes bp-route-sidebar-in {
  from { opacity: 0; translate: -6px 0; }
  to { opacity: 1; translate: 0 0; }
}

.motion-item {
  transition-duration: .42s;
  transition-timing-function: cubic-bezier(.16,1,.3,1);
  transition-delay: calc(var(--motion-order, 0) * 28ms);
}
.motion-item.motion-pending { opacity: 0; transform: none; translate: 0 9px; scale: 1; }
.motion-item.motion-visible { opacity: 1; transform: none; translate: 0 0; scale: 1; }
.motion-item.motion-settled { transition-delay:0s; }

@media (prefers-reduced-motion: reduce) {
  .main-content > section,.bp-live-page > section,.bp-live-page > article { animation-duration: .34s !important; }
  .admin-side-nav { animation-duration: .28s !important; }
  .motion-item { transition-duration: .42s !important; }
}

/* Keep these final overrides after all legacy component rules. */
body { isolation:isolate; }
body::before,body::after { z-index:-1 !important; pointer-events:none; }
.site-shell,.main-content,.admin-workspace-content,.admin-table-card,.logs-table-wrapper,.audit-table { position:relative; z-index:1; }
.admin-workspace-content .admin-table-card,.admin-workspace-content .logs-table-wrapper,.admin-workspace-content .audit-table { background:#09111f; }
.landing-hero .landing-dashboard .dashboard-server-stack { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; min-height:360px; }
.landing-hero .landing-dashboard .dashboard-server { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:350px; border-radius:15px; overflow:hidden; }
.landing-hero .landing-dashboard .dashboard-server:hover { transform:translate3d(0,-4px,27px); }
.servers-admin-v2 .server-admin-card { padding:0; overflow:hidden; background:#091220; }
.servers-admin-v2 .server-admin-cover { min-height:112px; background:linear-gradient(180deg,rgba(4,8,16,.1),#091220),var(--server-cover),linear-gradient(135deg,#17395b,#0a1424); background-size:cover; background-position:center; }
@media(max-width:680px){.landing-hero .landing-dashboard .dashboard-server-stack{grid-template-columns:1fr;min-height:0}.landing-hero .landing-dashboard .dashboard-server{min-height:210px}}

/* Cinematic home page */
.cinema-home { overflow:hidden; background:#050709; }
.cinema-hero { position:relative; min-height:760px; padding:82px 0 52px; background:radial-gradient(circle at 50% 18%,rgba(255,36,116,.21),transparent 34%),linear-gradient(180deg,rgba(3,5,8,.12),#050709 96%),url('/public/images/logo_background.png') center/cover no-repeat; }
.cinema-hero::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,rgba(3,6,10,.8),transparent 38%,transparent 65%,rgba(3,6,10,.65)); }
.cinema-hero > .container { position:relative; z-index:1; }
.cinema-copy { max-width:780px; margin-bottom:44px; }
.cinema-copy h1 { margin:16px 0; font-size:clamp(58px,9vw,126px); line-height:.84; letter-spacing:-.075em; text-transform:uppercase; }
.cinema-copy h1 em { color:#ff327e; font-style:normal; text-shadow:0 0 50px rgba(255,35,113,.3); }
.cinema-copy p { max-width:620px; color:#b6becb; font-size:17px; line-height:1.65; }
.cinema-copy > div { display:flex; gap:11px; margin-top:24px; }
.server-portals { display:flex; gap:10px; width:100%; height:340px; perspective:1200px; }
.server-portal { position:relative; flex:1 1 0; min-width:0; overflow:hidden; border:1px solid rgba(255,255,255,.17); border-radius:17px; color:#fff; text-decoration:none; background:linear-gradient(180deg,rgba(4,7,11,.05),rgba(4,7,11,.9)),var(--server-cover),linear-gradient(145deg,#233c54,#101720); background-size:cover; background-position:center; transition:flex .55s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1),filter .35s,border-color .35s; filter:saturate(.3); }
.server-portal:hover { flex:1.75 1 0; transform:translateY(-8px); filter:saturate(1); border-color:rgba(255,63,130,.75); }
.server-portal::before { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.14) 48%,transparent 68%); translate:-130% 0; transition:translate .8s ease; }
.server-portal:hover::before { translate:130% 0; }
.server-portal > span { position:absolute; left:14px; top:12px; font-size:46px; font-weight:900; opacity:.18; }
.server-portal > div { position:absolute; inset:auto 16px 18px; display:grid; gap:4px; }
.server-portal small { color:#96a4b5; font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.server-portal small i,.server-portal i { width:7px; height:7px; border-radius:50%; background:#647186; }
.server-portal.online i { background:#58e9a6; box-shadow:0 0 13px #58e9a6; }
.server-portal strong { font-size:clamp(15px,1.45vw,22px); line-height:1.05; }
.server-portal b { color:#7edcff; font-size:12px; }
.server-portals-empty { width:100%; display:grid; place-items:center; align-content:center; border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(8,13,20,.75); }
.server-portals-empty img { width:120px; }
.cinema-scroll-cue { padding:17px; text-align:center; color:#aab5c4; font-weight:800; font-size:12px; background:#070a0d; }
.cinema-scroll-cue span { display:inline-grid; place-items:center; width:24px; height:24px; margin-left:8px; border:1px solid #ff327e; border-radius:50%; color:#ff327e; animation:cinema-cue 1.8s ease-in-out infinite; }
@keyframes cinema-cue { 50% { translate:0 4px; } }
.cinema-story { min-height:560px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; padding-block:90px; }
.cinema-story-art { position:relative; min-height:390px; display:grid; place-items:center; border-radius:26px; overflow:hidden; background:radial-gradient(circle,rgba(61,145,255,.22),transparent 52%),linear-gradient(145deg,#090f18,#050709); }
.cinema-story-art img { width:min(70%,360px); filter:drop-shadow(0 32px 55px rgba(30,116,255,.32)); animation:cinema-logo-float 6s ease-in-out infinite; }
.cinema-story-art span { position:absolute; left:22px; bottom:14px; font-size:clamp(50px,8vw,104px); font-weight:900; letter-spacing:-.08em; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.16); white-space:nowrap; }
@keyframes cinema-logo-float { 50% { translate:0 -9px; rotate:1deg; } }
.cinema-story-copy h2,.cinema-news h2,.cinema-start h2 { margin:10px 0 17px; font-size:clamp(34px,5vw,64px); line-height:1; letter-spacing:-.05em; }
.cinema-story-copy > p { color:#a8b2c1; font-size:16px; line-height:1.75; }
.cinema-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.cinema-metrics div { padding:17px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:#0a0f16; }
.cinema-metrics strong { display:block; font-size:26px; }
.cinema-metrics strong small { color:#6f8198; font-size:13px; }
.cinema-metrics span { color:#7f8da1; font-size:11px; }
.cinema-news { padding-block:70px 105px; }
.cinema-news > header { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.cinema-news > div { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cinema-news-card,.cinema-news-empty { min-height:250px; padding:25px; border:1px solid rgba(255,255,255,.11); border-radius:18px; background:linear-gradient(145deg,#0d141e,#070b10); color:inherit; text-decoration:none; transition:.32s cubic-bezier(.16,1,.3,1); }
.cinema-news-card:hover { transform:translateY(-6px); border-color:rgba(255,50,126,.55); }
.cinema-news-card time { float:right; color:#718095; font-size:12px; }
.cinema-news-card h3 { clear:both; padding-top:28px; font-size:22px; }
.cinema-news-card p { color:#8f9bad; line-height:1.55; }
.cinema-news-card > b { color:#ff5b98; }
.cinema-news-empty { grid-column:1/-1; text-align:center; }
.cinema-news-empty img { width:90px; }
.cinema-start { padding:70px 0; background:radial-gradient(circle at 50% 50%,rgba(255,40,120,.13),transparent 35%),#080b10; border-block:1px solid rgba(255,255,255,.08); }
.cinema-start > .container { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:14px; }
.cinema-start p { color:#929eb0; }
@media(max-width:900px){.server-portals{height:300px;overflow-x:auto;padding-bottom:8px}.server-portal{flex:0 0 165px;filter:saturate(.7)}.server-portal:hover{flex-basis:190px}.cinema-story{grid-template-columns:1fr;gap:32px}.cinema-news>div{grid-template-columns:1fr 1fr}.cinema-start>.container{grid-template-columns:1fr 1fr}.cinema-start>.container>div{grid-column:1/-1}}
@media(max-width:620px){.cinema-hero{min-height:auto;padding-top:46px}.cinema-copy h1{font-size:clamp(49px,18vw,72px)}.cinema-copy>div{display:grid}.server-portals{height:260px}.server-portal{flex-basis:145px}.cinema-story{padding-block:55px}.cinema-story-art{min-height:280px}.cinema-metrics{grid-template-columns:1fr}.cinema-news>header{align-items:flex-start;flex-direction:column}.cinema-news>div{grid-template-columns:1fr}.cinema-start>.container{grid-template-columns:1fr}.cinema-start>.container>div{grid-column:auto}}

/* Home v3 — restrained full-screen showcase */
.showcase-home { background:#06080c; color:#f7f9fd; }
.showcase-stage { position:relative; min-height:720px; overflow:hidden; background:linear-gradient(180deg,rgba(4,6,9,.32),#06080c 95%),var(--showcase-cover),radial-gradient(circle at 50% 0,#243549,#090c11 60%); background-position:center; background-size:cover; }
.showcase-stage::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(4,7,11,.78),rgba(4,7,11,.18) 42%,rgba(4,7,11,.44)),radial-gradient(circle at 50% 43%,transparent 15%,rgba(4,7,11,.58) 88%); backdrop-filter:blur(2px); }
.showcase-stage::after { content:''; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,#000,transparent 75%); }
.showcase-stage-inner { position:relative; z-index:1; padding-block:42px 30px; }
.showcase-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:25px; }
.showcase-heading h1 { margin:8px 0 0; font-size:clamp(38px,6vw,74px); line-height:.88; letter-spacing:-.075em; text-transform:uppercase; }
.showcase-heading h1 span { color:#7ed9ff; }
.showcase-kicker { display:flex; align-items:center; gap:9px; color:#aeb9c8; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.showcase-kicker i { width:8px; height:8px; border-radius:50%; background:#5ce7a7; box-shadow:0 0 15px rgba(92,231,167,.8); }
.showcase-live { min-width:150px; padding:13px 17px; text-align:right; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(5,9,14,.62); backdrop-filter:blur(14px); }
.showcase-live small { display:block; color:#8593a6; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.showcase-live strong { font-size:25px; }
.showcase-live strong span { color:#718096; font-size:13px; }
.showcase-panels { display:flex; gap:10px; height:440px; perspective:1300px; transform-style:preserve-3d; }
.showcase-panel { --panel-accent:#72d9ff; position:relative; flex:1 1 0; min-width:0; overflow:hidden; isolation:isolate; border:1px solid rgba(255,255,255,.15); border-radius:15px; color:#fff; text-decoration:none; background:linear-gradient(180deg,rgba(4,7,11,.03),rgba(4,7,11,.18) 42%,rgba(4,7,11,.96)),var(--panel-image),linear-gradient(145deg,#26384b,#0b1017); background-size:cover; background-position:center; filter:grayscale(.7) saturate(.55) brightness(.78); transform:translateZ(0); transition:flex .55s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),filter .42s,border-color .42s,box-shadow .42s; }
.showcase-panel.kind-forum { --panel-accent:#c899ff; background:radial-gradient(circle at 50% 28%,rgba(181,113,255,.62),transparent 28%),linear-gradient(145deg,#302044,#0d1018); }
.showcase-panel.kind-news { --panel-accent:#ff7dac; background:radial-gradient(circle at 50% 28%,rgba(255,67,137,.52),transparent 28%),linear-gradient(145deg,#40202d,#0d1018); }
.showcase-panel.kind-users { --panel-accent:#7de3b1; background:radial-gradient(circle at 50% 28%,rgba(57,206,142,.48),transparent 28%),linear-gradient(145deg,#15372d,#0d1018); }
.showcase-panel::before { content:''; position:absolute; z-index:-1; inset:0; opacity:0; background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.16) 48%,transparent 68%); translate:-120% 0; transition:translate .8s ease,opacity .3s; }
.showcase-panel::after { content:''; position:absolute; z-index:-1; inset:auto 0 0; height:4px; background:var(--panel-accent); scale:0 1; transform-origin:left; transition:scale .42s cubic-bezier(.16,1,.3,1); }
.showcase-panel:hover,.showcase-panel.featured { filter:grayscale(0) saturate(1) brightness(1); border-color:color-mix(in srgb,var(--panel-accent) 68%,transparent); box-shadow:0 25px 55px rgba(0,0,0,.38); }
.showcase-panel:hover { flex:1.6 1 0; transform:translateY(-7px) translateZ(24px); }
.showcase-panel:hover::before { opacity:1; translate:120% 0; }
.showcase-panel:hover::after,.showcase-panel.featured::after { scale:1 1; }
.showcase-panel-index { position:absolute; top:13px; left:14px; color:rgba(255,255,255,.42); font-size:11px; font-weight:900; letter-spacing:.1em; }
.showcase-panel-mark { position:absolute; inset:12% -8% auto; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.34); font-size:clamp(125px,16vw,245px); line-height:1; font-weight:900; font-style:italic; text-align:center; opacity:.85; transition:scale .5s cubic-bezier(.16,1,.3,1),opacity .4s; }
.showcase-panel:hover .showcase-panel-mark { scale:1.08; opacity:.55; }
.showcase-panel-copy { position:absolute; inset:auto 16px 18px; min-width:0; }
.showcase-panel-copy small { display:flex; align-items:center; gap:7px; color:#aab5c3; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.showcase-panel-copy small i { width:6px; height:6px; flex:0 0 auto; border-radius:50%; background:#758196; }
.showcase-panel.online .showcase-panel-copy small i { background:#61e5a9; box-shadow:0 0 11px rgba(97,229,169,.8); }
.showcase-panel-copy h2 { margin:8px 0 3px; overflow:hidden; font-size:clamp(17px,2vw,26px); line-height:1; letter-spacing:-.04em; text-overflow:ellipsis; white-space:nowrap; }
.showcase-panel-copy p { margin:0; color:#7fdcff; font-size:11px; font-weight:800; }
.showcase-panel-copy > b { display:flex; align-items:center; gap:8px; margin-top:16px; color:#fff; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.showcase-panel-copy > b span { display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:#081019; background:#fff; }
.showcase-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; color:#8491a3; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.showcase-bottom > div { display:flex; gap:24px; }
.showcase-bottom a { color:#d8e1ec; text-decoration:none; border-bottom:1px solid rgba(126,217,255,.42); transition:.25s ease; }
.showcase-bottom a:hover { color:#7ed9ff; translate:0 -2px; }
.home-live-section { padding:82px 0 105px; background:linear-gradient(180deg,#06080c,#080c12); }
.home-live-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); gap:22px; }
.home-live-servers,.home-latest-news { border:1px solid rgba(255,255,255,.1); border-radius:20px; background:#0a0f16; overflow:hidden; }
.home-live-servers > header,.home-latest-news > header { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; padding:25px 27px; border-bottom:1px solid rgba(255,255,255,.08); }
.home-live-servers h2,.home-latest-news h2 { margin:7px 0 0; font-size:clamp(25px,3vw,36px); letter-spacing:-.045em; }
.home-live-servers header a { color:#7ed9ff; font-size:12px; text-decoration:none; }
.home-live-row { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:12px; padding:18px 26px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.065); transition:background .25s,translate .25s; }
.home-live-row:hover { background:rgba(126,217,255,.055); translate:3px 0; }
.home-live-state i { display:block; width:9px; height:9px; border-radius:50%; background:#596579; }
.home-live-row.online .home-live-state i { background:#5be4a6; box-shadow:0 0 13px rgba(91,228,166,.65); }
.home-live-row > div { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 12px; }
.home-live-row strong { font-size:14px; }
.home-live-row small { color:#728197; font-size:10px; }
.home-live-row em { grid-column:1/-1; position:relative; height:3px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.home-live-row em::after { content:''; display:block; width:var(--fill); height:100%; background:linear-gradient(90deg,#5bcfff,#717cff); transition:width .6s ease; }
.home-live-row > b { font-size:20px; }
.home-live-row > b small { font-size:10px; }
.home-latest-news > a:not(.home-news-all) { display:block; padding:19px 24px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.065); transition:background .25s; }
.home-latest-news > a:hover { background:rgba(255,255,255,.025); }
.home-latest-news a > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.home-latest-news time { color:#66758a; font-size:10px; }
.home-latest-news h3 { margin:12px 0 7px; font-size:16px; }
.home-latest-news p { margin:0; color:#8491a4; font-size:12px; line-height:1.5; }
.home-news-all { display:block; padding:18px 24px; color:#7ed9ff; text-decoration:none; font-size:12px; font-weight:800; }
.home-clean-empty { padding:28px; color:#758398; }
@media(max-width:900px){.showcase-stage{min-height:auto}.showcase-panels{height:380px;overflow-x:auto;padding:6px 2px 12px;scroll-snap-type:x mandatory}.showcase-panel,.showcase-panel:hover{flex:0 0 180px;transform:none;scroll-snap-align:start}.showcase-panel.featured{flex-basis:220px}.home-live-grid{grid-template-columns:1fr}.showcase-panel-mark{font-size:170px}}
@media(max-width:620px){.showcase-stage-inner{padding-top:28px}.showcase-heading{align-items:flex-start}.showcase-live{min-width:105px;padding:10px}.showcase-live strong{font-size:20px}.showcase-panels{height:330px}.showcase-panel,.showcase-panel:hover{flex-basis:150px}.showcase-panel.featured{flex-basis:185px}.showcase-bottom{align-items:flex-start;flex-direction:column}.showcase-bottom>div{gap:14px;flex-wrap:wrap}.home-live-section{padding-block:46px 70px}.home-live-servers>header,.home-latest-news>header{padding:20px}.home-live-row{padding:16px 18px}.home-live-row>div{grid-template-columns:1fr}.home-live-row em{grid-column:auto}.home-live-row>div>small{display:none}}

/* Recursive forum folder explorer */
.folder-forum-page { min-height:80vh; padding:48px 0 95px; background:radial-gradient(circle at 30% 0,rgba(56,153,221,.085),transparent 29%),#060a12; }
.folder-forum-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:24px; }
.folder-forum-head h1 { margin:7px 0 10px; font-size:clamp(36px,6vw,66px); letter-spacing:-.055em; }
.folder-forum-head p { max-width:720px; margin:0; color:#8d9eb4; line-height:1.6; }
.folder-forum-head > div:last-child { display:flex; gap:9px; flex-wrap:wrap; }
.folder-forum-search { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin-bottom:20px; padding:8px 9px 8px 16px; border:1px solid rgba(117,216,255,.13); border-radius:15px; background:#0a111e; }
.folder-forum-search > span { color:#66809c; font-size:20px; }
.folder-forum-search input { min-height:42px; border:0; outline:0; background:transparent; color:#edf7ff; }
.folder-forum-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:20px; }
.folder-forum-layout > main { display:grid; gap:17px; min-width:0; }
.forum-folder-section { overflow:hidden; border:1px solid rgba(117,216,255,.13); border-radius:18px; background:#09111e; box-shadow:0 24px 55px rgba(0,0,0,.18); }
.forum-folder-section > header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:19px 23px; border-bottom:1px solid rgba(117,216,255,.1); background:linear-gradient(90deg,rgba(41,133,196,.13),transparent); }
.forum-folder-section > header > div { display:flex; align-items:center; gap:13px; }
.forum-section-mark { display:grid; place-items:center; width:38px; height:38px; border:1px solid rgba(117,216,255,.22); border-radius:11px; color:#79d9ff; background:rgba(53,151,209,.1); font-weight:900; }
.forum-folder-section h2 { margin:0; font-size:19px; }
.forum-folder-section header p,.forum-folder-section header small { margin:3px 0 0; color:#72869f; font-size:11px; }
.forum-folder-tree { padding:7px 0; }
.forum-folder-node { display:block; margin-left:calc(var(--folder-depth) * 26px); }
.forum-folder-node > summary { list-style:none; }
.forum-folder-node > summary::-webkit-details-marker { display:none; }
.forum-folder-row { position:relative; display:grid; grid-template-columns:22px 43px minmax(170px,1fr) 62px 82px minmax(150px,.72fr) auto; align-items:center; gap:10px; min-height:72px; padding:9px 16px 9px 12px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.055); transition:background .22s,translate .22s; }
.forum-folder-row:hover { background:rgba(84,180,234,.055); translate:2px 0; }
.forum-folder-toggle { display:grid; place-items:center; width:20px; height:20px; color:#617994; transition:rotate .25s ease; }
.forum-folder-node[open] > summary .forum-folder-toggle { rotate:90deg; }
.forum-folder-icon { position:relative; display:block; width:37px; height:28px; border-radius:4px 5px 5px 5px; background:linear-gradient(145deg,#ffd36e,#d99c32); box-shadow:inset 0 -5px 10px rgba(105,57,4,.18),0 5px 13px rgba(0,0,0,.2); }
.forum-folder-icon::before { content:''; position:absolute; left:2px; top:-5px; width:17px; height:8px; border-radius:4px 5px 0 0; background:#eeb94f; }
.forum-folder-icon i { position:absolute; inset:5px 5px 4px; border-radius:2px; background:linear-gradient(145deg,rgba(255,255,255,.34),transparent); }
.forum-folder-name { min-width:0; }
.forum-folder-name b { display:block; overflow:hidden; color:#eaf4ff; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.forum-folder-name small { display:block; overflow:hidden; margin-top:4px; color:#708399; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.forum-folder-count { text-align:center; }
.forum-folder-count b { display:block; font-size:13px; }
.forum-folder-count small { color:#60748d; font-size:9px; }
.forum-folder-last { min-width:0; }
.forum-folder-last b,.forum-folder-last small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.forum-folder-last b { font-size:11px; }
.forum-folder-last small { margin-top:3px; color:#62768e; font-size:9px; }
.forum-folder-open { padding:7px 9px; color:#74d5ff; font-size:10px; text-decoration:none; border-radius:8px; transition:.2s; }
.forum-folder-open:hover { background:rgba(116,213,255,.1); }
.forum-folder-children { position:relative; }
.forum-folder-children::before { content:''; position:absolute; left:calc((var(--folder-depth,0) + 1) * 26px + 22px); top:0; bottom:7px; width:1px; background:rgba(117,216,255,.11); }
.folder-forum-recent { position:sticky; top:95px; overflow:hidden; border:1px solid rgba(117,216,255,.12); border-radius:18px; background:#09111e; }
.folder-forum-recent > header { padding:20px; border-bottom:1px solid rgba(117,216,255,.09); }
.folder-forum-recent h2 { margin:6px 0 0; font-size:21px; }
.folder-forum-recent > a { display:grid; grid-template-columns:39px minmax(0,1fr); align-items:center; gap:11px; padding:14px 17px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.055); transition:background .22s; }
.folder-forum-recent > a:hover { background:rgba(117,216,255,.05); }
.folder-forum-recent img { width:39px; height:39px; object-fit:cover; border-radius:10px; }
.folder-forum-recent b,.folder-forum-recent small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.folder-forum-recent b { font-size:11px; }.folder-forum-recent small { margin-top:4px; color:#697d95; font-size:9px; }
.folder-search-results > a { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:12px; padding:16px 21px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.06); }
.folder-search-results b,.folder-search-results small { display:block; }.folder-search-results small,.folder-search-results time { color:#6c8098; font-size:10px; }
.category-children .forum-category-row { grid-template-columns:54px minmax(0,1fr); min-height:73px; }
.category-children .forum-icon { position:relative; width:38px; height:28px; overflow:visible; border-radius:4px 5px 5px 5px; color:transparent; background:linear-gradient(145deg,#ffd36e,#d99c32); box-shadow:inset 0 -5px 10px rgba(105,57,4,.18),0 5px 13px rgba(0,0,0,.2); }
.category-children .forum-icon::before { content:''; position:absolute; left:2px; top:-5px; width:17px; height:8px; border-radius:4px 5px 0 0; background:#eeb94f; }

/* Server handbook with GitBook-like left navigation */
.handbook-shell { display:grid; grid-template-columns:300px minmax(0,1fr); min-height:670px; overflow:hidden; border:1px solid rgba(117,216,255,.13); border-radius:20px; background:#0a101b; box-shadow:0 28px 70px rgba(0,0,0,.25); }
.handbook-nav { min-width:0; border-right:1px solid rgba(117,216,255,.11); background:#080e18; }
.handbook-nav-title { display:flex; align-items:center; gap:11px; padding:22px 19px; border-bottom:1px solid rgba(117,216,255,.1); }
.handbook-nav-title img { width:39px; height:39px; object-fit:contain; }
.handbook-nav-title strong,.handbook-nav-title small { display:block; }.handbook-nav-title small { margin-top:3px; color:#6f8198; font-size:10px; }
.handbook-nav nav { max-height:720px; overflow:auto; padding:15px 10px 28px; scrollbar-width:thin; }
.handbook-nav section + section { margin-top:22px; }
.handbook-nav h3 { margin:0 10px 8px; color:#dfeafa; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.handbook-nav a { position:relative; display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:7px; padding:10px 11px; color:#92a1b5; font-size:12px; line-height:1.35; text-decoration:none; border-radius:9px; transition:background .22s,color .22s,translate .22s; }
.handbook-nav a::before { content:''; position:absolute; left:-10px; top:6px; bottom:6px; width:2px; border-radius:99px; background:#4b9fff; scale:1 0; transition:scale .22s; }
.handbook-nav a:hover { color:#dceaff; background:rgba(72,147,218,.07); translate:2px 0; }
.handbook-nav a.active { color:#55a3ff; background:linear-gradient(90deg,rgba(48,125,214,.13),transparent); }
.handbook-nav a.active::before { scale:1; }
.handbook-nav a i { font-style:normal; text-align:center; }
.handbook-document { min-width:0; background:linear-gradient(145deg,#0d1522,#0a101a); }
.handbook-document > header { display:flex; align-items:flex-start; justify-content:space-between; gap:22px; padding:35px 42px 27px; border-bottom:1px solid rgba(117,216,255,.1); }
.handbook-document header h1 { margin:8px 0; font-size:clamp(30px,4vw,49px); letter-spacing:-.045em; }
.handbook-document header p { margin:0; color:#687b94; font-size:10px; }
.handbook-document header > div:last-child { display:flex; gap:8px; }
.handbook-document-body { max-width:900px; padding:38px 44px 65px; color:#aebdd0; font-size:15px; line-height:1.75; }
.handbook-document-body .bb-heading { margin:30px 0 11px; color:#f2f7ff; font-size:20px; }
.handbook-document-body .bb-heading:first-child { margin-top:0; }
.handbook-editor-dialog { width:min(980px,calc(100% - 28px)); max-height:92vh; padding:0; border:1px solid rgba(117,216,255,.2); border-radius:18px; color:#eef7ff; background:#0a111d; }
.handbook-editor-dialog::backdrop { background:rgba(2,5,10,.78); backdrop-filter:blur(7px); }
.handbook-editor-dialog form { padding:24px; }
.handbook-editor-dialog .dialog-title { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.handbook-editor-dialog .dialog-title h2 { margin:6px 0 17px; }
@media(max-width:980px){.folder-forum-layout{grid-template-columns:1fr}.folder-forum-recent{position:static}.forum-folder-row{grid-template-columns:22px 43px minmax(150px,1fr) 54px 65px auto}.forum-folder-last{display:none}.handbook-shell{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:700px){.folder-forum-page{padding-top:30px}.folder-forum-head{align-items:stretch;flex-direction:column}.folder-forum-head>div:last-child{display:grid}.forum-folder-section>header>small{display:none}.forum-folder-node{margin-left:calc(var(--folder-depth) * 13px)}.forum-folder-row{grid-template-columns:18px 38px minmax(0,1fr) auto;padding-inline:9px}.forum-folder-count:nth-of-type(2),.forum-folder-last,.forum-folder-open{display:none}.forum-folder-name small{white-space:normal}.handbook-shell{display:block}.handbook-nav{border-right:0;border-bottom:1px solid rgba(117,216,255,.11)}.handbook-nav nav{display:flex;max-height:none;overflow-x:auto;padding:10px}.handbook-nav section{display:flex;gap:5px;margin:0!important}.handbook-nav h3{display:none}.handbook-nav a{flex:0 0 170px}.handbook-nav a::before{display:none}.handbook-document>header{padding:25px 20px;flex-direction:column}.handbook-document-body{padding:28px 20px 45px}.handbook-document header>div:last-child{width:100%;flex-wrap:wrap}}

/* Audit feed: deliberately avoids the old wide table and any decorative stacking context. */
.audit-feed-page .admin-workspace-content { position:relative; z-index:5; }
.audit-feed { position:relative; z-index:6; overflow:hidden; margin-top:16px; border:1px solid rgba(116,210,255,.16); border-radius:20px; background:#08111f; box-shadow:0 26px 70px rgba(0,0,0,.28); isolation:isolate; }
.audit-feed::before { content:''; position:absolute; z-index:-1; inset:0 0 auto; height:170px; pointer-events:none; background:radial-gradient(circle at 8% 0,rgba(73,170,235,.13),transparent 50%); }
.audit-feed-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 24px; border-bottom:1px solid rgba(116,210,255,.11); }
.audit-feed-head > div { display:flex; align-items:center; gap:13px; }
.audit-feed-head h2 { margin:0; color:#f2f8ff; font-size:20px; }
.audit-feed-head p { margin:4px 0 0; color:#71869f; font-size:11px; }
.audit-feed-head > b { flex:0 0 auto; padding:7px 11px; border:1px solid rgba(116,210,255,.14); border-radius:999px; color:#8edfff; background:rgba(72,167,225,.08); font-size:11px; }
.audit-feed-list { position:relative; display:grid; }
.audit-event { display:grid; grid-template-columns:76px minmax(145px,.68fr) minmax(220px,1.25fr) minmax(170px,.9fr); align-items:center; gap:18px; min-width:0; padding:17px 24px; border-bottom:1px solid rgba(255,255,255,.06); background:rgba(7,15,28,.92); transition:background .22s ease,transform .22s ease; }
.audit-event:last-child { border-bottom:0; }
.audit-event:hover { background:#0d1b2e; transform:translateX(3px); }
.audit-event > time b,.audit-event > time span,.audit-event-actor > span,.audit-event-actor > small,.audit-event-action > small,.audit-event-target > span,.audit-event-target a small { display:block; }
.audit-event > time b { color:#f3f8ff; font-size:15px; }
.audit-event > time span { margin-top:3px; color:#5f748e; font-size:9px; }
.audit-event-actor,.audit-event-action,.audit-event-target { min-width:0; }
.audit-event-actor > span,.audit-event-target > span { margin-bottom:4px; color:#5f748e; font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.audit-event-actor > a,.audit-event-target > a { display:block; overflow:hidden; color:#dceeff; font-size:12px; font-weight:850; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.audit-event-actor > a:hover,.audit-event-target > a:hover { color:#7edcff; }
.audit-event-actor > strong,.audit-event-target > strong { display:block; overflow:hidden; color:#d1deed; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.audit-event-actor > small { margin-top:4px; overflow:hidden; color:#70849d; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.audit-event-action .action-badge { display:inline-flex; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.audit-event-action > small { margin-top:7px; overflow-wrap:anywhere; color:#8193a8; font-size:10px; line-height:1.45; }
.audit-event-target a small { margin-top:4px; color:#5f91b4; font-size:9px; }
.audit-feed-empty { padding:65px 25px; text-align:center; background:#08111f; }
.audit-feed-empty > span { display:grid; width:48px; height:48px; margin:0 auto 15px; place-items:center; border:1px solid rgba(116,210,255,.15); border-radius:15px; color:#6eaed1; background:rgba(80,173,226,.07); font-size:22px; }
.audit-feed-empty h3 { margin:0 0 7px; }.audit-feed-empty p { max-width:480px; margin:auto; color:#74879f; font-size:12px; line-height:1.55; }

/* Butterfly home v4: an original network/bento composition. */
.butterfly-home { --bp-cyan:#7bdcff; --bp-blue:#6b8dff; --bp-violet:#a17cff; min-height:100vh; overflow:hidden; color:#eff8ff; background:#050811; }
.butterfly-hero { position:relative; isolation:isolate; padding:74px 0 80px; background:radial-gradient(circle at 82% 24%,rgba(62,161,226,.14),transparent 29%),radial-gradient(circle at 18% 62%,rgba(104,83,225,.1),transparent 31%),linear-gradient(145deg,#070c16,#050810 65%); }
.butterfly-hero::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.28; pointer-events:none; background-image:linear-gradient(rgba(126,218,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(126,218,255,.055) 1px,transparent 1px); background-size:58px 58px; mask-image:linear-gradient(90deg,black,transparent 64%); }
.butterfly-hero::after { content:'BUTTERFLY'; position:absolute; z-index:-1; left:-2vw; bottom:-4vw; color:transparent; -webkit-text-stroke:1px rgba(127,216,255,.055); font-size:clamp(100px,19vw,290px); font-weight:950; line-height:.72; letter-spacing:-.08em; pointer-events:none; }
.butterfly-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; gap:clamp(38px,7vw,105px); }
.butterfly-kicker { display:flex; align-items:center; gap:9px; color:#8ca0b8; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.butterfly-kicker i { width:28px; height:1px; background:var(--bp-cyan); box-shadow:0 0 13px rgba(123,220,255,.8); }
.butterfly-hero-copy h1 { margin:21px 0 23px; font-size:clamp(48px,6vw,88px); line-height:.88; letter-spacing:-.07em; }
.butterfly-hero-copy h1 em { color:transparent; -webkit-text-stroke:1px var(--bp-cyan); font-style:normal; }
.butterfly-hero-copy > p { max-width:630px; margin:0; color:#899ab0; font-size:14px; line-height:1.75; }
.butterfly-hero-actions { display:flex; gap:10px; margin-top:31px; }.butterfly-hero-actions .btn { min-height:48px; padding-inline:20px; }.butterfly-hero-actions .btn span { margin-left:9px; }
.butterfly-quick-stats { display:flex; gap:0; margin-top:39px; border-top:1px solid rgba(123,220,255,.12); }
.butterfly-quick-stats > div { min-width:130px; padding:18px 24px 0 0; }.butterfly-quick-stats > div + div { padding-left:24px; border-left:1px solid rgba(123,220,255,.1); }
.butterfly-quick-stats strong,.butterfly-quick-stats span { display:block; }.butterfly-quick-stats strong { font-size:25px; letter-spacing:-.04em; }.butterfly-quick-stats strong small { color:#698099; font-size:11px; }.butterfly-quick-stats span { margin-top:3px; color:#657990; font-size:9px; text-transform:uppercase; letter-spacing:.07em; }
.butterfly-network { position:relative; min-width:0; overflow:hidden; border:1px solid rgba(123,220,255,.16); border-radius:27px; background:linear-gradient(145deg,rgba(13,28,49,.94),rgba(6,13,25,.98)); box-shadow:0 42px 100px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.035); }
.butterfly-network > header,.butterfly-network > footer { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 21px; }
.butterfly-network > header { border-bottom:1px solid rgba(123,220,255,.1); }.butterfly-network > header span,.butterfly-network > header strong { display:block; }.butterfly-network > header span { color:#667b95; font-size:9px; text-transform:uppercase; letter-spacing:.1em; }.butterfly-network > header strong { margin-top:3px; font-size:13px; }.butterfly-network > header > b { display:flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid rgba(105,227,174,.14); border-radius:999px; color:#72ddb0; background:rgba(58,192,139,.055); font-size:9px; text-transform:uppercase; }.butterfly-network > header > b i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 10px currentColor; }
.butterfly-network-map { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:9px; min-height:410px; padding:210px 18px 18px; background:radial-gradient(circle at 50% 37%,rgba(90,183,239,.13),transparent 28%); }
.butterfly-network-map::before,.butterfly-network-map::after { content:''; position:absolute; left:50%; top:37%; width:280px; height:280px; border:1px solid rgba(123,220,255,.08); border-radius:50%; translate:-50% -50%; }.butterfly-network-map::after { width:190px; height:190px; border-style:dashed; animation:bp-network-turn 24s linear infinite; }
.butterfly-core { position:absolute; z-index:2; left:50%; top:37%; display:grid; width:130px; height:130px; place-items:center; translate:-50% -50%; border:1px solid rgba(123,220,255,.2); border-radius:38% 62% 58% 42%; background:linear-gradient(145deg,#102943,#091322); box-shadow:0 0 0 12px rgba(88,181,235,.035),0 25px 55px rgba(0,0,0,.35); rotate:45deg; }
.butterfly-core img { width:78px; height:78px; object-fit:contain; rotate:-45deg; filter:drop-shadow(0 0 15px rgba(91,184,255,.35)); }.butterfly-core small { position:absolute; right:-37px; bottom:-14px; min-width:69px; padding:8px 10px; border:1px solid rgba(123,220,255,.16); border-radius:10px; color:#fff; background:#0b1728; font-size:14px; font-weight:900; rotate:-45deg; }.butterfly-core small b { color:#637a93; font-size:9px; }
.butterfly-server-node { position:relative; z-index:3; display:grid; grid-template-columns:27px minmax(0,1fr) auto; align-items:center; gap:9px; min-width:0; padding:12px; border:1px solid rgba(123,220,255,.11); border-radius:13px; color:inherit; text-decoration:none; background:rgba(8,18,33,.92); transition:border-color .25s,background .25s,transform .25s; }.butterfly-server-node:hover { border-color:rgba(123,220,255,.35); background:#10233a; transform:translateY(-3px); }.butterfly-server-node > span { display:grid; width:27px; height:27px; place-items:center; border-radius:8px; color:#67809d; background:rgba(255,255,255,.035); font-size:9px; }.butterfly-server-node strong,.butterfly-server-node small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.butterfly-server-node strong { font-size:10px; }.butterfly-server-node small { margin-top:3px; color:#637892; font-size:8px; }.butterfly-server-node.online small { color:#67d7a5; }.butterfly-server-node > b { color:#d9eaff; font-size:10px; }
.butterfly-network > footer { border-top:1px solid rgba(123,220,255,.1); color:#60758e; font-size:9px; }.butterfly-network > footer a { color:#7bdcff; text-decoration:none; font-weight:850; }
.butterfly-home-grid { display:grid; grid-template-columns:1.18fr .82fr; gap:18px; padding-block:74px 105px; }
.butterfly-feature-server,.butterfly-news-stack,.butterfly-community-card,.butterfly-principles { min-width:0; overflow:hidden; border:1px solid rgba(123,220,255,.13); border-radius:23px; background:#09111e; box-shadow:0 25px 65px rgba(0,0,0,.2); }
.butterfly-feature-server { position:relative; min-height:470px; padding:25px; color:#fff; text-decoration:none; background:linear-gradient(180deg,rgba(3,8,15,.18),rgba(3,8,15,.4) 40%,#07101d 95%),var(--feature-cover),linear-gradient(145deg,#17324a,#09111e); background-size:cover; background-position:center; }.butterfly-feature-server::after { content:''; position:absolute; inset:auto 0 0; height:4px; background:linear-gradient(90deg,var(--bp-cyan),var(--bp-blue)); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }.butterfly-feature-server:hover::after { transform:scaleX(1); }.butterfly-feature-top,.butterfly-feature-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:15px; }.butterfly-feature-top > span { display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(6,14,23,.7); font-size:9px; text-transform:uppercase; }.butterfly-feature-top i { width:6px; height:6px; border-radius:50%; background:#627184; }.butterfly-feature-server.online .butterfly-feature-top i { background:#63e4a8; box-shadow:0 0 10px #63e4a8; }.butterfly-feature-top > b { color:#a9b8ca; font-size:10px; }.butterfly-feature-copy { position:absolute; z-index:1; left:25px; right:25px; bottom:93px; }.butterfly-feature-copy small { color:#83ddff; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }.butterfly-feature-copy h2 { margin:8px 0 11px; font-size:clamp(33px,5vw,62px); line-height:.95; letter-spacing:-.055em; }.butterfly-feature-copy p { max-width:510px; margin:0; color:#a2afbd; font-size:12px; line-height:1.55; }.butterfly-feature-bottom { position:absolute; left:25px; right:25px; bottom:24px; padding-top:15px; border-top:1px solid rgba(255,255,255,.14); }.butterfly-feature-bottom strong { font-size:22px; }.butterfly-feature-bottom strong small { color:#74869b; font-size:10px; }.butterfly-feature-bottom > span { font-size:11px; font-weight:850; }.butterfly-feature-bottom > span b { margin-left:8px; color:#7bdcff; }
.butterfly-news-stack > header { display:flex; align-items:flex-end; justify-content:space-between; gap:17px; padding:23px; border-bottom:1px solid rgba(123,220,255,.1); }.butterfly-news-stack h2 { margin:5px 0 0; font-size:25px; }.butterfly-news-stack header a { color:#7bdcff; font-size:10px; text-decoration:none; }.butterfly-news-stack > div > a { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; padding:19px 22px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.06); transition:background .22s; }.butterfly-news-stack > div > a:hover { background:rgba(123,220,255,.04); }.butterfly-news-index { color:#526981; font-size:9px; }.butterfly-news-stack a small { color:#65819d; font-size:9px; text-transform:uppercase; }.butterfly-news-stack h3 { margin:7px 0 5px; font-size:14px; }.butterfly-news-stack p { margin:0; color:#76889e; font-size:10px; line-height:1.45; }.butterfly-news-stack a > b { align-self:center; color:#6fbfdf; }.butterfly-news-empty { padding:50px 24px; color:#71849c; }
.butterfly-community-card { position:relative; min-height:360px; padding:31px; color:inherit; text-decoration:none; background:radial-gradient(circle at 85% 12%,rgba(135,91,236,.2),transparent 35%),linear-gradient(145deg,#12162d,#080e1a); }.butterfly-community-card h2 { margin:17px 0 13px; font-size:clamp(30px,4.3vw,54px); line-height:1; letter-spacing:-.05em; }.butterfly-community-card p { max-width:540px; color:#8594aa; font-size:12px; line-height:1.6; }.butterfly-community-card > b { position:absolute; left:31px; bottom:29px; font-size:11px; }.butterfly-community-card > b span { margin-left:10px; color:#9e87ff; }.butterfly-thread-lines { position:absolute; right:30px; top:28px; display:grid; gap:7px; width:98px; }.butterfly-thread-lines i { height:7px; border-radius:99px; background:rgba(162,134,255,.16); }.butterfly-thread-lines i:nth-child(2){width:72%;margin-left:auto}.butterfly-thread-lines i:nth-child(3){width:45%;margin-left:auto}
.butterfly-principles { padding:29px; }.butterfly-principles h2 { margin:14px 0 24px; font-size:29px; line-height:1.03; letter-spacing:-.04em; }.butterfly-principles > div { display:grid; }.butterfly-principles a { display:grid; grid-template-columns:33px minmax(0,1fr); gap:12px; padding:15px 0; color:inherit; text-decoration:none; border-top:1px solid rgba(255,255,255,.07); }.butterfly-principles a > b { color:#526980; font-size:9px; }.butterfly-principles strong,.butterfly-principles small { display:block; }.butterfly-principles strong { font-size:12px; }.butterfly-principles small { margin-top:4px; color:#6c8098; font-size:9px; }
@keyframes bp-network-turn { to { rotate:360deg; } }
@media(max-width:1050px){.butterfly-hero-grid{grid-template-columns:1fr}.butterfly-network{max-width:720px;width:100%}.butterfly-home-grid{grid-template-columns:1fr}.butterfly-news-stack{order:3}.butterfly-principles{order:4}}
@media(max-width:650px){.butterfly-hero{padding:42px 0 55px}.butterfly-hero-copy h1{font-size:48px}.butterfly-hero-actions{display:grid}.butterfly-quick-stats{overflow-x:auto}.butterfly-quick-stats>div{min-width:112px}.butterfly-network-map{grid-template-columns:1fr;padding-top:200px}.butterfly-core{top:31%}.butterfly-network-map::before,.butterfly-network-map::after{top:31%;width:210px;height:210px}.butterfly-network-map::after{width:150px;height:150px}.butterfly-home-grid{padding-block:46px 70px}.butterfly-feature-server{min-height:420px}.butterfly-community-card{min-height:330px}.butterfly-news-stack>header{align-items:flex-start;flex-direction:column}.audit-feed-head{align-items:flex-start}.audit-feed-head>p{display:none}.audit-event{grid-template-columns:58px minmax(0,1fr);gap:12px;padding:15px}.audit-event-action,.audit-event-target{grid-column:2}.audit-event-action{padding-top:7px;border-top:1px solid rgba(255,255,255,.055)}}

/* Forum hierarchy: explorer behaviour with forum visuals, not literal folders. */
.forum-folder-node { margin-left:0; }
.forum-folder-row { grid-template-columns:22px 44px minmax(0,1fr) 58px 76px minmax(125px,.62fr) auto; min-height:78px; padding:11px 15px 11px calc(14px + var(--folder-indent)); }
.forum-folder-node .forum-folder-node > .forum-folder-row::before { content:''; position:absolute; left:calc(24px + var(--folder-indent)); top:0; width:13px; height:50%; pointer-events:none; border-left:1px solid rgba(106,183,232,.18); border-bottom:1px solid rgba(106,183,232,.18); border-radius:0 0 0 7px; }
.forum-folder-toggle { position:relative; z-index:1; border-radius:7px; color:#6e8ba8; background:#091423; }
.forum-folder-toggle.leaf-dot { color:#4e7996; font-size:13px; }
.forum-folder-icon { position:relative; display:grid; width:40px; height:40px; place-items:center; overflow:visible; border:1px solid rgba(109,206,255,.2); border-radius:12px; background:linear-gradient(145deg,rgba(42,127,183,.18),rgba(25,64,105,.12)); box-shadow:inset 0 1px rgba(255,255,255,.03),0 8px 18px rgba(0,0,0,.18); }
.forum-folder-icon::before { content:''; position:absolute; left:11px; top:11px; width:17px; height:13px; border:1.5px solid #79d7ff; border-radius:5px; background:rgba(84,184,233,.09); }
.forum-folder-icon::after { content:''; position:absolute; left:14px; top:23px; width:6px; height:6px; border-left:1.5px solid #79d7ff; transform:skewY(-35deg); }
.forum-folder-icon i { position:absolute; inset:auto 14px 17px; height:1px; border-radius:99px; background:rgba(121,215,255,.75); box-shadow:0 4px 0 rgba(121,215,255,.42); }
.forum-folder-node.has-children > .forum-folder-row .forum-folder-icon { border-color:rgba(151,133,255,.25); background:linear-gradient(145deg,rgba(107,80,206,.2),rgba(33,56,107,.12)); }
.forum-folder-node.has-children > .forum-folder-row .forum-folder-icon::before { border-color:#a99cff; }
.forum-folder-node.has-children > .forum-folder-row .forum-folder-icon::after { border-left-color:#a99cff; }
.forum-folder-node.has-children > .forum-folder-row .forum-folder-icon i { background:rgba(169,156,255,.75); box-shadow:0 4px 0 rgba(169,156,255,.42); }
.forum-folder-name { align-self:center; min-width:0; padding-right:10px; }
.forum-folder-name b { display:block; overflow:visible; color:#edf7ff; font-size:14px; line-height:1.35; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.forum-folder-name small { display:block; overflow:visible; margin-top:5px; color:#70859d; font-size:10px; line-height:1.35; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.forum-folder-children { position:relative; }
.forum-folder-children::before { display:none; }
.forum-folder-open { white-space:nowrap; }
.category-children .forum-icon { position:relative; display:grid; width:40px; height:40px; place-items:center; overflow:hidden; border:1px solid rgba(109,206,255,.2); border-radius:12px; color:#7edcff; background:linear-gradient(145deg,rgba(42,127,183,.18),rgba(25,64,105,.12)); box-shadow:none; }
.category-children .forum-icon::before { content:'◇'; position:static; width:auto; height:auto; color:#7edcff; background:none; font-size:18px; }
@media(max-width:980px){.forum-folder-row{grid-template-columns:22px 44px minmax(0,1fr) 54px 68px auto}.forum-folder-last{display:none}}
@media(max-width:700px){.forum-folder-node{margin-left:0}.forum-folder-row{grid-template-columns:18px 40px minmax(0,1fr) auto; min-height:74px; padding:9px 9px 9px calc(8px + var(--folder-indent-mobile))}.forum-folder-node .forum-folder-node>.forum-folder-row::before{left:calc(14px + var(--folder-indent-mobile));width:8px}.forum-folder-count{display:none}.forum-folder-name+.forum-folder-count{display:block}.forum-folder-last,.forum-folder-open{display:none}.forum-folder-name b{font-size:13px}.forum-folder-name small{font-size:9px}}

/* Home v5: Butterfly portal. The square forms first, server rows follow. */
.bp-home-v5 { --v5-cyan:#78ddff; --v5-blue:#668cff; --v5-violet:#9a79ff; overflow:hidden; color:#f1f8ff; background:#05080f; }
.bp-v5-hero { position:relative; isolation:isolate; min-height:calc(100vh - 72px); padding:clamp(55px,7vw,105px) 0 40px; background:radial-gradient(circle at 74% 38%,rgba(53,145,207,.13),transparent 27%),radial-gradient(circle at 16% 18%,rgba(105,78,216,.09),transparent 31%),#05080f; }
.bp-v5-hero::before { content:''; position:absolute; z-index:-2; inset:0; opacity:.32; background-image:linear-gradient(rgba(105,195,241,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(105,195,241,.05) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,black,transparent 72%); }
.bp-v5-hero::after { content:''; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg,transparent,rgba(120,221,255,.28),transparent); }
.bp-v5-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr); align-items:center; gap:clamp(42px,7vw,110px); }
.bp-v5-label { display:flex; align-items:center; gap:10px; color:#8b9db3; font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.bp-v5-label i { width:31px; height:1px; background:var(--v5-cyan); box-shadow:0 0 14px rgba(120,221,255,.8); }
.bp-v5-copy h1 { margin:24px 0; font-size:clamp(48px,6.2vw,88px); line-height:.88; letter-spacing:-.072em; }
.bp-v5-copy h1 em { color:var(--v5-cyan); font-style:normal; text-shadow:0 0 38px rgba(80,184,235,.18); }
.bp-v5-copy > p { max-width:600px; margin:0; color:#8a9bb0; font-size:14px; line-height:1.75; }
.bp-v5-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:31px; }.bp-v5-actions .btn { min-height:50px; padding-inline:21px; }.bp-v5-actions b { margin-left:10px; }
.bp-v5-stats { display:flex; margin-top:41px; border-top:1px solid rgba(120,221,255,.12); }
.bp-v5-stats > div { min-width:128px; padding:18px 24px 0 0; }.bp-v5-stats > div+div { padding-left:24px; border-left:1px solid rgba(120,221,255,.1); }
.bp-v5-stats strong,.bp-v5-stats span { display:block; }.bp-v5-stats strong { font-size:25px; letter-spacing:-.04em; }.bp-v5-stats strong small { color:#647890; font-size:10px; }.bp-v5-stats span { margin-top:4px; color:#63768d; font-size:9px; letter-spacing:.07em; text-transform:uppercase; }
.bp-portal-scene { --tilt-x:0deg; --tilt-y:0deg; --pointer-x:50%; --pointer-y:50%; position:relative; width:min(100%,570px); margin-inline:auto; aspect-ratio:1; perspective:1200px; opacity:0; animation:bpPortalSceneIn 1.05s .16s cubic-bezier(.16,1,.3,1) forwards; }
.bp-portal-shadow { position:absolute; inset:10% -7% -10%; opacity:.7; border-radius:45%; pointer-events:none; background:radial-gradient(ellipse at center,rgba(26,108,164,.22),transparent 67%); filter:blur(24px); transform:translateY(22px); }
.bp-portal-square { position:relative; display:grid; grid-template-rows:auto 138px minmax(0,1fr) auto; width:100%; height:100%; overflow:hidden; border:1px solid rgba(120,221,255,.22); border-radius:26px; background:linear-gradient(145deg,rgba(13,29,50,.96),rgba(5,12,23,.98)); box-shadow:inset 0 1px rgba(255,255,255,.04),0 40px 90px rgba(0,0,0,.42); transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transform-style:preserve-3d; transition:transform .15s ease-out,box-shadow .2s ease; }
.bp-portal-square::before { content:''; position:absolute; inset:0; opacity:.5; pointer-events:none; background:linear-gradient(90deg,transparent 49.85%,rgba(120,221,255,.055) 50%,transparent 50.15%),linear-gradient(transparent 49.85%,rgba(120,221,255,.055) 50%,transparent 50.15%); }
.bp-portal-square::after { content:''; position:absolute; z-index:8; inset:0; opacity:.7; pointer-events:none; background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),transparent 0,transparent 16%,rgba(2,7,14,.1) 42%,rgba(1,5,11,.42) 100%); transition:background .12s linear; }
.bp-portal-scene:hover .bp-portal-square { box-shadow:inset 0 1px rgba(255,255,255,.04),0 55px 105px rgba(0,0,0,.5); }
.bp-portal-square > header,.bp-portal-square > footer { position:relative; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 21px; }
.bp-portal-square > header { border-bottom:1px solid rgba(120,221,255,.1); }.bp-portal-square > header span { display:flex; align-items:center; gap:8px; color:#7890aa; font-size:9px; font-weight:850; letter-spacing:.13em; }.bp-portal-square > header span i { width:6px; height:6px; border-radius:50%; background:#60e1a6; box-shadow:0 0 12px rgba(96,225,166,.85); }.bp-portal-square > header b { color:#a8bad0; font-size:10px; letter-spacing:.1em; }
.bp-portal-core { position:relative; z-index:3; display:grid; place-items:center; opacity:0; animation:bpPortalCoreIn .75s .82s cubic-bezier(.16,1,.3,1) forwards; }
.bp-portal-core > span { position:absolute; width:115px; height:115px; border:1px solid rgba(120,221,255,.16); border-radius:38% 62% 42% 58%; transform:rotate(45deg); animation:bpPortalCoreTurn 18s linear infinite; }.bp-portal-core > span::after { content:''; position:absolute; inset:13px; border:1px dashed rgba(153,121,255,.18); border-radius:inherit; }
.bp-portal-core img { position:relative; width:88px; height:88px; object-fit:contain; filter:drop-shadow(0 0 20px rgba(83,176,235,.32)); }.bp-portal-core small { position:absolute; right:calc(50% - 73px); bottom:17px; display:grid; width:28px; height:28px; place-items:center; border:1px solid rgba(120,221,255,.18); border-radius:8px; color:#77d9fc; background:#091625; font-size:8px; font-weight:900; }
.bp-portal-servers { position:relative; z-index:10; display:grid; align-content:center; gap:7px; min-height:0; padding:5px 17px 12px; }
.bp-portal-server { display:grid; grid-template-columns:29px minmax(0,1fr) auto 7px; align-items:center; gap:10px; min-width:0; padding:10px 12px; opacity:0; border:1px solid rgba(120,221,255,.1); border-radius:12px; color:inherit; text-decoration:none; background:rgba(6,15,28,.86); transform:translateY(15px) scale(.98); animation:bpPortalServerIn .62s var(--server-delay) cubic-bezier(.16,1,.3,1) forwards; transition:border-color .22s,background .22s,translate .22s; }.bp-portal-server:hover { border-color:rgba(120,221,255,.34); background:#102238; translate:3px 0; }.bp-portal-index { display:grid; width:27px; height:27px; place-items:center; border-radius:8px; color:#637b94; background:rgba(255,255,255,.035); font-size:8px; }.bp-portal-server strong,.bp-portal-server div small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.bp-portal-server strong { font-size:10px; }.bp-portal-server div small { margin-top:3px; color:#60758d; font-size:8px; }.bp-portal-server > b { font-size:13px; }.bp-portal-server > b small { color:#63768c; font-size:8px; }.bp-portal-server > i { width:6px; height:6px; border-radius:50%; background:#566579; }.bp-portal-server.online > i { background:#60dfa4; box-shadow:0 0 10px rgba(96,223,164,.7); }
.bp-portal-square > footer { border-top:1px solid rgba(120,221,255,.09); color:#5f748c; font-size:8px; text-transform:uppercase; letter-spacing:.06em; }.bp-portal-square > footer b { color:#7592ad; font-weight:800; }
.bp-portal-corner { position:absolute; z-index:12; width:38px; height:38px; opacity:0; pointer-events:none; border-color:var(--v5-cyan); border-style:solid; animation:bpPortalCornerIn .55s .58s ease forwards; }.bp-portal-corner.c1 { top:-1px; left:-1px; border-width:2px 0 0 2px; border-radius:26px 0 0; }.bp-portal-corner.c2 { top:-1px; right:-1px; border-width:2px 2px 0 0; border-radius:0 26px 0 0; }.bp-portal-corner.c3 { right:-1px; bottom:-1px; border-width:0 2px 2px 0; border-radius:0 0 26px; }.bp-portal-corner.c4 { left:-1px; bottom:-1px; border-width:0 0 2px 2px; border-radius:0 0 0 26px; }
.bp-portal-empty { padding:25px; color:#73879e; text-align:center; }
.bp-v5-scroll { display:flex; align-items:center; justify-content:center; gap:10px; margin-top:35px; color:#62758c; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.bp-v5-scroll span { position:relative; width:17px; height:27px; border:1px solid rgba(120,221,255,.2); border-radius:99px; }.bp-v5-scroll span::after { content:''; position:absolute; left:50%; top:6px; width:2px; height:5px; border-radius:99px; background:#78ddff; transform:translateX(-50%); animation:bpV5Scroll 1.7s ease-in-out infinite; }
.bp-v5-directions { padding-block:88px 98px; }.bp-v5-directions > header { display:grid; grid-template-columns:1fr auto; align-items:end; gap:5px 30px; margin-bottom:26px; }.bp-v5-directions h2 { margin:7px 0 0; font-size:clamp(34px,5vw,60px); letter-spacing:-.055em; }.bp-v5-directions header p { grid-column:2; grid-row:1/3; margin:0; color:#74869d; font-size:11px; }.bp-v5-directions > div { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.bp-v5-direction { position:relative; display:grid; grid-template-columns:31px minmax(0,1fr) auto; gap:13px; min-height:205px; padding:25px; overflow:hidden; border:1px solid rgba(120,221,255,.12); border-radius:19px; color:inherit; text-decoration:none; background:#09111d; transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .25s,background .25s; }.bp-v5-direction::before { content:''; position:absolute; inset:auto -18% -55%; height:170px; opacity:.18; border-radius:50%; background:var(--direction-color,#78ddff); filter:blur(35px); transition:opacity .3s,transform .35s; }.bp-v5-direction.forum { --direction-color:#9d7cff; }.bp-v5-direction.players { --direction-color:#62dba7; }.bp-v5-direction:hover { border-color:color-mix(in srgb,var(--direction-color) 42%,transparent); background:#0d1929; transform:translateY(-7px); }.bp-v5-direction:hover::before { opacity:.28; transform:translateY(-12px); }.bp-v5-direction > span { color:#536a82; font-size:9px; }.bp-v5-direction small { color:var(--direction-color); font-size:8px; letter-spacing:.12em; }.bp-v5-direction h3 { margin:14px 0 8px; font-size:29px; letter-spacing:-.04em; }.bp-v5-direction p { max-width:230px; margin:0; color:#77899e; font-size:11px; line-height:1.5; }.bp-v5-direction > b { color:#7591aa; font-size:18px; }
.bp-v5-journal { padding:92px 0 110px; border-top:1px solid rgba(120,221,255,.09); background:linear-gradient(145deg,#080e18,#05090f); }.bp-v5-journal-grid { display:grid; grid-template-columns:310px minmax(0,1fr); gap:clamp(45px,8vw,120px); }.bp-v5-journal-grid > header h2 { margin:15px 0; font-size:clamp(42px,5vw,69px); line-height:.9; letter-spacing:-.065em; }.bp-v5-journal-grid > header p { color:#77899e; font-size:11px; line-height:1.65; }.bp-v5-journal-grid > header a { display:inline-block; margin-top:18px; color:#78ddff; font-size:10px; text-decoration:none; border-bottom:1px solid rgba(120,221,255,.3); }.bp-v5-news-list { display:grid; }.bp-v5-news-list > a { display:grid; grid-template-columns:60px minmax(0,1fr) auto; gap:20px; padding:21px 4px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.07); transition:padding .25s,background .25s; }.bp-v5-news-list > a:first-child { border-top:1px solid rgba(255,255,255,.07); }.bp-v5-news-list > a:hover { padding-inline:13px; background:rgba(120,221,255,.025); }.bp-v5-news-list time { color:#c9d8e8; font-size:17px; font-weight:850; }.bp-v5-news-list time small { display:block; margin-top:3px; color:#5f738a; font-size:8px; }.bp-v5-news-list a div > span { color:#70cceb; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }.bp-v5-news-list h3 { margin:7px 0 5px; font-size:16px; }.bp-v5-news-list p { margin:0; color:#75879d; font-size:10px; line-height:1.5; }.bp-v5-news-list a > b { align-self:center; color:#6d8ca8; }.bp-v5-news-empty { padding:45px; color:#70839a; border:1px dashed rgba(120,221,255,.13); border-radius:17px; }
@keyframes bpPortalSceneIn { from { opacity:0; transform:translateY(34px) scale(.88); filter:blur(7px); } 65% { opacity:1; } to { opacity:1; transform:none; filter:none; } }
@keyframes bpPortalCoreIn { from { opacity:0; transform:scale(.72) rotate(-7deg); } to { opacity:1; transform:none; } }
@keyframes bpPortalCoreTurn { to { transform:rotate(405deg); } }
@keyframes bpPortalServerIn { to { opacity:1; transform:none; } }
@keyframes bpPortalCornerIn { from { opacity:0; transform:scale(.4); } to { opacity:1; transform:none; } }
@keyframes bpV5Scroll { 0%,100% { opacity:.25; transform:translate(-50%,0); } 50% { opacity:1; transform:translate(-50%,8px); } }
@media(max-width:1050px){.bp-v5-hero-grid{grid-template-columns:1fr}.bp-v5-copy{max-width:760px}.bp-portal-scene{margin-top:15px}.bp-v5-directions>div{grid-template-columns:1fr 1fr}.bp-v5-direction:last-child{grid-column:1/-1}.bp-v5-journal-grid{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:680px){.bp-v5-hero{padding-top:42px}.bp-v5-copy h1{font-size:49px}.bp-v5-actions{display:grid}.bp-v5-stats{overflow-x:auto}.bp-v5-stats>div{min-width:112px}.bp-portal-scene{width:100%;min-height:520px;aspect-ratio:auto}.bp-portal-square{grid-template-rows:auto 125px minmax(0,1fr) auto;border-radius:20px}.bp-portal-server{grid-template-columns:25px minmax(0,1fr) auto 6px;padding:9px}.bp-portal-server div small{display:none}.bp-v5-scroll{display:none}.bp-v5-directions{padding-block:60px}.bp-v5-directions>header{display:block}.bp-v5-directions header p{margin-top:8px}.bp-v5-directions>div{grid-template-columns:1fr}.bp-v5-direction:last-child{grid-column:auto}.bp-v5-direction{min-height:170px}.bp-v5-journal{padding-block:62px}.bp-v5-journal-grid{grid-template-columns:1fr}.bp-v5-news-list>a{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}}

/* Portal refinement: light cut-corner frame instead of a rounded dashboard card. */
.bp-portal-scene { width:min(100%,540px); }
.bp-portal-shadow { inset:22px -14px -15px 22px; opacity:.9; border:1px solid rgba(111,146,255,.14); border-radius:0; background:linear-gradient(145deg,rgba(31,72,119,.18),rgba(7,15,27,.34)); filter:none; clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px); transform:translateZ(-38px); transition:transform .16s ease-out,border-color .2s; }
.bp-portal-scene:hover .bp-portal-shadow { border-color:rgba(111,181,255,.25); transform:translate3d(5px,5px,-38px); }
.bp-portal-square { grid-template-rows:auto 158px minmax(0,1fr) auto; border:0; border-radius:0; background:radial-gradient(circle at 50% 31%,rgba(67,164,223,.15),transparent 27%),linear-gradient(145deg,rgba(11,28,48,.97),rgba(5,11,21,.99)); box-shadow:inset 0 0 0 1px rgba(120,221,255,.2),inset 0 0 75px rgba(24,86,130,.07),0 42px 95px rgba(0,0,0,.44); clip-path:polygon(25px 0,calc(100% - 25px) 0,100% 25px,100% calc(100% - 25px),calc(100% - 25px) 100%,25px 100%,0 calc(100% - 25px),0 25px); }
.bp-portal-square::before { opacity:.68; background:linear-gradient(90deg,transparent 49.9%,rgba(120,221,255,.055) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,rgba(120,221,255,.055) 50%,transparent 50.1%),repeating-linear-gradient(135deg,transparent 0 39px,rgba(120,221,255,.018) 40px); }
.bp-portal-square::after { background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(114,216,255,.08),transparent 18%,rgba(2,7,14,.08) 48%,rgba(1,5,11,.4) 100%); }
.bp-portal-square > header { margin:0 25px; padding:19px 0 16px; border-bottom-color:rgba(120,221,255,.12); }
.bp-portal-square > footer { margin:0 25px; padding:15px 0 18px; border-top-color:rgba(120,221,255,.11); }
.bp-portal-core { transform-style:preserve-3d; }
.bp-portal-core::before,.bp-portal-core::after { content:''; position:absolute; z-index:-1; top:50%; width:105px; height:78px; opacity:.8; border:1px solid rgba(120,221,255,.16); background:linear-gradient(145deg,rgba(70,165,224,.13),rgba(92,93,225,.035)); filter:drop-shadow(0 0 18px rgba(70,168,224,.08)); }
.bp-portal-core::before { right:50%; border-radius:82% 18% 66% 34%; transform:translate(1px,-50%) rotate(16deg); }
.bp-portal-core::after { left:50%; border-radius:18% 82% 34% 66%; transform:translate(-1px,-50%) rotate(-16deg); }
.bp-portal-core > span { width:126px; height:126px; opacity:.72; border-color:rgba(135,151,255,.18); }
.bp-portal-core img { width:80px; height:80px; }
.bp-portal-core small { right:calc(50% - 80px); bottom:20px; border-radius:3px; }
.bp-portal-servers { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:8px; padding:7px 25px 17px; }
.bp-portal-server { position:relative; grid-template-columns:27px minmax(0,1fr) auto 6px; gap:8px; min-height:61px; padding:10px; border-color:rgba(120,221,255,.095); border-radius:4px; background:linear-gradient(135deg,rgba(14,31,51,.82),rgba(7,16,29,.9)); }
.bp-portal-server::before { content:''; position:absolute; left:-1px; top:12px; bottom:12px; width:2px; opacity:.5; background:#65758b; transition:background .2s,box-shadow .2s; }
.bp-portal-server.online::before { background:#67e1aa; box-shadow:0 0 9px rgba(103,225,170,.55); }
.bp-portal-server:hover { border-color:rgba(120,221,255,.3); background:linear-gradient(135deg,rgba(17,42,68,.94),rgba(9,22,38,.96)); translate:0 -2px; }
.bp-portal-index { width:25px; height:25px; border-radius:3px; }
.bp-portal-server > b { font-size:11px; }.bp-portal-server > b small { display:none; }
.bp-portal-corner { width:48px; height:48px; border-color:#79dcff; }
.bp-portal-corner.c1 { border-radius:0; }.bp-portal-corner.c2 { border-radius:0; }.bp-portal-corner.c3 { border-radius:0; }.bp-portal-corner.c4 { border-radius:0; }
@media(max-width:680px){.bp-portal-scene{min-height:500px}.bp-portal-square{grid-template-rows:auto 145px minmax(0,1fr) auto;clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px)}.bp-portal-shadow{clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px),0 18px)}.bp-portal-square>header,.bp-portal-square>footer{margin-inline:18px}.bp-portal-servers{padding-inline:18px}.bp-portal-server{min-height:57px}.bp-portal-core::before,.bp-portal-core::after{width:86px;height:66px}}

/* Forum administration explorer */
.forum-admin-tree-page .admin-workspace-content { gap:17px; padding-bottom:85px; }
.forum-section-create > form { display:grid; grid-template-columns:minmax(220px,1fr) 150px; gap:12px; padding:20px; }.forum-section-create label { display:grid; gap:6px; color:#8093aa; font-size:11px; }.forum-section-create .wide,.forum-section-create .visibility-fieldset,.forum-section-create button { grid-column:1/-1; }
.forum-admin-explorer { overflow:hidden; border:1px solid rgba(119,209,255,.15); border-radius:20px; background:#08111e; box-shadow:0 25px 65px rgba(0,0,0,.24); }
.forum-admin-explorer > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 22px; border-bottom:1px solid rgba(119,209,255,.11); background:linear-gradient(90deg,rgba(54,141,199,.1),transparent); }.forum-admin-explorer > header > div { display:flex; align-items:center; gap:13px; }.forum-admin-explorer > header h2,.forum-admin-explorer > header p { margin:0; }.forum-admin-explorer > header h2 { font-size:20px; }.forum-admin-explorer > header p { margin-top:4px; color:#71859d; font-size:11px; }.forum-admin-explorer > header > span { color:#7189a2; font-size:10px; }
.forum-admin-section-list { display:grid; gap:16px; padding:17px; }
.forum-admin-section { position:relative; overflow:visible; border:1px solid rgba(119,209,255,.13); border-radius:16px; background:#091422; }
.forum-admin-section > header { position:relative; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:78px; padding:15px 17px; border-bottom:1px solid rgba(119,209,255,.11); background:linear-gradient(90deg,rgba(44,127,185,.11),transparent); }.forum-admin-section > header > div { display:flex; align-items:center; gap:12px; }.forum-admin-section > header > div:last-child { position:relative; flex-wrap:wrap; justify-content:flex-end; }.forum-admin-section h2,.forum-admin-section p { margin:0; }.forum-admin-section h2 { font-size:17px; }.forum-admin-section p { margin-top:4px; color:#71859d; font-size:10px; }
.forum-admin-section-icon { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(119,209,255,.2); border-radius:11px; color:#7bdcff; background:rgba(54,147,204,.09); font-weight:900; }
.forum-admin-section-settings { position:relative; }.forum-admin-section-settings > summary { list-style:none; }.forum-admin-section-settings > summary::-webkit-details-marker { display:none; }.forum-admin-section-settings[open] > summary { color:#07111f; background:#82ddff; }.forum-admin-section-settings > .forum-admin-edit-form { position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:min(720px,calc(100vw - 330px)); min-width:560px; padding:18px; border:1px solid rgba(119,209,255,.2); border-radius:15px; background:#0b1728; box-shadow:0 25px 70px rgba(0,0,0,.5); }.forum-admin-section-settings > .forum-admin-delete { position:absolute; z-index:31; right:18px; bottom:18px; }
.forum-admin-tree { padding:7px 0 9px; }
.forum-admin-folder { display:block; margin:0; }.forum-admin-folder > summary { position:relative; display:grid; grid-template-columns:22px 42px minmax(0,1fr) 58px 58px; align-items:center; gap:10px; min-height:70px; padding:9px 18px 9px calc(14px + var(--tree-indent)); list-style:none; border-bottom:1px solid rgba(255,255,255,.055); transition:background .2s; }.forum-admin-folder > summary::-webkit-details-marker { display:none; }.forum-admin-folder > summary:hover { background:rgba(76,168,226,.05); }.forum-admin-folder[open] > summary { background:rgba(76,168,226,.035); }
.forum-admin-chevron { display:grid; width:20px; height:20px; place-items:center; color:#68829d; transition:rotate .22s; }.forum-admin-folder[open] > summary .forum-admin-chevron { rotate:90deg; }
.forum-admin-folder-icon { position:relative; width:36px; height:27px; border-radius:4px 5px 5px 5px; background:linear-gradient(145deg,#f2c766,#c98928); box-shadow:inset 0 -5px 10px rgba(87,48,5,.2),0 6px 14px rgba(0,0,0,.2); }.forum-admin-folder-icon::before { content:''; position:absolute; left:2px; top:-5px; width:17px; height:8px; border-radius:4px 4px 0 0; background:#dfad43; }.forum-admin-folder-icon i { position:absolute; inset:6px 6px 5px; opacity:.45; border-top:1px solid #fff; }
.forum-admin-folder-copy { min-width:0; }.forum-admin-folder-copy b,.forum-admin-folder-copy small { display:block; }.forum-admin-folder-copy b { color:#eaf5ff; font-size:13px; }.forum-admin-folder-copy small { margin-top:4px; color:#6d8199; font-size:9px; white-space:normal; }
.forum-admin-folder-stat { text-align:center; }.forum-admin-folder-stat b,.forum-admin-folder-stat small { display:block; }.forum-admin-folder-stat b { font-size:12px; }.forum-admin-folder-stat small { margin-top:3px; color:#60758d; font-size:8px; }
.forum-admin-folder-body { position:relative; }.forum-admin-folder-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:10px 18px 11px calc(88px + var(--tree-indent)); border-bottom:1px solid rgba(255,255,255,.045); background:rgba(3,9,17,.25); }.forum-admin-edit { min-width:0; }.forum-admin-edit > summary { padding:8px 10px; list-style:none; border:1px solid rgba(119,209,255,.12); border-radius:8px; color:#8ca2ba; font-size:10px; font-weight:800; }.forum-admin-edit > summary::-webkit-details-marker { display:none; }.forum-admin-edit[open] { flex:1 1 100%; }.forum-admin-edit[open] > summary { margin-bottom:10px; color:#8fe4ff; background:rgba(75,151,209,.07); }
.forum-admin-edit-form { display:grid; gap:13px; padding:15px; border:1px solid rgba(119,209,255,.11); border-radius:13px; background:#0a1525; }.forum-admin-fields { display:grid; grid-template-columns:minmax(180px,1.2fr) 110px minmax(150px,.8fr) minmax(190px,1fr); gap:10px; }.forum-admin-fields label,.forum-folder-dialog-fields label { display:grid; gap:6px; color:#758aa2; font-size:10px; }.forum-admin-fields .wide { grid-column:1/-1; }.forum-admin-form-actions { display:flex; justify-content:flex-end; }.forum-admin-delete { margin-top:8px; }
.forum-admin-children { position:relative; }.forum-admin-children::before { content:''; position:absolute; z-index:1; left:calc(47px + var(--tree-indent)); top:0; bottom:12px; width:1px; background:rgba(119,209,255,.12); }.forum-admin-children > .forum-admin-folder > summary::before { content:''; position:absolute; left:calc(47px + var(--tree-indent)); top:0; width:20px; height:50%; border-left:1px solid rgba(119,209,255,.13); border-bottom:1px solid rgba(119,209,255,.13); border-radius:0 0 0 7px; }
.forum-admin-tree-empty { margin:13px; padding:25px; border:1px dashed rgba(119,209,255,.14); border-radius:12px; color:#71859d; text-align:center; font-size:11px; }
.forum-folder-dialog { width:min(760px,calc(100% - 28px)); max-height:92vh; padding:0; overflow:auto; border:1px solid rgba(119,209,255,.22); border-radius:19px; color:#eef8ff; background:#091422; box-shadow:0 35px 100px rgba(0,0,0,.58); }.forum-folder-dialog::backdrop { background:rgba(2,6,12,.82); backdrop-filter:blur(5px); }.forum-folder-dialog > form { padding:23px; }.forum-folder-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:17px; border-bottom:1px solid rgba(119,209,255,.1); }.forum-folder-dialog h2 { margin:7px 0 6px; font-size:27px; }.forum-folder-dialog header p { max-width:580px; margin:0; color:#72869e; font-size:11px; line-height:1.5; }.forum-folder-dialog-fields { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:11px; padding:18px 0 3px; }.forum-folder-dialog-fields .wide { grid-column:1/-1; }.forum-folder-dialog footer { display:flex; justify-content:flex-end; gap:9px; padding-top:17px; }
@media(max-width:900px){.forum-admin-section>header{align-items:flex-start;flex-direction:column}.forum-admin-section>header>div:last-child{width:100%;justify-content:flex-start}.forum-admin-section-settings>.forum-admin-edit-form{position:fixed;left:14px;right:14px;top:90px;width:auto;min-width:0;max-height:calc(100vh - 110px);overflow:auto}.forum-admin-fields{grid-template-columns:1fr 1fr}.forum-admin-folder>summary{grid-template-columns:20px 38px minmax(0,1fr) 48px}.forum-admin-folder-stat:last-child{display:none}}
@media(max-width:600px){.forum-section-create>form,.forum-folder-dialog-fields,.forum-admin-fields{grid-template-columns:1fr}.forum-admin-section-list{padding:9px}.forum-admin-explorer>header{align-items:flex-start;flex-direction:column}.forum-admin-folder>summary{grid-template-columns:18px 35px minmax(0,1fr);padding-left:calc(8px + min(var(--tree-indent),72px))}.forum-admin-folder-stat{display:none}.forum-admin-folder-toolbar{padding-left:calc(61px + min(var(--tree-indent),72px))}.forum-admin-folder-toolbar>.btn{width:100%}.forum-admin-children::before,.forum-admin-children>.forum-admin-folder>summary::before{display:none}.forum-folder-dialog footer{display:grid}.forum-folder-dialog footer .btn{width:100%}}

/* Softer dashboard inertia after the pointer leaves the hero. */
.landing-dashboard.is-depth-returning { transition:transform 1.08s cubic-bezier(.18,.72,.16,1),box-shadow .82s ease-out; }
.landing-dashboard.is-depth-returning::after { opacity:0; transition:opacity .72s ease-out; }

/* Forum explorer visual pass: cleaner hierarchy, calmer controls. */
.forum-admin-tree-page { background:radial-gradient(circle at 86% 0,rgba(70,150,211,.07),transparent 28%),#060b13; }
.forum-admin-explorer { border-color:rgba(124,196,235,.12); border-radius:17px; background:#070f1b; box-shadow:0 22px 58px rgba(0,0,0,.2); }
.forum-admin-explorer > header { min-height:76px; padding:17px 20px; background:linear-gradient(100deg,rgba(38,111,162,.11),rgba(8,16,29,.25) 55%,transparent); }
.forum-admin-explorer > header .admin-tool-icon { border-radius:10px; color:#92ddff; background:rgba(58,144,199,.075); box-shadow:none; }
.forum-admin-explorer > header > span { padding:7px 10px; border:1px solid rgba(124,196,235,.11); border-radius:8px; background:rgba(255,255,255,.018); }
.forum-admin-section-list { gap:13px; padding:13px; }
.forum-admin-section { overflow:hidden; border-color:rgba(124,196,235,.105); border-radius:14px; background:#081320; box-shadow:inset 0 1px rgba(255,255,255,.018); }
.forum-admin-section > header { min-height:72px; padding:13px 15px; background:linear-gradient(90deg,rgba(45,126,180,.09),rgba(7,15,27,.15)); }
.forum-admin-section > header::before { content:''; position:absolute; left:0; top:16px; bottom:16px; width:2px; border-radius:0 99px 99px 0; background:linear-gradient(#7fdfff,#718dff); box-shadow:0 0 12px rgba(105,192,244,.25); }
.forum-admin-section-icon { width:37px; height:37px; border:0; border-radius:10px; color:#8fdfff; background:linear-gradient(145deg,rgba(54,143,198,.16),rgba(70,99,181,.08)); font-size:13px; }
.forum-admin-section h2 { color:#eff8ff; font-size:16px; }.forum-admin-section p { color:#687e96; }
.forum-admin-section > header .btn { min-height:37px; border-radius:9px; box-shadow:none; }
.forum-admin-section-settings > .forum-admin-edit-form { border-color:rgba(124,196,235,.15); background:linear-gradient(145deg,#0c192a,#081321); box-shadow:0 24px 65px rgba(0,0,0,.48); }
.forum-admin-tree { padding:4px 0 7px; background:linear-gradient(90deg,rgba(25,73,106,.035),transparent 42%); }
.forum-admin-folder > summary { grid-template-columns:20px 39px minmax(0,1fr) 55px 55px; min-height:66px; padding-top:8px; padding-bottom:8px; border-bottom-color:rgba(255,255,255,.045); }
.forum-admin-folder > summary::after { content:''; position:absolute; left:0; top:12px; bottom:12px; width:2px; opacity:0; border-radius:99px; background:#78d8ff; transform:scaleY(.4); transition:opacity .2s,transform .24s; }
.forum-admin-folder > summary:hover::after,.forum-admin-folder[open] > summary::after { opacity:.7; transform:scaleY(1); }
.forum-admin-folder > summary:hover { background:linear-gradient(90deg,rgba(67,156,211,.07),transparent 72%); }
.forum-admin-folder[open] > summary { background:linear-gradient(90deg,rgba(61,146,205,.075),rgba(72,94,189,.025) 65%,transparent); }
.forum-admin-chevron { color:#5e7690; font-size:15px; }.forum-admin-folder[open] > summary .forum-admin-chevron { color:#80d9ff; }
.forum-admin-folder-icon { width:34px; height:25px; border:1px solid rgba(117,205,247,.2); border-radius:4px 5px 5px 5px; background:linear-gradient(145deg,rgba(65,151,206,.28),rgba(55,84,154,.2)); box-shadow:inset 0 1px rgba(255,255,255,.05),0 5px 12px rgba(0,0,0,.14); }
.forum-admin-folder-icon::before { left:1px; top:-5px; width:16px; height:7px; border:1px solid rgba(117,205,247,.18); border-bottom:0; background:rgba(57,130,184,.3); }
.forum-admin-folder-icon i { inset:6px 6px 5px; opacity:.7; border-color:rgba(151,225,255,.45); }
.forum-admin-folder[open] > summary .forum-admin-folder-icon { border-color:rgba(151,132,255,.3); background:linear-gradient(145deg,rgba(91,116,216,.34),rgba(64,78,158,.2)); box-shadow:0 0 16px rgba(92,129,229,.09); }
.forum-admin-folder-copy b { font-size:12px; font-weight:850; }.forum-admin-folder-copy small { color:#657a92; line-height:1.4; }
.forum-admin-folder-stat { padding:5px 4px; border-left:1px solid rgba(255,255,255,.045); }.forum-admin-folder-stat b { color:#cfdeed; font-size:11px; }.forum-admin-folder-stat small { color:#596e86; }
.forum-admin-folder-toolbar { padding-top:9px; padding-bottom:10px; border-bottom-color:rgba(255,255,255,.04); background:linear-gradient(90deg,rgba(3,9,17,.38),rgba(8,17,29,.16)); }
.forum-admin-folder-toolbar > .btn { min-height:34px; padding:7px 10px; border-radius:8px; font-size:10px; }
.forum-admin-edit > summary { min-height:34px; display:flex; align-items:center; padding:7px 10px; border-color:rgba(124,196,235,.1); color:#748aa1; background:rgba(255,255,255,.015); }
.forum-admin-edit > summary:hover { color:#b8d4e8; border-color:rgba(124,196,235,.2); background:rgba(62,136,185,.05); }
.forum-admin-edit[open] > summary { color:#88dcff; border-color:rgba(120,213,255,.2); background:rgba(59,145,200,.07); }
.forum-admin-edit-form { padding:17px; border-color:rgba(124,196,235,.1); border-radius:11px; background:linear-gradient(145deg,rgba(10,23,39,.98),rgba(7,16,28,.98)); }
.forum-admin-edit-form input,.forum-admin-edit-form select,.forum-admin-edit-form textarea { border-color:rgba(124,196,235,.11); background:#081321; }
.forum-admin-edit-form .visibility-fieldset { border-color:rgba(124,196,235,.1); background:rgba(5,12,22,.42); }
.forum-admin-children::before { background:rgba(105,178,222,.1); }.forum-admin-children > .forum-admin-folder > summary::before { border-color:rgba(105,178,222,.11); }
.forum-folder-dialog { border-color:rgba(124,196,235,.16); border-radius:16px; background:linear-gradient(145deg,#0b1828,#07111e); box-shadow:0 32px 90px rgba(0,0,0,.62); }
.forum-folder-dialog header { border-bottom-color:rgba(124,196,235,.09); }.forum-folder-dialog h2 { font-size:25px; }.forum-folder-dialog input,.forum-folder-dialog textarea { border-color:rgba(124,196,235,.12); background:#071220; }
.forum-section-create { border-color:rgba(124,196,235,.11); background:linear-gradient(145deg,rgba(10,23,39,.96),rgba(7,15,27,.96)); }

/* Homepage news and project launch area */
.home-latest-news { padding:0 0 76px; background:#070b13; }
.home-latest-news-card { position:relative; display:block; min-height:330px; padding:clamp(28px,5vw,58px); overflow:hidden; isolation:isolate; border:1px solid rgba(131,215,255,.14); border-radius:22px; color:#f1f8ff; text-decoration:none; background:linear-gradient(90deg,rgba(6,13,23,.98),rgba(6,13,23,.84) 56%,rgba(6,13,23,.35)),var(--latest-cover,linear-gradient(145deg,#10243a,#08111e)),radial-gradient(circle at 84% 30%,rgba(70,146,216,.2),transparent 35%),#0a1422; background-size:cover; background-position:center; box-shadow:0 28px 70px rgba(0,0,0,.25); transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,box-shadow .3s; }
.home-latest-news-card::before { content:'LATEST'; position:absolute; z-index:-1; right:-12px; bottom:-29px; color:transparent; -webkit-text-stroke:1px rgba(151,220,255,.09); font-size:clamp(85px,15vw,190px); font-weight:950; line-height:.8; letter-spacing:-.08em; }
.home-latest-news-card::after { content:''; position:absolute; inset:auto 0 0; height:3px; background:linear-gradient(90deg,#77dcff,#738cff,transparent 82%); transform:scaleX(.25); transform-origin:left; transition:transform .4s cubic-bezier(.16,1,.3,1); }
.home-latest-news-card:hover { border-color:rgba(131,215,255,.28); box-shadow:0 38px 85px rgba(0,0,0,.34); transform:translateY(-5px); }.home-latest-news-card:hover::after { transform:scaleX(1); }
.home-latest-news-card > div { display:flex; align-items:center; gap:14px; }.home-latest-news-card time { padding-left:14px; border-left:1px solid rgba(255,255,255,.14); color:#7f94ad; font-size:10px; }.home-latest-news-card h2 { max-width:780px; margin:48px 0 14px; font-size:clamp(32px,5vw,60px); line-height:.98; letter-spacing:-.055em; }.home-latest-news-card p { max-width:680px; margin:0; color:#93a3b6; font-size:13px; line-height:1.65; }.home-latest-news-card > b { display:inline-flex; align-items:center; gap:11px; margin-top:30px; font-size:11px; text-transform:uppercase; letter-spacing:.07em; }.home-latest-news-card > b span { color:#7addff; font-size:17px; }
.home-launch-section { position:relative; padding:77px 0 100px; border-top:1px solid rgba(128,204,246,.08); background:radial-gradient(circle at 50% 45%,rgba(82,82,205,.08),transparent 28%),linear-gradient(180deg,#070b13,#05080e); }
.home-launch-section::before { content:''; position:absolute; left:50%; top:0; bottom:0; width:1px; opacity:.36; background:linear-gradient(transparent,rgba(108,193,239,.22),transparent); }
.home-launch-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,7vw,92px); }
.home-start-panel,.home-channel-panel { min-width:0; }.home-start-panel > header,.home-channel-panel > header { margin-bottom:25px; }.home-start-panel h2,.home-channel-panel h2 { margin:8px 0 6px; font-size:clamp(25px,3vw,38px); letter-spacing:-.045em; }.home-start-panel header p,.home-channel-panel header p { margin:0; color:#71849a; font-size:11px; }
.home-start-panel > div { display:grid; gap:10px; }.home-start-panel > div > a { display:grid; grid-template-columns:35px minmax(0,1fr) auto; align-items:center; gap:13px; min-height:84px; padding:14px 16px; border:1px solid rgba(128,204,246,.11); border-radius:14px; color:inherit; text-decoration:none; background:rgba(12,22,36,.72); transition:transform .25s,border-color .25s,background .25s; }.home-start-panel > div > a:hover { border-color:rgba(124,216,255,.28); background:#0e1d30; transform:translateX(5px); }.home-start-panel a > span { display:grid; width:34px; height:34px; place-items:center; border-radius:9px; color:#7cdcff; background:rgba(62,151,207,.08); font-size:9px; font-weight:900; }.home-start-panel a strong,.home-start-panel a small { display:block; }.home-start-panel a strong { font-size:12px; }.home-start-panel a small { margin-top:5px; color:#6f839a; font-size:9px; }.home-start-panel a > b { color:#6ccff3; font-size:10px; }
.home-channel-panel > div { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.home-channel-panel > div > a { display:grid; grid-template-columns:39px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:84px; padding:13px; overflow:hidden; border:1px solid rgba(128,204,246,.1); border-radius:14px; color:inherit; text-decoration:none; background:linear-gradient(145deg,rgba(15,27,44,.84),rgba(8,16,28,.9)); transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .25s; }.home-channel-panel > div > a:hover { border-color:rgba(137,129,255,.28); transform:translateY(-5px); }.home-channel-panel a > i { display:grid; width:39px; height:39px; place-items:center; border:1px solid rgba(130,210,250,.13); border-radius:11px; color:#8bdfff; background:rgba(57,143,197,.07); font-size:9px; font-style:normal; font-weight:900; }.home-channel-panel a strong,.home-channel-panel a small { display:block; }.home-channel-panel a strong { font-size:11px; }.home-channel-panel a small { margin-top:4px; color:#687d94; font-size:8px; }.home-channel-panel a > b { color:#627b94; font-size:12px; }

/* Keep section controls attached to their header and folders collapsed initially. */
.forum-admin-section { overflow:visible; }
@media(min-width:761px){.forum-admin-section>header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:76px;padding:14px 15px}.forum-admin-section>header>div:nth-child(2){min-width:0}.forum-admin-section>header>div:nth-child(2) h2,.forum-admin-section>header>div:nth-child(2) p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-admin-section>header>div:last-child{position:static;display:flex;width:auto!important;justify-content:flex-end!important;transform:none}}
@media(max-width:760px){.forum-admin-section{overflow:hidden}.forum-admin-section>header{display:grid;gap:12px}.forum-admin-section>header>div:last-child{display:flex;width:100%;justify-content:flex-start}.forum-admin-section-settings>.forum-admin-edit-form{position:fixed}}
@media(max-width:780px){.home-latest-news{padding-bottom:48px}.home-latest-news-card{min-height:310px;padding:27px}.home-latest-news-card h2{margin-top:35px}.home-launch-section{padding-block:55px 70px}.home-launch-section::before{display:none}.home-launch-grid{grid-template-columns:1fr}.home-channel-panel>div{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.home-channel-panel>div{grid-template-columns:1fr}.home-latest-news-card>div{align-items:flex-start;flex-direction:column}.home-latest-news-card time{padding:0;border:0}}

/* Cyrillic blacklist abbreviations */
.blacklist-type.chsp,.blacklist-type.chsa { font-size:0; }
.blacklist-type.chsp::after,.blacklist-type.chsa::after { font-size:11px; font-weight:900; letter-spacing:.06em; }
.blacklist-type.chsp::after { content:'ЧСП'; }
.blacklist-type.chsa::after { content:'ЧСА'; }

/* Refined public profile — presentation only, all existing controls stay intact. */
.profile-page-grid { gap:26px; padding-bottom:70px; }
.profile-main-column { display:grid; gap:16px; }
.profile-main-column .profile { position:relative; margin:0; overflow:hidden; border:1px solid rgba(126,211,255,.16); border-radius:26px; background:linear-gradient(150deg,#0c1727,#070d18); box-shadow:0 28px 75px rgba(0,0,0,.3); }
.profile-main-column .profile-banner { position:relative; min-height:350px; padding:38px 40px; align-items:flex-end; gap:25px; background-color:#0a1728; background-position:center; }
.profile-main-column .profile-banner::before { position:absolute; z-index:0; inset:0; content:''; pointer-events:none; background:linear-gradient(90deg,rgba(4,9,17,.9),rgba(4,9,17,.48) 56%,rgba(4,9,17,.18)),linear-gradient(180deg,rgba(4,9,17,.08),rgba(4,9,17,.88)); }
.profile-main-column .profile-banner::after { position:absolute; z-index:0; inset:0; content:''; opacity:.35; pointer-events:none; background:linear-gradient(rgba(125,211,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,255,.05) 1px,transparent 1px); background-size:38px 38px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.profile-main-column .profile-banner > * { position:relative; z-index:1; }
.profile-main-column .profile-avatar { width:154px; height:154px; flex:0 0 auto; border:3px solid rgba(231,248,255,.92); border-radius:31px; background:#0a1422; box-shadow:0 0 0 8px rgba(8,19,33,.7),0 24px 55px rgba(0,0,0,.48); transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s; }
.profile-main-column .profile:hover .profile-avatar { transform:translateY(-4px); box-shadow:0 0 0 8px rgba(8,19,33,.78),0 30px 65px rgba(0,0,0,.55); }
.profile-main-column .profile-banner h1 { margin:0 0 13px; font-size:clamp(35px,4.4vw,57px); line-height:.96; letter-spacing:-.065em; text-shadow:0 5px 25px rgba(0,0,0,.55); }
.profile-main-column .profile-banner .role-line { display:flex; flex-wrap:wrap; gap:7px; }
.profile-main-column .profile-banner .role { padding:6px 10px; border:1px solid color-mix(in srgb,var(--role,#1f5f97) 38%,transparent); border-radius:999px; background:color-mix(in srgb,var(--role,#1f5f97) 14%,rgba(5,12,22,.72)); box-shadow:none; }
.profile-main-column .profile-stats { grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; padding:1px; border:0; background:rgba(119,205,247,.09); }
.profile-main-column .profile-stats > div { position:relative; min-height:92px; display:flex; flex-direction:column; justify-content:center; padding:15px 12px; border:0; background:#091321; transition:background .25s; }
.profile-main-column .profile-stats > div:hover { background:#0d1b2d; }
.profile-main-column .profile-stats span { color:#637a94; font-size:9px; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.profile-main-column .profile-stats strong { margin-top:8px; color:#eaf7ff; font-size:15px; line-height:1.25; }
.profile-main-column .profile-stats .mono { color:#8bdfff; font-size:11px; }
.profile-main-column .profile-actions { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; padding:16px 18px; border-top:1px solid rgba(126,211,255,.09); background:linear-gradient(90deg,rgba(30,94,138,.08),transparent); }
.profile-main-column > .tabs { width:max-content; max-width:100%; margin:4px 0 -4px; padding:5px; gap:4px; border:1px solid rgba(126,211,255,.13); border-radius:14px; background:#081220; box-shadow:0 12px 35px rgba(0,0,0,.18); }
.profile-main-column > .tabs a { padding:10px 14px; border-radius:9px; color:#788ca4; font-size:12px; transition:color .22s,background .22s,transform .22s; }
.profile-main-column > .tabs a:hover { color:#ddecf8; transform:translateY(-1px); }
.profile-main-column > .tabs a.active { color:#effaff; background:linear-gradient(135deg,rgba(65,148,207,.2),rgba(75,94,197,.13)); }
.profile-main-column > .tabs a.active::after { display:none; }
.profile-main-column .profile-tab-panel,.profile-main-column > .panel:not(.profile-tab-panel) { margin:0; border:1px solid rgba(126,211,255,.12); border-radius:20px; background:linear-gradient(145deg,rgba(12,24,40,.96),rgba(7,14,25,.96)); box-shadow:0 20px 55px rgba(0,0,0,.2); }
.profile-main-column .profile-message-form { margin-bottom:18px; padding:14px; align-items:center; border:1px solid rgba(126,211,255,.1); border-radius:15px; background:rgba(255,255,255,.022); }
.profile-main-column .profile-message-form img,.profile-main-column .profile-message img { border:1px solid rgba(126,211,255,.18); border-radius:14px; }
.profile-main-column .profile-message-form textarea { min-height:80px; resize:vertical; background:#07111e; }
.profile-main-column .profile-message { margin-top:9px; padding:14px; border:1px solid rgba(126,211,255,.085); border-radius:15px; background:rgba(255,255,255,.018); transition:border-color .22s,background .22s,transform .22s; }
.profile-main-column .profile-message:hover { border-color:rgba(126,211,255,.18); background:rgba(71,144,195,.045); transform:translateY(-2px); }
.profile-message-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:7px; margin-top:18px; padding-top:18px; border-top:1px solid rgba(126,211,255,.1); }
.profile-message-pagination > a { display:grid; min-width:38px; height:38px; padding:0 10px; place-items:center; border:1px solid rgba(126,211,255,.14); border-radius:11px; color:#aabbd0; background:rgba(255,255,255,.025); font-weight:800; text-decoration:none; transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease; }
.profile-message-pagination > a:hover { transform:translateY(-2px); border-color:rgba(126,211,255,.38); color:#fff; background:rgba(126,211,255,.08); }
.profile-message-pagination > a.active { border-color:color-mix(in srgb,var(--profile-accent,#68d7ff) 72%,#fff); color:#07111e; background:var(--profile-accent,#68d7ff); box-shadow:0 8px 22px color-mix(in srgb,var(--profile-accent,#68d7ff) 22%,transparent); }
.profile-message-pagination > a.disabled { pointer-events:none; opacity:.32; }
.profile-message-pagination > span { min-width:24px; color:#526a84; text-align:center; }
.profile-message-pagination > small { margin-left:8px; color:#71859d; white-space:nowrap; }
.profile-main-column .info-view { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.profile-main-column .info-view > div { min-height:135px; padding:18px; border:1px solid rgba(126,211,255,.09); border-radius:14px; background:rgba(255,255,255,.018); }
.profile-main-column .info-view h3 { margin:0 0 12px; color:#88dcff; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
.profile-main-column .info-view p { margin:0; color:#9bacc0; line-height:1.7; }
.profile-main-column > .panel:not(.profile-tab-panel) h2 { margin:0 0 15px; font-size:17px; }
.profile-main-column .role-list { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:8px; }
.profile-main-column .role-list > span { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:11px 12px; border:1px solid rgba(126,211,255,.08); border-radius:11px; color:#7389a2; background:rgba(255,255,255,.018); font-size:11px; }
.player-management { padding:16px; border:1px solid rgba(126,211,255,.12); border-radius:21px; background:linear-gradient(155deg,rgba(11,23,39,.97),rgba(6,13,24,.98)); box-shadow:0 24px 60px rgba(0,0,0,.28); }
.player-management .management-heading { padding:3px 3px 10px; }
.player-management .management-heading h2 { font-size:23px; }
.player-management .management-card { box-shadow:none; }
@media(max-width:1080px){.profile-page-grid.with-management{grid-template-columns:minmax(0,1fr) 320px}.profile-main-column .profile-banner{min-height:320px;padding:30px}.profile-main-column .profile-avatar{width:135px;height:135px}}
@media(max-width:900px){.profile-page-grid.with-management{grid-template-columns:1fr}.player-management{position:static}.profile-main-column .profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.profile-page-grid{gap:17px}.profile-main-column .profile-banner{min-height:330px;align-items:center;justify-content:flex-end;flex-direction:column;padding:30px 18px;text-align:center}.profile-main-column .profile-banner::before{background:linear-gradient(180deg,rgba(4,9,17,.25),rgba(4,9,17,.92))}.profile-main-column .profile-avatar{width:122px;height:122px;border-radius:25px}.profile-main-column .profile-banner .role-line{justify-content:center}.profile-main-column .profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-main-column .profile-stats>div:last-child{grid-column:1/-1}.profile-main-column .profile-actions{display:grid;grid-template-columns:1fr}.profile-main-column>.tabs{display:grid;width:100%;grid-template-columns:1fr 1fr}.profile-main-column>.tabs a{text-align:center}.profile-main-column .profile-message-form{grid-template-columns:42px minmax(0,1fr)}.profile-main-column .profile-message-form img{width:42px;height:42px}.profile-main-column .profile-message-form .btn{grid-column:1/-1}.profile-main-column .info-view{grid-template-columns:1fr}.profile-message-pagination>small{flex-basis:100%;margin:4px 0 0;text-align:center}.player-management{padding:12px}}

/* Categorized administration sidebar */
.admin-side-group-title { margin:15px 9px 5px; color:#526a84; font-size:9px; font-weight:900; line-height:1.25; letter-spacing:.095em; text-transform:uppercase; }
.admin-side-group-title:first-child { margin-top:3px; }
.admin-side-group-title:not(:first-child) { padding-top:13px; border-top:1px solid rgba(126,202,241,.075); }
@media(max-width:900px){.admin-side-group-title{display:none}.admin-side-nav nav{align-items:center}.admin-side-nav nav>a{flex:0 0 auto}}

/* Forum structure cards: header, controls and folders share one visual surface. */
.forum-admin-section-list { gap:19px; padding:18px; background:linear-gradient(180deg,rgba(5,12,22,.3),rgba(5,12,22,.6)); }
.forum-admin-section { overflow:visible; border:1px solid rgba(126,210,251,.15); border-radius:17px; background:linear-gradient(150deg,#0a1726,#07111d); box-shadow:0 17px 42px rgba(0,0,0,.2); }
.forum-admin-section > header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; min-height:82px; padding:16px 18px; border-bottom:1px solid rgba(126,210,251,.1); border-radius:16px 16px 0 0; background:linear-gradient(100deg,rgba(45,133,190,.13),rgba(8,18,31,.5) 56%,rgba(8,18,31,.85)); }
.forum-admin-section > header::before { top:17px; bottom:17px; width:3px; }
.forum-admin-section-identity { display:flex; min-width:0; align-items:center; gap:13px; }
.forum-admin-section-identity > div:last-child { min-width:0; }
.forum-admin-section-identity h2 { overflow:hidden; margin:0; color:#f0f8ff; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.forum-admin-section-identity p { overflow:hidden; margin:5px 0 0; color:#687f98; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.forum-admin-section-actions { position:relative; display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.forum-admin-section-actions > .btn,.forum-admin-section-actions > details > summary { min-height:38px; }
.forum-admin-section > .forum-admin-tree { min-height:22px; padding:8px 10px 11px; border-radius:0 0 16px 16px; background:linear-gradient(180deg,rgba(3,9,17,.18),rgba(3,9,17,.42)); }
.forum-admin-section .forum-admin-folder { border:1px solid transparent; border-radius:12px; }
.forum-admin-section .forum-admin-folder + .forum-admin-folder { margin-top:4px; }
.forum-admin-section .forum-admin-folder > summary { min-height:65px; border:0; border-radius:11px; }
.forum-admin-section .forum-admin-folder > summary:hover { background:linear-gradient(90deg,rgba(65,158,216,.095),rgba(65,158,216,.025)); }
.forum-admin-section .forum-admin-folder[open] { border-color:rgba(126,210,251,.09); background:rgba(4,11,20,.34); }
.forum-admin-section .forum-admin-folder[open] > summary { border-radius:11px 11px 0 0; }
.forum-admin-section .forum-admin-folder-toolbar { margin:0 7px 7px; border:1px solid rgba(126,210,251,.065); border-radius:10px; }
.forum-admin-section-settings > .forum-admin-edit-form { right:0; top:calc(100% + 10px); }
@media(max-width:760px){.forum-admin-section-list{padding:10px}.forum-admin-section{overflow:visible}.forum-admin-section>header{grid-template-columns:1fr;gap:12px;padding:15px}.forum-admin-section-actions{justify-content:flex-start;flex-wrap:wrap}.forum-admin-section-actions>.btn{flex:1 1 180px}.forum-admin-section-settings{flex:1 1 180px}.forum-admin-section-settings>summary{width:100%;justify-content:center}.forum-admin-section-settings>.forum-admin-edit-form{position:fixed}.forum-admin-section>.forum-admin-tree{padding:6px}.forum-admin-section .forum-admin-folder>summary{padding-right:10px}}

/* Управление структурой встроено непосредственно в проводник форума. */
.forum-explorer-head-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.forum-explorer-head-actions>span{padding:7px 10px;border:1px solid rgba(124,196,235,.11);border-radius:8px;color:#7189a2;background:rgba(255,255,255,.018);font-size:10px;white-space:nowrap}
.forum-explorer-head-actions .forum-section-create{position:relative}
.forum-explorer-head-actions .forum-section-create>summary{list-style:none;cursor:pointer}
.forum-explorer-head-actions .forum-section-create>summary::-webkit-details-marker{display:none}
.forum-explorer-head-actions .forum-section-create>form{position:absolute;z-index:45;top:calc(100% + 9px);right:0;width:min(680px,calc(100vw - 42px));min-width:540px;padding:17px;border:1px solid rgba(124,196,235,.18);border-radius:14px;background:linear-gradient(145deg,#0c192a,#081321);box-shadow:0 24px 65px rgba(0,0,0,.5)}
.forum-explorer-order{display:inline-flex;flex:0 0 auto;align-items:center;gap:4px;padding:3px;border:1px solid rgba(126,210,251,.11);border-radius:9px;background:rgba(4,12,22,.72);transition:border-color .2s,background .2s,opacity .2s}
.forum-explorer-order button{display:grid;width:27px;height:27px;padding:0;place-items:center;border:0;border-radius:6px;color:#8da8c1;background:transparent;font:800 14px/1 inherit;cursor:pointer;transition:color .18s,background .18s,transform .18s}
.forum-explorer-order button:hover{color:#eaf8ff;background:rgba(91,186,239,.14);transform:translateY(-1px)}
.forum-explorer-order.is-saving{opacity:.45;pointer-events:none}
.forum-explorer-order.is-saved{border-color:rgba(80,218,159,.38);background:rgba(39,156,107,.1)}
.forum-explorer-order.is-error{border-color:rgba(255,94,124,.45);background:rgba(181,46,74,.12)}
.forum-explorer-topics{margin:0 7px 7px;border:1px solid rgba(126,210,251,.065);border-radius:10px;background:rgba(3,10,18,.28)}
.forum-explorer-topics>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:39px;padding:8px 12px;list-style:none;color:#89a2ba;font-size:10px;font-weight:850;cursor:pointer;transition:color .18s,background .18s}
.forum-explorer-topics>summary::-webkit-details-marker{display:none}
.forum-explorer-topics>summary:hover,.forum-explorer-topics[open]>summary{color:#dff5ff;background:rgba(72,158,211,.055)}
.forum-explorer-topics>summary b{display:grid;min-width:23px;height:23px;padding:0 6px;place-items:center;border-radius:7px;color:#8cdaff;background:rgba(75,163,218,.09);font-size:9px}
.forum-explorer-topic-list{padding:3px 7px 7px}
.forum-explorer-topic{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:5px 7px;border-top:1px solid rgba(255,255,255,.04);border-radius:8px;transition:background .18s}
.forum-explorer-topic:hover{background:rgba(74,157,212,.045)}
.forum-explorer-topic>i{color:#65c9f5;font-style:normal;text-align:center}
.forum-explorer-topic>a{overflow:hidden;color:#bcd0e2;font-size:11px;font-weight:750;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}
.forum-explorer-topic>a:hover{color:#85ddff}
.forum-explorer-topic>span{display:flex;align-items:center;justify-content:flex-end}
@media(max-width:760px){.forum-explorer-head-actions{width:100%;justify-content:flex-start}.forum-explorer-head-actions .forum-section-create{flex:1 1 180px}.forum-explorer-head-actions .forum-section-create>summary{width:100%;justify-content:center}.forum-explorer-head-actions .forum-section-create>form{position:fixed;left:12px;right:12px;top:82px;width:auto;min-width:0;max-height:calc(100vh - 100px);overflow:auto}.forum-admin-section-actions>.forum-explorer-order{flex:0 0 auto}.forum-admin-folder-toolbar>.forum-explorer-order{width:max-content}.forum-explorer-topic{grid-template-columns:14px minmax(0,1fr) auto}.forum-explorer-topic .forum-explorer-order button{width:30px;height:30px}}

/* Technical-only GMod loading screen editor */
.gmod-loading-admin-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.gmod-loading-editor,.gmod-loading-deploy { overflow:hidden; }
.gmod-loading-editor > form { padding:20px; }
.gmod-loading-editor label { display:grid; gap:7px; color:#91a5bc; font-size:12px; font-weight:750; }
.gmod-loading-editor label small { color:#60758d; font-size:10px; font-weight:500; }
.gmod-loading-editor textarea { min-height:190px; resize:vertical; }
.gmod-loading-deploy { position:sticky; top:95px; }
.gmod-loading-deploy > div { display:grid; gap:9px; margin:16px 18px 0; padding:15px; border:1px solid rgba(126,210,251,.1); border-radius:13px; background:rgba(255,255,255,.02); }
.gmod-loading-deploy > div > span { color:#6f849b; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gmod-loading-deploy code { display:block; padding:11px; overflow-wrap:anywhere; border:1px solid rgba(126,210,251,.08); border-radius:9px; color:#8be3ff; background:#06101c; font-size:11px; line-height:1.55; }
.gmod-loading-deploy > a { margin:16px 18px 0; }
.gmod-loading-deploy > p { margin:14px 18px 18px; color:#71869d; font-size:10px; line-height:1.6; }
@media(max-width:980px){.gmod-loading-admin-grid{grid-template-columns:1fr}.gmod-loading-deploy{position:static}}

/* Extended player management */
.profile-banner.custom,.settings-preview{background-position:var(--banner-x,50%) var(--banner-y,50%);background-size:calc(100% * var(--banner-scale,1)) auto;background-repeat:no-repeat}
.profile-avatar,.image-fit-avatar-mask{position:relative;display:block;flex:0 0 auto;overflow:hidden;border-radius:50%;transform:none!important}
.profile-avatar-image,.image-fit-avatar-mask [data-fit-avatar]{position:absolute;display:block;width:100%;height:100%;max-width:none;border:0!important;border-radius:0;object-fit:cover;object-position:var(--avatar-x,50%) var(--avatar-y,50%);box-shadow:none!important;transform:none!important;will-change:left,top,width,height}
.profile-main-column .profile:hover .profile-avatar{transform:translateY(-4px)!important}
.image-fit-avatar-mask{width:76px;height:76px;border:3px solid #fff;border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.image-fit-preview{overflow:hidden;touch-action:none;cursor:grab;user-select:none}.image-fit-preview.is-fitting{cursor:grabbing}.image-fit-preview img{cursor:move}
.image-fit-controls{display:none}.profile-image-remove{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.image-fit-preview{position:relative;isolation:isolate;outline:1px solid rgba(102,207,255,.2);outline-offset:-1px;transition:outline-color .2s ease,box-shadow .2s ease}
.image-fit-preview:hover,.image-fit-preview.is-fitting{outline-color:rgba(102,207,255,.72);box-shadow:inset 0 0 0 1px rgba(102,207,255,.1),0 16px 45px rgba(0,0,0,.22)}
.image-fit-preview::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(2,8,18,0) 42%,rgba(2,8,18,.7) 100%)}
.image-fit-preview .image-fit-avatar-mask{position:relative;z-index:6;transition:outline-color .18s ease,box-shadow .18s ease}
.image-fit-preview[data-fit-target="avatar"] .image-fit-avatar-mask{outline:2px solid #72d7ff;outline-offset:3px;box-shadow:0 0 0 7px rgba(75,188,255,.14),0 12px 30px rgba(0,0,0,.35)}
.image-fit-cursor-help{position:absolute;left:18px;bottom:16px;z-index:8;display:grid;gap:2px;max-width:min(560px,calc(100% - 36px));padding:9px 12px;border:1px solid rgba(137,220,255,.2);border-radius:12px;background:rgba(3,10,21,.72);box-shadow:0 8px 26px rgba(0,0,0,.24);backdrop-filter:blur(10px);pointer-events:none;color:#eaf8ff;transition:opacity .22s ease,transform .22s ease}
.image-fit-cursor-help strong{font-size:.78rem}.image-fit-cursor-help span{font-size:.68rem;color:#91a9c5}
.settings-card>.image-fit-preview .image-fit-cursor-help{display:none}.image-fit-studio-stage .image-fit-cursor-help{display:grid}
.image-fit-preview.is-fitting .image-fit-cursor-help{opacity:.15;transform:translateY(4px)}
.image-fit-cursor-status{position:absolute;right:16px;top:16px;z-index:8;padding:7px 10px;border-radius:999px;background:rgba(3,10,21,.82);border:1px solid rgba(114,215,255,.28);color:#aee8ff;font-size:.72rem;font-weight:800;letter-spacing:.02em;opacity:0;transform:translateY(-5px);transition:opacity .18s ease,transform .18s ease;pointer-events:none}
.image-fit-cursor-status.is-visible{opacity:1;transform:none}
.image-fit-preview[data-fit-editor="avatar"] .image-fit-avatar-mask{outline:2px solid #72d7ff;outline-offset:3px;box-shadow:0 0 0 7px rgba(75,188,255,.14),0 12px 30px rgba(0,0,0,.35)}
.image-fit-preview[data-fit-editor="banner"]{outline-color:#72d7ff;box-shadow:inset 0 0 0 2px rgba(114,215,255,.18),0 16px 45px rgba(0,0,0,.22)}
.image-fit-editor{display:grid;gap:15px;padding:18px;border:1px solid rgba(114,215,255,.24);border-radius:17px;background:linear-gradient(145deg,rgba(10,25,44,.96),rgba(5,13,27,.98));box-shadow:0 18px 46px rgba(0,0,0,.24);animation:imageEditorOpen .24s ease both}
.image-fit-editor[hidden]{display:none!important}
.image-fit-editor>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid rgba(117,216,255,.14)}
.image-fit-editor>header small{display:block;margin-bottom:3px;color:#6f8dad;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.image-fit-editor h3{margin:0;font-size:1.05rem}.image-fit-editor>p{margin:0!important;color:#8fa8c5!important}
.image-fit-editor-close{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid rgba(117,216,255,.18);border-radius:11px;background:rgba(6,16,31,.72);color:#c9edff;font-size:1.45rem;line-height:1;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.image-fit-editor-close:hover{transform:rotate(6deg) scale(1.05);border-color:rgba(117,216,255,.55);background:rgba(26,71,111,.5)}
.image-fit-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.image-fit-editor-fields label{padding:13px;border:1px solid rgba(117,216,255,.14);border-radius:13px;background:rgba(4,11,23,.48)}
.image-fit-editor-fields small{color:#738ba8;font-size:.67rem}.image-fit-editor-fields input[type=file]{min-height:48px;padding:9px;cursor:pointer}
.image-fit-editor-actions{display:flex;gap:9px;flex-wrap:wrap}.image-fit-editor-actions:empty{display:none}
.profile-upload-grid[hidden],.profile-image-remove[hidden]{display:none!important}
.image-fit-studio{width:min(1480px,96vw);max-width:none;height:min(900px,94vh);max-height:none;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(117,216,255,.26);border-radius:24px;background:#06101f;color:#eef8ff;box-shadow:0 36px 100px rgba(0,0,0,.7)}
.image-fit-studio::backdrop{background:rgba(1,5,12,.86);backdrop-filter:blur(10px)}
.image-fit-studio-shell{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%}
.image-fit-studio-shell>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border-bottom:1px solid rgba(117,216,255,.15);background:linear-gradient(90deg,rgba(18,48,80,.62),rgba(7,17,32,.94))}
.image-fit-studio-shell>header small{display:block;color:#69cfff;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}.image-fit-studio-shell>header h2{margin:3px 0 0;font-size:1.3rem}
.image-fit-studio-close{display:grid;width:42px;height:42px;padding:0;place-items:center;border:1px solid rgba(117,216,255,.2);border-radius:13px;background:#09182b;color:#e9f8ff;font-size:1.6rem;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}.image-fit-studio-close:hover{transform:rotate(6deg) scale(1.04);border-color:#75d8ff;background:#123152}
.image-fit-studio-workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;min-height:0}.image-fit-studio-stage{display:grid;min-width:0;padding:clamp(18px,3vw,44px);place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(52,125,184,.2),transparent 55%),#030914}
.image-fit-studio-stage .settings-preview{width:100%;max-width:1180px;min-height:350px;height:350px;padding:38px 40px;border-radius:22px}.image-fit-studio-stage .image-fit-avatar-mask{width:154px;height:154px;border-width:3px;border-radius:31px}.image-fit-studio-stage .settings-preview>strong{position:relative;z-index:6;font-size:clamp(1.3rem,2.4vw,2.15rem)}
.image-fit-studio-workspace>aside{min-height:0;padding:18px;overflow-y:auto;border-left:1px solid rgba(117,216,255,.14);background:rgba(5,14,27,.96)}.image-fit-studio-workspace .image-fit-editor{padding:0;border:0;background:transparent;box-shadow:none;animation:none}.image-fit-studio-workspace .image-fit-editor-fields{grid-template-columns:1fr}
body.image-fit-studio-open{overflow:hidden}
@keyframes imageEditorOpen{from{opacity:0;transform:translateY(-8px) scale(.992)}to{opacity:1;transform:none}}
@media(max-width:820px){.image-fit-studio{width:100vw;height:100dvh;border:0;border-radius:0}.image-fit-studio-workspace{grid-template-columns:1fr;grid-template-rows:minmax(354px,52vh) minmax(0,1fr)}.image-fit-studio-stage{padding:12px}.image-fit-studio-stage .settings-preview{min-height:330px;height:330px;padding:30px 18px}.image-fit-studio-stage .image-fit-avatar-mask{width:122px;height:122px;border-radius:25px}.image-fit-studio-workspace>aside{padding:14px;border-top:1px solid rgba(117,216,255,.14);border-left:0}.image-fit-studio-shell>header{padding:13px 15px}.profile-donation-dialog{width:100vw;max-height:100dvh;border:0;border-radius:0}.profile-donation-shell{max-height:100dvh}.profile-donation-server-grid{grid-template-columns:1fr}.profile-donation-shell>header,.profile-donation-body{padding:15px}}
@media(max-width:680px){.image-fit-cursor-help{right:12px;left:12px;bottom:12px;max-width:none}.image-fit-cursor-help span{line-height:1.35}.image-fit-editor{padding:14px}.image-fit-editor-fields{grid-template-columns:1fr}}
.profile-game-statistics>header{margin-bottom:18px}.profile-game-statistics>header h2{margin:4px 0}.profile-game-statistics>header p{color:#8297b2;margin:0}.profile-server-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-server-stat-grid article{border:1px solid rgba(117,216,255,.16);border-radius:18px;padding:18px;background:linear-gradient(145deg,rgba(14,35,61,.8),rgba(6,14,28,.92))}.profile-server-stat-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(117,216,255,.12);padding-bottom:12px}.profile-server-stat-head span,.profile-server-stat-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6f89a9}.profile-server-stat-head h3{margin:3px 0 0}.profile-server-stat-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 0}.profile-server-stat-grid dl div{padding:10px;border-radius:12px;background:rgba(3,9,19,.48)}.profile-server-stat-grid dd{margin:4px 0 0;font-weight:800}
.profile-server-stat-grid dd small{display:block;margin-top:3px;color:#6f89a9;font-size:.68rem;font-weight:600}.profile-server-stat-grid .donation-stat{border:1px solid rgba(129,101,255,.2);background:rgba(108,76,223,.09)}
.profile-donation-dialog{width:min(1060px,94vw);max-width:none;max-height:90vh;margin:auto;padding:0;overflow:hidden;border:1px solid rgba(117,216,255,.24);border-radius:24px;background:#071222;color:#eef8ff;box-shadow:0 35px 100px rgba(0,0,0,.72)}.profile-donation-dialog::backdrop{background:rgba(1,5,12,.84);backdrop-filter:blur(8px)}.profile-donation-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:90vh}.profile-donation-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid rgba(117,216,255,.14);background:linear-gradient(100deg,rgba(41,91,138,.34),rgba(31,18,73,.28))}.profile-donation-shell>header h2{margin:4px 0 5px}.profile-donation-shell>header p{margin:0;color:#8097b3}.profile-donation-body{padding:20px;overflow-y:auto}.profile-donation-server-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-donation-server-grid>article{padding:17px;border:1px solid rgba(117,216,255,.14);border-radius:17px;background:linear-gradient(145deg,rgba(13,32,55,.9),rgba(6,13,26,.96))}.profile-donation-server-grid>article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.profile-donation-server-grid h3,.profile-donation-items h4{margin:0}.profile-donation-server-grid time{color:#6c84a2;font-size:.68rem}.profile-donation-balance{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:15px 0;padding:13px;border-radius:13px;background:rgba(103,80,221,.12)}.profile-donation-balance span{color:#9cb2ca;font-size:.76rem}.profile-donation-balance strong{font-size:1.35rem}.profile-donation-items{display:grid;gap:8px}.profile-donation-items h4{margin-bottom:4px;font-size:.82rem}.profile-donation-items>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border-radius:10px;background:rgba(255,255,255,.025)}.profile-donation-items code{color:#72d7ff;font-size:.68rem}.profile-donation-items p{margin:0;color:#6f87a4;font-size:.76rem}.profile-donation-history{margin-top:18px;padding:17px;border:1px solid rgba(117,216,255,.12);border-radius:17px;background:rgba(3,9,19,.42)}.profile-donation-history h3{margin:0 0 10px}.profile-donation-history>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid rgba(117,216,255,.09)}.profile-donation-history>div span,.profile-donation-history>div small{display:block}.profile-donation-history small{margin-top:3px;color:#7188a5}.profile-donation-history strong.positive{color:#75e2a5}.profile-donation-history strong.negative{color:#ff8aa0}
@media(max-width:820px){.profile-donation-dialog{width:100vw;max-height:100dvh;border:0;border-radius:0}.profile-donation-shell{max-height:100dvh}.profile-donation-server-grid{grid-template-columns:1fr}.profile-donation-shell>header,.profile-donation-body{padding:15px}.profile-donation-history>div{align-items:flex-start;flex-direction:column}}
.status-request-layout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:18px}.status-request-layout>.admin-tool-card{align-self:start;position:sticky;top:90px}.status-request-list{display:grid;gap:12px}.status-request-card header,.status-request-card footer{display:flex;justify-content:space-between;gap:12px}.status-request-card header b{height:max-content;border-radius:999px;padding:7px 10px;background:rgba(255,190,55,.12);color:#ffd475}.status-request-card.approved header b{background:rgba(81,217,145,.12);color:#78efaf}.status-request-card.rejected header b{background:rgba(255,87,109,.12);color:#ff8a9a}.status-request-card p{color:#c8d5e7}.status-request-card footer{color:#7187a5;font-size:.78rem}.status-request-review{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:14px}
.discipline-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.discipline-summary article{padding:18px;border:1px solid rgba(117,216,255,.15);border-radius:16px;background:#091426}.discipline-summary span{display:block;color:#8096b2}.discipline-summary strong{font-size:1.8rem}.discipline-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.discipline-feed-item{padding:14px 0;border-bottom:1px solid rgba(117,216,255,.1)}.discipline-feed-item>div{display:flex;justify-content:space-between;gap:12px}.discipline-feed-item span,.discipline-feed-item small{color:#748ca9}.discipline-feed-item p{margin:8px 0}
.donation-page{display:grid;gap:18px}.donation-adapter-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:16px}.donation-operation-card>header,.donation-reset-card>header{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(117,216,255,.13)}.donation-operation-card>header span,.donation-reset-card>header span{color:#6f8eae;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.donation-operation-card h2,.donation-reset-card h2{margin:4px 0 0}.donation-reset-card{border-color:rgba(255,92,119,.25)!important;background:linear-gradient(145deg,rgba(43,15,28,.82),rgba(8,14,27,.96))!important}.donation-reset-card>p{margin:0 0 17px;color:#b9c7d9;line-height:1.6}.donation-reset-card .admin-form{grid-template-columns:1fr}.donation-mode-hint{padding:11px 13px;border:1px solid rgba(117,216,255,.14);border-radius:12px;background:rgba(4,12,24,.48);color:#8fb3d2!important}.admin-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-form label{display:grid;gap:7px}.admin-form .wide{grid-column:1/-1}.admin-table td small{display:block;color:#7187a5;margin-top:3px}
@media(max-width:1000px){.donation-adapter-grid{grid-template-columns:1fr}}
@media(max-width:800px){.image-fit-controls,.profile-server-stat-grid,.status-request-layout,.discipline-columns{grid-template-columns:1fr}.status-request-layout>.admin-tool-card{position:static}.discipline-summary{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.status-request-review{grid-template-columns:1fr}.image-fit-controls label{grid-template-columns:1fr}.profile-server-stat-grid dl{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.profile-main-column>.tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-main-column>.tabs a{padding-inline:7px;font-size:.76rem}}

/* Personal profile theme */
.profile-themed-page {
  --profile-accent: #68d7ff;
  --bg: #08080b;
  --bg-2: color-mix(in srgb, var(--profile-accent) 5%, #0b0a0e);
  --panel: color-mix(in srgb, var(--profile-accent) 14%, #111015);
  --panel-2: color-mix(in srgb, var(--profile-accent) 20%, #15131a);
  --line: color-mix(in srgb, var(--profile-accent) 24%, transparent);
  --line-2: color-mix(in srgb, var(--profile-accent) 38%, transparent);
  --blue: var(--profile-accent);
  --blue-2: color-mix(in srgb, var(--profile-accent) 72%, #fff);
  --soft: color-mix(in srgb, var(--profile-accent) 13%, #c7c6cc);
  --muted: color-mix(in srgb, var(--profile-accent) 9%, #8d8b94);
  background:
    radial-gradient(circle at 18% 7%, color-mix(in srgb, var(--profile-accent) 11%, transparent), transparent 29%),
    radial-gradient(circle at 88% 42%, color-mix(in srgb, var(--profile-accent) 6%, transparent), transparent 31%),
    #08080b;
}
.profile-themed-page .profile-main-column .profile {
  border-color: color-mix(in srgb, var(--profile-accent) 35%, transparent);
  background: radial-gradient(circle at 88% 0, color-mix(in srgb, var(--profile-accent) 18%, transparent), transparent 36%), linear-gradient(150deg, color-mix(in srgb, var(--profile-accent) 11%, #121116), #08080b);
  box-shadow: 0 28px 75px rgba(0,0,0,.3), 0 0 55px color-mix(in srgb, var(--profile-accent) 8%, transparent);
}
.profile-themed-page .profile-main-column .profile-banner { background-color: color-mix(in srgb, var(--profile-accent) 17%, #111015); }
.profile-themed-page .profile-main-column .profile-banner::after {
  background: linear-gradient(color-mix(in srgb, var(--profile-accent) 12%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--profile-accent) 10%, transparent) 1px, transparent 1px);
  background-size: 38px 38px;
}
.profile-themed-page .profile-main-column .profile-avatar {
  border-color: color-mix(in srgb, var(--profile-accent) 58%, #fff);
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--profile-accent) 17%, rgba(14,13,17,.78)), 0 24px 55px rgba(0,0,0,.48);
}
.profile-themed-page .profile-main-column .profile:hover .profile-avatar {
  box-shadow: 0 0 0 8px color-mix(in srgb, var(--profile-accent) 21%, rgba(14,13,17,.84)), 0 30px 65px rgba(0,0,0,.55);
}
.profile-themed-page .profile-main-column .profile-stats { background: color-mix(in srgb, var(--profile-accent) 18%, transparent); }
.profile-themed-page .profile-main-column .profile-stats > div:hover { background: color-mix(in srgb, var(--profile-accent) 17%, #111015); }
.profile-themed-page .profile-main-column .profile-stats .mono,
.profile-themed-page .profile-main-column .info-view h3 { color: color-mix(in srgb, var(--profile-accent) 76%, #fff); }
.profile-themed-page .profile-main-column .profile-actions {
  border-top-color: color-mix(in srgb, var(--profile-accent) 19%, transparent);
  background: linear-gradient(90deg, color-mix(in srgb, var(--profile-accent) 12%, transparent), transparent);
}
.profile-themed-page .profile-actions .btn-primary {
  border-color: color-mix(in srgb, var(--profile-accent) 78%, #fff);
  color: #06101b;
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 82%, #fff), color-mix(in srgb, var(--profile-accent) 76%, #252329));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--profile-accent) 19%, transparent);
}
.profile-themed-page .profile-actions .btn-ghost:hover {
  border-color: color-mix(in srgb, var(--profile-accent) 45%, transparent);
  background: color-mix(in srgb, var(--profile-accent) 10%, transparent);
}
.profile-themed-page .profile-main-column > .tabs,
.profile-themed-page .profile-main-column .profile-tab-panel,
.profile-themed-page .profile-main-column > .panel:not(.profile-tab-panel),
.profile-themed-page .player-management { border-color: color-mix(in srgb, var(--profile-accent) 23%, transparent); }
.profile-themed-page .profile-main-column > .tabs a.active {
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 30%, transparent), color-mix(in srgb, var(--profile-accent) 13%, #17151b));
}
.profile-themed-page .profile-main-column .profile-message:hover,
.profile-themed-page .profile-main-column .info-view > div,
.profile-themed-page .profile-main-column .role-list > span,
.profile-themed-page .profile-server-stat-grid article { border-color: color-mix(in srgb, var(--profile-accent) 20%, transparent); }
.profile-themed-page .profile-main-column .profile-message:hover { background: color-mix(in srgb, var(--profile-accent) 6%, transparent); }
.profile-themed-page .profile-main-column .profile-tab-panel,
.profile-themed-page .profile-main-column > .panel:not(.profile-tab-panel),
.profile-themed-page .player-management {
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--profile-accent) 12%, transparent), transparent 42%),
    linear-gradient(145deg, color-mix(in srgb, var(--profile-accent) 15%, #121116), #08080b 72%);
  box-shadow: 0 20px 55px rgba(0,0,0,.22), inset 0 1px color-mix(in srgb, var(--profile-accent) 12%, transparent);
}
.profile-themed-page .profile-main-column .profile-message,
.profile-themed-page .profile-main-column .profile-message-form,
.profile-themed-page .profile-main-column .info-view > div,
.profile-themed-page .profile-main-column .role-list > span,
.profile-themed-page .profile-server-stat-grid article,
.profile-themed-page .player-management .management-card,
.profile-themed-page .player-management .active-ban,
.profile-themed-page .player-management .discord-link-state {
  border-color: color-mix(in srgb, var(--profile-accent) 22%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 13%, #121116), rgba(9,8,12,.96));
}
.profile-themed-page .player-management .management-card[open] {
  border-color: color-mix(in srgb, var(--profile-accent) 38%, transparent);
  box-shadow: 0 12px 34px color-mix(in srgb, var(--profile-accent) 7%, transparent);
}
.profile-themed-page .player-management .management-card > summary,
.profile-themed-page .profile-main-column > .panel h2,
.profile-themed-page .profile-main-column .profile-tab-panel h2,
.profile-themed-page .management-heading .eyebrow,
.profile-themed-page .breadcrumb a { color: color-mix(in srgb, var(--profile-accent) 76%, #fff); }
.profile-themed-page :is(input,textarea,select) {
  border-color: color-mix(in srgb, var(--profile-accent) 23%, transparent);
  background-color: color-mix(in srgb, var(--profile-accent) 8%, #0d0c10);
}
.profile-themed-page :is(input,textarea,select):focus {
  border-color: color-mix(in srgb, var(--profile-accent) 68%, #fff);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--profile-accent) 14%, transparent);
}
.profile-themed-page :is(.btn,.mini-btn,.profile-message-delete button) {
  border-color: color-mix(in srgb, var(--profile-accent) 43%, transparent);
  color: color-mix(in srgb, var(--profile-accent) 32%, #fff);
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 19%, #141218), color-mix(in srgb, var(--profile-accent) 10%, #0c0b0f));
  box-shadow: none;
}
.profile-themed-page :is(.btn,.mini-btn,.profile-message-delete button):hover {
  border-color: color-mix(in srgb, var(--profile-accent) 74%, #fff);
  color: #fff;
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 36%, #18161c), color-mix(in srgb, var(--profile-accent) 21%, #0e0d11));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--profile-accent) 13%, transparent);
}
.profile-themed-page .btn-primary {
  border-color: color-mix(in srgb, var(--profile-accent) 78%, #fff);
  color: color-mix(in srgb, var(--profile-accent) 9%, #06101b);
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 84%, #fff), color-mix(in srgb, var(--profile-accent) 80%, #2b282e));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--profile-accent) 20%, transparent);
}
.profile-themed-page .btn-primary:hover {
  color: #03101a;
  background: linear-gradient(135deg, color-mix(in srgb, var(--profile-accent) 90%, #fff), color-mix(in srgb, var(--profile-accent) 84%, #3a363e));
}
.profile-themed-page .profile-stats > div { background: color-mix(in srgb, var(--profile-accent) 10%, #0f0e12); }
.profile-themed-page .profile-main-column > .tabs { background: color-mix(in srgb, var(--profile-accent) 11%, #0e0d11); }
.profile-themed-page .profile-server-stat-head,
.profile-themed-page .profile-donation-history > div { border-color: color-mix(in srgb, var(--profile-accent) 20%, transparent); }
.profile-themed-page :is(.profile-game-statistics > header p,.profile-server-stat-head span,.profile-server-stat-grid dt,.profile-server-stat-grid dd small,.profile-donation-items p,.profile-donation-history small) { color: var(--muted); }
.profile-themed-page .profile-server-stat-grid dl div,
.profile-themed-page .profile-donation-history { background: color-mix(in srgb, var(--profile-accent) 8%, #0d0c10); }
.profile-themed-page .profile-server-stat-grid .donation-stat { border-color: color-mix(in srgb, var(--profile-accent) 28%, transparent); background: color-mix(in srgb, var(--profile-accent) 12%, transparent); }

.profile-color-setting {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px;
  border: 1px solid color-mix(in srgb, var(--profile-accent) 34%, transparent);
  border-radius: 17px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--profile-accent) 13%, #0a1728), #081321 64%);
  box-shadow: 0 16px 40px color-mix(in srgb, var(--profile-accent) 7%, transparent);
}
.profile-color-setting label { flex: 1; margin: 0; }
.profile-color-setting label > span { display: block; margin-bottom: 9px; font-weight: 800; }
.profile-color-setting small { display: block; margin-top: 9px; color: #8296ae; line-height: 1.45; }
.profile-color-picker { display: flex; align-items: center; gap: 11px; }
.profile-color-picker input[type="color"] {
  width: 62px;
  height: 44px;
  padding: 4px;
  border: 1px solid color-mix(in srgb, var(--profile-accent) 46%, transparent);
  border-radius: 12px;
  background: #07111f;
  cursor: pointer;
}
.profile-color-picker input[type="color"]::-webkit-color-swatch { border: 0; border-radius: 8px; }
.profile-color-picker input[type="color"]::-moz-color-swatch { border: 0; border-radius: 8px; }
.profile-color-picker output { color: color-mix(in srgb, var(--profile-accent) 78%, #fff); font: 800 .82rem/1 Consolas, monospace; letter-spacing: .05em; }
.profile-color-form .settings-preview { border-color: color-mix(in srgb, var(--profile-accent) 48%, transparent); box-shadow: 0 18px 48px color-mix(in srgb, var(--profile-accent) 13%, transparent); }
.profile-color-form .settings-preview > strong { text-shadow: 0 0 25px color-mix(in srgb, var(--profile-accent) 45%, transparent), 0 4px 18px rgba(0,0,0,.7); }
@media(max-width:640px){.profile-color-setting{align-items:stretch;flex-direction:column}.profile-color-setting .btn{width:100%}}

/* Settings inherit the same personal theme and update while the picker moves. */
.settings-page.profile-color-themed {
  --blue: var(--profile-accent);
  --blue-2: color-mix(in srgb,var(--profile-accent) 72%,#fff);
  --line: color-mix(in srgb,var(--profile-accent) 24%,transparent);
  --line-2: color-mix(in srgb,var(--profile-accent) 40%,transparent);
  --soft: color-mix(in srgb,var(--profile-accent) 13%,#c8c7cd);
  --muted: color-mix(in srgb,var(--profile-accent) 9%,#8e8c95);
  background:radial-gradient(circle at 16% 2%,color-mix(in srgb,var(--profile-accent) 14%,transparent),transparent 30%),radial-gradient(circle at 90% 50%,color-mix(in srgb,var(--profile-accent) 7%,transparent),transparent 31%),#08080b;
  transition:background-color .25s ease;
}
.profile-color-themed .settings-nav {
  padding:18px;
  border:1px solid color-mix(in srgb,var(--profile-accent) 24%,transparent);
  border-radius:18px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--profile-accent) 14%,#121116),rgba(9,8,12,.96));
  box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.profile-color-themed .settings-nav .eyebrow,
.profile-color-themed .settings-nav a:hover { color:color-mix(in srgb,var(--profile-accent) 76%,#fff); }
.profile-color-themed .settings-nav a:hover { background:color-mix(in srgb,var(--profile-accent) 13%,transparent); }
.profile-color-themed .settings-card {
  border-color:color-mix(in srgb,var(--profile-accent) 27%,transparent);
  background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--profile-accent) 12%,transparent),transparent 40%),linear-gradient(145deg,color-mix(in srgb,var(--profile-accent) 14%,#121116),#08080b 76%);
  box-shadow:0 22px 60px rgba(0,0,0,.25),inset 0 1px color-mix(in srgb,var(--profile-accent) 11%,transparent);
}
.profile-color-themed .settings-card-head { border-color:color-mix(in srgb,var(--profile-accent) 20%,transparent); }
.profile-color-themed .settings-card-head > span {
  border-color:color-mix(in srgb,var(--profile-accent) 48%,transparent);
  color:color-mix(in srgb,var(--profile-accent) 75%,#fff);
  background:color-mix(in srgb,var(--profile-accent) 12%,transparent);
}
.profile-color-themed :is(input:not([type="color"]),textarea,select) {
  border-color:color-mix(in srgb,var(--profile-accent) 23%,transparent);
  background-color:color-mix(in srgb,var(--profile-accent) 8%,#0d0c10);
}
.profile-color-themed :is(input:not([type="color"]),textarea,select):focus {
  border-color:color-mix(in srgb,var(--profile-accent) 67%,#fff);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-accent) 14%,transparent);
}
.profile-color-themed :is(.btn,.mini-btn) {
  border-color:color-mix(in srgb,var(--profile-accent) 43%,transparent);
  color:color-mix(in srgb,var(--profile-accent) 35%,#fff);
  background:linear-gradient(135deg,color-mix(in srgb,var(--profile-accent) 19%,#141218),color-mix(in srgb,var(--profile-accent) 10%,#0c0b0f));
}
.profile-color-themed :is(.btn,.mini-btn):hover {
  border-color:color-mix(in srgb,var(--profile-accent) 73%,#fff);
  color:#fff;
  background:linear-gradient(135deg,color-mix(in srgb,var(--profile-accent) 35%,#18161c),color-mix(in srgb,var(--profile-accent) 20%,#0e0d11));
}
.profile-color-themed .btn-primary {
  color:color-mix(in srgb,var(--profile-accent) 8%,#08080b);
  background:linear-gradient(135deg,color-mix(in srgb,var(--profile-accent) 86%,#fff),color-mix(in srgb,var(--profile-accent) 80%,#302d33));
  box-shadow:0 10px 28px color-mix(in srgb,var(--profile-accent) 20%,transparent);
}
.profile-color-themed .settings-savebar {
  border-color:color-mix(in srgb,var(--profile-accent) 43%,transparent);
  background:color-mix(in srgb,var(--profile-accent) 12%,rgba(9,8,12,.94));
  box-shadow:0 18px 50px rgba(0,0,0,.42),0 0 35px color-mix(in srgb,var(--profile-accent) 8%,transparent);
}
.profile-color-themed .connection-icon { background:var(--profile-accent); color:#09090c; box-shadow:0 10px 28px color-mix(in srgb,var(--profile-accent) 25%,transparent); }
.profile-color-themed .connection-setup-note { border-color:color-mix(in srgb,var(--profile-accent) 28%,transparent); background:color-mix(in srgb,var(--profile-accent) 7%,transparent); }
.profile-color-themed .settings-preview { border:1px solid color-mix(in srgb,var(--profile-accent) 46%,transparent); }
@media(max-width:900px){.profile-color-themed .settings-nav{position:static}}

/* Background selected by technical administration for a player directory card. */
.user-grid { align-items: start; }
.user-grid .user-card {
  position: relative;
  min-height: 0;
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  padding: 16px;
  isolation: isolate;
  overflow: hidden;
  border-radius: 18px;
  align-self: start;
  height: fit-content;
}
.user-grid .user-card > :not(.user-card-custom-bg) { position: relative; z-index: 2; }
.user-grid .user-card > img { width: 54px; height: 54px; align-self: center; border-radius: 15px; }
.user-grid .user-card > div { min-width: 0; display: flex; align-items: flex-start; flex-direction: column; gap: 5px; }
.user-grid .user-card > div > strong { max-width: 100%; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .94rem; line-height: 1.25; }
.user-grid .user-card > div > span { margin: 0; font-size: .76rem; line-height: 1.3; }
.user-grid .user-card .user-steam-line { max-width: 100%; margin: 1px 0 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .61rem; }
.user-grid .user-card .role-line { width: 100%; display: flex; align-items: flex-start; justify-content: flex-start; margin-top: 1px; }
.user-grid .user-card .role-line .role { width: fit-content; max-width: min(100%,145px); flex: 0 1 auto; padding: 5px 9px; border-radius: 9px; line-height: 1.25; text-align: left; white-space: normal; }
.user-grid .user-card > .user-card-custom-bg { position: absolute; z-index: 0; inset: 0; display:block; margin:0!important; padding:0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.user-card-custom-bg::after { display:none; }
.user-grid .user-card .user-card-custom-bg > img { width: 100%; height: 100%; max-width: none; border: 0; border-radius: 0; object-fit: cover; object-position: center; opacity: 1; transform: scale(1.01); transition: transform .65s cubic-bezier(.16,1,.3,1); }
.user-grid .user-card:hover .user-card-custom-bg > img { transform: scale(1.045); }
.user-grid .user-card:has(.user-card-custom-bg) { border-color: rgba(255,255,255,.18); background:#11131a; box-shadow:0 14px 36px rgba(0,0,0,.2); }
.user-grid .user-card.has-custom-card-background > div > strong,
.user-grid .user-card.has-custom-card-background > div > span,
.user-grid .user-card.has-custom-card-background .user-steam-line { color: #f6f8fc; text-shadow: 0 2px 9px rgba(0,0,0,.72); transition: color .25s ease,text-shadow .25s ease; }
.user-grid .user-card.is-light-card-background > div > strong { color: #11131a; text-shadow: 0 1px 1px rgba(255,255,255,.45); }
.user-grid .user-card.is-light-card-background > div > span,
.user-grid .user-card.is-light-card-background .user-steam-line { color: #333846; text-shadow: 0 1px 1px rgba(255,255,255,.48); }
@media(max-width:420px){.user-grid .user-card{min-height:0;grid-template-columns:50px minmax(0,1fr);gap:12px;padding:14px}.user-grid .user-card>img{width:50px;height:50px}.user-grid .user-card .role-line .role{max-width:min(100%,138px)}}
.card-background-preview { min-height: 112px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(117,216,255,.16); border-radius: 14px; color: #7890ad; background: #07111f; text-align: center; }
.card-background-preview img { width: 100%; height: 112px; object-fit: cover; }

/* Публичный рейтинг игроков. */
.leaderboard-page{padding:28px 0 72px}
.leaderboard-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px;padding:7px;border:1px solid rgba(117,216,255,.13);border-radius:18px;background:rgba(7,16,30,.84);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.leaderboard-tabs a{display:flex;min-width:0;align-items:center;gap:10px;padding:12px 14px;border:1px solid transparent;border-radius:12px;color:#8298b2;text-decoration:none;transition:color .22s,border-color .22s,background .22s,transform .22s}
.leaderboard-tabs a:hover{color:#e9f7ff;background:rgba(80,168,220,.06);transform:translateY(-1px)}
.leaderboard-tabs a.active{border-color:rgba(117,216,255,.23);color:#edfaff;background:linear-gradient(135deg,rgba(70,168,224,.16),rgba(92,106,216,.09));box-shadow:inset 0 1px rgba(255,255,255,.04)}
.leaderboard-tabs i{display:grid;flex:0 0 31px;width:31px;height:31px;place-items:center;border-radius:9px;color:#7edcff;background:rgba(73,160,214,.1);font-style:normal;font-weight:900}
.leaderboard-tabs span{overflow:hidden;font-size:.78rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-server-filter{display:flex;align-items:center;gap:12px;margin:-12px 0 27px;padding:11px 13px;border:1px solid rgba(117,216,255,.11);border-radius:15px;background:rgba(7,15,28,.68)}
.leaderboard-server-filter>span{flex:0 0 auto;color:#657c96;font-size:.67rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.leaderboard-server-filter>nav{display:flex;min-width:0;flex-wrap:wrap;gap:7px}
.leaderboard-server-filter a{padding:8px 12px;border:1px solid rgba(117,216,255,.09);border-radius:9px;color:#8098b2;background:rgba(255,255,255,.015);font-size:.72rem;font-weight:800;text-decoration:none;transition:color .2s,border-color .2s,background .2s,transform .2s}
.leaderboard-server-filter a:hover{color:#eaf8ff;transform:translateY(-1px)}
.leaderboard-server-filter a.active{border-color:rgba(117,216,255,.28);color:#eafaff;background:rgba(66,158,214,.13)}
.leaderboard-server-filter.locked strong{color:#8edfff;font-size:.8rem}.leaderboard-server-filter.locked small{margin-left:auto;color:#687f98;font-size:.68rem}
.leaderboard-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin-bottom:20px}
.leaderboard-winner{position:relative;display:grid;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:13px;min-height:122px;padding:20px;border:1px solid rgba(117,216,255,.13);border-radius:20px;color:#edf7ff;background:linear-gradient(145deg,rgba(14,32,55,.96),rgba(6,14,27,.96));box-shadow:0 20px 50px rgba(0,0,0,.24);text-decoration:none;transition:transform .3s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .3s}
.leaderboard-winner:hover{transform:translateY(-5px);border-color:rgba(117,216,255,.3);box-shadow:0 27px 60px rgba(0,0,0,.32)}
.leaderboard-winner.place-1{min-height:142px;border-color:rgba(255,205,92,.28);background:radial-gradient(circle at 100% 0,rgba(255,195,62,.13),transparent 42%),linear-gradient(145deg,#112239,#07101f)}
.leaderboard-winner.place-2{border-color:rgba(180,212,235,.2)}
.leaderboard-winner.place-3{border-color:rgba(216,151,102,.22)}
.leaderboard-winner>img{width:68px;height:68px;object-fit:cover;border:2px solid rgba(126,218,255,.25);border-radius:19px;background:#07111f}
.leaderboard-winner.place-1>img{border-color:rgba(255,205,92,.55);box-shadow:0 0 24px rgba(255,192,55,.12)}
.leaderboard-winner>div{display:grid;min-width:0;gap:4px}.leaderboard-winner strong,.leaderboard-winner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-winner strong{font-size:1rem}.leaderboard-winner small{color:#6f849d;font-family:Consolas,monospace;font-size:.62rem}
.leaderboard-winner>b{grid-column:1/-1;color:#8edfff;font-size:1.18rem}.leaderboard-winner.place-1>b{color:#ffd36c}
.leaderboard-place{position:absolute;right:13px;top:11px;color:rgba(151,211,242,.52);font-size:.72rem;font-weight:900}.place-1 .leaderboard-place{color:#ffd36c}
.leaderboard-table-shell{overflow:hidden;border:1px solid rgba(117,216,255,.13);border-radius:20px;background:linear-gradient(150deg,rgba(10,23,40,.96),rgba(5,12,23,.98));box-shadow:0 22px 55px rgba(0,0,0,.22)}
.leaderboard-table-shell>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid rgba(117,216,255,.1);background:linear-gradient(90deg,rgba(57,139,194,.1),transparent)}
.leaderboard-table-shell>header h2{margin:4px 0 0;font-size:1.2rem}.leaderboard-table-shell>header>span{color:#657d98;font-size:.7rem}
.leaderboard-list{padding:7px}
.leaderboard-row{display:grid;grid-template-columns:42px 46px minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px;min-height:64px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.045);border-radius:11px;color:#dceaf6;text-decoration:none;transition:background .2s,transform .2s}
.leaderboard-row:last-child{border-bottom:0}.leaderboard-row:hover{background:rgba(70,157,211,.065);transform:translateX(2px)}
.leaderboard-rank{color:#65809d;font-size:.78rem;text-align:center}.leaderboard-row:nth-child(-n+3) .leaderboard-rank{color:#88ddff}
.leaderboard-row>img{width:43px;height:43px;object-fit:cover;border:1px solid rgba(117,216,255,.17);border-radius:12px;background:#07111f}
.leaderboard-row>span{display:grid;min-width:0;gap:3px}.leaderboard-row>span strong,.leaderboard-row>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-row>span strong{font-size:.82rem}.leaderboard-row>span small{color:#647b94;font-size:.64rem}
.leaderboard-row>em{color:#8edfff;font-size:.86rem;font-style:normal;font-weight:900;text-align:right;white-space:nowrap}
.leaderboard-empty{display:grid;min-height:260px;place-items:center;align-content:center;gap:8px;text-align:center}.leaderboard-empty>span{color:#77d7ff;font-size:2rem}.leaderboard-empty h2,.leaderboard-empty p{margin:0}.leaderboard-empty p{color:#748aa4}
.leaderboard-admin-tools{margin:-12px 0 25px;border:1px solid rgba(255,99,126,.2);border-radius:14px;background:rgba(83,20,35,.13)}.leaderboard-admin-tools>summary{padding:12px 15px;color:#ff9caf;font-size:.73rem;font-weight:850;cursor:pointer}.leaderboard-admin-tools>form{display:flex;align-items:center;gap:12px;padding:0 15px 15px}.leaderboard-admin-tools small{color:#7f91a7;font-size:.68rem}.leaderboard-row.is-managed{grid-template-columns:42px 46px minmax(0,1fr) minmax(120px,auto) 34px}.leaderboard-row>span strong a{color:inherit;text-decoration:none}.leaderboard-row>form button{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid rgba(255,91,119,.25);border-radius:8px;color:#ff8097;background:rgba(125,26,48,.12);cursor:pointer}

/* ButterflyRP gangs and territory control. */
.gangs-page{padding:28px 0 76px;--gang-accent:#6ee4ce;--gang-blue:#66baff}
.gang-admin-selector{display:flex;justify-content:flex-end;margin-bottom:14px}.gang-admin-selector label{display:grid;min-width:min(420px,100%);gap:6px;color:#7890a9;font-size:.7rem;font-weight:800}
.gang-identity{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:20px;overflow:hidden;padding:25px;border:1px solid rgba(110,228,206,.18);border-radius:23px;background:radial-gradient(circle at 92% 5%,rgba(100,186,255,.13),transparent 38%),linear-gradient(145deg,#0b1b28,#07111e);box-shadow:0 25px 65px rgba(0,0,0,.25)}
.gang-identity::after{content:'';position:absolute;right:-70px;bottom:-110px;width:310px;height:310px;border:1px solid rgba(110,228,206,.09);border-radius:50%;box-shadow:0 0 0 35px rgba(110,228,206,.025),0 0 0 70px rgba(102,186,255,.018)}
.gang-emblem{display:grid;width:82px;height:82px;place-items:center;border:1px solid rgba(110,228,206,.3);border-radius:22px;color:#bcfff2;background:linear-gradient(145deg,rgba(75,185,166,.25),rgba(61,112,179,.14));font-size:1.25rem;font-weight:950;letter-spacing:.08em;box-shadow:inset 0 1px rgba(255,255,255,.06),0 12px 30px rgba(0,0,0,.24)}
.gang-identity>div:nth-child(2){min-width:0}.gang-identity>div>span{color:#72c7bc;font-size:.65rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.gang-identity h1{margin:5px 0;font-size:clamp(28px,4vw,48px)}.gang-identity p{max-width:680px;margin:0;color:#7e94aa;line-height:1.55}
.gang-identity dl{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;margin:0}.gang-identity dl>div{display:grid;gap:5px;padding:12px;border:1px solid rgba(110,228,206,.1);border-radius:12px;background:rgba(3,10,18,.42)}.gang-identity dt{color:#657d95;font-size:.58rem;font-weight:850;text-transform:uppercase}.gang-identity dd{margin:0;color:#dffff8;font-size:.88rem;font-weight:900}
.gang-tabs{display:flex;gap:7px;overflow-x:auto;margin:14px 0;padding:7px;border:1px solid rgba(110,228,206,.11);border-radius:16px;background:rgba(7,16,28,.82);scrollbar-width:thin}.gang-tabs a{flex:0 0 auto;padding:10px 13px;border:1px solid transparent;border-radius:10px;color:#718aa3;font-size:.72rem;font-weight:850;text-decoration:none;transition:.2s}.gang-tabs a:hover{color:#e7fff9;background:rgba(80,176,159,.06)}.gang-tabs a.active{border-color:rgba(110,228,206,.22);color:#e8fff9;background:linear-gradient(135deg,rgba(74,177,157,.16),rgba(70,125,189,.08))}
/* Территории временно скрыты. Удалить этот блок и включить флаг в gangs.php для возврата. */
.gang-tabs a[href*="tab=territories"],.gang-overview-grid article:last-child,.gang-admin-grid>form:first-child,.gang-admin-territories,.gang-rank-editor fieldset label:nth-child(5){display:none!important}
.gang-workspace{min-height:360px;padding:18px;border:1px solid rgba(110,228,206,.11);border-radius:20px;background:linear-gradient(145deg,rgba(8,20,32,.94),rgba(5,12,22,.97));box-shadow:0 22px 55px rgba(0,0,0,.2)}
.gang-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gang-overview-grid article{position:relative;display:grid;gap:7px;overflow:hidden;min-height:126px;padding:18px;border:1px solid rgba(110,228,206,.1);border-radius:16px;background:linear-gradient(145deg,rgba(18,42,55,.62),rgba(6,15,26,.74))}.gang-overview-grid article>span{color:#6f899e;font-size:.65rem;font-weight:850;text-transform:uppercase}.gang-overview-grid article>strong{color:#dffff8;font-size:1.4rem}.gang-overview-grid article>small{color:#688096;font-size:.68rem}.gang-overview-grid article>i,.gang-task-list article>i{position:absolute;left:0;bottom:0;width:var(--progress);height:3px;background:linear-gradient(90deg,#58d3bb,#62b8ff);box-shadow:0 0 13px rgba(91,215,194,.4)}
.gang-bank-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px}.gang-bank-actions form{display:flex;align-items:end;gap:9px;padding:14px;border:1px solid rgba(110,228,206,.09);border-radius:14px;background:rgba(4,12,21,.45)}.gang-bank-actions label{display:grid;flex:1;gap:6px;color:#768fa5;font-size:.68rem;font-weight:800}
.gang-members>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.gang-members h2{margin:0}.gang-members>header details{position:relative}.gang-members>header details>form{position:absolute;z-index:10;right:0;top:calc(100% + 8px);display:grid;width:320px;gap:8px;padding:13px;border:1px solid rgba(110,228,206,.18);border-radius:13px;background:#0a1927;box-shadow:0 20px 55px rgba(0,0,0,.45)}
.gang-members>article{display:grid;grid-template-columns:50px minmax(0,1fr) auto minmax(220px,auto) 34px;align-items:center;gap:12px;min-height:70px;padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.045);border-radius:11px}.gang-members>article:hover{background:rgba(83,176,159,.04)}.gang-members>article>img{width:46px;height:46px;object-fit:cover;border:1px solid rgba(110,228,206,.16);border-radius:13px}.gang-members>article>div{display:grid;min-width:0;gap:4px}.gang-members>article strong,.gang-members>article small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gang-members>article small{color:#687f96;font-size:.65rem}.gang-members>article>b{color:#86dfcf;font-size:.72rem}.gang-members>article>form{display:flex;gap:6px}.gang-icon-danger{display:grid;width:30px;height:30px;padding:0;place-items:center;border:1px solid rgba(255,91,119,.25);border-radius:8px;color:#ff8097;background:rgba(125,26,48,.12);cursor:pointer}
.gang-upgrade-tree{display:grid;gap:15px}.gang-upgrade-tree>article{position:relative;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(300px,1.4fr);gap:18px;padding:19px;border:1px solid rgba(110,228,206,.11);border-radius:17px;background:linear-gradient(145deg,rgba(16,38,51,.64),rgba(5,14,24,.72))}.gang-upgrade-tree header>span{color:#63c6b4;font-size:.6rem;font-weight:900;letter-spacing:.12em}.gang-upgrade-tree h2{margin:5px 0;font-size:1rem}.gang-upgrade-tree p{margin:0;color:#748aa0;font-size:.72rem;line-height:1.5}.gang-upgrade-levels{display:flex;align-items:center;gap:7px;overflow-x:auto;padding:7px}.gang-upgrade-levels i{position:relative;display:grid;flex:0 0 48px;height:58px;place-items:center;border:1px solid rgba(110,228,206,.1);border-radius:12px;color:#627b90;background:#07121e;font-style:normal}.gang-upgrade-levels i:not(:last-child)::after{content:'';position:absolute;left:100%;top:50%;width:8px;height:1px;background:rgba(110,228,206,.15)}.gang-upgrade-levels i.done{border-color:rgba(110,228,206,.35);color:#dffff8;background:rgba(60,156,139,.14)}.gang-upgrade-levels i.next{border-color:rgba(102,186,255,.35);color:#cceaff;box-shadow:0 0 18px rgba(83,165,220,.09)}.gang-upgrade-levels b{font-size:.78rem}.gang-upgrade-levels small{font-size:.55rem}.gang-upgrade-tree footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}
.gang-task-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gang-task-list article{position:relative;display:grid;gap:10px;overflow:hidden;min-height:220px;padding:18px;border:1px solid rgba(110,228,206,.11);border-radius:17px;background:linear-gradient(145deg,rgba(14,35,48,.72),rgba(5,13,23,.8))}.gang-task-list article.completed{border-color:rgba(93,222,164,.32)}.gang-task-list article>div>span{color:#62cbb8;font-size:.61rem;font-weight:900;text-transform:uppercase}.gang-task-list h2{margin:7px 0;font-size:1rem}.gang-task-list p{margin:0;color:#748aa0;font-size:.72rem;line-height:1.5}.gang-task-list article>strong{align-self:end}.gang-task-list footer{display:flex;flex-wrap:wrap;gap:7px}.gang-task-list footer span{padding:6px 8px;border-radius:8px;color:#8bcbbb;background:rgba(69,156,137,.09);font-size:.62rem}
.gang-territory-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.55fr);gap:14px}.gang-territory-map{position:relative;min-height:610px;overflow:hidden;border:1px solid rgba(110,228,206,.12);border-radius:18px;background:radial-gradient(circle at center,rgba(63,129,144,.12),transparent 65%),linear-gradient(rgba(110,228,206,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,228,206,.035) 1px,transparent 1px),#06111c;background-size:auto,42px 42px,42px 42px}.gang-territory-map::before{content:'КАРТА ВЛИЯНИЯ';position:absolute;left:18px;top:15px;color:rgba(121,202,192,.38);font-size:.62rem;font-weight:900;letter-spacing:.17em}.gang-territory-map>details{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-width:92px;min-height:58px}.gang-territory-map>details>summary{display:grid;height:100%;padding:9px;place-content:center;list-style:none;border:1px solid color-mix(in srgb,var(--owner),transparent 32%);border-radius:10px;color:#ecfffb;background:color-mix(in srgb,var(--owner),#06111c 78%);box-shadow:inset 0 0 22px color-mix(in srgb,var(--owner),transparent 86%),0 7px 20px rgba(0,0,0,.23);text-align:center;cursor:pointer}.gang-territory-map>details>summary span{font-size:.68rem;font-weight:900}.gang-territory-map>details>summary small{color:#9db0b8;font-size:.55rem}.gang-territory-map>details>div{position:absolute;z-index:20;left:0;top:calc(100% + 7px);width:270px;padding:13px;border:1px solid rgba(110,228,206,.18);border-radius:13px;background:#0a1927;box-shadow:0 20px 50px rgba(0,0,0,.48)}.gang-territory-map>details>div h3,.gang-territory-map>details>div p{margin:0 0 7px}.gang-territory-map>details>div p{color:#8197aa;font-size:.67rem}.gang-territory-map>details>div details small{display:block;margin-top:6px;color:#71879b;font-size:.61rem}.gang-territory-layout>aside{padding:16px;border:1px solid rgba(110,228,206,.11);border-radius:17px;background:rgba(5,14,24,.68)}.gang-territory-layout>aside h2{margin-top:0}.gang-territory-layout>aside>article{display:grid;gap:5px;padding:11px;border-bottom:1px solid rgba(255,255,255,.05)}.gang-territory-layout>aside>article span,.gang-territory-layout>aside>article small{color:#748ba0;font-size:.65rem}.gang-war-form{display:grid;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.gang-war-form label{display:grid;gap:6px;color:#7890a5;font-size:.67rem;font-weight:800}
.gang-settings-grid{display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);gap:14px}.gang-settings-grid>.panel,.gang-rank-editor>.panel,.gang-admin-grid>.panel{display:grid;align-content:start;gap:11px;margin:0}.gang-settings-grid label,.gang-admin-grid label{display:grid;gap:6px;color:#7790a5;font-size:.68rem;font-weight:800}.gang-rank-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gang-rank-editor form>header{display:flex;align-items:center;justify-content:space-between}.gang-rank-editor h2{margin:0;font-size:1rem}.gang-rank-editor header b{color:#79d9c7;font-size:.6rem}.gang-rank-editor fieldset{display:grid;gap:7px;padding:10px;border:1px solid rgba(110,228,206,.09);border-radius:11px}.gang-rank-editor fieldset label{display:flex;align-items:center;gap:7px;font-size:.65rem}.gang-rank-editor p{color:#71879d;font-size:.68rem}.gang-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gang-admin-grid>.danger{border-color:rgba(255,91,119,.22)}.gang-admin-territories{grid-column:1/-1}.gang-admin-territories form{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border-bottom:1px solid rgba(255,255,255,.05)}.gang-admin-territories span{display:grid}.gang-admin-territories small{color:#71869a}
@media(max-width:980px){.gang-identity{grid-template-columns:72px minmax(0,1fr)}.gang-identity dl{grid-column:1/-1}.gang-overview-grid,.gang-task-list{grid-template-columns:repeat(2,minmax(0,1fr))}.gang-territory-layout,.gang-settings-grid{grid-template-columns:1fr}.gang-admin-grid{grid-template-columns:1fr 1fr}.gang-members>article{grid-template-columns:46px minmax(0,1fr) auto}.gang-members>article>form{grid-column:2/-1}.gang-upgrade-tree>article{grid-template-columns:1fr}.gang-upgrade-tree footer{grid-column:1}}
@media(max-width:640px){.gangs-page{padding-top:16px}.gang-identity{grid-template-columns:58px minmax(0,1fr);gap:13px;padding:16px}.gang-emblem{width:58px;height:58px;border-radius:16px;font-size:.85rem}.gang-identity h1{font-size:26px}.gang-identity dl{grid-template-columns:1fr}.gang-overview-grid,.gang-task-list,.gang-bank-actions,.gang-rank-editor,.gang-admin-grid{grid-template-columns:1fr}.gang-workspace{padding:10px}.gang-bank-actions form{align-items:stretch;flex-direction:column}.gang-upgrade-tree>article{padding:13px}.gang-upgrade-levels{margin-inline:-5px}.gang-territory-map{min-height:520px}.gang-territory-map>details>div{position:fixed;z-index:100;left:12px;right:12px;top:auto;bottom:12px;width:auto}.gang-members>article{grid-template-columns:42px minmax(0,1fr) auto;padding-inline:4px}.gang-members>article>img{width:40px;height:40px}.gang-members>article>form{grid-column:1/-1}.leaderboard-admin-tools>form{align-items:flex-start;flex-direction:column}.leaderboard-row.is-managed{grid-template-columns:25px 38px minmax(0,1fr) 32px}.leaderboard-row.is-managed>em{grid-column:3}.leaderboard-row.is-managed>form{grid-column:4;grid-row:1/3}}

/* Gang workspace v2 */
.gang-upgrade-tree{position:relative;grid-template-columns:repeat(3,minmax(220px,1fr));align-items:end;gap:24px;padding:26px 24px 105px;border:1px solid rgba(109,220,205,.12);border-radius:22px;background:radial-gradient(circle at 50% 100%,rgba(92,204,185,.16),transparent 35%),linear-gradient(180deg,rgba(5,14,24,.7),rgba(3,9,17,.94))}
.gang-upgrade-tree::before{content:'Б';position:absolute;left:50%;bottom:25px;display:grid;width:54px;height:54px;place-items:center;transform:translateX(-50%);border:2px solid #68dbc6;border-radius:50%;color:#041018;background:#68dbc6;box-shadow:0 0 28px rgba(104,219,198,.3);font-size:1.15rem;font-weight:950}
.gang-upgrade-tree>article{position:relative;display:flex;min-height:530px;align-items:center;flex-direction:column;padding:20px 16px;border-color:rgba(255,255,255,.07);background:linear-gradient(180deg,rgba(12,27,42,.72),rgba(5,13,22,.4));text-align:center}
.gang-upgrade-tree>article::after{content:'';position:absolute;left:50%;bottom:-82px;width:2px;height:82px;background:linear-gradient(var(--branch-color,#68dbc6),rgba(104,219,198,.2));transform:translateX(-50%)}
.gang-upgrade-tree>article:nth-child(1){--branch-color:#4bdb91}.gang-upgrade-tree>article:nth-child(2){--branch-color:#f0c936}.gang-upgrade-tree>article:nth-child(3){--branch-color:#ef4c64}
.gang-upgrade-tree header{min-height:104px}.gang-upgrade-tree header>span{color:var(--branch-color)}.gang-upgrade-tree h2{font-size:1.05rem}.gang-upgrade-tree p{max-width:280px;margin-inline:auto;font-size:.78rem}
.gang-upgrade-levels{display:flex;overflow:visible;align-items:center;flex:1;flex-direction:column-reverse;justify-content:flex-start;gap:12px;padding:14px}
.gang-upgrade-levels i{flex:0 0 42px;width:42px;height:42px;border-radius:50%;border-color:rgba(255,255,255,.12);background:#081522}
.gang-upgrade-levels i:not(:last-child)::after{left:50%;top:auto;bottom:100%;width:2px;height:13px;background:rgba(255,255,255,.14)}
.gang-upgrade-levels i.done{border-color:var(--branch-color);color:#071019;background:var(--branch-color);box-shadow:0 0 17px color-mix(in srgb,var(--branch-color),transparent 65%)}
.gang-upgrade-levels i.next{border-color:var(--branch-color);color:var(--branch-color);box-shadow:0 0 20px color-mix(in srgb,var(--branch-color),transparent 76%)}
.gang-upgrade-tree footer{width:100%;margin-top:auto;flex-direction:column;gap:10px;border-top-color:rgba(255,255,255,.07)}
.gang-task-personal-heading{grid-column:1/-1;margin-top:20px;padding:19px 20px;border-top:1px solid rgba(110,228,206,.12)}.gang-task-personal-heading span{color:#6bd7c3;font-size:.63rem;font-weight:900;letter-spacing:.12em}.gang-task-personal-heading h2{margin:5px 0;font-size:1.2rem}.gang-task-personal-heading p{margin:0;color:#7890a5;font-size:.75rem}.gang-task-list article.personal{border-color:rgba(101,178,255,.16);background:linear-gradient(145deg,rgba(12,31,52,.76),rgba(5,13,23,.84))}
.gang-settings-grid{grid-template-columns:1fr}.gang-settings-grid>.panel{padding:22px;border-radius:18px}.gang-settings-grid>.panel:first-child{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}.gang-settings-grid>.panel:first-child h2,.gang-settings-grid>.panel:first-child textarea,.gang-settings-grid>.panel:first-child button{grid-column:1/-1}.gang-rank-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gang-rank-editor>.panel{padding:20px;border-radius:17px;background:linear-gradient(150deg,rgba(14,32,49,.84),rgba(6,15,26,.88))}.gang-rank-editor fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;padding:14px}.gang-rank-editor fieldset label{display:flex;min-height:28px;align-items:center;gap:9px;color:#a9bed0;font-size:.74rem}.gang-rank-editor fieldset input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:#62d5c0}.gang-rank-editor p{font-size:.76rem;line-height:1.55}.gang-owner-delete{grid-column:1/-1;border-color:rgba(255,79,106,.28)!important;background:linear-gradient(145deg,rgba(65,17,30,.42),rgba(14,11,20,.82))!important}.gang-owner-delete p{margin:0;color:#d9a6af}.gang-admin-reputation{border-color:rgba(241,201,61,.2)!important}
@media(max-width:900px){.gang-upgrade-tree{grid-template-columns:1fr;padding-bottom:30px}.gang-upgrade-tree::before,.gang-upgrade-tree>article::after{display:none}.gang-upgrade-tree>article{min-height:auto}.gang-upgrade-levels{overflow-x:auto;flex-direction:row}.gang-upgrade-levels i{flex:0 0 42px}.gang-upgrade-levels i:not(:last-child)::after{left:100%;top:50%;bottom:auto;width:13px;height:2px}.gang-settings-grid>.panel:first-child,.gang-rank-editor,.gang-rank-editor fieldset{grid-template-columns:1fr}}
@media(max-width:800px){.leaderboard-tabs{grid-template-columns:1fr 1fr}.leaderboard-podium{grid-template-columns:1fr}.leaderboard-winner,.leaderboard-winner.place-1{min-height:108px}.leaderboard-winner.place-1{order:-1}.leaderboard-row{grid-template-columns:32px 42px minmax(0,1fr) auto;padding-inline:8px}.leaderboard-server-filter{align-items:flex-start;flex-direction:column}.leaderboard-server-filter.locked small{margin-left:0}}
@media(max-width:520px){.leaderboard-page{padding-top:18px}.leaderboard-tabs{gap:6px;padding:6px}.leaderboard-tabs a{gap:7px;padding:9px}.leaderboard-tabs i{width:27px;height:27px;flex-basis:27px}.leaderboard-tabs span{font-size:.68rem}.leaderboard-server-filter>nav{display:grid;width:100%;grid-template-columns:1fr}.leaderboard-server-filter a{text-align:center}.leaderboard-table-shell>header{align-items:flex-start;flex-direction:column}.leaderboard-table-shell>header>span{display:none}.leaderboard-row{grid-template-columns:25px 38px minmax(0,1fr);gap:8px}.leaderboard-row>img{width:38px;height:38px}.leaderboard-row>em{grid-column:3;text-align:left}.leaderboard-row>span small{max-width:190px}.leaderboard-winner{grid-template-columns:58px minmax(0,1fr);padding:15px}.leaderboard-winner>img{width:58px;height:58px}}

@media(max-width:640px){
  .profile-main-column .profile-banner,
  .profile-main-column .profile-banner.custom {
    min-height: 285px;
    padding: 25px 16px 22px;
    background-size: cover !important;
    background-position: var(--banner-x,50%) var(--banner-y,50%);
  }
  .profile-main-column .profile-banner::before { background: linear-gradient(180deg,rgba(4,9,17,.12),rgba(4,9,17,.45) 42%,rgba(4,9,17,.94)); }
  .profile-main-column .profile-banner h1 { margin-bottom: 10px; font-size: clamp(29px,10vw,42px); letter-spacing: -.045em; }
  .profile-main-column .profile-banner .role-line { max-height: 68px; overflow-y: auto; }
  .profile-main-column .profile-avatar { width: 108px; height: 108px; border-radius: 23px; }
  .settings-preview,
  .image-fit-studio-stage .settings-preview { background-size: cover !important; background-position: var(--banner-x,50%) var(--banner-y,50%); }
}

/* Render the public banner on its own layer so it always fills the frame. */
.profile-main-column .profile-banner.custom {
  overflow: hidden;
  background-size: 0 0 !important;
  background-repeat: no-repeat;
}
.profile-main-column .profile-banner.custom::before {
  inset: -1px;
  background-image: inherit;
  background-repeat: no-repeat;
  background-position: var(--banner-x,50%) var(--banner-y,50%);
  background-size: cover;
  transform: scale(var(--banner-scale,1));
  transform-origin: var(--banner-x,50%) var(--banner-y,50%);
  will-change: transform;
}
.profile-main-column .profile-banner.custom::after {
  opacity: 1;
  background:
    linear-gradient(90deg,rgba(4,4,7,.72),rgba(4,4,7,.30) 58%,rgba(4,4,7,.12)),
    linear-gradient(180deg,rgba(4,4,7,.04),rgba(4,4,7,.80)),
    linear-gradient(color-mix(in srgb,var(--profile-accent,#68d7ff) 10%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--profile-accent,#68d7ff) 9%,transparent) 1px,transparent 1px);
  background-size:auto,auto,38px 38px,38px 38px;
  mask-image:none;
}
@media(max-width:640px){
  .profile-main-column .profile-banner.custom::after {
    background:linear-gradient(180deg,rgba(4,4,7,.08),rgba(4,4,7,.40) 42%,rgba(4,4,7,.90));
  }
}

/* Mobile interaction layer ------------------------------------------------- */
.forum-manual-sorting { display:grid; gap:17px; padding:22px; border:1px solid rgba(117,216,255,.18); border-radius:21px; background:radial-gradient(circle at 100% 0,rgba(78,151,255,.12),transparent 38%),linear-gradient(145deg,rgba(13,27,47,.96),rgba(6,13,24,.98)); box-shadow:0 22px 60px rgba(0,0,0,.24); }
.forum-manual-sorting>header { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:17px; border-bottom:1px solid rgba(117,216,255,.13); }
.forum-manual-sorting>header h2 { margin:4px 0 5px; font-size:1.45rem; }
.forum-manual-sorting>header p { max-width:650px; margin:0; color:#8094ad; font-size:.8rem; line-height:1.55; }
.forum-sort-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:5px; border:1px solid rgba(117,216,255,.12); border-radius:13px; background:rgba(3,9,18,.45); }
.forum-sort-tabs button { min-height:34px; padding:7px 12px; border:0; border-radius:9px; color:#7d91aa; background:transparent; font-weight:800; cursor:pointer; transition:.2s ease; }
.forum-sort-tabs button:hover,.forum-sort-tabs button.active { color:#f2f9ff; background:linear-gradient(135deg,rgba(68,158,222,.26),rgba(87,101,220,.18)); }
.forum-sort-views,.forum-sort-view { display:grid; gap:11px; }
.forum-sort-view[hidden] { display:none!important; }
.forum-sort-group { overflow:hidden; border:1px solid rgba(117,216,255,.12); border-radius:15px; background:rgba(4,11,21,.5); }
.forum-sort-group>summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; color:#dceaf5; cursor:pointer; font-size:.81rem; font-weight:800; list-style:none; }
.forum-sort-group>summary::-webkit-details-marker { display:none; }
.forum-sort-group>summary b { min-width:27px; padding:4px 7px; border-radius:999px; color:#75d8ff; background:rgba(117,216,255,.1); text-align:center; font-size:.68rem; }
.forum-sort-group[open]>summary { border-bottom:1px solid rgba(117,216,255,.1); background:rgba(56,132,190,.055); }
.forum-sort-list { display:grid; gap:6px; margin:0; padding:10px; list-style:none; }
.forum-sort-list li { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:48px; padding:8px 9px; border:1px solid rgba(117,216,255,.1); border-radius:11px; color:#cfdeeb; background:linear-gradient(135deg,rgba(15,29,48,.9),rgba(8,16,29,.94)); transition:transform .2s ease,border-color .2s ease,opacity .2s ease,background .2s ease; }
.forum-sort-list li:hover { border-color:rgba(117,216,255,.27); background:linear-gradient(135deg,rgba(19,40,65,.94),rgba(8,18,32,.96)); }
.forum-sort-list li.is-dragging { opacity:.42; border-color:#75d8ff; transform:scale(.99); }
.forum-sort-list li.just-moved { border-color:rgba(105,227,169,.52); background:rgba(57,163,116,.1); }
.forum-sort-list li>i { display:grid; place-items:center; height:30px; border-radius:8px; color:#64809f; background:rgba(255,255,255,.025); font-style:normal; cursor:grab; user-select:none; }
.forum-sort-list li>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.79rem; font-weight:750; }
.forum-sort-list li>div { display:flex; gap:4px; }
.forum-sort-list li button { display:grid; width:31px; height:31px; padding:0; place-items:center; border:1px solid rgba(117,216,255,.14); border-radius:8px; color:#91a8c0; background:#081321; cursor:pointer; }
.forum-sort-list li button:hover { border-color:rgba(117,216,255,.42); color:#fff; background:rgba(62,142,201,.16); }
.forum-sort-group>footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border-top:1px solid rgba(117,216,255,.09); }
.forum-sort-group>footer span { color:#70869f; font-size:.7rem; }
.forum-sort-group>footer span.success { color:#6de0a4; }.forum-sort-group>footer span.error { color:#ff8fa4; }
@media(max-width:760px){.forum-manual-sorting{padding:15px}.forum-manual-sorting>header{align-items:stretch;flex-direction:column}.forum-sort-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.forum-sort-group>footer{align-items:stretch;flex-direction:column}.forum-sort-group>footer .btn{width:100%}}

.admin-side-toggle,.admin-side-close,.admin-side-backdrop { display:none; }
body.mobile-dialog-open,body.admin-menu-open { overflow:hidden; }
dialog.dialog-fallback-open {
  position:fixed;
  z-index:140;
  inset:16px;
  display:block;
  width:auto;
  max-width:none;
  max-height:calc(100dvh - 32px);
  margin:0;
  overflow:auto;
}

@media(max-width:900px){
  .main-content:has(>.admin-side-nav){padding-left:0;padding-bottom:78px}
  .admin-side-toggle{
    position:fixed;z-index:102;left:12px;bottom:calc(12px + env(safe-area-inset-bottom));
    display:flex;align-items:center;gap:9px;min-height:50px;padding:8px 14px;
    border:1px solid rgba(131,228,255,.28);border-radius:14px;color:#eaf8ff;
    background:#10223a;box-shadow:0 14px 38px rgba(0,0,0,.48);font:inherit;cursor:pointer
  }
  .admin-side-toggle span{font-size:19px}.admin-side-toggle b{font-size:12px}
  .admin-side-backdrop{position:fixed;z-index:108;inset:0;display:block;background:rgba(2,6,13,.76);backdrop-filter:blur(3px)}
  .admin-side-backdrop[hidden]{display:none}
  .admin-side-nav{
    z-index:110;top:0;right:auto;bottom:0;left:0;width:min(340px,88vw);height:100dvh;
    padding:18px 13px calc(24px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;
    border-top:0;border-right:1px solid rgba(137,201,255,.18);background:#07111f;
    box-shadow:25px 0 70px rgba(0,0,0,.58);transform:translateX(-105%);
    transition:transform .28s cubic-bezier(.16,1,.3,1);visibility:hidden
  }
  .admin-side-nav.mobile-open{transform:translateX(0);visibility:visible}
  .admin-side-close{position:absolute;z-index:2;top:17px;right:15px;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:10px;color:#d7ebff;background:#101d31;font-size:24px}
  .admin-side-brand{display:flex;margin-right:46px}
  .admin-side-nav nav{display:grid;align-items:stretch;gap:5px;overflow:visible}
  .admin-side-group-title{display:block;margin:18px 8px 6px;color:#607894;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
  .admin-side-nav nav>a{flex:none;justify-content:flex-start;min-width:0;min-height:46px;padding:8px 11px}
  .admin-side-nav nav>a i{width:29px;height:29px}.admin-side-nav nav>a span{display:block}
  .notification-fab{right:12px;bottom:calc(13px + env(safe-area-inset-bottom))}
}

@media(max-width:760px){
  html,body,.site-shell,.main-content{max-width:100%;overflow-x:hidden}
  .container,.wide-container,.container-wide,
  .staff-directory-page>.wide-container,.admin-workspace-heading,.admin-workspace-content{
    width:calc(100% - 20px);max-width:none;margin-inline:auto
  }
  .main-content{padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .main-content:has(>.admin-side-nav){padding-bottom:82px}
  .topbar{min-height:64px}.nav{min-height:64px;padding-block:8px;gap:9px}
  .brand img{width:36px;height:36px}.brand-copy{font-size:13px}
  .nav-toggle{order:2;flex:0 0 44px;margin-left:auto!important}
  .nav-user{order:3;margin-left:0}.nav-menu{order:4!important;max-height:calc(100dvh - 82px);overflow-y:auto}
  .user-menu summary{min-height:44px}.user-menu-popover{top:64px;max-height:calc(100dvh - 76px);overflow-y:auto}

  input:not([type="checkbox"]):not([type="radio"]),select,textarea{
    width:100%;max-width:100%;min-width:0;font-size:16px!important
  }
  textarea{resize:vertical}.btn,button,input[type="submit"]{min-height:44px;touch-action:manipulation}
  summary,a,label{touch-action:manipulation}
  .page-hero{padding:34px 0 24px}.page-hero>.container,.admin-hero,.page-title,.forum-head{gap:16px}
  .page-hero h1,.admin-hero h1,.forum-head h1,.page-title h1{font-size:clamp(30px,10vw,43px);line-height:1.04}
  .page-hero p,.admin-hero p,.forum-head p,.page-title p{font-size:14px;line-height:1.55}
  .page-actions,.forum-head-actions{display:grid;width:100%;grid-template-columns:1fr;gap:8px}
  .page-actions>.btn,.forum-head-actions>.btn,.forum-head-actions>a{width:100%;justify-content:center;text-align:center}

  .admin-workspace-heading .breadcrumb{overflow-x:auto;white-space:nowrap}
  .admin-workspace-heading .admin-hero{padding:20px 16px}
  .admin-workspace-content{gap:13px;padding-top:14px;padding-bottom:28px}
  .admin-tool-card,.admin-create-disclosure,.filter-disclosure{border-radius:14px}
  .admin-tool-card-head,.admin-create-disclosure>summary,.filter-disclosure>summary{align-items:flex-start;gap:10px;padding:14px}
  .admin-tool-card-head{flex-wrap:wrap}.admin-tool-card-head>.btn,.admin-tool-card-head>form{width:100%}
  .admin-tool-card-head>form .btn{width:100%}
  .mapping-form,.blacklist-form,.server-admin-form,.server-card-edit,.console-command-form,.admin-ban-form,
  .staff-add-form,.staff-profile-form,.department-profile-form,.report-review-form,.settings-grid,
  .role-v2-grid,.permission-groups,.forum-admin-fields,.forum-folder-dialog-fields{
    grid-template-columns:1fr!important
  }
  .mapping-form,.blacklist-form{padding:15px}.blacklist-form .wide{grid-column:auto}
  .role-v2-sidebar{display:block}.roles-v2-sidebar>details{margin-bottom:10px}.role-v2-card{padding:13px}
  .role-v2-card>header{align-items:flex-start;flex-wrap:wrap}.role-v2-card>header>b{width:100%;padding-left:25px}
  .role-v2-editor>footer,.server-admin-card>footer,.staff-dialog-footer{align-items:stretch;flex-direction:column}
  .role-v2-editor>footer .btn,.server-admin-card>footer .btn,.staff-dialog-footer .btn,.staff-dialog-footer form{width:100%}

  .logs-table-wrapper,.table-wrap,.staff-table-scroll,.staff-directory-shell,.audit-table-wrap{
    display:block;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;
    -webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain
  }
  .admin-table,.audit-table,.department-directory-table{min-width:760px}
  .staff-directory-table{min-width:1180px}
  .staff-directory-table th{
    padding:11px 9px;
    overflow:hidden;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    text-overflow:clip;
    line-height:1.35;
    vertical-align:middle
  }
  .staff-directory-table th:nth-child(1){width:15%}
  .staff-directory-table th:nth-child(2){width:14%}
  .staff-directory-table th:nth-child(3){width:12%}
  .staff-directory-table th:nth-child(7){width:9%}
  .staff-directory-table th:nth-child(8){width:11%}
  .staff-directory-table th:nth-child(9){width:11%}
  .logs-table-wrapper::after,.staff-directory-shell::after{
    content:'Проведите в сторону, чтобы увидеть остальные столбцы';position:sticky;left:10px;display:block;width:max-content;
    padding:7px 10px;color:#66809e;font-size:10px
  }

  dialog,.staff-profile-dialog,.bbcode-help-dialog,.media-create-dialog,.forum-folder-dialog,.handbook-editor-dialog{
    width:calc(100% - 12px)!important;max-width:none!important;max-height:calc(100dvh - 12px)!important;
    margin:6px!important;border-radius:15px!important
  }
  .staff-profile-dialog{height:calc(100dvh - 12px)}
  .staff-dialog-head{padding:14px;gap:10px}.staff-dialog-person img{width:50px!important;min-width:50px!important;height:50px!important;min-height:50px!important}
  .staff-dialog-person h2{font-size:18px}.staff-dialog-body{gap:12px;padding:12px}
  .staff-profile-stats,.staff-detail-grid{grid-template-columns:1fr 1fr!important}
  .staff-profile-form{padding:13px}.staff-profile-form label:has(>select[name="status"]){width:100%}
  .discipline-history{max-height:none}.discipline-revoke-form{grid-template-columns:1fr}.discipline-revoke-form .btn{width:100%}
  .bbcode-help-head{align-items:flex-start;gap:12px;padding:16px}.bbcode-help-grid{grid-template-columns:1fr;padding:14px}

  .editor{max-width:100%;overflow:hidden}.editor-toolbar{
    display:flex;flex-wrap:nowrap;gap:6px;width:100%;padding:8px;overflow-x:auto!important;overflow-y:hidden;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x
  }
  .editor-toolbar>button,.editor-toolbar>.toolbar-color{flex:0 0 42px;scroll-snap-align:start}
  .editor-toolbar button{width:42px;height:42px;min-height:42px}
  .editor-toolbar .toolbar-divider{flex:0 0 1px}
  .editor textarea{min-height:180px;padding:13px;font-size:16px;line-height:1.55}
  .editor-preview-controls .btn{width:100%}.bb-preview{overflow:hidden}.bb-preview img,.bb-content img{max-width:100%;height:auto}

  .visibility-audiences,.visibility-roles>div{display:grid;grid-template-columns:1fr 1fr}
  .visibility-audiences label,.visibility-roles label{min-width:0;padding:10px 8px}
  .filter-disclosure>summary>*, .admin-create-disclosure>summary>*{min-width:0}
  .filter-disclosure form,.directory-filter,.log-filter{grid-template-columns:1fr!important;padding:14px}
  .tabs,.staff-server-tabs,.salary-rank-nav,.handbook-nav nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
  .tabs>a,.staff-server-tabs>a,.salary-rank-nav-item,.handbook-nav a{flex:0 0 auto;scroll-snap-align:start}

  .forum-post,.post{overflow:hidden}.post-content,.bb-content{min-width:0;overflow-wrap:anywhere}
  .topic-actions,.post-actions{display:flex;max-width:100%;gap:7px;overflow-x:auto;padding-bottom:4px}
  .topic-actions>* ,.post-actions>*{flex:0 0 auto}
  .forum-folder-row{max-width:100%}.forum-folder-name{min-width:0}.forum-folder-name b,.forum-folder-name small{overflow:hidden;text-overflow:ellipsis}
  .forum-admin-folder-toolbar{display:grid;grid-template-columns:1fr}.forum-admin-folder-toolbar .btn{width:100%}

  .notification-card{grid-template-columns:40px minmax(0,1fr);padding:13px}.notification-card>i{display:none}
  .site-footer>.container{align-items:flex-start;flex-direction:column}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .notification-fab{width:47px;height:47px}
}

@media(max-width:430px){
  .container,.wide-container,.container-wide,.staff-directory-page>.wide-container,.admin-workspace-heading,.admin-workspace-content{width:calc(100% - 14px)}
  .brand-copy{display:none!important}.nav{gap:7px}.nav-user .btn{font-size:11px}
  .admin-side-toggle b{display:none}.admin-side-toggle{width:50px;justify-content:center;padding:0}
  .staff-profile-stats,.staff-detail-grid,.visibility-audiences,.visibility-roles>div{grid-template-columns:1fr!important}
  .staff-dialog-person{padding-right:42px}.staff-section-title{padding:13px}.staff-section-title>span{display:none}
  .forum-folder-row{grid-template-columns:16px 34px minmax(0,1fr)!important}
}

@media(hover:none) and (pointer:coarse){
  .btn:hover,.server-card:hover,.user-card:hover,.forum-folder-row:hover,.bp-v5-direction:hover,.bp-portal-server:hover,
  .showcase-panel:hover,.staff-directory-row:hover{transform:none!important;translate:none!important}
  [data-tooltip]::after{display:none!important}
}

/* Home server network: a flat live terminal instead of the old 3D square. */
.landing-hero .landing-server-network {
  --dashboard-rotate-x:0deg;
  --dashboard-rotate-y:0deg;
  position:relative;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(125,216,255,.17);
  border-radius:28px 9px 28px 9px;
  background:linear-gradient(145deg,rgba(10,22,39,.96),rgba(5,11,22,.98));
  box-shadow:0 32px 90px rgba(0,0,0,.46),inset 0 1px rgba(255,255,255,.04);
  transform:none!important;
  transform-style:flat;
  will-change:auto;
}
.landing-hero .landing-server-network::before {
  left:0;
  right:auto;
  top:0;
  bottom:0;
  width:3px;
  height:auto;
  border-radius:0;
  background:linear-gradient(180deg,transparent,#7ce1ff 25%,#7776ff 72%,transparent);
  filter:none;
}
.landing-hero .landing-server-network::after {
  background:radial-gradient(circle at var(--dashboard-pointer-x) var(--dashboard-pointer-y),rgba(122,219,255,.11),transparent 38%);
}
.dashboard-network-head { padding:20px 20px 17px; border-bottom:1px solid rgba(133,213,255,.1); background:linear-gradient(105deg,rgba(89,179,238,.075),transparent 68%); }
.landing-server-network .dashboard-topline { padding:0 0 14px; color:#82a8c5; }
.landing-server-network .dashboard-topline::after { flex:1; height:1px; margin-left:4px; content:''; background:linear-gradient(90deg,rgba(126,217,255,.17),transparent); }
.landing-server-network .dashboard-topline small { order:4; margin-left:0; white-space:nowrap; }
.landing-server-network .dashboard-logo { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:13px; margin:0; padding:0; border:0; border-radius:0; background:none; transform:none; }
.landing-server-network .dashboard-logo img { width:48px; height:48px; object-fit:contain; }
.dashboard-network-total { align-self:center; min-width:100px; padding-left:15px; border-left:1px solid rgba(132,214,255,.12); text-align:right; }
.dashboard-network-total span,.dashboard-network-total strong,.dashboard-network-total small { display:block; }
.dashboard-network-total span { color:#617a93; font-size:.56rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.dashboard-network-total strong { margin-top:2px; color:#eefaff; font-size:1.25rem; line-height:1; }
.dashboard-network-total small { display:inline; margin-left:3px; color:#64829b; font-size:.66rem; }
.landing-hero .landing-server-network .dashboard-server-stack { display:grid; grid-template-columns:1fr; gap:8px; min-height:0; padding:16px 18px 6px; }
.landing-hero .landing-server-network .dashboard-server {
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  min-height:92px;
  padding:0 15px 0 0!important;
  overflow:hidden;
  border:1px solid rgba(129,207,250,.105);
  border-radius:13px!important;
  background:linear-gradient(100deg,rgba(22,42,64,.74),rgba(8,17,31,.86))!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transform:none!important;
  transition:border-color .28s ease,background-color .28s ease,translate .38s cubic-bezier(.16,1,.3,1),box-shadow .28s ease;
}
.landing-hero .landing-server-network .dashboard-server::before { display:none; }
.landing-hero .landing-server-network .dashboard-server:hover { border-color:rgba(128,220,255,.3); box-shadow:0 13px 34px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04); translate:5px 0; }
.dashboard-server-cover { position:relative; align-self:stretch; min-height:90px; overflow:hidden; background:linear-gradient(90deg,rgba(7,15,26,.08),rgba(7,15,26,.78)),var(--server-cover),linear-gradient(145deg,#21496d,#0c1525); background-position:center; background-size:cover; }
.dashboard-server-cover::after { position:absolute; inset:0; content:''; border-right:1px solid rgba(134,216,255,.09); background:linear-gradient(135deg,rgba(132,221,255,.1),transparent 55%); }
.landing-server-network .dashboard-index { z-index:1; left:10px; top:9px; color:#fff; font-size:1.7rem; line-height:1; opacity:.72; text-shadow:0 3px 18px #000; }
.landing-server-network .dashboard-server-main { gap:5px; }
.landing-server-network .dashboard-server-main strong { overflow:hidden; font-size:.93rem; text-overflow:ellipsis; white-space:nowrap; }
.landing-server-network .dashboard-server-main span { font-size:.63rem; }
.landing-server-network .dashboard-server-main > div { height:4px; margin-top:7px; }
.landing-server-network .dashboard-server-main > div i { width:var(--fill); }
.dashboard-server-side { display:grid; justify-items:end; gap:12px; min-width:72px; }
.landing-server-network .dashboard-status { position:static; display:flex; align-items:center; gap:6px; font-size:.58rem; font-weight:900; letter-spacing:.08em; }
.dashboard-server-side > b { color:#dbefff; font-family:Consolas,monospace; font-size:.66rem; white-space:nowrap; }
.landing-server-network .dashboard-footer { margin:0; padding:15px 20px 18px; border:0; }
.landing-server-network .dashboard-footer b { color:#82ddff; }
.dashboard-network-empty { display:grid; min-height:210px; place-items:center; align-content:center; gap:12px; color:#718aa2; }
.dashboard-network-empty img { width:62px; opacity:.5; }
.landing-server-network.dashboard-sequence { animation:bp-network-terminal-in .82s cubic-bezier(.16,1,.3,1) both; }
@keyframes bp-network-terminal-in { from { opacity:0; clip-path:inset(0 100% 0 0 round 28px); translate:24px 0; } to { opacity:1; clip-path:inset(0 round 28px); translate:0 0; } }
@media(max-width:680px){
  .landing-hero .landing-server-network{border-radius:22px 7px 22px 7px}
  .dashboard-network-head{padding:17px 16px 15px}
  .dashboard-network-total{min-width:78px;padding-left:10px}
  .landing-hero .landing-server-network .dashboard-server-stack{padding:12px 13px 3px}
  .landing-hero .landing-server-network .dashboard-server{grid-template-columns:70px minmax(0,1fr) auto;gap:11px;min-height:80px;padding-right:11px!important}
  .dashboard-server-cover{min-height:78px}
  .dashboard-server-side{min-width:48px}.dashboard-server-side>b{display:none}
  .landing-server-network .dashboard-footer{padding:14px 15px 16px}
}
@media(max-width:430px){
  .landing-server-network .dashboard-logo{grid-template-columns:44px minmax(0,1fr)}
  .landing-server-network .dashboard-logo img{width:42px;height:42px}
  .dashboard-network-total{display:none}
  .landing-hero .landing-server-network .dashboard-server{grid-template-columns:62px minmax(0,1fr)}
  .dashboard-server-side{position:absolute;right:9px;top:9px}.dashboard-server-cover{min-height:76px}
}

/* Fixed GMod loading themes: preview and deployment only. */
.gmod-loading-admin-grid.is-connection-only{grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr)}
.gmod-loading-preview-card{overflow:hidden}
.gmod-loading-preview-action{padding:20px}
.gmod-loading-preview-action .btn{width:100%;justify-content:center;min-height:48px}
.gmod-loading-admin-grid.is-connection-only .gmod-loading-deploy{top:95px}
@media(max-width:1050px){.gmod-loading-admin-grid.is-connection-only{grid-template-columns:1fr}.gmod-loading-admin-grid.is-connection-only .gmod-loading-deploy{position:static}.gmod-loading-preview-frame{border-radius:12px}}

/* Technical-only GMod loading screen editor */
.gmod-loading-admin-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:18px; align-items:start; }
.gmod-loading-editor,.gmod-loading-deploy { overflow:hidden; }
.gmod-loading-editor > form { padding:20px; }
.gmod-loading-editor label { display:grid; gap:7px; color:#91a5bc; font-size:12px; font-weight:750; }
.gmod-loading-editor label small { color:#60758d; font-size:10px; font-weight:500; }
.gmod-loading-editor textarea { min-height:190px; resize:vertical; }
.gmod-loading-deploy { position:sticky; top:95px; }
.gmod-loading-deploy > div { display:grid; gap:9px; margin:16px 18px 0; padding:15px; border:1px solid rgba(126,210,251,.1); border-radius:13px; background:rgba(255,255,255,.02); }
.gmod-loading-deploy > div > span { color:#6f849b; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.gmod-loading-deploy code { display:block; padding:11px; overflow-wrap:anywhere; border:1px solid rgba(126,210,251,.08); border-radius:9px; color:#8be3ff; background:#06101c; font-size:11px; line-height:1.55; }
.gmod-loading-deploy > a { margin:16px 18px 0; }
.gmod-loading-deploy > p { margin:14px 18px 18px; color:#71869d; font-size:10px; line-height:1.6; }
@media(max-width:980px){.gmod-loading-admin-grid{grid-template-columns:1fr}.gmod-loading-deploy{position:static}}
/* Ивенты, каталог доната и донатная администрация */
.events-page{padding-bottom:70px}.event-create-card{margin-bottom:24px}.event-create-card>summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}.event-create-card>summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#72dcff,#548cff);color:#04101f;font-size:24px}.event-create-card>summary div{display:grid;gap:3px}.event-create-card>summary small{color:var(--muted)}
.event-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:22px}.event-form label{display:grid;gap:7px;color:#aebbd2;font-weight:700}.event-form label.wide{grid-column:1/-1}.event-form input,.event-form select,.event-form textarea{width:100%;border:1px solid #1d3650;border-radius:12px;background:#081426;color:#edf8ff;padding:13px 14px;resize:vertical}.event-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{position:relative;overflow:hidden;padding:22px;border:1px solid #18334c;border-radius:20px;background:linear-gradient(145deg,rgba(12,29,48,.97),rgba(5,14,27,.97));box-shadow:0 20px 50px rgba(0,0,0,.2)}.event-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#6edaff}.event-card.status-rejected:before{background:#ff667e}.event-card.status-completed:before{background:#70839d}.event-card.status-active:before{background:#56f0a3;box-shadow:0 0 22px #56f0a3}.event-card>header,.event-card .event-meta,.event-helpers{display:flex;align-items:center;justify-content:space-between;gap:15px}.event-card>header span,.event-meta,.event-helpers{color:#879bb6;font-size:13px}.event-card h2{margin:4px 0 0;font-size:22px}.event-card>header>b{padding:7px 10px;border-radius:999px;background:#102b42;color:#8be4ff;font-size:12px}.event-card>p{line-height:1.7;color:#c5d4e7}.event-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.event-card dl div{padding:12px;border-radius:12px;background:#071527}.event-card dt{color:#7890ad;font-size:11px;text-transform:uppercase}.event-card dd{margin:5px 0 0;font-weight:800}.event-helpers{justify-content:flex-start;flex-wrap:wrap}.event-helpers a{padding:5px 8px;border-radius:8px;background:#10243a;color:#9cdfff}.event-review-note{margin-top:14px;padding:12px;border-radius:12px;background:#101d30}.event-review{margin-top:18px;border-top:1px solid #173149;padding-top:15px}.event-review>summary{cursor:pointer;color:#7edcff;font-weight:800}.event-decisions{display:flex;gap:10px;grid-column:1/-1}
.donation-catalog-dialog{width:min(900px,calc(100vw - 28px));max-height:88vh;border:1px solid #21415e;border-radius:22px;background:#071426;color:#edf8ff;padding:0}.donation-catalog-dialog::backdrop{background:rgba(0,5,14,.8);backdrop-filter:blur(6px)}.donation-catalog-dialog>div>header{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid #17324a}.donation-catalog-dialog h2{margin:4px 0 0}.donation-catalog-body{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:20px;overflow:auto;max-height:70vh}.donation-catalog-body section{min-width:0}.donation-catalog-search{display:grid;gap:7px;color:#93a8c1}.donation-catalog-search input{padding:12px;border:1px solid #1d3b57;border-radius:11px;background:#09192b;color:#fff}.donation-catalog-list{display:grid;gap:8px;margin-top:12px}.donation-catalog-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;border-radius:11px;background:#0b1b2e}.donation-catalog-list code{color:#82ddff}.donation-catalog-list button{border:0;background:transparent;color:#7dcff0;cursor:pointer}.donation-rank-setting{margin:12px 0;padding:12px;border-radius:12px;background:#0a1c30}
.donation-staff-profile-status>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.donation-staff-profile-status article{padding:15px;border:1px solid #18344d;border-radius:14px;background:#08182a}.donation-staff-profile-status article>div,.donation-staff-profile-status dl{display:flex;justify-content:space-between;align-items:center;gap:12px}.donation-staff-profile-status dl{margin:14px 0 0;color:#94a8c0}.donation-staff-profile-status dl span{display:grid;gap:3px}.donation-staff-profile-status dl b{font-size:20px;color:#fff}
@media(max-width:780px){.event-board,.event-form,.donation-catalog-body,.donation-staff-profile-status>div{grid-template-columns:1fr}.event-form label.wide{grid-column:auto}.event-card dl{grid-template-columns:1fr}.donation-catalog-list article{grid-template-columns:1fr auto}.donation-catalog-list button{grid-column:1/-1;text-align:left}}

/* Donation ranks are managed separately from ordinary role permissions. */
.donation-role-panel{overflow:hidden;border:1px solid rgba(124,104,255,.3)!important;border-radius:16px;background:linear-gradient(145deg,rgba(30,24,68,.82),rgba(8,17,34,.98));box-shadow:0 16px 38px rgba(0,0,0,.18)}
.roles-v2-page .role-v2-card[hidden],.roles-v2-page .role-index a[hidden]{display:none!important}
.donation-role-panel>summary{display:flex!important;align-items:center;justify-content:space-between;gap:9px;padding:15px!important;cursor:pointer;list-style:none;color:#f2efff;font-weight:900}.donation-role-panel>summary::-webkit-details-marker{display:none}.donation-role-panel>summary small{padding:4px 7px;border-radius:999px;background:rgba(139,112,255,.16);color:#baaaff;font-size:.64rem}
.donation-role-panel-body{display:grid;gap:12px;padding:0 12px 13px}.donation-role-panel-body>p{margin:0;padding:10px;border-radius:10px;background:rgba(3,9,20,.42);color:#879bb7;font-size:.72rem;line-height:1.5}
.donation-role-map{display:grid;gap:9px;padding:11px;border:1px solid rgba(119,199,255,.14);border-radius:13px;background:rgba(4,12,25,.7)}.donation-role-map>div{display:flex;align-items:center;gap:9px}.donation-role-map>div i{width:9px;height:30px;border-radius:999px;background:var(--role-color,#78d9ff);box-shadow:0 0 16px color-mix(in srgb,var(--role-color,#78d9ff) 55%,transparent)}.donation-role-map>div span{display:grid}.donation-role-map>div small{color:#7187a5;font-size:.65rem}.donation-role-map form,.donation-role-add{display:grid;gap:8px}.donation-role-map label,.donation-role-add label{display:grid;gap:5px;color:#8ca1bd;font-size:.7rem;font-weight:800}.donation-role-map input,.donation-role-add input,.donation-role-add select{width:100%;min-width:0;padding:10px;border:1px solid #1b3653;border-radius:10px;background:#061225;color:#eef8ff}.donation-role-add{padding:12px;border:1px dashed rgba(115,211,255,.28);border-radius:13px}
.donation-role-map>summary{display:block;cursor:pointer;list-style:none}.donation-role-map>summary::-webkit-details-marker{display:none}.donation-role-map>summary>div{display:flex;align-items:center;gap:9px}.donation-role-map>summary i{width:9px;height:30px;border-radius:999px;background:var(--role-color,#78d9ff);box-shadow:0 0 16px color-mix(in srgb,var(--role-color,#78d9ff) 55%,transparent)}.donation-role-map>summary span{display:grid}.donation-role-map>summary small{color:#7187a5;font-size:.65rem}.donation-role-map[open]>summary{padding-bottom:10px;border-bottom:1px solid rgba(119,199,255,.12)}.donation-role-map[open]>form{margin-top:10px}

/* Events: independent visual board instead of an unstyled text feed. */
.events-page{display:grid;gap:22px;padding-top:4px;padding-bottom:48px}
.events-page .event-create-card{overflow:hidden;padding:0!important;border:1px solid rgba(103,211,255,.24)!important;border-radius:20px!important;background:linear-gradient(135deg,rgba(13,35,59,.96),rgba(7,15,30,.98))!important;box-shadow:0 22px 55px rgba(0,0,0,.22)}
.events-page .event-create-card>summary{display:flex!important;align-items:center;gap:15px;padding:19px 22px!important;cursor:pointer;list-style:none}.events-page .event-create-card>summary::-webkit-details-marker{display:none}.events-page .event-create-card>summary>span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(111,218,255,.3);border-radius:13px;background:linear-gradient(145deg,#143a5c,#0a2038);color:#79dcff;font-size:1.35rem}.events-page .event-create-card>summary>div{display:grid;gap:3px}.events-page .event-create-card>summary strong{font-size:1rem;color:#f1f8ff}.events-page .event-create-card>summary small{color:#8398b5;font-size:.76rem}.events-page .event-create-card[open]>summary{border-bottom:1px solid rgba(117,216,255,.13)}
.events-page .event-form{padding:22px!important}.events-page .event-form button{justify-self:start}
.events-page .event-board{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.events-page .event-card{position:relative!important;display:flex!important;min-width:0;flex-direction:column;gap:15px;overflow:hidden;padding:22px!important;border:1px solid rgba(97,190,239,.2)!important;border-radius:22px!important;background:radial-gradient(circle at 100% 0,rgba(64,177,234,.13),transparent 34%),linear-gradient(145deg,#0c1c30,#060e1d 74%)!important;box-shadow:0 22px 55px rgba(0,0,0,.24)!important;color:#dce9f8}
.events-page .event-card:before{content:""!important;position:absolute;inset:0 auto 0 0!important;width:4px!important;background:linear-gradient(#77dcff,#4a80ff)!important}.events-page .event-card:after{content:"";position:absolute;right:-42px;top:-55px;width:150px;height:150px;border:1px solid rgba(110,217,255,.11);border-radius:50%;box-shadow:0 0 0 22px rgba(110,217,255,.025),0 0 0 48px rgba(110,217,255,.018);pointer-events:none}
.events-page .event-card.status-approved:before{background:linear-gradient(#58efaa,#1fa66d)!important}.events-page .event-card.status-rejected:before{background:linear-gradient(#ff768a,#b93151)!important}.events-page .event-card.status-completed:before{background:linear-gradient(#8b9bb1,#4c5d73)!important}
.events-page .event-card>header{position:relative;z-index:1;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:14px!important}.events-page .event-card>header span{display:block;margin-bottom:5px;color:#6fcff5!important;font-size:.68rem!important;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.events-page .event-card h2{margin:0!important;color:#f5faff;font-size:clamp(1.18rem,2vw,1.55rem)!important;line-height:1.18}.events-page .event-card>header>b{flex:none;padding:7px 10px!important;border:1px solid rgba(106,215,255,.2);border-radius:999px!important;background:rgba(11,40,62,.76)!important;color:#8ce1ff!important;font-size:.66rem!important;text-transform:uppercase;letter-spacing:.05em}
.events-page .event-meta{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 12px;border:1px solid rgba(116,207,255,.1);border-radius:12px;background:rgba(2,9,19,.45);color:#8ea3be!important;font-size:.75rem!important}.events-page .event-meta a{color:#8ddfff;text-decoration:none}.events-page .event-meta time{font-weight:800;color:#c9d8e9}
.events-page .event-card>p{min-height:74px;margin:0!important;padding:14px;border-radius:14px;background:rgba(3,10,21,.52);color:#c2d2e5!important;font-size:.88rem;line-height:1.65!important}.events-page .event-card>details{padding:11px 13px;border:1px solid rgba(119,202,255,.12);border-radius:13px;background:rgba(9,24,41,.58)}.events-page .event-card>details summary{cursor:pointer;color:#9ddfff;font-size:.78rem;font-weight:900}.events-page .event-card>details div{padding-top:10px;color:#aebfd2;font-size:.82rem;line-height:1.6}
.events-page .event-card dl{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0}.events-page .event-card dl div{padding:13px!important;border:1px solid rgba(120,193,255,.1);border-radius:13px!important;background:linear-gradient(145deg,rgba(10,30,51,.84),rgba(4,13,26,.9))!important}.events-page .event-card dt{color:#7189a8!important;font-size:.64rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.events-page .event-card dd{margin:5px 0 0!important;color:#f0f8ff;font-size:1.05rem;font-weight:900!important}
.events-page .event-helpers{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap;padding-top:1px;color:#8197b3!important;font-size:.74rem!important}.events-page .event-helpers strong{margin-right:3px;color:#c9d8e8}.events-page .event-helpers a{padding:5px 8px!important;border:1px solid rgba(106,206,255,.15);border-radius:8px!important;background:#0d2841!important;color:#92ddff!important;text-decoration:none}
.events-page .event-review{margin-top:auto!important;padding-top:14px!important;border-top:1px solid rgba(114,205,255,.13)!important}.events-page .event-review>summary{cursor:pointer;color:#79d9ff!important;font-size:.8rem;font-weight:900!important}.events-page .event-review .event-form{padding:15px 0 0!important}.events-page .event-review-note{margin:0!important;padding:12px!important;border-left:3px solid #7395ff;border-radius:10px!important;background:rgba(28,41,73,.55)!important;color:#b9c8db;font-size:.8rem;line-height:1.5}
@media(max-width:900px){.events-page .event-board{grid-template-columns:1fr!important}}
@media(max-width:600px){.events-page{gap:14px}.events-page .event-create-card>summary,.events-page .event-card{padding:16px!important}.events-page .event-form{grid-template-columns:1fr!important;padding:16px!important}.events-page .event-form label.wide{grid-column:auto}.events-page .event-card>header,.events-page .event-meta{align-items:flex-start!important;flex-direction:column}.events-page .event-card dl{grid-template-columns:1fr!important}}
/* Technical maintenance whitelist */
.whitelist-admin-page .admin-workspace-content{display:grid;gap:20px}
.whitelist-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.whitelist-server-card{position:relative;overflow:hidden;padding:0!important}
.whitelist-server-card::before{position:absolute;inset:0 0 auto;height:3px;content:"";background:linear-gradient(90deg,#4f74ff,#71ddff);opacity:.55}
.whitelist-server-card.is-enabled::before{background:linear-gradient(90deg,#ff526e,#ffb45d);opacity:1}
.whitelist-server-card>header{padding:20px 20px 14px;border-bottom:1px solid var(--line)}
.whitelist-server-card h2{margin:11px 0 4px;font-size:1.18rem}.whitelist-server-card p{margin:0;color:var(--muted);font-size:.82rem}
.whitelist-server-state{display:flex;align-items:center;gap:8px;color:#8d9bb4;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.whitelist-server-state i{width:8px;height:8px;border-radius:50%;background:#66738a;box-shadow:0 0 0 5px rgba(102,115,138,.1)}
.whitelist-server-card.is-enabled .whitelist-server-state{color:#ff8d9f}.whitelist-server-card.is-enabled .whitelist-server-state i{background:#ff526e;box-shadow:0 0 0 5px rgba(255,82,110,.12)}
.whitelist-server-form{display:grid;gap:13px;padding:17px 20px 20px}.whitelist-server-form label:not(.switch-field){display:grid;gap:7px;color:var(--soft);font-size:.78rem;font-weight:700}
.whitelist-server-form textarea{min-height:76px;resize:vertical}
.whitelist-toolbar{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:14px;align-items:stretch}.whitelist-toolbar .admin-create-disclosure{margin:0}
.whitelist-add-form{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:14px!important;align-items:end;padding:18px 20px 20px!important;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(13,28,50,.72),rgba(7,17,32,.44))}.whitelist-add-form label{display:grid!important;gap:8px!important;min-width:0;color:var(--soft);font-size:.8rem;font-weight:750}.whitelist-add-form input{width:100%;min-width:0}.whitelist-form-divider{display:none}.whitelist-add-form .btn{min-height:44px;white-space:nowrap}
.whitelist-sync-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-content:center}.whitelist-sync-card h2{margin:0 0 6px;font-size:1rem}.whitelist-sync-card p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.whitelist-sync-card form{grid-column:1/-1}.whitelist-sync-card button{width:100%}
.whitelist-list-card{padding:0!important;overflow:hidden}.whitelist-list-head{display:flex;justify-content:space-between;align-items:end;gap:18px;padding:21px;border-bottom:1px solid var(--line)}.whitelist-list-head h2{margin:5px 0;font-size:1.35rem}.whitelist-list-head p{margin:0;color:var(--muted);font-size:.8rem}.whitelist-search{display:flex;gap:8px;align-items:center}.whitelist-search input{width:min(280px,34vw)}
.whitelist-entry-list{display:grid}.whitelist-entry{display:grid;grid-template-columns:48px minmax(150px,.9fr) minmax(210px,1.15fr) minmax(165px,.8fr) auto;gap:13px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(125,169,224,.1);transition:background .2s ease,transform .2s ease}.whitelist-entry:last-child{border-bottom:0}.whitelist-entry:hover{background:rgba(83,171,255,.045)}
.whitelist-entry-avatar img{width:42px;height:42px;object-fit:cover;border:1px solid var(--line-2);border-radius:12px;background:#0a1323}.whitelist-entry-name,.whitelist-entry-steam,.whitelist-entry-meta{display:grid;gap:3px;min-width:0}.whitelist-entry-name strong,.whitelist-entry-name span,.whitelist-entry-steam code,.whitelist-entry-steam small,.whitelist-entry-meta span,.whitelist-entry-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitelist-entry-name span,.whitelist-entry-steam small,.whitelist-entry-meta small{color:var(--muted);font-size:.72rem}.whitelist-entry-steam code{color:var(--blue-2);font-size:.78rem}.whitelist-entry-meta span{color:var(--soft);font-size:.77rem}.whitelist-entry-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.whitelist-entry-actions form{margin:0}
@media(max-width:980px){.whitelist-toolbar{grid-template-columns:1fr}.whitelist-add-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}.whitelist-add-form .btn{grid-column:1/-1;justify-self:start}.whitelist-entry{grid-template-columns:44px 1fr auto}.whitelist-entry-steam,.whitelist-entry-meta{grid-column:2}.whitelist-entry-actions{grid-column:3;grid-row:1/4;max-width:140px}}
@media(max-width:650px){.whitelist-add-form{grid-template-columns:1fr!important;padding:15px!important}.whitelist-add-form .btn{width:100%}}

.server-row.maintenance{border-color:rgba(255,174,76,.45);box-shadow:inset 3px 0 0 #ffae4c,0 14px 38px rgba(2,8,20,.22)}.server-row.maintenance>.server-main,.server-row.maintenance>.server-meta,.server-row.maintenance>.btn{position:relative;z-index:2}.server-row.maintenance .status{color:#ffc06c}.server-row.maintenance .status i{background:#ffae4c;box-shadow:0 0 0 5px rgba(255,174,76,.13)}.server-row.maintenance .server-main p{color:#ffd18e;font-weight:750}.maintenance-tape{position:absolute;left:-18%;z-index:1;width:136%;height:28px;border-block:1px solid rgba(255,215,105,.45);background:repeating-linear-gradient(135deg,#ffc13d 0 28px,#151514 28px 56px);box-shadow:0 0 22px rgba(255,174,76,.12);opacity:.18;pointer-events:none}.maintenance-tape-a{top:47%;transform:rotate(-8deg)}.maintenance-tape-b{top:47%;transform:rotate(8deg)}
@media(max-width:650px){.maintenance-tape{left:-40%;width:180%;height:24px;opacity:.14}.maintenance-tape-a{transform:rotate(-14deg)}.maintenance-tape-b{transform:rotate(14deg)}}
@media(max-width:650px){.whitelist-list-head{align-items:stretch;flex-direction:column}.whitelist-search{display:grid;grid-template-columns:1fr auto}.whitelist-search input{width:100%;grid-column:1/-1}.whitelist-entry{grid-template-columns:40px 1fr;padding:13px}.whitelist-entry-actions{grid-column:1/-1;grid-row:auto;max-width:none;justify-content:flex-start}.whitelist-entry-actions .btn{flex:1}.whitelist-entry-actions form{display:flex;flex:1}.whitelist-entry-actions form .btn{width:100%}}

/* Live gang-war state and capture duration. */
.gang-territory-layout>aside>article.gang-war-live{margin:0 0 9px;padding:13px;border:1px solid rgba(110,228,206,.1);border-radius:13px;background:linear-gradient(135deg,rgba(13,30,45,.88),rgba(7,17,28,.8))}.gang-territory-layout>aside>article.gang-war-live.is-preparing{border-color:rgba(255,193,86,.3)}.gang-territory-layout>aside>article.gang-war-live.is-active{border-color:rgba(255,92,119,.42);box-shadow:inset 3px 0 #ff5c77}.gang-war-clock{margin-top:4px;color:#e8fff9;font-size:.71rem}.gang-war-live.is-preparing .gang-war-clock{color:#ffd58a}.gang-war-live.is-active .gang-war-clock{color:#ff8ba0}.gang-territory-map>details.has-live-war>summary{animation:gangTerritoryWarPulse 1.8s ease-in-out infinite}.gang-territory-duration{display:block;margin-top:3px;color:#78dcca;font-size:.5rem;font-style:normal;font-weight:800}.gang-territory-map>details>summary small+.gang-territory-duration{margin-top:2px}@keyframes gangTerritoryWarPulse{50%{box-shadow:inset 0 0 28px rgba(255,80,112,.14),0 0 24px rgba(255,80,112,.18)}}
.gang-admin-territories form>span{margin-right:auto}@media(max-width:650px){.gang-admin-territories form{align-items:stretch;flex-wrap:wrap}.gang-admin-territories form>span{flex:1 0 100%}.gang-admin-territories form .btn{flex:1}}

/* Gang development board v2: a real branching progression map. */
.gang-upgrade-tree{position:relative;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));align-items:stretch;gap:28px;min-height:700px;padding:122px 28px 30px;overflow:hidden;border:1px solid rgba(244,178,72,.18);border-radius:24px;background:radial-gradient(circle at 50% 4%,rgba(244,178,72,.13),transparent 26%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(150deg,#090d16,#050810 70%);background-size:auto,34px 34px,34px 34px,auto}
.gang-upgrade-tree::before{content:'ШТАБ';position:absolute;z-index:3;left:50%;top:24px;display:grid;width:78px;height:78px;place-items:center;transform:translateX(-50%);border:1px solid #f4b248;border-radius:22px;color:#17110a;background:linear-gradient(145deg,#ffd782,#e89532);box-shadow:0 0 0 9px rgba(244,178,72,.055),0 18px 45px rgba(0,0,0,.42);font-size:.68rem;font-weight:950;letter-spacing:.08em}
.gang-upgrade-tree::after{content:'';position:absolute;left:calc(16.666% + 9px);right:calc(16.666% + 9px);top:101px;height:22px;border:2px solid rgba(244,178,72,.42);border-bottom:0;border-radius:16px 16px 0 0;pointer-events:none}
.gang-upgrade-tree>article{--branch-color:#5fe0a1;position:relative;display:flex;min-height:535px;align-items:stretch;flex-direction:column;padding:0 15px 18px;border:0;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--branch-color),transparent 92%),rgba(8,14,24,.8));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--branch-color),transparent 78%);text-align:left}
.gang-upgrade-tree>article:nth-child(2){--branch-color:#f4b248}.gang-upgrade-tree>article:nth-child(3){--branch-color:#ff637b}
.gang-upgrade-tree>article::before{content:'';position:absolute;left:50%;top:-22px;width:2px;height:22px;background:var(--branch-color);box-shadow:0 0 8px color-mix(in srgb,var(--branch-color),transparent 55%)}.gang-upgrade-tree>article::after{display:none}
.gang-upgrade-tree>article header{min-height:118px;margin:0 -15px 10px;padding:20px 20px 16px;border-bottom:1px solid color-mix(in srgb,var(--branch-color),transparent 73%);border-radius:18px 18px 0 0;background:linear-gradient(135deg,color-mix(in srgb,var(--branch-color),transparent 87%),transparent)}
.gang-upgrade-tree header>span{color:var(--branch-color);font-size:.59rem;letter-spacing:.18em}.gang-upgrade-tree h2{margin:7px 0 5px;font-size:1.12rem}.gang-upgrade-tree p{max-width:none;margin:0;color:#8290a3;font-size:.73rem;line-height:1.55}
.gang-upgrade-levels{position:relative;display:flex;overflow:visible;align-items:center;flex:1;flex-direction:column;justify-content:flex-start;gap:18px;padding:12px 8px 20px}.gang-upgrade-levels::before{content:'';position:absolute;top:29px;bottom:36px;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(var(--branch-color),color-mix(in srgb,var(--branch-color),transparent 87%))}
.gang-upgrade-levels i{position:relative;z-index:1;display:grid;flex:0 0 62px;width:74px;height:62px;place-content:center;border:0;border-radius:0;color:#728093;background:#111925;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);box-shadow:none;font-style:normal;text-align:center}.gang-upgrade-levels i:not(:last-child)::after{display:none}.gang-upgrade-levels i::before{content:'';position:absolute;inset:2px;z-index:-1;background:#09101b;clip-path:inherit}.gang-upgrade-levels i.done{color:#07100d;background:var(--branch-color);filter:drop-shadow(0 0 9px color-mix(in srgb,var(--branch-color),transparent 58%))}.gang-upgrade-levels i.done::before{background:var(--branch-color)}.gang-upgrade-levels i.next{color:var(--branch-color);background:var(--branch-color);animation:gangUpgradeReady 2.2s ease-in-out infinite}.gang-upgrade-levels i.next::before{background:#101724}.gang-upgrade-levels b{font-size:.9rem}.gang-upgrade-levels small{font-size:.58rem}
.gang-upgrade-tree footer{display:grid;width:100%;grid-template-columns:1fr;gap:10px;margin-top:auto;padding:15px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:rgba(4,8,14,.58);text-align:center}.gang-upgrade-tree footer strong{font-size:.72rem}.gang-upgrade-tree footer .btn{width:100%;min-height:40px;white-space:normal}
.gang-territory-protection{display:block;margin-top:4px;color:#ffd07b;font-size:.52rem}
@keyframes gangUpgradeReady{50%{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--branch-color),transparent 38%));transform:translateY(-2px)}}
@media(max-width:900px){.gang-upgrade-tree{grid-template-columns:1fr;min-height:0;padding:28px 14px}.gang-upgrade-tree::before,.gang-upgrade-tree::after,.gang-upgrade-tree>article::before{display:none}.gang-upgrade-tree>article{min-height:0}.gang-upgrade-levels{overflow-x:auto;align-items:center;flex-direction:row;justify-content:flex-start}.gang-upgrade-levels::before{left:37px;right:37px;top:50%;bottom:auto;width:auto;height:2px;transform:none}.gang-upgrade-levels i{flex:0 0 68px}.gang-upgrade-tree footer{grid-template-columns:1fr auto;align-items:center}}

/* Keep every development branch attached to the same trunk row. */
@media(min-width:901px){
  .gang-upgrade-tree{align-items:stretch!important;grid-auto-flow:column;grid-auto-rows:1fr}
  .gang-upgrade-tree>article{grid-row:1!important;align-self:stretch!important;margin:0!important;translate:none!important;transform:none!important}
  .gang-upgrade-tree>article::before{top:-22px;height:22px}
}

.gang-territory-map>.gang-territory-piece{display:none}.gang-territory-union-layer{position:absolute;z-index:1;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.gang-territory-union{transition:fill-opacity .2s ease}.gang-territory-map>details{z-index:2}.gang-territory-part-hotspot{position:absolute;z-index:2;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-width:8px;min-height:8px;padding:0;border:0;background:transparent;cursor:pointer}.gang-territory-map.has-unified-territories>details>summary{border:0;background:transparent;box-shadow:none;text-shadow:0 2px 5px rgba(0,0,0,.94),0 0 9px rgba(0,0,0,.8)}.gang-territory-map.has-unified-territories>details>summary:hover,.gang-territory-part-hotspot:hover{background:rgba(8,22,34,.13)}.gang-territory-map.has-unified-territories>details.has-live-war>summary{animation:none}
.gang-admin-territory-map-panel{position:relative;grid-column:1/-1!important;gap:14px!important;overflow:visible;min-height:650px;padding:18px!important}.gang-admin-territory-map-panel>header{display:flex;align-items:end;justify-content:space-between;gap:18px}.gang-admin-territory-map-panel>header>div{display:grid;gap:4px}.gang-admin-territory-map-panel>header span{color:#69d8c4;font-size:.61rem;font-weight:900;letter-spacing:.14em}.gang-admin-territory-map-panel h2,.gang-admin-territory-map-panel p{margin:0}.gang-admin-territory-map-panel p{color:#748da2;font-size:.72rem}.gang-admin-territory-map-panel select{width:min(260px,100%)}.gang-admin-territory-map{position:relative;min-height:550px;overflow:hidden;border:1px solid rgba(110,228,206,.16);border-radius:17px;background:radial-gradient(circle at 50% 48%,rgba(66,148,163,.12),transparent 56%),linear-gradient(rgba(110,228,206,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(110,228,206,.035) 1px,transparent 1px),#05101b;background-size:auto,38px 38px,38px 38px}.gang-admin-territory-map::before{content:'ПКМ — ДЕЙСТВИЯ С ТЕРРИТОРИЕЙ';position:absolute;z-index:20;left:15px;top:13px;color:rgba(134,207,198,.4);font-size:.57rem;font-weight:900;letter-spacing:.13em;pointer-events:none}.gang-admin-territory-shape{position:absolute;z-index:2;left:var(--x);top:var(--y);display:grid;width:var(--w);height:var(--h);min-width:72px;min-height:46px;padding:7px;place-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--owner),transparent 20%);border-radius:9px;color:#efffff;background:color-mix(in srgb,var(--owner),#06111c 76%);box-shadow:inset 0 0 22px color-mix(in srgb,var(--owner),transparent 86%);text-align:center;cursor:context-menu;transition:border-color .18s ease,filter .18s ease,transform .18s ease}.gang-admin-territory-shape:hover{z-index:5;filter:brightness(1.18);transform:translateY(-1px)}.gang-admin-territory-shape.is-part{z-index:1;border-style:dashed;opacity:.86}.gang-admin-territory-shape b,.gang-admin-territory-shape small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gang-admin-territory-shape b{font-size:.67rem}.gang-admin-territory-shape small{color:#a6bfca;font-size:.53rem}.gang-territory-context-menu{position:absolute;z-index:50;display:grid;width:222px;gap:6px;padding:10px;border:1px solid rgba(110,228,206,.24);border-radius:12px;background:#091827;box-shadow:0 22px 55px rgba(0,0,0,.52)}.gang-territory-context-menu[hidden]{display:none}.gang-territory-context-menu strong,.gang-territory-context-menu small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gang-territory-context-menu strong{color:#eafffb;font-size:.72rem}.gang-territory-context-menu small{margin-bottom:4px;color:#7892a7;font-size:.62rem}.gang-territory-context-menu button{padding:9px 10px;border:1px solid rgba(110,228,206,.13);border-radius:8px;color:#cce5e2;background:rgba(71,145,135,.08);font:inherit;font-size:.67rem;font-weight:800;text-align:left;cursor:pointer}.gang-territory-context-menu button:hover{background:rgba(84,174,160,.16)}.gang-territory-context-menu button.danger{border-color:rgba(255,91,119,.23);color:#ff9aad;background:rgba(130,28,48,.13)}.gang-admin-territory-empty{position:absolute;inset:0;display:grid;place-items:center;color:#71899c;font-size:.82rem;font-weight:800}
@media(max-width:700px){.gang-admin-territory-map-panel{min-height:570px;padding:12px!important}.gang-admin-territory-map-panel>header{align-items:stretch;flex-direction:column}.gang-admin-territory-map-panel select{width:100%}.gang-admin-territory-map{min-height:460px}.gang-admin-territory-shape{min-width:48px;min-height:38px;padding:4px}.gang-admin-territory-shape b{font-size:.58rem}.gang-admin-territory-shape small{font-size:.48rem}}

/* A territory and all its added pieces are drawn as one continuous map shape. */
.gang-admin-territory-map>.gang-territory-union-layer{z-index:1}
.gang-admin-territory-shape.is-union-label{z-index:3;overflow:visible;min-width:68px;min-height:42px;border:0;background:transparent;box-shadow:none;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.8)}
.gang-admin-territory-shape.is-union-label:hover{background:rgba(7,20,31,.14);filter:none}
.gang-admin-territory-hit{position:absolute;z-index:2;left:var(--x);top:var(--y);width:var(--w);height:var(--h);min-width:8px;min-height:8px;padding:0;border:0;background:transparent;cursor:context-menu}
.gang-admin-territory-hit:hover{background:rgba(117,216,255,.08)}

.gang-territory-map.has-unified-territories>details{width:118px;height:68px;min-width:0;min-height:0;transform:translate(-50%,-50%)}
.gang-territory-map.has-unified-territories>details>summary{padding:7px;place-content:center;border:1px solid rgba(129,188,220,.24);border-radius:11px;background:rgba(8,23,35,.76);box-shadow:0 8px 20px rgba(0,0,0,.24);backdrop-filter:blur(4px)}
.gang-territory-map.has-unified-territories>details>summary:hover{border-color:rgba(117,216,255,.5);background:rgba(12,34,50,.88)}
.gang-admin-territory-shape.is-union-label{width:118px;height:62px;transform:translate(-50%,-50%)}
.gang-admin-territory-shape.is-union-label:hover{transform:translate(-50%,-50%)}
@media(max-width:700px){.gang-territory-map.has-unified-territories>details,.gang-admin-territory-shape.is-union-label{width:98px;height:58px}}

.gang-territory-stage{position:absolute;z-index:1;inset:0;overflow:visible;transform:scale(var(--map-zoom,1));transform-origin:50% 50%;transition:transform .24s cubic-bezier(.22,.8,.25,1)}
.gang-territory-stage>.gang-territory-union-layer{z-index:1}
.gang-territory-stage>.gang-territory-part-hotspot{z-index:2}
.gang-territory-stage>details{position:absolute;z-index:4;left:var(--x);top:var(--y);width:var(--label-w,118px);height:var(--label-h,68px);min-width:0;min-height:0;transform:translate(-50%,-50%)}
.gang-territory-stage>details[open]{z-index:20}
.gang-territory-stage>details>summary{display:grid;height:100%;padding:7px;place-content:center;overflow:hidden;list-style:none;border:1px solid rgba(129,188,220,.24);border-radius:11px;color:#ecfffb;background:rgba(8,23,35,.76);box-shadow:0 8px 20px rgba(0,0,0,.24);text-align:center;text-shadow:0 2px 5px rgba(0,0,0,.94);cursor:pointer;backdrop-filter:blur(4px)}
.gang-territory-stage>details>summary:hover{border-color:rgba(117,216,255,.5);background:rgba(12,34,50,.88)}
.gang-territory-stage>details>summary span{overflow:hidden;font-size:var(--label-size,.68rem);font-weight:900;text-overflow:ellipsis}
.gang-territory-stage>details>summary small{overflow:hidden;color:#9db0b8;font-size:.52rem;text-overflow:ellipsis;white-space:nowrap}
.gang-territory-stage>details.is-compact-territory-label>summary small,.gang-territory-stage>details.is-compact-territory-label .gang-territory-duration{display:none}
.gang-territory-stage>details>div{position:absolute;z-index:20;left:50%;top:calc(100% + 7px);width:270px;padding:13px;border:1px solid rgba(110,228,206,.18);border-radius:13px;background:#0a1927;box-shadow:0 20px 50px rgba(0,0,0,.48);transform:translateX(-50%)}
.gang-territory-stage>details>div h3,.gang-territory-stage>details>div p{margin:0 0 7px}.gang-territory-stage>details>div p{color:#8197aa;font-size:.67rem}.gang-territory-stage>details>div details small{display:block;margin-top:6px;color:#71879b;font-size:.61rem}
.gang-territory-zoom{position:absolute;z-index:40;right:14px;bottom:14px;display:flex;gap:5px;padding:5px;border:1px solid rgba(117,216,255,.2);border-radius:12px;background:rgba(5,16,27,.88);box-shadow:0 10px 28px rgba(0,0,0,.34);backdrop-filter:blur(8px)}
.gang-territory-zoom button{display:grid;min-width:34px;height:34px;padding:0 8px;place-items:center;border:1px solid rgba(117,216,255,.14);border-radius:8px;color:#dff8ff;background:rgba(117,216,255,.07);font:inherit;font-size:.76rem;font-weight:900;cursor:pointer}.gang-territory-zoom button:hover{border-color:rgba(117,216,255,.42);background:rgba(117,216,255,.16)}
.gang-territory-map.is-zoomed{cursor:zoom-out}
@media(max-width:700px){.gang-territory-stage>details{max-width:98px;max-height:58px}.gang-territory-stage>details>div{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;transform:none}.gang-territory-zoom{right:8px;bottom:8px}}

.ban-management-v2 .admin-workspace-content.has-ban-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,520px);align-items:start;gap:18px}.ban-management-v2 .admin-workspace-content.has-ban-panel>.admin-filter-disclosure{grid-column:1/-1}.ban-management-v2 .ban-inline-panel{grid-column:2;grid-row:2;position:sticky;top:18px;min-width:0}.ban-management-v2 .admin-table-card{grid-column:1;grid-row:2;min-width:0}.ban-management-v2 .ban-reasons-card{grid-column:1/-1;grid-row:3;min-width:0}
.ban-wizard [hidden],.ban-switch-list>[hidden]{display:none!important}
.ban-inline-panel .ban-wizard{width:100%;max-width:none;margin:0;border:1px solid rgba(117,216,255,.2);border-radius:20px;background:linear-gradient(150deg,rgba(15,29,50,.98),rgba(6,14,27,.98));box-shadow:0 22px 55px rgba(0,0,0,.22);overflow:hidden}
.ban-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;border-bottom:1px solid rgba(117,216,255,.12)}.ban-wizard-head>div{display:grid;gap:4px}.ban-wizard-head>div span{font-size:1.12rem;font-weight:800}.ban-wizard-head>div small{color:#8297b5}.ban-wizard-head ol{display:flex;gap:10px;list-style:none;margin:0 0 0 auto;padding:0}.ban-wizard-head li{display:flex;align-items:center;gap:7px;color:#7387a4;font-size:.78rem;font-weight:700}.ban-wizard-head li b{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(117,216,255,.18);border-radius:50%}.ban-wizard-head li.active{color:#dff8ff}.ban-wizard-head li.active b{border-color:#63d5ff;background:#168aca;color:#fff;box-shadow:0 0 20px rgba(55,181,255,.28)}.ban-dialog-close{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(117,216,255,.14);border-radius:11px;background:#0a182b;color:#b9cbe0;font-size:1.35rem;cursor:pointer;transition:.2s ease}.ban-dialog-close:hover{border-color:#ff7188;color:#fff;background:rgba(170,43,65,.25)}
.ban-wizard-step{padding:24px 26px;animation:banStepIn .24s ease both}.ban-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.ban-form-grid label,.ban-comment{display:grid;gap:8px}.ban-form-grid label>span,.ban-comment>span,.ban-duration-fields label>span{font-size:.82rem;color:#9db0cb;font-weight:700}.ban-form-grid .wide{grid-column:1/-1}.ban-wizard input,.ban-wizard select,.ban-wizard textarea,.staff-table-layout-form input{width:100%;border:1px solid rgba(117,216,255,.18);border-radius:12px;background:#071323;color:#edfaff;padding:13px 14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.ban-wizard input:focus,.ban-wizard select:focus,.ban-wizard textarea:focus,.staff-table-layout-form input:focus{border-color:#63d5ff;box-shadow:0 0 0 3px rgba(58,184,255,.11)}.ban-wizard select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23b9cbe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}
.ban-reason-combobox{position:relative;display:flex;min-width:0}.ban-reason-combobox>input{padding-right:50px}.ban-reason-combobox>[data-ban-reason-toggle]{position:absolute;z-index:2;top:1px;right:1px;bottom:1px;display:grid;place-items:center;width:46px;height:auto;padding:0;border:0;border-radius:0 11px 11px 0;background:transparent;color:#b9cbe0;font-size:0;cursor:pointer;touch-action:manipulation;transition:background .2s ease}.ban-reason-combobox>[data-ban-reason-toggle]::before{content:"";width:12px;height:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23b9cbe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px 8px;transition:transform .22s ease}.ban-reason-combobox>[data-ban-reason-toggle]:hover,.ban-reason-combobox.open>[data-ban-reason-toggle]{background:rgba(117,216,255,.08)}.ban-reason-combobox.open>[data-ban-reason-toggle]::before{transform:rotate(180deg)}.ban-reason-options{position:absolute;z-index:30;top:calc(100% + 7px);left:0;right:0;max-height:245px;overflow-y:auto;padding:6px;border:1px solid rgba(117,216,255,.2);border-radius:12px;background:#071525;box-shadow:0 18px 45px rgba(0,0,0,.4)}.ban-reason-options[hidden]{display:none!important}.ban-reason-options button{display:block;width:100%;padding:10px 11px;border:0;border-radius:8px;background:transparent;color:#dcecff;text-align:left;cursor:pointer}.ban-reason-options button:hover,.ban-reason-options button:focus{background:rgba(74,173,231,.14);color:#fff}.ban-reason-options button[hidden]{display:none}
.ban-switch-list{display:grid;margin-top:20px;border-top:1px solid rgba(117,216,255,.1)}.ban-switch-list>label{display:flex;align-items:center;gap:16px;padding:15px 2px;border-bottom:1px solid rgba(117,216,255,.09);cursor:pointer}.ban-switch-list>label>span{display:grid;gap:3px;margin-right:auto}.ban-switch-list>label strong{font-size:.91rem}.ban-switch-list>label small{color:#7186a3}.ban-switch-list>label input{position:absolute;opacity:0;pointer-events:none}.ban-switch-list>label i{position:relative;width:42px;height:24px;border-radius:20px;background:#213047;transition:.2s ease;flex:0 0 auto}.ban-switch-list>label i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#8798ae;transition:.2s ease}.ban-switch-list>label input:checked+i{background:linear-gradient(90deg,#20bce9,#3d8cff)}.ban-switch-list>label input:checked+i:after{transform:translateX(18px);background:#fff}.ban-duration-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(117,216,255,.09)}.ban-duration-fields label{display:grid;gap:7px}
.ban-wizard-step footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ban-comment textarea{resize:vertical;min-height:110px}.ban-evidence-drop{display:flex;align-items:center;gap:16px;margin-top:18px;padding:22px;border:1px dashed rgba(117,216,255,.3);border-radius:15px;background:rgba(5,16,30,.55);cursor:pointer;transition:.2s ease}.ban-evidence-drop:hover{border-color:#63d5ff;background:rgba(31,108,153,.12)}.ban-evidence-drop>input{position:absolute;opacity:0;pointer-events:none}.ban-evidence-drop>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(82,188,242,.14);font-size:1.5rem}.ban-evidence-drop>div{display:grid;gap:4px;min-width:0}.ban-evidence-drop small{color:#7f93ad}.ban-evidence-drop em{margin-top:5px;color:#b9d6e9;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:570px}
.ban-team-step{display:grid;gap:16px}.ban-team-step[hidden]{display:none!important}.ban-team-step-head{display:flex;align-items:center;justify-content:space-between}.ban-team-step-head>div{display:grid;gap:4px}.ban-team-step-head span{font-weight:850;color:#edf8ff}.ban-team-step-head span b{color:#66d8ff}.ban-team-step-head small{color:#7890ad}.ban-team-search{display:grid;gap:7px}.ban-team-search>span{font-size:.78rem;font-weight:750;color:#9db0cb}.ban-team-player-list{display:grid;gap:7px;max-height:310px;overflow:auto;padding-right:4px;overscroll-behavior:contain}.ban-team-player{display:grid;grid-template-columns:20px 42px minmax(0,1fr);align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(117,216,255,.11);border-radius:12px;background:rgba(5,15,29,.72);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ban-team-player:hover{border-color:rgba(117,216,255,.34);background:rgba(18,44,67,.72);transform:translateY(-1px)}.ban-team-player>input{width:17px;height:17px;padding:0;accent-color:#42bdf4}.ban-team-player>img{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#102139}.ban-team-player>span{display:grid;gap:3px;min-width:0}.ban-team-player strong,.ban-team-player code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ban-team-player code{color:#8299b5;font-size:.72rem}.ban-team-placeholder{padding:24px 14px;border:1px dashed rgba(117,216,255,.16);border-radius:12px;color:#7f94af;text-align:center}.ban-team-error{margin:0;padding:10px 12px;border:1px solid rgba(255,102,126,.24);border-radius:10px;color:#ff9aad;background:rgba(122,28,48,.13);font-size:.78rem}.ban-team-step footer button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
.ban-reason-manager{padding:20px}.ban-reason-manager>form{display:flex;gap:10px}.ban-reason-manager>form input{flex:1}.ban-reason-manager>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.ban-reason-manager>div>span{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(117,216,255,.15);border-radius:10px;background:rgba(14,30,49,.75)}.ban-reason-manager span form{display:contents}.ban-reason-manager span button{border:0;background:none;color:#ff7c91;font-size:1.1rem;cursor:pointer}.ban-reason-cell{min-width:210px}.ban-reason-cell strong,.ban-reason-cell small{display:block}.ban-reason-cell small{margin-top:5px;color:#8195b0}.ban-evidence-links{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ban-evidence-links a{font-size:.72rem;color:#75d8ff;text-decoration:none;border-bottom:1px dotted currentColor}
.staff-table-layout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px}.staff-table-layout-grid article{padding:18px}.staff-table-layout-grid article>details{margin:14px 0}.staff-table-layout-grid article>details>summary{cursor:pointer;color:#9eb6d0;font-weight:700}.staff-table-layout-form{display:grid;gap:16px;padding:18px 0}.staff-table-layout-form>label{display:grid;gap:8px}.staff-table-layout-form fieldset{display:grid;gap:8px;border:1px solid rgba(117,216,255,.14);border-radius:14px;padding:14px}.staff-table-layout-form legend{padding:0 7px;color:#a8bdd6}.staff-table-layout-form .check-row{display:flex;align-items:flex-start;gap:10px;padding:10px;border-radius:10px;background:rgba(7,19,35,.7)}.staff-table-layout-form .check-row input{width:auto;margin-top:4px}.staff-table-layout-form .check-row span{display:grid;gap:3px}.staff-table-layout-form .check-row small{color:#7388a5}.staff-table-role-picker{max-height:390px;overflow:auto;overscroll-behavior:contain}.staff-combined-page .staff-directory-shell{overflow:auto}.staff-combined-page .staff-directory-table{min-width:1040px}
@keyframes banStepIn{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media(max-width:1180px){.ban-management-v2 .admin-workspace-content.has-ban-panel{grid-template-columns:1fr}.ban-management-v2 .admin-workspace-content.has-ban-panel>*{grid-column:1;grid-row:auto}.ban-management-v2 .ban-inline-panel{position:static;order:2}.ban-management-v2 .ban-reasons-card{order:3}.ban-management-v2 .admin-table-card{order:1}}
@media(max-width:700px){.ban-wizard-head{align-items:flex-start;padding:18px;gap:12px}.ban-wizard-head ol{margin-left:auto}.ban-wizard-head li span{display:none}.ban-wizard-step{padding:18px}.ban-form-grid,.ban-duration-fields{grid-template-columns:1fr}.ban-form-grid .wide{grid-column:auto}.ban-wizard-step footer .btn{flex:1}.ban-reason-manager>form{display:grid}.staff-table-layout-grid{grid-template-columns:1fr}.ban-evidence-drop em{max-width:65vw}}
.combined-table-actions{justify-content:flex-end;min-width:100px}.combined-staff-dialog .staff-dialog-body{display:grid;gap:16px}.combined-staff-management{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:16px}.combined-staff-management>section{padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.combined-staff-management h3{margin:0 0 14px}.combined-staff-identifiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.combined-staff-identifiers div{min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(3,11,21,.35)}.combined-staff-identifiers span{display:block;margin-bottom:5px;color:var(--muted);font-size:.72rem;text-transform:uppercase}.combined-staff-identifiers strong,.combined-staff-identifiers code{display:block;overflow:hidden;text-overflow:ellipsis}.combined-staff-rank-form{display:grid;gap:12px}.combined-staff-rank-form label{display:grid;gap:7px}.combined-staff-rank-form select{width:100%;max-width:none}.combined-staff-dialog-actions{display:grid;gap:9px;margin-top:12px}.combined-staff-dialog-actions .btn,.combined-staff-dialog-actions form,.combined-staff-dialog-actions form .btn{width:100%}@media(max-width:760px){.combined-staff-management{grid-template-columns:1fr}.combined-staff-identifiers{grid-template-columns:1fr}}
@media(max-width:760px){.combined-table-actions{min-width:155px}.combined-rank-form{min-width:0}}
.ban-team-reason{display:grid;gap:8px;margin-top:2px}.ban-team-reason>span{font-size:.82rem;color:#9db0cb;font-weight:700}.ban-team-settings{margin-top:14px}

/* Final mobile layer.
   Kept separate and loaded last so legacy desktop rules cannot override it. */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (max-width: 900px) {
  body.mobile-nav-open {
    overflow: hidden;
  }

  .topbar {
    position: sticky;
    z-index: 100;
    top: 0;
    padding-top: env(safe-area-inset-top);
    background: rgba(6, 15, 29, .96);
    backdrop-filter: blur(18px);
  }

  .nav {
    position: relative;
  }

  .nav-menu {
    max-height: calc(100dvh - 82px - env(safe-area-inset-top));
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .nav-menu.open {
    display: flex;
  }

  .user-menu-popover {
    z-index: 120;
  }

  .admin-side-nav {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }

  .admin-side-group-title {
    display: block;
  }

  .admin-side-nav nav {
    align-items: stretch;
  }

  .admin-side-nav nav > a {
    width: 100%;
  }
}

@media (max-width: 760px) {
  :where(.container,.wide-container,.container-wide,.admin-workspace-heading,.admin-workspace-content) {
    width: calc(100% - 20px);
    max-width: none;
  }

  :where(
    .landing-hero-grid,.server-row,.server-meta,.feature-grid,.metric-grid,
    .user-grid,.profile-page-grid,.settings-layout,.report-layout,
    .admin-grid,.server-admin-grid,.mapping-list,.permission-groups,
    .forum-manage-grid,.forum-admin-grid,.status-request-layout,
    .salary-dashboard,.salary-config-workspace,.events-page
  ) > * {
    min-width: 0;
  }

  .topbar,
  .nav {
    min-height: 62px;
  }

  .nav {
    padding-block: 7px;
  }

  .brand {
    flex: 0 0 auto;
  }

  .brand img {
    width: 35px;
    height: 35px;
  }

  .nav-toggle,
  .user-menu summary {
    min-width: 44px;
    min-height: 44px;
  }

  .nav-user .user-menu summary {
    justify-content: center;
    padding: 4px 7px;
  }

  .nav-user .user-menu summary img {
    display: block !important;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  .nav-user .user-menu summary > span {
    display: none;
  }

  .nav-menu {
    width: 100%;
    margin-top: 2px;
    padding: 7px;
  }

  .nav-menu a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .user-menu-popover {
    position: fixed;
    top: calc(66px + env(safe-area-inset-top));
    right: 10px;
    left: 10px;
    width: auto;
    max-height: calc(100dvh - 78px - env(safe-area-inset-top));
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .user-menu-popover::before {
    display: none;
  }

  .user-menu-popover a,
  .user-menu-popover .user-menu-logout button {
    min-height: 48px;
  }

  .page-title,
  .page-hero {
    padding-top: 30px;
  }

  .page-title h1,
  .page-hero h1,
  .admin-hero h1,
  .forum-head h1 {
    overflow-wrap: anywhere;
    font-size: clamp(29px, 9vw, 42px);
    line-height: 1.05;
  }

  .breadcrumb {
    max-width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
  }

  .breadcrumb::-webkit-scrollbar {
    display: none;
  }

  .btn,
  button,
  summary,
  input,
  select,
  textarea {
    touch-action: manipulation;
  }

  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea {
    min-width: 0;
    max-width: 100%;
    font-size: 16px !important;
  }

  .btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .page-actions,
  .directory-filter-actions,
  .forum-head-actions,
  .profile-actions {
    width: 100%;
  }

  .page-actions > *,
  .directory-filter-actions > *,
  .forum-head-actions > *,
  .profile-actions > * {
    min-width: 0;
  }

  /* Home */
  .landing-hero {
    min-height: 0;
  }

  .landing-hero-grid {
    gap: 32px;
    padding-top: 44px;
    padding-bottom: 46px;
  }

  .landing-copy h1 {
    font-size: clamp(44px, 14vw, 72px);
    line-height: .94;
  }

  .landing-copy > p {
    margin-top: 20px;
    font-size: .94rem;
    line-height: 1.65;
  }

  .landing-actions {
    width: 100%;
    gap: 10px;
  }

  .landing-actions .btn,
  .landing-text-link {
    width: 100%;
    justify-content: center;
  }

  .landing-proof {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    width: 100%;
    margin-top: 30px;
  }

  .landing-proof div,
  .landing-proof div + div {
    min-width: 0;
    padding: 0 8px;
    text-align: center;
  }

  .landing-hero .landing-server-network {
    width: 100%;
    border-radius: 18px 7px 18px 7px;
  }

  .dashboard-network-head,
  .landing-server-network .dashboard-footer {
    padding-inline: 14px;
  }

  /* Public servers */
  .server-list {
    gap: 12px;
  }

  .server-row {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 17px;
    overflow: hidden;
  }

  .server-main h2 {
    overflow-wrap: anywhere;
  }

  .server-meta {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 8px;
  }

  .server-meta > div {
    min-width: 0;
  }

  .server-meta code,
  .server-meta strong {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .server-row > .btn {
    width: 100%;
  }

  /* Players and profile */
  .user-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
  }

  .user-grid .user-card {
    width: 100%;
    min-width: 0;
  }

  .directory-filter-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .pagination,
  .profile-message-pagination {
    display: flex;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
  }

  .profile-main-column .profile {
    border-radius: 18px;
  }

  .profile-main-column .profile-banner,
  .profile-main-column .profile-banner.custom {
    min-height: 275px;
    padding: 24px 15px 20px;
  }

  .profile-main-column .profile-stats {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .profile-main-column .profile-stats > div {
    min-width: 0;
    min-height: 78px;
  }

  .profile-main-column .profile-stats strong,
  .profile-main-column .profile-stats .mono {
    overflow-wrap: anywhere;
  }

  .profile-main-column > .tabs,
  .tabs {
    display: flex;
    width: 100%;
    max-width: 100%;
    flex-flow: row nowrap;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .profile-main-column > .tabs a,
  .tabs > a {
    flex: 0 0 auto;
    min-height: 42px;
    scroll-snap-align: start;
  }

  .profile-main-column .profile-message,
  .profile-main-column .profile-message-form {
    min-width: 0;
  }

  .profile-main-column .profile-message-form {
    grid-template-columns: 40px minmax(0,1fr);
  }

  .profile-main-column .profile-message-form .btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .player-management {
    width: 100%;
    padding: 11px;
  }

  .management-card > summary {
    min-height: 48px;
    overflow-wrap: anywhere;
  }

  /* Profile settings and image editor */
  .settings-layout {
    gap: 16px;
  }

  .settings-nav {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 6px;
    overflow: visible;
    padding-bottom: 6px;
  }

  .settings-nav h1,
  .settings-nav .eyebrow {
    grid-column: 1 / -1;
  }

  .settings-nav a {
    min-width: 0;
    min-height: 42px;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .settings-card {
    padding: 16px;
    border-radius: 15px;
  }

  .image-fit-studio {
    padding: 0 !important;
  }

  .image-fit-studio-shell {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
  }

  .image-fit-studio-workspace {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .image-fit-studio-stage {
    min-height: 46dvh;
    touch-action: none;
  }

  .image-fit-studio-workspace > aside {
    overflow: visible;
    border-top: 1px solid rgba(117,216,255,.14);
    border-left: 0;
  }

  /* Forum */
  .folder-forum-layout,
  .forum-box,
  .thread-layout,
  .forum-admin-explorer {
    max-width: 100%;
    overflow: hidden;
  }

  .forum-folder-row {
    grid-template-columns: 17px 38px minmax(0,1fr) !important;
    min-height: 68px;
    gap: 9px;
    padding: 12px;
  }

  .forum-folder-count,
  .forum-folder-last,
  .forum-folder-open {
    display: none !important;
  }

  .forum-folder-name {
    min-width: 0;
  }

  .forum-folder-name b,
  .forum-folder-name small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .forum-folder-children {
    margin-left: 12px;
  }

  .forum-category-row {
    grid-template-columns: 38px minmax(0,1fr);
  }

  .forum-category-row .forum-count,
  .forum-category-row .forum-last {
    display: none;
  }

  .thread-row {
    grid-template-columns: 38px minmax(0,1fr);
  }

  .post,
  .forum-post {
    grid-template-columns: 1fr;
  }

  .post-author {
    display: grid;
    grid-template-columns: 58px minmax(0,1fr);
    align-items: center;
    gap: 11px;
    text-align: left;
  }

  .post-author img {
    width: 58px;
    height: 58px;
  }

  .post-body,
  .reply-box {
    min-width: 0;
    padding: 15px;
  }

  .bb-content pre,
  .bb-content code {
    max-width: 100%;
    overflow-x: auto;
  }

  .bb-content img {
    max-width: 100%;
    height: auto;
  }

  .topic-actions,
  .post-actions {
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .forum-admin-section-list {
    padding: 8px;
  }

  .forum-admin-section > header {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
  }

  .forum-admin-section-actions,
  .forum-admin-folder-toolbar {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .forum-admin-section-actions .btn,
  .forum-admin-folder-toolbar .btn {
    width: 100%;
  }

  /* Administration */
  .admin-workspace-heading .admin-hero {
    padding: 18px 15px;
  }

  .admin-workspace-content {
    gap: 12px;
  }

  .admin-tool-card-head,
  .admin-create-disclosure > summary,
  .filter-disclosure > summary {
    min-width: 0;
  }

  .admin-tool-card-head > div,
  .admin-create-disclosure > summary > div,
  .filter-disclosure > summary > span {
    min-width: 0;
  }

  .admin-tool-card-head h2,
  .admin-create-disclosure strong,
  .filter-disclosure strong {
    overflow-wrap: anywhere;
  }

  .admin-form,
  .console-command-form,
  .admin-ban-form,
  .mapping-form,
  .blacklist-form,
  .server-admin-form,
  .server-card-edit,
  .report-review-form,
  .whitelist-add-form {
    grid-template-columns: 1fr !important;
  }

  .admin-form > *,
  .console-command-form > *,
  .admin-ban-form > *,
  .mapping-form > *,
  .blacklist-form > *,
  .server-admin-form > *,
  .server-card-edit > *,
  .report-review-form > *,
  .whitelist-add-form > * {
    grid-column: auto !important;
    min-width: 0;
  }

  .admin-form .btn,
  .console-command-form .btn,
  .admin-ban-form .btn,
  .mapping-form .btn,
  .blacklist-form .btn,
  .server-admin-form .btn,
  .server-card-edit .btn,
  .report-review-form .btn,
  .whitelist-add-form .btn {
    width: 100%;
  }

  .roles-v2-layout {
    grid-template-columns: 1fr;
  }

  .roles-v2-sidebar {
    position: static;
  }

  .role-index {
    max-height: 42dvh;
  }

  .server-admin-grid,
  .event-board,
  .report-review-list {
    grid-template-columns: 1fr !important;
  }

  .logs-table-wrapper,
  .table-wrap,
  .audit-table-wrap,
  .stats-server-table,
  .department-directory-shell {
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .admin-table,
  .audit-table,
  .stats-server-table table,
  .department-directory-table {
    min-width: 720px;
  }

  /* Main administration table becomes cards on phones. */
  .staff-directory-page > .wide-container {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }

  .staff-directory-page [data-live-fragment="staff-directory"] {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .staff-directory-page .staff-directory-shell {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: visible !important;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .staff-directory-page .staff-directory-table {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0 !important;
    table-layout: auto;
  }

  .staff-directory-page .staff-directory-table thead {
    display: none;
  }

  .staff-directory-page .staff-directory-table tbody {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 10px;
  }

  .staff-directory-page .staff-directory-table tr.staff-tier-heading {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-top: 8px;
  }

  .staff-directory-page .staff-directory-table .staff-tier-heading td {
    display: block;
    width: 100%;
    padding: 11px 13px !important;
    border-radius: 12px;
  }

  .staff-directory-page .staff-directory-table tr.staff-directory-row {
    display: grid;
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(2,minmax(0,1fr));
    height: auto;
    min-height: 0;
    padding: 12px;
    overflow: hidden;
    border: 1px solid rgba(131,228,255,.14);
    border-radius: 15px;
    background: linear-gradient(145deg,rgba(13,27,47,.96),rgba(7,14,27,.98));
  }

  .staff-directory-page .staff-directory-table .staff-directory-row > td {
    display: grid;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    gap: 4px;
    padding: 8px 7px;
    border: 0;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .staff-directory-page .staff-directory-table .staff-directory-row > td::before {
    color: #617b99;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .07em;
    text-transform: uppercase;
  }

  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(1) {
    grid-column: 1 / -1;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(131,228,255,.09);
  }

  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(2)::before { content: 'SteamID'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(3)::before { content: 'Ранг'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(4)::before { content: 'Отпуск'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(5)::before { content: 'Дата вступления'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(6)::before { content: 'Дней в составе'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(7)::before { content: 'Выговоры'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(8)::before { content: 'Предупреждения'; }
  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(9)::before { content: 'Статус'; }

  .staff-directory-page .staff-person-cell {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .staff-directory-page .staff-person-cell > span {
    max-width: 100%;
    min-width: 0;
  }

  .staff-directory-page .staff-directory-table tbody > tr:not(.staff-directory-row):not(.staff-tier-heading) {
    display: block;
    width: 100%;
  }

  .staff-directory-page .staff-directory-table tbody > tr:not(.staff-directory-row):not(.staff-tier-heading) > td {
    display: block;
    width: 100%;
    max-width: none;
  }

  .staff-directory-page .staff-directory-table code,
  .staff-directory-page .staff-directory-table .role,
  .staff-directory-page .staff-directory-table .staff-status {
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .staff-directory-page .staff-directory-shell::after {
    display: none;
  }

  /* Dialogs */
  dialog,
  .staff-profile-dialog,
  .bbcode-help-dialog,
  .media-create-dialog,
  .forum-folder-dialog,
  .handbook-editor-dialog,
  .donation-catalog-dialog {
    inset: 6px;
    width: calc(100% - 12px) !important;
    height: auto;
    max-width: none !important;
    max-height: calc(100dvh - 12px) !important;
    margin: 0 !important;
    overflow: auto;
    border-radius: 15px !important;
  }

  .staff-profile-dialog {
    height: calc(100dvh - 12px);
  }

  .staff-dialog-head {
    padding: 13px;
  }

  .staff-dialog-body {
    padding: 11px;
  }

  .staff-dialog-columns,
  .staff-profile-form,
  .staff-detail-grid {
    grid-template-columns: 1fr !important;
  }

  .staff-profile-stats {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .discipline-history {
    max-height: none;
  }

  .notification-fab,
  .admin-side-toggle {
    bottom: calc(10px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 480px) {
  :where(.container,.wide-container,.container-wide,.admin-workspace-heading,.admin-workspace-content) {
    width: calc(100% - 14px);
  }

  .brand-copy {
    display: none !important;
  }

  .nav-user .user-menu summary i {
    display: none;
  }

  .landing-copy h1 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .landing-proof strong {
    font-size: 1.05rem;
  }

  .landing-proof span {
    font-size: .58rem;
  }

  .server-meta,
  .user-grid,
  .directory-filter-actions,
  .settings-nav,
  .profile-main-column .profile-stats,
  .staff-profile-stats {
    grid-template-columns: 1fr !important;
  }

  .profile-main-column .profile-stats > div:last-child {
    grid-column: auto;
  }

  .profile-main-column .profile-banner,
  .profile-main-column .profile-banner.custom {
    min-height: 250px;
  }

  .profile-main-column .profile-avatar {
    width: 96px;
    height: 96px;
  }

  .settings-card-head > span,
  .admin-tool-icon {
    display: none;
  }

  .forum-folder-children {
    margin-left: 6px;
  }

  .staff-directory-page .staff-directory-table tr.staff-directory-row {
    grid-template-columns: 1fr;
  }

  .staff-directory-page .staff-directory-table .staff-directory-row > td:nth-child(1) {
    grid-column: auto;
  }

  .staff-dialog-person {
    padding-right: 42px;
  }

  .staff-dialog-person img {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  .staff-dialog-close {
    top: 10px;
    right: 10px;
  }
}

@media (max-width: 900px) and (orientation: landscape) and (max-height: 520px) {
  .nav-menu,
  .user-menu-popover {
    max-height: calc(100dvh - 62px);
  }

  .profile-main-column .profile-banner,
  .profile-main-column .profile-banner.custom {
    min-height: 230px;
  }

  dialog,
  .staff-profile-dialog {
    inset: 4px;
    width: calc(100% - 8px) !important;
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px) !important;
  }
}

@media (hover: none) and (pointer: coarse) {
  :where(.btn,.user-card,.server-row,.server-card,.forum-folder-row,.staff-directory-row):hover {
    transform: none !important;
    translate: none !important;
  }

  :where(.btn,.user-card,.server-row,.server-card,.forum-folder-row,.staff-directory-row):active {
    filter: brightness(1.08);
  }
}

