:root {
  --bg: #07090d;
  --bg2: #0d1118;
  --panel: #11161f;
  --panel-2: #161c27;
  --panel-3: #1a212d;
  --line: rgba(255,255,255,.07);
  --line-strong: rgba(255,255,255,.13);
  --text: #eef1f6;
  --muted: #8e97a8;
  --accent: #df3750;
  --accent-2: #ff5b69;
  --green: #31e28b;
  --shadow: 0 20px 60px rgba(0,0,0,.42);
}

/* ------------------------------ */
/* Game requests ("стол заказов") */
/* ------------------------------ */

.request-top {
  padding: 14px;
  border: 1px solid rgba(255, 76, 100, .18);
  background: rgba(255,255,255,.02);
}
.request-top-title {
  font-weight: 700;
  margin-bottom: 4px;
}
.request-top-sub {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  margin-bottom: 12px;
}
.request-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.request-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 12px;
}
.request-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  color: rgba(255,255,255,.78);
  text-decoration: none;
}
.request-tab:hover { border-color: rgba(255, 76, 100, .22); }
.request-tab.active {
  border-color: rgba(255, 76, 100, .35);
  background: rgba(255, 76, 100, .06);
  color: rgba(255,255,255,.92);
}
.request-tab-count {
  margin-left: 4px;
  font-weight: 700;
  opacity: .85;
}
.status-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  display: inline-block;
  box-shadow: 0 0 0 1px rgba(0,0,0,.4) inset;
}
.badge-gray { background: rgba(255,255,255,.22); }
.badge-yellow { background: rgba(255, 193, 7, .8); }
.badge-green { background: rgba(46, 204, 113, .85); }
.badge-red { background: rgba(255, 76, 100, .95); }

.request-list {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}
.request-item {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.05);
  background: rgba(255,255,255,.015);
}
.request-media {
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.25);
  overflow: hidden;
  min-height: 92px;
}
.request-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.request-body { min-width: 0; }
.request-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.request-title {
  font-weight: 800;
  font-size: 16px;
  line-height: 1.15;
  color: rgba(255,255,255,.95);
}
.request-meta-right {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.request-desc {
  margin-top: 8px;
  color: rgba(255,255,255,.66);
  font-size: 12px;
  line-height: 1.4;
}
.request-footer {
  margin-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.request-footer-left { display: flex; flex-wrap: wrap; gap: 8px; }
.request-footer-right { display: flex; flex-wrap: wrap; gap: 8px; }

@media (max-width: 900px) {
  .request-item { grid-template-columns: 1fr; }
  .request-media { height: 160px; }
  .request-title-row { flex-direction: column; align-items: stretch; }
  .request-meta-right { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .request-form { grid-template-columns: 1fr; }
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(10px);
  opacity: 0;
  z-index: 9999;
  padding: 10px 12px;
  border: 1px solid rgba(255, 76, 100, .25);
  background: rgba(15, 18, 24, .92);
  color: rgba(255,255,255,.92);
  transition: opacity .18s ease, transform .18s ease;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  background:
    radial-gradient(circle at 0% 0%, rgba(223,55,80,.10), transparent 22%),
    radial-gradient(circle at 100% 100%, rgba(63,77,255,.08), transparent 16%),
    linear-gradient(180deg, #05070b 0%, #080b10 45%, #090d13 100%);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.launcher-cut {
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}
.launcher-cut-sm {
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}

.app-shell {
  max-width: 1600px;
  margin: 0 auto;
  padding: 18px;
  display: grid;
  grid-template-columns: 366px minmax(0, 1fr);
  gap: 18px;
  min-height: 100vh;
}
.sidebar, .panel, .content-frame {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(17,22,31,.98), rgba(9,12,18,.97));
  box-shadow: var(--shadow);
}
.sidebar {
  position: sticky;
  top: 18px;
  align-self: start;
  min-height: calc(100vh - 36px);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sidebar-top-status {
  min-height: 44px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--line);
  color: #c4cbda;
  font-size: .9rem;
}
.dot-online { width: 8px; height: 8px; border-radius: 999px; background: var(--green); box-shadow: 0 0 12px rgba(49,226,139,.45); }
.brand-box {
  display:flex; gap:12px; align-items:center; padding: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border: 1px solid var(--line);
}
.brand-mark {
  width: 42px; height: 42px; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(223,55,80,.18), rgba(255,255,255,.05));
  border: 1px solid rgba(223,55,80,.26); font-weight: 900; font-size: 1rem;
}
.brand-title { font-size: 1.02rem; font-weight: 800; letter-spacing: -.02em; }
.brand-subtitle { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.side-nav { display:grid; gap: 8px; }
.side-link {
  min-height: 44px; padding: 0 12px; display:flex; align-items:center; gap: 10px;
  color: #e8ecf6; border:1px solid transparent; background: rgba(255,255,255,.022);
  transition: .18s ease; font-size: .92rem;
}
.side-link:hover { background: rgba(255,255,255,.05); border-color: var(--line-strong); }
.nav-ico {
  width: 24px; height: 24px; display:grid; place-items:center; flex: 0 0 24px;
  color: #ff8a99; background: rgba(223,55,80,.10); border:1px solid rgba(223,55,80,.18);
  font-size: .76rem;
}
.sidebar-search { margin-top: 2px; }
.sidebar-footer { margin-top: 0; }
.sidebar-account-row { display: flex; align-items: stretch; gap: 10px; }
.user-chip-link { flex: 1 1 auto; transition: .18s ease; }
.user-chip-link:hover { background: rgba(255,255,255,.05); border-color: var(--line-strong); }
.logout-icon-form { flex: 0 0 52px; margin: 0; }
.logout-icon-btn { width: 52px; min-height: 62px; height: 100%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(223,55,80,.22); background: linear-gradient(135deg, rgba(223,55,80,.18), rgba(255,91,105,.12)); color: #ffd4da; font-size: 1rem; box-shadow: 0 10px 24px rgba(223,55,80,.16); transition: .18s ease; }
.logout-icon-btn:hover { transform: translateY(-1px); filter: brightness(1.06); }
.user-chip {
  display:flex; gap: 10px; align-items:center; padding: 12px; background: rgba(255,255,255,.03); border:1px solid var(--line);
}
.user-avatar { width: 38px; height: 38px; display:grid; place-items:center; background: linear-gradient(135deg, var(--accent), #6b2335); font-weight: 900; font-size: .95rem; }
.user-name { font-weight: 700; font-size: .92rem; }
.user-role { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }

.content-frame { min-width: 0; padding: 14px; position: relative; overflow: visible; }
.content-topbar {
  min-height: 62px;
  padding: 10px 14px;
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(20,25,35,.92), rgba(12,16,23,.92));
  display:flex; align-items:center; justify-content:space-between; gap: 18px;
  position: relative;
  z-index: 500;
  overflow: visible;
}
.topbar-left { min-width: 0; }
.topbar-breadcrumb { display:flex; align-items:center; gap: 8px; font-weight: 700; font-size: .95rem; }

.topbar-breadcrumb-admin {
  min-height: 44px;
}
.admin-topbar-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(223,55,80,.28);
  background: linear-gradient(135deg, rgba(223,55,80,.22), rgba(72,16,28,.34));
  color: #ffe7eb;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.crumb-dot { width: 8px; height: 8px; border-radius: 999px; background: var(--accent); }
.topbar-sub { color: var(--muted); font-size: .76rem; margin-top: 4px; }
.topbar-actions { display:flex; align-items:center; gap: 10px; position: relative; z-index: 600; overflow: visible; }
.topbar-search { width: min(420px, 42vw); }
.topbar-icon {
  width: 38px; height: 38px; display:grid; place-items:center;
  border:1px solid var(--line); background: rgba(255,255,255,.03); color: #bec6d7; font-size: .9rem;
}
.main-shell { min-width: 0; padding-top: 14px; position: relative; z-index: 1; }

.panel { overflow: hidden; }
.p-5 { padding: 18px; } .p-6 { padding: 20px; } .p-7 { padding: 22px; }
.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mt-6{margin-top:24px}.mb-5{margin-bottom:20px}
.space-y-4 > * + * { margin-top: 16px; }
.stack-sm { display:grid; gap: 10px; }
.stack-lg { display:grid; gap: 18px; }

.eyebrow {
  display:inline-flex; align-items:center; min-height: 26px; padding: 0 10px;
  background: rgba(223,55,80,.12); border:1px solid rgba(223,55,80,.22); color: #ffc0c8; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
}
.section-head { display:flex; align-items:end; justify-content:space-between; gap: 18px; }
.section-head h1, .section-head h2 { margin: 8px 0 0; line-height: .98; letter-spacing: -.045em; font-weight: 900; }
.section-head h1 { font-size: clamp(1.65rem, 2.2vw, 2.35rem); }
.section-head h2 { font-size: clamp(1.15rem, 1.8vw, 1.55rem); }
.section-head p { color: var(--muted); margin: 8px 0 0; max-width: 700px; font-size: .9rem; line-height: 1.6; }
.launcher-head { margin-bottom: 12px; }

.btn-soft, .btn-accent, .btn-link, .field, .textarea, .filter-chip, .version-chip, .toggle-row, .comment-box, .related-row, .info-item, .stat-box, .auth-hint, .flash, .data-table-wrap, .detail-cover, .hero-banner { border:1px solid var(--line); }
.btn-soft, .btn-accent {
  min-height: 42px; padding: 0 14px; display:inline-flex; align-items:center; justify-content:center; font-weight: 700; transition: .18s ease; font-size: .9rem;
}
.btn-soft { background: rgba(255,255,255,.04); }
.btn-soft:hover { background: rgba(255,255,255,.07); }
.btn-accent { background: linear-gradient(135deg, var(--accent), var(--accent-2)); color: white; box-shadow: 0 10px 24px rgba(223,55,80,.22); }
.btn-accent:hover { transform: translateY(-1px); filter: brightness(1.05); }
.btn-danger { min-height: 36px; padding: 0 12px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,87,101,.22); background: rgba(255,87,101,.10); color: #ffd7dc; font-size: .84rem; }
.btn-link { background: transparent; color: #ff8d9a; padding: 0; border: 0; font-size: .88rem; }
.field, .textarea {
  width: 100%; background: rgba(255,255,255,.03); color: var(--text); outline: none; min-height: 42px; padding: 0 14px; font-size: .9rem;
}
.textarea { min-height: 130px; padding: 12px 14px; }
.field:focus, .textarea:focus, select.field:focus { border-color: rgba(223,55,80,.34); box-shadow: 0 0 0 3px rgba(223,55,80,.08); }
.field::placeholder, .textarea::placeholder { color: #6f7888; }
.filter-row, .chip-row, .toolbar, .table-actions, .admin-quicknav { display:flex; flex-wrap:wrap; gap: 8px; }
.filter-chip, .version-chip {
  display:inline-flex; align-items:center; min-height: 28px; padding: 0 10px; background: rgba(255,255,255,.035); color: #d6dce8; font-size: .74rem;
}
.version-chip { background: rgba(223,55,80,.1); border-color: rgba(223,55,80,.18); }

.page-grid { display:grid; grid-template-columns: minmax(0, 1.55fr) 350px; gap: 18px; }
.launcher-news-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.news-grid, .game-grid { display:grid; gap: 14px; }
.game-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.news-card, .game-card-store {
  display:flex; flex-direction:column; overflow:hidden;
  background: linear-gradient(180deg, rgba(20,25,35,.98), rgba(10,13,20,.98));
}
.news-card:hover, .game-card-store:hover { border-color: var(--line-strong); }
.card-media { aspect-ratio: 16/9; background: linear-gradient(135deg, #181d28, #0f1219); overflow:hidden; }
.launcher-card-media { aspect-ratio: 16/9; }
.card-media-game { aspect-ratio: 5/6; }
.card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.news-card:hover img, .game-card-store:hover img { transform: scale(1.03); }
.card-fallback { height: 100%; display:grid; place-items:center; font-size: 2rem; font-weight: 900; color: #dfe4ee; }
.card-body { padding: 14px; }
.card-topline { display:flex; justify-content:space-between; gap: 10px; align-items:center; color: var(--muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .09em; }
.card-title { display:block; font-size: 1.02rem; line-height: 1.18; font-weight: 800; letter-spacing: -.02em; margin-top: 8px; }
.card-desc { color: #b1b9c8; font-size: .84rem; line-height: 1.6; margin-top: 8px; }
.linked-game { display:inline-flex; margin-top: 8px; color: #ff7b89; font-weight: 700; font-size: .82rem; }
.linked-game-lg { font-size: .92rem; }

.chat-panel { display:flex; flex-direction:column; min-height: 760px; }
.chat-log { display:flex; flex-direction:column; gap: 10px; max-height: 610px; overflow:auto; padding-right: 4px; }
.chat-msg { display:flex; gap: 10px; padding: 10px; background: rgba(255,255,255,.03); }
.avatar { width: 34px; height: 34px; display:grid; place-items:center; background: linear-gradient(135deg, #2b3040, #1a1f2c); font-weight: 900; font-size: .8rem; }
.chat-input-wrap { display:flex; gap: 8px; margin-top: auto; padding-top: 16px; }
.auth-hint { margin-top: auto; padding: 12px; background: rgba(255,255,255,.03); color: var(--muted); font-size: .88rem; }
.auth-hint a { color: #ff8895; }
.flash { padding: 12px 16px; margin-bottom: 16px; font-size: .9rem; }
.flash.error { background: rgba(255,87,101,.1); border-color: rgba(255,87,101,.24); color: #ffd9de; }
.flash.success { background: rgba(39, 186, 112, .1); border-color: rgba(39,186,112,.24); color: #d9ffe8; }
.empty-state { padding: 22px; border:1px dashed var(--line-strong); color: var(--muted); text-align:center; font-size: .9rem; }
.toolbar { margin-top: 18px; align-items:center; }
.toolbar > * { flex: 1 1 200px; }
.toolbar-compact > * { flex: initial; }

.detail-grid { display:grid; grid-template-columns: minmax(0, 1.45fr) 330px; gap: 18px; }
.detail-title { font-size: clamp(1.8rem, 2.6vw, 2.45rem); line-height: .98; letter-spacing: -.05em; margin: 0; }
.detail-cover { overflow:hidden; }
.detail-cover img { width:100%; height:auto; }
.prose-block { color: #d9dee8; line-height: 1.8; font-size: .96rem; }
.comment-list { display:grid; gap: 10px; }
.comment-box, .related-row, .info-item, .stat-box { background: rgba(255,255,255,.03); padding: 12px 14px; }
.related-row { display:block; }
.info-list { display:grid; gap: 8px; }
.info-item { display:flex; justify-content:space-between; gap: 14px; font-size: .9rem; }
.hero-banner { position:relative; min-height: 280px; overflow:hidden; background: #10131a; }
.hero-banner img { width:100%; height:100%; object-fit: cover; opacity: .6; }
.hero-banner::after { content: ""; position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,10,14,.96) 0%, rgba(8,10,14,.65) 45%, rgba(8,10,14,.22) 100%); }
.hero-banner-copy { position:absolute; z-index:2; left: 22px; right: 22px; bottom: 22px; }
.hero-copy-sub { max-width: 720px; color: #c1c7d2; line-height: 1.65; margin-top: 12px; font-size: .92rem; }
.auth-shell { min-height: calc(100vh - 140px); display:grid; place-items:center; }
.auth-card { max-width: 460px; margin: 0 auto; }
.form-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.form-grid .col-span-full { grid-column: 1 / -1; }
.toggle-row { display:flex; align-items:center; gap: 10px; min-height: 42px; padding: 0 14px; background: rgba(255,255,255,.03); font-size: .9rem; }
.stats-grid { display:grid; gap: 12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.stat-value { font-size: 1.7rem; font-weight: 900; margin-top: 8px; }
.data-table-wrap { overflow:auto; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: 12px 14px; border-bottom:1px solid rgba(255,255,255,.05); text-align:left; font-size: .88rem; }
.admin-table th { font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); }
.w-full{width:100%}
.text-sm{font-size:.82rem}.font-semibold{font-weight:600}.text-slate-300{color:#cbd5e1}.text-slate-400{color:#94a3b8}.text-rose-300{color:#fda4af}.text-4xl{font-size:2rem}.font-black{font-weight:900}.tracking-\[-0\.04em\]{letter-spacing:-.04em}.grid{display:grid}.grid-cols-1{grid-template-columns:1fr}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gap-4{gap:16px}.col-span-full{grid-column:1/-1}

@media (max-width: 1320px) {
  .game-grid, .launcher-news-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; min-height: auto; }
  .page-grid, .detail-grid { grid-template-columns: 1fr; }
  .content-topbar { flex-direction: column; align-items: stretch; }
  .topbar-search { width: 100%; }
}
@media (max-width: 760px) {
  .app-shell { padding: 12px; gap: 12px; }
  .launcher-news-grid, .game-grid, .stats-grid, .form-grid, .md\:grid-cols-2 { grid-template-columns: 1fr; }
  .chat-input-wrap { flex-direction: column; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .content-frame { padding: 10px; }
}

.live-search-status{min-height:20px;font-size:.82rem;}


.global-search{position:relative;z-index:1200;overflow:visible;}
.global-search-results{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  right:0;
  z-index:1600;
  padding:12px;
  border:1px solid var(--line-strong);
  background:linear-gradient(180deg, rgba(18,23,33,.98), rgba(10,13,20,.99));
  box-shadow:0 18px 48px rgba(0,0,0,.5);
  max-height:min(70vh, 560px);
  overflow:auto;
}
.global-search-status{color:var(--muted);font-size:.77rem;margin-bottom:10px;}
.global-search-group{display:grid;gap:8px;}
.global-search-group + .global-search-group{margin-top:12px;}
.global-search-group-title{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#ff9dab;font-weight:800;}
.global-search-item{
  display:flex;align-items:flex-start;gap:10px;padding:10px 12px;
  border:1px solid var(--line);background:rgba(255,255,255,.025);
  transition:.16s ease;
}
.global-search-item:hover{background:rgba(255,255,255,.05);border-color:var(--line-strong);}
.global-search-item-type{
  flex:0 0 auto;min-width:44px;min-height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;
  font-size:.62rem;font-weight:900;letter-spacing:.12em;color:#ffd6db;background:rgba(223,55,80,.12);border:1px solid rgba(223,55,80,.24);
}
.global-search-item-main{min-width:0;}
.global-search-item-title{font-weight:800;font-size:.86rem;line-height:1.25;color:#eef1f6;}
.global-search-item-meta{margin-top:3px;color:var(--muted);font-size:.75rem;line-height:1.45;}
.global-search-empty{padding:12px;color:var(--muted);font-size:.84rem;border:1px dashed var(--line-strong);}
.sidebar-search form{position:relative;}


/* v7 global search popup */
.topbar-search{display:flex;align-items:center;gap:10px;position:relative;width:min(760px,58vw);}
.topbar-search .field{flex:1 1 auto;}
.global-search-submit{flex:0 0 38px;cursor:pointer;}
.global-search-results{
  left:0;
  right:48px;
  top:calc(100% + 8px);
  padding:0;
  background:linear-gradient(180deg, rgba(20,24,31,.998), rgba(12,15,21,.998));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.58);
  z-index: 2000;
}
.global-search-status{
  padding:10px 14px;
  margin:0;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
}
.global-search-group{gap:0;}
.global-search-group + .global-search-group{margin-top:0;border-top:1px solid rgba(255,255,255,.06);}
.global-search-group-title{
  padding:8px 14px;
  background:rgba(255,255,255,.04);
  color:#f4f5f8;
  font-size:.9rem;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:800;
}
.global-search-item{
  gap:12px;
  border:none;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.015);
  padding:11px 14px;
  clip-path:none;
}
.global-search-item:last-child{border-bottom:none;}
.global-search-item:hover,.global-search-item.is-active{background:rgba(255,255,255,.08);}
.global-search-item-type{
  min-width:64px;
  min-height:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  color:#f3f4f7;
  font-size:.7rem;
  letter-spacing:.03em;
  text-transform:none;
}
.global-search-item-title{font-size:.95rem;}
.global-search-item-title mark{
  background:rgba(223,55,80,.22);
  color:#fff;
  padding:0 2px;
}
.global-search-item-meta{font-size:.78rem;}
.global-search-empty{margin:12px;}
.global-search-footer{
  padding:10px 14px;
  display:flex;
  justify-content:flex-end;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
}
.global-search-footer a{color:#8fc6ff;font-size:.85rem;font-weight:700;}
@media (max-width: 1180px){
  .topbar-search{width:100%;}
  .global-search-results{right:48px;}
}
@media (max-width: 760px){
  .global-search-results{right:0;}
  .global-search-submit{display:none;}
}


/* v8 overlay fix for top live search */
.content-frame, .content-topbar, .topbar-search, .topbar-actions, .global-search { overflow: visible; }
.panel, .page-grid, .launcher-page-grid { position: relative; z-index: 1; }
.global-search-results[hidden] { display: none !important; }


/* v9 portal global search overlay */
.topbar-search{display:flex;align-items:center;gap:10px;position:relative;width:min(760px,58vw);}
.topbar-search .field{flex:1 1 auto;}
.global-search-submit{flex:0 0 38px;cursor:pointer;}
.global-search-portal{
  position:fixed;
  z-index:2147483647;
  min-width:320px;
  max-width:min(760px, calc(100vw - 24px));
  background:linear-gradient(180deg, rgba(20,24,31,.998), rgba(12,15,21,.998));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 70px rgba(0,0,0,.58);
  overflow:hidden;
}
.global-search-portal[hidden]{display:none !important;}
.global-search-status{
  padding:10px 14px;
  margin:0;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
  color:var(--muted);
  font-size:.77rem;
}
.global-search-group{display:grid;gap:0;}
.global-search-group + .global-search-group{margin-top:0;border-top:1px solid rgba(255,255,255,.06);}
.global-search-group-title{
  padding:8px 14px;
  background:rgba(255,255,255,.04);
  color:#f4f5f8;
  font-size:.9rem;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:800;
}
.global-search-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  border:none;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.015);
  padding:11px 14px;
  transition:.16s ease;
}
.global-search-item:last-child{border-bottom:none;}
.global-search-item:hover,.global-search-item.is-active{background:rgba(255,255,255,.08);}
.global-search-item-type{
  flex:0 0 auto;
  min-width:64px;
  min-height:26px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  color:#f3f4f7;
  font-size:.7rem;
  letter-spacing:.03em;
  text-transform:none;
}
.global-search-item-main{min-width:0;}
.global-search-item-title{font-weight:800;font-size:.95rem;line-height:1.25;color:#eef1f6;}
.global-search-item-title mark{background:rgba(223,55,80,.22);color:#fff;padding:0 2px;}
.global-search-item-meta{margin-top:3px;color:var(--muted);font-size:.78rem;line-height:1.45;}
.global-search-empty{margin:12px;padding:12px;color:var(--muted);font-size:.84rem;border:1px dashed var(--line-strong);}
.global-search-footer{
  padding:10px 14px;
  display:flex;
  justify-content:flex-end;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.02);
}
.global-search-footer a{color:#8fc6ff;font-size:.85rem;font-weight:700;}
@media (max-width:1180px){.topbar-search{width:100%;}}
@media (max-width:760px){.global-search-submit{display:none;}}


/* Admin form selects + live game picker */
.select-wrap{position:relative;}
.select-wrap::after{content:"";position:absolute;top:50%;right:14px;width:10px;height:10px;border-right:2px solid #97a2b5;border-bottom:2px solid #97a2b5;transform:translateY(-65%) rotate(45deg);pointer-events:none;opacity:.85;}
.select-field{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:44px;background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.02));cursor:pointer;}
.select-field option{background:#10151d;color:#edf1f7;}
.live-picker{position:relative;display:grid;gap:8px;}
.live-picker-label{font-size:.78rem;color:var(--muted);font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.live-picker-shell{position:relative;}
.live-picker-input{padding-right:44px;}
.live-picker-clear{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:28px;height:28px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#c9d1de;cursor:pointer;font-size:.84rem;display:grid;place-items:center;}
.live-picker-clear:hover{background:rgba(255,255,255,.08);}
.live-picker-dropdown{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:1300;background:linear-gradient(180deg, rgba(19,24,33,.995), rgba(11,14,20,.998));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 44px rgba(0,0,0,.42);overflow:hidden;}
.live-picker-empty,.live-picker-status{padding:12px 14px;font-size:.85rem;color:var(--muted);}
.live-picker-item{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;transition:.16s ease;}
.live-picker-item:last-child{border-bottom:none;}
.live-picker-item:hover,.live-picker-item.is-active{background:rgba(255,255,255,.06);}
.live-picker-item-badge{flex:0 0 auto;min-width:42px;height:24px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(223,55,80,.12);border:1px solid rgba(223,55,80,.22);color:#ffc0c8;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.live-picker-item-main{min-width:0;}
.live-picker-item-title{font-weight:800;font-size:.92rem;line-height:1.2;color:#eef1f6;}
.live-picker-item-title mark{background:rgba(223,55,80,.22);color:#fff;padding:0 2px;}
.live-picker-item-meta{margin-top:3px;color:var(--muted);font-size:.77rem;line-height:1.4;}

.live-picker-compact{align-self:end;gap:0;}
.live-picker-compact .live-picker-shell{margin-top:0;}
.live-picker-compact .live-picker-input::placeholder{color:rgba(154,164,178,.82);}
.live-picker-dropdown{max-height:320px;overflow:auto;}

/* universal select theme */
.select-wrap {
  position: relative;
  min-height: 42px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--line);
}

.select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 1.5px solid #9aa4b6;
  border-bottom: 1.5px solid #9aa4b6;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  opacity: .9;
}

select.field,
.select-field {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  min-height: 42px;
  padding-right: 42px;
  background: linear-gradient(180deg, rgba(22,27,37,.98), rgba(14,18,26,.98));
  color: #edf1f7;
  border: 0;
  box-shadow: none;
}

select.field option,
.select-field option,
select.field optgroup,
.select-field optgroup {
  background: #121722;
  color: #edf1f7;
}

select.field:focus,
.select-field:focus,
.select-wrap:focus-within {
  border-color: rgba(223,55,80,.34);
  box-shadow: 0 0 0 3px rgba(223,55,80,.08);
}

.toolbar .select-wrap,
.form-grid .select-wrap,
.admin-table .select-wrap {
  width: 100%;
}

input[type="file"].field {
  padding: 8px 12px;
}

.admin-form-block {
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.06);
}

.section-head-tight {
  align-items: flex-start;
}

.section-head-tight h2 {
  margin: 4px 0 0;
  font-size: 1.15rem;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.compact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.compact-grid .textarea {
  min-height: 110px;
}

@media (max-width: 760px) {
  .compact-grid {
    grid-template-columns: 1fr;
  }
}


/* Admin form helpers */
.field-note-block{
  min-height:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  padding:12px 14px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.018));
  border:1px solid var(--line);
  color:var(--muted);
}
.field-note-title,
.textarea-help-title{
  font-size:.78rem;
  font-weight:700;
  color:#d7deeb;
  letter-spacing:.02em;
}
.field-note-text,
.textarea-help-text{
  font-size:.74rem;
  line-height:1.5;
  color:var(--muted);
}
.textarea-help{
  margin-top:-4px;
  margin-bottom:-8px;
}
.textarea-help code{
  color:#f3f6fb;
  background:rgba(255,255,255,.05);
  padding:2px 6px;
  border-radius:6px;
}
.code-textarea{
  min-height:136px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:.82rem;
  line-height:1.55;
}


.game-info-section { position: relative; }
.game-rich-content {
  color: #dbe2f0;
}
.game-rich-content > *:first-child { margin-top: 0; }
.game-rich-content > *:last-child { margin-bottom: 0; }
.game-rich-content h2,
.game-rich-content h3,
.game-rich-content h4 {
  color: #ffffff;
  margin: 1.2rem 0 .7rem;
  line-height: 1.2;
}
.game-rich-content h2 { font-size: 1.45rem; }
.game-rich-content h3 { font-size: 1.2rem; }
.game-rich-content p,
.game-rich-content ul,
.game-rich-content ol,
.game-rich-content table,
.game-rich-content blockquote {
  margin: .9rem 0;
}
.game-rich-content ul,
.game-rich-content ol {
  padding-left: 1.25rem;
}
.game-rich-content li + li { margin-top: .35rem; }
.game-rich-content a {
  color: #ff697c;
  text-decoration: none;
}
.game-rich-content a:hover { color: #ff8c99; }
.game-rich-content blockquote {
  margin: 1rem 0;
  padding: .9rem 1rem;
  border-left: 3px solid rgba(255, 89, 108, .9);
  background: rgba(255,255,255,.03);
}
.game-rich-content img,
.game-rich-content iframe,
.game-rich-content video {
  max-width: 100%;
  border-radius: 10px;
}
.game-rich-content table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}
.game-rich-content th,
.game-rich-content td {
  border: 1px solid rgba(255,255,255,.08);
  padding: .7rem .8rem;
  text-align: left;
}
.game-rich-content th {
  background: rgba(255,255,255,.04);
  color: #fff;
}
textarea.game-info-editor {
  min-height: 360px;
}
.tox.tox-tinymce {
  border: 1px solid var(--line) !important;
  background: linear-gradient(90deg, rgba(17, 22, 32, 0.95), rgba(8, 12, 19, 0.98)) !important;
  clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%, 0 12px) !important;
}
.tox .tox-editor-header,
.tox .tox-toolbar-overlord,
.tox .tox-menubar,
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-statusbar {
  background: #111826 !important;
  border-color: rgba(255,255,255,.06) !important;
}
.tox .tox-tbtn,
.tox .tox-mbtn,
.tox .tox-statusbar a,
.tox .tox-statusbar__wordcount,
.tox .tox-statusbar__path-item,
.tox .tox-collection__item-label,
.tox .tox-label,
.tox .tox-listboxfield .tox-listbox--select,
.tox .tox-edit-area__iframe {
  color: #dbe2f0 !important;
}
.tox .tox-tbtn svg,
.tox .tox-mbtn__select-label,
.tox .tox-mbtn__button {
  fill: #dbe2f0 !important;
  color: #dbe2f0 !important;
}
.tox .tox-tbtn:hover,
.tox .tox-mbtn:hover,
.tox .tox-tbtn--enabled,
.tox .tox-tbtn--enabled:hover {
  background: rgba(255, 89, 108, .12) !important;
}


.hero-banner-game {
  min-height: clamp(220px, 29vw, 320px);
  max-height: 320px;
}
.hero-banner-game img {
  min-height: clamp(220px, 29vw, 320px);
  max-height: 320px;
}
.hero-banner-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.edit-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(223,55,80,.28);
  background: rgba(223,55,80,.12);
  color: #ffd5da;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.edit-badge:hover {
  background: rgba(223,55,80,.18);
  border-color: rgba(223,55,80,.4);
}
.game-info-section .prose-block {
  max-width: none;
}
.comments-submit {
  width: fit-content;
  min-width: 180px;
}
.auth-hint.mt-4 { margin-top: 16px; }
@media (max-width: 900px) {
  .hero-banner-game,
  .hero-banner-game img {
    min-height: 220px;
    max-height: 260px;
  }
  .hero-banner-topline {
    align-items: flex-start;
    flex-direction: column;
  }
}

.comment-head-row { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.comment-date { color: var(--muted); font-size: .74rem; white-space: nowrap; }
.comment-content { line-height: 1.65; white-space: pre-wrap; }
.comment-admin-tools { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.comment-admin-tools form { margin:0; }
.comment-mini-btn { min-height: 34px; padding: 0 12px; font-size: .82rem; }
.comment-edit-form { border-top:1px solid rgba(255,255,255,.06); padding-top: 12px; }
.comment-edit-textarea { min-height: 120px; }


.downloads-editor + .tox-tinymce,
.game-info-editor + .tox-tinymce { border-radius: 0 !important; }
.comment-box { transition: opacity .18s ease; }
.comment-box.is-pending { opacity: .6; pointer-events: none; }


/* Sidebar chat */
.sidebar-chat {
  margin-top: 2px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1 1 auto;
  min-height: 260px;
  background: linear-gradient(180deg, rgba(15,20,28,.96), rgba(8,11,17,.98));
  border: 1px solid var(--line);
}
.sidebar-chat-head h3 {
  margin: 6px 0 0;
  font-size: 1rem;
  line-height: 1.1;
}
.sidebar-chat-head p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.45;
}
.sidebar-chat-log {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 4px;
}
.sidebar-chat-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}
.sidebar-chat-hint {
  margin-top: auto;
}
.chat-msg {
  display: block;
  padding: 10px 12px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.045);
}
.chat-msg-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}
.chat-msg-name {
  font-size: .82rem;
  font-weight: 700;
  color: #eef1f6;
}
.chat-msg-date {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: .68rem;
  white-space: nowrap;
}
.chat-msg-text {
  margin: 0;
  color: #d4dbe7;
  font-size: .82rem;
  line-height: 1.5;
  white-space: pre-wrap;
  word-break: break-word;
}
@media (max-width: 1180px) {
  .sidebar-chat-log {
    max-height: 240px;
  }
}


.sidebar .side-nav { margin-bottom: 2px; }
.sidebar .sidebar-footer { padding-top: 12px; border-top: 1px solid rgba(255,255,255,.05); margin-top: auto; }

/* Circuit background theme */
html, body { min-height: 100%; }
body {
  position: relative;
  isolation: isolate;
  background:
    radial-gradient(circle at 12% 8%, rgba(223,55,80,.05), transparent 20%),
    radial-gradient(circle at 88% 12%, rgba(255,98,71,.03), transparent 18%),
    linear-gradient(180deg, #030509 0%, #04070b 44%, #05080d 100%);
}
body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}
body::before {
  z-index: -2;
  opacity: .24;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='1200' viewBox='0 0 1200 1200'%3E%3Cg fill='none' stroke='%23b63d53' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' opacity='.95'%3E%3Cpath d='M600 140v185M600 875v185M140 600h185M875 600h185'/%3E%3Cpath d='M600 325h-70v70h-95v80H300v90H180'/%3E%3Cpath d='M600 325h70v70h95v80h135v90h120'/%3E%3Cpath d='M600 875h-70v-70h-95v-80H300v-90H180'/%3E%3Cpath d='M600 875h70v-70h95v-80h135v-90h120'/%3E%3Cpath d='M325 600v-70h70v-95h80V300h90V180'/%3E%3Cpath d='M875 600v-70h-70v-95h-80V300h-90V180'/%3E%3Cpath d='M325 600v70h70v95h80v135h90v120'/%3E%3Cpath d='M875 600v70h-70v95h-80v135h-90v120'/%3E%3Cpath d='M240 240h90v55h60v55h55v60h55v55h100'/%3E%3Cpath d='M960 240h-90v55h-60v55h-55v60h-55v55H600'/%3E%3Cpath d='M240 960h90v-55h60v-55h55v-60h55v-55h100'/%3E%3Cpath d='M960 960h-90v-55h-60v-55h-55v-60h-55v-55H600'/%3E%3Crect x='520' y='520' width='160' height='160' rx='8'/%3E%3Crect x='548' y='548' width='104' height='104' rx='8'/%3E%3Crect x='196' y='182' width='34' height='34'/%3E%3Crect x='970' y='182' width='34' height='34'/%3E%3Crect x='196' y='984' width='34' height='34'/%3E%3Crect x='970' y='984' width='34' height='34'/%3E%3Crect x='930' y='520' width='40' height='40'/%3E%3Crect x='230' y='520' width='40' height='40'/%3E%3Crect x='520' y='930' width='40' height='40'/%3E%3Crect x='520' y='230' width='40' height='40'/%3E%3Ccircle cx='180' cy='600' r='6'/%3E%3Ccircle cx='1020' cy='600' r='6'/%3E%3Ccircle cx='600' cy='180' r='6'/%3E%3Ccircle cx='600' cy='1020' r='6'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 1100px 1100px;
  background-position: center top;
  background-repeat: repeat;
  filter: drop-shadow(0 0 6px rgba(182,61,83,.10));
}
body::after {
  display: none;
}

.sidebar,
.content-frame,
.panel,
.content-topbar,
.sidebar-top-status,
.side-link,
.user-card,
.chat-side-block {
  backdrop-filter: blur(1.5px);
}

@media (max-width: 760px) {
  body::before,
  body::after {
    opacity: .18;
  }
}

/* v18 viewport fit fix */
html, body {
  height: 100%;
  overflow: hidden;
}
body {
  min-height: 100vh;
}
.app-shell {
  height: 100vh;
  max-height: 100vh;
  padding: 16px 18px;
}
.sidebar {
  height: calc(100vh - 32px);
  max-height: calc(100vh - 32px);
}
.content-frame {
  height: calc(100vh - 32px);
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.content-topbar {
  flex: 0 0 auto;
}
.main-shell {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding-top: 14px;
  padding-right: 4px;
}
@media (max-width: 1180px) {
  html, body {
    overflow: auto;
    height: auto;
  }
  .app-shell {
    height: auto;
    max-height: none;
  }
  .sidebar,
  .content-frame {
    height: auto;
    max-height: none;
  }
  .content-frame {
    overflow: visible;
  }
  .main-shell {
    overflow: visible;
  }
}


/* Shared scrollbars */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(241, 78, 102, .72) rgba(255,255,255,.04);
}
*::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
*::-webkit-scrollbar-track {
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border-left: 1px solid rgba(255,255,255,.04);
}
*::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(241,78,102,.92), rgba(178,45,68,.92));
  border: 2px solid rgba(9,12,18,.95);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 0 10px rgba(241,78,102,.18);
}
*::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(255,98,122,.98), rgba(198,55,82,.95));
}
*::-webkit-scrollbar-corner {
  background: transparent;
}


/* v22 unified scroll areas + profile chip */
.side-nav {
  margin-bottom: 8px;
}
.sidebar-account-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  gap: 8px;
  align-items: stretch;
}
.user-chip-link {
  text-decoration: none;
}
.user-chip-link:hover {
  border-color: rgba(241,78,102,.22);
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}
.logout-icon-form {
  margin: 0;
}
.logout-icon-btn {
  width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f3c4cb;
  border: 1px solid rgba(241,78,102,.14);
  background: linear-gradient(180deg, rgba(32,38,50,.96), rgba(17,21,30,.98));
  transition: border-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.logout-icon-btn:hover {
  color: #fff;
  border-color: rgba(241,78,102,.28);
  box-shadow: 0 10px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(241,78,102,.08);
  transform: translateY(-1px);
}
.logout-icon-btn i {
  font-size: .96rem;
}

.main-shell,
.sidebar-chat-log,
.global-search-portal,
textarea,
pre,
code,
.tox .tox-edit-area__iframe,
.tox .tox-sidebar-wrap,
.tox .tox-edit-area,
.tox .tox-statusbar,
.tox .tox-collection,
.tox .tox-menu,
.tox .tox-dialog-wrap,
.tox .tox-dialog,
.tox .tox-dialog__body-content {
  scrollbar-width: thin;
  scrollbar-color: rgba(241,78,102,.86) rgba(10,13,19,.92);
}

.main-shell::-webkit-scrollbar,
.sidebar-chat-log::-webkit-scrollbar,
.global-search-portal::-webkit-scrollbar,
textarea::-webkit-scrollbar,
pre::-webkit-scrollbar,
code::-webkit-scrollbar,
.tox .tox-edit-area__iframe::-webkit-scrollbar,
.tox .tox-sidebar-wrap::-webkit-scrollbar,
.tox .tox-edit-area::-webkit-scrollbar,
.tox .tox-statusbar::-webkit-scrollbar,
.tox .tox-collection::-webkit-scrollbar,
.tox .tox-menu::-webkit-scrollbar,
.tox .tox-dialog-wrap::-webkit-scrollbar,
.tox .tox-dialog::-webkit-scrollbar,
.tox .tox-dialog__body-content::-webkit-scrollbar {
  width: 11px;
  height: 11px;
}

.main-shell::-webkit-scrollbar-track,
.sidebar-chat-log::-webkit-scrollbar-track,
.global-search-portal::-webkit-scrollbar-track,
textarea::-webkit-scrollbar-track,
pre::-webkit-scrollbar-track,
code::-webkit-scrollbar-track,
.tox .tox-edit-area__iframe::-webkit-scrollbar-track,
.tox .tox-sidebar-wrap::-webkit-scrollbar-track,
.tox .tox-edit-area::-webkit-scrollbar-track,
.tox .tox-statusbar::-webkit-scrollbar-track,
.tox .tox-collection::-webkit-scrollbar-track,
.tox .tox-menu::-webkit-scrollbar-track,
.tox .tox-dialog-wrap::-webkit-scrollbar-track,
.tox .tox-dialog::-webkit-scrollbar-track,
.tox .tox-dialog__body-content::-webkit-scrollbar-track {
  background: linear-gradient(180deg, rgba(14,17,25,.98), rgba(8,10,16,.96));
  border-left: 1px solid rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}

.main-shell::-webkit-scrollbar-thumb,
.sidebar-chat-log::-webkit-scrollbar-thumb,
.global-search-portal::-webkit-scrollbar-thumb,
textarea::-webkit-scrollbar-thumb,
pre::-webkit-scrollbar-thumb,
code::-webkit-scrollbar-thumb,
.tox .tox-edit-area__iframe::-webkit-scrollbar-thumb,
.tox .tox-sidebar-wrap::-webkit-scrollbar-thumb,
.tox .tox-edit-area::-webkit-scrollbar-thumb,
.tox .tox-statusbar::-webkit-scrollbar-thumb,
.tox .tox-collection::-webkit-scrollbar-thumb,
.tox .tox-menu::-webkit-scrollbar-thumb,
.tox .tox-dialog-wrap::-webkit-scrollbar-thumb,
.tox .tox-dialog::-webkit-scrollbar-thumb,
.tox .tox-dialog__body-content::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(245,88,111,.98), rgba(176,39,66,.96));
  border: 2px solid rgba(9,12,18,.98);
  border-radius: 999px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 0 12px rgba(241,78,102,.22);
}

.main-shell::-webkit-scrollbar-thumb:hover,
.sidebar-chat-log::-webkit-scrollbar-thumb:hover,
.global-search-portal::-webkit-scrollbar-thumb:hover,
textarea::-webkit-scrollbar-thumb:hover,
pre::-webkit-scrollbar-thumb:hover,
code::-webkit-scrollbar-thumb:hover,
.tox .tox-edit-area__iframe::-webkit-scrollbar-thumb:hover,
.tox .tox-sidebar-wrap::-webkit-scrollbar-thumb:hover,
.tox .tox-edit-area::-webkit-scrollbar-thumb:hover,
.tox .tox-statusbar::-webkit-scrollbar-thumb:hover,
.tox .tox-collection::-webkit-scrollbar-thumb:hover,
.tox .tox-menu::-webkit-scrollbar-thumb:hover,
.tox .tox-dialog-wrap::-webkit-scrollbar-thumb:hover,
.tox .tox-dialog::-webkit-scrollbar-thumb:hover,
.tox .tox-dialog__body-content::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, rgba(255,104,128,1), rgba(201,52,82,.98));
}

.sidebar-chat-log {
  scrollbar-gutter: stable;
}
.main-shell {
  scrollbar-gutter: stable both-edges;
}


.admin-users-toolbar > * { flex: 1 1 220px; }
.admin-users-meta { color: var(--muted); font-size: .88rem; }
.admin-status-stack { display:grid; gap: 6px; }
.status-pill { display:inline-flex; align-items:center; min-height: 28px; padding: 0 10px; width: fit-content; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; border:1px solid var(--line); }
.status-pill-ok { background: rgba(39,186,112,.1); border-color: rgba(39,186,112,.24); color: #d9ffe8; }
.status-pill-warn { background: rgba(255,166,0,.12); border-color: rgba(255,166,0,.24); color: #ffe3af; }
.status-pill-danger { background: rgba(255,87,101,.12); border-color: rgba(255,87,101,.24); color: #ffd8dd; }
.admin-user-actions { display:grid; gap: 8px; min-width: 280px; }
.admin-ban-form { display:grid; gap: 8px; }
.admin-pagination { display:flex; flex-wrap: wrap; gap: 8px; }
.user-admin-cell { display:grid; gap: 4px; }
.sidebar-chat-log .chat-msg-name, .sidebar-chat-log .chat-msg-date { word-break: break-word; }

.admin-users-panel .toolbar.compact-toolbar { gap: 10px; }
.compact-toolbar > * { flex: 0 1 auto; }
.compact-toolbar > input.field { flex: 1 1 280px; min-width: 240px; }
.compact-select-wrap { min-width: 0; }
.compact-select-wrap .field { min-width: 0; }
.compact-action { min-width: 170px; }
.admin-users-quickchips { display:flex; flex-wrap:wrap; gap:8px; margin-top: -4px; }
.quick-chip { min-width: 0; }
.admin-users-table-compact th,
.admin-users-table-compact td { vertical-align: top; }
.admin-users-table-compact td { padding-top: 12px; padding-bottom: 12px; }
.compact-user-cell { gap: 3px; }
.role-inline-form { display:flex; gap:8px; align-items:center; }
.role-inline-form .select-wrap { flex: 1 1 auto; min-width: 120px; }
.compact-mini-btn { min-height: 40px; padding: 0 12px; white-space: nowrap; }
.compact-status-stack .text-xs { font-size: .72rem; line-height: 1.35; }
.compact-user-actions { min-width: 340px; gap: 10px; }
.compact-stack { display:grid; gap:8px; }
.compact-grid-2 { display:grid; grid-template-columns: minmax(0, 1fr) minmax(145px, 170px); gap:8px; }
.compact-grid-actions { display:grid; grid-template-columns: minmax(0, 1fr) auto; gap:8px; }
.admin-protected-note { display:inline-flex; align-items:center; min-height: 40px; padding: 0 12px; background: rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color: #a8b0c0; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.admin-users-table-compact .field { min-height: 40px; }
@media (max-width: 1200px) {
  .admin-users-table-compact { min-width: 980px; }
}

.row-between { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.inline-check { display:inline-flex; align-items:center; gap:10px; color:#cbd5e1; font-size:14px; }
.inline-check input { width:16px; height:16px; accent-color:#ff5a6e; }
.oauth-stack { display:grid; gap:12px; }
.oauth-btn { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 16px; color:#fff; font-weight:700; border:1px solid var(--line); background:rgba(255,255,255,.04); text-decoration:none; transition:background .2s ease,border-color .2s ease, transform .2s ease; }
.oauth-btn:hover { background:rgba(255,255,255,.08); transform:translateY(-1px); }
.oauth-btn.discord { border-color:rgba(88,101,242,.45); box-shadow: inset 0 0 0 1px rgba(88,101,242,.12); }
.oauth-btn.steam { border-color:rgba(102,192,244,.32); box-shadow: inset 0 0 0 1px rgba(102,192,244,.10); }
.oauth-divider { position:relative; text-align:center; margin:18px 0 6px; color:#94a3b8; font-size:13px; }
.oauth-divider:before { content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:var(--line); }
.oauth-divider span { position:relative; padding:0 10px; background:#070b11; }
@media (max-width: 768px) { .row-between { flex-direction:column; } }

.oauth-only-note {
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03);
  color: #cbd5e1;
}
.oauth-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.oauth-link-card {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(12,18,28,.96), rgba(8,12,20,.92));
  display: grid;
  gap: 12px;
}
.oauth-link-head {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 18px;
}
.oauth-link-head i { color: #f43f5e; }
.oauth-link-status { color: #cbd5e1; font-size: 14px; }
.oauth-link-status.ok { color: #86efac; }
.oauth-link-status.dim { color: #64748b; }
.oauth-link-meta { color: #94a3b8; font-size: 13px; word-break: break-all; }
@media (max-width: 900px) { .oauth-link-grid { grid-template-columns: 1fr; } }


.chat-msg-admin{margin-top:6px;display:flex;align-items:center;gap:5px;font-size:.72rem;line-height:1;color:var(--muted);}
.chat-admin-link{appearance:none;background:none;border:none;padding:0;color:#aeb6c7;font-weight:700;cursor:pointer;text-transform:lowercase;}
.chat-admin-link:hover{color:var(--accent);}
.chat-admin-sep{opacity:.45;}
.chat-msg-text strong{color:#ffd8de;font-weight:800;}


.chat-msg-mention{border-color:rgba(244,63,94,.28);background:linear-gradient(180deg, rgba(244,63,94,.09), rgba(255,255,255,.03));box-shadow:inset 3px 0 0 rgba(244,63,94,.72);}
.chat-reply-line{margin:0 0 6px;color:#7dd3fc;font-size:.78rem;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.chat-reply-line span{color:#93c5fd;}
.chat-reply-badge{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid rgba(244,63,94,.35);background:rgba(244,63,94,.12);color:#ffd5db;border-radius:999px;font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;}
.chat-quote-block{margin:0 0 8px;padding:8px 10px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.06);}
.chat-quote-title{font-size:.74rem;color:#cbd5e1;margin-bottom:4px;}
.chat-quote-title span{color:#7dd3fc;font-weight:700;}
.chat-quote-text{font-size:.78rem;line-height:1.45;color:#dbe4f0;border-left:2px solid rgba(244,63,94,.45);padding-left:8px;}
.chat-msg-tools-row{margin-top:6px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.chat-msg-admin,.chat-msg-user-tools{display:flex;align-items:center;gap:5px;font-size:.72rem;line-height:1;color:var(--muted);}
.chat-user-link{appearance:none;background:none;border:none;padding:0;color:#8fb8ff;font-weight:700;cursor:pointer;text-transform:lowercase;}
.chat-user-link:hover{color:#beddff;}
.chat-modal{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:18px;}
.chat-modal.hidden{display:none;}
.chat-modal-backdrop{position:absolute;inset:0;background:rgba(4,7,12,.72);backdrop-filter:blur(3px);}
.chat-modal-card{position:relative;z-index:1;width:min(460px,100%);padding:16px;background:linear-gradient(180deg, rgba(14,18,26,.98), rgba(7,10,15,.98));border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(0,0,0,.55);}
.chat-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px;}
.chat-modal-head h3{margin:4px 0 0;font-size:1.2rem;color:#fff;}
.chat-modal-close{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);color:#e5e7eb;}
.chat-modal-form{display:grid;gap:12px;}
.chat-modal-actions{display:flex;justify-content:flex-end;gap:10px;}
.chat-msg-text strong{color:#ffd8de;font-weight:800;}


.chat-compose-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  margin-top: auto;
  margin-bottom: 2px;
  background: linear-gradient(180deg, rgba(92,22,34,.28), rgba(38,12,18,.22));
  border: 1px solid rgba(244, 84, 107, .22);
}
.chat-compose-preview.hidden { display: none; }
.chat-compose-preview-text {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: .76rem;
  line-height: 1.2;
}
.chat-compose-preview-type {
  color: #ff8e9f;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.chat-compose-preview-target {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #f4f7fb;
  font-weight: 700;
}
.chat-compose-preview-close {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border: 0;
  background: rgba(255,255,255,.06);
  color: #cfd7e6;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  clip-path: polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
}
.chat-compose-preview-close:hover { background: rgba(244,84,107,.18); color: #fff; }
/* =========================
   TEKTUR FONT OVERRIDE PACK
   ВСТАВИТЬ В САМЫЙ КОНЕЦ site.css
   ========================= */

@font-face {
  font-family: 'Tektur';
  src: url('/fonts/tektur/Tektur-Regular.woff2') format('woff2'),
  url('/fonts/tektur/Tektur-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Tektur';
  src: url('/fonts/tektur/Tektur-Medium.woff2') format('woff2'),
  url('/fonts/tektur/Tektur-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Tektur';
  src: url('/fonts/tektur/Tektur-Semi-Bold.woff2') format('woff2'),
  url('/fonts/tektur/Tektur-Semi-Bold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: 'Tektur';
  src: url('/fonts/tektur/Tektur-Bold.woff2') format('woff2'),
  url('/fonts/tektur/Tektur-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: fallback;
}

/* База: обычный текст оставляем читаемым */
body,
input,
textarea,
select,
button {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-feature-settings: "liga" 1, "kern" 1;
}

/* Главные заголовки и навигация — Tektur */
.topbar-breadcrumb,
.topbar-sub,
.brand-title,
.brand-subtitle,
.side-link,
.nav-ico,
.eyebrow,
.section-head h1,
.section-head h2,
.detail-title,
.card-title,
.user-name,
.user-role,
.chat-title,
.chat-msg-name,
.chat-admin-link,
.chat-user-link,
.global-search-group-title,
.global-search-item-title,
.global-search-item-type,
.global-search-footer a,
.edit-badge,
.status-pill,
.quick-chip,
.admin-protected-note,
.oauth-btn,
.oauth-link-head,
.oauth-link-status,
.page-title,
.section-title,
.panel-title,
.auth-title,
.profile-title,
.admin-title,
.linked-game,
.linked-game-lg,
.card-topline,
.topbar-icon,
.btn-soft,
.btn-accent,
.btn-danger,
.logout-icon-btn,
.comment-mini-btn,
.comment-date,
.chat-compose-preview-type,
.chat-compose-preview-target {
  font-family: 'Tektur', Inter, sans-serif !important;
}

/* Меню и кнопки */
.side-link,
.btn-soft,
.btn-accent,
.btn-danger,
.logout-icon-btn,
.oauth-btn,
.edit-badge {
  font-weight: 600 !important;
  letter-spacing: 0.01em;
}

/* Крупные заголовки */
.section-head h1,
.section-head h2,
.detail-title,
.card-title,
.brand-title,
.topbar-breadcrumb {
  font-weight: 700 !important;
  letter-spacing: 0.01em;
}

/* Мелкие подписи / техно-лейблы */
.eyebrow,
.card-topline,
.user-role,
.topbar-sub,
.global-search-group-title,
.global-search-item-type,
.status-pill,
.quick-chip,
.admin-protected-note,
.chat-compose-preview-type {
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Названия игр/публикаций чуть техничнее */
.card-title,
.detail-title,
.section-head h1,
.section-head h2 {
  text-transform: none;
  line-height: 1.02;
}

/* Чат: ник и кнопки техно, сам текст — читаемый */
.chat-msg-name,
.chat-admin-link,
.chat-user-link,
.chat-msg-date {
  font-family: 'Tektur', Inter, sans-serif !important;
}

.chat-msg-text,
.chat-quote-text,
.chat-reply-line,
.chat-quote-title,
.auth-hint,
.card-desc,
.hero-copy-sub,
.prose-block,
.game-rich-content,
.comment-content,
.field,
.textarea {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* Чуть плотнее и техничнее визуально */
.topbar-breadcrumb,
.side-link,
.brand-title,
.section-head h1,
.section-head h2,
.card-title,
.detail-title,
.user-name,
.chat-msg-name {
  text-rendering: geometricPrecision;
}

/* Поля формы можно слегка усилить */
.field,
.textarea,
select.field,
.select-field {
  font-size: 13.5px;
}

/* Если захочешь еще сильнее ощущение Tektur в меню */
.side-link span,
.side-link,
.user-chip,
.sidebar-top-status,
.chat-msg-date,
.card-topline,
.version-chip,
.filter-chip {
  letter-spacing: 0.015em;
}

/* Верхняя строка статуса и логин блока */
.sidebar-top-status,
.user-role,
.brand-subtitle {
  font-family: 'Tektur', Inter, sans-serif !important;
}

/* Названия в карточках игр/новостей */
.game-card-store .card-title,
.news-card .card-title,
.related-row .font-semibold,
.info-item strong {
  font-family: 'Tektur', Inter, sans-serif !important;
  font-weight: 600 !important;
}

/* Заголовки боковых блоков */
.sidebar-chat-head h3,
.oauth-link-head,
.chat-modal-head h3 {
  font-family: 'Tektur', Inter, sans-serif !important;
  font-weight: 700 !important;
}

/* Кнопка отправки и важные CTA */
.btn-accent,
.sidebar-chat-form .btn-accent,
.comments-submit {
  font-family: 'Tektur', Inter, sans-serif !important;
  font-weight: 700 !important;
}

/* Совсем мелкий UI */
.comment-date,
.chat-msg-date,
.global-search-status,
.field-note-title,
.textarea-help-title {
  font-family: 'Tektur', Inter, sans-serif !important;
  font-weight: 500 !important;
}

/* v32 compact top rows */
.live-search-status:empty { display: none; }
.section-head.compact-head {
  align-items: center;
  margin-bottom: 10px;
}
.section-head.compact-head > div:first-child {
  min-width: 0;
}
.toolbar.toolbar-compact.toolbar-inline-search {
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  width: min(540px, 100%);
}
.toolbar.toolbar-compact.toolbar-inline-search .field {
  flex: 1 1 auto;
  min-width: 0;
}
.toolbar.toolbar-compact.toolbar-inline-search .btn-accent {
  flex: 0 0 auto;
  min-width: 108px;
  white-space: nowrap;
}
.compact-utility-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.compact-utility-row .filter-chip {
  background: rgba(255,255,255,.026);
}
.panel.panel-compact-top {
  padding-top: 14px;
}
.panel.panel-compact-top .game-grid.mt-6,
.panel.panel-compact-top .news-grid.mt-6 {
  margin-top: 14px;
}
@media (max-width: 960px) {
  .toolbar.toolbar-compact.toolbar-inline-search {
    width: 100%;
  }
}
@media (max-width: 720px) {
  .section-head.compact-head {
    align-items: stretch;
  }
  .toolbar.toolbar-compact.toolbar-inline-search {
    flex-wrap: wrap;
    width: 100%;
  }
  .toolbar.toolbar-compact.toolbar-inline-search .field,
  .toolbar.toolbar-compact.toolbar-inline-search .btn-accent {
    width: 100%;
  }
}


/* v38 polish */
.compact-head-games {
  align-items: flex-start;
  gap: 12px;
}
.toolbar-inline-search--games {
  width: 100%;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}
.toolbar-inline-search-form-games {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}
.toolbar-inline-search-form-games .field {
  width: min(100%, 390px);
  min-width: 240px;
}
.toolbar-inline-search-form-games .btn-accent {
  flex: 0 0 auto;
  white-space: nowrap;
}
.request-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 12px;
  border: 1px solid rgba(255, 76, 100, .34);
  background: rgba(223,55,80,.08);
  color: #ffd5db;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  line-height: 1;
  white-space: nowrap;
}
.request-badge:hover {
  background: rgba(223,55,80,.14);
  border-color: rgba(255,76,100,.5);
}
.compact-utility-row-games {
  margin-top: 10px;
}
.card-title {
  margin-bottom: 10px;
}
.chip-row {
  margin-top: 0;
}
.flash {
  transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
}
.flash-fade-out {
  opacity: 0;
  transform: translateY(-6px);
  visibility: hidden;
}
.sidebar-chat-log {
  transition: opacity .22s ease, filter .22s ease;
}
.sidebar-chat-log.chat-log-cached {
  opacity: .92;
}
.sidebar-chat-log.chat-log-refreshing {
  opacity: .72;
  filter: saturate(.9);
}
@media (max-width: 1100px) {
  .toolbar-inline-search--games {
    flex-wrap: wrap;
  }
  .toolbar-inline-search-form-games {
    width: 100%;
    margin-left: 0;
  }
  .toolbar-inline-search-form-games .field {
    flex: 1 1 auto;
    width: auto;
  }
}


/* request desk status notes */
.request-status-note {
  margin-top: 10px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.45;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
}
.request-status-note-rejected {
  color: #b8f0bf;
  background: linear-gradient(180deg, rgba(13,72,22,.32), rgba(9,48,16,.20));
  border-color: rgba(50,205,95,.26);
  box-shadow: inset 0 0 0 1px rgba(86,255,132,.04);
}
.request-status-note-done {
  color: #d8f7df;
  background: linear-gradient(180deg, rgba(10,67,26,.22), rgba(8,42,18,.14));
  border-color: rgba(67, 210, 117, .22);
}
.request-status-note-progress {
  color: #ffe3a3;
  background: linear-gradient(180deg, rgba(102,74,11,.20), rgba(64,46,8,.12));
  border-color: rgba(255,195,74,.22);
}


/* v36c visual regroup for request status meta */
.request-footer-meta-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.request-meta-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.request-meta-chip {
  max-width: 100%;
  white-space: normal;
  line-height: 1.35;
}
.request-meta-chip strong {
  word-break: break-word;
}
.request-meta-chip-rejected {
  border-color: rgba(255, 92, 112, .42);
  background: rgba(255, 72, 96, .10);
  color: #ffd9df;
}
.request-meta-chip-done {
  border-color: rgba(66, 208, 138, .38);
  background: rgba(37, 168, 106, .10);
  color: #d7ffe9;
}
.request-meta-chip-progress {
  border-color: rgba(255, 202, 84, .35);
  background: rgba(224, 170, 30, .10);
  color: #fff0bf;
}
@media (max-width: 760px) {
  .request-footer-meta-group,
  .request-meta-chip-row {
    width: 100%;
  }
}


/* Requests pagination scoped */
.requests-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
.requests-page {
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(17,23,34,.92), rgba(10,14,22,.92));
  color: rgba(240,245,255,.92);
  text-decoration: none;
  font-weight: 600;
  transition: .18s ease;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.requests-page:hover {
  border-color: rgba(255, 84, 108, .34);
  color: #fff;
  transform: translateY(-1px);
}
.requests-page.active {
  background: linear-gradient(180deg, rgba(255,95,120,.98), rgba(242,76,109,.98));
  border-color: rgba(255, 116, 138, .65);
  color: #fff;
  box-shadow: 0 10px 24px rgba(242,76,109,.16);
}
.requests-page.disabled {
  opacity: .42;
  pointer-events: none;
}
.requests-page-nav {
  min-width: 42px;
  padding: 0 12px;
}
.requests-page-ellipsis {
  min-width: 24px;
  text-align: center;
  color: rgba(210,220,235,.7);
  font-weight: 700;
}
.request-footer-right .btn-soft[disabled] {
  opacity: .6;
}


/* v38 request desk dense cards + contained covers + online presence */
.request-list { gap: 12px; }
.request-item {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  padding: 14px 16px;
}
.request-media {
  width: 220px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
}
.request-media-frame {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: linear-gradient(180deg, rgba(15,20,30,.92), rgba(9,13,20,.92));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  overflow: hidden;
  clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
}
.request-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  display: block;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.24));
}
.request-media .card-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.request-title-row { gap: 10px; }
.request-title { font-size: 1.05rem; }
.request-desc {
  margin-top: 6px;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.request-footer { align-items: flex-end; gap: 14px; }
.request-footer-left { flex: 1 1 auto; min-width: 0; }
.request-footer-right.request-actions-stack {
  flex: 0 0 auto;
  min-width: 190px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 10px;
}
.request-footer-right.request-actions-stack .btn-soft,
.request-footer-right.request-actions-stack .btn-accent { width: 100%; justify-content: center; }
.request-meta-right { gap: 8px; }
.requests-pagination {
  margin-top: 18px;
  gap: 12px;
}
.requests-page,
.requests-page-nav {
  min-width: 40px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(14,20,30,.96), rgba(9,13,20,.96));
  color: rgba(240,245,255,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 8px 18px rgba(0,0,0,.18);
}
.requests-page.active {
  background: linear-gradient(180deg, rgba(255,95,120,.98), rgba(242,76,109,.98));
  border-color: rgba(255, 116, 138, .65);
  box-shadow: 0 12px 28px rgba(242,76,109,.18);
}
.requests-page-ellipsis {
  min-width: 22px;
  text-align: center;
  color: rgba(210,220,235,.62);
}
@media (max-width: 900px) {
  .request-item { grid-template-columns: 1fr; }
  .request-media { width: 100%; height: 170px; }
  .request-footer-right.request-actions-stack { width: 100%; min-width: 0; }
}

/* service console refresh */
.service-console {
  background:
    radial-gradient(circle at top right, rgba(223,55,80,.07), transparent 28%),
    linear-gradient(180deg, rgba(11,15,23,.98), rgba(7,10,16,.99));
}
.service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) 340px;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.07);
  background:
    linear-gradient(135deg, rgba(255,255,255,.035), rgba(255,255,255,.015)),
    radial-gradient(circle at 0% 0%, rgba(223,55,80,.09), transparent 22%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.service-hero h1 {
  margin: 10px 0 0;
  font-size: clamp(2rem, 2.5vw, 3rem);
  line-height: .96;
  letter-spacing: -.05em;
  font-weight: 900;
}
.service-hero p {
  margin: 12px 0 0;
  max-width: 760px;
  color: #aeb7c9;
  font-size: .96rem;
  line-height: 1.7;
}
.service-status-card {
  display: grid;
  align-content: space-between;
  gap: 14px;
  min-height: 190px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(9,13,20,.96), rgba(14,19,28,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025), 0 18px 42px rgba(0,0,0,.22);
}
.service-status-top { display: flex; align-items: center; gap: 10px; color: #cdd5e4; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; }
.service-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #7b8496;
  box-shadow: 0 0 0 6px rgba(255,255,255,.03);
}
.service-status-main {
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.05em;
}
.service-status-meta {
  display: grid;
  gap: 6px;
  color: #8c97aa;
  font-size: .84rem;
}
.service-status-card.is-running .service-status-dot { background: #32df8a; box-shadow: 0 0 18px rgba(50,223,138,.45), 0 0 0 6px rgba(50,223,138,.08); }
.service-status-card.is-running .service-status-main { color: #e8fff1; }
.service-status-card.is-starting .service-status-dot { background: #f6c453; box-shadow: 0 0 18px rgba(246,196,83,.32), 0 0 0 6px rgba(246,196,83,.08); }
.service-status-card.is-starting .service-status-main { color: #fff3cf; }
.service-status-card.is-error .service-status-dot,
.service-status-card.is-stopped .service-status-dot { background: #ff5f74; box-shadow: 0 0 18px rgba(255,95,116,.3), 0 0 0 6px rgba(255,95,116,.08); }
.service-status-card.is-error .service-status-main,
.service-status-card.is-stopped .service-status-main { color: #ffe1e5; }

.service-summary-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.service-summary-card {
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.service-summary-label {
  color: #8f99ab;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
}
.service-summary-value {
  margin-top: 10px;
  color: #eef2f7;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25;
}
.service-summary-mono {
  font-size: .92rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  word-break: break-all;
}
.service-summary-sub {
  margin-top: 8px;
  color: #8f99ab;
  font-size: .82rem;
  line-height: 1.55;
}

.service-command-bar {
  display: grid;
  gap: 14px;
  padding: 14px 16px 16px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.014));
}
.service-command-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.service-toolbar-actions,
.service-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.service-action-btn {
  min-width: 170px;
}
.service-toolbar-note {
  color: #8b95a8;
  font-size: .82rem;
}
.service-tabbar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.service-tab {
  min-height: 42px;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
  color: #cfd7e6;
  font-weight: 700;
  letter-spacing: .01em;
  transition: .18s ease;
}
.service-tab:hover {
  border-color: rgba(255,255,255,.16);
  color: #f3f6fc;
}
.service-tab.is-active {
  border-color: rgba(255,97,128,.42);
  background: linear-gradient(180deg, rgba(255,77,109,.24), rgba(255,77,109,.10));
  color: #fff6f8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(255,77,109,.14);
}
.service-tabs {
  display: grid;
  gap: 18px;
}
.service-tab-panel {
  display: none;
  gap: 18px;
}
.service-tab-panel.is-active {
  display: grid;
}
.service-workspace {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: start;
}
.service-pane {
  padding: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(17,22,31,.95), rgba(8,11,17,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.service-pane-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}
.service-pane-head h2 {
  margin: 10px 0 0;
  font-size: 1.7rem;
  line-height: .98;
  letter-spacing: -.04em;
}
.service-pane-tip {
  max-width: 290px;
  color: #8e98aa;
  font-size: .8rem;
  line-height: 1.6;
  text-align: right;
}
.service-overview-pane {
  display: grid;
  gap: 14px;
}
.service-overview-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  align-items: start;
}
.service-overview-terminal {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: #060910;
}
.service-log-preview {
  margin: 0;
  min-height: 320px;
  max-height: 320px;
  overflow: auto;
  padding: 18px;
  background: linear-gradient(180deg, rgba(5,8,14,.98), rgba(8,10,16,.98));
  color: #e3e8f3;
  font-size: 12px;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.service-overview-info {
  display: grid;
  gap: 14px;
}
.service-overview-item {
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.service-config-form,
.service-log-pane {
  display: grid;
  gap: 14px;
}
.service-config-textarea {
  min-height: 760px;
  padding: 18px 18px;
  border-color: rgba(255,255,255,.09);
  background:
    linear-gradient(180deg, rgba(7,10,16,.96), rgba(10,13,20,.98));
  color: #edf2fb;
  line-height: 1.6;
  resize: vertical;
}
.service-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.service-log-meta { display: flex; align-items: center; gap: 10px; }
.service-log-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  color: #d7ddeb;
  font-size: .74rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.service-log-shell {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: #060910;
}
.service-log-shell-top {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
}
.service-shell-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
}
.service-shell-title {
  margin-left: 4px;
  color: #9da8bc;
  font-size: .82rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.service-log-box {
  margin: 0;
  min-height: 760px;
  max-height: 760px;
  overflow: auto;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(5,8,14,.98), rgba(8,10,16,.98));
  color: #e3e8f3;
  font-size: 12px;
  line-height: 1.75;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

@media (max-width: 1320px) {
  .service-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-workspace,
  .service-overview-grid { grid-template-columns: 1fr; }
  .service-config-textarea,
  .service-log-box { min-height: 620px; max-height: 620px; }
}
@media (max-width: 980px) {
  .service-hero { grid-template-columns: 1fr; }
  .service-command-main,
  .service-pane-head { flex-direction: column; align-items: flex-start; }
  .service-pane-tip { max-width: none; text-align: left; }
}
@media (max-width: 760px) {
  .service-summary-grid { grid-template-columns: 1fr; }
  .service-action-btn { min-width: 0; width: 100%; }
  .service-toolbar-actions,
  .service-command-actions,
  .service-form-actions { width: 100%; }
  .service-toolbar-actions > *,
  .service-command-actions > *,
  .service-form-actions > * { flex: 1 1 100%; }
  .service-config-textarea,
  .service-log-box { min-height: 460px; max-height: 460px; }
}


/* Admin shell v5 */
.sidebar-admin-mode {
  gap: 12px;
}
.admin-sidebar-head {
  padding: 12px;
  border: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,.016));
}
.admin-sidebar-back {
  width: 100%;
}
.admin-sidebar-tree {
  display: grid;
  gap: 10px;
}
.admin-overview-link {
  width: 100%;
}
.admin-nav-groups {
  display: grid;
  gap: 10px;
}
.admin-nav-group {
  border: 1px solid rgba(255,255,255,.06);
  background: linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,.014));
  overflow: hidden;
}
.admin-nav-group.is-current {
  border-color: rgba(223,55,80,.24);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 16px 28px rgba(10,14,22,.24);
}
.admin-nav-group-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.admin-nav-group-main {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.admin-nav-group-label {
  font-weight: 600;
}
.admin-nav-group-arrow {
  color: var(--muted);
  transition: transform .18s ease, color .18s ease;
}
.admin-nav-group.is-open .admin-nav-group-arrow,
.admin-nav-group.is-current .admin-nav-group-arrow {
  transform: rotate(90deg);
  color: #f4c6cf;
}
.admin-nav-group-items {
  display: none;
  gap: 8px;
  padding: 0 12px 12px 12px;
  border-top: 1px solid rgba(255,255,255,.05);
  background: linear-gradient(180deg, rgba(8,12,18,.42), rgba(7,11,18,.14));
}
.admin-nav-group.is-open .admin-nav-group-items,
.admin-nav-group.is-current .admin-nav-group-items {
  display: grid;
}
.admin-sub-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px 0 16px;
  border: 1px solid transparent;
  color: #d5dceb;
  text-decoration: none;
  background: rgba(255,255,255,.014);
}
.admin-sub-link:hover {
  border-color: rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
}
.admin-sub-link.is-active {
  border-color: rgba(223,55,80,.26);
  background: linear-gradient(135deg, rgba(223,55,80,.18), rgba(255,255,255,.04));
  color: #fff3f5;
}
.admin-sub-link-bullet {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border: 1px solid rgba(223,55,80,.42);
  background: rgba(223,55,80,.24);
  box-shadow: 0 0 0 3px rgba(223,55,80,.06);
}
.side-link.is-active {
  background: linear-gradient(135deg, rgba(223,55,80,.20), rgba(255,255,255,.05));
  border-color: rgba(223,55,80,.28);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 14px 28px rgba(10,14,22,.26);
}
.side-link.is-active .nav-ico {
  background: linear-gradient(135deg, rgba(223,55,80,.26), rgba(255,255,255,.06));
  color: #ffd6dc;
}
.main-shell-admin {
  display: block;
}
.admin-shell {
  min-height: calc(100vh - 170px);
  padding: 18px;
  background: linear-gradient(180deg, rgba(7,11,18,.88), rgba(5,9,16,.94));
}
.admin-shell-head {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.admin-shell-head-compact {
  min-height: 38px;
}
.admin-shell-title {
  margin: 0;
  font-size: .78rem;
  line-height: 1;
}
.admin-shell-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.admin-shell-path {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.022);
  color: #9da8ba;
  font-size: .84rem;
}
.admin-shell-content {
  min-height: 420px;
}
.admin-shell-loading {
  opacity: .58;
  pointer-events: none;
  transition: opacity .18s ease;
}
.admin-shell .panel:first-child {
  margin-top: 0;
}
.admin-dashboard-panel .section-head h2,
.admin-shell .section-head h1 {
  margin-bottom: 0;
}
.admin-shell .section-head {
  margin-bottom: 16px;
}
.admin-shell .section-head p {
  margin-top: 8px;
}
@media (max-width: 980px) {
  .admin-shell {
    padding: 14px;
    min-height: auto;
  }
  .admin-shell-head {
    justify-content: stretch;
  }
  .admin-shell-path {
    width: 100%;
  }
}


/* v39 admin compact badge headings + request card media fix */
.admin-shell .section-head.section-head-compact-badge {
  align-items: center;
  margin-bottom: 12px;
}
.admin-shell .section-head.section-head-compact-badge > div:first-child {
  display: flex;
  align-items: center;
  gap: 0;
}
.admin-shell .section-head.section-head-compact-badge h1,
.admin-shell .section-head.section-head-compact-badge h2 {
  display: none;
}
.admin-shell .section-head.section-head-compact-badge p {
  display: none;
}
.admin-shell .section-head.section-head-compact-badge .eyebrow {
  margin: 0;
}
.request-item-admin {
  grid-template-columns: 220px minmax(0, 1fr) !important;
}
.request-media-admin {
  min-height: 84px !important;
  overflow: hidden;
}
.request-media-admin .request-media-frame {
  width: 100%;
  height: 100%;
}
.request-body {
  min-width: 0;
}
.request-title {
  overflow-wrap: anywhere;
}
.request-meta-right {
  flex-wrap: wrap;
}
@media (max-width: 980px) {
  .request-item-admin {
    grid-template-columns: 1fr !important;
  }
  .request-media-admin {
    width: 100%;
    min-height: 140px !important;
  }
}


/* v8 mobile/admin/comment/swagger fixes */
.games-head-copy {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.request-badge-under-title {
  margin-top: 0;
}
.comment-admin-tools-inline {
  gap: 6px;
  align-items: center;
}
.comment-admin-tools-inline form {
  display: inline-flex;
}
.comment-inline-action {
  appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  color: rgba(220, 230, 245, .9);
  font-size: .86rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  font-family: 'Tektur', Inter, sans-serif !important;
}
.comment-inline-action-danger {
  color: #ffb5bf;
}
.comment-inline-action:hover {
  color: #fff;
}
.comment-inline-sep {
  color: rgba(255,255,255,.26);
  font-weight: 700;
}
[data-comment-editor][hidden] {
  display: none !important;
}
.comment-box [data-comment-view][hidden] {
  display: none !important;
}
.swagger-shell {
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}
#swagger-ui {
  min-height: 70vh;
  width: 100%;
}
.swagger-ui .wrapper {
  padding: 0 !important;
}

@media (max-width: 900px) {
  .toolbar-inline-search--games {
    align-items: stretch;
  }
  .games-head-copy {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .request-badge-under-title {
    align-self: flex-start;
  }
  .toolbar-inline-search-form-games {
    width: 100%;
    flex-wrap: wrap;
    gap: 10px;
  }
  .toolbar-inline-search-form-games .field {
    min-width: 0;
    width: 100%;
    flex: 1 1 100%;
  }
  .toolbar-inline-search-form-games .btn-accent {
    width: 100%;
    justify-content: center;
  }

  .request-tabs {
    gap: 8px;
  }
  .request-tab {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    padding: 9px 10px;
  }
  .request-tab-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .request-item,
  .request-item-admin {
    gap: 12px !important;
    padding: 12px !important;
  }
  .request-media,
  .request-media-admin {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .request-media-frame {
    aspect-ratio: 460 / 215;
    height: auto !important;
  }
  .request-media img {
    object-fit: cover;
  }
  .request-title-row {
    gap: 8px;
  }
  .request-meta-right {
    width: 100%;
    gap: 8px;
  }
  .request-meta-right .filter-chip {
    max-width: 100%;
  }
  .request-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .request-footer-left,
  .request-footer-right.request-actions-stack {
    width: 100%;
    min-width: 0;
  }
  .request-meta-chip,
  .request-meta-chip-row,
  .request-meta-chip-row .filter-chip {
    width: 100%;
    min-width: 0;
  }
  .request-meta-chip {
    white-space: normal;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
    align-items: flex-start;
  }
  .request-meta-chip strong {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .request-footer-right.request-actions-stack {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }
  .request-footer-right.request-actions-stack .btn-soft,
  .request-footer-right.request-actions-stack .btn-accent {
    flex: 1 1 100%;
    min-height: 42px;
    font-size: .88rem;
  }

  .request-item-admin form[method="post"] {
    gap: 8px !important;
    align-items: stretch !important;
  }
  .request-item-admin form[method="post"] .select-wrap,
  .request-item-admin form[method="post"] .field,
  .request-item-admin form[method="post"] .btn-soft {
    width: 100%;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }
  .request-item-admin form[method="post"] .btn-soft {
    min-height: 40px;
    justify-content: center;
  }

  .comment-box {
    padding: 12px;
  }
  .comment-head-row {
    align-items: baseline;
    gap: 8px;
  }
  .comment-date {
    font-size: .68rem;
  }
  .comment-edit-form {
    margin-top: 10px;
  }
  .comment-edit-textarea {
    min-height: 100px;
  }

  .swagger-shell {
    padding: 8px;
  }
  #swagger-ui {
    min-height: 520px;
  }
  .swagger-ui .information-container,
  .swagger-ui .scheme-container,
  .swagger-ui .opblock-tag-section {
    min-width: 760px;
  }
}

.toast-success { border-color: rgba(34, 197, 94, .28); }
.toast-error { border-color: rgba(255, 76, 100, .35); }

.ui-kit-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.ui-kit-modal.hidden { display: none; }
.ui-kit-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 5, 10, .72);
  backdrop-filter: blur(4px);
}
.ui-kit-modal-card {
  position: relative;
  width: min(520px, 100%);
  padding: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(10, 14, 22, .96);
  box-shadow: 0 24px 60px rgba(0,0,0,.45);
}
.ui-kit-modal-head h3 { margin: 10px 0 0; font-size: 28px; font-family: var(--heading-font); }
.ui-kit-modal-text { color: rgba(226,232,240,.78); margin: 14px 0 0; line-height: 1.7; }
.ui-kit-modal-actions { display: flex; gap: 10px; justify-content: flex-end; margin-top: 18px; flex-wrap: wrap; }

.stack-on-mobile { display: flex; gap: 12px; }
.meta-chip-row { display: flex; gap: 8px; flex-wrap: wrap; min-width: 0; }
.text-break-anywhere, .request-meta-chip strong { overflow-wrap: anywhere; word-break: break-word; }

@media (max-width: 768px) {
  .stack-on-mobile { flex-direction: column; }
  .meta-chip-row { width: 100%; }
  .ui-kit-modal-card { padding: 16px; }
  .ui-kit-modal-head h3 { font-size: 24px; }
}


/* v13 admin polish: no chat in admin, compact tg mini app, comment toolbar, dirty save buttons */
.btn-soft[disabled],
.btn-accent[disabled],
.btn-soft.is-disabled {
  opacity: .45;
  pointer-events: none;
  box-shadow: none;
  transform: none;
}
.request-admin-save.btn-accent {
  opacity: 1;
  pointer-events: auto;
}
.comment-toolbar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.comment-tag-btn {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
  color: #dce4f6;
  font-size: .8rem;
  font-weight: 700;
}
.comment-tag-btn:hover { background: rgba(255,255,255,.08); color: #fff; }
.comment-content { line-height: 1.65; overflow-wrap: anywhere; }
.comment-content a { color: #ff8d9a; text-decoration: underline; }
.comment-quote {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-left: 3px solid rgba(255,87,101,.75);
  background: rgba(255,255,255,.03);
  color: #cfd8ea;
}
.comment-underline { text-decoration: underline; }
.sidebar-admin-mode .sidebar-chat,
.sidebar-admin-mode .sidebar-chat + .sidebar-footer { margin-top: 0; }
.tg-miniapp-admin .compact-toolbar > input.field { flex: 1 1 360px; }
.tg-global-access .tg-access-template-card { min-height: 100%; }
.tg-users-list { gap: 12px; }
.tg-user-card { overflow: hidden; }
.tg-user-summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  cursor: pointer;
}
.tg-user-summary::-webkit-details-marker { display: none; }
.tg-user-summary-main { min-width: 0; }
.tg-user-name-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.tg-user-name { font-size: 1.05rem; font-weight: 900; color: #fff; }
.tg-user-meta { color: #95a4bc; font-size: .86rem; margin-top: 4px; overflow-wrap: anywhere; }
.tg-user-status-chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.tg-user-summary-arrow { color: #b4bfd3; font-size: .95rem; transition: transform .18s ease; }
.tg-user-card[open] .tg-user-summary-arrow { transform: rotate(180deg); }
.tg-user-body { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.08); }
.tg-user-actions { display: flex; justify-content: flex-end; }
.tg-card-head-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.tg-user-sub-card .field { min-width: 0; }
@media (max-width: 980px) {
  .tg-user-summary {
    grid-template-columns: 1fr;
  }
  .tg-user-status-chips { justify-content: flex-start; }
  .tg-user-actions { justify-content: stretch; }
  .tg-user-actions form, .tg-user-actions button { width: 100%; }
  .tg-miniapp-admin .compact-toolbar { gap: 10px; }
  .tg-miniapp-admin .compact-toolbar > * { width: 100%; }
}

.filter-chip-active { border-color: rgba(255,87,101,.28); color: #fff; background: rgba(255,87,101,.10); }

/* v20 discord bot admin styling fix */
.launcher-surface,
.launcher-panel {
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(17,22,31,.98), rgba(9,12,18,.97));
  box-shadow: var(--shadow);
}
.launcher-panel code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: .78rem;
}
.section-chip {
  display:inline-flex; align-items:center; min-height: 26px; padding: 0 10px;
  background: rgba(223,55,80,.12); border:1px solid rgba(223,55,80,.22); color: #ffc0c8; font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em;
}
.launcher-input,
.launcher-textarea {
  width: 100%;
  background: rgba(255,255,255,.03);
  color: var(--text);
  outline: none;
  border: 1px solid var(--line);
  min-height: 42px;
  padding: 0 14px;
  font-size: .9rem;
}
.launcher-textarea { min-height: 130px; padding: 12px 14px; resize: vertical; }
.launcher-input:focus,
.launcher-textarea:focus,
select.launcher-input:focus {
  border-color: rgba(223,55,80,.34);
  box-shadow: 0 0 0 3px rgba(223,55,80,.08);
}
.launcher-input::placeholder,
.launcher-textarea::placeholder { color: #6f7888; }
.launcher-btn {
  min-height: 42px;
  padding: 0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 700;
  transition: .18s ease;
  font-size: .9rem;
  border:1px solid var(--line);
  cursor: pointer;
}
.launcher-btn:hover { filter: brightness(1.05); }
.launcher-btn-primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: white;
  box-shadow: 0 10px 24px rgba(223,55,80,.22);
}
.launcher-btn-secondary {
  background: rgba(255,255,255,.04);
  color: var(--text);
}
.launcher-btn-secondary:hover { background: rgba(255,255,255,.07); }
#discord-reactions-form [data-discord-row],
#discord-selectmenu-form [data-discord-row] {
  overflow: hidden;
}
@media (max-width: 980px) {
  .launcher-btn { width: 100%; }
}
