:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { font-family: Rajdhani, Arial, sans-serif; }
.bg-grid {
  background:
    linear-gradient(rgba(255,90,0,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,90,0,.08) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(circle at 50% 20%, black, transparent 70%);
}
.scanlines { background: repeating-linear-gradient(to bottom, rgba(255,255,255,.06) 0, rgba(255,255,255,.06) 1px, transparent 2px, transparent 6px); }
.hero-noise {
  background:
    radial-gradient(circle at 24% 40%, rgba(255,90,0,.20), transparent 28%),
    radial-gradient(circle at 80% 35%, rgba(255,90,0,.18), transparent 25%),
    linear-gradient(90deg, rgba(0,0,0,.2), rgba(255,90,0,.08), rgba(0,0,0,.55));
}
.title-glow { text-shadow: 0 0 22px rgba(255,90,0,.35), 0 0 2px rgba(255,154,26,.8); }
.hud-panel, .hud-card, .release-card {
  background: linear-gradient(135deg, rgba(15,15,15,.96), rgba(5,5,5,.88));
  border: 1px solid rgba(255,90,0,.34);
  box-shadow: 0 0 0 1px rgba(255,90,0,.05), 0 24px 70px rgba(0,0,0,.55);
  position: relative;
  overflow: hidden;
}
.hud-panel:before, .hud-card:before, .release-card:before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,90,0,.08), transparent);
  transform: translateX(-100%); transition: transform .7s ease;
}
.hud-panel:hover:before, .hud-card:hover:before, .release-card:hover:before { transform: translateX(100%); }
.hud-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 42px;
  border: 1px solid rgba(255,90,0,.55); color: #ff5a00; background: rgba(0,0,0,.45);
  padding: .65rem 1rem; font-family: 'Share Tech Mono', Consolas, monospace;
  transition: .2s ease; box-shadow: inset 0 0 18px rgba(255,90,0,.08);
}
.hud-btn:hover { background: rgba(255,90,0,.14); box-shadow: 0 0 24px rgba(255,90,0,.22); }
.hud-btn-fill { background: rgba(255,90,0,.95); color: #050505; font-weight: 700; }
.hud-input { width: min(58vw, 260px); min-height: 42px; border: 1px solid rgba(255,90,0,.45); background: rgba(0,0,0,.5); color: #f2e7d8; padding: .65rem .85rem; font-family: 'Share Tech Mono', Consolas, monospace; outline: none; }
.hud-input:focus { box-shadow: 0 0 0 2px rgba(255,90,0,.25); }
.mini-stat { border: 1px solid rgba(255,90,0,.28); padding: .9rem; background: rgba(0,0,0,.25); display:flex; flex-direction:column; gap:.25rem; }
.mini-stat span { color: #b98f70; font-size: .75rem; }
.mini-stat b { color: #ff5a00; font-weight: 400; }
.biohazard { font-size: 4.5rem; line-height: .8; filter: drop-shadow(0 0 18px rgba(255,90,0,.35)); }
.hud-card { padding: 1.25rem; min-height: 190px; }
.hud-card h3 { margin-top: .8rem; font-family: Rajdhani, Arial, sans-serif; font-size: 1.6rem; font-weight: 700; color: #ff5a00; }
.hud-card p { margin-top: .5rem; color: #b98f70; line-height: 1.6; }
.hud-icon { width: 46px; height: 46px; border: 1px solid rgba(255,90,0,.55); display:grid; place-items:center; color:#ff5a00; font-family:'Share Tech Mono', monospace; font-size: 1.35rem; }
.release-card { display:block; text-decoration:none; color:inherit; transition: transform .2s ease, border-color .2s ease; }
.release-card:hover { transform: translateY(-4px); border-color: rgba(255,90,0,.75); }
.release-image-wrap { position:relative; aspect-ratio: 16 / 9; overflow:hidden; background:#080808; }
.release-image { width:100%; height:100%; object-fit:cover; filter: saturate(.9) contrast(1.08); transition: transform .35s ease; }
.release-card:hover .release-image { transform: scale(1.04); }
.release-overlay { position:absolute; inset:0; background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.05)); }
.release-date { position:absolute; left:.8rem; bottom:.75rem; border:1px solid rgba(255,90,0,.55); background:rgba(0,0,0,.62); color:#ff9b1a; padding:.28rem .45rem; font-family:'Share Tech Mono', monospace; font-size:.72rem; }
.release-title { font-size:1.25rem; line-height:1.15; font-weight:700; color:#f2e7d8; min-height: 2.85rem; }
.release-excerpt { margin-top:.7rem; color:#b98f70; line-height:1.45; font-size:.98rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width: 640px) { .biohazard { font-size:3rem; } .hud-input { width: 100%; } }

.hud-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
  transform: none !important;
}

.donate-btn {
  border-color: rgba(255,154,26,.75);
  color: #ff9b1a;
  background: linear-gradient(135deg, rgba(255,90,0,.14), rgba(0,0,0,.5));
}
.donate-btn:hover {
  background: rgba(255,154,26,.18);
  box-shadow: 0 0 28px rgba(255,154,26,.28);
}

/* FPzone global font */
:root {
  --fpzone-font: "Tektur", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body {
  font-family: var(--fpzone-font);
}

body,
button,
input,
select,
textarea,
a,
span,
div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
label {
  font-family: var(--fpzone-font) !important;
}

h1,
h2,
h3,
.logo,
.brand,
.hero-title,
.section-title,
.card-title,
.release-title,
.stat-value,
.nav-link,
.btn {
  font-weight: 800;
  letter-spacing: 0.035em;
}

p,
.release-description,
.card-description,
.release-meta,
.muted,
small {
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.55;
}

button,
.btn,
.nav-link,
.badge,
.tag {
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Service status monitor */
.service-topline {
  transition: color .2s ease, text-shadow .2s ease;
}
.service-topline.service-online { color: #4ade80; text-shadow: 0 0 14px rgba(74,222,128,.24); }
.service-topline.service-offline { color: #ff4d4d; text-shadow: 0 0 14px rgba(255,77,77,.24); }
.service-topline.service-unknown { color: #ff9b1a; text-shadow: 0 0 14px rgba(255,154,26,.18); }

.status-refresh-btn {
  min-height: 34px;
  padding: .45rem .7rem;
  font-size: .72rem;
}

.service-stat {
  min-height: 94px;
  justify-content: space-between;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.service-wide { grid-column: 1 / -1; }
.service-value-row {
  display: flex;
  align-items: center;
  gap: .45rem;
}
.service-dot {
  width: .52rem;
  height: .52rem;
  border-radius: 999px;
  display: inline-block;
  background: #ff9b1a;
  box-shadow: 0 0 16px rgba(255,154,26,.55);
}
.service-value { font-weight: 700 !important; letter-spacing: .06em; }
.service-stat small {
  color: rgba(185,143,112,.82);
  font-size: .68rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.service-stat.service-online {
  border-color: rgba(74,222,128,.42);
  background: linear-gradient(135deg, rgba(8,22,14,.72), rgba(5,5,5,.88));
  box-shadow: inset 0 0 22px rgba(74,222,128,.05), 0 24px 70px rgba(0,0,0,.55);
}
.service-stat.service-online .service-dot { background: #4ade80; box-shadow: 0 0 18px rgba(74,222,128,.72); animation: servicePulse 1.7s ease-in-out infinite; }
.service-stat.service-online .service-value { color: #4ade80; }
.service-stat.service-offline {
  border-color: rgba(255,77,77,.48);
  background: linear-gradient(135deg, rgba(32,6,6,.72), rgba(5,5,5,.88));
  box-shadow: inset 0 0 22px rgba(255,77,77,.05), 0 24px 70px rgba(0,0,0,.55);
}
.service-stat.service-offline .service-dot { background: #ff4d4d; box-shadow: 0 0 18px rgba(255,77,77,.72); }
.service-stat.service-offline .service-value { color: #ff4d4d; }
.service-stat.service-unknown {
  border-color: rgba(255,154,26,.38);
  background: linear-gradient(135deg, rgba(34,20,4,.65), rgba(5,5,5,.88));
}
.service-stat.service-unknown .service-dot { background: #ff9b1a; box-shadow: 0 0 18px rgba(255,154,26,.55); }
.service-stat.service-unknown .service-value { color: #ff9b1a; }

@keyframes servicePulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .55; transform: scale(.72); }
}

/* Discord auth / web admin additions */
.auth-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .55rem;
  min-height: 38px;
}
.auth-btn {
  min-height: 34px;
  padding: .45rem .65rem;
  font-size: .7rem;
}
.auth-pill {
  border: 1px solid rgba(255,90,0,.38);
  background: rgba(0,0,0,.45);
  color: #ff9b1a;
  padding: .45rem .65rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.auth-warn { color: #ff4d4d; border-color: rgba(255,77,77,.42); }
.auth-user {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid rgba(255,90,0,.32);
  background: rgba(0,0,0,.42);
  color: #f2e7d8;
  padding: .3rem .55rem;
  max-width: 240px;
}
.auth-user img {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid rgba(255,90,0,.38);
}
.auth-user span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.auth-user b {
  color: #ff5a00;
  font-weight: 800;
}

.release-open,
.release-open-text {
  color: inherit;
  text-decoration: none;
}
.release-open-text {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}
.release-like {
  border: 1px solid rgba(255,90,0,.38);
  background: rgba(0,0,0,.36);
  color: #ff9b1a;
  min-width: 58px;
  min-height: 30px;
  padding: .25rem .5rem;
  transition: .18s ease;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.release-like:not(:disabled):hover,
.release-like.liked {
  background: rgba(255,90,0,.14);
  border-color: rgba(255,154,26,.75);
  box-shadow: 0 0 18px rgba(255,90,0,.18);
}
.release-like:disabled {
  opacity: .45;
  cursor: not-allowed;
}


.donation-ticker {
  position: relative;
  height: 52px;
  border: 1px solid rgba(255,90,0,.34);
  background: linear-gradient(90deg, rgba(22,10,4,.95), rgba(5,5,5,.96));
  box-shadow: 0 0 0 1px rgba(255,90,0,.05), 0 14px 48px rgba(0,0,0,.45);
  overflow: hidden;
}
.donation-ticker.hidden { display: none; }
.donation-ticker:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 8% 50%, rgba(255,90,0,.16), transparent 32%);
}
.donation-ticker-link {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .9rem;
  height: 100%;
  padding: 0 1rem;
  color: #f2e7d8;
  text-decoration: none;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.donation-ticker-title {
  color: #ff5a00;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  white-space: nowrap;
}
.donation-ticker-viewport {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  color: #ffcf9f;
}
.donation-ticker-track {
  display: inline-block;
  min-width: 100%;
  padding-left: 100%;
  animation: donation-marquee 130s linear infinite;
  will-change: transform;
}
.donation-ticker:hover .donation-ticker-track { animation-play-state: paused; }
.donation-ticker-empty .donation-ticker-track { animation-duration: 42s; color: #b98f70; }
.admin-donation-preview {
  margin-bottom: 0;
}
@keyframes donation-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}

.chat-panel {
  background: linear-gradient(135deg, rgba(15,15,15,.96), rgba(5,5,5,.9));
  border: 1px solid rgba(255,90,0,.34);
  box-shadow: 0 0 0 1px rgba(255,90,0,.05), 0 24px 70px rgba(0,0,0,.55);
  padding: 1rem;
  position: relative;
  overflow: hidden;
}
.chat-panel:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 12% 0%, rgba(255,90,0,.12), transparent 34%);
}
.chat-list {
  position: relative;
  z-index: 1;
  height: min(32vh, 300px);
  min-height: 240px;
  overflow: auto;
  padding: .8rem .2rem .6rem 0;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.25);
}
.chat-message {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: .7rem;
  align-items: start;
  border: 1px solid rgba(255,90,0,.14);
  background: rgba(0,0,0,.26);
  padding: .55rem .65rem;
}
.chat-message.chat-admin {
  border-color: rgba(255,154,26,.36);
  background: linear-gradient(135deg, rgba(255,90,0,.09), rgba(0,0,0,.22));
}
.chat-message img {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255,90,0,.35);
  object-fit: cover;
}
.chat-meta {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .75rem;
  color: #ff9b1a;
}
.chat-meta span { color: #b98f70; }
.chat-body { min-width: 0; }
.chat-head-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.chat-admin-actions {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  flex-shrink: 0;
}
.chat-admin-actions button {
  min-height: 19px;
  border: 1px solid rgba(255,90,0,.36);
  background: rgba(0,0,0,.48);
  color: #b98f70;
  padding: .05rem .32rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .64rem;
  line-height: 1;
  cursor: pointer;
  transition: .16s ease;
}
.chat-admin-actions button:hover:not(:disabled) {
  color: #050505;
  border-color: rgba(255,154,26,.86);
  background: #ff5a00;
  box-shadow: 0 0 16px rgba(255,90,0,.22);
}
.chat-admin-actions button:disabled { opacity: .45; cursor: wait; }
.chat-message p {
  margin-top: .1rem;
  color: #f2e7d8;
  line-height: 1.35;
  word-break: break-word;
}
.chat-empty {
  border: 1px dashed rgba(255,90,0,.35);
  padding: 1rem;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  text-align: center;
}
.chat-form {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .65rem;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,90,0,.18);
}
.chat-input { width: 100%; }
.chat-send { min-width: 132px; }
#chat-hint a { color: #ff9b1a; text-decoration: underline; }

.admin-shell {
  min-height: 100vh;
  position: relative;
  padding: 2rem 1rem 4rem;
}
.admin-wrap { max-width: 1400px; margin: 0 auto; position: relative; z-index: 1; }
.admin-grid { display: grid; grid-template-columns: 290px 1fr; gap: 1rem; }
.admin-side, .admin-card {
  background: linear-gradient(135deg, rgba(15,15,15,.96), rgba(5,5,5,.9));
  border: 1px solid rgba(255,90,0,.34);
  box-shadow: 0 22px 60px rgba(0,0,0,.55);
}
.admin-side { padding: 1rem; align-self: start; position: sticky; top: 1rem; }
.admin-card { padding: 1rem; margin-bottom: 1rem; }
.admin-tabs { display: grid; gap: .55rem; margin-top: 1rem; }
.admin-tabs-tree { gap: .75rem; }
.admin-nav-group {
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.18);
}
.admin-nav-group summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  cursor: pointer;
  list-style: none;
  padding: .55rem .65rem;
  color: #ff6a00;
  font-family: 'Share Tech Mono', Consolas, monospace;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,90,0,.16);
}
.admin-nav-group summary::-webkit-details-marker { display: none; }
.admin-nav-group summary::before {
  content: '▸';
  color: #ff9b1a;
  margin-right: .15rem;
  transition: transform .16s ease;
}
.admin-nav-group[open] summary::before { transform: rotate(90deg); }
.admin-nav-group summary small {
  color: rgba(242,231,216,.56);
  font-size: .68rem;
  letter-spacing: .04em;
}
.admin-nav-group-body {
  display: grid;
  gap: .45rem;
  padding: .55rem;
}
.admin-tab {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255,90,0,.34);
  background: rgba(0,0,0,.32);
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  text-align: left;
  padding: .55rem .65rem;
}
.admin-tab.active, .admin-tab:hover { background: rgba(255,90,0,.13); color: #f2e7d8; }
.admin-tab.active { border-color: rgba(255,154,26,.72); box-shadow: inset 3px 0 0 #ff6a00; }
.admin-section { display: none; }
.admin-section.active { display: block; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.admin-field { display: flex; flex-direction: column; gap: .25rem; }
.admin-field.full { grid-column: 1 / -1; }
.admin-field label { color: #ff9b1a; font-size: .75rem; font-family: 'Share Tech Mono', Consolas, monospace; }
.admin-input, .admin-textarea, .admin-select {
  min-height: 42px;
  border: 1px solid rgba(255,90,0,.38);
  background: rgba(0,0,0,.48);
  color: #f2e7d8;
  padding: .65rem .75rem;
  outline: none;
}
.admin-textarea { min-height: 104px; resize: vertical; }
.admin-list { display: grid; gap: .65rem; }
.admin-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  align-items: center;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.28);
  padding: .8rem;
}
.admin-row h4 { color: #f2e7d8; font-size: 1.05rem; font-weight: 800; }
.admin-row p { color: #b98f70; font-size: .9rem; margin-top: .25rem; }
.admin-actions { display: flex; gap: .45rem; flex-wrap: wrap; justify-content: flex-end; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.admin-stat { border: 1px solid rgba(255,90,0,.24); background: rgba(0,0,0,.28); padding: .85rem; }
.admin-stat span { display: block; color: #b98f70; font-size: .75rem; }
.admin-stat b { color: #ff5a00; font-size: 1.5rem; }
.admin-muted { color: #b98f70; }
.admin-danger { border-color: rgba(255,77,77,.55); color: #ff4d4d; }
.admin-ok { color: #4ade80; }
.admin-error { color: #ff4d4d; }

@media (max-width: 900px) {
  nav { flex-wrap: wrap; }
  .auth-bar { width: 100%; justify-content: flex-start; }
  .chat-list { height: 220px; min-height: 220px; }
  .chat-form { grid-template-columns: 1fr; }
  .chat-send { width: 100%; }
  .chat-head-row { align-items: flex-start; }
  .chat-admin-actions { padding-top: .1rem; }
  .admin-grid { grid-template-columns: 1fr; }
  .admin-side { position: static; }
  .admin-tabs-tree { grid-template-columns: 1fr; }
  .admin-nav-group-body { grid-template-columns: 1fr; }
  .admin-form-grid, .admin-stat-grid { grid-template-columns: 1fr; }
  .admin-row { grid-template-columns: 1fr; }
  .admin-actions { justify-content: flex-start; }
}

.admin-card-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .9rem;
}
.faq-sortable { gap: .55rem; }
.faq-row {
  grid-template-columns: 34px 1fr auto;
  cursor: grab;
  user-select: none;
}
.faq-row.dragging {
  opacity: .55;
  border-color: rgba(255,154,26,.78);
  box-shadow: 0 0 22px rgba(255,90,0,.18);
}
.faq-drag-handle {
  width: 30px;
  height: 42px;
  border: 1px solid rgba(255,90,0,.32);
  background: rgba(0,0,0,.38);
  color: #ff9b1a;
  font-size: 1.2rem;
  line-height: 1;
  cursor: grab;
}
.status-config-list {
  display: grid;
  gap: .7rem;
}
.status-config-row {
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.26);
  padding: .8rem;
}
.status-config-head {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .65rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.status-config-head b { color: #f2e7d8; }
.status-config-head small { color: #b98f70; }
.status-config-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr 1fr .7fr auto;
  gap: .65rem;
  align-items: end;
}
.status-row-actions { justify-content: flex-end; }
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  border: 1px solid rgba(255,90,0,.35);
  padding: .1rem .45rem;
  font-size: .72rem;
}
.status-online { color: #4ade80; border-color: rgba(74,222,128,.45); }
.status-offline { color: #ff4d4d; border-color: rgba(255,77,77,.55); }
.status-unknown { color: #b98f70; }
.admin-chat-feed {
  height: min(48vh, 520px);
  min-height: 320px;
  padding-right: .35rem;
}

@media (max-width: 1100px) {
  .status-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faq-row { grid-template-columns: 30px 1fr; }
  .faq-row .admin-actions { grid-column: 2; justify-content: flex-start; }
}

/* v1.9: release linking for launcher games */
.release-link-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: .55rem;
  align-items: stretch;
}
.release-link-row .hud-btn {
  min-height: 42px;
  white-space: nowrap;
}
.admin-field small code,
.admin-muted code {
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
}

/* v1.9: status endpoint row no longer overflows narrow admin cards */
.status-config-head {
  justify-content: space-between;
  align-items: flex-start;
}
.status-config-title {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-width: 0;
  flex-wrap: wrap;
}
.status-config-title small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: min(52vw, 520px);
}
.status-remove-btn {
  min-height: 34px;
  padding: .42rem .7rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.status-config-grid {
  grid-template-columns: minmax(110px, .75fr) minmax(140px, 1fr) minmax(260px, 2fr) minmax(150px, 1fr) minmax(92px, .55fr);
}

@media (max-width: 1100px) {
  .release-link-row { grid-template-columns: 1fr 1fr; }
  .status-config-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .status-config-title small { max-width: 100%; white-space: normal; }
}

@media (max-width: 640px) {
  .release-link-row { grid-template-columns: 1fr; }
  .status-config-grid { grid-template-columns: 1fr; }
  .status-config-head { flex-direction: column; }
  .status-remove-btn { width: 100%; }
}

/* v2.1: persistent public navigation + AJAX pages */
.site-topline-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  color: rgba(255,90,0,.92);
}
.site-system-line {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  white-space: nowrap;
}
.site-telemetry {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.15rem;
  flex-wrap: wrap;
  color: #ff9b1a;
}
.site-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  margin-top: 1rem;
  position: relative;
  z-index: 2;
}
.site-nav a {
  min-height: 44px;
  border: 1px solid rgba(255,90,0,.34);
  background: rgba(0,0,0,.46);
  color: #ff9b1a;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .82rem;
  transition: .18s ease;
  box-shadow: inset 0 0 18px rgba(255,90,0,.06);
}
.site-nav a:hover,
.site-nav a.active {
  border-color: rgba(255,154,26,.76);
  color: #050505;
  background: linear-gradient(90deg, rgba(255,90,0,.96), rgba(255,154,26,.92));
  box-shadow: 0 0 24px rgba(255,90,0,.24);
}
.page-stack { position: relative; z-index: 1; }
.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.page-head.compact { align-items: flex-start; }
.page-muted {
  margin-top: .45rem;
  color: #b98f70;
  max-width: 760px;
}
.page-panel {
  background: linear-gradient(135deg, rgba(15,15,15,.96), rgba(5,5,5,.91));
  border: 1px solid rgba(255,90,0,.34);
  box-shadow: 0 0 0 1px rgba(255,90,0,.05), 0 24px 70px rgba(0,0,0,.55);
  padding: 1rem;
  position: relative;
  overflow: hidden;
}
.page-panel:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 15% 0%, rgba(255,90,0,.10), transparent 32%);
}
.page-panel > * { position: relative; z-index: 1; }
.page-scroll-panel { min-height: 520px; }
.page-search { width: min(420px, 100%); }
.faq-page-list,
.rating-list {
  max-height: min(68vh, 760px);
  overflow: auto;
  padding-right: .35rem;
  scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.25);
}
.faq-page-list {
  display: grid;
  gap: .65rem;
}
.faq-spoiler {
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.28);
}
.faq-spoiler summary {
  list-style: none;
  cursor: pointer;
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .85rem 1rem;
  color: #f2e7d8;
  font-weight: 800;
}
.faq-spoiler summary::-webkit-details-marker { display: none; }
.faq-spoiler summary b {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,90,0,.4);
  color: #ff9b1a;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.faq-spoiler[open] summary {
  border-bottom: 1px solid rgba(255,90,0,.18);
  color: #ff9b1a;
}
.faq-spoiler[open] summary b { transform: rotate(45deg); }
.faq-answer {
  padding: 1rem;
  color: #b98f70;
  line-height: 1.6;
}
.rating-list {
  display: grid;
  gap: .75rem;
}
.rating-row {
  display: grid;
  grid-template-columns: 72px 128px 1fr auto;
  gap: 1rem;
  align-items: center;
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.30);
  padding: .75rem;
}
.rating-rank {
  color: #ff5a00;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: 1.25rem;
  font-weight: 800;
}
.rating-row img {
  width: 128px;
  height: 72px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.28);
  background: #050505;
}
.rating-body { min-width: 0; }
.rating-body h3 {
  color: #f2e7d8;
  font-size: 1.1rem;
  font-weight: 800;
}
.rating-body p {
  color: #b98f70;
  margin-top: .25rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rating-body a {
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .75rem;
  text-decoration: none;
}
.rating-likes {
  min-width: 78px;
  text-align: center;
  border: 1px solid rgba(255,90,0,.35);
  color: #ff9b1a;
  padding: .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.downloads-panel { min-height: 520px; }
.downloads-content {
  color: #f2e7d8;
  line-height: 1.65;
  max-height: min(70vh, 820px);
  overflow: auto;
  padding: 1rem;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.22);
  scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.25);
}
.downloads-content h1,
.downloads-content h2,
.downloads-content h3,
.downloads-content h4 { color: #ff5a00; margin: .65rem 0 .35rem; }
.downloads-content p { margin: .45rem 0; color: #d8c0ac; }
.downloads-content a { color: #ff9b1a; text-decoration: underline; }
.downloads-content ul,
.downloads-content ol { padding-left: 1.35rem; margin: .55rem 0; }
.downloads-content li { margin: .25rem 0; }
.downloads-content table { width: 100%; border-collapse: collapse; margin: .8rem 0; }
.downloads-content th,
.downloads-content td { border: 1px solid rgba(255,90,0,.28); padding: .55rem; }
.downloads-content img { max-width: 100%; border: 1px solid rgba(255,90,0,.22); }
.admin-downloads-preview {
  max-height: 460px;
  min-height: 220px;
}
.tox-tinymce {
  border: 1px solid rgba(255,90,0,.38) !important;
  border-radius: 0 !important;
}
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-menubar,
.tox .tox-statusbar {
  background: #080808 !important;
}
.tox .tox-tbtn svg,
.tox .tox-statusbar__path-item,
.tox .tox-statusbar__wordcount,
.tox .tox-mbtn__select-label { color: #ff9b1a !important; fill: #ff9b1a !important; }

@media (max-width: 900px) {
  .site-topline-wrap { grid-template-columns: 1fr; }
  .site-telemetry { justify-content: flex-start; }
  .site-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-head { flex-direction: column; align-items: stretch; }
  .release-search-row { display: grid; grid-template-columns: 1fr; }
  .rating-row { grid-template-columns: 54px 1fr; align-items: start; }
  .rating-row img { width: 100%; height: auto; aspect-ratio: 16 / 9; grid-column: 1 / -1; }
  .rating-likes { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 560px) {
  .site-nav { grid-template-columns: 1fr; }
  .site-hero { padding-top: 1.5rem; }
  .faq-page-list, .rating-list, .downloads-content { max-height: 68vh; }
}

/* v2.2: request desk placeholder */
.requests-panel {
  min-height: 520px;
}
.dev-placeholder {
  min-height: 320px;
  border: 1px dashed rgba(255, 90, 0, .45);
  background: linear-gradient(135deg, rgba(255,90,0,.08), rgba(0,0,0,.45));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 34px;
  box-shadow: inset 0 0 38px rgba(255, 90, 0, .08);
}
.dev-placeholder-glitch {
  font-family: 'Share Tech Mono', Consolas, monospace;
  color: #ff5a00;
  letter-spacing: .18em;
  font-size: 12px;
  margin-bottom: 12px;
}
.dev-placeholder h3 {
  font-family: 'Rajdhani', Arial, sans-serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  color: #f2e7d8;
  margin: 0 0 10px;
}
.dev-placeholder p {
  max-width: 680px;
  color: #b98f70;
  font-size: 17px;
}

.donation-oauth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.donation-oauth-actions .hud-btn {
  min-height: 42px;
}

.rating-page-head { align-items: flex-start; }
.rating-tabs {
  display: inline-flex;
  gap: .5rem;
  margin: .65rem 0 1rem;
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.28);
  padding: .35rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.rating-tab {
  border: 1px solid rgba(255,90,0,.22);
  color: #ff9b1a;
  background: rgba(0,0,0,.25);
  padding: .65rem 1rem;
  transition: .15s ease;
}
.rating-tab:hover,
.rating-tab.active {
  color: #050505;
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  border-color: transparent;
}
.user-rating-row {
  grid-template-columns: 72px 72px 1fr 120px;
}
.rating-row .rating-user-avatar {
  width: 72px;
  height: 72px;
  border-radius: 0;
  object-fit: cover;
}
.user-rating-top {
  display: flex;
  align-items: center;
  gap: .55rem;
  min-width: 0;
}
.user-rating-top h3 { margin: 0; }
.user-admin-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(34,197,94,.55);
  color: #4ade80;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  padding: .1rem .35rem;
}
.xp-progress {
  position: relative;
  width: min(480px, 100%);
  height: 8px;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.55);
  margin: .55rem 0 .4rem;
  overflow: hidden;
}
.xp-progress span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  box-shadow: 0 0 18px rgba(255,90,0,.45);
}
.rating-user-stats {
  display: block;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .76rem;
}
.rating-xp {
  display: grid;
  gap: .15rem;
  min-width: 110px;
}
.rating-xp b { color: #ff5a00; }
.rating-xp span { color: #ff9b1a; font-size: .8rem; }
.level-table {
  margin-top: 1rem;
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.20);
  padding: .85rem;
}
.level-table-title {
  font-family: 'Share Tech Mono', Consolas, monospace;
  color: #ff5a00;
  margin-bottom: .7rem;
  text-transform: uppercase;
}
.level-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .55rem;
  max-height: 260px;
  overflow: auto;
  padding-right: .35rem;
  scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.25);
}
.level-cell {
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.28);
  padding: .55rem;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .1rem .55rem;
  align-items: center;
}
.level-cell b {
  grid-row: span 2;
  color: #ff5a00;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: 1.25rem;
}
.level-cell span { color: #f2e7d8; font-weight: 700; }
.level-cell small { color: #b98f70; font-family: 'Share Tech Mono', Consolas, monospace; }
@media (max-width: 720px) {
  .user-rating-row { grid-template-columns: 54px 1fr; }
  .rating-row .rating-user-avatar { grid-column: 1 / -1; width: 72px; height: 72px; }
  .rating-xp { grid-column: 1 / -1; text-align: left; }
  .rating-tabs { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
}

/* v2.4: compact one-line nav, cleaner donation admin buttons, rating pagination */
.site-nav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .5rem;
  align-items: stretch;
}
.site-nav a {
  min-height: 42px;
  padding: .45rem .55rem;
  font-size: .78rem;
  white-space: nowrap;
}
@media (max-width: 1100px) {
  .site-nav {
    grid-template-columns: repeat(5, minmax(132px, 1fr));
    overflow-x: auto;
    padding-bottom: .25rem;
    scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.25);
  }
  .site-nav a { font-size: .74rem; }
}
@media (max-width: 640px) {
  .site-nav {
    grid-template-columns: repeat(5, minmax(126px, 1fr));
  }
}

.donation-oauth-actions {
  align-items: stretch;
  gap: .55rem;
}
.donation-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  align-items: stretch;
  justify-content: flex-start;
}
.donation-action-row .hud-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 158px;
  text-align: center;
}
.donation-action-primary .hud-btn-fill { min-width: 190px; }
.donation-action-secondary {
  padding-top: .15rem;
  opacity: .96;
}
@media (max-width: 720px) {
  .donation-action-row { display: grid; grid-template-columns: 1fr; }
  .donation-action-row .hud-btn { width: 100%; min-width: 0; }
}

.rating-list {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
.rating-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
  justify-content: center;
  margin: .9rem 0 .2rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.rating-page-btn,
.rating-page-gap {
  min-width: 38px;
  min-height: 34px;
  border: 1px solid rgba(255,90,0,.32);
  background: rgba(0,0,0,.36);
  color: #ff9b1a;
  display: inline-grid;
  place-items: center;
  padding: .35rem .55rem;
}
.rating-page-btn:hover:not(:disabled),
.rating-page-btn.active {
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  color: #050505;
  border-color: transparent;
}
.rating-page-btn:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.rating-page-gap {
  border-color: transparent;
  background: transparent;
  color: #b98f70;
  min-width: 26px;
}
.level-table {
  padding: .65rem;
  margin-top: .75rem;
}
.level-table-title {
  margin-bottom: .5rem;
  font-size: .88rem;
}
.level-grid {
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: .4rem;
  max-height: 190px;
}
.level-cell {
  grid-template-columns: 32px 1fr;
  gap: .05rem .45rem;
  padding: .42rem .5rem;
}
.level-cell b { font-size: 1.05rem; }
.level-cell span { font-size: .88rem; line-height: 1.05; }
.level-cell small { font-size: .72rem; }

/* v3.0: request desk */
.requests-head { align-items: end; }
.requests-toolbar,
.admin-requests-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: .75rem;
  margin: .85rem 0 1rem;
}
.admin-requests-toolbar { grid-template-columns: minmax(0, 1fr) 220px auto; }
.requests-list,
.admin-requests-list {
  display: grid;
  gap: .75rem;
}
.request-card,
.admin-request-row {
  display: grid;
  grid-template-columns: 54px 118px minmax(0, 1fr) 92px;
  gap: .8rem;
  border: 1px solid rgba(255,90,0,.27);
  background: linear-gradient(110deg, rgba(255,90,0,.055), rgba(0,0,0,.62));
  padding: .8rem;
  align-items: stretch;
}
.admin-request-row { grid-template-columns: 96px minmax(0, 1fr) 136px; }
.request-rank {
  display: grid;
  place-items: center;
  font-family: 'Share Tech Mono', Consolas, monospace;
  color: #ff5a00;
  font-weight: 800;
  font-size: 1.15rem;
}
.request-cover-wrap,
.admin-request-cover {
  position: relative;
  min-height: 86px;
  border: 1px solid rgba(255,90,0,.22);
  overflow: hidden;
  background: rgba(0,0,0,.48);
}
.request-cover,
.admin-request-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.request-platform {
  position: absolute;
  left: .35rem;
  bottom: .35rem;
  padding: .1rem .35rem;
  background: rgba(0,0,0,.78);
  border: 1px solid rgba(255,90,0,.38);
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .68rem;
}
.request-title-line,
.admin-request-title-line {
  display: flex;
  gap: .55rem;
  align-items: start;
  justify-content: space-between;
}
.request-title-line h3,
.admin-request-title-line h4 {
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 800;
  line-height: 1.1;
}
.request-desc,
.admin-request-row p {
  color: #b98f70;
  margin-top: .35rem;
  line-height: 1.35;
}
.request-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin-top: .7rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .75rem;
  color: #b98f70;
}
.request-meta-grid span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.request-meta-grid b {
  display: block;
  color: #f2e7d8;
  font-family: 'Rajdhani', Arial, sans-serif;
  font-size: .78rem;
}
.request-status {
  white-space: nowrap;
  border: 1px solid rgba(255,90,0,.3);
  padding: .14rem .42rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
}
.request-status-review { color: #ffd166; border-color: rgba(255,209,102,.55); }
.request-status-progress { color: #bdbdbd; border-color: rgba(180,180,180,.5); }
.request-status-done { color: #20e070; border-color: rgba(32,224,112,.55); }
.request-status-rejected { color: #ff7aa5; border-color: rgba(255,122,165,.55); }
.request-note {
  margin-top: .55rem;
  padding: .45rem .55rem;
  border: 1px solid rgba(255,90,0,.25);
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .82rem;
}
.request-note-done { color: #20e070; border-color: rgba(32,224,112,.4); }
.request-note-rejected { color: #ff7aa5; border-color: rgba(255,122,165,.4); }
.request-footer {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: .65rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  color: #ff9b1a;
}
.request-footer span { color: #b98f70; }
.request-vote-box {
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(255,90,0,.26);
  background: rgba(0,0,0,.34);
  min-height: 100px;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.request-vote {
  width: 42px;
  height: 34px;
  border: 1px solid rgba(255,90,0,.45);
  color: #ff9b1a;
  background: rgba(0,0,0,.55);
  font-size: 1.1rem;
}
.request-vote:hover:not(:disabled),
.request-vote.voted {
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  color: #050505;
}
.request-vote:disabled { opacity: .55; cursor: not-allowed; }
.request-vote-box b { color: #f2e7d8; font-size: 1.25rem; }
.request-vote-box small { color: #b98f70; }

.request-card.request-card-final {
  grid-template-columns: 54px minmax(136px, 180px) minmax(0, 1fr);
}

.request-final-votes {
  border: 1px solid rgba(255,90,0,.28);
  padding: .1rem .4rem;
  color: #b98f70;
  background: rgba(0,0,0,.28);
}
.request-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  background: rgba(0,0,0,.76);
  padding: 1rem;
}
.request-modal.hidden { display: none; }
.request-modal-card {
  width: min(720px, 100%);
  border: 1px solid rgba(255,90,0,.5);
  background: #090705;
  box-shadow: 0 0 55px rgba(255,90,0,.18);
  padding: 1.25rem;
  position: relative;
}
.request-modal-close {
  position: absolute;
  right: .65rem;
  top: .55rem;
  color: #ff9b1a;
  font-size: 1.65rem;
  line-height: 1;
}
.request-rules {
  border: 1px dashed rgba(255,90,0,.35);
  padding: .85rem;
  color: #b98f70;
  display: grid;
  gap: .35rem;
  margin: .7rem 0;
}
.request-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .65rem;
}
.request-admin-actions {
  display: grid;
  gap: .45rem;
  align-content: center;
}
.request-done { border-color: rgba(32,224,112,.5); color: #20e070; }
.request-reject { border-color: rgba(255,122,165,.5); color: #ff7aa5; }
@media (max-width: 900px) {
  .request-card { grid-template-columns: 42px 96px minmax(0, 1fr); }
  .request-vote-box { grid-column: 1 / -1; min-height: 70px; grid-template-columns: auto auto auto; gap: .55rem; }
  .request-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-request-row { grid-template-columns: 84px minmax(0, 1fr); }
  .request-admin-actions { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .requests-toolbar, .admin-requests-toolbar, .request-form { grid-template-columns: 1fr; }
  .request-card { grid-template-columns: 1fr; }
  .request-rank { place-items: start; }
  .request-cover-wrap { height: 130px; }
  .request-meta-grid { grid-template-columns: 1fr; }
  .request-title-line { flex-direction: column; }
  .request-admin-actions { grid-template-columns: 1fr; }
}

/* v3.0.4: mobile navigation, user rating cards and profile modal */
body.modal-open {
  overflow: hidden;
}

.chat-avatar-btn,
.chat-user-link,
.rating-avatar-btn,
.rating-user-name {
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.chat-avatar-btn {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
}

.chat-avatar-btn img {
  width: 36px;
  height: 36px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.35);
}

.chat-user-link {
  color: #ff9b1a;
  font-weight: 800;
}

.chat-avatar-btn:hover img,
.chat-user-link:hover,
.rating-avatar-btn:hover img,
.rating-user-name:hover {
  filter: brightness(1.15);
  color: #ff5a00;
}

.rating-avatar-btn {
  display: block;
  width: 72px;
  height: 72px;
}

.rating-user-name {
  color: #f2e7d8;
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.1;
}

.user-rating-row {
  cursor: pointer;
}

.user-rating-row:hover {
  border-color: rgba(255,154,26,.45);
  background: rgba(255,90,0,.045);
}

.user-profile-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(6px);
}

.user-profile-card {
  width: min(620px, 100%);
  max-height: min(86vh, 760px);
  overflow: auto;
  position: relative;
  border: 1px solid rgba(255,90,0,.55);
  background:
    linear-gradient(135deg, rgba(255,90,0,.10), transparent 38%),
    #080604;
  box-shadow: 0 0 55px rgba(255,90,0,.20), 0 26px 90px rgba(0,0,0,.62);
  padding: 1.1rem;
  scrollbar-color: rgba(255,90,0,.72) rgba(0,0,0,.35);
}

.user-profile-close {
  position: absolute;
  right: .75rem;
  top: .55rem;
  border: 0;
  background: transparent;
  color: #ff9b1a;
  font-size: 1.7rem;
  line-height: 1;
  cursor: pointer;
}

.profile-modal-head {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: .9rem;
  align-items: center;
  padding-right: 2rem;
}

.profile-modal-head img {
  width: 82px;
  height: 82px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.45);
  background: #050505;
}

.profile-modal-kicker {
  margin: 0 0 .15rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  color: #ff5a00;
  font-size: .72rem;
}

.profile-modal-head h3 {
  margin: 0;
  color: #f2e7d8;
  font-size: clamp(1.35rem, 5vw, 2.1rem);
  font-weight: 900;
  line-height: 1;
}

.profile-modal-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
}

.profile-modal-badges > span,
.profile-user-badge {
  border: 1px solid rgba(255,90,0,.35);
  color: #ff9b1a;
  padding: .12rem .4rem;
  font-size: .75rem;
}

.profile-modal-level {
  margin-top: 1rem;
  padding: .85rem;
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.24);
}

.profile-modal-level > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  color: #f2e7d8;
  font-weight: 800;
}

.profile-modal-level > div:first-child span,
.profile-modal-level small {
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
}

.profile-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .75rem;
}

.profile-modal-stat {
  min-width: 0;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.24);
  padding: .65rem;
}

.profile-modal-wide {
  grid-column: 1 / -1;
}

.profile-modal-stat span {
  display: block;
  margin-bottom: .25rem;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  text-transform: uppercase;
}

.profile-modal-stat b {
  display: block;
  color: #f2e7d8;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .site-topline-wrap {
    grid-template-columns: 1fr;
    align-items: start;
    gap: .85rem;
  }

  .site-telemetry {
    justify-content: flex-start;
    gap: .65rem 1rem;
  }

  .auth-bar {
    justify-content: flex-start;
  }

  .site-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding-bottom: 0;
    gap: .55rem;
  }

  .site-nav a {
    min-width: 0;
    white-space: normal;
    text-align: center;
    line-height: 1.2;
    font-size: .82rem;
  }

  .site-nav a:nth-child(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .rating-page-head {
    display: grid;
    gap: 1rem;
  }

  .page-search {
    width: 100%;
  }

  .rating-row:not(.user-rating-row) {
    grid-template-columns: 46px 1fr;
  }

  .rating-row:not(.user-rating-row) > img {
    grid-column: 1 / -1;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .rating-row.user-rating-row {
    grid-template-columns: 42px 72px minmax(0, 1fr);
    align-items: start;
    gap: .8rem;
    padding: .85rem;
  }

  .user-rating-row .rating-rank {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    font-size: 1.15rem;
  }

  .user-rating-row .rating-avatar-btn {
    grid-column: 2;
    grid-row: 1;
    width: 72px;
    height: 72px;
  }

  .rating-row.user-rating-row .rating-user-avatar {
    grid-column: auto;
    width: 72px;
    height: 72px;
    aspect-ratio: 1 / 1;
  }

  .user-rating-row .rating-body {
    grid-column: 3;
    grid-row: 1;
    min-width: 0;
  }

  .user-rating-top {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: .35rem;
  }

  .rating-user-name {
    font-size: 1.05rem;
  }

  .user-rating-row .rating-body p {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
    font-size: .85rem;
  }

  .rating-user-stats {
    line-height: 1.45;
    word-break: normal;
  }

  .user-rating-row .rating-xp {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    min-width: 0;
  }

  .level-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 300px;
  }
}

@media (max-width: 520px) {
  .site-header .mx-auto {
    padding-top: 1.2rem;
  }

  .site-nav {
    grid-template-columns: 1fr;
  }

  .site-nav a:nth-child(5) {
    grid-column: auto;
  }

  .site-nav a {
    min-height: 40px;
    justify-content: flex-start;
    padding-left: 1rem;
  }

  .user-rating-row .rating-body {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .user-rating-row .rating-avatar-btn {
    grid-column: 2;
  }

  .profile-modal-head {
    grid-template-columns: 64px 1fr;
  }

  .profile-modal-head img {
    width: 64px;
    height: 64px;
  }

  .profile-modal-grid {
    grid-template-columns: 1fr;
  }

  .profile-modal-level > div:first-child {
    display: grid;
  }
}

/* v3.0.5: request desk visual recovery from current archive */
.requests-head {
  align-items: start;
}

.requests-toolbar {
  grid-template-columns: minmax(220px, 320px) minmax(0, auto);
  align-items: center;
  justify-content: space-between;
}

.request-filter-tabs,
.admin-request-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  justify-content: flex-end;
}

.request-filter-btn {
  min-height: 42px;
  border: 1px solid rgba(255,90,0,.42);
  background: rgba(0,0,0,.42);
  color: #f2e7d8;
  padding: .55rem .85rem;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 800;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.request-filter-btn:hover,
.request-filter-btn.active {
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  color: #050505;
  border-color: transparent;
}

.request-card {
  grid-template-columns: 54px minmax(136px, 180px) minmax(0, 1fr) 92px;
  align-items: start;
}

.request-cover-wrap,
.admin-request-cover {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 0;
  height: 152px;
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.55);
  overflow: hidden;
  isolation: isolate;
}

.request-cover-wrap::before,
.admin-request-cover::before {
  content: '';
  position: absolute;
  inset: -18px;
  z-index: 0;
  background-image: var(--request-image);
  background-size: cover;
  background-position: center;
  filter: blur(15px);
  opacity: .34;
  transform: scale(1.08);
}

.request-cover-wrap::after,
.admin-request-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.34));
}

.request-cover,
.admin-request-cover img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.request-cover-wrap.is-wide,
.admin-request-cover.is-wide {
  height: 112px;
}

.request-cover-wrap.is-tall {
  width: min(100%, 142px);
  height: 218px;
  justify-self: center;
}

.admin-request-cover.is-tall {
  width: min(100%, 92px);
  height: 138px;
  justify-self: center;
}

.request-cover-wrap.is-square,
.admin-request-cover.is-square {
  height: 150px;
}

.request-platform {
  display: none;
}

.request-badges {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
  align-items: center;
}

.request-platform-tag {
  white-space: nowrap;
  border: 1px solid rgba(255,90,0,.35);
  padding: .14rem .42rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #ff9b1a;
  background: rgba(0,0,0,.38);
}

.request-platform-steam { color: #8ed0ff; border-color: rgba(142,208,255,.55); }
.request-platform-epic { color: #f2e7d8; border-color: rgba(242,231,216,.45); }
.request-platform-xbox { color: #20e070; border-color: rgba(32,224,112,.55); }

.request-meta-grid span {
  white-space: normal;
  overflow: visible;
  display: block;
}

.request-meta-grid span:nth-child(2) {
  max-width: 260px;
}

.request-form {
  grid-template-columns: minmax(0, 1fr) 176px;
  align-items: stretch;
}

.request-form .hud-input {
  width: 100%;
}

@media (max-width: 900px) {
  .request-card.request-card-final {
    grid-template-columns: 42px minmax(112px, 160px) minmax(0, 1fr);
  }

  .requests-toolbar {
    grid-template-columns: 1fr;
  }

  .request-filter-tabs,
  .admin-request-filter-tabs {
    justify-content: flex-start;
  }

  .request-card {
    grid-template-columns: 42px minmax(112px, 160px) minmax(0, 1fr);
  }

  .request-cover-wrap.is-wide {
    height: 96px;
  }

  .request-cover-wrap.is-tall {
    width: min(100%, 126px);
    height: 190px;
  }
}

@media (max-width: 640px) {
  .request-card.request-card-final {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .request-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .request-rank {
    grid-column: 1;
    grid-row: 1;
    place-items: center;
  }

  .request-cover-wrap {
    grid-column: 2;
    grid-row: 1;
    max-width: 190px;
    justify-self: start;
  }

  .request-cover-wrap.is-wide {
    height: 108px;
  }

  .request-cover-wrap.is-tall {
    width: min(100%, 130px);
    height: 190px;
    justify-self: start;
  }

  .request-main {
    grid-column: 1 / -1;
  }

  .request-title-line {
    flex-direction: column;
  }

  .request-badges {
    justify-content: flex-start;
  }

  .request-vote-box {
    grid-column: 1 / -1;
    min-height: 64px;
    grid-template-columns: auto auto auto;
    gap: .6rem;
  }

  .request-form {
    grid-template-columns: 1fr;
  }

  .request-filter-btn {
    flex: 1 1 auto;
  }
}

/* v3.1: CMS news, WYSIWYG FAQ/news and improved request images */
.cms-content {
  color: #d7b99d;
  line-height: 1.58;
  overflow-wrap: anywhere;
}
.cms-content :where(h1,h2,h3,h4) {
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 800;
  line-height: 1.12;
  margin: 1rem 0 .55rem;
}
.cms-content :where(p,ul,ol,table,blockquote) { margin: .65rem 0; }
.cms-content :where(ul,ol) { padding-left: 1.35rem; }
.cms-content a { color: #ff9b1a; text-decoration: none; }
.cms-content a:hover { color: #ff5a00; }
.cms-content img {
  max-width: 100%;
  height: auto;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.45);
}
.cms-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .9rem;
}
.cms-content th,
.cms-content td {
  border: 1px solid rgba(255,90,0,.28);
  padding: .55rem;
}
.cms-content blockquote {
  border-left: 3px solid #ff5a00;
  padding: .45rem .75rem;
  background: rgba(255,90,0,.055);
}

.news-page-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.news-card {
  display: grid;
  grid-template-columns: minmax(190px, 34%) minmax(0, 1fr);
  min-height: 188px;
  border: 1px solid rgba(255,90,0,.28);
  background: linear-gradient(135deg, rgba(255,90,0,.075), rgba(0,0,0,.68));
  overflow: hidden;
}
.news-card-lead {
  grid-column: 1 / -1;
  grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
  min-height: 245px;
  border-color: rgba(255,154,26,.5);
}
.news-card-image {
  position: relative;
  overflow: hidden;
  background: #050505;
  min-height: 100%;
  isolation: isolate;
}
.news-card-image::before {
  content: '';
  position: absolute;
  inset: -18px;
  z-index: -1;
  background-image: var(--news-image);
  background-position: center;
  background-size: cover;
  filter: blur(18px) brightness(.48) saturate(1.1);
  transform: scale(1.08);
}
.news-card-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  background: rgba(0,0,0,.25);
}
.news-card-body {
  padding: 1rem;
  min-width: 0;
}
.news-card-body h3 {
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 900;
  font-size: clamp(1.15rem, 2.1vw, 1.75rem);
  line-height: 1.08;
  margin: .25rem 0 .55rem;
}
.news-card-body p:not(.font-mono) {
  color: #b98f70;
  line-height: 1.45;
}
.news-card-summary {
  color: #b98f70;
  line-height: 1.45;
}
.news-card-summary :where(p,ul,ol,blockquote) { margin: .35rem 0; }
.news-card-summary :where(h1,h2,h3,h4) { font-size: 1.05rem; margin: .35rem 0; }
.news-card-summary img { display: none; }
.news-card-summary a { text-decoration: underline; text-underline-offset: .14em; }
.news-open-btn {
  margin-top: .8rem;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .86rem;
}
.news-open-btn:hover { color: #ff5a00; }
.news-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(6px);
}
.news-modal-card {
  width: min(900px, 100%);
  max-height: min(88vh, 820px);
  overflow: auto;
  position: relative;
  border: 1px solid rgba(255,90,0,.55);
  background: linear-gradient(135deg, rgba(255,90,0,.10), transparent 42%), #080604;
  box-shadow: 0 0 55px rgba(255,90,0,.20), 0 26px 90px rgba(0,0,0,.62);
  padding: 1.15rem;
  scrollbar-color: rgba(255,90,0,.72) rgba(0,0,0,.35);
}
.news-modal-close {
  position: absolute;
  right: .75rem;
  top: .55rem;
  border: 0;
  background: transparent;
  color: #ff9b1a;
  font-size: 1.8rem;
  line-height: 1;
  cursor: pointer;
}
.news-modal-card h3 {
  padding-right: 2rem;
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 900;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  line-height: 1.04;
}
.news-modal-date {
  margin: .45rem 0 1rem;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .86rem;
}
.admin-cms-preview {
  min-height: 120px;
  border: 1px dashed rgba(255,90,0,.28);
  padding: .9rem;
  background: rgba(0,0,0,.32);
}
.admin-news-thumb {
  width: 120px;
  height: 64px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.28);
  margin: .45rem 0;
  display: block;
}

.request-card,
.admin-request-row {
  grid-template-columns: 54px minmax(170px, 220px) minmax(0, 1fr) 92px;
}
.request-card.request-card-final {
  grid-template-columns: 54px minmax(170px, 220px) minmax(0, 1fr);
}
.request-cover-wrap,
.admin-request-cover {
  min-height: 132px;
  background: #050505;
  isolation: isolate;
}
.request-cover-wrap::before,
.admin-request-cover::before {
  content: '';
  position: absolute;
  inset: -16px;
  z-index: 0;
  background-image: var(--request-image);
  background-position: center;
  background-size: cover;
  filter: blur(16px) brightness(.42) saturate(1.1);
  transform: scale(1.08);
}
.request-cover,
.admin-request-cover img {
  position: relative;
  z-index: 1;
  object-fit: contain;
  padding: .15rem;
  background: rgba(0,0,0,.12);
}
.request-cover-wrap.is-wide { min-height: 124px; }
.request-cover-wrap.is-tall { min-height: 176px; }
.admin-request-cover.is-wide { min-height: 94px; }
.admin-request-cover.is-tall { min-height: 142px; }
.request-meta-grid span:nth-child(2) {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
}

@media (max-width: 900px) {
  .news-page-list { grid-template-columns: 1fr; }
  .news-card,
  .news-card-lead { grid-template-columns: 1fr; }
  .news-card-image { height: 210px; }
  .request-card,
  .request-card.request-card-final { grid-template-columns: 42px minmax(130px, 180px) minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .news-card-image { height: 180px; }
  .request-card,
  .request-card.request-card-final { grid-template-columns: 1fr; }
  .request-cover-wrap { height: auto; min-height: 190px; }
}

/* v3.2: homepage command bar, compact hero dashboard, local WYSIWYG fallback */
.site-topline-wrap {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(300px, 1.2fr) minmax(220px, .8fr);
  gap: .85rem;
  align-items: center;
}
.site-system-line {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  color: #ff5a00;
  font-size: .78rem;
  white-space: nowrap;
}
.site-telemetry {
  display: flex;
  justify-content: center;
  gap: 1.05rem;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  white-space: nowrap;
}
.site-nav {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: .45rem !important;
  margin-top: 1.2rem !important;
  overflow: visible !important;
}
.site-nav a {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: .55rem .65rem !important;
  border: 1px solid rgba(255,90,0,.38) !important;
  background: linear-gradient(135deg, rgba(0,0,0,.58), rgba(255,90,0,.045)) !important;
  color: #ff9b1a !important;
  text-decoration: none !important;
  font-family: 'Share Tech Mono', Consolas, monospace !important;
  font-size: .78rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 0 18px rgba(255,90,0,.045) !important;
}
.site-nav a:hover,
.site-nav a.active {
  background: linear-gradient(135deg, rgba(255,90,0,.96), rgba(255,154,26,.86)) !important;
  color: #050505 !important;
  border-color: rgba(255,154,26,.75) !important;
}
.site-header .site-hero {
  margin-top: 1.25rem;
  padding: 1.15rem !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  border: 1px solid rgba(255,90,0,.24);
  background:
    radial-gradient(circle at 22% 34%, rgba(255,90,0,.14), transparent 34%),
    linear-gradient(135deg, rgba(255,90,0,.075), rgba(0,0,0,.34) 46%, rgba(0,0,0,.72));
  box-shadow: inset 0 0 42px rgba(255,90,0,.06), 0 24px 70px rgba(0,0,0,.40);
}
.site-header .site-hero > div:first-child,
.site-header .site-hero > .hud-panel {
  min-width: 0;
}
.site-header .site-hero h1 {
  margin-top: 1rem !important;
  font-size: clamp(3.6rem, 7vw, 5.6rem) !important;
  line-height: .86 !important;
}
.site-header .site-hero p {
  max-width: 680px;
}
.site-header .site-hero .hud-btn {
  min-height: 38px;
  padding: .55rem .78rem;
  font-size: .76rem;
}
.site-header .site-hero .hud-panel {
  padding: 1rem !important;
  min-height: 0;
  background:
    radial-gradient(circle at 88% 8%, rgba(255,90,0,.14), transparent 24%),
    linear-gradient(135deg, rgba(12,12,12,.96), rgba(0,0,0,.84));
}
.site-header .site-hero .biohazard {
  font-size: 3.6rem;
}
#service-status-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}
#service-status-grid .service-stat {
  min-height: 72px;
  padding: .65rem .75rem;
}
#service-status-grid .service-wide {
  grid-column: 1 / -1;
}
#service-status-summary {
  margin-top: .85rem !important;
  font-size: .75rem !important;
}

.fpz-editor-source {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.fpz-editor-shell {
  border: 1px solid rgba(255,90,0,.42);
  background: linear-gradient(135deg, rgba(255,90,0,.045), rgba(0,0,0,.70));
  box-shadow: inset 0 0 26px rgba(255,90,0,.045);
}
.fpz-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .55rem;
  border-bottom: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.52);
}
.fpz-editor-toolbar button {
  min-height: 30px;
  border: 1px solid rgba(255,90,0,.34);
  background: rgba(0,0,0,.55);
  color: #ff9b1a;
  padding: .35rem .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace !important;
  font-size: .72rem;
  cursor: pointer;
}
.fpz-editor-toolbar button:hover,
.fpz-editor-toolbar button.active {
  background: rgba(255,90,0,.92);
  color: #050505;
}
.fpz-editor-surface,
.fpz-editor-html {
  width: 100%;
  outline: none;
  padding: .9rem;
  color: #f2e7d8;
  background: rgba(0,0,0,.55);
  overflow: auto;
  resize: vertical;
}
.fpz-editor-surface:focus,
.fpz-editor-html:focus {
  box-shadow: inset 0 0 0 2px rgba(255,90,0,.16);
}
.fpz-editor-surface img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 1180px) {
  .site-topline-wrap {
    grid-template-columns: 1fr;
  }
  .site-telemetry,
  .auth-bar {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .site-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .site-header .site-hero {
    grid-template-columns: 1fr !important;
  }
  #service-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .site-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-nav a {
    font-size: .74rem !important;
  }
  .site-header .site-hero {
    padding: .95rem !important;
  }
  .site-header .site-hero h1 {
    font-size: clamp(3rem, 16vw, 4.5rem) !important;
  }
  #service-status-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 430px) {
  .site-nav {
    grid-template-columns: 1fr !important;
  }
}

/* v3.3: service rail under menu + redesigned compact homepage hero */
.site-header .service-rail {
  margin-top: .9rem;
  border: 1px solid rgba(255,90,0,.28);
  background:
    radial-gradient(circle at 8% 50%, rgba(32,224,112,.10), transparent 24%),
    linear-gradient(135deg, rgba(0,0,0,.72), rgba(255,90,0,.045));
  box-shadow: inset 0 0 28px rgba(255,90,0,.04);
  padding: .75rem .85rem;
}
.service-rail-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .6rem;
}
.service-rail-head h2 {
  margin: 0;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-size: .95rem;
  line-height: 1;
  color: #f2e7d8;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.service-rail-summary {
  margin: 0 !important;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .74rem !important;
  text-align: right;
}
.service-rail-grid,
#service-status-grid.service-rail-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .55rem !important;
  margin-top: 0 !important;
}
.service-rail-grid .service-stat,
#service-status-grid.service-rail-grid .service-stat {
  min-height: 58px !important;
  padding: .55rem .65rem !important;
  background:
    radial-gradient(circle at 10% 50%, rgba(32,224,112,.08), transparent 48%),
    rgba(0,0,0,.48) !important;
}
.service-rail-grid .service-stat span,
#service-status-grid.service-rail-grid .service-stat span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.service-rail-grid .service-wide,
#service-status-grid.service-rail-grid .service-wide {
  grid-column: auto !important;
}
.service-rail-grid .service-value-row,
#service-status-grid.service-rail-grid .service-value-row {
  margin-top: .2rem;
}
.service-rail-grid small,
#service-status-grid.service-rail-grid small {
  display: block;
  margin-top: .15rem;
  font-size: .72rem;
}

.site-header .site-hero.site-hero-v3 {
  margin-top: .85rem !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr) !important;
  gap: .85rem !important;
  align-items: stretch !important;
}
.hero-main-card,
.hero-profile-card {
  min-width: 0;
  border: 1px solid rgba(255,90,0,.30);
  background:
    radial-gradient(circle at 12% 28%, rgba(255,90,0,.15), transparent 30%),
    linear-gradient(135deg, rgba(0,0,0,.72), rgba(255,90,0,.055));
  box-shadow: inset 0 0 38px rgba(255,90,0,.04), 0 18px 52px rgba(0,0,0,.30);
}
.hero-main-card {
  padding: 1.15rem 1.2rem 1.05rem;
}
.hero-profile-card {
  padding: 1.05rem 1.15rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(circle at 94% 12%, rgba(255,90,0,.16), transparent 25%),
    linear-gradient(135deg, rgba(12,12,12,.94), rgba(0,0,0,.78));
}
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid rgba(255,90,0,.36);
  background: rgba(0,0,0,.48);
  color: #ff9b1a;
  padding: .32rem .55rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .74rem;
  box-shadow: 0 0 20px rgba(255,90,0,.12);
}
.hero-brand-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-top: .75rem;
}
.site-header .site-hero.site-hero-v3 h1 {
  margin: 0 !important;
  font-size: clamp(3.2rem, 7.4vw, 5.8rem) !important;
  line-height: .82 !important;
}
.hero-stack {
  margin: .5rem 0 0 !important;
  max-width: none !important;
  color: rgba(242,231,216,.92) !important;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: clamp(.95rem, 1.25vw, 1.16rem) !important;
}
.hero-desc {
  margin: .95rem 0 0 !important;
  max-width: 760px !important;
  color: #b98f70 !important;
  line-height: 1.55 !important;
  font-size: clamp(.95rem, 1.18vw, 1.08rem) !important;
}
.hero-mark {
  color: rgba(255,90,0,.86);
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1;
  text-shadow: 0 0 20px rgba(255,90,0,.22);
}
.hero-profile-card h2 {
  margin: .25rem 0 .35rem;
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.05;
}
.hero-profile-card p:not(.font-mono) {
  margin: 0;
  color: #b98f70;
  line-height: 1.45;
  font-size: .92rem;
}
.hero-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  margin-top: .95rem;
}
.hero-action-grid .hud-btn {
  justify-content: center;
  min-height: 38px;
  padding: .52rem .65rem;
  font-size: .72rem;
  text-align: center;
}

@media (max-width: 1180px) {
  .service-rail-grid,
  #service-status-grid.service-rail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .site-header .site-hero.site-hero-v3 {
    grid-template-columns: 1fr !important;
  }
  .hero-profile-card {
    display: block;
  }
}
@media (max-width: 760px) {
  .service-rail-head {
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }
  .service-rail-summary {
    text-align: left;
  }
  .service-rail-grid,
  #service-status-grid.service-rail-grid {
    grid-template-columns: 1fr !important;
  }
  .hero-brand-row {
    grid-template-columns: 1fr;
  }
  .hero-mark {
    display: none;
  }
  .hero-action-grid {
    grid-template-columns: 1fr;
  }
  .site-header .site-hero.site-hero-v3 h1 {
    font-size: clamp(3rem, 16vw, 4.4rem) !important;
  }
}

/* Release update requests */
.release-update-box {
  margin-top: .9rem;
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.28);
  padding: .65rem;
  display: grid;
  gap: .45rem;
}
.release-update-meta {
  color: rgba(185,143,112,.92);
  font-family: 'Share Tech Mono', Consolas, monospace !important;
  font-size: .7rem;
  line-height: 1.25;
}
.release-update-btn {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(255,90,0,.48);
  background: rgba(255,90,0,.08);
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace !important;
  font-size: .72rem;
  transition: .18s ease;
}
.release-update-btn:not(:disabled):hover {
  border-color: rgba(255,154,26,.85);
  background: rgba(255,90,0,.18);
  box-shadow: 0 0 18px rgba(255,90,0,.18);
}
.release-update-btn:disabled {
  cursor: not-allowed;
  opacity: .62;
}
.release-update-voted {
  border-color: rgba(74,222,128,.32);
  background: rgba(10,25,15,.30);
}
.release-update-voted .release-update-btn {
  color: #4ade80;
  border-color: rgba(74,222,128,.42);
  background: rgba(74,222,128,.08);
}
.release-update-progress {
  border-color: rgba(255,154,26,.42);
  background: rgba(34,20,4,.34);
}
.release-update-progress .release-update-btn {
  color: #ff9b1a;
  border-color: rgba(255,154,26,.48);
}
.release-update-auth .release-update-btn {
  color: #b98f70;
  border-color: rgba(185,143,112,.32);
}

/* Game details modal */
.game-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0,0,0,.80);
  backdrop-filter: blur(7px);
}
.game-modal-card {
  width: min(980px, 100%);
  max-height: min(90vh, 840px);
  overflow: auto;
  position: relative;
  border: 1px solid rgba(255,90,0,.58);
  background: linear-gradient(135deg, rgba(255,90,0,.12), transparent 44%), #080604;
  box-shadow: 0 0 55px rgba(255,90,0,.22), 0 26px 90px rgba(0,0,0,.66);
  padding: 1rem;
  scrollbar-color: rgba(255,90,0,.72) rgba(0,0,0,.35);
}
.game-modal-close {
  position: absolute;
  right: .75rem;
  top: .55rem;
  z-index: 2;
  border: 0;
  background: transparent;
  color: #ff9b1a;
  font-size: 1.9rem;
  line-height: 1;
  cursor: pointer;
}
.game-modal-layout {
  display: grid;
  grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
}
.game-modal-art {
  min-height: 320px;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.42);
  display: grid;
  place-items: center;
  overflow: hidden;
  position: relative;
}
.game-modal-art::before {
  content: '';
  position: absolute;
  inset: -22px;
  background: inherit;
  filter: blur(18px) brightness(.55);
  opacity: .8;
}
.game-modal-art img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.game-modal-body {
  min-width: 0;
  padding: .25rem .25rem .25rem 0;
  display: flex;
  flex-direction: column;
  gap: .85rem;
}
.game-modal-body h3 {
  padding-right: 2rem;
  color: #f2e7d8;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 900;
  font-size: clamp(1.65rem, 4vw, 3rem);
  line-height: 1.03;
  text-wrap: balance;
}
.game-modal-desc {
  color: #b98f70;
  line-height: 1.52;
  max-width: 68ch;
}
.game-modal-update {
  max-width: 520px;
}
.game-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: auto;
}
@media (max-width: 760px) {
  .game-modal-layout { grid-template-columns: 1fr; }
  .game-modal-art { min-height: 220px; }
  .game-modal-body { padding: 0; }
}

/* Launcher TEK depot editor */
.game-depots-list { display:grid; gap:10px; margin-top:12px; }
.game-depot-row { display:grid; grid-template-columns: 130px minmax(170px,1fr) minmax(160px,1fr) 150px 90px 100px 48px; gap:8px; align-items:end; padding:10px; border:1px solid rgba(255,91,0,.45); background:rgba(255,91,0,.035); }
.game-depot-row label { display:grid; gap:5px; font-size:12px; color:var(--fp-muted,#b98f75); }
.game-depot-row .depot-check { display:flex; align-items:center; gap:7px; padding-bottom:11px; color:var(--fp-text,#f3e5d7); }
.game-depot-row .depot-check input { accent-color:#ff5b00; }
.admin-card-head.compact { align-items:center; gap:12px; }
.admin-card-head.compact > div { display:grid; gap:4px; }
@media (max-width: 1100px) { .game-depot-row { grid-template-columns:1fr 1fr; } }

/* SITE.MODE / BLACKOUT */
.site-mode-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(255,90,0,.34);
  background: linear-gradient(135deg, rgba(8,8,8,.96), rgba(0,0,0,.82));
  box-shadow: inset 0 0 24px rgba(255,90,0,.08), 0 18px 55px rgba(0,0,0,.35);
  padding: 1rem;
}
.site-mode-card h4 {
  margin: .15rem 0 .25rem;
  color: #ff5a00;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.site-mode-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  justify-content: flex-end;
}

.site-mode-editor {
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.34);
  padding: 1rem;
}
.site-mode-editor textarea {
  min-height: 4.2rem;
  resize: vertical;
}
.site-mode-editor-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .75rem;
}
.site-mode-preview {
  border: 1px solid rgba(255,90,0,.18);
  background:
    radial-gradient(circle at 50% 12%, rgba(255,90,0,.14), transparent 34%),
    linear-gradient(135deg, rgba(5,5,5,.94), rgba(0,0,0,.8));
  padding: 1rem;
  overflow: hidden;
}
.site-mode-preview-card {
  display: grid;
  gap: .45rem;
  place-items: center;
  min-height: 190px;
  text-align: center;
  border: 1px solid rgba(255,90,0,.34);
  background: rgba(0,0,0,.55);
  box-shadow: inset 0 0 30px rgba(255,90,0,.08);
  padding: 1.25rem;
}
.site-mode-preview-kicker,
.site-mode-preview-card em {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.site-mode-preview-card strong {
  color: #ff5a00;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-size: clamp(1.45rem, 4vw, 2.8rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 0 24px rgba(255,90,0,.28), 2px 0 0 rgba(0,255,220,.16);
}
.site-mode-preview-card span {
  color: #f2e7d8;
  font-size: 1.05rem;
  font-weight: 700;
}
.site-mode-preview-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .55rem;
  margin-top: .35rem;
}
.site-mode-preview-actions b {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  border: 1px solid rgba(255,90,0,.45);
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .8rem;
  padding: .45rem .75rem;
  text-transform: uppercase;
}
body.site-curtain-active > header,
body.site-curtain-active > main,
body.site-curtain-active > footer {
  display: none !important;
}
.site-curtain {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,90,0,.15), transparent 28%),
    radial-gradient(circle at 18% 72%, rgba(255,154,26,.08), transparent 26%),
    linear-gradient(135deg, #020202 0%, #050505 42%, #000 100%);
  color: #f2e7d8;
  font-family: var(--fpzone-font);
}
.site-curtain:before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.07) 0, rgba(255,255,255,.07) 1px, transparent 2px, transparent 7px);
  mix-blend-mode: screen;
  opacity: .22;
}
.site-curtain:after {
  content: '';
  position: absolute;
  inset: -20%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,90,0,.08), transparent);
  animation: siteCurtainSweep 5.5s linear infinite;
}
.site-curtain-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,90,0,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,90,0,.06) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(circle at 50% 45%, black, transparent 72%);
  opacity: .9;
}
.site-curtain-card {
  position: relative;
  z-index: 2;
  width: min(920px, calc(100vw - 32px));
  border: 1px solid rgba(255,90,0,.48);
  background: linear-gradient(135deg, rgba(8,8,8,.92), rgba(0,0,0,.78));
  box-shadow: 0 0 0 1px rgba(255,90,0,.08), 0 0 80px rgba(255,90,0,.18), 0 28px 90px rgba(0,0,0,.8);
  padding: clamp(1.25rem, 4vw, 3rem);
  text-align: center;
}
.site-curtain-kicker,
.site-curtain-note {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .82rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.site-curtain-card h1 {
  position: relative;
  margin: .65rem auto .75rem;
  color: #ff5a00;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-size: clamp(2rem, 8vw, 5.3rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 0 30px rgba(255,90,0,.36), 2px 0 0 rgba(255,154,26,.3), -2px 0 0 rgba(0,255,220,.18);
  animation: siteCurtainGlitch 2.2s steps(2, end) infinite;
}
.site-curtain-card h1:before,
.site-curtain-card h1:after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .35;
}
.site-curtain-card h1:before {
  color: #ff9b1a;
  transform: translate(2px, -1px);
  clip-path: inset(0 0 55% 0);
}
.site-curtain-card h1:after {
  color: #00ffd5;
  transform: translate(-2px, 1px);
  clip-path: inset(54% 0 0 0);
}
.site-curtain-message {
  margin: 0 auto;
  max-width: 720px;
  color: #f2e7d8;
  font-size: clamp(1.15rem, 3vw, 2rem);
  font-weight: 700;
}
.site-curtain-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .8rem;
  margin: 1.45rem 0 1rem;
}
@keyframes siteCurtainSweep {
  from { transform: translateX(-55%); }
  to { transform: translateX(55%); }
}
@keyframes siteCurtainGlitch {
  0%, 84%, 100% { transform: translate(0); filter: none; }
  86% { transform: translate(-2px, 1px); filter: contrast(1.25); }
  88% { transform: translate(2px, -1px); filter: contrast(1.45); }
  90% { transform: translate(0); filter: none; }
}
@media (max-width: 760px) {
  .site-mode-card { align-items: stretch; flex-direction: column; }
  .site-mode-actions { justify-content: flex-start; }
  .site-mode-editor-actions { align-items: flex-start; flex-direction: column; }
}

/* Launcher game extra files admin block */
.game-extra-files-box .extra-file-upload-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: center;
}
.compact-extra-files-list {
  margin-top: 10px;
}
.compact-extra-file-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 90, 0, .28);
  background: rgba(0, 0, 0, .24);
}
.compact-extra-file-row p {
  margin: 3px 0 0;
}
@media (max-width: 900px) {
  .game-extra-files-box .extra-file-upload-row {
    grid-template-columns: 1fr;
  }
}

/* ================= FPZone Kanban / Roadmap ================= */
.kanban-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.kanban-column {
  min-width: 0;
  border: 1px solid rgba(255, 90, 0, .22);
  background:
    linear-gradient(180deg, rgba(255, 90, 0, .07), rgba(0, 0, 0, .42)),
    rgba(5, 5, 5, .78);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 18px 46px rgba(0,0,0,.34);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
}

.kanban-column-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 16px 12px;
  border-bottom: 1px solid rgba(255, 90, 0, .18);
}

.kanban-column-head p {
  margin: 0;
  color: #ff5a00;
  font: 800 1.35rem/1.05 Tektur, Rajdhani, sans-serif;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.kanban-column-head small {
  display: block;
  margin-top: 4px;
  color: rgba(242, 231, 216, .56);
  font: .75rem/1.35 "Share Tech Mono", Consolas, monospace;
}

.kanban-column-head b {
  min-width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 90, 0, .35);
  background: rgba(255, 90, 0, .10);
  color: #ff9b1a;
  font-family: "Share Tech Mono", Consolas, monospace;
}

.kanban-column-body {
  min-height: 190px;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.kanban-card {
  border: 1px solid rgba(255, 90, 0, .24);
  background: rgba(0, 0, 0, .54);
  padding: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.24);
  position: relative;
}

.kanban-card::before {
  content: "";
  position: absolute;
  inset: -1px auto -1px -1px;
  width: 3px;
  background: linear-gradient(180deg, #ff5a00, rgba(255, 155, 26, .18));
}

.kanban-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.kanban-card h3,
.kanban-card h5 {
  margin: 0;
  color: #f2e7d8;
  font: 800 1.05rem/1.2 Tektur, Rajdhani, sans-serif;
}

.kanban-card-top span {
  flex: 0 0 auto;
  color: rgba(255, 155, 26, .75);
  font: .75rem/1 "Share Tech Mono", Consolas, monospace;
}

.kanban-card p {
  margin: 10px 0 0;
  color: rgba(242, 231, 216, .72);
  font-size: .93rem;
  line-height: 1.48;
  white-space: pre-wrap;
}

.kanban-tags,
.kanban-tag-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 11px;
}

.kanban-tag {
  --tag-color: #ff5a00;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid color-mix(in srgb, var(--tag-color) 70%, transparent);
  background: color-mix(in srgb, var(--tag-color) 16%, transparent);
  color: #f2e7d8;
  padding: 5px 8px;
  font: .72rem/1 "Share Tech Mono", Consolas, monospace;
  text-transform: uppercase;
}

.kanban-tag::before {
  content: "";
  width: 7px;
  height: 7px;
  background: var(--tag-color);
  box-shadow: 0 0 12px var(--tag-color);
}

.kanban-empty {
  border: 1px dashed rgba(255, 90, 0, .25);
  color: rgba(242, 231, 216, .48);
  padding: 18px;
  text-align: center;
  font: .85rem/1.35 "Share Tech Mono", Consolas, monospace;
  background: rgba(0,0,0,.22);
}

.admin-kanban-card {
  cursor: grab;
}

.admin-kanban-card.dragging {
  opacity: .55;
  cursor: grabbing;
}

.admin-kanban-card.is-hidden {
  opacity: .68;
  border-style: dashed;
}

.kanban-card-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

.kanban-card-actions > span {
  margin-right: auto;
  font: .72rem/1 "Share Tech Mono", Consolas, monospace;
}

.kanban-tag-check {
  --tag-color: #ff5a00;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--tag-color) 60%, transparent);
  background: rgba(0,0,0,.42);
  padding: 8px 10px;
  color: #f2e7d8;
  font: .78rem/1 "Share Tech Mono", Consolas, monospace;
  cursor: pointer;
}

.kanban-tag-check input {
  accent-color: var(--tag-color);
}

.kanban-tags-editor {
  display: grid;
  gap: 10px;
}

.kanban-tag-row {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(160px, 1fr) minmax(120px, .65fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid rgba(255, 90, 0, .16);
  background: rgba(0,0,0,.28);
  padding: 12px;
}

.roadmap-panel .page-head {
  margin-bottom: 18px;
}

.roadmap-card {
  min-height: 116px;
}

@media (max-width: 1100px) {
  .kanban-board {
    grid-template-columns: 1fr;
  }

  .kanban-tag-row {
    grid-template-columns: 1fr;
  }
}

/* ================= FPZone compact terminal navigation + profile page ================= */
.site-nav.site-nav-terminal {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: .42rem !important;
  margin-top: 1rem !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: .45rem !important;
  border: 1px solid rgba(255,90,0,.22) !important;
  background:
    linear-gradient(90deg, rgba(255,90,0,.055), transparent 32%, rgba(255,154,26,.045)),
    rgba(0,0,0,.34) !important;
  box-shadow: inset 0 0 24px rgba(255,90,0,.045) !important;
  scrollbar-color: rgba(255,90,0,.7) rgba(0,0,0,.2);
}

.site-nav-terminal .site-nav-group {
  flex: 0 0 auto;
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0 .45rem 0 .25rem;
  color: #ff5a00;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-shadow: 0 0 12px rgba(255,90,0,.35);
}

.site-nav.site-nav-terminal a {
  flex: 0 0 auto !important;
  min-height: 34px !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .38rem !important;
  padding: .38rem .64rem !important;
  border: 1px solid rgba(255,90,0,.36) !important;
  background: linear-gradient(135deg, rgba(0,0,0,.60), rgba(255,90,0,.04)) !important;
  color: #ffb15c !important;
  text-decoration: none !important;
  font-family: 'Share Tech Mono', Consolas, monospace !important;
  font-size: .76rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  box-shadow: inset 0 0 16px rgba(255,90,0,.045) !important;
  position: relative;
  overflow: hidden;
}

.site-nav-terminal a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, rgba(255,154,26,.16), transparent);
  transform: translateX(-115%);
  transition: transform .22s ease;
}

.site-nav-terminal a:hover::before {
  transform: translateX(115%);
}

.site-nav-terminal a b {
  color: #ff5a00;
  font-weight: 800;
}

.site-nav-terminal a:hover,
.site-nav-terminal a.active {
  background: linear-gradient(135deg, rgba(255,90,0,.96), rgba(255,154,26,.86)) !important;
  color: #050505 !important;
  border-color: rgba(255,154,26,.85) !important;
  box-shadow: 0 0 22px rgba(255,90,0,.25) !important;
}

.site-nav-terminal a:hover b,
.site-nav-terminal a.active b {
  color: #140600;
}

.auth-user-link {
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.auth-user-link:hover {
  border-color: rgba(255,154,26,.72);
  box-shadow: 0 0 18px rgba(255,90,0,.18);
  transform: translateY(-1px);
}

.profile-page-panel {
  min-height: 520px;
}

.profile-page-grid {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 1rem;
  align-items: start;
}

.profile-side-card,
.profile-editor-card,
.profile-login-panel {
  border: 1px solid rgba(255,90,0,.26);
  background:
    radial-gradient(circle at top left, rgba(255,90,0,.12), transparent 32%),
    linear-gradient(145deg, rgba(0,0,0,.72), rgba(19,7,0,.72));
  box-shadow: inset 0 0 28px rgba(255,90,0,.045), 0 24px 70px rgba(0,0,0,.45);
}

.profile-side-card,
.profile-editor-card {
  padding: 1rem;
}

.profile-side-head {
  display: flex;
  gap: .9rem;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,90,0,.16);
}

.profile-side-head img {
  width: 76px;
  height: 76px;
  border-radius: 18px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.38);
  box-shadow: 0 0 24px rgba(255,90,0,.12);
}

.profile-side-head p,
.profile-block-head p {
  color: #ff5a00;
  font: .74rem/1 'Share Tech Mono', Consolas, monospace;
  letter-spacing: .06em;
  margin: 0 0 .35rem;
}

.profile-side-head h3,
.profile-block-head h3 {
  color: #f2e7d8;
  margin: 0;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 800;
}

.profile-page-level {
  margin: 1rem 0;
}

.profile-info-list {
  display: grid;
  gap: .55rem;
}

.profile-info-list div,
.profile-steam-linked,
.profile-steam-empty {
  border: 1px solid rgba(255,90,0,.16);
  background: rgba(0,0,0,.32);
  padding: .75rem;
}

.profile-info-list span,
.profile-field span {
  display: block;
  margin-bottom: .25rem;
  color: #b98f70;
  font: .72rem/1 'Share Tech Mono', Consolas, monospace;
  text-transform: uppercase;
}

.profile-info-list b {
  color: #f2e7d8;
  overflow-wrap: anywhere;
}

.profile-editor-card {
  display: grid;
  gap: 1rem;
}

.profile-block {
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.24);
  padding: 1rem;
}

.profile-block-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: .85rem;
}

.profile-block-head > span {
  border: 1px solid rgba(255,90,0,.32);
  color: #ff9b1a;
  background: rgba(0,0,0,.34);
  padding: .3rem .5rem;
  font: .7rem/1 'Share Tech Mono', Consolas, monospace;
}

.profile-field input {
  width: 100%;
  border: 1px solid rgba(255,90,0,.30);
  background: rgba(0,0,0,.52);
  color: #f2e7d8;
  padding: .72rem .8rem;
  outline: none;
  font-family: 'Share Tech Mono', Consolas, monospace;
}

.profile-field input:focus {
  border-color: rgba(255,154,26,.76);
  box-shadow: 0 0 0 2px rgba(255,90,0,.12);
}

.profile-inline-form {
  display: grid;
  gap: .8rem;
}

.profile-block-note,
.profile-locked-box {
  margin: 0;
  color: #b98f70;
  font: .82rem/1.45 'Share Tech Mono', Consolas, monospace;
}

.profile-block-note b {
  color: #ff9b1a;
}

.profile-locked-box {
  border: 1px dashed rgba(255,90,0,.24);
  background: rgba(0,0,0,.24);
  padding: .85rem;
}

.profile-actions.compact {
  margin-top: .15rem;
}

.profile-factorio-linked .auth-pill {
  flex: 0 0 auto;
}

.profile-game-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.profile-steam-linked {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.profile-steam-linked img {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid rgba(255,90,0,.32);
}

.profile-steam-linked div {
  min-width: 0;
  flex: 1;
}

.profile-steam-linked b,
.profile-steam-linked span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-steam-linked span,
.profile-steam-empty p {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  margin: 0;
}

.profile-steam-empty {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.profile-steam-empty .hud-btn[disabled] {
  opacity: .45;
  cursor: not-allowed;
}

.profile-actions {
  display: flex;
  align-items: center;
  gap: .8rem;
  flex-wrap: wrap;
}

.profile-login-panel {
  padding: 2rem;
}

@media (max-width: 1180px) {
  .site-nav.site-nav-terminal {
    grid-template-columns: none !important;
  }
}

@media (max-width: 900px) {
  .profile-page-grid {
    grid-template-columns: 1fr;
  }
  .profile-game-grid {
    grid-template-columns: 1fr;
  }
  .profile-steam-empty,
  .profile-steam-linked {
    align-items: stretch;
    flex-direction: column;
  }
}

/* FPZone hub patch: dashboard, notifications, command palette, badges, admin users. */
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dash-card{border:1px solid rgba(255,90,0,.28);background:linear-gradient(180deg,rgba(30,10,0,.72),rgba(5,5,5,.9));padding:16px;box-shadow:0 0 0 1px rgba(255,90,0,.08),0 18px 40px rgba(0,0,0,.35)}.dash-wide{grid-column:span 3}.dash-card>p{font-family:'Share Tech Mono',monospace;font-size:11px;color:#ff5a00;margin:0 0 8px}.dash-card h3{font-family:'Tektur',sans-serif;color:#ff9b1a;font-size:28px;margin:0 0 8px}.dash-list{display:grid;gap:8px}.dash-list a,.dash-list button,.dash-list>span,.dash-list>b{border:1px solid rgba(255,90,0,.18);background:rgba(0,0,0,.32);padding:8px 10px;text-align:left;font-family:'Share Tech Mono',monospace;color:#f2e7d8}.dash-list a,.dash-list button{display:flex;justify-content:space-between;gap:10px;align-items:center}.dash-list span{color:#b98f70}.chat-message.chat-system{border-color:rgba(255,154,26,.44);background:linear-gradient(90deg,rgba(255,90,0,.10),rgba(0,0,0,.25))}.chat-message.chat-system .chat-avatar-btn img{filter:grayscale(1) contrast(1.2)}.notify-pill{position:fixed;right:18px;bottom:18px;z-index:60;border:1px solid rgba(255,90,0,.55);background:#120600;color:#ff9b1a;font-family:'Share Tech Mono',monospace;padding:10px 13px;box-shadow:0 0 18px rgba(255,90,0,.2)}.notify-pill.has-unread{background:#ff5a00;color:#090300}.notifications-modal,.command-palette{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.72);display:grid;place-items:center}.notifications-modal .notifications-card,.command-card{width:min(620px,calc(100vw - 28px));border:1px solid rgba(255,90,0,.5);background:#070302;padding:18px;box-shadow:0 28px 90px rgba(0,0,0,.72),0 0 28px rgba(255,90,0,.15)}.notifications-card>button[data-notify-close]{float:right;color:#ff5a00;border:1px solid rgba(255,90,0,.45);background:transparent;padding:2px 9px}.notifications-card>p,.command-card>p{font-family:'Share Tech Mono',monospace;color:#ff5a00;font-size:12px}.notifications-card h3{font-family:'Tektur',sans-serif;font-size:30px;color:#ff9b1a}.notifications-list{display:grid;gap:8px;max-height:420px;overflow:auto;margin:12px 0}.notifications-list article{border:1px solid rgba(255,90,0,.18);padding:10px;background:rgba(255,90,0,.04);display:grid;gap:4px}.notifications-list article.unread{border-color:rgba(255,154,26,.55);background:rgba(255,90,0,.1)}.notifications-list b{color:#f2e7d8}.notifications-list span{color:#b98f70}.notifications-list a{color:#ff9b1a}.command-palette.hidden{display:none}.command-card input{width:100%;border:1px solid rgba(255,90,0,.45);background:#050505;color:#f2e7d8;padding:12px 14px;font-family:'Tektur',sans-serif;outline:none}.command-card #command-results{display:grid;gap:6px;margin-top:10px}.command-card button{border:1px solid rgba(255,90,0,.22);background:rgba(255,90,0,.06);color:#f2e7d8;text-align:left;padding:10px 12px;font-family:'Share Tech Mono',monospace}.command-card button:hover{background:#ff5a00;color:#090300}.changelog-list{display:grid;gap:14px}.changelog-item{border:1px solid rgba(255,90,0,.28);background:rgba(0,0,0,.45);padding:18px;display:grid;gap:12px}.changelog-item p{font-family:'Share Tech Mono',monospace;font-size:11px;color:#ff5a00;text-transform:uppercase}.changelog-item h3{font-family:'Tektur',sans-serif;font-size:26px;color:#ff9b1a}.changelog-item span{font-family:'Share Tech Mono',monospace;color:#b98f70;font-size:12px}.profile-modal-badges em{display:inline-flex;align-items:center;border:1px solid var(--badge-color,#ff5a00);color:var(--badge-color,#ff5a00);background:rgba(0,0,0,.35);font-family:'Share Tech Mono',monospace;font-size:11px;padding:2px 6px;margin:2px 4px 2px 0;font-style:normal}.admin-user-row{border:1px solid rgba(255,90,0,.24);padding:14px;display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:14px;background:rgba(0,0,0,.32)}.admin-user-main{display:flex;gap:12px;align-items:center}.admin-user-main img{width:46px;height:46px;border:1px solid rgba(255,90,0,.35);object-fit:cover}.admin-user-main b{display:block;color:#f2e7d8}.admin-user-main span{display:block;color:#b98f70;font-family:'Share Tech Mono',monospace;font-size:12px}.admin-user-edit{display:grid;gap:8px}.admin-user-badges,.settings-check-grid{display:flex;flex-wrap:wrap;gap:8px}.admin-inline-check{font-family:'Share Tech Mono',monospace;font-size:12px;color:#b98f70;display:inline-flex;align-items:center;gap:6px}.badge-check span{border:1px solid var(--badge-color,#ff5a00);color:var(--badge-color,#ff5a00);padding:2px 6px}.faq-spoiler{scroll-margin-top:110px}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}.dash-wide{grid-column:auto}.admin-user-row{grid-template-columns:1fr}}


/* FPZone dashboard cleanup + roadmap status badges */
.dashboard-grid-compact{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.dashboard-grid-compact .dash-card{min-height:0}.dash-card[hidden]{display:none!important}.roadmap-status-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid currentColor;background:rgba(0,0,0,.32);padding:3px 8px;font-family:'Share Tech Mono',monospace;font-size:12px;line-height:1;text-transform:uppercase;letter-spacing:.04em}.roadmap-status-ideas{color:#f2e7d8;box-shadow:0 0 10px rgba(242,231,216,.10)}.roadmap-status-progress{color:#ffd166;box-shadow:0 0 10px rgba(255,209,102,.16)}.roadmap-status-done{color:#44ff88;box-shadow:0 0 10px rgba(68,255,136,.16)}.dash-list a .roadmap-status-badge{margin-left:auto}.roadmap-card .kanban-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-notify-form{margin-top:14px}.admin-notify-target-row{display:grid;grid-template-columns:minmax(170px,220px) 1fr;gap:10px}.admin-user-row .admin-user-main b{overflow-wrap:anywhere}@media(max-width:1100px){.dashboard-grid-compact{grid-template-columns:1fr}.admin-notify-target-row{grid-template-columns:1fr}}

.notification-toast{position:fixed;right:18px;bottom:72px;z-index:95;width:min(380px,calc(100vw - 32px));border:1px solid rgba(255,90,0,.62);background:linear-gradient(180deg,rgba(24,7,0,.98),rgba(5,5,5,.98));box-shadow:0 20px 70px rgba(0,0,0,.65),0 0 28px rgba(255,90,0,.22);padding:14px 16px 16px;display:grid;gap:6px;animation:fpzoneToastIn .18s ease-out}.notification-toast-kicker{font-family:'Share Tech Mono',monospace;font-size:11px;color:#ff5a00;letter-spacing:.08em}.notification-toast b{font-family:'Tektur',sans-serif;color:#f2e7d8;font-size:18px;line-height:1.2}.notification-toast span{color:#b98f70;font-size:14px;line-height:1.35}.notification-toast-close{position:absolute;right:8px;top:7px;border:1px solid rgba(255,90,0,.4);background:transparent;color:#ff5a00;width:24px;height:24px}.notification-toast-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.notification-toast-actions button,.notification-toast-actions a,.notification-item-actions button,.notification-item-actions a{border:1px solid rgba(255,90,0,.45);background:rgba(255,90,0,.08);color:#ff9b1a;font-family:'Share Tech Mono',monospace;font-size:12px;padding:6px 9px;text-decoration:none}.notification-toast-actions button:hover,.notification-toast-actions a:hover,.notification-item-actions button:hover,.notification-item-actions a:hover{background:#ff5a00;color:#090300}.notification-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}.notification-item-actions em{color:#6f5a49;font-style:normal;font-family:'Share Tech Mono',monospace;font-size:12px}@keyframes fpzoneToastIn{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.admin-notify-chat-check{align-items:center;margin-top:4px;color:#f2e7d8}

/* FPZone mobile navigation hotfix: group menu into CORE / USER / DEV columns. */
@media (max-width: 760px) {
  .site-nav.site-nav-terminal {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: .42rem !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding: .55rem !important;
  }

  .site-nav-terminal .site-nav-group {
    min-height: 24px !important;
    justify-content: center !important;
    padding: 0 .15rem !important;
    font-size: .72rem !important;
    border-bottom: 1px solid rgba(255, 90, 0, .26);
  }

  .site-nav-terminal .site-nav-group:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .site-nav-terminal .site-nav-group:nth-of-type(2) { grid-column: 2; grid-row: 1; }
  .site-nav-terminal .site-nav-group:nth-of-type(3) { grid-column: 3; grid-row: 1; }

  .site-nav.site-nav-terminal a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: .44rem .22rem !important;
    gap: .18rem !important;
    flex-direction: column !important;
    font-size: .68rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .site-nav-terminal a b,
  .site-nav-terminal a span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .site-nav-terminal a b {
    font-size: .75rem;
  }

  .site-nav-terminal a:nth-of-type(1) { grid-column: 1; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(2) { grid-column: 1; grid-row: 3; }
  .site-nav-terminal a:nth-of-type(3) { grid-column: 1; grid-row: 4; }
  .site-nav-terminal a:nth-of-type(4) { grid-column: 2; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(5) { grid-column: 2; grid-row: 3; }
  .site-nav-terminal a:nth-of-type(6) { grid-column: 2; grid-row: 4; }
  .site-nav-terminal a:nth-of-type(7) { grid-column: 3; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(8) { grid-column: 3; grid-row: 3; }
}

@media (max-width: 420px) {
  .site-nav.site-nav-terminal {
    gap: .32rem !important;
    padding: .45rem !important;
  }

  .site-nav.site-nav-terminal a {
    font-size: .62rem !important;
    min-height: 40px !important;
  }

  .site-nav-terminal .site-nav-group {
    font-size: .66rem !important;
  }
}

/* FPZone mobile nav v2: three readable rows instead of three narrow columns. */
@media (max-width: 760px) {
  .site-nav.site-nav-terminal {
    display: grid !important;
    grid-template-columns: minmax(58px, .58fr) repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(44px, auto) !important;
    align-items: stretch !important;
    gap: .36rem !important;
    overflow: visible !important;
    padding: .5rem !important;
  }

  .site-nav-terminal .site-nav-group {
    min-width: 0 !important;
    width: auto !important;
    min-height: 44px !important;
    height: auto !important;
    padding: .34rem .18rem !important;
    justify-content: center !important;
    align-items: center !important;
    border: 1px solid rgba(255, 90, 0, .22) !important;
    border-right-color: rgba(255, 120, 0, .48) !important;
    background: linear-gradient(180deg, rgba(35, 11, 0, .62), rgba(12, 4, 0, .82)) !important;
    font-size: .68rem !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .site-nav-terminal .site-nav-group:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .site-nav-terminal .site-nav-group:nth-of-type(2) { grid-column: 1; grid-row: 2; }
  .site-nav-terminal .site-nav-group:nth-of-type(3) { grid-column: 1; grid-row: 3; }

  .site-nav.site-nav-terminal a {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: .38rem .18rem !important;
    gap: .12rem !important;
    flex-direction: column !important;
    justify-content: center !important;
    font-size: .64rem !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .site-nav-terminal a b,
  .site-nav-terminal a span {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .site-nav-terminal a b {
    font-size: .72rem !important;
  }

  .site-nav-terminal a:nth-of-type(1) { grid-column: 2; grid-row: 1; }
  .site-nav-terminal a:nth-of-type(2) { grid-column: 3; grid-row: 1; }
  .site-nav-terminal a:nth-of-type(3) { grid-column: 4; grid-row: 1; }
  .site-nav-terminal a:nth-of-type(4) { grid-column: 2; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(5) { grid-column: 3; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(6) { grid-column: 4; grid-row: 2; }
  .site-nav-terminal a:nth-of-type(7) { grid-column: 2; grid-row: 3; }
  .site-nav-terminal a:nth-of-type(8) { grid-column: 3 / span 2; grid-row: 3; }
}

@media (max-width: 380px) {
  .site-nav.site-nav-terminal {
    grid-template-columns: minmax(50px, .52fr) repeat(3, minmax(0, 1fr)) !important;
    gap: .28rem !important;
    padding: .38rem !important;
  }

  .site-nav-terminal .site-nav-group {
    font-size: .6rem !important;
    padding-left: .1rem !important;
    padding-right: .1rem !important;
  }

  .site-nav.site-nav-terminal a {
    min-height: 42px !important;
    font-size: .58rem !important;
  }

  .site-nav-terminal a b {
    font-size: .66rem !important;
  }
}

/* FPZone hotfix: roadmap status badges must beat generic .dash-list span colors. */
.roadmap-status-badge.roadmap-status-ideas,
.dash-list span.roadmap-status-badge.roadmap-status-ideas {
  color: #f5eee4 !important;
  border-color: rgba(245, 238, 228, .72) !important;
  background: linear-gradient(180deg, rgba(245, 238, 228, .10), rgba(0, 0, 0, .30)) !important;
  box-shadow: 0 0 12px rgba(245, 238, 228, .14) !important;
}

.roadmap-status-badge.roadmap-status-progress,
.dash-list span.roadmap-status-badge.roadmap-status-progress {
  color: #ffd166 !important;
  border-color: rgba(255, 209, 102, .82) !important;
  background: linear-gradient(180deg, rgba(255, 209, 102, .13), rgba(0, 0, 0, .30)) !important;
  box-shadow: 0 0 14px rgba(255, 209, 102, .20) !important;
}

.roadmap-status-badge.roadmap-status-done,
.dash-list span.roadmap-status-badge.roadmap-status-done {
  color: #44ff88 !important;
  border-color: rgba(68, 255, 136, .82) !important;
  background: linear-gradient(180deg, rgba(68, 255, 136, .13), rgba(0, 0, 0, .30)) !important;
  box-shadow: 0 0 14px rgba(68, 255, 136, .22) !important;
}


/* FPZone hotfix: collapsed admin tree by default + compact homepage quick actions. */
.site-quick-actions {
  margin-top: .85rem;
  border: 1px solid rgba(255,90,0,.28);
  background: linear-gradient(90deg, rgba(255,90,0,.10), rgba(0,0,0,.58));
  box-shadow: inset 0 0 34px rgba(255,90,0,.035), 0 12px 34px rgba(0,0,0,.24);
  padding: .62rem .75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
}
.site-quick-actions-title {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}
.quick-led {
  width: .44rem;
  height: .44rem;
  background: #ff5a00;
  box-shadow: 0 0 12px rgba(255,90,0,.55);
  display: inline-block;
}
.site-quick-actions-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
}
.site-quick-actions-grid .hud-btn {
  min-height: 34px;
  justify-content: center;
  padding: .42rem .58rem;
  font-size: .72rem;
  text-align: center;
}
.admin-nav-group:not([open]) summary {
  border-bottom-color: transparent;
}
.admin-nav-group:not([open]) {
  background: linear-gradient(90deg, rgba(255,90,0,.055), rgba(0,0,0,.22));
}
.admin-nav-group:not([open]) summary small {
  opacity: .78;
}
@media (max-width: 760px) {
  .site-quick-actions {
    grid-template-columns: 1fr;
    gap: .55rem;
  }
  .site-quick-actions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 420px) {
  .site-quick-actions-grid {
    grid-template-columns: 1fr;
  }
}

/* FPZone hotfix: homepage dashboard spoiler. */
.dashboard-spoiler{
  border:1px solid rgba(255,90,0,.32);
  background:linear-gradient(180deg,rgba(28,9,0,.42),rgba(3,3,3,.78));
  box-shadow:0 0 0 1px rgba(255,90,0,.06),0 14px 34px rgba(0,0,0,.28);
}
.dashboard-spoiler-summary{
  min-height:48px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  padding:12px 16px;
  cursor:pointer;
  user-select:none;
  list-style:none;
  border-bottom:1px solid transparent;
}
.dashboard-spoiler-summary::-webkit-details-marker{display:none}
.dashboard-spoiler-summary::before{
  content:'▸';
  color:#ff9b1a;
  font-family:'Share Tech Mono',monospace;
  transform:translateY(-1px);
}
.dashboard-spoiler[open] .dashboard-spoiler-summary{border-bottom-color:rgba(255,90,0,.22)}
.dashboard-spoiler[open] .dashboard-spoiler-summary::before{content:'▾'}
.dashboard-spoiler-summary span{
  font-family:'Share Tech Mono',monospace;
  font-size:11px;
  color:#ff5a00;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.dashboard-spoiler-summary b{
  color:#f2e7d8;
  font-family:'Tektur',sans-serif;
  font-size:15px;
  font-weight:700;
}
.dashboard-spoiler-summary em{
  justify-self:end;
  border:1px solid rgba(255,154,26,.42);
  color:#ff9b1a;
  background:rgba(0,0,0,.28);
  padding:4px 9px;
  font-family:'Share Tech Mono',monospace;
  font-size:11px;
  font-style:normal;
  text-transform:uppercase;
}
.dashboard-spoiler-body{padding:14px}
@media(max-width:720px){
  .dashboard-spoiler-summary{
    grid-template-columns:auto 1fr;
    gap:8px 12px;
    padding:11px 12px;
  }
  .dashboard-spoiler-summary span{grid-column:2}
  .dashboard-spoiler-summary b{grid-column:2;font-size:13px}
  .dashboard-spoiler-summary em{grid-column:2;justify-self:start;margin-top:2px}
  .dashboard-spoiler-body{padding:10px}
}

/* FPZone hotfix: dashboard spoiler render without empty native <details> gap. */
.dashboard-spoiler{display:block;overflow:hidden}
.dashboard-spoiler-summary{
  width:100%;
  border:0;
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  text-align:left;
}
.dashboard-spoiler-summary:focus-visible{outline:1px solid rgba(255,154,26,.8);outline-offset:-3px}
.dashboard-spoiler-summary::before{content:'▸'}
.dashboard-spoiler.is-open .dashboard-spoiler-summary{border-bottom:1px solid rgba(255,90,0,.22)}
.dashboard-spoiler.is-open .dashboard-spoiler-summary::before{content:'▾'}
.dashboard-spoiler:not(.is-open) .dashboard-spoiler-body{display:none!important;padding:0!important;margin:0!important;height:0!important;min-height:0!important;overflow:hidden!important}
.dashboard-spoiler-body[hidden]{display:none!important}
.dashboard-spoiler.is-open .dashboard-spoiler-body{display:grid!important;background:transparent;min-height:0!important}

/* FPZone hotfix: compact FPZONE.HUB spoiler header, no ghost grid row. */
.dashboard-spoiler-summary,
.dashboard-spoiler .dashboard-spoiler-summary {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 0 !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  line-height: 1 !important;
}
.dashboard-spoiler-summary::before,
.dashboard-spoiler .dashboard-spoiler-summary::before {
  flex: 0 0 auto !important;
  transform: none !important;
  margin-right: 2px !important;
}
.dashboard-spoiler-summary span,
.dashboard-spoiler .dashboard-spoiler-summary span {
  flex: 0 0 auto !important;
  grid-column: auto !important;
  margin: 0 !important;
}
.dashboard-spoiler-summary b,
.dashboard-spoiler .dashboard-spoiler-summary b {
  flex: 1 1 auto !important;
  grid-column: auto !important;
  justify-self: auto !important;
  margin: 0 0 0 auto !important;
  text-align: right !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.dashboard-spoiler-summary em,
.dashboard-spoiler .dashboard-spoiler-summary em {
  flex: 0 0 auto !important;
  grid-column: auto !important;
  justify-self: auto !important;
  margin: 0 !important;
  padding: 4px 8px !important;
}
.dashboard-spoiler.is-open .dashboard-spoiler-body {
  margin-top: 0 !important;
  padding-top: 10px !important;
}
@media (max-width: 720px) {
  .dashboard-spoiler-summary,
  .dashboard-spoiler .dashboard-spoiler-summary {
    padding: 8px 9px !important;
  }
  .dashboard-spoiler-summary b,
  .dashboard-spoiler .dashboard-spoiler-summary b {
    display: none !important;
  }
  .dashboard-spoiler-summary em,
  .dashboard-spoiler .dashboard-spoiler-summary em {
    margin-left: auto !important;
  }
}

/* v3.0.18: chat mentions and non-clickable system messages */
.chat-avatar-btn:disabled,
.chat-user-static {
  cursor: default;
}
.chat-avatar-btn:disabled img {
  opacity: .85;
}
.chat-avatar-btn:disabled:hover img,
.chat-user-static:hover {
  filter: none;
  color: #ff9b1a;
}
.chat-message.chat-mentioned {
  border-color: rgba(255, 214, 90, .58);
  background: linear-gradient(90deg, rgba(255, 196, 0, .10), rgba(0, 0, 0, .24));
  box-shadow: inset 3px 0 0 rgba(255, 214, 90, .78), 0 0 18px rgba(255, 196, 0, .08);
}
.chat-mention {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 154, 26, .45);
  background: rgba(255, 90, 0, .10);
  color: #ffb04a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .92em;
  padding: 0 .28rem;
  margin: 0 .08rem;
  cursor: pointer;
}
.chat-mention:hover {
  background: #ff5a00;
  color: #090300;
  box-shadow: 0 0 14px rgba(255, 90, 0, .28);
}
.chat-mention-me {
  border-color: rgba(255, 214, 90, .85);
  color: #ffe05a;
  box-shadow: 0 0 16px rgba(255, 214, 90, .16);
}
.chat-mention-suggest {
  position: absolute;
  left: 0;
  right: 142px;
  bottom: calc(100% + 8px);
  z-index: 12;
  display: grid;
  gap: 4px;
  max-height: 240px;
  overflow: auto;
  border: 1px solid rgba(255, 90, 0, .45);
  background: linear-gradient(180deg, rgba(20, 6, 0, .98), rgba(5, 5, 5, .98));
  padding: 6px;
  box-shadow: 0 20px 55px rgba(0, 0, 0, .65), 0 0 24px rgba(255, 90, 0, .18);
}
.chat-mention-suggest.hidden { display: none; }
.chat-mention-suggest button {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 8px;
  align-items: center;
  width: 100%;
  border: 1px solid rgba(255, 90, 0, .18);
  background: rgba(0, 0, 0, .34);
  color: #f2e7d8;
  padding: 6px 8px;
  text-align: left;
  font-family: 'Tektur', sans-serif;
}
.chat-mention-suggest button:hover {
  border-color: rgba(255, 154, 26, .72);
  background: rgba(255, 90, 0, .18);
}
.chat-mention-suggest img {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid rgba(255, 90, 0, .35);
  object-fit: cover;
}
.chat-mention-suggest span {
  display: grid;
  min-width: 0;
}
.chat-mention-suggest b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chat-mention-suggest em,
.chat-mention-suggest strong {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: 11px;
  font-style: normal;
}
.chat-mention-suggest strong {
  color: #ff5a00;
}
@media (max-width: 640px) {
  .chat-mention-suggest {
    right: 0;
    bottom: calc(100% + 6px);
  }
}


.game-fix-files-box {
  border: 1px solid rgba(255, 90, 0, .35);
  background: rgba(20, 6, 0, .45);
  padding: 14px;
}
.fix-toggle {
  margin: 10px 0 12px;
  color: var(--fp-text, #f2e7d8);
}
.fix-files-grid textarea.monospace,
.admin-textarea.monospace {
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  line-height: 1.45;
  white-space: pre;
}


.fix-library-box {
  border: 1px solid rgba(255, 138, 0, .22);
  background: rgba(0, 0, 0, .22);
  padding: 12px;
  margin-bottom: 12px;
}
.fix-shared-upload-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin: 10px 0;
}
.fix-catalog-list {
  display: grid;
  gap: 8px;
}
.fix-catalog-row {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(255, 90, 0, .28);
  background: rgba(0, 0, 0, .28);
}
.fix-catalog-check {
  margin: 0;
}
.fix-catalog-check span {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.fix-catalog-check small {
  color: var(--fp-muted, #a98b78);
  font-size: .72rem;
}
.fix-catalog-row code {
  color: var(--fp-muted, #a98b78);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fix-advanced-url-box {
  margin-top: 10px;
  border-top: 1px solid rgba(255, 90, 0, .18);
  padding-top: 8px;
}
.fix-advanced-url-box summary {
  cursor: pointer;
  color: var(--fp-orange, #ff8a00);
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .04em;
}
.fix-advanced-url-box textarea {
  margin-top: 8px;
}

.fix-structured-card {
  border: 1px solid rgba(255, 138, 0, .18);
  background: rgba(0, 0, 0, .20);
  padding: 12px;
}
.fix-inline-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(160px, 1fr));
  gap: 10px;
}
.fix-list-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin: 10px 0 8px;
  color: var(--fp-orange, #ff8a00);
  text-transform: uppercase;
  font-size: .78rem;
  letter-spacing: .04em;
}
.fix-dynamic-list {
  display: grid;
  gap: 8px;
}
.fix-dynamic-row {
  display: grid;
  grid-template-columns: minmax(76px, 120px) minmax(180px, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.fix-dynamic-row-single {
  grid-template-columns: minmax(220px, 1fr) auto;
}
.fix-dynamic-row .admin-danger {
  min-width: 42px;
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 900px) {
  .fix-shared-upload-row,
  .fix-catalog-row,
  .fix-inline-grid,
  .fix-dynamic-row,
  .fix-dynamic-row-single {
    grid-template-columns: 1fr;
  }
}

/* Badge/access hotfix */
.chat-user-link {
  color: var(--chat-name-color, #ff9b1a);
}
.chat-user-badge {
  display: inline-flex;
  align-items: center;
  margin-left: .35rem;
  border: 1px solid var(--badge-color, #ff5a00);
  color: var(--badge-color, #ff5a00);
  background: rgba(0,0,0,.35);
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .62rem;
  line-height: 1;
  padding: .11rem .32rem;
  font-style: normal;
  box-shadow: 0 0 10px color-mix(in srgb, var(--badge-color, #ff5a00) 25%, transparent);
}
.chat-mention-suggest strong {
  border: 1px solid var(--badge-color, #b44732);
  color: var(--badge-color, #b44732);
  background: rgba(0,0,0,.35);
  font-size: .62rem;
  padding: .08rem .28rem;
}
.user-admin-badge {
  border-color: rgba(180,71,50,.78) !important;
  color: #ff7a5f !important;
  background: rgba(180,71,50,.12);
  box-shadow: 0 0 12px rgba(180,71,50,.18);
}

/* Access allowlist chips for site curtain */
.access-check-grid {
  align-items: flex-start;
  border: 1px solid rgba(255, 90, 0, .18);
  background: rgba(0, 0, 0, .22);
  padding: 10px;
  min-height: 42px;
}
.access-check {
  border: 1px solid rgba(255, 90, 0, .22);
  background: rgba(255, 90, 0, .04);
  padding: 5px 8px;
}
.access-check input {
  accent-color: #ff7a00;
}
.access-check > span {
  color: #f2e7d8;
  text-transform: uppercase;
}
.access-add-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  margin-top: 8px;
}
.access-add-row input {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(255, 90, 0, .45);
  background: rgba(0, 0, 0, .5);
  color: #f2e7d8;
  padding: 8px 10px;
  font-family: 'Share Tech Mono', monospace;
}
@media (max-width: 720px) {
  .access-add-row { grid-template-columns: 1fr; }
}

/* MCSManager services tab */
.services-state b { color: #4ade80; }
.services-daemon { display: block; }
.services-daemon-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: start;
  padding-bottom: .75rem;
  border-bottom: 1px solid rgba(255,90,0,.18);
}
.services-instance-list { display: grid; gap: .55rem; margin-top: .75rem; }
.services-instance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.24);
  padding: .7rem;
}
.services-instance.active {
  border-color: rgba(255,154,26,.72);
  background: rgba(255,90,0,.1);
  box-shadow: inset 3px 0 0 #ff6a00;
}
.services-instance-main { display: grid; gap: .15rem; cursor: pointer; }
.services-instance-main b { color: #f2e7d8; }
.services-instance-main small { color: #b98f70; font-family: 'Share Tech Mono', Consolas, monospace; }
.services-log {
  min-height: 320px;
  max-height: 620px;
  overflow: auto;
  border: 1px solid rgba(255,90,0,.26);
  background: rgba(0,0,0,.55);
  padding: .85rem;
}
.services-command.hidden,
#mcs-services-open-panel.hidden { display: none; }
@media (max-width: 900px) {
  .services-daemon-head,
  .services-instance { grid-template-columns: 1fr; }
  .services-instance .admin-actions { justify-content: flex-start; }
}

.admin-warn { color: #ff9b1a; }

/* Conan Fix admin: prevent signed manifest/public-key text from stretching the whole page */
.admin-grid,
.admin-grid > *,
.admin-section,
.admin-card,
.admin-card-head,
.admin-card-head > *,
.admin-form-grid,
.admin-field,
.admin-actions,
.services-state,
.services-log {
  min-width: 0;
}

.admin-input,
.admin-textarea,
.admin-select,
.services-log {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#tab-conan-fix {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

#tab-conan-fix .admin-card {
  overflow: hidden;
}

#tab-conan-fix .admin-card-head.compact {
  align-items: flex-start;
}

#tab-conan-fix .admin-card-head.compact > div:first-child {
  min-width: 0;
}

#tab-conan-fix .admin-muted,
#tab-conan-fix .services-state,
#conan-fix-upload-state {
  overflow-wrap: anywhere;
  word-break: break-word;
}

#tab-conan-fix .services-log {
  font-size: 11px;
  line-height: 1.45;
  overflow: auto;
}

#conan-fix-public-key {
  min-height: 150px;
  max-height: 260px;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  word-break: break-all;
}

#conan-fix-manifest-json {
  min-height: 260px;
  max-height: 520px;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media (max-width: 900px) {
  #tab-conan-fix .admin-card-head.compact {
    display: grid;
    grid-template-columns: 1fr;
  }
  #tab-conan-fix .admin-actions {
    justify-content: flex-start;
  }
}

/* v3.4: admin users server-side pagination */
.admin-users-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,90,0,.18);flex-wrap:wrap}
.admin-users-pagination-top{margin-top:0;margin-bottom:14px;padding-top:0;padding-bottom:12px;border-top:0;border-bottom:1px solid rgba(255,90,0,.18)}
.admin-users-page-meta{font-family:'Share Tech Mono',monospace;font-size:12px;color:#b98f70;overflow-wrap:anywhere}
.admin-users-pages{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.admin-page-btn{min-width:34px;padding:7px 10px;line-height:1}
.admin-page-btn.active{background:#ff5a00!important;color:#090300!important;border-color:#ff9b1a!important;box-shadow:0 0 16px rgba(255,90,0,.2)}
.admin-page-btn:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.4)}
@media(max-width:700px){.admin-users-pagination{align-items:stretch}.admin-users-page-meta,.admin-users-pages{width:100%;justify-content:flex-start}}

/* Admin v7 dashboard/event log */
.admin-stat small {
  display: block;
  margin-top: .35rem;
  color: rgba(242,231,216,.55);
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  overflow-wrap: anywhere;
}
.admin-stat.is-success { border-color: rgba(74,222,128,.42); }
.admin-stat.is-success b { color: #4ade80; }
.admin-stat.is-warn { border-color: rgba(255,154,26,.52); }
.admin-stat.is-warn b { color: #ff9b1a; }
.admin-stat.is-error { border-color: rgba(255,77,77,.55); }
.admin-stat.is-error b { color: #ff4d4d; }
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.admin-dashboard-panel,
.admin-dashboard-log {
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.24);
  padding: 1rem;
  min-width: 0;
}
.admin-dashboard-list {
  display: grid;
  gap: .55rem;
  min-width: 0;
}
.admin-dashboard-row {
  display: grid;
  grid-template-columns: minmax(76px, auto) 1fr auto;
  gap: .65rem;
  align-items: center;
  min-width: 0;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.28);
  padding: .65rem .75rem;
}
.admin-dashboard-row code {
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .75rem;
}
.admin-dashboard-row b {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #f2e7d8;
}
.admin-dashboard-row span {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  text-align: right;
  overflow-wrap: anywhere;
}
.admin-dashboard-row.is-success { border-color: rgba(74,222,128,.32); }
.admin-dashboard-row.is-warn { border-color: rgba(255,154,26,.42); }
.admin-dashboard-row.is-error { border-color: rgba(255,77,77,.42); }
.admin-dashboard-empty {
  border: 1px dashed rgba(255,90,0,.25);
  color: #b98f70;
  padding: .9rem;
  text-align: center;
  font-family: 'Share Tech Mono', Consolas, monospace;
}
.admin-event-log {
  display: grid;
  gap: .35rem;
  max-height: 420px;
  overflow: auto;
  padding-right: .25rem;
}
.admin-event-row {
  display: grid;
  grid-template-columns: 118px 180px minmax(100px, 170px) 1fr;
  gap: .5rem;
  align-items: start;
  border-left: 3px solid rgba(255,90,0,.45);
  background: rgba(0,0,0,.25);
  padding: .48rem .65rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  min-width: 0;
}
.admin-event-row.is-success { border-left-color: #4ade80; }
.admin-event-row.is-warn { border-left-color: #ff9b1a; }
.admin-event-row.is-error { border-left-color: #ff4d4d; }
.admin-event-time { color: #b98f70; white-space: nowrap; }
.admin-event-type { color: #ff9b1a; overflow-wrap: anywhere; }
.admin-event-actor { color: #f2e7d8; overflow-wrap: anywhere; }
.admin-event-message { color: #cdb9a8; overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .admin-dashboard-grid { grid-template-columns: 1fr; }
  .admin-dashboard-row { grid-template-columns: 1fr; align-items: start; }
  .admin-dashboard-row span { text-align: left; }
  .admin-event-row { grid-template-columns: 1fr; gap: .2rem; }
  .admin-event-log { max-height: 520px; }
}

/* v8 notifications */
.admin-notifications-list{display:grid;gap:10px}.admin-notification-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(255,90,0,.22);background:rgba(0,0,0,.36);padding:12px}.admin-notification-row.is-unread{border-color:rgba(255,154,26,.58);box-shadow:inset 3px 0 0 rgba(255,154,26,.72)}.admin-notification-row p{margin:0 0 4px;color:#f2e7d8}.admin-notification-row p em{margin-left:8px;color:#ff9b1a;font-family:'Share Tech Mono',monospace;font-size:11px;font-style:normal}.admin-notification-row span{display:block;color:#b98f70;overflow-wrap:anywhere}.admin-notification-row small{display:block;margin-top:6px;color:#7f6553;font-family:'Share Tech Mono',monospace}.notifications-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0 4px}.notifications-tools span{color:#b98f70;font-family:'Share Tech Mono',monospace;font-size:12px}@media(max-width:760px){.admin-notification-row{grid-template-columns:1fr}.admin-notification-row .hud-btn{justify-self:start}}

/* v9 achievements */
.achievements-block { overflow: hidden; }
.achievement-summary-line {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.45rem 0.8rem;
  align-items: center;
  margin: 0.75rem 0 1rem;
  color: var(--fp-muted, #b99b8a);
  font-family: var(--font-mono, monospace);
}
.achievement-summary-line b { color: var(--fp-orange, #ff5a00); font-size: 1.35rem; }
.achievement-total-progress { grid-column: 1 / -1; }
.achievements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
}
.achievements-grid.is-compact {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.achievement-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 0.75rem;
  align-items: center;
  min-width: 0;
  padding: 0.75rem;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.38);
  box-shadow: inset 0 0 18px rgba(255,90,0,.04);
}
.achievement-card img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 10px rgba(255,90,0,.22));
}
.achievement-card.is-locked img { filter: grayscale(1) opacity(.55); }
.achievement-card.is-hidden img { filter: grayscale(1) opacity(.7) drop-shadow(0 0 10px rgba(180,180,180,.12)); }
.achievement-card p { margin: 0; color: var(--fp-text, #fff2e8); font-weight: 800; line-height: 1.15; }
.achievement-card span { display: block; margin-top: 0.25rem; color: var(--fp-muted, #b99b8a); line-height: 1.25; }
.achievement-card small { display: block; margin-top: 0.35rem; color: var(--fp-orange-soft, #ffb36b); font-family: var(--font-mono, monospace); }
.achievement-card.is-unlocked { border-color: rgba(70, 240, 130, .48); }
.achievement-progress { height: 4px; margin-top: 0.55rem; border: 1px solid rgba(255,90,0,.3); background: rgba(255,255,255,.04); }
.achievement-progress i { display: block; height: 100%; background: var(--fp-orange, #ff5a00); box-shadow: 0 0 10px rgba(255,90,0,.45); }
.achievement-card.is-compact { grid-template-columns: 42px 1fr; padding: .6rem; }
.achievement-card.is-compact img { width: 42px; height: 42px; }
.achievement-card.is-compact p { font-size: .92rem; }
.profile-block.achievements-block { margin-bottom: 1rem; }
.user-profile-card .achievements-block { margin-top: 1rem; }
.admin-achievement-row {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: .85rem;
  align-items: center;
  padding: .8rem;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(0,0,0,.36);
}
.admin-achievement-row img { width: 54px; height: 54px; object-fit: contain; }
.admin-achievement-row p { margin: 0 0 .25rem; }
.admin-achievement-row em { color: var(--fp-orange-soft, #ffb36b); font-style: normal; font-family: var(--font-mono, monospace); }
.admin-achievement-row span, .admin-achievement-row small { display: block; color: var(--fp-muted, #b99b8a); }
.admin-achievement-row.is-hidden { border-color: rgba(255,190,90,.4); }
@media (max-width: 640px) {
  .achievements-grid { grid-template-columns: 1fr; }
  .achievement-card { grid-template-columns: 48px 1fr; }
  .achievement-card img { width: 48px; height: 48px; }
}

/* v10 Party Finder */
.party-panel .party-list,
.admin-party-list {
  display: grid;
  gap: 1rem;
}
.party-card {
  border: 1px solid rgba(255, 90, 0, .28);
  background: linear-gradient(135deg, rgba(12, 12, 12, .96), rgba(5, 5, 5, .98));
  box-shadow: 0 18px 50px rgba(0,0,0,.35);
  padding: 1rem;
}
.party-card-top,
.party-response-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}
.party-card h3 { font-family: Tektur, Rajdhani, sans-serif; font-weight:900; font-size:1.45rem; line-height:1.1; }
.party-desc { color:#d8b9a0; margin:.75rem 0; white-space:pre-wrap; }
.party-meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.5rem; margin:.75rem 0; }
.party-meta span { border:1px solid rgba(255,90,0,.25); padding:.55rem; color:#f2e7d8; font-family:'Share Tech Mono',monospace; }
.party-meta b { display:block; color:#ff9b1a; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.party-author { display:flex; align-items:center; gap:.65rem; color:#b98f70; font-family:'Share Tech Mono',monospace; font-size:.9rem; }
.party-author img { width:34px; height:34px; object-fit:cover; border:1px solid rgba(255,90,0,.4); }
.party-author em { color:#69f08f; font-style:normal; margin-left:auto; }
.party-actions,.party-response-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.85rem; }
.party-responses { display:grid; gap:.6rem; margin-top:.9rem; }
.party-response { border-left:3px solid rgba(255,154,26,.65); background:rgba(0,0,0,.32); padding:.75rem; }
.party-response-accepted { border-left-color:#53f58b; }
.party-response-rejected,.party-response-cancelled { border-left-color:#ff5a00; opacity:.85; }
.party-response p { color:#dcc1aa; white-space:pre-wrap; margin:.35rem 0 0; }
.party-response-head b { color:#fff8ed; }
.party-response-head span { color:#b98f70; font-family:'Share Tech Mono',monospace; font-size:.82rem; }
.party-response-form { display:grid; gap:.6rem; margin-top:.9rem; }
.party-my-response { border:1px dashed rgba(255,90,0,.35); color:#d8b9a0; padding:.75rem; margin-top:.9rem; font-family:'Share Tech Mono',monospace; }
.party-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.65rem; }
.party-status-active { border-color:rgba(83,245,139,.55)!important; }
.party-status-paused { border-color:rgba(255,154,26,.55)!important; }
.party-status-hidden,.party-status-rejected,.party-status-deleted { border-color:rgba(255,90,0,.65)!important; }
.party-status-closed_success { border-color:rgba(83,245,139,.75)!important; }
.party-status-closed_cancelled { opacity:.82; }
.party-mine-check { min-width:max-content; align-self:center; }
.admin-party-row .admin-request-body { min-width:0; }
.admin-party-responses { display:grid; gap:.55rem; margin-top:.75rem; }
@media (max-width: 720px) {
  .party-card-top,.party-response-head { flex-direction:column; }
  .party-author { align-items:flex-start; flex-wrap:wrap; }
  .party-author em { margin-left:0; width:100%; }
  .party-card { padding:.85rem; }
}

.admin-dashboard-card {
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(0,0,0,.28);
  padding: .85rem .95rem;
  min-width: 0;
}
.admin-dashboard-card code {
  display: block;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  margin-bottom: .35rem;
}
.admin-dashboard-card b {
  display: block;
  color: #f2e7d8;
  font-size: 1.25rem;
  overflow-wrap: anywhere;
}
.admin-dashboard-card span {
  display: block;
  margin-top: .25rem;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  overflow-wrap: anywhere;
}
.admin-dashboard-card.is-success { border-color: rgba(74,222,128,.32); }
.admin-dashboard-card.is-warn { border-color: rgba(255,154,26,.42); }
.admin-dashboard-card.is-error { border-color: rgba(255,77,77,.42); }
.admin-backup-row .admin-actions { justify-content: flex-start; }

/* v11.2 Party Finder admin UI polish */
.admin-party-list {
  display: grid;
  gap: 1rem;
}
.admin-party-card {
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(260px, .9fr) minmax(220px, .52fr);
  gap: 1rem;
  align-items: stretch;
  border: 1px solid rgba(255,90,0,.34);
  background:
    radial-gradient(circle at 8% 0%, rgba(255,90,0,.12), transparent 26%),
    linear-gradient(120deg, rgba(255,90,0,.055), rgba(0,0,0,.72));
  padding: 1rem;
  min-width: 0;
}
.admin-party-main,
.admin-party-responses-panel,
.admin-party-actions-panel {
  min-width: 0;
  border: 1px solid rgba(255,90,0,.18);
  background: rgba(0,0,0,.22);
  padding: .9rem;
}
.admin-party-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
  min-width: 0;
}
.admin-party-title-row h4 {
  color: #fff8ed;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  font-weight: 900;
  line-height: 1.12;
  font-size: clamp(1.15rem, 1.6vw, 1.55rem);
  overflow-wrap: anywhere;
}
.admin-party-id {
  margin: 0 0 .2rem !important;
  color: #ff9b1a !important;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.admin-party-badges {
  justify-content: flex-end;
  flex-shrink: 0;
}
.admin-party-description {
  margin-top: .75rem;
  border-left: 2px solid rgba(255,90,0,.36);
  padding-left: .75rem;
}
.admin-party-description b,
.admin-party-subhead b,
.admin-party-note b {
  display: block;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .25rem;
}
.admin-party-description p {
  margin: 0 !important;
  color: #d8b9a0 !important;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.admin-party-meta-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin-top: .85rem;
}
.admin-party-meta-grid span {
  min-width: 0;
  border: 1px solid rgba(255,90,0,.2);
  background: rgba(0,0,0,.24);
  padding: .48rem .55rem;
  color: #f2e7d8;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .82rem;
  overflow-wrap: anywhere;
}
.admin-party-meta-grid b {
  display: block;
  margin-bottom: .12rem;
  color: #b98f70;
  font-family: 'Rajdhani', Arial, sans-serif;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.admin-party-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-bottom: .65rem;
}
.admin-party-subhead span {
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .78rem;
  text-align: right;
}
.admin-party-empty {
  border: 1px dashed rgba(255,90,0,.25);
  padding: .9rem;
  color: #b98f70;
  text-align: center;
}
.admin-party-responses {
  max-height: 360px;
  overflow: auto;
  padding-right: .25rem;
}
.admin-party-responses .party-response {
  border: 1px solid rgba(255,90,0,.18);
  border-left: 3px solid rgba(255,154,26,.75);
  background: rgba(0,0,0,.34);
  padding: .7rem;
}
.admin-party-responses .party-response + .party-response {
  margin-top: .55rem;
}
.admin-party-response-actions {
  margin-top: .55rem;
}
.hud-btn.mini {
  min-height: 34px;
  padding: .38rem .58rem;
  font-size: .86rem;
  line-height: 1.1;
}
.hud-btn.is-current {
  background: linear-gradient(90deg, #ff5a00, #ff9b1a);
  border-color: rgba(255,154,26,.8);
  color: #050505;
  cursor: default;
}
.admin-party-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
}
.admin-party-actions-grid .hud-btn {
  width: 100%;
  justify-content: center;
  text-align: center;
}
.admin-party-note {
  margin-top: .65rem;
  border: 1px solid rgba(255,90,0,.22);
  padding: .55rem .65rem;
  color: #d8b9a0;
  font-family: 'Share Tech Mono', Consolas, monospace;
  overflow-wrap: anywhere;
}
.admin-party-note.is-warn { border-color: rgba(255,122,165,.45); color: #ffb5cb; }
.admin-party-note.is-soft { color: #b98f70; }
.admin-party-card.party-status-active { border-color: rgba(83,245,139,.44); }
.admin-party-card.party-status-paused { border-color: rgba(255,154,26,.55); }
.admin-party-card.party-status-hidden,
.admin-party-card.party-status-rejected,
.admin-party-card.party-status-deleted { border-color: rgba(255,90,0,.65); }
.admin-party-card.party-status-closed_success { border-color: rgba(83,245,139,.72); }
.admin-party-card.party-status-closed_cancelled { opacity: .86; }

@media (max-width: 1180px) {
  .admin-party-card {
    grid-template-columns: minmax(0, 1fr) minmax(250px, .75fr);
  }
  .admin-party-actions-panel {
    grid-column: 1 / -1;
  }
  .admin-party-actions-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .admin-party-card {
    grid-template-columns: 1fr;
    padding: .8rem;
  }
  .admin-party-title-row,
  .admin-party-subhead {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-party-badges { justify-content: flex-start; }
  .admin-party-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-party-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-party-responses { max-height: none; overflow: visible; padding-right: 0; }
}
@media (max-width: 480px) {
  .admin-party-meta-grid,
  .admin-party-actions-grid {
    grid-template-columns: 1fr;
  }
}


/* v11.3 Party admin profile links */
.admin-party-author-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .85rem;
  min-width: 0;
}
.admin-party-author-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-areas: "avatar label" "avatar name" "avatar id";
  align-items: center;
  gap: 0 .6rem;
  min-width: 0;
  border: 1px solid rgba(255,90,0,.24);
  background: rgba(0,0,0,.28);
  color: #f2e7d8;
  padding: .45rem .55rem;
  text-align: left;
  font: inherit;
  cursor: pointer;
}
.admin-party-author-card:hover,
.admin-party-author-card:focus-visible {
  border-color: rgba(255,154,26,.8);
  box-shadow: 0 0 18px rgba(255,90,0,.16);
  outline: none;
}
.admin-party-author-card.is-static { cursor: default; }
.admin-party-author-card img {
  grid-area: avatar;
  width: 38px;
  height: 38px;
  object-fit: cover;
  border: 1px solid rgba(255,90,0,.35);
  background: #050505;
}
.admin-party-author-card span {
  grid-area: label;
  color: #ff9b1a;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.admin-party-author-card b {
  grid-area: name;
  min-width: 0;
  color: #fff8ed;
  font-family: 'Tektur', 'Rajdhani', sans-serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-party-author-card small {
  grid-area: id;
  color: #b98f70;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-party-discord-link {
  flex-shrink: 0;
  border: 1px solid rgba(83,245,139,.38);
  color: #53f58b;
  background: rgba(83,245,139,.06);
  padding: .55rem .75rem;
  font-family: 'Share Tech Mono', Consolas, monospace;
  font-size: .8rem;
  text-decoration: none;
  text-transform: uppercase;
}
.admin-party-discord-link:hover { background: rgba(83,245,139,.16); }
.admin-party-discord-link[aria-disabled="true"] {
  pointer-events: none;
  opacity: .45;
}
.party-response-head .admin-party-author-card {
  max-width: 100%;
  padding: .38rem .45rem;
}
.admin-user-profile-card {
  max-height: min(86vh, 820px);
  overflow: auto;
}
.admin-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}
.admin-profile-actions .hud-btn {
  min-height: 38px;
}
@media (max-width: 760px) {
  .admin-party-author-row {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-party-discord-link {
    text-align: center;
  }
}

/* v11.4: user profile modal achievements compact layout */
.user-profile-card .achievements-block {
  margin-top: .9rem;
  padding: .85rem;
  overflow: hidden;
}

.user-profile-card .achievements-block .profile-block-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .75rem;
  margin-bottom: .65rem;
}

.user-profile-card .achievements-block .profile-block-head > span {
  white-space: nowrap;
  align-self: start;
}

.user-profile-card .achievement-summary-line {
  margin: .55rem 0 .75rem;
  grid-template-columns: auto 1fr;
  gap: .35rem .7rem;
}

.user-profile-card .achievement-summary-line b {
  font-size: 1.05rem;
  line-height: 1;
}

.user-profile-card .achievement-summary-line span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.user-profile-card .achievements-grid.is-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}

.user-profile-card .achievement-card.is-compact {
  grid-template-columns: 36px minmax(0, 1fr);
  min-width: 0;
  min-height: 64px;
  gap: .55rem;
  padding: .55rem;
  align-items: center;
}

.user-profile-card .achievement-card.is-compact img {
  width: 36px;
  height: 36px;
}

.user-profile-card .achievement-card.is-compact > div {
  min-width: 0;
}

.user-profile-card .achievement-card.is-compact p {
  font-size: .82rem;
  line-height: 1.08;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.user-profile-card .achievement-card.is-compact small {
  margin-top: .25rem;
  font-size: .66rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.user-profile-card .achievement-card.is-compact .achievement-progress {
  height: 3px;
  margin-top: .28rem;
}

@media (max-width: 680px) {
  .user-profile-card .achievements-grid.is-compact {
    grid-template-columns: 1fr;
  }

  .user-profile-card .achievements-block .profile-block-head {
    grid-template-columns: 1fr;
  }

  .user-profile-card .achievements-block .profile-block-head > span {
    width: fit-content;
  }
}

/* v12 Header Navigation Rework */
.fp-header-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
.fp-brand-link {
  display: inline-grid;
  gap: 0;
  text-decoration: none;
  min-width: 128px;
}
.fp-brand-link .fp-brand-kicker {
  font-family: 'Share Tech Mono', monospace;
  color: #ff5a00;
  font-size: 10px;
  letter-spacing: .09em;
}
.fp-brand-link strong {
  font-family: 'Tektur', sans-serif;
  font-size: clamp(28px, 3vw, 44px);
  line-height: .95;
  color: #ff5a00;
  text-shadow: 0 0 24px rgba(255,90,0,.28);
}
.site-nav.site-nav-main {
  display: flex !important;
  align-items: stretch;
  justify-content: center;
  gap: 7px;
  grid-template-columns: none !important;
  margin: 0;
  min-width: 0;
}
.site-nav.site-nav-main > a,
.site-nav.site-nav-main .fp-more-toggle {
  min-height: 44px;
  border: 1px solid rgba(255,90,0,.34);
  background: rgba(0,0,0,.42);
  color: #ff9b1a;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 12px;
  font-family: 'Share Tech Mono', monospace;
  font-size: 12px;
  text-transform: uppercase;
  white-space: nowrap;
  text-decoration: none;
  transition: .15s ease;
}
.site-nav.site-nav-main > a b,
.site-nav.site-nav-main .fp-more-toggle b {
  color: #ff5a00;
  font-size: 11px;
  font-weight: 700;
}
.site-nav.site-nav-main > a:hover,
.site-nav.site-nav-main > a.active,
.site-nav.site-nav-main .fp-more-toggle:hover,
.site-nav.site-nav-main .fp-more-toggle.active,
.fp-more-dropdown:focus-within .fp-more-toggle {
  background: #ff5a00;
  color: #070302;
  box-shadow: 0 0 18px rgba(255,90,0,.24);
}
.site-nav.site-nav-main > a:hover b,
.site-nav.site-nav-main > a.active b,
.site-nav.site-nav-main .fp-more-toggle:hover b,
.site-nav.site-nav-main .fp-more-toggle.active b,
.fp-more-dropdown:focus-within .fp-more-toggle b {
  color: #070302;
}
.fp-more-dropdown {
  position: relative;
  display: inline-flex;
}
.fp-more-toggle {
  cursor: pointer;
}
.fp-more-toggle i {
  font-style: normal;
  color: currentColor;
  opacity: .82;
}
.fp-more-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 250px;
  border: 1px solid rgba(255,90,0,.45);
  background: rgba(6,3,2,.98);
  box-shadow: 0 24px 70px rgba(0,0,0,.72), 0 0 24px rgba(255,90,0,.14);
  padding: 8px;
  display: grid;
  gap: 6px;
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
  z-index: 70;
}
.fp-more-dropdown:hover .fp-more-menu,
.fp-more-dropdown:focus-within .fp-more-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.fp-more-menu a {
  display: grid;
  gap: 2px;
  border: 1px solid rgba(255,90,0,.22);
  background: rgba(255,90,0,.05);
  color: #f2e7d8;
  padding: 9px 10px;
  text-decoration: none;
  font-family: 'Share Tech Mono', monospace;
  font-size: 12px;
}
.fp-more-menu a b {
  color: #ff9b1a;
  font-size: 12px;
}
.fp-more-menu a span {
  color: #b98f70;
  font-size: 11px;
}
.fp-more-menu a:hover,
.fp-more-menu a.active {
  border-color: rgba(255,90,0,.75);
  background: rgba(255,90,0,.16);
}
.fp-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
}
.fp-notify-btn,
.fp-burger-btn,
.mobile-bottom-nav button,
.mobile-bottom-nav a {
  border: 1px solid rgba(255,90,0,.38);
  background: rgba(0,0,0,.46);
  color: #ff9b1a;
  font-family: 'Share Tech Mono', monospace;
}
.fp-notify-btn {
  min-width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  position: relative;
  cursor: pointer;
}
.fp-notify-btn b {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 18px;
  height: 18px;
  border-radius: 99px;
  background: #ff5a00;
  color: #070302;
  display: grid;
  place-items: center;
  font-size: 10px;
  line-height: 1;
  padding: 0 5px;
}
.fp-notify-btn.has-unread {
  background: #ff5a00;
  color: #070302;
  box-shadow: 0 0 22px rgba(255,90,0,.28);
}
.fp-burger-btn {
  display: none;
  min-width: 44px;
  height: 44px;
  font-size: 22px;
  cursor: pointer;
}
.fp-system-strip {
  margin-bottom: 14px;
}
.fp-auth-desktop.auth-bar {
  gap: 7px;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
.fp-auth-desktop .auth-btn,
.fp-auth-desktop .auth-user {
  min-height: 44px;
}
.fp-auth-desktop .auth-user span {
  max-width: 128px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mobile-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 78;
  background: rgba(0,0,0,.66);
  backdrop-filter: blur(2px);
}
.mobile-nav-backdrop[hidden] {
  display: none;
}
.mobile-nav-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 79;
  width: min(360px, calc(100vw - 34px));
  background: #070302;
  border-left: 1px solid rgba(255,90,0,.55);
  box-shadow: -24px 0 70px rgba(0,0,0,.72), 0 0 30px rgba(255,90,0,.16);
  padding: 16px;
  transform: translateX(105%);
  transition: transform .18s ease;
  overflow: auto;
}
.mobile-nav-drawer.open {
  transform: translateX(0);
}
.mobile-drawer-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255,90,0,.22);
  padding-bottom: 12px;
  margin-bottom: 12px;
}
.mobile-drawer-head span {
  display: block;
  font-family: 'Share Tech Mono', monospace;
  color: #ff5a00;
  font-size: 11px;
  letter-spacing: .08em;
}
.mobile-drawer-head b {
  display: block;
  font-family: 'Tektur', sans-serif;
  color: #f2e7d8;
  font-size: 28px;
}
.mobile-drawer-head button {
  border: 1px solid rgba(255,90,0,.45);
  color: #ff5a00;
  background: transparent;
  min-width: 38px;
  height: 38px;
  font-size: 24px;
}
.mobile-auth-bar.auth-bar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 12px;
}
.mobile-auth-bar .auth-user,
.mobile-auth-bar .auth-btn,
.mobile-auth-bar .auth-pill {
  width: 100%;
  justify-content: center;
}
.mobile-drawer-nav {
  display: grid;
  gap: 7px;
}
.mobile-drawer-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid rgba(255,90,0,.28);
  background: rgba(255,90,0,.04);
  padding: 12px 12px;
  color: #f2e7d8;
  text-decoration: none;
  font-family: 'Share Tech Mono', monospace;
}
.mobile-drawer-nav a b {
  color: #ff5a00;
  font-size: 11px;
}
.mobile-drawer-nav a.active {
  background: #ff5a00;
  color: #070302;
}
.mobile-drawer-nav a.active b {
  color: #070302;
}
.mobile-bottom-nav {
  display: none;
}

@media (max-width: 1180px) {
  .site-nav.site-nav-main > a,
  .site-nav.site-nav-main .fp-more-toggle {
    padding: 0 9px;
    font-size: 11px;
  }
  .fp-auth-desktop .auth-user span,
  .fp-auth-desktop .auth-btn {
    font-size: 11px;
  }
}

@media (max-width: 980px) {
  .fp-header-main {
    grid-template-columns: auto 1fr auto;
  }
  .site-nav.site-nav-main {
    display: none !important;
  }
  .fp-auth-desktop {
    display: none !important;
  }
  .fp-burger-btn {
    display: inline-grid;
    place-items: center;
  }
  .fp-brand-link strong {
    font-size: 34px;
  }
}

@media (max-width: 760px) {
  body {
    padding-bottom: 78px;
  }
  .site-header .mx-auto {
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .fp-header-main {
    margin-bottom: 8px;
  }
  .fp-brand-link .fp-brand-kicker {
    font-size: 9px;
  }
  .fp-brand-link strong {
    font-size: 30px;
  }
  .fp-system-strip {
    grid-template-columns: 1fr;
    gap: 6px;
    margin-bottom: 0;
  }
  .fp-system-strip .site-telemetry {
    justify-content: flex-start;
    gap: 6px;
    overflow: hidden;
  }
  .fp-system-strip .site-telemetry span {
    font-size: 10px;
    max-width: 46vw;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .site-header .service-rail,
  .site-header .site-quick-actions {
    display: none !important;
  }
  .mobile-bottom-nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 68;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(255,90,0,.42);
    background: rgba(6,3,2,.97);
    box-shadow: 0 -18px 48px rgba(0,0,0,.6), 0 0 22px rgba(255,90,0,.12);
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom));
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button {
    min-width: 0;
    min-height: 54px;
    border: 0;
    border-right: 1px solid rgba(255,90,0,.14);
    background: transparent;
    color: #b98f70;
    text-decoration: none;
    display: grid;
    place-items: center;
    gap: 1px;
    padding: 3px 1px;
    font-size: 11px;
    cursor: pointer;
    position: relative;
  }
  .mobile-bottom-nav a:last-child,
  .mobile-bottom-nav button:last-child {
    border-right: 0;
  }
  .mobile-bottom-nav span {
    font-size: 18px;
    line-height: 1;
    position: relative;
  }
  .mobile-bottom-nav b {
    font-size: 10px;
    font-weight: 500;
  }
  .mobile-bottom-nav .mobile-bottom-profile {
    color: #f2e7d8;
    background: linear-gradient(180deg, rgba(255,90,0,.16), rgba(0,0,0,0));
    border-left: 1px solid rgba(255,90,0,.24);
    border-right: 1px solid rgba(255,90,0,.24);
  }
  .mobile-bottom-nav .mobile-bottom-profile span {
    color: #ff9b1a;
    font-size: 20px;
    filter: drop-shadow(0 0 8px rgba(255,90,0,.35));
  }
  .mobile-bottom-nav .mobile-bottom-profile.active {
    background: linear-gradient(180deg, rgba(255,90,0,.28), rgba(255,90,0,.06));
  }

  .mobile-bottom-nav a.active,
  .mobile-bottom-nav button.has-unread {
    color: #ff5a00;
  }
  .mobile-bottom-nav button.has-unread em {
    position: absolute;
    top: -8px;
    right: -13px;
    min-width: 17px;
    height: 17px;
    border-radius: 99px;
    display: grid;
    place-items: center;
    background: #ff5a00;
    color: #070302;
    font-style: normal;
    font-family: 'Share Tech Mono', monospace;
    font-size: 10px;
    padding: 0 4px;
  }
}

@media (max-width: 420px) {
  .fp-brand-link strong {
    font-size: 26px;
  }
  .fp-notify-btn,
  .fp-burger-btn {
    min-width: 40px;
    height: 40px;
  }
  .mobile-bottom-nav b {
    font-size: 9px;
  }
}

/* v13 user hub/profile/rating/reports */
.profile-center-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.65rem;
}
.profile-center-grid a,.profile-center-grid span{
  display:block;
  border:1px solid rgba(255,90,0,.22);
  background:rgba(0,0,0,.35);
  padding:.85rem;
  color:#b98f70;
  text-decoration:none;
  min-width:0;
}
.profile-center-grid a:hover{border-color:rgba(255,154,26,.65);box-shadow:0 0 18px rgba(255,90,0,.13);transform:translateY(-1px)}
.profile-center-grid b{display:block;color:#f2e7d8;font-size:1.2rem;font-weight:900;overflow-wrap:anywhere}.profile-center-grid span span,.profile-center-grid small{display:block;color:#b98f70;font-size:.86rem;margin-top:.25rem}
.profile-settings-grid{display:grid;gap:.7rem}.profile-settings-grid label{display:flex;align-items:center;gap:.55rem;color:#d4b39d;border:1px solid rgba(255,90,0,.16);background:rgba(0,0,0,.28);padding:.7rem}.profile-settings-grid input[type="checkbox"]{width:20px;height:20px;accent-color:#ff5a00}.profile-settings-grid .profile-actions{margin-top:.25rem}
.rating-user-sort-tabs{display:flex;flex-wrap:wrap;gap:.55rem;margin:.75rem 0 1rem}.rating-sort-tab{border:1px solid rgba(255,90,0,.35);background:rgba(0,0,0,.36);color:#f7c29c;padding:.6rem .85rem;font-family:'Tektur','Rajdhani',sans-serif;font-weight:800;cursor:pointer}.rating-sort-tab.active,.rating-sort-tab:hover{background:#ff5a00;color:#070301;border-color:#ff8a1d;box-shadow:0 0 18px rgba(255,90,0,.18)}
.rating-list:has(.rating-user-card){grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch}.rating-user-card{position:relative;display:grid;grid-template-columns:64px 1fr;gap:.85rem;border:1px solid rgba(255,90,0,.25);background:linear-gradient(145deg,rgba(0,0,0,.5),rgba(23,8,0,.55));padding:1rem;min-width:0;box-shadow:inset 0 0 24px rgba(255,90,0,.04)}.rating-user-card:hover{border-color:rgba(255,154,26,.55);box-shadow:0 0 22px rgba(255,90,0,.12)}.rating-user-rank{position:absolute;top:.65rem;right:.75rem;color:#ff5a00;font-family:'Share Tech Mono',monospace;font-weight:900}.rating-user-card .rating-avatar-btn{border:0;background:transparent;padding:0;cursor:pointer}.rating-user-card .rating-user-avatar{width:64px;height:64px;object-fit:cover;border:1px solid rgba(255,90,0,.35);border-radius:14px}.rating-user-card-main{min-width:0}.rating-user-card-main p{color:#b98f70;margin:.25rem 0 .55rem}.rating-user-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.rating-user-metrics span{border:1px solid rgba(255,90,0,.16);background:rgba(0,0,0,.25);padding:.45rem;color:#ad8a74;font-size:.78rem;text-align:center}.rating-user-metrics b{display:block;color:#f2e7d8;font-size:.95rem;overflow-wrap:anywhere}.chat-actions-wrap{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.chat-report-btn{border:1px solid rgba(255,154,26,.35);background:rgba(0,0,0,.25);color:#ffb36b;padding:.25rem .45rem;font-family:'Share Tech Mono',monospace;cursor:pointer}.chat-report-btn:hover,.party-report-btn:hover{border-color:rgba(255,154,26,.75);color:#fff}.party-public-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}.party-public-actions .party-actions{margin:0}.report-modal-card{max-width:520px}.report-modal-card textarea{resize:vertical}
@media(max-width:760px){.rating-list:has(.rating-user-card){grid-template-columns:1fr}.rating-user-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-center-grid{grid-template-columns:1fr}.profile-settings-grid label{align-items:flex-start}.rating-user-card{grid-template-columns:52px 1fr}.rating-user-card .rating-user-avatar{width:52px;height:52px}.rating-user-rank{position:static;grid-column:1 / -1}}
.profile-center-grid button.profile-center-link{display:block;text-align:left;border:1px solid rgba(255,90,0,.22);background:rgba(0,0,0,.35);padding:.85rem;color:#b98f70;text-decoration:none;min-width:0;font:inherit;cursor:pointer}.profile-center-grid button.profile-center-link:hover{border-color:rgba(255,154,26,.65);box-shadow:0 0 18px rgba(255,90,0,.13);transform:translateY(-1px)}.profile-center-grid button.profile-center-link b{display:block;color:#f2e7d8;font-size:1.2rem;font-weight:900;overflow-wrap:anywhere}.profile-center-grid button.profile-center-link span{display:block;color:#b98f70;font-size:.86rem;margin-top:.25rem}

/* v13.2 reports UI fix */
.report-modal-card{
  width:min(680px, calc(100vw - 32px));
  max-width:680px;
}
.report-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:.85rem;
  align-items:stretch;
  margin-top:.85rem;
}
.report-field{
  display:grid;
  gap:.35rem;
  min-width:0;
}
.report-field span{
  color:#ff9b1a;
  font-family:'Share Tech Mono',monospace;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-field-full{grid-column:1 / -1;}
.report-form .hud-input{
  width:100%;
  min-width:0;
}
.report-form select.hud-input{
  min-height:56px;
}
.report-form textarea.hud-input{
  resize:vertical;
  min-height:118px;
}
.report-submit{grid-column:1 / -1;justify-self:start;min-width:min(292px,100%);}
.report-state{grid-column:1 / -1;min-height:1.2rem;}
.admin-reports-list{display:grid;gap:.9rem;}
.admin-report-card{
  border:1px solid rgba(255,90,0,.28);
  background:linear-gradient(145deg,rgba(0,0,0,.42),rgba(24,7,0,.52));
  padding:1rem;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,300px);
  gap:1rem;
}
.admin-report-card.report-status-open{border-color:rgba(255,154,26,.7)}
.admin-report-card.report-status-review{border-color:rgba(80,170,255,.65)}
.admin-report-card.report-status-resolved{border-color:rgba(32,224,112,.65)}
.admin-report-card.report-status-ignored{border-color:rgba(170,150,130,.35);opacity:.78}
.admin-report-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem;}
.admin-report-kicker{color:#ff5a00;font-family:'Share Tech Mono',monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;}
.admin-report-title{font-family:'Tektur','Arial',sans-serif;font-weight:900;color:#fff3e8;font-size:1.2rem;line-height:1.1;margin:.15rem 0;overflow-wrap:anywhere;}
.admin-report-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.7rem 0;}
.admin-report-meta span{border:1px solid rgba(255,90,0,.18);background:rgba(0,0,0,.22);padding:.5rem;color:#b98f70;font-size:.8rem;overflow-wrap:anywhere;}
.admin-report-meta b{display:block;color:#fff3e8;margin-top:.15rem;font-size:.92rem;}
.admin-report-comment{border:1px dashed rgba(255,154,26,.28);padding:.7rem;color:#d0b09a;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:.65rem;}
.admin-report-actions{display:grid;gap:.55rem;align-content:start;}
.admin-report-actions .hud-btn{width:100%;justify-content:center;}
.admin-report-badge{border:1px solid rgba(255,154,26,.45);padding:.25rem .45rem;color:#ffb36b;font-family:'Share Tech Mono',monospace;font-size:.72rem;text-transform:uppercase;white-space:nowrap;}
.admin-report-badge.open{border-color:rgba(255,154,26,.75);color:#ff9b1a}
.admin-report-badge.review{border-color:rgba(80,170,255,.75);color:#77c7ff}
.admin-report-badge.resolved{border-color:rgba(32,224,112,.75);color:#20e070}
.admin-report-badge.ignored{border-color:rgba(170,150,130,.45);color:#bda18c}
.admin-report-empty{border:1px dashed rgba(255,90,0,.25);padding:1.2rem;text-align:center;color:#b98f70;}
@media(max-width:900px){
  .admin-report-card{grid-template-columns:1fr;}
  .admin-report-meta{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .report-form{grid-template-columns:1fr;}
  .report-submit{width:100%;}
}
.link-button{border:0;background:transparent;color:#fff3e8;font:inherit;font-weight:900;padding:0;cursor:pointer;text-align:left;overflow-wrap:anywhere}.link-button:hover{color:#ff9b1a;text-decoration:underline}

/* v13.4 Desktop header compact row: nav + notify + profile/actions stay on one line. */
@media (min-width: 981px) {
  .fp-header-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: nowrap;
  }

  .fp-brand-link {
    flex: 0 0 auto;
    min-width: 164px;
  }

  .site-nav.site-nav-main {
    flex: 1 1 auto;
    justify-content: flex-start;
    align-items: stretch;
    min-width: 0;
    overflow: visible;
  }

  .site-nav.site-nav-main > a,
  .site-nav.site-nav-main .fp-more-toggle,
  .fp-header-actions .fp-notify-btn,
  .fp-auth-desktop .auth-user,
  .fp-auth-desktop .auth-btn {
    min-height: 44px;
    height: 44px;
  }

  .fp-header-actions {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
    height: 44px;
  }

  .fp-auth-desktop.auth-bar {
    display: inline-flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 6px;
    height: 44px;
    min-width: 0;
  }

  .fp-auth-desktop .auth-user,
  .fp-auth-desktop .auth-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
  }

  .fp-auth-desktop .auth-user {
    max-width: 176px;
    padding: 0 10px;
  }

  .fp-auth-desktop .auth-user img {
    width: 26px;
    height: 26px;
    flex: 0 0 auto;
  }

  .fp-auth-desktop .auth-user span {
    max-width: 86px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .fp-auth-desktop .auth-user b {
    flex: 0 0 auto;
  }

  .fp-auth-desktop .auth-btn {
    padding: 0 11px;
    white-space: nowrap;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .fp-brand-link {
    min-width: 148px;
  }

  .fp-brand-link strong {
    font-size: 34px;
  }

  .site-nav.site-nav-main {
    gap: 5px;
  }

  .site-nav.site-nav-main > a,
  .site-nav.site-nav-main .fp-more-toggle {
    padding: 0 8px;
    gap: 5px;
    font-size: 11px;
  }

  .fp-header-actions {
    gap: 5px;
  }

  .fp-auth-desktop.auth-bar {
    gap: 5px;
  }

  .fp-auth-desktop .auth-user {
    max-width: 154px;
    padding: 0 8px;
  }

  .fp-auth-desktop .auth-user span {
    max-width: 72px;
  }

  .fp-auth-desktop .auth-btn {
    padding: 0 9px;
    font-size: 11px;
  }
}

@media (min-width: 981px) and (max-width: 1120px) {
  .site-nav.site-nav-main > a b,
  .site-nav.site-nav-main .fp-more-toggle b {
    display: none;
  }

  .fp-brand-link {
    min-width: 132px;
  }

  .fp-brand-link strong {
    font-size: 30px;
  }

  .fp-auth-desktop .auth-user span {
    max-width: 54px;
  }
}

/* v13.5: desktop header vertical alignment fix */
@media (min-width: 981px) {
  .fp-header-main {
    align-items: center !important;
  }

  .site-nav.site-nav-main {
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }

  .fp-header-actions {
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .site-nav.site-nav-main > a,
  .site-nav.site-nav-main .fp-more-toggle,
  .fp-header-actions .fp-notify-btn,
  .fp-auth-desktop .auth-user,
  .fp-auth-desktop .auth-btn {
    box-sizing: border-box !important;
    min-height: 44px !important;
    height: 44px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
  }

  .fp-header-actions .fp-notify-btn {
    width: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
  }

  .fp-auth-desktop.auth-bar {
    align-self: center !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}

/* Launcher game media gallery admin field. */
.game-media-textarea {
  min-height: 104px;
  font-family: var(--font-mono, monospace);
  white-space: pre;
}
