:root {
  color-scheme: dark;
  --bg: #02060a;
  --bg-soft: #061018;
  --surface: rgba(4, 13, 20, .86);
  --surface-strong: rgba(2, 8, 13, .96);
  --line: rgba(113, 202, 244, .22);
  --text: #f5f9fc;
  --muted: #91a6b2;
  --cyan: #36e6f4;
  --blue: #258dff;
  --green: #73ff4f;
  --red: #ff394b;
  --gold: #ffc83c;
  --purple: #c667ff;
  --radius: 18px;
  --shadow: 0 28px 90px rgba(0, 0, 0, .58);
  --mx: 50%;
  --my: 35%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 50% 0, rgba(20, 77, 111, .14), transparent 38%),
    linear-gradient(rgba(2,6,10,.94), rgba(2,6,10,.985)),
    url('../img/fox-background.webp?v=1.6.2-site-x8-20260716') center top / cover no-repeat,
    #02060a;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}
body::selection { background: rgba(54, 230, 244, .28); color: #fff; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
img { display: block; max-width: 100%; }

.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.section-shell { width: min(1460px, calc(100% - 48px)); margin-inline: auto; }

.scroll-progress {
  position: fixed;
  z-index: 120;
  top: 0;
  left: 0;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
  height: 2px;
  background: linear-gradient(90deg, var(--red), var(--gold) 48%, var(--cyan));
  box-shadow: 0 0 18px currentColor;
  pointer-events: none;
}
.fx-canvas { position: fixed; inset: 0; z-index: 8; width: 100%; height: 100%; pointer-events: none; opacity: .58; transition: opacity .2s ease; contain: strict; }
.fx-canvas.is-paused, body.hero-offscreen .fx-canvas { opacity: 0; }
.ambient { position: fixed; z-index: -1; width: 38vw; aspect-ratio: 1; border-radius: 50%; filter: blur(110px); opacity: .08; pointer-events: none; }
.ambient--red { left: -18vw; top: 17vh; background: var(--red); }
.ambient--blue { right: -18vw; top: 23vh; background: var(--blue); }

/* HEADER */
.topbar {
  position: fixed;
  z-index: 100;
  top: 16px;
  left: 50%;
  width: min(1460px, calc(100% - 34px));
  min-height: 76px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 0 18px;
  border: 1px solid rgba(94, 190, 235, .31);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(3, 11, 18, .91), rgba(1, 6, 10, .82));
  box-shadow: 0 18px 65px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.045);
  backdrop-filter: blur(20px) saturate(145%);
  transition: top .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.topbar.scrolled { top: 8px; background: rgba(2, 8, 13, .96); border-color: rgba(76, 197, 244, .44); box-shadow: 0 16px 55px rgba(0,0,0,.72); }
.topbar::before, .topbar::after { content: ""; position: absolute; top: -1px; width: 31%; height: 2px; opacity: .95; }
.topbar::before { left: 0; background: linear-gradient(90deg, var(--red), rgba(255,57,75,.25), transparent); }
.topbar::after { right: 0; background: linear-gradient(270deg, var(--blue), rgba(37,141,255,.25), transparent); }
.topbar > * { position: relative; z-index: 1; }
.brand-mini { display: flex; align-items: center; gap: 11px; white-space: nowrap; }
.brand-emblem {
  position: relative;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid rgba(104, 195, 255, .45);
  background: #020407;
  box-shadow: 0 0 0 3px rgba(20,91,143,.11), 0 0 28px rgba(42,147,255,.2);
}
.brand-emblem::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; border-top: 1px solid rgba(255,54,64,.8); border-right: 1px solid rgba(49,154,255,.8); pointer-events: none; }
.brand-emblem img { width: 100%; height: 100%; object-fit: contain; }
.brand-emblem--small { width: 39px; height: 39px; }
.brand-emblem--dialog { width: 64px; height: 64px; }
.brand-wordmark {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 158px;
  line-height: 1;
}
.brand-wordmark__row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
}
.brand-wordmark__fox {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-family: "Arial Black", "Segoe UI Black", Impact, sans-serif;
  font-size: 16px;
  font-weight: 1000;
  letter-spacing: .01em;
  text-shadow: 1px 1px 0 #000;
}
.brand-letter { display: inline-block; }
.brand-letter--f { color: #39cfff; }
.brand-letter--o { color: #ffd83e; }
.brand-letter--x { color: #ff4055; }
.brand-wordmark b {
  font-family: "Arial Black", "Segoe UI Black", Impact, sans-serif;
  font-size: 16px;
  font-weight: 1000;
  letter-spacing: .035em;
  background: linear-gradient(90deg,
    #d7ff58 0%,
    #8dff48 26%,
    #42f04e 55%,
    #22c849 78%,
    #0b8f3b 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #42f04e;
  text-shadow: none;
  filter: none;
}
.brand-wordmark small {
  margin-top: 5px;
  color: #72a1b7;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .3em;
}
.nav { display: flex; align-items: stretch; justify-content: center; min-width: 0; }
.nav a {
  position: relative;
  min-height: 74px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 clamp(10px, 1.45vw, 24px);
  color: #c8d3da;
  font-size: 12px;
  font-weight: 820;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .22s ease, background .22s ease, transform .22s ease;
}
.nav a .icon { color: #8498a3; font-size: 17px; transition: color .22s ease, filter .22s ease; }
.nav a:hover { color: #fff; background: rgba(255,255,255,.028); transform: translateY(-1px); }
.nav a:hover .icon { color: var(--cyan); filter: drop-shadow(0 0 7px var(--cyan)); }
.nav a.active { color: var(--cyan); }
.nav a.active .icon { color: var(--cyan); filter: drop-shadow(0 0 8px rgba(54,230,244,.75)); }
.nav a.active::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--cyan); box-shadow: 0 0 18px var(--cyan); }
.login-chip {
  min-width: 98px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(115,255,79,.57);
  border-radius: 9px;
  padding: 9px 15px;
  background: linear-gradient(180deg, rgba(65,170,43,.14), rgba(13,48,13,.18));
  color: #bdffae;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: inset 0 0 16px rgba(93,255,65,.04), 0 0 18px rgba(91,246,70,.06);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.login-chip:hover { transform: translateY(-1px); filter: brightness(1.16); box-shadow: 0 0 24px rgba(91,246,70,.16); }
.login-chip.logged { border-color: rgba(52,171,255,.58); color: #8fdaff; background: rgba(42,139,220,.12); }
.topbar-actions {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 8px;
  min-width: 0;
}
.admin-quick-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 9px 12px;
  border: 1px solid rgba(255, 174, 66, .52);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(164, 83, 18, .16), rgba(54, 24, 4, .22));
  color: #ffd69a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: inset 0 0 16px rgba(255, 171, 66, .035), 0 0 18px rgba(255, 125, 35, .06);
  transition: transform .2s ease, filter .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.admin-quick-link .icon {
  width: 17px;
  height: 17px;
  color: #ffbd66;
}
.admin-quick-link:hover,
.admin-quick-link.active {
  transform: translateY(-1px);
  filter: brightness(1.13);
  border-color: rgba(255, 194, 104, .82);
  color: #fff0d4;
  box-shadow: 0 0 24px rgba(255, 126, 35, .16);
}
.nav-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 1px solid rgba(73,179,229,.27); border-radius: 9px; background: rgba(6,19,28,.75); cursor: pointer; }
.nav-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 5px; background: #cfe8f2; transition: transform .2s ease, opacity .2s ease; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.install-banner {
  position: fixed;
  z-index: 95;
  left: 50%;
  top: 104px;
  transform: translateX(-50%);
  width: min(560px, calc(100% - 36px));
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 9px 11px;
  border: 1px solid rgba(255,200,60,.4);
  border-radius: 11px;
  background: rgba(25,19,6,.83);
  color: #ffe7a0;
  box-shadow: 0 14px 45px rgba(0,0,0,.55), inset 0 0 24px rgba(255,190,38,.03);
  backdrop-filter: blur(14px);
  font-size: 11px;
}
.install-banner__icon { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(255,199,50,.35); border-radius: 8px; color: var(--gold); background: rgba(255,199,50,.08); }
.install-banner div { display: grid; gap: 2px; }
.install-banner b { font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.install-banner span { color: #bba976; }
.install-banner a { padding: 7px 10px; border: 1px solid rgba(255,211,83,.35); border-radius: 6px; color: #fff2bd; font-weight: 800; }

/* HERO */
.hero {
  position: relative;
  isolation: isolate;
  min-height: 100svh;
  overflow: hidden;
  display: grid;
  place-items: end center;
  padding: 130px 24px 72px;
  background: #02060a;
}
.hero-scene { position: absolute; inset: 0; z-index: -4; overflow: hidden; }
.hero-scene img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: calc(50% + var(--parallax-x, 0px)) calc(48% + var(--parallax-y, 0px));
  transform: scale(1.018);
  filter: saturate(1.03) contrast(1.02);
  transition: object-position .25s ease-out;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(180deg, rgba(0,3,7,.14) 0, rgba(0,4,7,.02) 46%, rgba(0,4,7,.34) 66%, #02060a 100%),
    radial-gradient(ellipse at 50% 42%, transparent 0 29%, rgba(0,2,5,.12) 54%, rgba(0,2,5,.68) 100%);
}
.hero-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .1;
  background-image: linear-gradient(rgba(79,176,224,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(79,176,224,.2) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(180deg, transparent 12%, #000 65%, transparent 100%);
}
/* Боковые вертикальные линии первого экрана удалены. */
.hero::before,
.hero::after { content: none; display: none; }
.hero-hud {
  position: absolute;
  z-index: 3;
  top: 42%;
  width: 238px;
  padding: 16px 17px;
  border: 1px solid rgba(102,193,236,.24);
  background: linear-gradient(150deg, rgba(2,10,16,.72), rgba(1,5,9,.52));
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 55px rgba(0,0,0,.34);
  clip-path: polygon(0 0, 93% 0, 100% 14%, 100% 100%, 7% 100%, 0 86%);
}
.hero-hud--left { left: max(28px, calc((100vw - 1460px) / 2 + 10px)); border-left-color: rgba(255,57,75,.6); }
.hero-hud--right { right: max(28px, calc((100vw - 1460px) / 2 + 10px)); border-right-color: rgba(37,141,255,.7); }
.hud-kicker { display: block; margin-bottom: 7px; color: #73d8ff; font-size: 8px; font-weight: 900; letter-spacing: .24em; }
.hero-hud strong { display: block; font-size: 15px; line-height: 1.35; }
.hero-hud p { margin: 7px 0 0; color: #8fa4af; font-size: 10px; line-height: 1.5; }
.hud-bars { display: flex; align-items: end; gap: 4px; height: 20px; margin-top: 12px; }
.hud-bars i { width: 5px; border-radius: 5px 5px 0 0; background: linear-gradient(var(--red), rgba(255,57,75,.18)); box-shadow: 0 0 6px rgba(255,57,75,.4); animation: hudBars 1.8s ease-in-out infinite alternate; }
.hud-bars i:nth-child(1) { height: 35%; }.hud-bars i:nth-child(2) { height: 80%; animation-delay: -.3s; }.hud-bars i:nth-child(3) { height: 55%; animation-delay: -.8s; }.hud-bars i:nth-child(4) { height: 100%; animation-delay: -.5s; }.hud-bars i:nth-child(5) { height: 65%; animation-delay: -1s; }
@keyframes hudBars { to { transform: scaleY(.55); opacity: .48; } }
.hud-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid rgba(255,255,255,.07); font-size: 10px; }
.hud-row span { color: #7f949f; }.hud-row b { color: #e5f2f7; text-align: right; }

.hero-controls { position: relative; z-index: 5; width: min(700px, 100%); display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; filter: drop-shadow(0 12px 24px rgba(0,0,0,.82)); }
.hero-chip-row { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.hero-chip { min-height: 30px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border: 1px solid rgba(84,185,229,.28); border-radius: 999px; background: rgba(2,9,14,.68); color: #bdd0d8; font-size: 9px; font-weight: 850; letter-spacing: .12em; backdrop-filter: blur(9px); }
.hero-chip--green { border-color: rgba(115,255,79,.3); color: #b4ffa3; }
.status-dot { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #86939b; color: #86939b; box-shadow: 0 0 10px currentColor; }
.status-dot.online { background: var(--green); color: var(--green); animation: dotPulse 1.6s infinite; }
.status-dot.offline { background: var(--red); color: var(--red); }
@keyframes dotPulse { 50% { box-shadow: 0 0 4px currentColor, 0 0 0 7px rgba(115,255,79,0); } }
.play-button {
  position: relative;
  width: min(610px, 94vw);
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  overflow: hidden;
  border: 1px solid rgba(148,255,112,.92);
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(48,164,34,.97), rgba(9,63,10,.98)),
    radial-gradient(circle at 50% 0, rgba(255,255,255,.22), transparent 55%);
  color: #fff;
  clip-path: polygon(4% 0, 96% 0, 100% 25%, 100% 75%, 96% 100%, 4% 100%, 0 75%, 0 25%);
  box-shadow: 0 0 0 4px rgba(61,243,49,.11), 0 0 34px rgba(77,255,62,.42), inset 0 1px rgba(255,255,255,.22), inset 0 -15px 35px rgba(0,0,0,.15);
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.play-button:hover { transform: translateY(-3px) scale(1.012); filter: brightness(1.12); box-shadow: 0 0 0 5px rgba(61,243,49,.13), 0 0 45px rgba(77,255,62,.52), inset 0 1px rgba(255,255,255,.24); }
.play-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(182,255,151,.55); border-radius: 50%; background: rgba(0,40,0,.23); color: #baff9d; box-shadow: inset 0 0 17px rgba(130,255,91,.12), 0 0 16px rgba(130,255,91,.22); }
.play-icon .icon { width: 21px; height: 21px; fill: currentColor; stroke-width: 0; margin-left: 2px; }
.play-copy { display: grid; gap: 2px; text-align: left; }
.play-copy small { color: rgba(232,255,226,.72); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.play-copy b { font-size: clamp(21px, 3vw, 31px); font-weight: 1000; letter-spacing: .055em; text-transform: uppercase; text-shadow: 0 2px 8px rgba(0,0,0,.5); }
.play-key { position: absolute; right: 32px; bottom: 12px; color: rgba(226,255,219,.55); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.play-edge { position: absolute; top: 50%; width: 24px; height: 48px; transform: translateY(-50%); border-top: 1px solid #b7ff9e; border-bottom: 1px solid #b7ff9e; opacity: .8; }
.play-edge--left { left: 2px; border-left: 2px solid #b7ff9e; }.play-edge--right { right: 2px; border-right: 2px solid #b7ff9e; }
.play-shine { position: absolute; inset: -20% auto -20% -35%; width: 22%; transform: skewX(-20deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent); animation: shine 4s infinite 1s; }
@keyframes shine { 0%, 65% { left: -35%; } 88%, 100% { left: 120%; } }
.play-button--small { width: auto; min-width: 260px; min-height: 54px; padding: 0 28px; gap: 9px; clip-path: polygon(5% 0,95% 0,100% 24%,100% 76%,95% 100%,5% 100%,0 76%,0 24%); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.play-button--small .icon { width: 18px; height: 18px; }
.server-line {
  width: min(650px, 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  padding: 10px 18px;
  border: 1px solid rgba(93,187,229,.23);
  border-radius: 11px;
  background: rgba(0,6,10,.72);
  box-shadow: inset 0 0 30px rgba(17,95,134,.04);
  backdrop-filter: blur(11px);
}
.server-ip { display: flex; align-items: center; gap: 10px; border: 0; background: transparent; color: #dfe9ed; cursor: pointer; text-align: left; }
.server-ip > .icon { color: var(--cyan); font-size: 18px; }
.server-ip span, .server-online, .server-mode { display: grid; gap: 2px; }
.server-line small { color: #6f858f; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.server-line b { color: #e9f4f7; font-size: 12px; }
.server-online b { color: var(--gold); }.server-mode b { color: #82e9ff; }
.server-separator { width: 1px; height: 32px; background: linear-gradient(transparent, rgba(255,255,255,.33), transparent); }
.scroll-cue { position: absolute; z-index: 6; left: 50%; bottom: 17px; transform: translateX(-50%); display: grid; justify-items: center; gap: 5px; color: #748992; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.scroll-cue span { width: 20px; height: 30px; border: 1px solid rgba(132,208,240,.38); border-radius: 999px; }
.scroll-cue span::after { content: ""; display: block; width: 3px; height: 6px; margin: 5px auto; border-radius: 99px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); animation: scrollDot 1.7s infinite; }
@keyframes scrollDot { 60%,100% { transform: translateY(12px); opacity: 0; } }

/* CONTENT */
.content-surface { position: relative; padding: 55px 0 74px; background: linear-gradient(180deg, rgba(2,6,10,.98), #02060a 25%, #03080c 100%); border-top: 1px solid rgba(53,163,218,.12); }
.content-surface::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18; background-image: linear-gradient(rgba(56,143,184,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(56,143,184,.12) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(180deg,#000,transparent 80%); }
.content-surface > * { position: relative; }
.section-intro { display: grid; grid-template-columns: 1fr minmax(300px, 560px); align-items: end; gap: 40px; margin-bottom: 31px; }
.section-intro h1 { margin: 0; font-size: clamp(31px, 4vw, 52px); letter-spacing: -.03em; text-transform: uppercase; }
.section-intro > p { margin: 0; color: #8da1ac; font-size: 13px; line-height: 1.75; }
.eyebrow { margin: 0 0 7px; color: #6edcff; font-size: 9px; font-weight: 950; letter-spacing: .2em; text-transform: uppercase; }
.mode-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.neon-card {
  --accent: var(--cyan);
  position: relative;
  min-height: 260px;
  padding: 26px 18px 19px;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  text-align: center;
  transform-style: preserve-3d;
  background: linear-gradient(160deg, color-mix(in srgb, var(--accent) 8%, rgba(5,15,21,.95)), rgba(1,6,10,.98) 68%);
  border: 1px solid color-mix(in srgb, var(--accent) 47%, transparent);
  border-radius: 14px;
  clip-path: polygon(7% 0,93% 0,100% 7%,100% 93%,93% 100%,7% 100%,0 93%,0 7%);
  box-shadow: inset 0 0 35px rgba(0,0,0,.45), 0 16px 40px rgba(0,0,0,.25), 0 0 18px color-mix(in srgb, var(--accent) 10%, transparent);
  transition: transform .16s ease, box-shadow .25s ease, border-color .25s ease;
}
.neon-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--tilt-x,50%) var(--tilt-y,20%), color-mix(in srgb,var(--accent) 17%,transparent), transparent 38%); opacity: .8; pointer-events: none; }
.neon-card::after { content: ""; position: absolute; left: 18%; right: 18%; bottom: 0; height: 2px; background: var(--accent); box-shadow: 0 0 15px var(--accent); opacity: .5; }
.neon-card:hover { border-color: color-mix(in srgb,var(--accent) 72%,transparent); box-shadow: inset 0 0 35px rgba(0,0,0,.45), 0 24px 55px rgba(0,0,0,.38), 0 0 30px color-mix(in srgb,var(--accent) 18%,transparent); }
.neon-card--cyan { --accent: var(--cyan); }.neon-card--red { --accent: var(--red); }.neon-card--blue { --accent: var(--blue); }.neon-card--green { --accent: var(--green); }.neon-card--purple { --accent: var(--purple); }.neon-card--gold { --accent: var(--gold); }
.card-number { position: absolute; top: 14px; right: 16px; color: color-mix(in srgb,var(--accent) 38%,#3e505a); font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.card-icon { position: relative; z-index: 1; width: 68px; height: 68px; display: grid; place-items: center; margin-top: 8px; border: 1px solid color-mix(in srgb,var(--accent) 38%,transparent); border-radius: 16px; background: color-mix(in srgb,var(--accent) 7%,rgba(1,8,12,.8)); color: var(--accent); box-shadow: inset 0 0 18px color-mix(in srgb,var(--accent) 6%,transparent), 0 0 20px color-mix(in srgb,var(--accent) 13%,transparent); transform: translateZ(25px); }
.card-icon .icon { width: 35px; height: 35px; filter: drop-shadow(0 0 8px var(--accent)); }
.neon-card h2 { position: relative; z-index: 1; margin: 16px 0 8px; color: var(--accent); font-size: 17px; letter-spacing: .025em; text-transform: uppercase; transform: translateZ(18px); }
.neon-card p { position: relative; z-index: 1; flex: 1; margin: 0; color: #9caeb7; font-size: 11px; line-height: 1.63; transform: translateZ(12px); }
.neon-card a { position: relative; z-index: 1; margin-top: 17px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid color-mix(in srgb,var(--accent) 55%,transparent); border-radius: 7px; background: color-mix(in srgb,var(--accent) 5%,transparent); color: var(--accent); font-size: 9px; font-weight: 900; text-transform: uppercase; transform: translateZ(20px); }
.neon-card a .icon { width: 12px; height: 12px; }

.dashboard { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 17px; margin-top: 18px; }
.panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(77,184,227,.28);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(5,16,22,.93), rgba(1,7,11,.97));
  box-shadow: var(--shadow), inset 0 1px rgba(255,255,255,.035);
  contain: paint;
}

.panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(130deg, rgba(255,255,255,.04), transparent 35%); }
.panel::after { content: ""; position: absolute; top: 0; left: 9%; width: 82%; height: 1px; background: linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent); }
.panel--gold { border-color: rgba(255,199,50,.42); }.panel--green { border-color: rgba(99,243,63,.38); }.panel--blue { border-color: rgba(47,151,255,.4); }.panel--red { border-color: rgba(255,57,73,.4); }
.about-panel { display: grid; grid-template-columns: 175px 1fr; min-height: 278px; padding: 17px; gap: 20px; }
.about-art { position: relative; min-height: 242px; overflow: hidden; border-radius: 10px; background: url('../img/about-background.webp?v=1.6.2-red-castle-1') center 48% / cover no-repeat; border: 1px solid rgba(255,197,44,.3); box-shadow: inset 0 0 35px rgba(0,0,0,.48); }
.about-art::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(0,0,0,.67)); }
.about-art span { position: absolute; z-index: 1; left: 13px; bottom: 12px; color: var(--gold); font-size: 12px; font-weight: 950; letter-spacing: .25em; text-shadow: 0 0 10px rgba(255,200,60,.7); }
.about-copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.about-panel h2, .panel-heading h2, .support h2, .section-title h2 { margin: 0; font-size: clamp(20px,2.3vw,30px); }
.about-panel p:not(.eyebrow), .support p, .section-title > p:last-child { color: #9daeb7; font-size: 11px; line-height: 1.7; }
.feature-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 4px 0 17px; }
.feature-tags span { padding: 5px 8px; border: 1px solid rgba(255,199,50,.22); border-radius: 999px; color: #e2c66d; background: rgba(255,199,50,.04); font-size: 8px; text-transform: uppercase; letter-spacing: .09em; }
.small-button { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid var(--gold); color: var(--gold); border-radius: 6px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.small-button .icon { width: 12px; }
.stats-panel { padding: 19px; text-align: center; }
.panel-heading { position: relative; z-index: 1; display: flex; align-items: start; justify-content: space-between; gap: 15px; text-align: left; }
.live-badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid rgba(115,255,79,.25); border-radius: 99px; color: #adff9b; font-size: 7px; font-weight: 900; }
.live-badge i { width: 5px; height: 5px; border-radius: 50%; background: var(--green); box-shadow: 0 0 8px var(--green); }
.stats-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4,1fr); margin: 22px 0 19px; }
.stats-grid > div { display: flex; flex-direction: column; align-items: center; gap: 4px; border-right: 1px solid rgba(255,255,255,.07); }
.stats-grid > div:last-child { border: 0; }
.stats-grid > div > span { color: var(--green); font-size: 27px; filter: drop-shadow(0 0 8px rgba(99,243,63,.45)); }
.stats-grid > div > span .icon { width: 27px; height: 27px; }
.stats-grid b { font-size: 21px; }.stats-grid small { color: #7e919b; font-size: 8px; text-transform: uppercase; letter-spacing: .07em; }
.network-meter { position: relative; z-index: 1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; margin-bottom: 15px; font-size: 8px; color: #7e919b; text-transform: uppercase; }
.network-meter > div { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.network-meter i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--blue),var(--green)); box-shadow: 0 0 10px var(--green); }
.network-meter b { color: #aef99b; }
.social-row { position: relative; z-index: 1; display: flex; gap: 8px; justify-content: center; }
.social-row a { padding: 8px 11px; border: 1px solid rgba(47,151,255,.3); border-radius: 6px; color: #63bfff; font-size: 9px; font-weight: 850; transition: .2s; }
.social-row a:hover { color: #fff; background: rgba(47,151,255,.12); transform: translateY(-1px); }
.news-panel { padding: 19px; }
.panel-symbol { width: 37px; height: 37px; display: grid; place-items: center; border: 1px solid rgba(37,141,255,.3); border-radius: 9px; color: #56b6ff; background: rgba(37,141,255,.07); }
.news-list { position: relative; z-index: 1; display: grid; gap: 9px; margin-top: 16px; }
.news-item { display: grid; grid-template-columns: 47px 1fr auto; gap: 11px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(71,153,197,.13); }
.news-badge { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid var(--badge); border-radius: 9px; background: color-mix(in srgb,var(--badge) 9%,transparent); color: var(--badge); font-size: 20px; box-shadow: 0 0 13px color-mix(in srgb,var(--badge) 17%,transparent); }
.news-copy h3 { margin: 0 0 4px; color: #60c2ff; font-size: 11px; text-transform: uppercase; }.news-copy p { margin: 0; color: #8fa2ad; font-size: 9px; line-height: 1.45; }.news-date { font-size: 8px; color: #a7b6bd; white-space: nowrap; }

.roadmap { padding: 83px 0 65px; }
.section-title { max-width: 720px; margin: 0 auto 30px; text-align: center; }
.section-title.compact { max-width: none; margin: 0 0 20px; text-align: left; }
.section-title.compact h2 { font-size: 30px; }.section-title.compact > p:last-child { margin: 8px 0 0; }
.roadmap-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; }
.roadmap-step { position: relative; min-height: 118px; padding: 19px; display: flex; align-items: center; gap: 13px; overflow: hidden; border: 1px solid rgba(71,153,197,.2); border-radius: 12px; background: linear-gradient(145deg, rgba(4,13,18,.9), rgba(1,6,10,.94)); clip-path: polygon(6% 0,100% 0,100% 84%,94% 100%,0 100%,0 16%); }
.roadmap-step::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg,rgba(255,255,255,.03),transparent 35%); }
.roadmap-step > b { position: relative; z-index: 1; font-size: 31px; color: #465a64; }
.roadmap-step > span { position: relative; z-index: 1; display: grid; gap: 5px; }.roadmap-step strong { font-size: 12px; text-transform: uppercase; }.roadmap-step small { color: #758b96; font-size: 9px; }
.roadmap-step > i { position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background: var(--cyan); box-shadow: 0 0 12px currentColor; transition: width .8s ease; }
.roadmap-step.revealed > i { width: 100%; }
.roadmap-step.done { border-color: rgba(99,243,63,.38); }.roadmap-step.done > b { color: var(--green); }.roadmap-step.done > i { background: var(--green); }
.roadmap-step.active { border-color: rgba(255,201,54,.5); box-shadow: 0 0 28px rgba(255,201,54,.07); }.roadmap-step.active > b { color: var(--gold); }.roadmap-step.active > i { background: var(--gold); }
.support { margin-bottom: 35px; padding: 28px 31px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; border: 1px solid rgba(47,151,255,.3); border-radius: 16px; background: linear-gradient(90deg,rgba(5,19,28,.96),rgba(3,9,13,.92)); box-shadow: var(--shadow); }
.support-icon { width: 62px; height: 62px; display: grid; place-items: center; border: 1px solid rgba(54,190,244,.36); border-radius: 16px; color: var(--cyan); background: rgba(54,190,244,.06); box-shadow: inset 0 0 18px rgba(54,190,244,.05), 0 0 22px rgba(54,190,244,.08); }
.support-icon .icon { width: 31px; height: 31px; }
.support p { margin: 8px 0 0; }

/* INNER PAGES */
.inner-main { min-height: calc(100vh - 120px); padding-top: 106px; }
.inner-hero { position: relative; isolation: isolate; width: min(1460px, calc(100% - 48px)); min-height: 365px; margin: 0 auto; overflow: hidden; display: grid; place-items: center; border: 1px solid rgba(60,175,231,.18); border-radius: 18px; background: #02070b; box-shadow: var(--shadow); }
.inner-hero__media { position: absolute; inset: 0; z-index: -2; }
.inner-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 45%; transform: scale(1.04); filter: brightness(.38) saturate(1.08) blur(1px); }
.inner-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 50% 50%, rgba(7,22,32,.1), rgba(1,5,8,.78) 72%), linear-gradient(90deg,rgba(255,35,50,.09),transparent 35%,transparent 65%,rgba(34,137,255,.11)); }
.inner-hero__content { max-width: 800px; padding: 48px 25px; display: grid; justify-items: center; text-align: center; }
.inner-hero__icon { width: 61px; height: 61px; display: grid; place-items: center; margin-bottom: 13px; border: 1px solid rgba(75,190,240,.38); border-radius: 16px; color: var(--cyan); background: rgba(5,24,34,.63); box-shadow: inset 0 0 20px rgba(43,178,235,.06), 0 0 25px rgba(43,178,235,.1); }
.inner-hero__icon .icon { width: 31px; height: 31px; }
.inner-hero h1 { margin: 0; font-size: clamp(40px, 6vw, 72px); letter-spacing: .03em; text-transform: uppercase; text-shadow: 0 7px 30px #000; }
.inner-hero__content > p:not(.eyebrow) { max-width: 720px; margin: 13px auto 0; color: #aebdc4; font-size: 12px; line-height: 1.7; text-shadow: 0 2px 10px #000; }
.inner-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.inner-badges span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border: 1px solid rgba(75,184,228,.22); border-radius: 999px; background: rgba(3,13,19,.58); color: #a8c2cd; font-size: 8px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.shop-layout { padding: 48px 0 90px; display: grid; grid-template-columns: 270px 1fr; gap: 29px; align-items: start; }
.shop-sidebar { position: sticky; top: 104px; padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.sidebar-title { display: flex; align-items: center; gap: 11px; margin-bottom: 9px; }.sidebar-title > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(47,151,255,.3); border-radius: 10px; color: #64c0ff; background: rgba(47,151,255,.06); }.sidebar-title small { color: #6f828d; font-size: 7px; text-transform: uppercase; letter-spacing: .16em; }.sidebar-title h2 { margin: 2px 0 0; font-size: 17px; text-transform: uppercase; }
.shop-sidebar > a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 12px 13px; color: #9fb1bb; border: 1px solid transparent; border-radius: 8px; font-size: 11px; transition: .2s; }
.shop-sidebar > a small { color: #637985; font-size: 7px; text-transform: uppercase; }.shop-sidebar > a:hover, .shop-sidebar > a.active { color: #fff; border-color: rgba(52,174,255,.34); background: rgba(35,143,222,.08); transform: translateX(2px); }.shop-sidebar > a .icon { color: #61c6ff; }
.shop-note { margin-top: 14px; padding-top: 16px; border-top: 1px solid rgba(50,158,225,.17); display: flex; flex-direction: column; gap: 7px; }.shop-note b { display: flex; align-items: center; gap: 7px; color: #b8e8ff; font-size: 10px; }.shop-note span { color: #7f929d; font-size: 9px; line-height: 1.55; }
.catalog-wrap { display: grid; gap: 60px; }.catalog-section { scroll-margin-top: 120px; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.product-card { --accent: var(--cyan); min-height: 260px; padding: 24px; display: flex; flex-direction: column; background: linear-gradient(155deg,color-mix(in srgb,var(--accent) 8%,rgba(6,16,22,.96)),rgba(2,7,11,.98) 58%); border: 1px solid color-mix(in srgb,var(--accent) 42%,transparent); border-radius: 14px; clip-path: polygon(5% 0,95% 0,100% 8%,100% 92%,95% 100%,5% 100%,0 92%,0 8%); box-shadow: 0 16px 42px rgba(0,0,0,.38); transition: transform .2s ease, box-shadow .2s ease; }.product-card:hover { transform: translateY(-5px); box-shadow: 0 25px 55px rgba(0,0,0,.48), 0 0 25px color-mix(in srgb,var(--accent) 13%,transparent); }
.product-icon { font-size: 43px; color: var(--accent); text-shadow: 0 0 16px var(--accent); }.product-card h3 { margin: 12px 0 7px; color: var(--accent); font-size: 22px; }.product-card p { color: #9fb0b9; font-size: 11px; line-height: 1.6; flex: 1; }.product-bottom { display: flex; justify-content: space-between; align-items: center; gap: 10px; }.product-price { font-size: 20px; font-weight: 900; }.product-card button { border: 1px solid var(--accent); background: color-mix(in srgb,var(--accent) 8%,transparent); color: var(--accent); padding: 9px 13px; cursor: pointer; border-radius: 6px; font-weight: 850; }
.empty-catalog { min-height: 230px; grid-column: 1 / -1; padding: 38px; display: grid; place-items: center; text-align: center; border: 1px dashed rgba(88,174,213,.3); border-radius: 14px; background: radial-gradient(circle at 50% 0,rgba(44,148,196,.06),transparent 50%), rgba(5,15,20,.75); color: #7e929c; }.empty-catalog b { display: block; color: #d3dee3; font-size: 20px; margin-bottom: 7px; }.empty-catalog span { font-size: 10px; }

/* ACCOUNT / ADMIN DYNAMIC */
.account-layout, .admin-root { padding: 48px 0 90px; }
.loading-panel { min-height: 180px; padding: 40px; display: flex; align-items: center; justify-content: center; gap: 14px; text-align: center; color: #9eb2bc; }
.loader-ring { width: 28px; height: 28px; border: 2px solid rgba(70,184,232,.18); border-top-color: var(--cyan); border-radius: 50%; animation: spin .8s linear infinite; box-shadow: 0 0 14px rgba(54,230,244,.12); } @keyframes spin { to { transform: rotate(360deg); } }
.account-guest { max-width: 720px; margin: auto; padding: 44px; text-align: center; }.account-guest .brand-mark { margin: 0 auto 18px; }.account-guest h2 { margin: 0 0 10px; }.account-guest p { color: #9aadb6; line-height: 1.65; }.account-grid { display: grid; grid-template-columns: 330px 1fr; gap: 22px; align-items: start; }.profile-card { padding: 28px; text-align: center; }.skin-head { width: 108px; height: 108px; margin: 0 auto 18px; display: grid; place-items: center; background: radial-gradient(circle at 40% 25%,#1c4c6b,#06121b 70%); border: 1px solid #39bdfb; border-radius: 22px; color: #73d5ff; font-size: 44px; font-weight: 950; box-shadow: 0 0 0 4px rgba(39,172,255,.06), 0 0 30px rgba(39,172,255,.2); }.profile-card h2 { margin: 0 0 5px; font-size: 28px; }.role-badge { display: inline-block; margin: 7px 0 17px; padding: 5px 10px; border: 1px solid #49baff; border-radius: 999px; color: #69c9ff; font-size: 9px; text-transform: uppercase; font-weight: 900; }.profile-meta { display: grid; gap: 10px; text-align: left; }.profile-meta div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.065); color: #8297a2; font-size: 11px; }.profile-meta b { color: #e5edf1; text-align: right; }.account-main { display: grid; gap: 20px; }.account-panel { padding: 25px; }.account-panel h2 { margin: 0 0 18px; }.table-scroll { overflow-x: auto; }.order-table { width: 100%; border-collapse: collapse; font-size: 11px; }.order-table th,.order-table td { padding: 12px 10px; border-bottom: 1px solid rgba(255,255,255,.065); text-align: left; }.order-table th { color: #718791; text-transform: uppercase; font-size: 8px; }.order-status { display: inline-block; padding: 5px 8px; border-radius: 999px; border: 1px solid rgba(89,178,222,.35); color: #94d9fa; }.order-status.delivered { border-color: rgba(99,243,63,.4); color: #8ef77a; }.order-status.failed,.order-status.cancelled { border-color: rgba(255,57,73,.45); color: #ff7883; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.form-grid .full { grid-column: 1 / -1; }.form-grid label,.auth-form label,.admin-form label { display: grid; gap: 7px; color: #d6e1e7; font-size: 11px; font-weight: 750; }.form-grid input,.form-grid textarea,.form-grid select,.auth-form input,.admin-form input,.admin-form textarea,.admin-form select { width: 100%; padding: 12px 13px; border: 1px solid rgba(73,166,211,.25); border-radius: 8px; background: rgba(5,15,22,.86); color: #fff; outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }.form-grid input:focus,.auth-form input:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus { border-color: #34b8ff; box-shadow: 0 0 0 3px rgba(44,170,237,.11); background: #06131c; }
.form-submit { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #63f33f; background: linear-gradient(180deg,#1b6c16,#0a300b); color: #fff; padding: 11px 18px; border-radius: 8px; font-weight: 900; cursor: pointer; transition: filter .2s, transform .2s; }.form-submit:hover { filter: brightness(1.16); transform: translateY(-1px); }.form-message { min-height: 20px; color: #ff8b93; font-size: 11px; }.form-message.success { color: #86f878; }
.admin-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-bottom: 22px; }.admin-stat { padding: 20px; }.admin-stat span { display: block; color: #7d919b; font-size: 9px; text-transform: uppercase; }.admin-stat b { display: block; margin-top: 5px; font-size: 30px; color: #6fd6ff; }.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.admin-section { padding: 24px; }.admin-section.wide { grid-column: 1 / -1; }.admin-section h2 { margin: 0 0 18px; }.admin-form { display: grid; gap: 13px; }.admin-list { display: grid; gap: 9px; max-height: 440px; overflow: auto; }.admin-row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; padding: 12px; border: 1px solid rgba(75,159,201,.17); border-radius: 8px; background: rgba(3,11,16,.65); }.admin-row strong { display: block; }.admin-row small { color: #7c909a; }.admin-row-actions { display: flex; gap: 7px; align-items: center; }.mini-button { padding: 7px 10px; border: 1px solid #43b7ee; background: rgba(31,136,190,.1); color: #78d4ff; border-radius: 5px; cursor: pointer; font-size: 10px; }.danger { border-color: #ff5663; color: #ff8991; }.mini-button.delete { border-color: #ff3949; color: #ffd3d6; background: rgba(255,57,73,.14); }.mini-button.delete:hover { background: rgba(255,57,73,.25); box-shadow: 0 0 16px rgba(255,57,73,.2); }.mini-button:disabled { opacity: .5; cursor: wait; }.admin-order { display: grid; grid-template-columns: 70px 1fr 130px 165px; gap: 10px; align-items: center; padding: 10px; border-bottom: 1px solid rgba(255,255,255,.065); font-size: 11px; }.admin-order select { padding: 7px; background: #07121a; color: #fff; border: 1px solid rgba(74,164,207,.3); border-radius: 5px; }

/* DIALOG / FOOTER */
.auth-dialog { width: min(490px, calc(100% - 28px)); overflow: hidden; border: 1px solid rgba(53,181,238,.48); border-radius: 19px; padding: 0; background: linear-gradient(160deg,#07141d,#02070b); color: #fff; box-shadow: 0 38px 130px #000; }.auth-dialog::backdrop { background: rgba(0,2,5,.78); backdrop-filter: blur(9px); }.dialog-glow { position: absolute; inset: -80px -80px auto; height: 160px; background: radial-gradient(circle,rgba(38,165,230,.14),transparent 68%); pointer-events: none; }.dialog-close { position: absolute; z-index: 3; right: 12px; top: 9px; border: 0; background: transparent; color: #8fa4ae; font-size: 28px; cursor: pointer; }.auth-brand { position: relative; display: flex; align-items: center; gap: 13px; padding: 23px 25px 17px; }.auth-brand > div { display: grid; gap: 4px; }.auth-brand b { font-size: 17px; }.auth-brand span { color: #78909c; font-size: 9px; }.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(70,171,218,.16); border-bottom: 1px solid rgba(70,171,218,.19); }.auth-tabs button { border: 0; background: transparent; color: #7f929c; padding: 15px; cursor: pointer; font-weight: 850; }.auth-tabs button.active { color: #63d4ff; background: rgba(38,153,211,.07); box-shadow: inset 0 -2px #33bfff; }.auth-form { display: none; padding: 25px; }.auth-form.active { display: grid; gap: 14px; }.auth-form h2 { margin: 0; }.auth-form > p { margin: 0 0 5px; color: #8ca0aa; font-size: 11px; line-height: 1.5; }.auth-form .form-submit { margin-top: 4px; }
.footer { position: relative; width: min(1460px, calc(100% - 48px)); margin: 0 auto; padding: 28px 0 35px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; border-top: 1px solid rgba(85,166,204,.15); color: #788d97; }.footer-brand { display: flex; align-items: center; gap: 11px; }.footer-brand > div { display: flex; flex-direction: column; }.footer-brand b { color: #d8e4e9; }.footer-brand span { font-size: 10px; }.footer-center { display: flex; align-items: center; color: #6f838e; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }.footer-center .status-dot { width: 6px; height: 6px; background: var(--gold); color: var(--gold); }.footer-links { display: flex; justify-content: flex-end; gap: 19px; font-size: 10px; }.footer-links a:hover { color: #fff; }
.toast { position: fixed; z-index: 150; left: 50%; bottom: 24px; transform: translate(-50%,30px); opacity: 0; pointer-events: none; max-width: min(520px,calc(100% - 30px)); padding: 12px 18px; border: 1px solid #40c5ff; border-radius: 9px; background: rgba(3,15,22,.95); box-shadow: 0 16px 50px #000; color: #dff6ff; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%,0); }.toast.error { border-color: #ff4f5b; color: #ffd6d9; }
.back-to-top { position: fixed; z-index: 80; right: 22px; bottom: 22px; width: 42px; height: 42px; border: 1px solid rgba(65,188,239,.35); border-radius: 10px; background: rgba(4,15,22,.85); color: #82dcff; box-shadow: 0 12px 35px rgba(0,0,0,.35); cursor: pointer; opacity: 0; transform: translateY(12px); pointer-events: none; transition: .22s; }.back-to-top.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }.back-to-top:hover { border-color: var(--cyan); color: #fff; }
.skeleton { min-height: 62px; border-radius: 8px; background: linear-gradient(90deg,rgba(255,255,255,.03),rgba(255,255,255,.075),rgba(255,255,255,.03)); background-size: 200% 100%; animation: pulse 1.4s infinite; }.skeleton.tall { min-height: 240px; } @keyframes pulse { to { background-position: -200% 0; } }
.ripple { position: absolute; border-radius: 50%; background: rgba(255,255,255,.26); transform: translate(-50%,-50%) scale(0); animation: ripple .55s ease-out; pointer-events: none; } @keyframes ripple { to { transform: translate(-50%,-50%) scale(1); opacity: 0; } }

/* SCROLL REVEAL */
body.reveal-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .68s ease, transform .68s cubic-bezier(.2,.75,.2,1); }
body.reveal-ready [data-reveal].revealed { opacity: 1; transform: translateY(0); }


@media (max-width: 1380px) and (min-width: 841px) {
  .brand-wordmark { min-width: 154px; }
  .admin-quick-link span { display: none; }
  .admin-quick-link { width: 40px; padding-inline: 9px; }
}

@media (max-width: 1220px) {
  .topbar { grid-template-columns: auto auto 1fr auto; }
  .nav-toggle { display: block; order: 2; }
  .nav { position: absolute; left: 15px; right: 15px; top: 83px; display: none; flex-direction: column; align-items: stretch; padding: 10px; border: 1px solid rgba(65,175,226,.35); border-radius: 12px; background: rgba(2,8,13,.98); box-shadow: 0 25px 60px #000; }
  .nav.open { display: flex; }
  .nav a { min-height: 48px; padding: 0 14px; }
  .nav a.active::after { left: 0; right: auto; top: 9px; bottom: 9px; width: 3px; height: auto; }
  .topbar-actions { justify-self: end; }
  .admin-quick-link span { display: none; }
  .admin-quick-link { width: 40px; padding-inline: 9px; }
  .login-chip { justify-self: end; }
  .hero-hud { display: none; }
  .mode-grid { grid-template-columns: repeat(3,1fr); }
  .dashboard { grid-template-columns: 1fr 1fr; }
  .news-panel { grid-column: 1 / -1; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 840px) {
  .section-shell, .inner-hero, .footer { width: min(100% - 28px,1460px); }
  .topbar { top: 8px; width: calc(100% - 16px); min-height: 64px; padding: 0 11px; gap: 9px; }
  .brand-wordmark { display: none; }
  .brand-emblem { width: 42px; height: 42px; }
  .nav { top: 70px; }
  .install-banner { top: 82px; width: calc(100% - 28px); }
  .install-banner div span { display: none; }
  .hero { min-height: 92svh; padding: 120px 14px 58px; }
  .hero-scene img { object-position: center center; transform: scale(1.04); }
  .hero-chip { font-size: 8px; }
  .play-button { min-height: 66px; }
  .play-key { display: none; }
  .server-line { flex-wrap: wrap; }
  .server-separator:last-of-type { display: none; }
  .server-mode { display: none; }
  .section-intro { grid-template-columns: 1fr; gap: 13px; }
  .mode-grid { grid-template-columns: repeat(2,1fr); gap: 11px; }
  .dashboard { grid-template-columns: 1fr; }
  .about-panel { grid-template-columns: 150px 1fr; }
  .roadmap-line { grid-template-columns: 1fr 1fr; }
  .support { grid-template-columns: auto 1fr; }
  .support .play-button { grid-column: 1 / -1; width: 100%; }
  .footer { grid-template-columns: 1fr; justify-items: start; }
  .footer-center { order: 3; }.footer-links { justify-content: flex-start; flex-wrap: wrap; }
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { position: relative; top: auto; display: grid; grid-template-columns: 1fr 1fr; }
  .sidebar-title, .shop-note { grid-column: 1 / -1; }
  .account-grid { grid-template-columns: 1fr; }
  .admin-stats { grid-template-columns: 1fr 1fr; }
  .admin-grid { grid-template-columns: 1fr; }.admin-section.wide { grid-column: auto; }
  .admin-order { grid-template-columns: 55px 1fr; }.admin-order > *:nth-child(3), .admin-order > *:nth-child(4) { grid-column: 2; }
  .inner-main { padding-top: 87px; }.inner-hero { min-height: 300px; }.inner-hero h1 { font-size: 42px; }
  .form-grid { grid-template-columns: 1fr; }.form-grid .full { grid-column: auto; }
}

@media (max-width: 560px) {
  .topbar-actions { gap: 6px; }
  .admin-quick-link { min-width: 44px; width: 44px; min-height: 44px; padding: 8px; }
  .admin-quick-link span { display: none; }
  .login-chip { min-width: 44px; width: 44px; padding: 8px; }.login-chip span { display: none; }
  .install-banner { grid-template-columns: auto 1fr; }.install-banner a { display: none; }
  .hero { min-height: 88svh; padding-bottom: 44px; }
  .hero-scene img { object-position: center center; }
  .hero-chip-row { display: none; }
  .play-button { width: 100%; min-height: 61px; }.play-icon { width: 36px; height: 36px; }.play-copy b { font-size: 20px; }.play-copy small { font-size: 8px; }
  .server-line { width: 100%; gap: 11px; padding: 9px 11px; }.server-separator { height: 28px; }.server-line b { font-size: 10px; }
  .scroll-cue { display: none; }
  .content-surface { padding-top: 38px; }
  .section-intro h1 { font-size: 29px; }
  .mode-grid { grid-template-columns: 1fr; }
  .neon-card { min-height: 225px; }
  .about-panel { grid-template-columns: 1fr; }.about-art { min-height: 170px; background-size: 210% auto; background-position: center 62%; }
  .stats-grid { grid-template-columns: 1fr 1fr; row-gap: 19px; }.stats-grid > div:nth-child(2) { border-right: 0; }
  .news-item { grid-template-columns: 43px 1fr; }.news-date { grid-column: 2; }
  .roadmap-line { grid-template-columns: 1fr; }
  .support { grid-template-columns: 1fr; text-align: center; justify-items: center; }.support p { margin-inline: auto; }
  .product-grid { grid-template-columns: 1fr; }
  .shop-sidebar { grid-template-columns: 1fr 1fr; }
  .admin-stats { grid-template-columns: 1fr; }
  .inner-hero { width: calc(100% - 16px); min-height: 280px; }.inner-hero h1 { font-size: 34px; }.inner-badges { display: none; }
  .order-table { display: block; overflow-x: auto; }
  .admin-row { grid-template-columns: 1fr; }.admin-row-actions { justify-content: flex-start; }
  .footer-links { gap: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  body.reveal-ready [data-reveal] { opacity: 1; transform: none; }
  .fx-canvas { display: none; }
}

/* ==========================================================================
   FOX SURVIVAL v1.6 — CINEMATIC VISUAL LAYER
   ========================================================================== */

html {
  scrollbar-color: rgba(54,230,244,.58) #02060a;
  scrollbar-width: thin;
}
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #02060a; }
::-webkit-scrollbar-thumb {
  border: 2px solid #02060a;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,57,75,.75), rgba(54,230,244,.75));
}

body::before {
  content: "";
  position: fixed;
  z-index: 7;
  inset: 0;
  pointer-events: none;
  opacity: .14;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.cursor-aura {
  position: fixed;
  z-index: 6;
  left: 0;
  top: 0;
  width: 300px;
  height: 300px;
  will-change: transform, opacity;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(54,230,244,.08), rgba(37,141,255,.025) 40%, transparent 70%);
  filter: blur(4px);
  transition: opacity .25s ease;
}
.cursor-aura.visible { opacity: 1; }
body.page-account .cursor-aura,
body.page-shop .cursor-aura { display: none !important; }

.topbar {
  overflow: hidden;
  isolation: isolate;
}
.topbar::before,
.topbar::after { z-index: 3; }
.topbar-scan {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: -22%;
  width: 13%;
  pointer-events: none;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent);
  animation: topbarScan 7.5s ease-in-out infinite 1.5s;
}
@keyframes topbarScan {
  0%, 72% { left: -22%; opacity: 0; }
  77% { opacity: 1; }
  100% { left: 118%; opacity: 0; }
}
.brand-emblem {
  animation: emblemBreath 4.8s ease-in-out infinite;
}
@keyframes emblemBreath {
  0%,100% { box-shadow: 0 0 0 3px rgba(20,91,143,.11), 0 0 24px rgba(42,147,255,.16); }
  50% { box-shadow: 0 0 0 4px rgba(255,57,75,.08), 0 0 34px rgba(42,147,255,.28); }
}

/* Atmospheric hero layers */
.hero-beams,
.hero-fog,
.hero-scanline,
.hero-orbit,
.hero-telemetry { pointer-events: none; }
.hero-beams {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  mix-blend-mode: screen;
  opacity: .42;
}
.hero-beams i {
  position: absolute;
  top: -20%;
  width: 17vw;
  min-width: 170px;
  height: 125%;
  transform-origin: top center;
  filter: blur(16px);
  background: linear-gradient(180deg, rgba(80,190,255,.16), rgba(65,155,255,.025) 52%, transparent 82%);
  clip-path: polygon(43% 0,57% 0,100% 100%,0 100%);
  animation: beamDrift 10s ease-in-out infinite alternate;
}
.hero-beams i:nth-child(1) { left: 11%; transform: rotate(10deg); background: linear-gradient(180deg, rgba(255,69,77,.17), rgba(255,57,75,.02) 58%, transparent 82%); }
.hero-beams i:nth-child(2) { left: 43%; animation-delay: -4s; opacity: .55; }
.hero-beams i:nth-child(3) { right: 10%; transform: rotate(-10deg); animation-delay: -7s; }
@keyframes beamDrift {
  to { transform: translateX(28px) rotate(7deg) scaleX(1.12); opacity: .72; }
}
.hero-fog {
  position: absolute;
  z-index: -1;
  left: -18%;
  right: -18%;
  height: 220px;
  border-radius: 50%;
  filter: blur(46px);
  opacity: .23;
  background: radial-gradient(ellipse, rgba(120,205,255,.18), rgba(21,60,89,.09) 35%, transparent 72%);
}
.hero-fog--one { bottom: 17%; animation: fogMove 15s ease-in-out infinite alternate; }
.hero-fog--two { bottom: 3%; opacity: .14; transform: scaleX(.78); animation: fogMove 19s ease-in-out infinite alternate-reverse; }
@keyframes fogMove {
  from { translate: -3% 0; scale: 1 .9; }
  to { translate: 4% -10px; scale: 1.08 1.12; }
}
.hero-scanline {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: -6%;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent 5%, rgba(255,75,83,.48), rgba(255,255,255,.9) 50%, rgba(58,166,255,.5), transparent 95%);
  box-shadow: 0 0 13px rgba(115,210,255,.55);
  animation: heroScan 8.5s linear infinite 2s;
}
@keyframes heroScan {
  0%,12% { top: 7%; opacity: 0; }
  16% { opacity: .7; }
  42% { top: 87%; opacity: .16; }
  45%,100% { top: 90%; opacity: 0; }
}
.hero-orbit {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 63px;
  width: min(820px, 84vw);
  aspect-ratio: 4.8 / 1;
  transform: translateX(-50%);
  border: 1px solid rgba(83,190,235,.12);
  border-radius: 50%;
  filter: drop-shadow(0 0 15px rgba(32,141,255,.12));
}
.hero-orbit::before,
.hero-orbit::after,
.hero-orbit i {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(70,181,231,.1);
}
.hero-orbit::before { inset: 12% 8%; }
.hero-orbit::after { inset: 25% 18%; border-color: rgba(115,255,79,.09); }
.hero-orbit i { width: 7px; height: 7px; border: 0; box-shadow: 0 0 12px currentColor; animation: orbitNode 4s ease-in-out infinite; }
.hero-orbit i:nth-child(1) { left: 12%; top: 39%; color: var(--red); background: var(--red); }
.hero-orbit i:nth-child(2) { left: 50%; top: -4px; color: var(--gold); background: var(--gold); animation-delay: -1.4s; }
.hero-orbit i:nth-child(3) { right: 12%; top: 39%; color: var(--blue); background: var(--blue); animation-delay: -2.7s; }
@keyframes orbitNode { 50% { opacity: .25; transform: scale(.55); } }
.hero-controls {
  padding: 15px 18px 13px;
  border-radius: 20px;
}
.hero-controls::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid rgba(75,179,224,.08);
  border-radius: inherit;
  opacity: .7;
  background: radial-gradient(circle at var(--spot-x,50%) var(--spot-y,50%), rgba(50,185,241,.08), transparent 52%);
  mask-image: linear-gradient(180deg, transparent, #000 24%, #000 76%, transparent);
}
.hero-telemetry {
  position: absolute;
  z-index: 5;
  left: max(26px, calc((100vw - 1460px) / 2));
  right: max(26px, calc((100vw - 1460px) / 2));
  bottom: 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  color: rgba(140,164,176,.58);
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero-telemetry span:first-child { text-align: left; }
.hero-telemetry span:nth-child(2) { color: rgba(201,224,233,.62); }
.hero-telemetry span:last-child { text-align: right; }
.hero-telemetry b { color: var(--gold); }
.telemetry-dot { display: inline-block; width: 5px; height: 5px; margin: 0 5px; border-radius: 50%; box-shadow: 0 0 9px currentColor; }
.telemetry-dot--red { color: var(--red); background: var(--red); }
.telemetry-dot--blue { color: var(--blue); background: var(--blue); }

/* Moving server manifesto */
.signal-strip {
  position: relative;
  z-index: 15;
  overflow: hidden;
  height: 42px;
  border-top: 1px solid rgba(255,62,76,.22);
  border-bottom: 1px solid rgba(46,155,255,.24);
  background: linear-gradient(90deg, rgba(31,4,7,.96), rgba(3,15,22,.98) 45%, rgba(3,12,27,.96));
  box-shadow: 0 10px 45px rgba(0,0,0,.45), inset 0 0 30px rgba(69,170,224,.035);
}
.signal-strip::before,
.signal-strip::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  width: 130px;
}
.signal-strip::before { left: 0; background: linear-gradient(90deg,#02060a,transparent); }
.signal-strip::after { right: 0; background: linear-gradient(-90deg,#02060a,transparent); }
.signal-track {
  width: max-content;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
  color: #91a9b4;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
  animation: signalMarquee 29s linear infinite;
}
.signal-track span:nth-of-type(6n+1) { color: #f3f8fa; }
.signal-track i { color: var(--gold); font-size: 7px; text-shadow: 0 0 8px currentColor; }
@keyframes signalMarquee { to { transform: translateX(-50%); } }

/* Precision lighting on cards and panels */
.neon-card,
.panel,
.network-stage,
.world-callout,
.inner-hero__content,
.product-card,
.shop-sidebar,
.support {
  --spot-x: 50%;
  --spot-y: 50%;
}
.panel::before,
.network-stage::before,
.world-callout::before,
.inner-hero__content::before,
.product-card::before,
.shop-sidebar::before,
.support::before {
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(101,205,255,.105), transparent 31%),
    linear-gradient(130deg, rgba(255,255,255,.04), transparent 35%);
}
.neon-card {
  isolation: isolate;
}
.neon-card:hover .card-icon { transform: translateZ(34px) scale(1.045); }
.card-icon { transition: transform .24s ease, box-shadow .24s ease; }

/* FOX Network map */
.network-section { margin-top: 72px; }
.network-title {
  max-width: 780px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  margin: 0 auto 23px;
  text-align: center;
}
.network-title .eyebrow,
.network-title h2 { margin-inline: auto; text-align: center; }
.network-title > p:last-child { max-width: 680px; margin: 0 auto; text-align: center; }
.network-stage {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  border: 1px solid rgba(67,181,231,.27);
  border-radius: 22px;
  background:
    radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(37,141,255,.085), transparent 24%),
    radial-gradient(circle at 50% 50%, rgba(27,108,145,.12), transparent 30%),
    linear-gradient(150deg, rgba(4,15,22,.98), rgba(1,6,10,.99));
  box-shadow: 0 35px 100px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.04);
  isolation: isolate;
}
.network-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
}
.network-stage::after {
  content: "FOX NETWORK / TOPOLOGY 01";
  position: absolute;
  right: 20px;
  bottom: 14px;
  color: rgba(105,151,172,.25);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .22em;
}
.network-grid-bg {
  position: absolute;
  inset: 0;
  opacity: .14;
  background-image:
    linear-gradient(rgba(54,176,231,.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(54,176,231,.22) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse, #000 15%, transparent 74%);
}
.network-lines { position: absolute; inset: 8% 7%; width: 86%; height: 84%; overflow: visible; }
.network-lines path {
  fill: none;
  stroke-width: 1.4;
  stroke-dasharray: 7 10;
  vector-effect: non-scaling-stroke;
  animation: networkFlow 8s linear infinite;
}
.network-lines .line-red { stroke: rgba(255,57,75,.55); }
.network-lines .line-blue { stroke: rgba(37,141,255,.58); animation-delay: -2s; }
.network-lines .line-gold { stroke: rgba(255,200,60,.5); animation-delay: -4s; }
.network-lines .line-purple { stroke: rgba(198,103,255,.5); animation-delay: -6s; }
@keyframes networkFlow { to { stroke-dashoffset: -170; } }
.network-node {
  --node: var(--cyan);
  position: absolute;
  z-index: 3;
  width: min(250px, 25%);
  min-height: 116px;
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  padding: 15px;
  border: 1px solid color-mix(in srgb,var(--node) 45%,transparent);
  border-radius: 12px;
  background: linear-gradient(145deg, color-mix(in srgb,var(--node) 7%,rgba(5,16,23,.94)), rgba(1,7,11,.97));
  box-shadow: 0 17px 45px rgba(0,0,0,.35), 0 0 22px color-mix(in srgb,var(--node) 8%,transparent);
  transition: transform .2s ease, border-color .2s ease;
}
.network-node::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 1px; background: linear-gradient(90deg,transparent,var(--node),transparent); box-shadow: 0 0 8px var(--node); }
.network-node--red { --node: var(--red); left: 5%; top: 12%; }
.network-node--blue { --node: var(--blue); right: 5%; top: 12%; }
.network-node--gold { --node: var(--gold); left: 7%; bottom: 10%; }
.network-node--purple { --node: var(--purple); right: 7%; bottom: 10%; }
.network-node__icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--node) 38%,transparent); border-radius: 11px; color: var(--node); background: color-mix(in srgb,var(--node) 6%,rgba(1,8,12,.76)); box-shadow: inset 0 0 15px color-mix(in srgb,var(--node) 7%,transparent); }
.network-node__icon .icon { width: 25px; height: 25px; filter: drop-shadow(0 0 7px var(--node)); }
.network-node small { color: color-mix(in srgb,var(--node) 72%,#778a95); font-size: 7px; font-weight: 900; letter-spacing: .17em; }
.network-node h3 { margin: 3px 0 4px; font-size: 14px; }
.network-node p { margin: 0; color: #8499a4; font-size: 9px; line-height: 1.4; }
.network-node > b { grid-column: 1 / -1; justify-self: start; margin-top: -2px; padding: 4px 7px; border-radius: 99px; color: color-mix(in srgb,var(--node) 75%,#fff); background: color-mix(in srgb,var(--node) 7%,transparent); font-size: 6px; letter-spacing: .12em; }
.network-core {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: 160px;
  height: 160px;
  transform: translate(-50%,-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(80,195,242,.36);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(12,47,65,.88), rgba(2,9,14,.98) 68%);
  box-shadow: 0 0 0 13px rgba(35,143,191,.035), 0 0 55px rgba(31,152,211,.2), inset 0 0 32px rgba(49,172,224,.08);
}
.network-core__rings,
.network-core__rings i { position: absolute; inset: 0; border: 1px solid rgba(69,181,229,.2); border-radius: 50%; }
.network-core__rings { inset: -18px; animation: coreSpin 15s linear infinite; }
.network-core__rings i:nth-child(1) { inset: -12px; border-style: dashed; border-color: rgba(255,57,75,.18); }
.network-core__rings i:nth-child(2) { inset: 10px; border-color: rgba(37,141,255,.2); animation: coreSpin 8s linear infinite reverse; }
.network-core__rings i:nth-child(3) { inset: 31px; border-style: dotted; border-color: rgba(255,200,60,.2); }
@keyframes coreSpin { to { rotate: 360deg; } }
.network-core__logo { width: 72px; height: 72px; overflow: hidden; border-radius: 50%; filter: drop-shadow(0 0 16px rgba(45,155,255,.3)); }
.network-core__logo img { width: 100%; height: 100%; object-fit: contain; }
.network-core small { margin-top: 4px; color: #70d7ff; font-size: 6px; font-weight: 900; letter-spacing: .2em; }
.network-core strong { font-size: 14px; letter-spacing: .16em; }
.network-core em { margin-top: 3px; color: #7f949f; font-size: 6px; font-style: normal; letter-spacing: .12em; }

/* Cinematic world callout */
.world-callout {
  position: relative;
  min-height: 280px;
  margin-top: 72px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 30px;
  padding: 42px 45px;
  border: 1px solid rgba(75,181,229,.32);
  border-radius: 19px;
  background: #030b10;
  box-shadow: 0 34px 90px rgba(0,0,0,.43);
  isolation: isolate;
}
.world-callout::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.world-callout__image {
  position: absolute;
  z-index: -3;
  inset: 0;
  background-color: #02101a;
  background-image: url('../img/world-callout-bg.webp?v=1.6.2-water-mountain-1');
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: saturate(1.08) contrast(1.04) brightness(.9);
  transform: scale(1.015);
}
.world-callout__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,7,11,.97) 0, rgba(2,7,11,.8) 47%, rgba(2,7,11,.36) 100%),
    linear-gradient(180deg, rgba(2,7,11,.32), rgba(2,7,11,.82));
}
.world-callout__grid { position: absolute; z-index: -1; inset: 0; opacity: .12; background-image: linear-gradient(rgba(68,187,236,.23) 1px,transparent 1px),linear-gradient(90deg,rgba(68,187,236,.23) 1px,transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg,#000,transparent 86%); }
.world-callout__content { max-width: 720px; }
.world-callout h2 { margin: 0; max-width: 700px; font-size: clamp(28px,4vw,48px); line-height: 1.03; letter-spacing: -.035em; text-transform: uppercase; }
.world-callout__content > p:last-of-type { max-width: 610px; margin: 15px 0 20px; color: #9baeb8; font-size: 12px; line-height: 1.72; }
.world-callout__facts { display: flex; flex-wrap: wrap; gap: 9px; }
.world-callout__facts span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(91,190,235,.2); border-radius: 8px; background: rgba(2,9,14,.63); color: #afc0c8; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.world-callout__facts b { color: var(--cyan); }
.world-callout__action {
  position: relative;
  min-width: 235px;
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 14px;
  padding: 15px 18px;
  overflow: hidden;
  border: 1px solid rgba(115,255,79,.46);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(29,104,25,.73), rgba(3,23,8,.92));
  color: #fff;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 0 25px rgba(80,235,58,.12), inset 0 0 20px rgba(116,255,80,.04);
}
.world-callout__action::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 32%, rgba(255,255,255,.09), transparent 66%); transform: translateX(-100%); transition: transform .55s ease; }
.world-callout__action:hover::before { transform: translateX(100%); }
.world-callout__action small { grid-column: 1; color: #91c985; font-size: 7px; letter-spacing: .15em; }
.world-callout__action b { grid-column: 1; font-size: 17px; }
.world-callout__action .icon { grid-column: 2; grid-row: 1 / 3; width: 24px; height: 24px; color: var(--green); filter: drop-shadow(0 0 8px currentColor); }

/* Refined section rhythm */
.dashboard { margin-top: 24px; }
.roadmap { margin-top: 78px; }
.support { margin-top: 18px; }
.content-surface { overflow: hidden; }
.content-surface::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 23%;
  width: 75vw;
  height: 75vw;
  transform: translateX(-50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(31,116,153,.055), transparent 68%);
  pointer-events: none;
}
.section-intro,
.mode-grid,
.dashboard,
.network-section,
.roadmap,
.world-callout,
.support { z-index: 1; }

/* Footer depth */
.footer { overflow: hidden; isolation: isolate; }
.footer-ghost {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: -28px;
  transform: translateX(-50%);
  color: rgba(85,145,170,.055);
  font-size: clamp(56px,9vw,132px);
  font-weight: 1000;
  letter-spacing: -.06em;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

/* Inner pages become more cinematic */
.inner-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(70,171,218,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(70,171,218,.11) 1px,transparent 1px);
  background-size: 66px 66px;
  mask-image: linear-gradient(90deg,#000,transparent 75%);
  opacity: .25;
}
.inner-hero__content {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(83,190,236,.2);
  border-radius: 18px;
  padding: 28px 30px;
  background: linear-gradient(145deg, rgba(3,13,20,.72), rgba(2,7,11,.56));
  box-shadow: 0 25px 70px rgba(0,0,0,.35);
  backdrop-filter: blur(9px);
}
.inner-hero__content::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.inner-hero__content > * { position: relative; z-index: 1; }

@media (max-width: 1100px) {
  .network-stage { min-height: 650px; }
  .network-lines { display: none; }
  .network-node { width: calc(50% - 38px); }
  .network-node--red { left: 25px; top: 24px; }
  .network-node--blue { right: 25px; top: 24px; }
  .network-node--gold { left: 25px; bottom: 24px; }
  .network-node--purple { right: 25px; bottom: 24px; }
  .network-core { width: 145px; height: 145px; }
}

@media (max-width: 840px) {
  .cursor-aura { display: none; }
  .hero-telemetry { display: none; }
  .hero-orbit { bottom: 44px; width: 95vw; }
  .signal-strip { height: 38px; }
  .network-title { gap: 6px; }
  .network-title > p:last-child { margin-top: 2px; }
  .world-callout { grid-template-columns: 1fr; padding: 34px 28px; }
  .world-callout__action { width: 100%; }
  .world-callout__image { background-position: center center; }
  .world-callout__image::after { background: linear-gradient(90deg,rgba(2,7,11,.94),rgba(2,7,11,.68)),linear-gradient(180deg,rgba(2,7,11,.35),rgba(2,7,11,.88)); }
}

@media (max-width: 620px) {
  body::before { opacity: .08; }
  .hero-beams { opacity: .25; }
  .hero-fog { display: none; }
  .hero-orbit { display: none; }
  .signal-track { gap: 18px; font-size: 8px; }
  .network-section { margin-top: 55px; }
  .network-stage { min-height: auto; display: grid; gap: 10px; padding: 18px; }
  .network-node,
  .network-node--red,
  .network-node--blue,
  .network-node--gold,
  .network-node--purple { position: relative; inset: auto; width: 100%; min-height: 105px; }
  .network-core { position: relative; left: auto; top: auto; width: 135px; height: 135px; margin: 12px auto; transform: none; grid-row: 1; }
  .network-grid-bg { opacity: .08; }
  .world-callout { min-height: 360px; margin-top: 55px; padding: 28px 21px; }
  .world-callout h2 { font-size: 29px; }
  .world-callout__facts { display: grid; grid-template-columns: 1fr; }
  .world-callout__action { min-width: 0; }
  .inner-hero__content { padding: 23px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .signal-track,
  .hero-beams i,
  .hero-fog,
  .hero-scanline,
  .topbar-scan,
  .brand-emblem,
  .network-lines path,
  .network-core__rings,
  .network-core__rings i { animation: none !important; }
  .cursor-aura { display: none; }
}

/* ==========================================================================
   FOX SURVIVAL v1.6 — FINAL POLISH
   ========================================================================== */

:root {
  --shell: min(1460px, calc(100% - 48px));
  --font-display: Inter, "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
  --font-body: Inter, "Segoe UI Variable Text", "Segoe UI", Arial, sans-serif;
  --ease-out: cubic-bezier(.2,.75,.2,1);
  --ease-smooth: cubic-bezier(.22,1,.36,1);
  --line-soft: rgba(105,190,230,.18);
  --line-bright: rgba(105,210,250,.38);
}

html { scroll-padding-top: 110px; }
body {
  font-family: var(--font-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.is-loading { overflow: hidden; }

::selection { color: #fff; background: rgba(38,158,220,.72); }

.skip-link {
  position: fixed;
  z-index: 1000;
  left: 16px;
  top: 12px;
  padding: 10px 14px;
  border: 1px solid var(--cyan);
  border-radius: 8px;
  background: #031018;
  color: #fff;
  transform: translateY(-160%);
  transition: transform .18s ease;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea):focus-visible {
  outline: 2px solid #6ce9ff;
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(54,198,244,.13);
}
:where(button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .58;
  filter: saturate(.55);
}

.site-noise {
  position: fixed;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  opacity: .022;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

/* Loading screen: short, lightweight and removable */
.site-loader {
  position: fixed;
  z-index: 999;
  inset: 0;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 42%, rgba(15,76,105,.18), transparent 35%),
    linear-gradient(150deg, #03090e, #010306 68%);
  opacity: 1;
  visibility: visible;
  transition: opacity .48s ease, visibility .48s ease;
}
.site-loader::before,
.site-loader::after {
  content: "";
  position: absolute;
  inset: 7%;
  border: 1px solid rgba(65,177,226,.08);
  pointer-events: none;
}
.site-loader::after {
  inset: 0;
  border: 0;
  background: linear-gradient(90deg, rgba(255,57,75,.22), transparent 24%, transparent 76%, rgba(37,141,255,.22));
  mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
}
.site-loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.site-loader__core { position: relative; width: min(310px, calc(100% - 48px)); display: grid; justify-items: center; text-align: center; }
.site-loader__logo {
  width: 92px;
  height: 92px;
  overflow: hidden;
  border: 1px solid rgba(72,188,237,.35);
  border-radius: 50%;
  box-shadow: 0 0 0 9px rgba(41,153,207,.04), 0 0 50px rgba(29,149,214,.22);
  animation: loaderFloat 2.3s ease-in-out infinite;
}
.site-loader__logo img { width: 100%; height: 100%; object-fit: contain; }
.site-loader__core strong { margin-top: 18px; font-size: 20px; letter-spacing: .16em; }
.site-loader__core > span { margin-top: 7px; color: #78929f; font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.site-loader__bar { width: 100%; height: 2px; margin-top: 20px; overflow: hidden; border-radius: 99px; background: rgba(79,167,207,.12); }
.site-loader__bar i { display: block; width: 45%; height: 100%; background: linear-gradient(90deg, transparent, #45d7ff, #89ff69, transparent); box-shadow: 0 0 12px #45d7ff; animation: loaderBar 1.15s var(--ease-smooth) infinite; }
@keyframes loaderBar { from { transform: translateX(-115%); } to { transform: translateX(255%); } }
@keyframes loaderFloat { 50% { transform: translateY(-5px); filter: brightness(1.08); } }
.no-js .site-loader { display: none; }

/* Header and navigation refinement */
.topbar {
  width: var(--shell);
  transition: top .25s ease, min-height .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.topbar.scrolled {
  top: 8px;
  min-height: 64px;
  border-color: rgba(73,183,232,.4);
  background: rgba(2,8,13,.93);
  box-shadow: 0 18px 55px rgba(0,0,0,.62), inset 0 1px rgba(255,255,255,.05);
}
.topbar.scrolled .nav a { min-height: 62px; }
.brand-mini { min-width: max-content; }
.nav a { letter-spacing: .035em; }
.nav a.section-active:not(.active) { color: #eaf8ff; }
.nav a.section-active:not(.active) .icon { color: #8fe8ff; }
.nav-backdrop {
  position: fixed;
  z-index: 48;
  inset: 0;
  display: none;
  border: 0;
  background: rgba(0,3,7,.68);
  backdrop-filter: blur(5px);
}
body.nav-open { overflow: hidden; }
body.nav-open .nav-backdrop { display: block; }

/* Development notice can now be hidden */
.install-banner { padding-right: 38px; transition: opacity .25s ease, transform .25s ease; }
.install-banner[hidden] { display: none !important; }
.install-banner.is-hiding { opacity: 0; transform: translate(-50%,-10px); }
.install-banner__close {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 6px;
  background: rgba(255,255,255,.045);
  color: #bcae7e;
  cursor: pointer;
  transform: translateY(-50%);
}
.install-banner__close:hover { color: #fff; background: rgba(255,255,255,.09); }

/* Typography and rhythm */
.section-shell { width: var(--shell); }
.section-intro h1,
.section-title h2,
.inner-hero h1,
.world-callout h2 { font-family: var(--font-display); text-wrap: balance; }
.section-intro > p,
.section-title > p:last-child,
.inner-hero__content > p,
.world-callout__content > p:last-of-type { text-wrap: pretty; }
.section-intro > p,
.section-title > p:last-child { font-size: 14px; line-height: 1.75; }
.eyebrow { letter-spacing: .18em; }

/* Hero contrast and control clarity */
.hero-overlay {
  background:
    linear-gradient(180deg, rgba(0,3,7,.16) 0, rgba(0,4,7,0) 42%, rgba(0,4,7,.3) 67%, #02060a 100%),
    radial-gradient(ellipse at 50% 40%, transparent 0 33%, rgba(0,2,5,.08) 53%, rgba(0,2,5,.64) 100%);
}
.hero-controls { max-width: 720px; }
.play-button { min-width: 0; }
.play-button:active { transform: translateY(0) scale(.992); }
.play-copy small { color: #c0edb7; }
.server-line { box-shadow: 0 14px 40px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.035); }
.hero-hud p { font-size: 11px; }
.hud-row { font-size: 11px; }

/* Feature cards: more readable, less visual noise */
.mode-grid { align-items: stretch; }
.neon-card {
  min-height: 252px;
  padding: 26px 19px 20px;
  transition: transform .25s var(--ease-out), border-color .25s ease, box-shadow .25s ease;
}
.neon-card:hover { border-color: color-mix(in srgb, var(--accent) 78%, transparent); }
.neon-card h2 { font-size: 20px; letter-spacing: -.01em; }
.neon-card p { font-size: 13px; line-height: 1.65; }
.neon-card a { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.neon-card a .icon { width: 14px; height: 14px; }
.card-number { font-size: 9px; }

/* Dashboard and news readability */
.about-copy > p:not(.eyebrow),
.news-copy p,
.support p { font-size: 13px; line-height: 1.7; }
.about-copy h2,
.stats-panel h2,
.news-panel h2 { line-height: 1.15; }
.feature-tags span { font-size: 10px; }
.news-item { min-height: 76px; }
.news-copy h3 { font-size: 14px; }
.news-date { white-space: nowrap; }
.news-badge .icon { width: 22px; height: 22px; }
.social-row a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.social-row a[href="#"] { opacity: .62; cursor: default; }

/* Product catalog */
.catalog-section { scroll-margin-top: 110px; }
.product-grid { align-items: stretch; }
.product-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: 22px;
  isolation: isolate;
}
.product-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -20% -45% 30%;
  height: 65%;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 10%, transparent);
  filter: blur(35px);
}
.product-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.product-type { color: #8197a2; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(110,244,85,.28);
  border-radius: 999px;
  background: rgba(75,190,52,.07);
  color: #a9ff94;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.status-pill--soon { border-color: rgba(255,200,60,.3); background: rgba(255,194,43,.065); color: #ffe08a; }
.product-icon {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  margin-top: 26px;
  border: 1px solid color-mix(in srgb,var(--accent) 35%,transparent);
  border-radius: 16px;
  background: color-mix(in srgb,var(--accent) 7%,rgba(2,9,14,.76));
}
.product-icon .icon { width: 34px; height: 34px; color: var(--accent); filter: drop-shadow(0 0 10px var(--accent)); }
.product-card h3 { font-size: 24px; }
.product-card p { font-size: 13px; line-height: 1.65; }
.product-card button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.product-card button .icon { width: 16px; height: 16px; }
.empty-catalog--polished {
  min-height: 190px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 24px;
  border: 1px dashed rgba(91,184,227,.27);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(5,17,24,.72), rgba(2,8,12,.88));
}
.empty-catalog--polished > div { display: grid; gap: 5px; }
.empty-catalog--polished small { color: #5e8395; font-size: 8px; font-weight: 900; letter-spacing: .18em; }
.empty-catalog--polished b { color: #eef8fc; font-size: 18px; }
.empty-catalog--polished span:not(.empty-catalog__icon):not(.status-pill) { color: #879ba5; font-size: 12px; }
.empty-catalog__icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(77,181,230,.25);
  border-radius: 14px;
  background: rgba(28,121,165,.07);
  color: #73d9ff;
}
.empty-catalog__icon .icon { width: 30px; height: 30px; }

/* Account and admin states */
.account-guest { position: relative; max-width: 760px; padding: 54px 46px; overflow: hidden; }
.account-guest__visual { position: relative; width: max-content; margin: 0 auto 17px; }
.account-guest__state {
  position: absolute;
  right: -7px;
  bottom: -5px;
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(89,198,241,.42);
  border-radius: 50%;
  background: #07141d;
  color: #75ddff;
  box-shadow: 0 0 16px rgba(53,174,225,.24);
}
.account-guest__state .icon { width: 15px; height: 15px; }
.account-guest > p:not(.eyebrow) { max-width: 540px; margin: 10px auto 20px; font-size: 13px; }
.guest-features { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-bottom: 22px; }
.guest-features span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid rgba(76,174,218,.18); border-radius: 8px; color: #8ea4af; font-size: 9px; }
.guest-features .icon { width: 14px; height: 14px; color: #70d7ff; }
.account-panel__head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.account-panel__head > span { width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid rgba(77,184,227,.25); border-radius: 10px; background: rgba(35,139,186,.06); color: #74dcff; }
.account-panel__head .icon { width: 22px; height: 22px; }
.account-panel__head small { color: #708893; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.account-panel__head h2 { margin: 3px 0 0; }
.profile-meta b { overflow-wrap: anywhere; }
.order-table tbody tr { transition: background .18s ease; }
.order-table tbody tr:hover { background: rgba(80,185,228,.035); }
.admin-stat { position: relative; min-height: 125px; overflow: hidden; }
.admin-stat > i { position: absolute; right: 17px; top: 17px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(87,183,226,.18); border-radius: 10px; color: #66d3ff; background: rgba(43,149,197,.05); }
.admin-stat > i .icon { width: 20px; height: 20px; }
.admin-section h2 { font-size: 20px; }
.admin-row { min-height: 58px; }
.admin-row small { display: block; margin-top: 4px; line-height: 1.45; }
.admin-list { scrollbar-width: thin; scrollbar-color: rgba(71,178,226,.4) transparent; }

/* Forms */
.form-grid input,
.form-grid textarea,
.form-grid select,
.auth-form input,
.admin-form input,
.admin-form textarea,
.admin-form select {
  min-height: 45px;
  font-size: 13px;
}
textarea { resize: vertical; }
.form-submit { min-height: 44px; }
.form-message { min-height: 18px; font-size: 11px; }
.form-message:not(:empty) { padding: 8px 10px; border-left: 2px solid #ff5b67; background: rgba(255,57,73,.05); }
.form-message.success:not(:empty) { border-left-color: #75f05e; background: rgba(87,217,61,.05); }

/* Dialog */
.auth-dialog { max-height: min(760px, calc(100svh - 28px)); }
.auth-dialog[open] { animation: dialogIn .28s var(--ease-smooth); }
@keyframes dialogIn { from { opacity: 0; transform: translateY(14px) scale(.97); } }
.dialog-close { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px; }
.dialog-close:hover { color: #fff; background: rgba(255,255,255,.055); }

/* Error and maintenance pages */
.error-main {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 130px 24px 70px;
  background:
    linear-gradient(180deg, rgba(0,3,7,.25), #02060a 92%),
    url('../img/fox-background.webp?v=1.6.2-site-x8-20260716') center / cover no-repeat;
}
.error-card {
  position: relative;
  width: min(760px, 100%);
  overflow: hidden;
  padding: 50px;
  border: 1px solid rgba(72,186,235,.34);
  border-radius: 20px;
  background: linear-gradient(150deg, rgba(5,18,25,.93), rgba(1,7,11,.96));
  box-shadow: 0 35px 110px rgba(0,0,0,.6);
  text-align: center;
  backdrop-filter: blur(14px);
}
.error-code { display: block; color: rgba(105,217,255,.16); font-size: clamp(78px,18vw,160px); font-weight: 1000; line-height: .78; letter-spacing: -.08em; }
.error-card h1 { margin: 22px 0 10px; font-size: clamp(27px,5vw,44px); text-transform: uppercase; }
.error-card p { max-width: 560px; margin: 0 auto 26px; color: #90a5af; font-size: 14px; line-height: 1.7; }
.error-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.error-actions a { min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid rgba(79,188,235,.35); border-radius: 9px; background: rgba(34,142,190,.07); color: #bfeeff; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.error-actions a.primary { border-color: rgba(113,245,84,.4); background: rgba(66,180,43,.09); color: #b9ffa8; }
.error-actions .icon { width: 16px; height: 16px; }

/* Footer and utility */
.footer-links a { min-height: 30px; display: inline-flex; align-items: center; }
.back-to-top { display: grid; place-items: center; }
.back-to-top .icon { width: 20px; height: 20px; }
.toast { font-size: 12px; line-height: 1.45; }
.image-failed { background: linear-gradient(145deg,#07151d,#02080c); }

/* Lower sections can be skipped by the browser until near viewport */
@supports (content-visibility: auto) {
  .network-section,
  .roadmap,
  .world-callout,
  .support { content-visibility: auto; contain-intrinsic-size: 1px 620px; }
}

@supports not ((backdrop-filter: blur(8px)) or (-webkit-backdrop-filter: blur(8px))) {
  .topbar,
  .install-banner,
  .inner-hero__content,
  .auth-dialog { background-color: rgba(2,8,13,.98); }
}

@media (max-width: 1220px) {
  .nav { z-index: 52; }
  .nav.open { animation: mobileMenuIn .2s var(--ease-out); }
  @keyframes mobileMenuIn { from { opacity: 0; transform: translateY(-8px); } }
  .nav a { font-size: 13px; }
}

@media (max-width: 840px) {
  :root { --shell: min(100% - 28px, 1460px); }
  .topbar { width: calc(100% - 16px); }
  .topbar.scrolled { top: 6px; }
  .install-banner { padding-right: 36px; }
  .hero-overlay { background: linear-gradient(180deg, rgba(0,3,7,.13), rgba(0,4,7,.02) 42%, rgba(0,4,7,.42) 69%, #02060a 100%), radial-gradient(ellipse at 50% 38%, transparent 0 28%, rgba(0,2,5,.56) 100%); }
  .section-intro > p, .section-title > p:last-child { font-size: 13px; }
  .empty-catalog--polished { grid-template-columns: auto 1fr; }
  .empty-catalog--polished .status-pill { grid-column: 2; justify-self: start; }
  .account-guest { padding: 42px 26px; }
  .error-card { padding: 40px 25px; }
}

@media (max-width: 560px) {
  :root { --shell: calc(100% - 22px); }
  html { scroll-padding-top: 84px; }
  .site-loader__logo { width: 78px; height: 78px; }
  .site-loader__core strong { font-size: 17px; }
  .nav { left: 8px; right: 8px; padding: 8px; max-height: calc(100svh - 86px); overflow-y: auto; }
  .nav a { min-height: 52px; }
  .install-banner { top: 79px; }
  .hero { min-height: 89svh; }
  .play-copy b { font-size: clamp(18px,6vw,22px); }
  .neon-card p { font-size: 13px; }
  .empty-catalog--polished { grid-template-columns: 1fr; text-align: center; justify-items: center; padding: 25px 18px; }
  .empty-catalog--polished .status-pill { grid-column: auto; justify-self: center; }
  .product-card { min-height: 280px; }
  .product-bottom { align-items: stretch; flex-direction: column; }
  .product-card button { justify-content: center; }
  .guest-features { display: grid; grid-template-columns: 1fr; }
  .account-guest .play-button { width: 100%; }
  .account-panel { padding: 20px; }
  .order-table th, .order-table td { white-space: nowrap; }
  .admin-stat { min-height: 105px; }
  .error-main { padding: 105px 12px 40px; }
  .error-card { padding: 34px 19px; }
  .error-actions { display: grid; }
  .error-actions a { justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
  .site-loader__logo,
  .site-loader__bar i { animation: none !important; }
  .site-loader__bar i { width: 100%; transform: none; }
}
.catalog-toolbar {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 24px;
  padding: 14px 17px;
}
.catalog-toolbar > div:first-child { display: flex; align-items: center; gap: 12px; }
.catalog-toolbar__icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(74,185,232,.26); border-radius: 10px; color: #78ddff; background: rgba(39,150,200,.06); }
.catalog-toolbar__icon .icon { width: 21px; height: 21px; }
.catalog-toolbar p { display: grid; gap: 3px; margin: 0; }
.catalog-toolbar small { color: #658393; font-size: 7px; font-weight: 900; letter-spacing: .18em; }
.catalog-toolbar b { font-size: 14px; }
.catalog-toolbar__meta { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.catalog-toolbar__meta > span:not(.status-pill) { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid rgba(75,176,220,.16); border-radius: 8px; color: #92a8b3; font-size: 9px; }
.catalog-toolbar__meta .icon { width: 14px; height: 14px; color: #78d9ff; }
@media (max-width: 620px) {
  .catalog-toolbar { align-items: flex-start; flex-direction: column; }
  .catalog-toolbar__meta { justify-content: flex-start; }
}
.no-js body.is-loading { overflow: auto; }


/* FOX SURVIVAL v1.6.1 — performance guard */
.dashboard { isolation: isolate; contain: layout style; }
.panel { -webkit-backdrop-filter: none; backdrop-filter: none; }
.network-section,
.roadmap,
.world-callout,
.support { content-visibility: auto; contain-intrinsic-size: 700px; }
body.hero-offscreen .hero-beams i,
body.hero-offscreen .hero-fog,
body.hero-offscreen .hero-scanline,
body.hero-offscreen .hero-orbit i,
body.hero-offscreen .hud-bars i { animation-play-state: paused !important; }
@media (max-width: 1100px), (prefers-reduced-motion: reduce) {
  .cursor-aura { display: none !important; }
  .panel { box-shadow: 0 18px 52px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.03); }
}


/* FOX SURVIVAL v1.6.2 — clean header wordmark */
.brand-wordmark__rail { display: none !important; }
.brand-wordmark__fox { text-shadow: 1px 1px 0 #000 !important; filter: none !important; }
.brand-wordmark b { text-shadow: none !important; filter: none !important; -webkit-text-stroke: 0 !important; }

/* v1.6.2 mobile menu + about block fix */
@media (max-width: 1220px) {
  .topbar { overflow: visible; }
}

@media (max-width: 560px) {
  .about-art {
    min-height: 188px;
    background-size: 190% auto;
    background-position: center 48%;
  }
  .world-callout__image { background-position: center center; }
}


/* FOX SURVIVAL v1.6.2 — mobile navigation reliability + about image crop */
@media (max-width: 1220px) {
  .topbar {
    z-index: 180 !important;
    overflow: visible !important;
  }

  .nav-backdrop {
    z-index: 160 !important;
    background: rgba(0, 4, 8, .76) !important;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
  }

  .nav {
    position: fixed !important;
    z-index: 190 !important;
    top: 92px !important;
    left: max(12px, env(safe-area-inset-left)) !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    width: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 3px !important;
    max-height: calc(100dvh - 108px) !important;
    padding: 10px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid rgba(84, 199, 246, .46) !important;
    border-radius: 14px !important;
    background: linear-gradient(160deg, rgba(3, 14, 22, .995), rgba(1, 7, 12, .995)) !important;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .86), inset 0 1px rgba(255,255,255,.045) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-10px) scale(.985) !important;
    transform-origin: top center !important;
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
  }

  .nav.open,
  body.nav-open .nav {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  .nav a {
    position: relative !important;
    width: 100% !important;
    min-height: 52px !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    padding: 0 15px !important;
    border-radius: 9px !important;
    color: #d9e8ef !important;
    background: transparent !important;
  }

  .nav a:hover,
  .nav a:focus-visible,
  .nav a.active {
    color: #fff !important;
    background: rgba(48, 177, 229, .09) !important;
  }

  .nav a.active::after {
    left: 0 !important;
    right: auto !important;
    top: 9px !important;
    bottom: 9px !important;
    width: 3px !important;
    height: auto !important;
  }
}

.about-art {
  background-image: url('../img/about-background.webp?v=1.6.2-red-castle-1') !important;
  background-size: cover !important;
  background-position: center 43% !important;
}

@media (max-width: 840px) {
  .nav {
    top: 82px !important;
    max-height: calc(100dvh - 94px) !important;
  }
}

@media (max-width: 560px) {
  .nav {
    top: 80px !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    max-height: calc(100dvh - 90px) !important;
    padding: 8px !important;
  }

  .nav a {
    min-height: 54px !important;
    font-size: 13px !important;
  }

  .about-art {
    min-height: 230px !important;
    background-size: cover !important;
    background-position: center 38% !important;
  }
}

/* FOX Survival v1.6.2 — hero labels and navigation state fix */
.hero-telemetry {
  grid-template-columns: 1fr 1fr;
}
.hero-telemetry span:last-child {
  text-align: right;
}
.scroll-cue small {
  display: block;
}
.scroll-cue {
  gap: 5px;
}


/* FOX Survival logo — exact forum mark and sizing, 2026-07-12 */
/* Only the preloader keeps a circular frame. Every other logo is frameless. */
.site-loader__logo {
  width: 92px;
  height: 92px;
  overflow: hidden;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 45%, rgba(18,31,43,.96), rgba(2,6,10,.98) 72%);
  border: 1px solid rgba(72,188,237,.38);
  box-shadow:
    0 0 0 9px rgba(41,153,207,.04),
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 50px rgba(29,149,214,.22);
}
.site-loader__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-emblem,
.network-core__logo {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  animation: none;
}
.brand-emblem::after {
  display: none;
}
.brand-emblem img,
.network-core__logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter:
    saturate(1.08)
    contrast(1.08)
    drop-shadow(0 2px 2px rgba(0,0,0,.72));
}

/* Exact forum header dimensions. */
.topbar .brand-emblem {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
}
.topbar .brand-emblem img {
  transform: scale(1.04);
}

@media (max-width: 840px) {
  .topbar .brand-emblem {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .topbar .brand-emblem img {
    transform: scale(1.03);
  }
}

/* FOX Survival v1.7.1 — isolated and stable admin content editing */
.admin-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.admin-form-actions .form-submit { flex: 1 1 220px; }
.admin-form-actions .mini-button { min-height: 42px; padding-inline: 18px; }
.admin-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
@media (max-width: 620px) {
  .admin-row { align-items: flex-start; gap: 12px; }
  .admin-row-actions { width: 100%; justify-content: flex-start; }
  .admin-row-actions .mini-button { flex: 1 1 auto; }
}

/* FOX Survival v1.8 — roles, permissions and conditional admin access */
.role-badge {
  --role-color: #62d9ff;
  border-color: color-mix(in srgb, var(--role-color) 56%, transparent) !important;
  color: var(--role-color) !important;
  background: color-mix(in srgb, var(--role-color) 8%, transparent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--role-color) 12%, transparent);
}
.profile-actions { display: grid; gap: 10px; margin-top: 18px; }
.profile-actions .mini-button { width: 100%; }
.admin-access-button {
  min-height: 45px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 77, 91, .42);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(120, 19, 29, .2), rgba(28, 8, 13, .48));
  color: #ffb2b9;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.admin-access-button:hover { transform: translateY(-1px); border-color: rgba(255, 87, 101, .78); background: rgba(122, 22, 32, .27); }
.admin-access-button .icon { width: 18px; height: 18px; }
.admin-access-button .icon:last-child { width: 15px; height: 15px; }

.role-manager-mount { grid-column: 1 / -1; display: grid; gap: 20px; }
.role-manager-mount > .admin-section { grid-column: 1 / -1; }
.admin-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 19px; }
.admin-section-heading h2 { margin: 3px 0 0; }
.role-editor-icon { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(198,103,255,.28); border-radius: 12px; color: #cf8aff; background: rgba(198,103,255,.06); }
.role-editor-icon .icon { width: 25px; height: 25px; }
.role-form-grid { display: grid; grid-template-columns: 1.2fr 1fr 130px 130px; gap: 13px; }
.permission-fieldset { margin: 0; padding: 17px; border: 1px solid rgba(105,190,230,.17); border-radius: 11px; background: rgba(1,8,13,.35); }
.permission-fieldset legend { padding: 0 8px; color: #b7dbea; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.permission-fieldset > p { margin: 12px 0 0; color: #758c98; font-size: 9px; line-height: 1.5; }
.permission-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.permission-option { min-height: 43px; display: flex !important; flex-direction: row !important; align-items: center; gap: 9px !important; padding: 9px 10px; border: 1px solid rgba(102,186,226,.15); border-radius: 8px; background: rgba(28,116,155,.035); cursor: pointer; }
.permission-option:hover { border-color: rgba(96,205,248,.34); }
.permission-option input { width: 16px; height: 16px; margin: 0; accent-color: #4edbff; }
.permission-option span { color: #abc1cb; font-size: 10px; line-height: 1.35; }
.role-list { margin-top: 20px; }
.role-admin-row { grid-template-columns: auto minmax(0,1fr) auto; }
.role-swatch { --role-color: #62d9ff; width: 14px; height: 38px; display: block; border-radius: 99px; background: var(--role-color); box-shadow: 0 0 12px color-mix(in srgb,var(--role-color) 55%,transparent); }
.role-admin-row small { max-width: 780px; }
.user-role-row { grid-template-columns: auto minmax(180px,1fr) minmax(300px,.75fr); }
.user-role-controls { display: grid; grid-template-columns: minmax(150px,1fr) auto; gap: 9px; align-items: center; }
.user-role-controls select { min-height: 39px; }
.role-search { width: min(300px,100%); }
.role-search input { margin-top: 5px; }
.role-form .form-message { min-height: 0; }

@media (max-width: 1100px) {
  .role-form-grid { grid-template-columns: 1fr 1fr; }
  .permission-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-role-row { grid-template-columns: auto minmax(150px,1fr); }
  .user-role-controls { grid-column: 2; width: 100%; }
}
@media (max-width: 620px) {
  .admin-section-heading { align-items: flex-start; flex-direction: column; }
  .role-form-grid, .permission-grid { grid-template-columns: 1fr; }
  .role-admin-row, .user-role-row { grid-template-columns: auto 1fr; align-items: start; }
  .role-admin-row .admin-row-actions, .user-role-controls { grid-column: 2; width: 100%; }
  .user-role-controls { grid-template-columns: 1fr; }
  .role-search { width: 100%; }
}

/* FOX Survival v1.9 — Minecraft player profile and per-server inventory */
.game-profile-panel { position: relative; overflow: visible; }
.game-profile-head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; }
.server-picker { min-width: 190px; display: grid; gap: 5px; }
.server-picker > span { color: #6f8792; font-size: 8px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.server-picker select {
  width: 100%; min-height: 39px; padding: 8px 34px 8px 11px;
  border: 1px solid rgba(81,190,235,.34); border-radius: 9px;
  background: rgba(2,10,15,.96); color: #dff6ff; font-size: 11px; font-weight: 850;
  cursor: pointer;
}
.game-profile-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 22px; align-items: start; }
.game-profile-character {
  min-height: 365px; padding: 18px 16px; display: grid; justify-items: center; align-content: start; gap: 15px;
  border: 1px solid rgba(74,176,224,.2); border-radius: 13px;
  background: linear-gradient(160deg,rgba(4,18,27,.94),rgba(1,7,11,.97));
}
.minecraft-profile-stage { width: 100%; display: grid; justify-items: center; }
.minecraft-nameplate { min-height: 43px; display: grid; justify-items: center; gap: 3px; text-align: center; }
.minecraft-nameplate b { color: #f3fbff; font-size: 15px; text-shadow: 0 2px 4px #000; }
.minecraft-nameplate span { color: var(--rank-color,#62d9ff); font-size: 9px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.minecraft-player { position: relative; width: 144px; height: 205px; margin-top: 2px; image-rendering: pixelated; filter: drop-shadow(0 14px 15px rgba(0,0,0,.65)); }
.minecraft-player::before { content:""; position:absolute; left:12%; right:12%; bottom:0; height:15px; border-radius:50%; background:rgba(0,0,0,.56); filter:blur(5px); }
.minecraft-skin-canvas { position:absolute; left:0; top:0; width:144px; height:192px; opacity:0; image-rendering:pixelated; transition:opacity .2s ease; }
.minecraft-player.skin-loaded .minecraft-skin-canvas { opacity:1; }
.minecraft-skin-fallback { position:absolute; left:0; top:0; width:144px; height:192px; display:block; }
.minecraft-player.skin-loaded .minecraft-skin-fallback { display:none; }
.minecraft-skin-fallback i { position:absolute; display:block; border:1px solid rgba(128,226,255,.16); background:linear-gradient(145deg,#3189b3,#0d2d40); box-shadow:inset 0 0 16px rgba(120,225,255,.08); }
.minecraft-skin-fallback i:nth-child(1) { width:48px; height:48px; left:48px; top:0; }
.minecraft-skin-fallback i:nth-child(2) { width:48px; height:72px; left:48px; top:48px; }
.minecraft-skin-fallback i:nth-child(3) { width:24px; height:72px; left:24px; top:48px; }
.minecraft-skin-fallback i:nth-child(4) { width:24px; height:72px; left:96px; top:48px; }
.minecraft-skin-fallback i:nth-child(5) { width:24px; height:72px; left:48px; top:120px; }
.minecraft-skin-fallback i:nth-child(6) { width:24px; height:72px; left:72px; top:120px; }
.equipment-grid { width:100%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.game-profile-data { min-width:0; display:grid; gap:15px; }
.game-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.game-stat-grid > div { min-height:68px; padding:12px; display:grid; align-content:center; gap:5px; border:1px solid rgba(75,181,229,.17); border-radius:10px; background:rgba(3,13,19,.75); }
.game-stat-grid small,.network-summary small { color:#718893; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }
.game-stat-grid b { color:#dff7ff; font-size:17px; }
.minecraft-inventory { padding:13px; border:1px solid rgba(130,139,144,.27); border-radius:11px; background:linear-gradient(145deg,rgba(31,34,36,.96),rgba(12,14,15,.98)); box-shadow:inset 0 0 28px rgba(0,0,0,.45); }
.inventory-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.inventory-title b { font-size:13px; }
.inventory-title span { color:#82ef67; font-size:9px; font-weight:850; }
.mc-inventory-grid { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:4px; }
.mc-slot { position:relative; aspect-ratio:1; min-width:0; display:grid; place-items:center; border:2px solid; border-color:#1c1e1f #777b7d #777b7d #1c1e1f; background:#4b4d4e; image-rendering:pixelated; cursor:default; }
.mc-slot.empty { background:#3b3d3e; }
.mc-slot.filled { background:radial-gradient(circle at 43% 38%,#72787a,#404345 70%); }
.mc-item-icon { width:82%; height:82%; display:block; opacity:0; object-fit:contain; image-rendering:pixelated; filter:drop-shadow(1px 2px 1px rgba(0,0,0,.72)); transition:opacity .12s ease; }
.mc-slot.icon-loaded .mc-item-icon { opacity:1; }
.mc-item-glyph { width:72%; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgba(255,255,255,.17); background:linear-gradient(145deg,#507886,#152b34); color:#e9fbff; font-size:9px; font-weight:950; text-shadow:0 1px #000; }
.mc-slot.icon-loaded .mc-item-glyph { display:none; }
.mc-slot[data-material*="diamond"] .mc-item-glyph { background:linear-gradient(145deg,#7efff2,#187b83); color:#06292e; }
.mc-slot[data-material*="netherite"] .mc-item-glyph { background:linear-gradient(145deg,#665166,#211a24); }
.mc-slot[data-material*="gold"] .mc-item-glyph { background:linear-gradient(145deg,#ffe85c,#9c6f08); color:#332200; }
.mc-slot[data-material*="iron"] .mc-item-glyph { background:linear-gradient(145deg,#f1f3f3,#7b8589); color:#273033; }
.mc-slot.selected { outline:2px solid #f5f5f5; outline-offset:-3px; box-shadow:inset 0 0 0 2px rgba(26,26,26,.78),0 0 10px rgba(255,255,255,.22); }
.mc-slot b { position:absolute; right:2px; bottom:0; z-index:3; color:#fff; font-size:10px; text-shadow:1px 1px #000,-1px -1px #000; }
.mc-durability { position:absolute; left:3px; right:3px; bottom:3px; z-index:2; height:3px; padding:1px; background:#161616; }
.mc-durability i { display:block; height:100%; background:linear-gradient(90deg,#f15151,#f2df51 48%,#65e05a); }
.mc-slot-label { position:absolute; left:2px; top:1px; color:rgba(255,255,255,.62); font-size:6px; text-transform:uppercase; overflow:hidden; max-width:calc(100% - 4px); }
.network-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.network-summary span { padding:10px 12px; display:grid; gap:4px; border-left:2px solid rgba(61,205,245,.48); background:rgba(24,92,118,.08); }
.network-summary b { font-size:12px; }
.snapshot-time { margin:0; color:#607984; font-size:8px; text-align:right; }
.game-profile-empty { min-height:245px; display:grid; place-content:center; justify-items:center; gap:9px; text-align:center; color:#718893; }
.game-profile-empty b { color:#d8e9f0; font-size:18px; }
.game-profile-empty span { max-width:460px; font-size:11px; line-height:1.6; }
.game-profile-code { padding:5px 9px; border:1px solid rgba(119,157,173,.18); border-radius:7px; color:#67808b; font:600 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; }

@media (max-width: 1120px) {
  .game-profile-layout { grid-template-columns:210px minmax(0,1fr); }
  .game-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .game-profile-head { grid-template-columns:auto 1fr; }
  .server-picker { grid-column:1 / -1; width:100%; margin-top:8px; }
  .game-profile-layout { grid-template-columns:1fr; }
  .game-profile-character { min-height:auto; }
  .equipment-grid { max-width:360px; }
  .network-summary { grid-template-columns:1fr; }
}
@media (max-width: 520px) {
  .game-profile-panel { padding:16px; }
  .game-stat-grid { grid-template-columns:1fr 1fr; }
  .minecraft-inventory { padding:8px; }
  .mc-inventory-grid { gap:2px; }
  .mc-slot { border-width:1px; }
  .mc-item-glyph { font-size:7px; }
  .equipment-grid { gap:3px; }
}

/* FOX Survival v1.10.0 — voting rewards, monitoring callbacks and admin controls */
.panel--purple { border-color: rgba(184, 105, 255, .4); }
.vote-manager-mount.wide { grid-column: 1 / -1; min-width: 0; display: grid; gap: 20px; }
.vote-manager-mount > .loading-panel { min-height: 170px; }
.vote-widget { min-width: 0; overflow: hidden; }
.vote-widget-head { align-items: flex-start; flex-wrap: wrap; }
.vote-widget-head > div { flex: 1 1 320px; min-width: 0; }
.vote-widget-head h2 { color: #f3f8fb; }
.vote-widget-head p { max-width: 820px; margin: 7px 0 0; color: #8ba0aa; font-size: 11px; line-height: 1.65; }
.vote-widget-head > .mini-button { margin-left: auto; min-height: 36px; display: inline-flex; align-items: center; gap: 7px; }
.vote-widget-head > .mini-button .icon { width: 14px; height: 14px; }
.vote-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; }
.vote-summary-grid > div { min-height: 76px; padding: 13px 14px; display: grid; align-content: center; gap: 5px; border: 1px solid rgba(176, 110, 246, .17); border-radius: 10px; background: linear-gradient(145deg, rgba(92, 31, 130, .08), rgba(5, 15, 22, .74)); }
.vote-summary-grid small { color: #788e98; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vote-summary-grid b { color: #f4e9ff; font-size: 20px; }
.vote-provider-grid { display: grid; gap: 11px; }
.vote-provider-card { --vote-accent: #62d9ff; position: relative; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(130px, auto) auto; gap: 13px; align-items: center; padding: 14px; border: 1px solid color-mix(in srgb, var(--vote-accent) 25%, rgba(255,255,255,.04)); border-radius: 11px; background: linear-gradient(135deg, color-mix(in srgb, var(--vote-accent) 5%, rgba(3, 11, 16, .91)), rgba(2, 8, 12, .94)); overflow: hidden; }
.vote-provider-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--vote-accent); box-shadow: 0 0 18px color-mix(in srgb, var(--vote-accent) 55%, transparent); }
.vote-provider-card.is-catalog { opacity: .92; }
.vote-provider-mark { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--vote-accent) 48%, transparent); border-radius: 10px; background: color-mix(in srgb, var(--vote-accent) 10%, rgba(3, 12, 18, .9)); color: color-mix(in srgb, var(--vote-accent) 78%, white); font-size: 11px; font-weight: 950; letter-spacing: .04em; box-shadow: inset 0 0 20px color-mix(in srgb, var(--vote-accent) 6%, transparent); }
.vote-provider-copy { min-width: 0; }
.vote-provider-copy h3 { margin: 0; color: #eaf7fc; font-size: 14px; }
.vote-provider-copy p { margin: 6px 0 0; color: #7e939d; font-size: 10px; line-height: 1.55; }
.vote-provider-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.vote-kind-badge { display: inline-flex; align-items: center; min-height: 20px; padding: 3px 7px; border: 1px solid rgba(100, 214, 255, .25); border-radius: 99px; color: #92ddfa; background: rgba(34, 148, 196, .08); font-size: 7px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.vote-kind-badge.catalog { border-color: rgba(190, 133, 233, .25); color: #d6b2f2; background: rgba(148, 75, 194, .08); }
.vote-provider-reward { min-width: 128px; display: grid; gap: 2px; padding-left: 13px; border-left: 1px solid rgba(255,255,255,.08); }
.vote-provider-reward small { color: #6f8691; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vote-provider-reward b { color: #91f785; font-size: 15px; }
.vote-provider-reward span { color: #738893; font-size: 8px; }
.vote-provider-reward.is-catalog b { color: #d8b5f4; font-size: 11px; }
.vote-provider-action { min-width: 122px; min-height: 37px; padding: 9px 12px; display: inline-flex; justify-content: center; align-items: center; gap: 7px; border: 1px solid color-mix(in srgb, var(--vote-accent) 55%, transparent); border-radius: 7px; background: color-mix(in srgb, var(--vote-accent) 10%, rgba(2, 10, 15, .9)); color: color-mix(in srgb, var(--vote-accent) 72%, white); font-size: 10px; font-weight: 900; text-align: center; text-decoration: none; cursor: pointer; }
.vote-provider-action:hover { transform: translateY(-1px); box-shadow: 0 7px 20px color-mix(in srgb, var(--vote-accent) 11%, transparent); }
.vote-provider-action .icon { width: 13px; height: 13px; }
.vote-provider-action.is-disabled { border-color: rgba(116, 137, 147, .2); background: rgba(50, 66, 73, .08); color: #738993; cursor: not-allowed; transform: none; box-shadow: none; }
.vote-history-block { margin-top: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.065); }
.vote-history-heading { display: flex; align-items: end; justify-content: space-between; gap: 15px; margin-bottom: 11px; }
.vote-history-heading h3 { margin: 0; font-size: 14px; }
.vote-history-heading span { color: #70858f; font-size: 9px; }
.vote-history-table td:first-child, .vote-admin-event-table td:nth-child(3) { white-space: nowrap; }
.vote-provider-dot { --vote-accent: #62d9ff; width: 8px; height: 8px; display: inline-block; flex: 0 0 auto; margin-right: 7px; border-radius: 50%; background: var(--vote-accent); box-shadow: 0 0 9px color-mix(in srgb, var(--vote-accent) 65%, transparent); }
.vote-status { display: inline-flex; align-items: center; min-height: 21px; padding: 3px 8px; border: 1px solid rgba(110, 150, 168, .25); border-radius: 99px; color: #a5bac4; background: rgba(63, 94, 108, .09); font-size: 8px; font-weight: 900; }
.vote-status.credited { border-color: rgba(104, 232, 91, .3); color: #93f286; background: rgba(84, 203, 72, .08); }
.vote-status.pending, .vote-status.processing { border-color: rgba(255, 196, 57, .3); color: #ffdc7e; background: rgba(225, 164, 34, .08); }
.vote-status.rejected { border-color: rgba(255, 79, 96, .3); color: #ff929d; background: rgba(224, 54, 71, .09); }
.vote-status.duplicate, .vote-status.ignored { border-color: rgba(160, 119, 213, .27); color: #c7a6ec; background: rgba(137, 85, 190, .08); }
.vote-empty { min-height: 125px; padding: 20px; display: flex; align-items: center; justify-content: center; gap: 13px; border: 1px dashed rgba(104, 184, 219, .2); border-radius: 10px; color: #728995; text-align: left; }
.vote-empty > .icon { width: 28px; height: 28px; color: #74d7fa; }
.vote-empty div { display: grid; gap: 5px; }
.vote-empty b { color: #dcecf2; }
.vote-empty span { max-width: 620px; font-size: 10px; line-height: 1.55; }
.vote-empty.is-error { border-color: rgba(255, 75, 92, .25); }
.vote-empty.is-error > .icon { color: #ff6c79; }
.vote-disabled-text { margin: 0; color: #879ba5; line-height: 1.7; }

.vote-admin-overview { overflow: hidden; }
.vote-admin-intro { max-width: 920px; margin: -4px 0 18px; color: #8ba0aa; font-size: 11px; line-height: 1.65; }
.vote-admin-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.vote-admin-stats > div { min-height: 86px; padding: 13px; display: grid; align-content: center; gap: 4px; border: 1px solid rgba(186, 113, 255, .17); border-radius: 9px; background: linear-gradient(145deg, rgba(132, 53, 178, .06), rgba(3, 12, 17, .72)); }
.vote-admin-stats small { color: #748b96; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vote-admin-stats b { color: #ecd9ff; font-size: 22px; }
.vote-admin-stats span { color: #6e8490; font-size: 8px; }
.vote-toggle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.vote-settings-grid, .vote-provider-form-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.vote-provider-form-grid .span-2, .vote-secret-fields .span-2 { grid-column: span 2; }
.vote-settings-grid label > small, .vote-provider-form-grid label > small { margin-top: -2px; color: #6d838e; font-size: 8px; font-weight: 500; line-height: 1.35; }
.vote-provider-editor-section { min-width: 0; }
.vote-provider-form { gap: 15px; }
.vote-legacy-fields, .vote-gm-fields, .vote-link-fields, .vote-secret-fields { display: grid; gap: 12px; }
.vote-secret-fields { grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); align-items: end; }
.vote-secret-fields > .permission-option { align-self: end; }
.vote-link-fields[hidden], .vote-gm-fields[hidden], .vote-legacy-fields[hidden], .vote-secret-fields[hidden], [data-vote-auto-fields][hidden] { display: none !important; }
.vote-link-notice { min-height: 42px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(183, 122, 225, .22); border-radius: 8px; background: rgba(125, 66, 168, .07); color: #bca4cc; font-size: 9px; line-height: 1.5; }
.vote-link-notice .icon { width: 16px; height: 16px; flex: 0 0 auto; color: #c78eef; }
.vote-form-help { margin: 0; padding: 11px 13px; border-left: 2px solid rgba(255, 194, 47, .6); background: rgba(180, 126, 17, .05); color: #988f77; font-size: 9px; line-height: 1.6; }
.vote-admin-provider-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vote-admin-provider { --vote-accent: #62d9ff; position: relative; min-width: 0; padding: 14px; display: grid; align-content: start; gap: 12px; border: 1px solid color-mix(in srgb, var(--vote-accent) 23%, rgba(255,255,255,.04)); border-radius: 10px; background: linear-gradient(145deg, color-mix(in srgb, var(--vote-accent) 4%, rgba(3, 11, 16, .91)), rgba(2, 8, 12, .94)); overflow: hidden; }
.vote-admin-provider::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--vote-accent); }
.vote-admin-provider__top { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 9px; }
.vote-admin-provider__top .vote-provider-dot { margin: 0; }
.vote-admin-provider__top h3 { margin: 0; color: #eaf6fb; font-size: 13px; }
.vote-admin-provider__top p { margin: 4px 0 0; color: #6f858f; font-size: 8px; }
.vote-admin-provider__top .status-pill { align-self: start; }
.vote-admin-provider__meta { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.vote-admin-provider__meta > span { min-width: 0; padding: 8px 9px; display: grid; gap: 3px; border: 1px solid rgba(93, 161, 190, .12); border-radius: 7px; background: rgba(6, 18, 24, .6); }
.vote-admin-provider__meta small { color: #687e88; font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vote-admin-provider__meta b { overflow: hidden; color: #b9cbd3; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.vote-callback-copy { display: grid !important; gap: 6px !important; color: #758b95 !important; font-size: 8px !important; }
.vote-callback-copy > div, .vote-secret-dialog label > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.vote-callback-copy input, .vote-secret-dialog input { min-width: 0; padding: 9px 10px !important; font: 600 9px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; }
.vote-provider-links { display: flex; flex-wrap: wrap; gap: 7px; }
.vote-admin-provider > .admin-row-actions { justify-content: flex-end; flex-wrap: wrap; padding-top: 2px; }
.vote-admin-event-table { min-width: 900px; }
.vote-admin-event-table td { vertical-align: middle; }
.vote-admin-event-table td:nth-child(2) b { color: #def2fa; }
.vote-admin-event-table .admin-row-actions { flex-wrap: nowrap; }
.vote-duplicates { display: block; margin-top: 4px; color: #806f8b; font-size: 7px; }
.vote-secret-modal { position: fixed; z-index: 10050; inset: 0; padding: 20px; display: grid; place-items: center; background: rgba(0, 5, 8, .84); backdrop-filter: blur(10px); }
.vote-secret-dialog { width: min(660px, 100%); max-height: calc(100vh - 40px); padding: 24px; display: grid; gap: 16px; overflow: auto; box-shadow: 0 25px 80px rgba(0,0,0,.65); }
.vote-secret-dialog__head { display: flex; align-items: center; gap: 12px; }
.vote-secret-dialog__head > .icon { width: 38px; height: 38px; color: #ff6d7a; }
.vote-secret-dialog__head small { color: #ff8e97; font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.vote-secret-dialog__head h2 { margin: 3px 0 0; }
.vote-secret-dialog > p { margin: 0; color: #8ea2ac; font-size: 10px; line-height: 1.6; }
.vote-secret-dialog label { display: grid; gap: 7px; color: #d6e1e7; font-size: 10px; font-weight: 800; }
.vote-secret-dialog .form-submit { width: 100%; }

@media (max-width: 1150px) {
  .vote-provider-card { grid-template-columns: auto minmax(0, 1fr) minmax(120px, auto); }
  .vote-provider-action { grid-column: 2 / -1; justify-self: end; }
  .vote-admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vote-settings-grid, .vote-provider-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-admin-provider-list { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .vote-manager-mount.wide { grid-column: auto; }
  .vote-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-provider-card { grid-template-columns: auto minmax(0, 1fr); }
  .vote-provider-reward { grid-column: 2; padding: 0; border-left: 0; }
  .vote-provider-action { grid-column: 2; justify-self: stretch; }
  .vote-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-toggle-grid { grid-template-columns: 1fr; }
  .vote-secret-fields { grid-template-columns: 1fr; }
  .vote-secret-fields .span-2 { grid-column: auto; }
  .vote-admin-provider__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-history-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 540px) {
  .vote-widget { padding: 16px; }
  .vote-widget-head > .mini-button { width: 100%; margin-left: 0; justify-content: center; }
  .vote-summary-grid, .vote-admin-stats, .vote-settings-grid, .vote-provider-form-grid { grid-template-columns: 1fr; }
  .vote-provider-form-grid .span-2 { grid-column: auto; }
  .vote-provider-card { grid-template-columns: 1fr; }
  .vote-provider-mark { width: 39px; height: 39px; }
  .vote-provider-copy, .vote-provider-reward, .vote-provider-action { grid-column: 1; }
  .vote-provider-reward { display: grid; grid-template-columns: auto auto; justify-content: start; column-gap: 8px; }
  .vote-provider-reward small { grid-column: 1 / -1; }
  .vote-provider-action { justify-self: stretch; }
  .vote-admin-provider__top { grid-template-columns: auto minmax(0, 1fr); }
  .vote-admin-provider__top .status-pill { grid-column: 2; justify-self: start; }
  .vote-admin-provider__meta { grid-template-columns: 1fr; }
  .vote-callback-copy > div, .vote-secret-dialog label > div { grid-template-columns: 1fr; }
  .vote-callback-copy .mini-button, .vote-secret-dialog label .mini-button { width: 100%; }
  .vote-admin-provider > .admin-row-actions { justify-content: stretch; }
  .vote-admin-provider > .admin-row-actions .mini-button { flex: 1 1 120px; }
  .vote-secret-modal { padding: 10px; }
  .vote-secret-dialog { max-height: calc(100vh - 20px); padding: 18px; }
}

/* Consolidated responsive, mail and UX layer. */
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button, .mini-button, .form-submit, summary { touch-action: manipulation; }

.theme-toggle {
  width: 40px; height: 40px; padding: 0; display: grid; place-items: center;
  border: 1px solid rgba(100, 189, 229, .28); border-radius: 9px;
  color: #9edfff; background: rgba(24, 100, 135, .08); cursor: pointer;
}
.theme-toggle > span { grid-area: 1 / 1; display: grid; place-items: center; transition: opacity .2s, transform .2s; }
.theme-toggle .icon { width: 18px; height: 18px; }
html[data-theme="dark"] .theme-toggle__light,
html[data-theme="light"] .theme-toggle__dark { opacity: 0; transform: scale(.65) rotate(-30deg); }
html[data-theme="dark"] .theme-toggle__dark,
html[data-theme="light"] .theme-toggle__light { opacity: 1; transform: scale(1); }

.page-account .inner-hero, .page-shop .inner-hero, .page-admin .inner-hero { min-height: 300px; }
.page-account .inner-hero__content, .page-shop .inner-hero__content, .page-admin .inner-hero__content { padding-block: 38px; }
.page-account .inner-hero h1, .page-shop .inner-hero h1, .page-admin .inner-hero h1 { font-size: clamp(36px, 5vw, 62px); }
.account-layout, .admin-root { padding: 30px 0 72px; }

/* Shop */
.shop-layout { padding-top: 30px; gap: 22px; grid-template-columns: 248px minmax(0,1fr); }
.shop-sidebar { gap: 7px; padding: 16px; }
.shop-sidebar > .shop-category {
  width: 100%; min-height: 44px; padding: 10px 11px; display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 9px; border: 1px solid transparent; border-radius: 8px;
  color: #9fb1bb; background: transparent; cursor: pointer; text-align: left; font-size: 11px;
}
.shop-sidebar > .shop-category small { min-width: 24px; padding: 3px 6px; border-radius: 99px; color: #8197a2; background: rgba(110,160,185,.09); text-align: center; font-size: 8px; }
.shop-sidebar > .shop-category .icon { color: #61c6ff; }
.shop-sidebar > .shop-category:hover, .shop-sidebar > .shop-category.active { color: #fff; border-color: rgba(52,174,255,.34); background: rgba(35,143,222,.08); }
.catalog-wrap { gap: 36px; min-width: 0; }
.catalog-toolbar { display: grid; grid-template-columns: minmax(190px, auto) minmax(220px, 1fr) auto; margin-bottom: 8px; }
.shop-balance-card { min-width: 0; display: flex; align-items: center; gap: 11px; }
.shop-balance-card.is-authenticated b { color: #91ff78; font-size: 18px; }
.catalog-search, .admin-search, .role-search {
  min-width: 0; min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 11px;
  border: 1px solid rgba(78, 174, 216, .2); border-radius: 9px; background: rgba(2, 10, 15, .55); color: #7ccff2;
}
.catalog-search input, .admin-search input, .role-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--text); background: transparent; }
.catalog-search input::placeholder, .admin-search input::placeholder { color: #647985; }
.shop-history-link { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
.shop-filter-summary { min-height: 24px; color: #748a95; font-size: 10px; }
.catalog-section { margin: 0; }
.catalog-section .section-title.compact { margin-bottom: 17px; }
.product-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.product-card { min-height: 292px; padding: 20px; clip-path: none; border-radius: 13px; }
.product-card.is-filtered { display: none; }
.product-card p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.product-card button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }
.product-card button.is-insufficient { border-color: rgba(255,100,110,.3); color: #d58f96; background: rgba(136,45,54,.08); cursor: not-allowed; }
.product-card button.is-loading { opacity: .72; cursor: wait; }

/* Common state surfaces */
.state-card, .game-profile-empty.state-card {
  min-height: 176px; padding: 28px; display: grid; place-items: center; align-content: center; gap: 8px;
  border: 1px dashed rgba(87, 180, 220, .24); border-radius: 12px; text-align: center; color: #839aa5;
}
.state-card > .icon { width: 30px; height: 30px; color: #66cdf5; }
.state-card b { color: #e7f3f8; font-size: 15px; }
.state-card span { max-width: 660px; line-height: 1.55; }
.state-card.is-warning { border-color: rgba(255,197,60,.28); }
.state-card.is-warning > .icon { color: #ffcd5b; }
.state-card.is-error { border-color: rgba(255,70,86,.3); }
.state-card.is-error > .icon { color: #ff6675; }
.loading-panel { min-height: 122px; display: flex; align-items: center; justify-content: center; gap: 13px; color: #8297a2; }
.loading-panel > div { display: grid; gap: 4px; }
.loading-panel b { color: #d8e7ed; }
.loading-panel span:not(.loader-ring) { font-size: 10px; }

/* Account */
.account-shell { display: grid; gap: 16px; }
.account-summary {
  padding: 20px; display: grid; grid-template-columns: auto minmax(160px, 1fr) minmax(190px, auto) auto;
  align-items: center; gap: 16px;
}
.account-avatar {
  width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid #39bdfb; border-radius: 16px;
  color: #73d5ff; background: radial-gradient(circle at 40% 25%,#1c4c6b,#06121b 70%); font-size: 28px; font-weight: 950;
  box-shadow: 0 0 0 4px rgba(39,172,255,.05), 0 0 24px rgba(39,172,255,.14);
}
.account-identity { min-width: 0; }
.account-identity > small { color: #647f8d; font-size: 7px; font-weight: 900; letter-spacing: .16em; }
.account-identity h2 { margin: 2px 0 2px; overflow: hidden; text-overflow: ellipsis; font-size: 24px; }
.account-identity .role-badge { margin: 4px 0 0; border-color: var(--role-color); color: var(--role-color); }
.account-balance { padding: 10px 20px; display: grid; gap: 2px; border-left: 1px solid rgba(111,190,225,.14); border-right: 1px solid rgba(111,190,225,.14); }
.account-balance small { color: #738a95; font-size: 8px; text-transform: uppercase; }
.account-balance b { color: #9cff83; font-size: 27px; }
.account-balance a { display: inline-flex; align-items: center; gap: 5px; color: #73cfee; font-size: 9px; }
.account-summary-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.account-summary-actions .admin-access-button { min-height: 39px; padding: 9px 11px; }
.account-technical { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.06); }
.account-technical summary { width: max-content; color: #718891; cursor: pointer; font-size: 9px; }
.account-technical dl { margin: 12px 0 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.account-technical dl > div { min-width: 0; padding: 9px 10px; display: grid; gap: 4px; border: 1px solid rgba(80,160,195,.12); border-radius: 7px; background: rgba(4,13,18,.5); }
.account-technical dt { color: #697f89; font-size: 7px; text-transform: uppercase; }
.account-technical dd { margin: 0; overflow-wrap: anywhere; color: #b5c7cf; font-size: 9px; }
.account-section-nav { position: sticky; z-index: 20; top: 98px; padding: 7px; display: flex; gap: 5px; overflow-x: auto; }
.account-section-nav a { min-height: 38px; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid transparent; border-radius: 7px; color: #869da8; white-space: nowrap; font-size: 10px; }
.account-section-nav a:hover, .account-section-nav a:focus-visible { color: #dff7ff; border-color: rgba(70,183,229,.25); background: rgba(41,145,190,.08); }
.account-content-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.account-panel { min-width: 0; padding: 20px; scroll-margin-top: 154px; }
.account-wide { grid-column: 1 / -1; }
.account-panel__head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 16px; }
.account-panel__head > span:first-child { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(76,180,225,.2); border-radius: 9px; color: #6ed4fa; background: rgba(40,145,190,.06); }
.account-panel__head h2 { margin: 1px 0 0; font-size: 18px; }
.account-panel__head small { color: #6f8792; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.account-panel__head p { margin: 5px 0 0; color: #788f9a; font-size: 9px; }
.game-profile-head { align-items: center; }
.game-profile-controls { margin-left: auto; display: flex; align-items: end; gap: 8px; }
.profile-presence { min-height: 34px; display: inline-flex; align-items: center; gap: 6px; color: #899da6; font-size: 9px; }
.profile-presence i { width: 7px; height: 7px; border-radius: 50%; background: #7a8790; }
.profile-presence.online { color: #9cf58c; }.profile-presence.online i { background: #6dec58; box-shadow: 0 0 10px #6dec58; }
.server-picker { min-width: 190px; }
.server-picker select:disabled { opacity: .78; cursor: default; }
.mini-button.icon-only { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; }
.game-profile-layout { gap: 18px; }
.game-profile-character { min-width: 230px; }
.game-stat-grid { gap: 8px; }
.game-stat-grid > div { min-height: 72px; padding: 11px; }
.network-summary { margin-top: 12px; }
.balance-history-list, .account-order-list { display: grid; gap: 7px; max-height: 470px; padding-right: 3px; overflow: auto; }
.balance-history-item {
  min-width: 0; padding: 10px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 3px 9px;
  align-items: center; border: 1px solid rgba(83,160,194,.14); border-radius: 9px; background: rgba(3,11,16,.48);
}
.balance-history-icon { width: 34px; height: 34px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 8px; color: #75d9fa; background: rgba(42,151,197,.08); }
.balance-history-item.debit .balance-history-icon { color: #ffac65; background: rgba(190,97,30,.08); }
.balance-history-item div { min-width: 0; display: grid; gap: 2px; }
.balance-history-item div b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.balance-history-item div small, .balance-history-item time { color: #6f858f; font-size: 8px; }
.balance-history-item > strong { color: #8cf27b; font-size: 13px; }
.balance-history-item.debit > strong { color: #ff9a72; }
.balance-history-item time { grid-column: 2; }
.balance-after { grid-column: 3; color: #758b95; font-size: 8px; }
.account-order-item { padding: 11px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 6px 10px; align-items: center; border: 1px solid rgba(145,124,55,.16); border-radius: 9px; background: rgba(18,15,5,.28); }
.account-order-icon { width: 36px; height: 36px; grid-row: 1 / 3; display: grid; place-items: center; border-radius: 8px; color: #ffd45f; background: rgba(185,136,27,.08); }
.account-order-item div { min-width: 0; display: grid; gap: 2px; }
.account-order-item div small, .account-order-item time { color: #786f58; font-size: 8px; }
.account-order-item div b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-order-item > strong { font-size: 13px; }
.account-order-item .order-status { grid-column: 3; justify-self: end; }
.account-empty-row { min-height: 150px; padding: 20px; display: flex; align-items: center; justify-content: center; gap: 12px; border: 1px dashed rgba(90,170,205,.18); border-radius: 10px; color: #758c97; }
.account-empty-row > .icon { width: 28px; height: 28px; color: #68cef5; }
.account-empty-row > span { display: grid; gap: 3px; }.account-empty-row b { color: #d6e6ed; }.account-empty-row small { font-size: 9px; }
.account-security { padding: 0; overflow: hidden; }
.account-security > summary { padding: 18px 20px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; cursor: pointer; list-style: none; }
.account-security > summary::-webkit-details-marker { display: none; }
.account-security > summary > span { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 9px; color: #ff8a95; background: rgba(190,49,62,.08); }
.account-security > summary h2 { margin: 2px 0 0; font-size: 17px; }.account-security > summary p { margin: 4px 0 0; color: #798d96; font-size: 9px; }
.account-security > summary small { color: #8b6d71; font-size: 7px; text-transform: uppercase; }
.account-security[open] > summary { border-bottom: 1px solid rgba(255,255,255,.06); }
.account-security > form { padding: 20px; grid-template-columns: repeat(3,minmax(0,1fr)) auto; align-items: end; }
.account-security .form-message { grid-column: 1 / -1; }

/* Admin */
.admin-stats { margin-bottom: 14px; }
.admin-stat { min-height: 96px; padding: 16px; display: grid; grid-template-columns: auto 1fr; align-content: center; column-gap: 10px; }
.admin-stat i { grid-row: 1 / 3; align-self: center; color: #6ed5fa; }.admin-stat span { align-self: end; }.admin-stat b { margin: 0; font-size: 25px; }
.admin-tabs { position: sticky; z-index: 20; top: 98px; margin-bottom: 16px; padding: 7px; display: flex; gap: 5px; overflow-x: auto; }
.admin-tab { min-height: 40px; padding: 8px 13px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex: 0 0 auto; border: 1px solid transparent; border-radius: 8px; color: #8197a2; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.admin-tab:hover { color: #d9eef7; background: rgba(48,152,197,.06); }
.admin-tab.active { color: #8ee4ff; border-color: rgba(68,188,234,.28); background: rgba(44,158,204,.1); }
.admin-grid { display: block; }
.admin-workspace { min-width: 0; animation: adminSectionIn .18s ease; }
@keyframes adminSectionIn { from { opacity: 0; transform: translateY(4px); } }
.admin-two-column { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 16px; align-items: start; }
.admin-section { min-width: 0; padding: 20px; }
.admin-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.admin-section-heading h2, .admin-section-heading h3 { margin: 2px 0 0; }
.admin-section-heading p:not(.eyebrow) { margin: 5px 0 0; color: #7d929c; font-size: 9px; }
.admin-section-heading > .icon { width: 24px; height: 24px; color: #73d7fa; }
.form-grid.compact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.admin-advanced { border: 1px solid rgba(93,166,196,.15); border-radius: 9px; background: rgba(2,10,15,.38); }
.admin-advanced > summary { min-height: 42px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; color: #8ba1aa; cursor: pointer; font-size: 10px; font-weight: 800; }
.admin-advanced > summary .icon { color: #6bcdf3; }
.admin-advanced[open] > summary { border-bottom: 1px solid rgba(93,166,196,.12); }
.admin-advanced > label, .admin-advanced > div, .admin-advanced > p { margin: 12px; }
.admin-list { max-height: none; overflow: visible; }
.compact-list { display: grid; gap: 7px; }
.admin-filter-row { min-width: 0; }
.admin-filter-row > .admin-row, [data-admin-filter-row] > .admin-row { width: 100%; }
.admin-row { min-width: 0; padding: 10px; }
.admin-row > div:first-of-type { min-width: 0; }.admin-row small { display: block; overflow-wrap: anywhere; line-height: 1.45; }
.admin-row-actions { flex-wrap: wrap; justify-content: flex-end; }
.admin-search { width: min(260px, 100%); flex: 0 1 260px; }
.admin-pager { min-height: 42px; margin-top: 10px; display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.admin-pager span { min-width: 50px; color: #7c929c; text-align: center; font-size: 9px; }
.admin-order { grid-template-columns: 56px minmax(0,1fr) 130px 160px; border: 1px solid rgba(255,255,255,.06); border-radius: 8px; }
.admin-orders-list { gap: 7px; }
.role-manager-mount:empty, .vote-manager-mount:empty { display: none; }
.balance-audit-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.balance-audit-summary article { min-height: 92px; padding: 13px; display: grid; align-content: center; gap: 4px; border: 1px solid rgba(74,177,214,.15); border-radius: 9px; background: rgba(3,12,17,.55); }
.balance-audit-summary small { color: #718792; font-size: 7px; font-weight: 900; text-transform: uppercase; }.balance-audit-summary b { color: #b8ffab; font-size: 20px; }.balance-audit-summary span { color: #6e838c; font-size: 8px; }
.admin-subsection { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.06); }
.admin-balance-table { min-width: 880px; }.admin-ledger-table { min-width: 1050px; }
.admin-ledger-table td:nth-child(2) { min-width: 190px; }.admin-ledger-table td:nth-child(2) b, .admin-ledger-table td:nth-child(2) small { display: block; }.admin-ledger-table td:nth-child(2) small { margin-top: 3px; color: #6f858f; }
.amount-positive { color: #8af178; }.amount-negative { color: #ff9774; }
.vote-technical-settings { margin-top: 2px; }
.vote-technical-settings > div, .vote-technical-settings > p { margin: 12px; }

/* Confirmation modal */
.confirm-dialog { width: min(520px, calc(100% - 24px)); padding: 0; border: 0; background: transparent; color: var(--text); }
.confirm-dialog::backdrop { background: rgba(0,5,8,.82); backdrop-filter: blur(8px); }
.confirm-dialog__card { margin: 0; padding: 22px; display: grid; gap: 15px; }
.confirm-dialog__head { display: flex; align-items: center; gap: 12px; }
.confirm-dialog__head > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 11px; color: #ff7f8b; background: rgba(201,43,58,.1); }
.confirm-dialog__head small { color: #a66f75; font-size: 7px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }.confirm-dialog__head h2 { margin: 3px 0 0; font-size: 19px; }
.confirm-dialog p { margin: 0; color: #94a7b0; line-height: 1.6; }
.confirm-dialog__details { padding: 10px 12px; border: 1px solid rgba(255,190,68,.2); border-radius: 8px; color: #b7a981; background: rgba(143,99,15,.06); font-size: 9px; line-height: 1.55; }
.confirm-dialog__actions { display: flex; justify-content: flex-end; gap: 9px; }.confirm-dialog__actions button { min-width: 120px; }
.confirm-dialog__actions .form-submit { width: auto; min-height: 39px; padding: 9px 16px; }.confirm-dialog__actions .form-submit.is-danger { border-color: #ff4c5c; color: #fff; background: linear-gradient(180deg,rgba(224,49,66,.9),rgba(139,27,39,.9)); }

/* Light theme — keep the FOX palette while fixing contrast across core surfaces */
html[data-theme="light"] { color-scheme: light; --bg: #edf4f7; --bg-soft: #e3eef3; --surface: rgba(255,255,255,.9); --surface-strong: rgba(255,255,255,.98); --line: rgba(25,118,158,.2); --text: #152630; --muted: #5f7580; --shadow: 0 24px 65px rgba(32,69,87,.16); }
html[data-theme="light"] body { color: var(--text); background: radial-gradient(circle at 50% 0, rgba(41,143,188,.12), transparent 38%), linear-gradient(rgba(241,248,251,.93),rgba(235,244,248,.98)), url('../img/fox-background.webp?v=1.6.2-site-x8-20260716') center top / cover fixed no-repeat, #edf4f7; }
html[data-theme="light"] .site-noise { opacity: .02; }
html[data-theme="light"] .ambient { opacity: .05; }
html[data-theme="light"] .topbar { background: rgba(248,253,255,.9); border-color: rgba(34,130,172,.27); box-shadow: 0 16px 45px rgba(26,74,96,.15); }
html[data-theme="light"] .topbar.scrolled { background: rgba(250,254,255,.97); }
html[data-theme="light"] .nav a { color: #39515d; } html[data-theme="light"] .nav a:hover { color: #0d2834; background: rgba(23,120,160,.06); }
html[data-theme="light"] .panel, html[data-theme="light"] .product-card, html[data-theme="light"] .admin-row, html[data-theme="light"] .admin-order { color: #19303b; background: linear-gradient(155deg,rgba(255,255,255,.96),rgba(241,248,251,.97)); box-shadow: 0 14px 38px rgba(30,77,99,.1); }
html[data-theme="light"] .panel::before { background: linear-gradient(130deg,rgba(255,255,255,.65),transparent 35%); }
html[data-theme="light"] .panel::after { background: linear-gradient(90deg,transparent,rgba(24,106,141,.14),transparent); }
html[data-theme="light"] .inner-hero { background: #12242e; }
html[data-theme="light"] .inner-hero__content, html[data-theme="light"] .inner-hero h1 { color: #fff; }
html[data-theme="light"] .inner-hero__content > p:not(.eyebrow) { color: #d2e0e6; }
html[data-theme="light"] .catalog-search, html[data-theme="light"] .admin-search, html[data-theme="light"] .role-search, html[data-theme="light"] .admin-advanced { background: rgba(231,242,247,.78); }
html[data-theme="light"] input, html[data-theme="light"] textarea, html[data-theme="light"] select { color: #1b303a; background-color: #f7fbfd; border-color: rgba(30,119,157,.24); }
html[data-theme="light"] .catalog-search input, html[data-theme="light"] .admin-search input, html[data-theme="light"] .role-search input { background: transparent; }
html[data-theme="light"] .product-card p, html[data-theme="light"] .shop-note span, html[data-theme="light"] .account-panel__head p, html[data-theme="light"] .admin-section-heading p:not(.eyebrow), html[data-theme="light"] .confirm-dialog p { color: #637982; }
html[data-theme="light"] .product-card h3 { color: color-mix(in srgb,var(--accent) 76%,#18303b); }
html[data-theme="light"] .account-technical dl > div, html[data-theme="light"] .balance-history-item, html[data-theme="light"] .account-order-item, html[data-theme="light"] .balance-audit-summary article, html[data-theme="light"] .vote-admin-stats > div, html[data-theme="light"] .vote-admin-provider { background: rgba(237,246,249,.9); }
html[data-theme="light"] .account-identity h2, html[data-theme="light"] .account-panel h2, html[data-theme="light"] .admin-section h2, html[data-theme="light"] .admin-section h3, html[data-theme="light"] .balance-history-item div b, html[data-theme="light"] .account-empty-row b, html[data-theme="light"] .state-card b, html[data-theme="light"] .confirm-dialog__head h2 { color: #17313d; }
html[data-theme="light"] .account-technical dd, html[data-theme="light"] .admin-row strong, html[data-theme="light"] .account-order-item div b { color: #294652; }
html[data-theme="light"] .order-table th, html[data-theme="light"] .order-table td { border-bottom-color: rgba(26,104,137,.13); }
html[data-theme="light"] .confirm-dialog::backdrop { background: rgba(18,39,50,.55); }
html[data-theme="light"] .nav-toggle { background: #f4fafc; } html[data-theme="light"] .nav-toggle span { background: #244653; }

@media (max-width: 1100px) {
  .shop-layout { grid-template-columns: 1fr; }
  .shop-sidebar { position: static; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .shop-sidebar .sidebar-title, .shop-sidebar .shop-note { grid-column: 1 / -1; }
  .account-summary { grid-template-columns: auto minmax(150px,1fr) auto; }
  .account-summary-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .account-balance { border-right: 0; }
  .admin-two-column { grid-template-columns: 1fr; }
  .balance-audit-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-security > form { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 780px) {
  .page-account .inner-hero, .page-shop .inner-hero, .page-admin .inner-hero { min-height: 260px; }
  .shop-layout, .account-layout, .admin-root { padding-top: 20px; }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .shop-history-link { width: 100%; }
  .account-summary { grid-template-columns: auto minmax(0,1fr); }
  .account-balance { grid-column: 1 / -1; padding: 12px 0 0; border: 0; border-top: 1px solid rgba(111,190,225,.14); }
  .account-technical dl { grid-template-columns: 1fr; }
  .account-content-grid { grid-template-columns: 1fr; }
  .account-panel, .account-wide { grid-column: auto; }
  .game-profile-head { align-items: flex-start; flex-wrap: wrap; }
  .game-profile-controls { width: 100%; margin-left: 50px; align-items: center; }
  .server-picker { min-width: 0; flex: 1; }
  .account-security > form { grid-template-columns: 1fr; }
  .admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-section-heading { flex-wrap: wrap; }
  .admin-search { width: 100%; flex-basis: 100%; }
  .admin-order { grid-template-columns: 52px minmax(0,1fr); }
  .admin-order > span, .admin-order > select { grid-column: 2; width: 100%; }
  .admin-row { grid-template-columns: 1fr; }
  .admin-row-actions { justify-content: flex-start; }
  .balance-audit-summary { grid-template-columns: 1fr 1fr; }
  html[data-theme="light"] .nav { background: rgba(248,253,255,.99) !important; border-color: rgba(34,130,172,.3) !important; }
  html[data-theme="light"] .nav a { color: #294752 !important; }
}

@media (max-width: 560px) {
  .topbar-actions { gap: 5px; }.theme-toggle { width: 38px; height: 38px; }
  .page-account .inner-hero, .page-shop .inner-hero, .page-admin .inner-hero { width: calc(100% - 20px); min-height: 235px; border-radius: 13px; }
  .page-account .inner-hero__content, .page-shop .inner-hero__content, .page-admin .inner-hero__content { padding: 30px 16px; }
  .page-account .inner-hero h1, .page-shop .inner-hero h1, .page-admin .inner-hero h1 { font-size: 32px; }
  .shop-sidebar { grid-template-columns: 1fr; }
  .shop-sidebar .sidebar-title, .shop-sidebar .shop-note { grid-column: auto; }
  .product-grid { grid-template-columns: 1fr; }
  .product-card { min-height: 255px; padding: 18px; }
  .account-summary { padding: 16px; gap: 11px; }
  .account-avatar { width: 54px; height: 54px; font-size: 22px; }.account-identity h2 { font-size: 20px; }
  .account-summary-actions { display: grid; grid-template-columns: 1fr auto; width: 100%; }.account-summary-actions .admin-access-button { justify-content: center; }
  .account-section-nav, .admin-tabs { top: 82px; margin-inline: -1px; }
  .account-panel { padding: 16px; scroll-margin-top: 136px; }
  .game-profile-controls { margin-left: 0; display: grid; grid-template-columns: 1fr auto; }
  .profile-presence { grid-column: 1 / -1; }
  .balance-history-item { grid-template-columns: auto minmax(0,1fr); }
  .balance-history-item > strong, .balance-after { grid-column: 2; justify-self: start; }
  .balance-history-item time { display: none; }
  .account-order-item { grid-template-columns: auto minmax(0,1fr); }.account-order-item > strong, .account-order-item .order-status { grid-column: 2; justify-self: start; }
  .account-empty-row { align-items: flex-start; flex-direction: column; text-align: left; }
  .account-security > summary { padding: 15px; }
  .admin-stats { gap: 8px; }.admin-stat { min-height: 86px; padding: 12px; }.admin-stat b { font-size: 21px; }
  .admin-section { padding: 15px; }
  .form-grid.compact { grid-template-columns: 1fr; }
  .balance-audit-summary { grid-template-columns: 1fr; }
  .admin-pager { justify-content: space-between; }
  .confirm-dialog__card { padding: 18px; }.confirm-dialog__actions { display: grid; grid-template-columns: 1fr 1fr; }.confirm-dialog__actions button { min-width: 0; }
}

/* Mobile balance audit cards: keep the internal split readable without a wide table. */
.admin-mobile-cards { display: none; }
.balance-audit-card { padding: 12px; border: 1px solid rgba(94,214,255,.16); border-radius: 11px; background: rgba(3,15,22,.58); }
.balance-audit-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.balance-audit-card header > span { min-width: 0; display: grid; gap: 3px; }
.balance-audit-card header b { overflow-wrap: anywhere; }
.balance-audit-card header strong { flex: 0 0 auto; color: #93f58b; }
.balance-audit-card header small, .balance-audit-card p, .balance-audit-card time { color: #79909a; }
.balance-audit-card p { margin: 8px 0; overflow-wrap: anywhere; }
.balance-audit-card dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 10px 0 0; }
.balance-audit-card dl > div { min-width: 0; padding: 7px 8px; border-radius: 8px; background: rgba(40,130,165,.07); }
.balance-audit-card dt { color: #6f858f; font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.balance-audit-card dd { margin: 3px 0 0; font-weight: 800; overflow-wrap: anywhere; }
.balance-audit-card time { display: block; margin-top: 8px; font-size: 9px; }
html[data-theme="light"] .balance-audit-card { background: rgba(244,249,251,.94); border-color: rgba(31,106,137,.16); }

@media (max-width: 780px) {
  .admin-mobile-cards { display: grid; gap: 8px; }
  .balance-audit-table-wrap { display: none; }
  .admin-subsection > .admin-pager[data-admin-pager^="balance-"] { display: none; }
}

/* Account security, email delivery and responsive layer. */

/* Authentication dialog */
.auth-dialog {
  width: min(560px, calc(100% - 24px));
  max-height: calc(100dvh - 24px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.auth-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auth-tabs button { min-width: 0; padding-inline: 10px; overflow-wrap: anywhere; }
.auth-form { padding: 22px 25px 25px; }
.auth-form label > small, .security-form label > small, .admin-form label > small {
  color: #728995; font-size: 8px; font-weight: 500; line-height: 1.45;
}
.auth-form .auth-link {
  width: max-content; padding: 2px 0; border: 0; color: #71d3f8; background: transparent;
  cursor: pointer; font-size: 10px; font-weight: 800;
}
.auth-form .auth-link:hover { color: #b8efff; }
.auth-honeypot, .form-honeypot {
  position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important;
  overflow: hidden !important; opacity: 0 !important; pointer-events: none !important;
}
.totp-field:not([hidden]) { display: grid; }
.human-check, .captcha-check {
  min-width: 0; min-height: 50px; padding: 10px 12px; display: grid;
  grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px;
  border: 1px solid rgba(91, 179, 217, .2); border-radius: 9px;
  color: #8ca2ad; background: rgba(2, 10, 15, .58); font-size: 9px; line-height: 1.45;
}
.human-check__dot {
  width: 10px; height: 10px; border-radius: 50%; background: #71848e;
  box-shadow: 0 0 0 4px rgba(113,132,142,.08); transition: background .2s, box-shadow .2s;
}
.captcha-check[data-state="loading"] .human-check__dot,
.captcha-check[data-state="waiting"] .human-check__dot { background: #58c9f5; box-shadow: 0 0 0 4px rgba(88,201,245,.1), 0 0 12px rgba(88,201,245,.28); }
.captcha-check[data-state="ready"] { border-color: rgba(91, 226, 91, .28); color: #9ce996; background: rgba(34, 128, 45, .07); }
.captcha-check[data-state="ready"] .human-check__dot { background: #6ce65a; box-shadow: 0 0 0 4px rgba(108,230,90,.1), 0 0 13px rgba(108,230,90,.3); }
.captcha-check[data-state="warning"] { border-color: rgba(255, 198, 70, .3); color: #e4c981; }
.captcha-check[data-state="error"] { border-color: rgba(255, 78, 91, .32); color: #ff9da5; background: rgba(138, 31, 44, .08); }
.captcha-check[data-state="skipped"] { border-color: rgba(91, 226, 91, .2); color: #8bd989; }
.captcha-check__widget { grid-column: 1 / -1; min-width: 0; overflow: hidden; }
.captcha-check__widget:empty { display: none; }
.captcha-check__widget > div { max-width: 100%; }
.captcha-check--compact {
  grid-template-columns: auto minmax(0, 1fr); min-height: 58px; padding: 9px 10px;
}
.captcha-check--compact .captcha-check__icon {
  width: 34px; height: 34px; display: grid; place-items: center; border-radius: 8px;
  color: #71d3f8; background: rgba(47, 153, 198, .08);
}
.captcha-check--compact > div:not(.captcha-check__widget) { min-width: 0; display: grid; gap: 3px; }
.captcha-check--compact b { color: #d6e7ee; font-size: 10px; }
.captcha-check--compact small { color: #748a95; font-size: 8px; line-height: 1.45; }

/* Shop filters and equal cards */
.catalog-toolbar {
  grid-template-columns: minmax(190px, auto) minmax(220px, 1fr) auto;
  align-items: center;
}
.shop-toolbar-controls {
  grid-column: 1 / -1; min-width: 0; padding-top: 10px; display: grid;
  grid-template-columns: minmax(190px, 1fr) auto auto; align-items: end; gap: 9px;
  border-top: 1px solid rgba(81, 169, 207, .11);
}
.shop-sort-control { min-width: 0; display: grid; gap: 5px; color: #7b929d; font-size: 8px; font-weight: 850; }
.shop-sort-control > span { display: inline-flex; align-items: center; gap: 6px; }
.shop-sort-control select {
  width: 100%; min-height: 39px; padding: 8px 34px 8px 10px; border: 1px solid rgba(78,174,216,.2);
  border-radius: 8px; color: var(--text); background: rgba(2,10,15,.55); outline: 0;
}
.shop-affordable-toggle, .shop-clear-filters { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
.shop-affordable-toggle.active { border-color: rgba(104, 232, 90, .45); color: #9cf28f; background: rgba(42, 145, 44, .11); }
.shop-affordable-toggle:disabled { cursor: not-allowed; }
.product-grid { align-items: stretch; }
.product-card { height: 100%; display: flex; flex-direction: column; }
.product-card > p { flex: 1 1 auto; }
.product-card .product-bottom { margin-top: auto; }
.product-card .status-pill.is-success { border-color: rgba(105, 231, 92, .3); color: #a4f59c; background: rgba(52, 147, 49, .08); }

/* Account tabs and security summary */
.account-shell--tabbed { gap: 14px; }
.account-security-chips { min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.account-security-chips > span {
  min-height: 30px; padding: 6px 8px; display: inline-flex; align-items: center; gap: 5px;
  border: 1px solid rgba(255, 193, 55, .2); border-radius: 7px; color: #d9bd72;
  background: rgba(122, 91, 19, .06); font-size: 8px; font-weight: 800; white-space: nowrap;
}
.account-security-chips > span.is-ok { border-color: rgba(104, 230, 88, .22); color: #9de796; background: rgba(36, 120, 37, .07); }
.account-section-nav button {
  min-height: 38px; padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  flex: 0 0 auto; border: 1px solid transparent; border-radius: 7px; color: #869da8;
  background: transparent; cursor: pointer; white-space: nowrap; font-size: 10px; font-weight: 800;
}
.account-section-nav button:hover, .account-section-nav button:focus-visible {
  color: #dff7ff; border-color: rgba(70,183,229,.25); background: rgba(41,145,190,.08);
}
.account-section-nav button.active, .account-section-nav button[aria-selected="true"] {
  color: #8ee4ff; border-color: rgba(68,188,234,.3); background: rgba(44,158,204,.11);
}
.account-tab-panels { min-width: 0; }
.account-tab-panels > .account-panel { width: 100%; }
.account-security { padding: 20px; overflow: visible; }
.account-security > .account-panel__head { padding: 0; }
.security-dashboard { min-width: 0; display: grid; gap: 15px; }
.security-overview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.security-status-card {
  min-width: 0; min-height: 112px; padding: 13px; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px;
  align-content: center; border: 1px solid rgba(84, 168, 204, .16); border-radius: 10px;
  background: rgba(2, 10, 15, .5);
}
.security-status-card > span {
  width: 38px; height: 38px; display: grid; place-items: center; border-radius: 9px;
  color: #77d8fb; background: rgba(42, 147, 190, .08);
}
.security-status-card > div { min-width: 0; display: grid; gap: 3px; }
.security-status-card small { color: #6e8590; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.security-status-card b { overflow-wrap: anywhere; color: #d9e9ef; font-size: 11px; line-height: 1.35; }
.security-status-card em { color: #718792; font-size: 8px; font-style: normal; line-height: 1.45; }
.security-status-card.is-ok { border-color: rgba(99, 225, 86, .22); }
.security-status-card.is-ok > span { color: #91ed83; background: rgba(44, 137, 40, .08); }
.security-status-card.is-warning { border-color: rgba(255, 193, 61, .22); }
.security-status-card.is-warning > span { color: #ffd05c; background: rgba(151, 110, 24, .08); }
.security-notice {
  min-width: 0; padding: 11px 12px; display: flex; align-items: flex-start; gap: 10px;
  border: 1px solid rgba(83, 171, 209, .18); border-radius: 9px; color: #93a9b4; background: rgba(3, 13, 19, .55);
}
.security-notice > .icon, .security-notice > span > .icon { flex: 0 0 auto; margin-top: 2px; color: #70d2f8; }
.security-notice > div { min-width: 0; flex: 1 1 auto; display: grid; gap: 3px; }
.security-notice b { color: #d8e7ed; font-size: 11px; }
.security-notice span { overflow-wrap: anywhere; font-size: 9px; line-height: 1.5; }
.security-notice.is-warning { border-color: rgba(255, 192, 51, .25); color: #c9ad69; background: rgba(121, 85, 14, .06); }
.security-notice.is-warning > .icon { color: #ffcd5b; }
.security-notice.is-info { border-color: rgba(75, 186, 232, .23); }
.security-pending-email { display: grid; grid-template-columns: auto minmax(0,1fr); }
.security-pending-email > form {
  grid-column: 2; min-width: 0; display: grid; grid-template-columns: minmax(220px,1fr) auto; align-items: end; gap: 8px;
}
.security-pending-email .form-message { grid-column: 1 / -1; }
.security-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; align-items: start; }
.security-setting-card {
  min-width: 0; padding: 16px; display: grid; gap: 12px; border: 1px solid rgba(83, 168, 204, .16);
  border-radius: 11px; background: rgba(2, 10, 15, .48);
}
.security-setting-card--wide { grid-column: 1 / -1; }
.security-setting-card > header { min-width: 0; display: flex; align-items: center; gap: 10px; }
.security-setting-card > header > span {
  width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px;
  color: #73d6fb; background: rgba(40, 148, 193, .08);
}
.security-setting-card > header > div { min-width: 0; }
.security-setting-card > header small { color: #6e8490; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.security-setting-card h3, .security-setting-card h4 { margin: 2px 0 0; color: #e3eef3; }
.security-setting-card h3 { font-size: 15px; }
.security-setting-card h4 { font-size: 14px; }
.security-setting-card > p, .totp-setup-copy p, .totp-confirm-form p, .recovery-codes-head p {
  margin: 0; color: #7d929c; font-size: 9px; line-height: 1.55;
}
.security-form { min-width: 0; display: grid; gap: 10px; }
.security-form--columns { grid-template-columns: repeat(3, minmax(0,1fr)); align-items: end; }
.security-form label { min-width: 0; display: grid; gap: 6px; color: #d4e0e6; font-size: 10px; font-weight: 750; }
.security-form input, .security-form select {
  width: 100%; min-width: 0; padding: 11px 12px; border: 1px solid rgba(73,166,211,.25); border-radius: 8px;
  color: #fff; background: rgba(5,15,22,.86); outline: 0;
}
.security-form input:focus, .security-form select:focus { border-color: #34b8ff; box-shadow: 0 0 0 3px rgba(44,170,237,.11); }
.security-form--columns .captcha-check, .security-form--columns .form-submit, .security-form--columns .form-message { grid-column: 1 / -1; }
.security-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.security-inline-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.security-inline-stats > span { min-width: 0; padding: 10px; display: grid; gap: 3px; border-radius: 8px; background: rgba(52, 149, 190, .06); }
.security-inline-stats small { color: #708692; font-size: 7px; text-transform: uppercase; }
.security-inline-stats b { color: #b7f5ac; overflow-wrap: anywhere; }
.security-danger-zone { border: 1px solid rgba(255, 77, 89, .2); border-radius: 9px; background: rgba(108, 24, 34, .05); }
.security-danger-zone > summary { padding: 10px 12px; cursor: pointer; color: #ff9ca4; font-size: 10px; font-weight: 850; }
.security-danger-zone[open] > summary { border-bottom: 1px solid rgba(255,77,89,.14); }
.security-danger-zone > form { padding: 12px; }
.form-submit.is-danger { border-color: #ff5260; background: linear-gradient(180deg,#8a2531,#4e1119); }
.totp-setup-box {
  min-width: 0; margin-top: 3px; padding: 14px; display: grid; grid-template-columns: minmax(180px, .7fr) minmax(220px, 1fr);
  gap: 14px; border: 1px solid rgba(89, 197, 235, .22); border-radius: 10px; background: rgba(4, 18, 26, .7);
}
.totp-qr { min-width: 0; display: grid; place-items: center; padding: 10px; border-radius: 9px; background: #fff; }
.totp-qr svg { width: min(100%, 250px); height: auto; }
.totp-setup-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.totp-setup-copy > small, .totp-confirm-form > small { color: #63cdf4; font-size: 7px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.totp-setup-copy code {
  width: 100%; padding: 9px; overflow-wrap: anywhere; border: 1px dashed rgba(91,191,230,.25); border-radius: 7px;
  color: #b8efff; background: rgba(2,9,14,.7); font-size: 10px; letter-spacing: .08em;
}
.totp-confirm-form { grid-column: 1 / -1; padding-top: 13px; border-top: 1px solid rgba(89, 176, 213, .14); }
.recovery-codes-box { min-width: 0; padding: 14px; display: grid; gap: 12px; border: 1px solid rgba(255, 191, 54, .26); border-radius: 10px; background: rgba(113, 78, 11, .07); }
.recovery-codes-box.is-prominent { margin-top: 12px; box-shadow: 0 0 0 3px rgba(255,191,54,.035); }
.recovery-codes-head { display: flex; align-items: flex-start; gap: 10px; }
.recovery-codes-head > span { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 8px; color: #ffd064; background: rgba(145,104,18,.1); }
.recovery-code-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.recovery-code-grid code { padding: 9px; border-radius: 7px; color: #ffe3a2; background: rgba(2,9,14,.7); text-align: center; font-size: 11px; letter-spacing: .08em; }
.security-events-card { align-self: stretch; }
.security-event-list { display: grid; gap: 7px; }
.security-event-item { min-width: 0; padding: 9px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(82, 166, 201, .14); border-radius: 8px; background: rgba(3,12,17,.48); }
.security-event-item > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 7px; color: #76d9fa; background: rgba(44,145,185,.07); }
.security-event-item > div { min-width: 0; display: grid; gap: 2px; }
.security-event-item b { overflow-wrap: anywhere; color: #d8e7ed; font-size: 10px; }
.security-event-item small { color: #6d838d; font-size: 8px; }
.security-event-item.is-warning, .security-event-item.is-critical { border-color: rgba(255, 98, 109, .19); }
.security-event-item.is-warning > span, .security-event-item.is-critical > span { color: #ff9da5; background: rgba(132,35,44,.08); }

/* Admin security workspace */
.security-admin-dashboard { min-width: 0; display: grid; gap: 15px; }
.security-admin-stats { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.security-admin-stats .admin-stat { min-width: 0; }
.settings-health-stack { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.settings-health {
  min-height: 31px; padding: 6px 9px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(89,176,213,.17);
  border-radius: 8px; color: #87a0ab; background: rgba(3,12,17,.48); font-size: 8px; font-weight: 800;
}
.settings-health.is-ok { border-color: rgba(100,226,87,.24); color: #9be994; }
.settings-health.is-warning { border-color: rgba(255,195,57,.25); color: #e0bf6a; }
.security-admin-form > fieldset { min-width: 0; margin: 0; padding: 0; display: grid; gap: 12px; border: 0; }
.security-setting-group { min-width: 0; padding: 14px; display: grid; gap: 11px; border: 1px solid rgba(82,167,203,.14); border-radius: 10px; background: rgba(2,10,15,.43); }
.security-setting-group > h3, .security-test-mail h3 { margin: 0; display: flex; align-items: center; gap: 7px; font-size: 13px; }
.switch-row { min-width: 0; display: flex !important; align-items: flex-start; gap: 10px; padding: 10px; border: 1px solid rgba(82,168,204,.13); border-radius: 8px; background: rgba(39,128,165,.045); cursor: pointer; }
.switch-row > input { width: 18px !important; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: #45c7f5; }
.switch-row > span { min-width: 0; display: grid; gap: 3px; }
.switch-row b { color: #dbe8ed; font-size: 10px; }
.switch-row small { color: #708792; font-size: 8px; line-height: 1.45; }
.check-line { display: flex !important; align-items: center; gap: 8px; }
.check-line input { width: 17px !important; height: 17px; flex: 0 0 auto; accent-color: #45c7f5; }
.security-admin-form .admin-advanced { margin: 0; }
.security-admin-form .admin-advanced > div { margin: 0; padding: 12px; }
.security-test-mail { margin-top: 12px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.06); }
.security-test-mail > p { margin: 0; color: #798f99; font-size: 9px; }
.inline-form { min-width: 0; display: grid; grid-template-columns: minmax(220px,1fr) auto; align-items: end; gap: 9px; }
.inline-form label { min-width: 0; }
.security-admin-columns { min-width: 0; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 15px; align-items: start; }
.security-user-toolbar { min-width: 0; margin-bottom: 12px; display: grid; grid-template-columns: minmax(220px,1fr) minmax(190px,.45fr); gap: 8px; }
.security-user-toolbar > label:last-child { min-width: 0; min-height: 42px; display: flex; align-items: center; gap: 8px; padding: 0 10px; border: 1px solid rgba(78,174,216,.2); border-radius: 9px; color: #7ccff2; background: rgba(2,10,15,.55); }
.security-user-toolbar select { width: 100%; min-width: 0; border: 0; color: var(--text); background: transparent; outline: 0; }
.security-user-list, .pending-registration-list { min-width: 0; display: grid; gap: 8px; }
.security-user-row {
  min-width: 0; padding: 11px; display: grid; grid-template-columns: minmax(180px,1fr) minmax(220px,1.2fr) minmax(150px,.65fr) auto;
  align-items: center; gap: 10px; border: 1px solid rgba(78,162,198,.14); border-radius: 9px; background: rgba(2,10,15,.46);
}
.security-user-main { min-width: 0; display: flex; align-items: center; gap: 9px; }
.security-user-avatar { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(72,184,228,.23); border-radius: 9px; color: #7ddcff; background: rgba(39,137,177,.07); font-weight: 900; }
.security-user-main > div { min-width: 0; display: grid; gap: 2px; }
.security-user-main b { overflow: hidden; text-overflow: ellipsis; color: #dce9ee; }
.security-user-main small { overflow-wrap: anywhere; color: #6f858f; font-size: 8px; line-height: 1.4; }
.security-user-statuses { min-width: 0; display: flex; flex-wrap: wrap; gap: 5px; }
.security-user-statuses .status-pill { max-width: 100%; overflow-wrap: anywhere; }
.security-user-meta { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 3px 7px; }
.security-user-meta small { color: #6d838e; font-size: 7px; }
.security-user-meta b { overflow-wrap: anywhere; color: #a8bbc3; font-size: 8px; }
.security-user-actions { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.audit-only-label { color: #748a95; font-size: 8px; }
.pending-registration-row {
  min-width: 0; padding: 10px; display: grid; grid-template-columns: auto minmax(130px,1fr) minmax(110px,.7fr) minmax(110px,.7fr) auto;
  align-items: center; gap: 9px; border: 1px solid rgba(161,131,45,.16); border-radius: 9px; background: rgba(42,31,4,.18);
}
.pending-registration-row > div { min-width: 0; display: grid; gap: 2px; }
.pending-registration-row b { overflow-wrap: anywhere; color: #ded8c8; font-size: 9px; }
.pending-registration-row small { overflow-wrap: anywhere; color: #857b61; font-size: 7px; }
.security-event-filters { min-width: min(520px,100%); display: grid; grid-template-columns: minmax(220px,1fr) minmax(170px,.55fr); gap: 8px; }
.security-event-table { min-width: 920px; }
.security-event-table td:first-child { min-width: 230px; }
.security-event-table td:first-child b, .security-event-table td:first-child small { display: block; }
.security-event-table td:first-child small { margin-top: 2px; color: #6c828c; }
.security-event-table td:nth-child(4) { min-width: 260px; max-width: 420px; overflow-wrap: anywhere; }
.security-event-dot { width: 8px; height: 8px; margin-right: 7px; display: inline-block; border-radius: 50%; background: #55c9f4; box-shadow: 0 0 9px rgba(85,201,244,.35); }
.security-event-dot.is-warning { background: #ffc84f; box-shadow: 0 0 9px rgba(255,200,79,.35); }
.security-event-dot.is-critical { background: #ff5968; box-shadow: 0 0 9px rgba(255,89,104,.4); }

/* Light theme */
html[data-theme="light"] .auth-dialog { background: linear-gradient(160deg,#f8fcfe,#edf6fa); color: #17313d; box-shadow: 0 35px 100px rgba(18,43,56,.34); }
html[data-theme="light"] .auth-tabs, html[data-theme="light"] .security-test-mail { border-color: rgba(31,106,137,.14); }
html[data-theme="light"] .auth-form label, html[data-theme="light"] .security-form label, html[data-theme="light"] .admin-form label { color: #294753; }
html[data-theme="light"] .auth-form input, html[data-theme="light"] .security-form input, html[data-theme="light"] .security-form select,
html[data-theme="light"] .shop-sort-control select { color: #17313d; border-color: rgba(31,106,137,.2); background: #f7fbfd; }
html[data-theme="light"] .human-check, html[data-theme="light"] .captcha-check, html[data-theme="light"] .security-status-card,
html[data-theme="light"] .security-setting-card, html[data-theme="light"] .security-setting-group, html[data-theme="light"] .security-user-row,
html[data-theme="light"] .security-event-item, html[data-theme="light"] .settings-health, html[data-theme="light"] .security-notice {
  border-color: rgba(31,106,137,.15); background: rgba(244,250,252,.94);
}
html[data-theme="light"] .security-status-card b, html[data-theme="light"] .security-notice b, html[data-theme="light"] .security-setting-card h3,
html[data-theme="light"] .security-setting-card h4, html[data-theme="light"] .security-event-item b, html[data-theme="light"] .switch-row b,
html[data-theme="light"] .security-user-main b { color: #213f4b; }
html[data-theme="light"] .security-status-card em, html[data-theme="light"] .security-setting-card > p,
html[data-theme="light"] .security-event-item small, html[data-theme="light"] .security-user-main small { color: #617a86; }
html[data-theme="light"] .security-form input:focus { background: #fff; }
html[data-theme="light"] .totp-setup-box { border-color: rgba(31,106,137,.18); background: #f1f8fb; }
html[data-theme="light"] .totp-setup-copy code, html[data-theme="light"] .recovery-code-grid code { color: #245166; background: #e8f3f7; }
html[data-theme="light"] .recovery-codes-box { background: rgba(255,246,218,.75); }
html[data-theme="light"] .switch-row, html[data-theme="light"] .security-user-toolbar > label:last-child { background: #f5fafc; border-color: rgba(31,106,137,.14); }
html[data-theme="light"] .security-user-toolbar select { color: #17313d; }
html[data-theme="light"] .pending-registration-row { background: rgba(255,249,229,.75); border-color: rgba(145,112,24,.16); }
html[data-theme="light"] .pending-registration-row b { color: #4a432e; }
html[data-theme="light"] .security-user-avatar { color: #1f789b; background: #eaf6fa; }

@media (max-width: 1180px) {
  .account-summary { grid-template-columns: auto minmax(150px,1fr) minmax(180px,auto); }
  .account-security-chips { grid-column: 2 / -1; }
  .account-summary-actions { grid-column: 1 / -1; }
  .security-overview-grid { grid-template-columns: 1fr 1fr; }
  .security-overview-grid > :last-child { grid-column: 1 / -1; }
  .security-admin-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .security-admin-columns { grid-template-columns: 1fr; }
  .security-user-row { grid-template-columns: minmax(180px,1fr) minmax(220px,1.2fr); }
  .security-user-meta, .security-user-actions { grid-column: auto; }
  .security-user-actions { justify-content: flex-start; }
}

@media (max-width: 820px) {
  .auth-dialog { max-height: calc(100dvh - 12px); }
  .auth-brand { padding: 19px 20px 14px; }
  .auth-form { padding: 20px; }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .shop-toolbar-controls { grid-template-columns: 1fr 1fr; }
  .shop-sort-control { grid-column: 1 / -1; }
  .shop-history-link { width: 100%; }
  .account-summary { grid-template-columns: auto minmax(0,1fr); }
  .account-security-chips, .account-balance, .account-summary-actions { grid-column: 1 / -1; }
  .account-security-chips { padding-top: 4px; }
  .security-overview-grid, .security-settings-grid { grid-template-columns: 1fr; }
  .security-overview-grid > :last-child, .security-setting-card--wide { grid-column: auto; }
  .security-pending-email > form { grid-template-columns: 1fr; }
  .security-form--columns { grid-template-columns: 1fr 1fr; }
  .totp-setup-box { grid-template-columns: 1fr; }
  .totp-qr { min-height: 220px; }
  .security-admin-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .security-user-row { grid-template-columns: 1fr; }
  .security-user-statuses, .security-user-meta, .security-user-actions { grid-column: 1; }
  .security-user-meta { grid-template-columns: auto minmax(0,1fr); }
  .pending-registration-row { grid-template-columns: auto minmax(0,1fr); }
  .pending-registration-row > div:nth-of-type(n+2), .pending-registration-row > button { grid-column: 2; }
  .pending-registration-row > button { justify-self: start; }
  .security-event-filters { min-width: 0; width: 100%; grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .auth-dialog { width: calc(100% - 10px); max-height: calc(100dvh - 10px); border-radius: 13px; }
  .auth-brand { padding: 16px 15px 12px; gap: 10px; }
  .auth-brand .brand-emblem { width: 50px; height: 50px; }
  .auth-tabs button { min-height: 47px; padding: 9px 4px; font-size: 9px; }
  .auth-form { padding: 16px; }
  .auth-form h2 { font-size: 20px; }
  .human-check, .captcha-check { padding: 9px; }
  .shop-toolbar-controls { grid-template-columns: 1fr; }
  .shop-affordable-toggle, .shop-clear-filters { width: 100%; }
  .account-security { padding: 15px; }
  .account-security-chips > span { flex: 1 1 100%; white-space: normal; }
  .security-status-card { min-height: 0; }
  .security-pending-email { grid-template-columns: 1fr; }
  .security-pending-email > form { grid-column: 1; }
  .security-setting-card { padding: 13px; }
  .security-form--columns { grid-template-columns: 1fr; }
  .security-inline-stats { grid-template-columns: 1fr; }
  .totp-setup-box { padding: 10px; }
  .totp-qr { min-height: 190px; padding: 7px; }
  .totp-setup-copy .mini-button { width: 100%; justify-content: center; }
  .recovery-code-grid { grid-template-columns: 1fr; }
  .security-form-actions { display: grid; grid-template-columns: 1fr; }
  .security-form-actions > * { width: 100%; }
  .security-admin-stats { grid-template-columns: 1fr; }
  .settings-health-stack { width: 100%; justify-content: flex-start; }
  .settings-health { flex: 1 1 140px; }
  .security-setting-group { padding: 11px; }
  .inline-form, .security-user-toolbar { grid-template-columns: 1fr; }
  .security-user-actions .mini-button { width: 100%; }
  .security-event-filters { width: 100%; }
  .pending-registration-row { padding: 9px; }
}

/* Safe email-link confirmation: GET only previews, POST confirms. */
.security-confirm-summary {
  width: min(100%, 620px); margin: 8px auto 0; display: grid; gap: 7px;
}
.security-confirm-summary > div {
  min-width: 0; padding: 10px 12px; display: grid; grid-template-columns: minmax(120px,.7fr) minmax(0,1.3fr); gap: 10px;
  border: 1px solid rgba(80,171,209,.17); border-radius: 9px; background: rgba(3,13,19,.48); text-align: left;
}
.security-confirm-summary dt { color: #718893; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.security-confirm-summary dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: #d8e7ed; font-size: 10px; font-weight: 800; }
.security-confirm-form { width: min(100%, 620px); margin: 12px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
html[data-theme="light"] .security-confirm-summary > div { border-color: rgba(31,106,137,.15); background: #f4fafc; }
html[data-theme="light"] .security-confirm-summary dd { color: #213f4b; }
@media (max-width: 560px) {
  .security-confirm-summary > div { grid-template-columns: 1fr; gap: 4px; }
  .security-confirm-form { display: grid; grid-template-columns: 1fr; }
  .security-confirm-form > * { width: 100%; justify-content: center; }
}

/* Light-theme contrast pass for interactive controls and status badges. */
html[data-theme="light"] .mini-button {
  border-color: rgba(16,112,151,.62); color: #0d668c; background: rgba(225,243,250,.94); font-weight: 850;
}
html[data-theme="light"] .mini-button:hover, html[data-theme="light"] .mini-button:focus-visible {
  border-color: #0a7eaa; color: #074f70; background: #e1f4fb; box-shadow: 0 0 0 3px rgba(17,125,169,.1);
}
html[data-theme="light"] .mini-button.danger, html[data-theme="light"] .mini-button.delete {
  border-color: rgba(181,43,55,.58); color: #a3212e; background: rgba(255,237,239,.94);
}
html[data-theme="light"] .account-section-nav button, html[data-theme="light"] .admin-tab { color: #4d6672; }
html[data-theme="light"] .account-section-nav button:hover, html[data-theme="light"] .account-section-nav button:focus-visible,
html[data-theme="light"] .admin-tab:hover, html[data-theme="light"] .admin-tab:focus-visible { color: #154b61; background: rgba(25,121,160,.08); }
html[data-theme="light"] .account-section-nav button.active, html[data-theme="light"] .account-section-nav button[aria-selected="true"],
html[data-theme="light"] .admin-tab.active, html[data-theme="light"] .admin-tab[aria-selected="true"] {
  color: #075f83; border-color: rgba(18,112,151,.34); background: rgba(28,139,184,.11);
}
html[data-theme="light"] .account-security-chips > span {
  border-color: rgba(139,103,18,.28); color: #765711; background: rgba(255,246,214,.9);
}
html[data-theme="light"] .account-security-chips > span.is-ok {
  border-color: rgba(38,126,39,.3); color: #226c26; background: rgba(229,248,226,.94);
}
html[data-theme="light"] .status-pill, html[data-theme="light"] .product-card .status-pill.is-success {
  border-color: rgba(37,125,40,.32); color: #246f27; background: rgba(227,247,225,.95);
}
html[data-theme="light"] .status-pill--soon { border-color: rgba(144,105,15,.3); color: #78570b; background: rgba(255,246,216,.94); }
html[data-theme="light"] .shop-affordable-toggle.active { border-color: rgba(37,125,40,.38); color: #226c26; background: rgba(229,248,226,.94); }
html[data-theme="light"] .security-status-card.is-ok > span { color: #1f7728; background: rgba(223,245,222,.96); }
html[data-theme="light"] .security-status-card.is-warning > span { color: #80600b; background: rgba(255,245,210,.96); }
html[data-theme="light"] .security-inline-stats b { color: #236b2a; }
html[data-theme="light"] .product-bottom button:not(:disabled) { color: #075f83; border-color: #1593bd; background: rgba(225,247,252,.96); }
html[data-theme="light"] .product-bottom button:not(:disabled):hover, html[data-theme="light"] .product-bottom button:not(:disabled):focus-visible { color: #fff; background: #087da7; }

/* ==========================================================================
   RESPONSIVE HEADER, MAIL DIAGNOSTICS AND COMPACT UX
   ========================================================================== */

/* Header: fixed grid areas prevent action buttons and navigation from colliding. */
.topbar {
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas: "brand nav actions";
  column-gap: clamp(12px, 1.35vw, 22px);
  padding-inline: 16px;
}
.brand-mini { grid-area: brand; }
.nav { grid-area: nav; }
.topbar-actions { grid-area: actions; }
.nav-toggle { grid-area: toggle; }
.topbar::before,
.topbar::after {
  top: 0;
  width: min(34%, 380px);
  height: 2px;
  border-radius: 999px;
}
.topbar::before { left: 16px; }
.topbar::after { right: 16px; }
.topbar-actions > *,
.nav-toggle {
  flex: 0 0 auto;
  align-self: center;
}
.theme-toggle,
.login-chip,
.admin-quick-link,
.nav-toggle {
  min-height: 42px;
  border-radius: 10px;
}
.login-chip,
.admin-quick-link { line-height: 1; }
.login-chip .icon,
.admin-quick-link .icon,
.theme-toggle .icon { flex: 0 0 auto; }

/* Authentication dialog: equal tabs and a reliably centred full-width submit. */
.auth-dialog {
  width: min(580px, calc(100% - 28px));
  max-height: min(790px, calc(100dvh - 24px));
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
}
.auth-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auth-tabs button {
  min-height: 52px;
  display: grid;
  place-items: center;
  padding: 10px 8px;
  line-height: 1.25;
  text-align: center;
}
.auth-form {
  gap: 12px;
  padding: 22px 25px 25px;
}
.auth-form label { min-width: 0; }
.auth-form input { width: 100%; min-width: 0; }
.auth-form .auth-link { justify-self: start; margin: 0; }
.auth-form .form-submit {
  width: 100%;
  min-width: 0;
  min-height: 47px;
  margin-top: 2px;
  padding-inline: 16px;
  justify-self: stretch;
  line-height: 1;
  border-radius: 10px;
}
.auth-form .form-submit .icon { width: 16px; height: 16px; flex: 0 0 auto; }
.auth-form .form-submit span { display: inline-flex; align-items: center; min-height: 20px; }
.auth-form .form-message { margin: 0; }

/* Homepage feature system: fewer columns, stronger hierarchy, richer visual states. */
.mode-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.neon-card {
  min-height: 330px;
  padding: 18px;
  display: grid;
  grid-template-rows: auto 96px auto auto auto;
  align-items: stretch;
  align-content: start;
  gap: 12px;
  text-align: left;
  clip-path: none;
  border-radius: 17px;
}
.neon-card::before {
  background:
    radial-gradient(circle at var(--tilt-x, 50%) var(--tilt-y, 18%), color-mix(in srgb, var(--accent) 18%, transparent), transparent 40%),
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 46%);
}
.neon-card::after { left: 16%; right: 16%; }
.neon-card__top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.neon-card .card-number {
  position: static;
  color: color-mix(in srgb, var(--accent) 68%, #82949d);
  font-size: 9px;
}
.neon-card__state {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--accent) 32%, transparent);
  border-radius: 999px;
  color: color-mix(in srgb, var(--accent) 72%, #e7f7fb);
  background: color-mix(in srgb, var(--accent) 7%, rgba(2, 10, 15, .72));
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .04em;
  white-space: nowrap;
}
.neon-card__state i {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 10px var(--accent);
}
.neon-card__state.is-planned { opacity: .82; }
.neon-card__visual {
  position: relative;
  z-index: 1;
  min-height: 96px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 19%, transparent);
  border-radius: 13px;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    color-mix(in srgb, var(--accent) 4%, rgba(1, 7, 11, .72));
  background-size: 22px 22px, 22px 22px, auto;
}
.neon-card__visual > span {
  position: absolute;
  width: 92px;
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent);
  border-radius: 50%;
}
.neon-card__visual > span:nth-of-type(2) { width: 68px; opacity: .72; }
.neon-card__visual > span:nth-of-type(3) { width: 126px; opacity: .38; }
.neon-card .card-icon {
  z-index: 2;
  width: 62px;
  height: 62px;
  margin: 0;
  border-radius: 15px;
  transform: none;
}
.neon-card:hover .card-icon { transform: scale(1.045); }
.neon-card .card-icon .icon { width: 31px; height: 31px; }
.neon-card__copy {
  position: relative;
  z-index: 2;
  min-width: 0;
}
.neon-card__copy h2,
.neon-card h2 {
  margin: 0 0 7px;
  color: var(--accent);
  font-size: 21px;
  line-height: 1.1;
  text-align: left;
  text-transform: uppercase;
  transform: none;
}
.neon-card__copy p,
.neon-card p {
  margin: 0;
  color: #9aadb6;
  font-size: 12px;
  line-height: 1.62;
  text-align: left;
  transform: none;
}
.neon-card__meta {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.neon-card__meta span {
  padding: 5px 7px;
  border: 1px solid color-mix(in srgb, var(--accent) 19%, transparent);
  border-radius: 7px;
  color: color-mix(in srgb, var(--accent) 58%, #b2c3ca);
  background: color-mix(in srgb, var(--accent) 4%, rgba(2, 9, 14, .5));
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .03em;
}
.neon-card a {
  align-self: end;
  justify-self: start;
  min-height: 36px;
  margin: 0;
  padding: 8px 12px;
  transform: none;
}
.dashboard {
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  gap: 16px;
}
.news-panel { grid-column: 1 / -1; }
.about-panel { min-height: 310px; grid-template-columns: minmax(180px, 34%) minmax(0, 1fr); }
.about-art { min-height: 274px; }

/* Inner pages: less decorative dead space and faster access to working content. */
.page-account .inner-hero,
.page-shop .inner-hero,
.page-admin .inner-hero { min-height: 248px; }
.page-account .inner-hero__content,
.page-shop .inner-hero__content,
.page-admin .inner-hero__content { padding-block: 26px; }
.page-account .inner-hero h1,
.page-shop .inner-hero h1,
.page-admin .inner-hero h1 { font-size: clamp(34px, 4vw, 52px); }
.page-account .inner-hero__icon,
.page-shop .inner-hero__icon,
.page-admin .inner-hero__icon { width: 52px; height: 52px; margin-bottom: 9px; }
.account-layout,
.admin-root { padding: 22px 0 64px; }

/* Shop: controls get a dedicated row, so buttons never overlap at desktop widths. */
.shop-layout {
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 18px;
  padding-top: 22px;
}
.shop-sidebar { top: 90px; padding: 14px; }
.catalog-wrap { gap: 27px; }
.catalog-toolbar {
  padding: 14px;
  grid-template-columns: minmax(190px, .72fr) minmax(260px, 1.28fr) auto;
  gap: 10px;
}
.shop-toolbar-controls {
  grid-template-columns: minmax(190px, 1fr) minmax(165px, auto) minmax(120px, auto);
  gap: 8px;
  padding-top: 9px;
}
.shop-toolbar-controls > * { min-width: 0; }
.shop-affordable-toggle,
.shop-clear-filters,
.shop-history-link { min-height: 40px; }
.product-grid { grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 13px; }
.product-card { min-height: 278px; padding: 17px; border-radius: 12px; }
.product-card p { -webkit-line-clamp: 3; }

/* Account: denser summary, navigation and content cards without hiding information. */
.account-shell,
.account-shell--tabbed { gap: 11px; }
.account-summary {
  padding: 14px;
  grid-template-columns: auto minmax(150px, 1fr) minmax(170px, auto) auto;
  gap: 12px;
}
.account-avatar { width: 56px; height: 56px; border-radius: 13px; font-size: 23px; }
.account-identity h2 { font-size: 21px; }
.account-balance { padding: 7px 15px; }
.account-balance b { font-size: 23px; }
.account-summary-actions { gap: 6px; }
.account-summary-actions .mini-button { min-height: 37px; padding: 8px 10px; }
.account-technical { padding-top: 7px; }
.account-technical dl { margin-top: 8px; gap: 6px; }
.account-section-nav {
  top: 82px;
  padding: 6px;
  gap: 4px;
}
.account-section-nav button,
.account-section-nav a { min-height: 37px; padding: 7px 10px; }
.account-tab-panels > .account-panel,
.account-panel { padding: 15px; }
.account-panel__head { margin-bottom: 12px; gap: 9px; }
.account-panel__head > span:first-child { width: 36px; height: 36px; }
.account-panel__head h2 { font-size: 17px; }
.game-profile-layout { gap: 13px; }
.game-stat-grid { gap: 6px; }
.game-stat-grid > div { min-height: 63px; padding: 9px; }
.balance-history-list,
.account-order-list { max-height: 420px; }
.balance-history-item,
.account-order-item { padding: 9px; }
.account-empty-row { min-height: 112px; }
.account-security { padding: 15px; }
.security-dashboard { gap: 10px; }
.security-overview-grid { gap: 8px; }
.security-status-card { min-height: 92px; padding: 11px; gap: 8px; }
.security-status-card > span { width: 34px; height: 34px; }
.security-settings-grid { gap: 9px; }
.security-setting-card { padding: 13px; gap: 10px; }
.security-setting-card > header > span { width: 34px; height: 34px; }
.security-setting-card h3 { font-size: 14px; }
.security-form { gap: 8px; }
.security-form input,
.security-form select { padding: 10px 11px; }
.security-collapsible {
  padding: 0;
  overflow: hidden;
}
.security-collapsible > summary {
  min-width: 0;
  padding: 12px 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}
.security-collapsible > summary::-webkit-details-marker { display: none; }
.security-collapsible > summary::after {
  content: "+";
  margin-left: auto;
  color: #78cfee;
  font-size: 18px;
  line-height: 1;
  transition: transform .2s ease;
}
.security-collapsible[open] > summary::after { transform: rotate(45deg); }
.security-collapsible[open] > summary { border-bottom: 1px solid rgba(83, 168, 204, .12); }
.security-collapsible__body { padding: 13px; }
.security-collapsible__body > .security-form { margin: 0; }
.security-events-card .security-collapsible__body { max-height: 360px; overflow: auto; }

/* Admin: compact overview, clearer tabs, smaller forms and cards. */
.admin-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 10px;
}
.admin-stat { min-height: 78px; padding: 12px; column-gap: 8px; }
.admin-stat > i { width: 34px; height: 34px; right: 12px; top: 12px; }
.admin-stat b { font-size: 22px; }
.admin-tabs {
  top: 82px;
  margin-bottom: 11px;
  padding: 6px;
  gap: 4px;
  scrollbar-width: thin;
}
.admin-tab { min-height: 37px; padding: 7px 10px; }
.admin-two-column { gap: 11px; }
.admin-section { padding: 15px; }
.admin-section-heading { gap: 10px; margin-bottom: 12px; }
.admin-section-heading h2 { font-size: 18px; }
.admin-form { gap: 9px; }
.form-grid.compact { gap: 8px; }
.admin-row { min-height: 52px; padding: 8px 9px; }
.admin-order { padding: 8px; }
.admin-pager { min-height: 37px; margin-top: 8px; }
.balance-audit-summary { gap: 7px; }
.balance-audit-summary article { min-height: 75px; padding: 10px; }
.security-admin-dashboard { gap: 10px; }
.security-admin-stats { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.security-admin-stats .admin-stat { min-height: 72px; }
.security-admin-columns { gap: 10px; }
.security-setting-group { padding: 11px; gap: 9px; }
.security-user-row { padding: 9px; gap: 8px; }
.pending-registration-row { padding: 8px; gap: 7px; }

/* Collapsible technical/admin setting groups. */
.security-setting-details {
  min-width: 0;
  border: 1px solid rgba(82, 167, 203, .14);
  border-radius: 10px;
  background: rgba(2, 10, 15, .43);
  overflow: hidden;
}
.security-setting-details > summary {
  min-height: 45px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #bed2da;
  cursor: pointer;
  list-style: none;
  font-size: 11px;
  font-weight: 850;
}
.security-setting-details > summary::-webkit-details-marker { display: none; }
.security-setting-details > summary::after {
  content: "+";
  margin-left: auto;
  color: #72d1f4;
  font-size: 18px;
  line-height: 1;
  transition: transform .2s ease;
}
.security-setting-details[open] > summary { border-bottom: 1px solid rgba(82, 167, 203, .12); }
.security-setting-details[open] > summary::after { transform: rotate(45deg); }
.security-setting-details > .security-setting-group { border: 0; border-radius: 0; background: transparent; }

/* Mail transport diagnostics added to the security workspace. */
.mail-diagnostics {
  min-width: 0;
  padding: 11px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(78, 174, 216, .18);
  border-radius: 10px;
  background: rgba(3, 13, 19, .52);
}
.mail-diagnostics__intro {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.mail-diagnostics__intro > div { min-width: 0; display: grid; gap: 3px; }
.mail-diagnostics__intro small { color: #6f8792; font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.mail-diagnostics__intro b { overflow-wrap: anywhere; color: #dcebf1; font-size: 11px; line-height: 1.4; }
.mail-diagnostics__intro > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  color: #73d5fa;
  background: rgba(42, 149, 192, .08);
}
.mail-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.mail-check {
  min-width: 0;
  padding: 7px 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(89, 170, 203, .12);
  border-radius: 8px;
  color: #899da6;
  background: rgba(3, 11, 16, .48);
  font-size: 8px;
  line-height: 1.4;
}
.mail-check::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #7b8c94;
}
.mail-check.is-ok { color: #9de694; border-color: rgba(95, 216, 83, .17); }
.mail-check.is-ok::before { background: #6fe25e; box-shadow: 0 0 9px rgba(111, 226, 94, .36); }
.mail-check.is-warning { color: #d7b96e; border-color: rgba(255, 193, 58, .18); }
.mail-check.is-warning::before { background: #ffc544; box-shadow: 0 0 9px rgba(255, 197, 68, .32); }
.mail-check.is-error { color: #ef929a; border-color: rgba(255, 83, 96, .2); }
.mail-check.is-error::before { background: #ff5f6d; box-shadow: 0 0 9px rgba(255, 95, 109, .34); }
.mail-last-event {
  min-width: 0;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  background: rgba(74, 157, 191, .055);
}
.mail-last-event > span { color: #6fcdf0; }
.mail-last-event > div { min-width: 0; display: grid; gap: 2px; }
.mail-last-event b { overflow-wrap: anywhere; color: #c8dae1; font-size: 9px; }
.mail-last-event small,
.mail-last-event time { color: #70858e; font-size: 7px; }
.mail-delivery-note { margin: 0; color: #718791; font-size: 8px; line-height: 1.5; }
.security-test-mail { margin-top: 9px; padding-top: 10px; }

/* Light theme for the new surfaces. */
html[data-theme="light"] .neon-card {
  background: linear-gradient(155deg, color-mix(in srgb, var(--accent) 8%, #fff), rgba(246, 251, 253, .98) 68%);
  box-shadow: 0 15px 38px rgba(30, 77, 99, .1);
}
html[data-theme="light"] .neon-card__visual { background-color: rgba(244, 250, 252, .96); }
html[data-theme="light"] .neon-card__copy p { color: #617986; }
html[data-theme="light"] .security-collapsible[open] > summary,
html[data-theme="light"] .security-setting-details[open] > summary { border-color: rgba(31, 106, 137, .13); }
html[data-theme="light"] .security-setting-details,
html[data-theme="light"] .mail-diagnostics,
html[data-theme="light"] .mail-check {
  border-color: rgba(31, 106, 137, .14);
  background: rgba(245, 250, 252, .95);
}
html[data-theme="light"] .mail-diagnostics__intro b,
html[data-theme="light"] .mail-last-event b { color: #284652; }
html[data-theme="light"] .mail-check { color: #5d7580; }
html[data-theme="light"] .mail-last-event { background: rgba(225, 242, 248, .8); }
html[data-theme="light"] .mail-delivery-note,
html[data-theme="light"] .mail-last-event small,
html[data-theme="light"] .mail-last-event time { color: #627a85; }

/* The full navigation turns into a stable equal-cell menu before it can collide. */
@media (max-width: 1360px) {
  .topbar {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-areas: "brand . actions toggle";
    min-height: 70px;
    gap: 8px;
    overflow: visible !important;
  }
  .nav-toggle {
    width: 42px;
    height: 42px;
    padding: 9px;
    display: block;
    justify-self: end;
  }
  .nav {
    position: absolute !important;
    z-index: 190 !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-height: calc(100dvh - 106px) !important;
    padding: 9px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch !important;
    gap: 7px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid rgba(84, 199, 246, .42) !important;
    border-radius: 14px !important;
    background: linear-gradient(160deg, rgba(3, 14, 22, .995), rgba(1, 7, 12, .995)) !important;
    box-shadow: 0 26px 80px rgba(0, 0, 0, .84), inset 0 1px rgba(255,255,255,.045) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) scale(.99) !important;
    transform-origin: top center !important;
  }
  .nav.open,
  body.nav-open .nav {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
  .nav a {
    width: 100% !important;
    min-width: 0;
    min-height: 52px !important;
    padding: 9px 11px !important;
    justify-content: flex-start !important;
    border: 1px solid rgba(77, 166, 205, .08);
    border-radius: 9px !important;
    background: rgba(5, 17, 24, .54) !important;
    white-space: normal;
    line-height: 1.25;
  }
  .nav a.active::after {
    left: 0 !important;
    right: auto !important;
    top: 9px !important;
    bottom: 9px !important;
    width: 3px !important;
    height: auto !important;
  }
  .topbar.scrolled .nav a { min-height: 52px; }
  html[data-theme="light"] .nav { background: rgba(248, 253, 255, .995) !important; }
  html[data-theme="light"] .nav a { background: rgba(232, 245, 250, .78) !important; }
}

@media (max-width: 1120px) {
  .mode-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard { grid-template-columns: 1fr; }
  .news-panel { grid-column: auto; }
  .shop-layout { grid-template-columns: 210px minmax(0, 1fr); }
  .catalog-toolbar { grid-template-columns: minmax(180px, .7fr) minmax(220px, 1.3fr); }
  .shop-history-link { grid-column: 1 / -1; width: 100%; }
  .admin-two-column { grid-template-columns: 1fr; }
  .security-admin-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 840px) {
  .topbar {
    width: calc(100% - 16px);
    min-height: 64px;
    padding-inline: 10px;
    gap: 7px;
  }
  .topbar::before { left: 12px; }
  .topbar::after { right: 12px; }
  .topbar-actions { gap: 6px; }
  .nav { grid-template-columns: repeat(2, minmax(0, 1fr)); top: calc(100% + 8px) !important; }
  .nav a { min-height: 54px !important; }
  .nav a:last-child { grid-column: 1 / -1; }
  .page-account .inner-hero,
  .page-shop .inner-hero,
  .page-admin .inner-hero { min-height: 228px; }
  .page-account .inner-hero__content,
  .page-shop .inner-hero__content,
  .page-admin .inner-hero__content { padding: 22px 18px; }
  .shop-layout { grid-template-columns: 1fr; padding-top: 16px; }
  .shop-sidebar {
    position: relative;
    top: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .catalog-toolbar { grid-template-columns: 1fr; }
  .shop-history-link { grid-column: auto; }
  .shop-toolbar-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-sort-control { grid-column: 1 / -1; }
  .account-summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .account-balance { grid-column: 1 / 3; border-left: 0; border-right: 0; border-top: 1px solid rgba(111,190,225,.14); }
  .account-summary-actions { grid-column: 3; grid-row: 1 / 3; flex-direction: column; align-items: stretch; }
  .account-security-chips { grid-column: 1 / -1; }
  .account-section-nav,
  .admin-tabs { top: 74px; }
  .security-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mail-check-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .brand-emblem { width: 42px; height: 42px; }
  .brand-wordmark { display: none; }
  .topbar-actions .login-chip,
  .topbar-actions .admin-quick-link,
  .theme-toggle,
  .nav-toggle {
    width: 42px;
    min-width: 42px;
    height: 42px;
    min-height: 42px;
    padding: 8px;
  }
  .topbar-actions .login-chip span,
  .topbar-actions .admin-quick-link span { display: none; }
  .mode-grid { grid-template-columns: 1fr; gap: 12px; }
  .neon-card { min-height: 0; grid-template-rows: auto 88px auto auto auto; padding: 16px; }
  .about-panel { grid-template-columns: 1fr; padding: 13px; }
  .about-art { min-height: 220px !important; }
  .auth-dialog { width: calc(100% - 10px); max-height: calc(100dvh - 10px); border-radius: 13px; }
  .auth-brand { padding: 15px 14px 11px; }
  .auth-tabs button { min-height: 46px; padding: 8px 4px; font-size: 9px; }
  .auth-form { padding: 15px; gap: 10px; }
  .page-account .inner-hero,
  .page-shop .inner-hero,
  .page-admin .inner-hero { min-height: 210px; }
  .inner-hero__content > p:not(.eyebrow) { font-size: 10px; line-height: 1.55; }
  .account-layout,
  .admin-root { padding-top: 14px; }
  .shop-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .shop-sidebar > .shop-category { min-height: 42px; padding: 8px; font-size: 10px; }
  .catalog-toolbar { padding: 11px; }
  .shop-toolbar-controls { grid-template-columns: 1fr; }
  .shop-sort-control { grid-column: auto; }
  .shop-affordable-toggle,
  .shop-clear-filters,
  .shop-history-link { width: 100%; }
  .account-summary { grid-template-columns: auto minmax(0, 1fr); padding: 11px; }
  .account-avatar { width: 50px; height: 50px; }
  .account-identity h2 { font-size: 19px; }
  .account-balance,
  .account-summary-actions,
  .account-security-chips { grid-column: 1 / -1; grid-row: auto; }
  .account-balance { padding: 9px 0 0; }
  .account-summary-actions { flex-direction: row; justify-content: stretch; }
  .account-summary-actions > * { flex: 1 1 0; }
  .account-section-nav,
  .admin-tabs {
    position: relative;
    top: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  .account-section-nav button,
  .account-section-nav a,
  .admin-tab { width: 100%; white-space: normal; text-align: center; }
  .account-tab-panels > .account-panel,
  .account-panel,
  .admin-section { padding: 12px; }
  .game-profile-head { align-items: flex-start; flex-wrap: wrap; }
  .game-profile-controls { width: 100%; margin-left: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; }
  .server-picker { min-width: 0; }
  .security-overview-grid,
  .security-settings-grid { grid-template-columns: 1fr; }
  .security-setting-card--wide { grid-column: auto; }
  .security-collapsible__body { padding: 11px; }
  .admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-stat { min-height: 72px; }
  .admin-section-heading { flex-direction: column; align-items: stretch; }
  .admin-search { width: 100%; flex-basis: auto; }
  .security-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-health-stack { justify-content: stretch; }
  .settings-health { flex: 1 1 130px; }
  .inline-form,
  .security-user-toolbar { grid-template-columns: 1fr; }
  .mail-last-event { grid-template-columns: auto minmax(0, 1fr); }
  .mail-last-event time { grid-column: 2; }
}

@media (max-width: 380px) {
  .topbar {
    width: calc(100% - 12px);
    padding-inline: 8px;
    gap: 5px;
  }
  .topbar::before { left: 10px; }
  .topbar::after { right: 10px; }
  .brand-emblem { width: 39px; height: 39px; }
  .topbar-actions { gap: 4px; }
  .topbar-actions .login-chip,
  .topbar-actions .admin-quick-link,
  .theme-toggle,
  .nav-toggle {
    width: 39px;
    min-width: 39px;
    height: 39px;
    min-height: 39px;
    padding: 7px;
  }
  .nav { grid-template-columns: 1fr; padding: 7px !important; gap: 5px !important; }
  .nav a:last-child { grid-column: auto; }
  .nav a { min-height: 50px !important; }
  .auth-tabs button { font-size: 8px; }
  .neon-card__state { max-width: 70%; overflow: hidden; text-overflow: ellipsis; }
  .shop-sidebar { grid-template-columns: 1fr; }
  .admin-stats,
  .security-admin-stats { grid-template-columns: 1fr; }
  .account-section-nav,
  .admin-tabs { grid-template-columns: 1fr; }
  .game-profile-controls { grid-template-columns: 1fr auto; }
  .profile-presence { grid-column: 1 / -1; }
}

/* Markup alignment for diagnostic and collapsible components. */
.security-setting-details > summary > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  color: #73d4f8;
  background: rgba(42, 149, 192, .08);
}
.security-setting-details > summary > div { min-width: 0; display: grid; gap: 2px; }
.security-setting-details > summary b { color: #d8e8ee; font-size: 11px; }
.security-setting-details > summary small { color: #708792; font-size: 8px; line-height: 1.4; }
.security-setting-details > summary > i {
  width: 22px;
  height: 22px;
  margin-left: auto;
  display: grid;
  place-items: center;
  color: #73cfee;
  transition: transform .2s ease;
}
.security-setting-details > summary::after { display: none; }
.security-setting-details[open] > summary > i { transform: rotate(180deg); }
.security-setting-details__body { padding: 11px; display: grid; gap: 9px; }
.mail-check::before { display: none; }
.mail-check > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 7px;
  color: #81939b;
  background: rgba(87, 155, 184, .07);
}
.mail-check > div { min-width: 0; display: grid; gap: 2px; }
.mail-check small { color: #6d838d; font-size: 7px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.mail-check b { overflow-wrap: anywhere; color: inherit; font-size: 8px; line-height: 1.35; }
.mail-check.is-ok > span { color: #78df69; background: rgba(67, 154, 52, .08); }
.mail-check.is-warning > span { color: #ffc855; background: rgba(155, 112, 24, .08); }
.mail-check.is-error > span { color: #ff7c88; background: rgba(151, 38, 48, .08); }
html[data-theme="light"] .security-setting-details > summary b { color: #294753; }
html[data-theme="light"] .security-setting-details > summary small,
html[data-theme="light"] .mail-check small { color: #607985; }

/* Overflow guard for long pending-registration rows. */
.pending-registration-list,
.pending-registration-section,
.pending-registration-row,
.pending-registration-row > * {
  min-width: 0;
}
.pending-registration-row {
  grid-template-columns: auto minmax(120px, 1.25fr) minmax(92px, .55fr) minmax(92px, .55fr) minmax(70px, auto);
  gap: 7px;
}
.pending-registration-row b,
.pending-registration-row small {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.pending-registration-row .mini-button {
  min-width: 0;
  max-width: 100%;
  justify-self: end;
  white-space: nowrap;
}

/* Explicit disabled state when the public mail transport is unavailable. */
.auth-form .form-submit:disabled {
  cursor: not-allowed;
  opacity: .52;
  filter: saturate(.45);
  box-shadow: none;
}
.auth-form .form-message.is-warning {
  display: block;
  padding: 9px 10px;
  border: 1px solid rgba(255, 190, 58, .28);
  border-radius: 8px;
  color: #ffd877;
  background: rgba(64, 43, 3, .28);
  line-height: 1.45;
}
html[data-theme="light"] .auth-form .form-message.is-warning {
  color: #765500;
  border-color: rgba(161, 112, 0, .25);
  background: rgba(255, 235, 176, .62);
}

/* ==========================================================================
   FOX Survival v1.14.0 — payments, refunds and compact administration
   ========================================================================== */

/* Header accents stay inside the rounded frame on every viewport. */
.topbar::before,
.topbar::after {
  top: 0;
  width: 31%;
  max-width: calc(50% - 24px);
  height: 2px;
  border-radius: 999px;
  clip-path: inset(0 round 999px);
}
.topbar::before { left: 16px; }
.topbar::after { right: 16px; }

/* Main feature cards use restrained 3D tilt; static information panels remain steady. */
.network-node,
.about-panel {
  transform: none !important;
  transform-style: flat !important;
}
.network-node:hover,
.about-panel:hover { transform: none !important; }
.neon-card h2,
.neon-card p,
.neon-card a { transform: none !important; }
.neon-card[data-tilt] {
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform .18s cubic-bezier(.2,.8,.2,1), border-color .25s ease, box-shadow .25s ease;
}
.neon-card[data-tilt] .neon-card__visual,
.neon-card[data-tilt] .neon-card__copy,
.neon-card[data-tilt] .neon-card__meta,
.neon-card[data-tilt] > a { transform: translateZ(12px); }
.neon-card[data-tilt] .card-icon { transform: translateZ(22px); }
.neon-card[data-tilt]:hover .card-icon { transform: translateZ(26px) scale(1.035); }


@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .neon-card[data-tilt] {
    transform: none !important;
    transform-style: flat;
    will-change: auto;
  }
  .neon-card[data-tilt] .neon-card__visual,
  .neon-card[data-tilt] .neon-card__copy,
  .neon-card[data-tilt] .neon-card__meta,
  .neon-card[data-tilt] > a,
  .neon-card[data-tilt] .card-icon {
    transform: none !important;
  }
}

.roadmap-line--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.roadmap-line--six .roadmap-step { min-height: 108px; }

/* Shared compact form actions prevent oversized and side-floating buttons. */
.admin-form-actions {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.admin-form-actions .form-submit {
  flex: 0 1 auto;
  width: auto;
  min-width: 190px;
  max-width: 100%;
}
.admin-form-actions .admin-form-hint {
  flex: 1 1 240px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.admin-row-actions { min-width: 0; flex-wrap: wrap; }
.admin-row-actions > * { max-width: 100%; }
.admin-section-heading > * { min-width: 0; }

/* Mail diagnostics stay actionable even when delivery is unavailable. */
.security-mail-diagnostic details { margin-top: 7px; }
.security-mail-diagnostic summary { cursor: pointer; color: #ffd46f; font-size: 9px; font-weight: 850; }
.security-mail-diagnostic ul { margin: 7px 0 0; padding-left: 17px; display: grid; gap: 4px; color: #a9bac1; font-size: 8px; }

/* Account top-up module. */
[data-payment-account] { min-width: 0; }
.payment-account-card {
  min-width: 0;
  margin-bottom: 14px;
  padding: 14px;
  display: grid;
  gap: 13px;
  border: 1px solid rgba(59, 195, 116, .22);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(5, 24, 21, .76), rgba(2, 10, 14, .82));
}
.payment-account-card.is-disabled { border-color: rgba(255, 190, 62, .22); }
.payment-account-head {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
}
.payment-account-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(74, 220, 130, .28);
  border-radius: 10px;
  color: #7bf08f;
  background: rgba(47, 170, 83, .08);
}
.payment-account-icon .icon { width: 21px; height: 21px; }
.payment-account-head small,
.payment-account-head h3,
.payment-account-head p { margin: 0; }
.payment-account-head small { color: #6f9184; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.payment-account-head h3 { margin-top: 2px; color: #e4f5ec; font-size: 16px; }
.payment-account-head p { margin-top: 4px; max-width: 700px; color: #7f9990; font-size: 9px; line-height: 1.55; }
.payment-account-flags { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.payment-mode-badge,
.payment-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 8px;
  border: 1px solid rgba(95, 180, 214, .24);
  border-radius: 999px;
  color: #96cce1;
  background: rgba(43, 127, 161, .07);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.payment-mode-badge.is-test { border-color: rgba(255, 192, 51, .3); color: #ffd16d; background: rgba(142, 94, 10, .1); }
.payment-mode-badge.is-live { border-color: rgba(81, 218, 91, .3); color: #8bec7e; background: rgba(50, 141, 47, .1); }
.payment-status.is-ok { border-color: rgba(77, 220, 91, .3); color: #8bed7f; }
.payment-status.is-info { border-color: rgba(71, 176, 245, .34); color: #79caff; }
.payment-status.is-warning { border-color: rgba(255, 190, 55, .34); color: #ffd26d; }
.payment-status.is-error { border-color: rgba(255, 76, 90, .34); color: #ff8791; }
.payment-status.is-pending { border-color: rgba(177, 124, 255, .3); color: #cba2ff; }
.payment-topup-form {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(170px, 1.2fr) minmax(190px, .75fr) auto;
  align-items: end;
  gap: 10px;
}
.payment-presets { min-width: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.payment-preset {
  min-height: 38px;
  padding: 8px 11px;
  border: 1px solid rgba(87, 202, 131, .24);
  border-radius: 8px;
  color: #b4dbc2;
  background: rgba(48, 143, 81, .06);
  font: inherit;
  font-size: 9px;
  font-weight: 850;
  cursor: pointer;
}
.payment-preset:hover,
.payment-preset.active { border-color: rgba(89, 234, 111, .55); color: #98f089; background: rgba(55, 172, 73, .13); }
.payment-amount-field { min-width: 0; display: grid; gap: 5px; color: #8aa198; font-size: 8px; font-weight: 800; }
.payment-amount-field > div,
.payment-refund-amount { min-width: 0; display: flex; align-items: stretch; }
.payment-amount-field input,
.payment-refund-amount input { min-width: 0; width: 100%; border-radius: 8px 0 0 8px; }
.payment-amount-field > div > span,
.payment-refund-amount > span { min-width: 36px; display: grid; place-items: center; border: 1px solid rgba(87, 169, 201, .2); border-left: 0; border-radius: 0 8px 8px 0; color: #8db5c5; background: rgba(18, 53, 67, .36); }
.payment-topup-submit { min-width: 190px; }
.payment-config-state { margin: 0; }
.payment-account-history { min-width: 0; border-top: 1px solid rgba(85, 174, 138, .13); }
.payment-account-history > summary { min-height: 40px; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; list-style: none; color: #b7d4c4; font-size: 10px; font-weight: 850; }
.payment-account-history > summary::-webkit-details-marker { display: none; }
.payment-account-history > summary span { display: inline-flex; align-items: center; gap: 7px; }
.payment-account-history > summary small { min-width: 24px; min-height: 24px; display: grid; place-items: center; border-radius: 999px; color: #7ba58e; background: rgba(64, 136, 92, .1); }
.payment-history-mobile { display: none; }
.payment-history-table small,
.payment-admin-table small { display: block; margin-top: 3px; color: #6e838c; font-size: 7px; overflow-wrap: anywhere; }
.payment-inline-error,
.payment-table-error { color: #ff9ca4 !important; overflow-wrap: anywhere; }
.account-balance-ledger { min-width: 0; padding-top: 4px; }

/* Payment administration and real-money refunds. */
.payment-manager-mount,
.payment-admin-workspace,
.payment-admin-workspace > * { min-width: 0; }
.payment-admin-workspace { display: grid; gap: 12px; }
.payment-admin-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.payment-admin-summary article {
  min-width: 0;
  min-height: 86px;
  padding: 12px;
  display: grid;
  align-content: center;
  gap: 3px;
  border: 1px solid rgba(75, 168, 207, .17);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(5, 17, 24, .92), rgba(2, 9, 13, .92));
}
.payment-admin-summary article.is-warning { border-color: rgba(255, 190, 55, .3); }
.payment-admin-summary small { color: #6e858f; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.payment-admin-summary b { color: #e8f4f8; font-size: 20px; overflow-wrap: anywhere; }
.payment-admin-summary span { color: #788f99; font-size: 8px; }
.payment-settings > summary,
.payment-refund-journal > summary,
.shop-player-finance > summary,
.vote-settings-accordion > summary,
.vote-provider-editor-section > summary { margin-bottom: 0; cursor: pointer; list-style: none; }
.payment-settings > summary::-webkit-details-marker,
.payment-refund-journal > summary::-webkit-details-marker,
.shop-player-finance > summary::-webkit-details-marker,
.vote-settings-accordion > summary::-webkit-details-marker,
.vote-provider-editor-section > summary::-webkit-details-marker { display: none; }
.payment-settings-body,
.payment-refund-journal__body,
.shop-player-finance__body,
.vote-settings-accordion__body,
.vote-provider-editor-body { padding-top: 12px; }
.payment-diagnostics { display: grid; gap: 10px; margin-bottom: 13px; }
.payment-diagnostics__summary {
  min-width: 0;
  padding: 10px;
  display: flex;
  align-items: flex-start;
  gap: 9px;
  border: 1px solid rgba(78, 201, 106, .22);
  border-radius: 9px;
  background: rgba(44, 139, 66, .06);
}
.payment-diagnostics.is-warning .payment-diagnostics__summary { border-color: rgba(255, 190, 54, .25); background: rgba(137, 93, 12, .07); }
.payment-diagnostics__summary > .icon { width: 19px; height: 19px; flex: 0 0 auto; color: #7ee67a; }
.payment-diagnostics.is-warning .payment-diagnostics__summary > .icon { color: #ffd067; }
.payment-diagnostics__summary div { min-width: 0; display: grid; gap: 3px; }
.payment-diagnostics__summary b { color: #d8e9ee; font-size: 10px; overflow-wrap: anywhere; }
.payment-diagnostics__summary span { color: #738a94; font-size: 8px; line-height: 1.45; }
.payment-diagnostic-checks { display: flex; gap: 6px; flex-wrap: wrap; }
.payment-diagnostic-checks span { min-height: 28px; padding: 5px 8px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(102, 166, 191, .16); border-radius: 7px; color: #8da5ae; font-size: 8px; }
.payment-diagnostic-checks .icon { width: 13px; height: 13px; }
.payment-diagnostic-checks .is-ok { color: #84df7b; border-color: rgba(81, 206, 91, .2); }
.payment-diagnostic-checks .is-error { color: #ff8c95; border-color: rgba(238, 71, 85, .2); }
.payment-endpoints { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.payment-endpoints label { min-width: 0; display: grid; gap: 5px; color: #78909a; font-size: 8px; }
.payment-endpoints label > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
.payment-endpoints input { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.payment-switch-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.payment-settings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-settings-grid .wide { grid-column: 1 / -1; }
.payment-fiscal-settings { padding: 10px; border: 1px solid rgba(90, 167, 196, .14); border-radius: 9px; background: rgba(5, 17, 23, .38); }
.payment-fiscal-settings > summary { cursor: pointer; color: #a8c3ce; font-size: 9px; font-weight: 850; }
.payment-fiscal-settings > .admin-form-grid { margin-top: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.payment-clear-secret { max-width: 430px; }
.payment-settings-actions { align-items: center; }
.payment-journal-heading { align-items: flex-end; }
.payment-journal-filters { min-width: min(100%, 470px); display: grid; grid-template-columns: minmax(190px, 1fr) minmax(145px, auto); gap: 7px; }
.payment-journal-filters select { min-width: 0; }
.payment-admin-cards { display: none; }
.payment-admin-table td { vertical-align: top; }
.payment-row-actions { justify-content: flex-end; }
.payment-refund-button { border-color: rgba(255, 181, 56, .32); color: #ffd06b; }
.payment-action-note { max-width: 150px; color: #7d9098; font-size: 7px; line-height: 1.35; text-align: right; }
.payment-pager { margin-top: 10px; }

.payment-refund-dialog {
  width: min(640px, calc(100% - 22px));
  max-height: calc(100dvh - 22px);
  padding: 0;
  border: 1px solid rgba(255, 100, 91, .34);
  border-radius: 14px;
  color: #dcebf0;
  background: rgba(2, 9, 14, .98);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .72);
}
.payment-refund-dialog::backdrop { background: rgba(0, 4, 8, .78); backdrop-filter: blur(8px); }
.payment-refund-dialog__shell { position: relative; padding: 18px; display: grid; gap: 11px; overflow-y: auto; max-height: calc(100dvh - 24px); }
.payment-refund-dialog__head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; padding-right: 34px; }
.payment-refund-dialog__head > span { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(255, 103, 91, .28); border-radius: 10px; color: #ff8e85; background: rgba(151, 42, 34, .09); }
.payment-refund-dialog__head h3 { margin: 2px 0 0; color: #f2f7f8; font-size: 18px; }
.payment-refund-dialog__head p:not(.eyebrow) { margin: 5px 0 0; color: #82979f; font-size: 9px; line-height: 1.5; }
.payment-refund-context { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.payment-refund-context > div { min-width: 0; padding: 8px; display: grid; gap: 3px; border: 1px solid rgba(91, 159, 187, .14); border-radius: 8px; background: rgba(7, 20, 27, .6); }
.payment-refund-context small { color: #69808a; font-size: 6px; font-weight: 900; text-transform: uppercase; }
.payment-refund-context b { overflow-wrap: anywhere; color: #cce0e7; font-size: 9px; }
.payment-refund-amount { display: grid; grid-template-columns: minmax(0, 1fr) 36px auto; }
.payment-refund-amount > span { border-radius: 0; }
.payment-refund-amount .mini-button { margin-left: 6px; white-space: nowrap; }
.payment-refund-dialog__actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.payment-refund-dialog__actions .form-submit { width: auto; min-width: 210px; }

.shop-player-finance { margin-top: 12px; }
.shop-player-finance__body { min-width: 0; }

/* Compact vote provider accordions. */
.vote-settings-accordion,
.vote-provider-editor-section { min-width: 0; }
.vote-provider-list-heading { align-items: flex-end; }
.vote-provider-list-tools { min-width: min(100%, 590px); display: grid; grid-template-columns: minmax(180px, 1fr) minmax(145px, auto) auto; gap: 7px; align-items: center; }
.vote-admin-provider-list { grid-template-columns: 1fr; gap: 8px; }
.vote-provider-accordion { padding: 0; overflow: clip; }
.vote-provider-accordion::before { inset: 0 auto 0 0; }
.vote-provider-accordion__summary {
  min-width: 0;
  min-height: 68px;
  padding: 11px 12px 11px 15px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(180px, auto) auto;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  list-style: none;
}
.vote-provider-accordion__summary::-webkit-details-marker { display: none; }
.vote-provider-accordion__identity { min-width: 0; }
.vote-provider-accordion__identity h3 { margin: 0; color: #e4f0f4; font-size: 12px; }
.vote-provider-accordion__identity p { margin: 3px 0 0; overflow: hidden; color: #6f858f; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.vote-provider-accordion__quick { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.vote-provider-accordion__quick > span:first-child { display: grid; gap: 1px; text-align: right; }
.vote-provider-accordion__quick small { color: #667d87; font-size: 6px; font-weight: 900; text-transform: uppercase; }
.vote-provider-accordion__quick b { color: #b8ccd4; font-size: 9px; }
.vote-provider-accordion__summary > i { width: 22px; height: 22px; display: grid; place-items: center; color: #78cce9; transition: transform .2s ease; }
.vote-provider-accordion[open] .vote-provider-accordion__summary > i { transform: rotate(180deg); }
.vote-provider-accordion__body { padding: 0 12px 12px 15px; display: grid; gap: 10px; border-top: 1px solid rgba(90, 160, 187, .1); }
.vote-provider-accordion__body .vote-admin-provider__meta { padding-top: 11px; }
.vote-provider-accordion__body > .admin-row-actions { justify-content: flex-end; }
.vote-provider-filter-empty { margin-top: 8px; }

/* Light theme support for new financial panels. */
html[data-theme="light"] .payment-account-card,
html[data-theme="light"] .payment-admin-summary article,
html[data-theme="light"] .payment-fiscal-settings,
html[data-theme="light"] .payment-refund-context > div,
html[data-theme="light"] .payment-refund-dialog { background: rgba(241, 248, 250, .97); }
html[data-theme="light"] .payment-account-head h3,
html[data-theme="light"] .payment-admin-summary b,
html[data-theme="light"] .payment-diagnostics__summary b,
html[data-theme="light"] .payment-refund-dialog__head h3,
html[data-theme="light"] .vote-provider-accordion__identity h3 { color: #17343f; }
html[data-theme="light"] .payment-account-head p,
html[data-theme="light"] .payment-admin-summary span,
html[data-theme="light"] .payment-diagnostics__summary span,
html[data-theme="light"] .payment-refund-dialog__head p:not(.eyebrow) { color: #607b86; }
html[data-theme="light"] .payment-refund-dialog { color: #27444f; }
html[data-theme="light"] .payment-refund-context b { color: #294955; }
html[data-theme="light"] .payment-amount-field > div > span,
html[data-theme="light"] .payment-refund-amount > span { background: rgba(224, 239, 244, .9); color: #4a6b78; }

@media (max-width: 1120px) {
  .roadmap-line--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-topup-form { grid-template-columns: 1fr 1fr; }
  .payment-presets { grid-column: 1 / -1; }
  .payment-topup-submit { min-width: 0; }
  .payment-switch-grid { grid-template-columns: 1fr; }
  .payment-endpoints { grid-template-columns: 1fr; }
}

@media (max-width: 840px) {
  .topbar::before { left: 12px; }
  .topbar::after { right: 12px; }
  .payment-account-head { grid-template-columns: auto minmax(0, 1fr); }
  .payment-account-flags { grid-column: 1 / -1; justify-content: flex-start; }
  .payment-journal-heading,
  .vote-provider-list-heading { align-items: stretch; }
  .payment-journal-filters,
  .vote-provider-list-tools { min-width: 0; width: 100%; grid-template-columns: 1fr 1fr; }
  .vote-provider-list-tools .mini-button { grid-column: 1 / -1; }
  .payment-refund-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vote-provider-accordion__summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .vote-provider-accordion__quick { grid-column: 2; justify-content: flex-start; }
  .vote-provider-accordion__summary > i { grid-column: 3; grid-row: 1 / 3; }
}

@media (max-width: 620px) {
  .topbar::before,
  .topbar::after { width: 29%; max-width: calc(50% - 18px); }
  .topbar::before { left: 10px; }
  .topbar::after { right: 10px; }
  .nav a {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px !important;
    line-height: 1.2;
  }
  .roadmap-line--six { grid-template-columns: 1fr; }
  .payment-account-card { padding: 11px; }
  .payment-account-head { grid-template-columns: 1fr; }
  .payment-account-icon { width: 36px; height: 36px; }
  .payment-topup-form { grid-template-columns: 1fr; }
  .payment-presets { grid-column: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-preset { width: 100%; }
  .payment-topup-submit { width: 100%; }
  .payment-history-table,
  .payment-admin-table { display: none; }
  .payment-history-mobile,
  .payment-admin-cards { display: grid; gap: 8px; }
  .payment-history-card,
  .payment-admin-card {
    min-width: 0;
    padding: 10px;
    display: grid;
    gap: 8px;
    border: 1px solid rgba(77, 162, 197, .16);
    border-radius: 9px;
    background: rgba(5, 17, 23, .64);
  }
  .payment-history-card header,
  .payment-admin-card header { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
  .payment-history-card header span,
  .payment-admin-card header span { min-width: 0; display: grid; gap: 2px; }
  .payment-history-card header small,
  .payment-admin-card header small { color: #6e838d; font-size: 7px; }
  .payment-history-card header b,
  .payment-admin-card header b { overflow-wrap: anywhere; color: #d5e7ed; font-size: 10px; }
  .payment-history-card header strong,
  .payment-admin-card header strong { flex: 0 0 auto; color: #88ec86; font-size: 14px; }
  .payment-history-card__meta,
  .payment-admin-card__status { display: flex; gap: 5px; flex-wrap: wrap; }
  .payment-admin-card dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
  .payment-admin-card dl > div { min-width: 0; padding: 7px; border-radius: 7px; background: rgba(46, 105, 128, .06); }
  .payment-admin-card dt { color: #667e88; font-size: 6px; text-transform: uppercase; }
  .payment-admin-card dd { margin: 2px 0 0; overflow-wrap: anywhere; color: #b6cbd3; font-size: 8px; }
  .payment-admin-card p { margin: 0; color: #8aa0a9; font-size: 8px; line-height: 1.45; }
  .payment-admin-summary { grid-template-columns: 1fr 1fr; }
  .payment-admin-summary article { min-height: 76px; padding: 10px; }
  .payment-settings-grid,
  .payment-fiscal-settings > .admin-form-grid { grid-template-columns: 1fr; }
  .payment-settings-grid .wide { grid-column: auto; }
  .payment-endpoints label > div { grid-template-columns: 1fr; }
  .payment-endpoints .mini-button { width: 100%; }
  .payment-journal-filters,
  .vote-provider-list-tools { grid-template-columns: 1fr; }
  .vote-provider-list-tools .mini-button { grid-column: auto; width: 100%; }
  .payment-refund-dialog__shell { padding: 14px; }
  .payment-refund-context { grid-template-columns: 1fr 1fr; }
  .payment-refund-amount { grid-template-columns: minmax(0, 1fr) 34px; gap: 0; }
  .payment-refund-amount .mini-button { grid-column: 1 / -1; margin: 6px 0 0; width: 100%; }
  .payment-refund-dialog__actions { display: grid; grid-template-columns: 1fr; }
  .payment-refund-dialog__actions > *,
  .payment-refund-dialog__actions .form-submit { width: 100%; min-width: 0; }
  .vote-provider-accordion__summary { min-height: 74px; padding: 10px; gap: 7px; }
  .vote-provider-accordion__quick { align-items: flex-start; flex-direction: column; gap: 4px; }
  .vote-provider-accordion__quick > span:first-child { text-align: left; }
  .vote-provider-accordion__body { padding: 0 10px 10px; }
  .vote-provider-accordion__body .vote-admin-provider__meta { grid-template-columns: 1fr 1fr; }
  .admin-form-actions .form-submit,
  .admin-form-actions .mini-button { width: 100%; flex: 1 1 100%; }
  .admin-form-actions .admin-form-hint { flex-basis: 100%; }
}

@media (max-width: 380px) {
  .topbar::before,
  .topbar::after { width: 27%; max-width: calc(50% - 16px); }
  .topbar::before { left: 8px; }
  .topbar::after { right: 8px; }
  .payment-admin-summary,
  .payment-presets,
  .payment-refund-context,
  .payment-admin-card dl { grid-template-columns: 1fr; }
  .vote-provider-accordion__summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .vote-provider-accordion__quick { grid-column: 1 / -1; padding-left: 26px; }
  .vote-provider-accordion__summary > i { grid-row: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .neon-card .card-icon,
  .vote-provider-accordion__summary > i { transition: none !important; }
}

/* FOX Survival v1.14.0 — final payments, refund and responsive polish. */
.settings-switch {
  min-width: 0;
  min-height: 72px;
  padding: 11px;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  border: 1px solid rgba(82, 168, 204, .15);
  border-radius: 9px;
  color: #d6e4e9;
  background: rgba(38, 126, 163, .05);
  cursor: pointer;
}
.settings-switch:hover { border-color: rgba(81, 192, 235, .28); background: rgba(38, 126, 163, .085); }
.admin-form .settings-switch > input,
.settings-switch > input {
  appearance: auto;
  width: 18px !important;
  min-width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 4px;
  box-shadow: none !important;
  background: transparent !important;
  accent-color: #48c8f3;
}
.settings-switch > span { min-width: 0; display: grid; gap: 4px; }
.settings-switch b { color: #dcebef; font-size: 10px; line-height: 1.35; }
.settings-switch small { color: #728b95; font-size: 8px; line-height: 1.45; }
.payment-clear-secret { min-height: 0; }

.payment-refund-dialog[open] { animation: dialogIn .22s var(--ease-smooth); }
.payment-refund-dialog__close {
  position: absolute !important;
  z-index: 4;
  top: 11px !important;
  right: 11px !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center;
  border: 1px solid rgba(255, 113, 105, .22) !important;
  border-radius: 9px !important;
  color: #ff9b94 !important;
  background: rgba(116, 31, 28, .14) !important;
  font-size: 0 !important;
}
.payment-refund-dialog__close:hover { border-color: rgba(255, 113, 105, .48) !important; color: #fff !important; background: rgba(151, 42, 35, .25) !important; }
.payment-refund-dialog__close .icon { width: 18px; height: 18px; }
.payment-refund-dialog__shell > label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: #c9dbe2;
  font-size: 9px;
  font-weight: 850;
}
.payment-refund-dialog__shell > label > small { color: #708791; font-size: 8px; font-weight: 600; line-height: 1.45; }
.payment-refund-dialog__shell input,
.payment-refund-dialog__shell textarea,
.payment-refund-dialog__shell select {
  width: 100%;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid rgba(75, 169, 207, .24);
  border-radius: 8px;
  color: #eef7fa;
  background: rgba(5, 16, 23, .92);
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.payment-refund-dialog__shell textarea { min-height: 82px; resize: vertical; line-height: 1.5; }
.payment-refund-dialog__shell input:focus,
.payment-refund-dialog__shell textarea:focus,
.payment-refund-dialog__shell select:focus { border-color: #42bff2; box-shadow: 0 0 0 3px rgba(42, 174, 231, .11); background: #071a24; }
.payment-refund-amount input { border-radius: 8px 0 0 8px; }
.payment-refund-amount > span { font-size: 10px; font-weight: 900; }
.payment-refund-dialog__actions {
  position: sticky;
  z-index: 2;
  bottom: -18px;
  margin: 0 -18px -18px;
  padding: 12px 18px 18px;
  border-top: 1px solid rgba(94, 160, 187, .12);
  background: linear-gradient(180deg, rgba(2, 9, 14, .84), rgba(2, 9, 14, .99) 26%);
  backdrop-filter: blur(8px);
}
body.payment-dialog-open { overflow: hidden; }
body.payment-dialog-open .back-to-top { opacity: 0 !important; pointer-events: none !important; transform: translateY(12px) !important; }
.admin-section[data-admin-section] { scroll-margin-top: 104px; }

html[data-theme="light"] .settings-switch { color: #284651; border-color: rgba(31, 106, 137, .15); background: rgba(228, 241, 246, .72); }
html[data-theme="light"] .settings-switch:hover { border-color: rgba(31, 130, 171, .28); background: #eef7fa; }
html[data-theme="light"] .settings-switch b { color: #23434f; }
html[data-theme="light"] .settings-switch small { color: #69828c; }
html[data-theme="light"] .payment-refund-dialog__shell > label { color: #294955; }
html[data-theme="light"] .payment-refund-dialog__shell > label > small { color: #6a818b; }
html[data-theme="light"] .payment-refund-dialog__shell input,
html[data-theme="light"] .payment-refund-dialog__shell textarea,
html[data-theme="light"] .payment-refund-dialog__shell select { color: #19343f; border-color: rgba(31, 106, 137, .2); background: #f8fcfd; }
html[data-theme="light"] .payment-refund-dialog__shell input:focus,
html[data-theme="light"] .payment-refund-dialog__shell textarea:focus,
html[data-theme="light"] .payment-refund-dialog__shell select:focus { background: #fff; }
html[data-theme="light"] .payment-refund-dialog__actions { border-color: rgba(31, 106, 137, .13); background: linear-gradient(180deg, rgba(241, 248, 250, .84), rgba(241, 248, 250, .99) 26%); }

@media (max-width: 620px) {
  .settings-switch { min-height: 0; padding: 10px; }
  .payment-refund-dialog { width: calc(100% - 10px); max-height: calc(100dvh - 10px); border-radius: 12px; }
  .payment-refund-dialog__shell { max-height: calc(100dvh - 12px); padding: 13px; gap: 9px; }
  .payment-refund-dialog__head { padding-right: 36px; }
  .payment-refund-dialog__head > span { width: 36px; height: 36px; }
  .payment-refund-dialog__head h3 { font-size: 16px; }
  .payment-refund-dialog__close { top: 8px !important; right: 8px !important; width: 34px !important; min-width: 34px !important; height: 34px !important; min-height: 34px !important; }
  .payment-refund-dialog__actions { bottom: -13px; margin: 0 -13px -13px; padding: 10px 13px 13px; }
  .admin-section[data-admin-section] { scroll-margin-top: 82px; }
}

/* v1.14.0 release-candidate compact grid and sticky-tab offset. */
.admin-form-grid { min-width: 0; display: grid; gap: 10px; }
.admin-root [data-admin-section] { scroll-margin-top: 150px; }
@media (max-width: 840px) { .admin-root [data-admin-section] { scroll-margin-top: 86px; } }

/* Keep the floating navigation control clear of inline action buttons. */
.back-to-top { right: 9px; bottom: 14px; }
@media (max-width: 620px) { .back-to-top { right: 8px; bottom: 10px; } }

/* FOX Survival v1.15.0 — skin resolver, Russian inventory tooltips and compact statistics. */
.game-profile-data { gap: 11px; }
.minecraft-skin-status {
  min-height: 28px;
  max-width: 205px;
  margin: 5px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #66808b;
  font-size: 8px;
  line-height: 1.45;
  text-align: center;
}
.minecraft-player.skin-loaded + .minecraft-skin-status { color: #72c98a; }
.minecraft-player.skin-failed + .minecraft-skin-status { color: #d99a63; }
.minecraft-player.skin-failed .minecraft-skin-fallback { opacity: .72; filter: grayscale(.28); }

.game-statistics {
  min-width: 0;
  padding: 11px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(75,181,229,.14);
  border-radius: 11px;
  background: linear-gradient(145deg,rgba(4,17,24,.76),rgba(2,10,15,.9));
}
.game-statistics__head { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.game-statistics__head > div { min-width: 0; display: grid; gap: 2px; }
.game-statistics__head small { color: #66808b; font-size: 7px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.game-statistics__head b { color: #dcecf2; font-size: 12px; }
.game-statistics__head > span {
  min-width: 0;
  padding: 5px 8px;
  overflow: hidden;
  border: 1px solid rgba(76,185,229,.18);
  border-radius: 99px;
  color: #7fcfeb;
  background: rgba(46,148,190,.06);
  font-size: 8px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.game-stat-grid { grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; }
.game-stat-grid > div { min-height: 57px; padding: 8px 9px; border-radius: 8px; }
.game-stat-grid small { font-size: 7px; }
.game-stat-grid b { overflow-wrap: anywhere; font-size: 14px; }

.profile-snapshot-meta {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1fr);
  gap: 6px;
}
.profile-snapshot-meta > span {
  min-width: 0;
  min-height: 46px;
  padding: 8px 9px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  grid-template-rows: auto auto;
  column-gap: 7px;
  align-content: center;
  border-left: 2px solid rgba(61,205,245,.38);
  background: rgba(24,92,118,.055);
}
.profile-snapshot-meta .icon { width: 14px; height: 14px; grid-row: 1 / 3; align-self: center; color: #65ccef; }
.profile-snapshot-meta small { min-width: 0; color: #637b85; font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.profile-snapshot-meta b { min-width: 0; overflow: hidden; color: #aebfc6; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }

.mc-slot[title] { touch-action: manipulation; }
.mc-slot.icon-failed .mc-item-glyph { display: grid; }

html[data-theme="light"] .game-statistics { border-color: rgba(31,106,137,.15); background: linear-gradient(145deg,rgba(244,250,252,.95),rgba(232,243,247,.92)); }
html[data-theme="light"] .game-statistics__head b { color: #264651; }
html[data-theme="light"] .game-statistics__head > span { color: #247ca0; border-color: rgba(31,106,137,.18); background: rgba(37,140,180,.05); }
html[data-theme="light"] .profile-snapshot-meta > span { border-color: rgba(31,130,171,.35); background: rgba(65,150,184,.06); }
html[data-theme="light"] .profile-snapshot-meta small { color: #6e858e; }
html[data-theme="light"] .profile-snapshot-meta b { color: #36535e; }
html[data-theme="light"] .minecraft-skin-status { color: #66818c; }

@media (max-width: 1280px) {
  .game-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 920px) {
  .profile-snapshot-meta { grid-template-columns: 1fr 1fr; }
  .profile-snapshot-meta > span:first-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .game-profile-character { padding: 14px; }
  .game-stat-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .profile-snapshot-meta { grid-template-columns: 1fr; }
  .profile-snapshot-meta > span:first-child { grid-column: auto; }
}
@media (max-width: 520px) {
  .game-statistics { padding: 8px; }
  .game-statistics__head { align-items: flex-start; flex-direction: column; gap: 6px; }
  .game-stat-grid { grid-template-columns: 1fr 1fr; gap: 5px; }
  .game-stat-grid > div { min-height: 54px; padding: 7px; }
  .profile-snapshot-meta > span { min-height: 43px; }
  .minecraft-skin-status { max-width: 240px; }
}

/* v1.15.0 final contrast corrections for the persistent dark Minecraft surface. */
html[data-theme="light"] .minecraft-inventory .inventory-title b { color: #f2fbff; text-shadow: 0 1px 2px rgba(0,0,0,.72); }
html[data-theme="light"] .minecraft-inventory .inventory-title span { color: #8cff6e; }
html[data-theme="light"] .admin-access-button {
  border-color: rgba(186,42,60,.38);
  color: #a9162b;
  background: linear-gradient(145deg,rgba(255,230,233,.96),rgba(248,207,214,.88));
  box-shadow: 0 5px 15px rgba(118,20,34,.08);
}
html[data-theme="light"] .admin-access-button:hover {
  border-color: rgba(180,30,49,.62);
  color: #8e1022;
  background: linear-gradient(145deg,rgba(255,238,241,.98),rgba(247,196,205,.94));
}


/* FOX Survival v1.16.0 — dark-only compact account/shop workspace */
html { color-scheme: dark; }
html[data-theme="light"] { color-scheme: dark; }
.theme-toggle { display: none !important; }
.page-account .inner-main--workspace,
.page-shop .inner-main--workspace { padding-top: 96px; }
.page-account .account-layout,
.page-shop .shop-layout { margin-top: 0; padding-top: 12px; }
.page-account .inner-hero,
.page-shop .inner-hero { display: none !important; }

.account-guest .play-button { margin-inline: auto; }

.account-summary--compact {
  grid-template-columns: minmax(230px, 1fr) auto minmax(210px, auto) auto;
  gap: 10px 14px;
  padding: 11px 13px;
  min-height: 76px;
}
.account-summary__player { min-width: 0; display: flex; align-items: center; gap: 10px; }
.account-summary--compact .account-avatar { width: 46px; height: 46px; border-radius: 11px; font-size: 19px; }
.account-summary--compact .account-identity { display: grid; align-content: center; gap: 3px; }
.account-summary--compact .account-identity h2 { margin: 0; font-size: 19px; line-height: 1.05; }
.account-summary--compact .account-identity .role-badge { width: max-content; margin: 0; padding: 3px 7px; font-size: 7px; }
.account-summary--compact .account-balance { min-width: 118px; padding: 4px 14px; border: 0; border-left: 1px solid rgba(111,190,225,.14); }
.account-summary--compact .account-balance small { font-size: 7px; }
.account-summary--compact .account-balance b { font-size: 20px; line-height: 1.05; }
.account-summary--compact .account-balance a { font-size: 8px; }
.account-summary--compact .account-security-chips { display: grid; grid-template-columns: repeat(2, minmax(0,auto)); gap: 5px; }
.account-summary--compact .account-security-chips > button {
  min-height: 34px; min-width: 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 6px 9px; border: 1px solid rgba(255,194,62,.22); border-radius: 8px;
  color: #dbc681; background: rgba(88,63,11,.1); font: inherit; font-size: 8px; font-weight: 850; cursor: pointer;
}
.account-summary--compact .account-security-chips > button:hover,
.account-summary--compact .account-security-chips > button:focus-visible { border-color: rgba(76,198,241,.48); color: #a9e9ff; background: rgba(33,127,166,.1); }
.account-summary--compact .account-security-chips > button.is-ok { border-color: rgba(104,230,88,.22); color: #9de796; background: rgba(36,120,37,.07); }
.account-summary--compact .account-security-chips .icon { width: 14px; height: 14px; }
.account-summary--compact .account-summary-actions { gap: 5px; }
.account-summary--compact .account-summary-actions > * { min-height: 34px; padding: 7px 9px; border-radius: 8px; }
.account-summary--compact .account-summary-actions .icon { width: 14px; height: 14px; }
.account-summary--compact .account-technical { grid-column: 1 / -1; padding-top: 5px; }
.account-summary--compact .account-technical summary { display: inline-flex; align-items: center; gap: 5px; }
.account-summary--compact .account-technical summary .icon { width: 12px; height: 12px; }
.account-summary--compact .account-technical:not([open]) { border-top-color: rgba(255,255,255,.035); }

.server-picker select { opacity: 1 !important; cursor: pointer !important; pointer-events: auto !important; }
.server-picker select:disabled { opacity: 1; cursor: pointer; }

@media (max-width: 1120px) {
  .account-summary--compact { grid-template-columns: minmax(220px,1fr) auto auto; }
  .account-summary--compact .account-security-chips { grid-column: 1 / 3; }
  .account-summary--compact .account-summary-actions { grid-column: 3; grid-row: 1 / 3; flex-direction: column; align-items: stretch; }
}
@media (max-width: 760px) {
  .page-account .inner-main--workspace,
  .page-shop .inner-main--workspace { padding-top: 78px; }
  .page-account .account-layout,
  .page-shop .shop-layout { padding-top: 8px; }
  .account-summary--compact { grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
  .account-summary--compact .account-summary__player { grid-column: 1; }
  .account-summary--compact .account-balance { grid-column: 2; grid-row: 1; min-width: 94px; padding: 3px 0 3px 10px; }
  .account-summary--compact .account-security-chips { grid-column: 1 / -1; grid-row: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .account-summary--compact .account-summary-actions { grid-column: 1 / -1; grid-row: auto; flex-direction: row; }
  .account-summary--compact .account-summary-actions > * { flex: 1 1 0; justify-content: center; }
  .account-summary--compact .account-technical { grid-column: 1 / -1; }
}
@media (max-width: 430px) {
  .account-summary--compact { padding: 9px; }
  .account-summary--compact .account-avatar { width: 42px; height: 42px; }
  .account-summary--compact .account-identity h2 { font-size: 17px; }
  .account-summary--compact .account-balance b { font-size: 18px; }
  .account-summary--compact .account-security-chips > button { padding-inline: 6px; font-size: 7.5px; }
  .account-summary--compact .account-summary-actions .admin-access-button span,
  .account-summary--compact .account-summary-actions [data-logout] span { display: inline; }
}

/* FOX Survival v1.19.0 — FOXSkin commerce and game-network item assets. */
.account-skin-library { overflow: visible; }
.skin-library { min-width: 0; display: grid; gap: 14px; }
.skin-library__head { align-items: center; }
.skin-library__head > .mini-button { margin-left: auto; white-space: nowrap; }
.skin-current-card {
  min-width: 0; padding: 15px; display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 18px; align-items: center;
  border: 1px solid rgba(78,196,237,.21); border-radius: 13px;
  background: radial-gradient(circle at 12% 30%,rgba(36,151,197,.14),transparent 30%),linear-gradient(145deg,rgba(4,18,27,.96),rgba(2,9,14,.98));
}
.skin-current-preview { min-height: 235px; display: grid; place-items: center; align-content: center; }
.skin-library-player { margin: 0; }
.skin-current-copy { min-width: 0; display: grid; align-content: center; gap: 8px; }
.skin-current-copy > small:first-child,
.skin-source-card header small,
.skin-history summary small { color: #55cfee; font-size: 7px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.skin-current-copy h3,.skin-source-card h3,.skin-history h3 { margin: 0; color: #effbff; font-size: 18px; }
.skin-current-copy p,.skin-source-card p { margin: 0; color: #77909b; font-size: 10px; line-height: 1.6; }
.skin-status-row { display: flex; flex-wrap: wrap; gap: 6px; }
.status-pill.is-info { border-color: rgba(70,183,232,.35); color: #8bdef7; background: rgba(37,126,165,.11); }
.status-pill.is-warning { border-color: rgba(241,183,60,.34); color: #f3cf74; background: rgba(126,83,13,.1); }
.status-pill.is-error { border-color: rgba(238,78,96,.34); color: #ff8998; background: rgba(139,27,42,.1); }
.status-pill.is-muted { color: #82959d; }
.skin-apply-error { padding: 8px 10px; display: flex; align-items: flex-start; gap: 7px; border: 1px solid rgba(238,78,96,.2); border-radius: 9px; color: #e8a0a9; background: rgba(119,20,33,.08); font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.skin-apply-error .icon { flex: 0 0 auto; width: 14px; height: 14px; color: #ff6074; }
.skin-current-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 3px; }
.skin-current-actions .form-submit { width: auto; min-height: 37px; margin: 0; padding: 8px 13px; }
.skin-current-actions .mini-button { min-height: 37px; }
.skin-offline-note { max-width: 720px; color: #66808a !important; line-height: 1.55; }
.skin-source-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.skin-source-card { min-width: 0; padding: 14px; display: grid; align-content: start; gap: 10px; border: 1px solid rgba(76,183,229,.15); border-radius: 12px; background: rgba(3,13,19,.78); }
.skin-source-card header { display: flex; align-items: center; gap: 10px; }
.skin-source-card header > .icon { width: 28px; height: 28px; padding: 6px; border: 1px solid rgba(66,195,239,.25); border-radius: 8px; color: #57d3f4; background: rgba(39,145,184,.08); }
.skin-source-card header > div { min-width: 0; display: grid; gap: 2px; }
.skin-source-card form { min-width: 0; display: grid; gap: 8px; }
.skin-source-card label { min-width: 0; display: grid; gap: 5px; color: #91a8b1; font-size: 8px; font-weight: 850; letter-spacing: .03em; }
.skin-source-card input,.skin-source-card select { min-width: 0; width: 100%; }
.skin-file-field { position: relative; padding: 10px; border: 1px dashed rgba(67,199,239,.3); border-radius: 9px; background: rgba(28,106,136,.06); cursor: pointer; }
.skin-file-field input { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.skin-file-field > span { display: inline-flex; align-items: center; gap: 7px; color: #a8eaff; font-size: 10px; }
.skin-file-field > span .icon { width: 15px; height: 15px; }
.skin-file-field > small { overflow: hidden; color: #66808a; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.skin-source-card .form-message { min-height: 16px; overflow-wrap: anywhere; }
.skin-history { border: 1px solid rgba(76,183,229,.14); border-radius: 12px; background: rgba(3,12,18,.68); overflow: clip; }
.skin-history > summary { padding: 11px 13px; display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.skin-history > summary::-webkit-details-marker { display: none; }
.skin-history > summary > span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; color: #65d5f3; background: rgba(39,145,184,.08); }
.skin-history > summary > span .icon { width: 15px; height: 15px; }
.skin-history > summary > div { min-width: 0; display: grid; gap: 1px; }
.skin-history > summary > i { margin-left: auto; transition: transform .2s ease; }
.skin-history[open] > summary > i { transform: rotate(180deg); }
.skin-history__body { padding: 0 12px 12px; }
.skin-history-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.skin-history-card { min-width: 0; padding: 8px; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 8px; border: 1px solid rgba(82,165,198,.12); border-radius: 9px; background: rgba(9,26,35,.68); }
.skin-history-card.is-active { border-color: rgba(88,217,102,.25); box-shadow: inset 3px 0 rgba(88,217,102,.5); }
.skin-history-card__preview { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(104,194,227,.15); border-radius: 7px; background: #0b1920; overflow: hidden; }
.skin-history-card__preview img { width: 128px; max-width: none; image-rendering: pixelated; transform: translate(-16px,-16px) scale(1.5); transform-origin: top left; }
.skin-history-card > div:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.skin-history-card b { overflow: hidden; color: #dcecf2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.skin-history-card small,.skin-history-card time { overflow: hidden; color: #67808a; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.skin-history-card .mini-button { min-height: 31px; padding: 6px 8px; }

/* Do not hide item images before the browser has a chance to request them. */
.mc-item-icon { visibility: visible; }
.mc-slot.icon-failed .mc-item-icon { opacity: 0; }
.mc-slot.icon-failed .mc-item-glyph { display: grid; }

@media (max-width: 900px) {
  .skin-current-card { grid-template-columns: 180px minmax(0,1fr); }
  .skin-source-grid { grid-template-columns: 1fr; }
  .skin-history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .skin-library__head { align-items: flex-start; }
  .skin-library__head > .mini-button { width: 100%; margin: 4px 0 0; justify-content: center; }
  .skin-current-card { grid-template-columns: 1fr; gap: 8px; text-align: center; }
  .skin-current-preview { min-height: 215px; }
  .skin-current-copy { justify-items: center; }
  .skin-current-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .skin-current-actions > * { width: 100% !important; justify-content: center; }
  .skin-source-card { padding: 11px; }
  .skin-history-card { grid-template-columns: 42px minmax(0,1fr); }
  .skin-history-card > .mini-button,.skin-history-card > .status-pill { grid-column: 1 / -1; width: 100%; justify-content: center; }
}

/* FOX Survival 1.19.0 — FOXSkin commerce and compact administration. */
.skin-balance-chip {
  margin-left: auto; min-width: 128px; padding: 9px 12px; display: grid; gap: 1px;
  border: 1px solid rgba(71,216,126,.2); border-radius: 11px; background: rgba(16,71,43,.13); text-align: right;
}
.skin-balance-chip small { color: #6f8b96; font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.skin-balance-chip strong { color: #72f29a; font-size: 20px; line-height: 1.05; }
.skin-balance-chip a { color: #62d9ff; font-size: 8px; font-weight: 850; }
.skin-commerce-section {
  min-width: 0; padding: 14px; display: grid; gap: 12px; border: 1px solid rgba(55,176,218,.16);
  border-radius: 14px; background: linear-gradient(135deg,rgba(7,29,39,.72),rgba(2,10,15,.82));
}
.skin-catalog-section { border-color: rgba(180,104,255,.18); background: linear-gradient(135deg,rgba(33,17,48,.42),rgba(2,10,15,.82)); }
.skin-section-heading { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.skin-section-heading > div { min-width: 0; display: grid; gap: 3px; }
.skin-section-heading small { color: #56caed; font-size: 7px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.skin-section-heading h2 { margin: 0; color: #effbff; font-size: 18px; line-height: 1.15; }
.skin-section-heading p { margin: 0; color: #738b96; font-size: 9px; line-height: 1.55; }
.skin-price-badge { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(255,190,62,.28); border-radius: 999px; color: #ffd35e; background: rgba(151,102,8,.13); font-size: 11px; font-weight: 950; white-space: nowrap; }
.skin-file-field { position: relative; min-width: 0; padding: 10px; display: grid !important; grid-template-columns: minmax(0,auto) minmax(0,1fr); align-items: center; gap: 8px; border: 1px dashed rgba(73,202,242,.25); border-radius: 10px; background: rgba(21,88,114,.08); cursor: pointer; }
.skin-file-field input { position: absolute; width: 1px !important; height: 1px; opacity: 0; pointer-events: none; }
.skin-file-field > span { min-height: 32px; padding: 7px 10px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(73,202,242,.3); border-radius: 8px; color: #70def8; background: rgba(25,119,153,.13); font-size: 8px; font-weight: 900; }
.skin-file-field > small { min-width: 0; overflow: hidden; color: #78919b; text-overflow: ellipsis; white-space: nowrap; }
.skin-catalog-grid { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.skin-catalog-card { min-width: 0; overflow: hidden; display: grid; grid-template-rows: 180px minmax(0,1fr); border: 1px solid rgba(111,89,181,.2); border-radius: 13px; background: rgba(4,13,20,.86); }
.skin-catalog-card.is-active { border-color: rgba(62,218,142,.48); box-shadow: inset 0 0 0 1px rgba(62,218,142,.1); }
.skin-catalog-card__preview { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 35%,rgba(95,52,142,.25),transparent 58%),rgba(5,17,24,.85); }
.skin-catalog-card__preview::after { content: ''; position: absolute; inset: auto 9% 10px; height: 1px; background: linear-gradient(90deg,transparent,rgba(105,221,250,.35),transparent); }
.skin-catalog-card__preview img { width: min(132px,78%); height: min(164px,88%); object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 16px 18px rgba(0,0,0,.32)); }
.skin-catalog-card__body { min-width: 0; padding: 11px; display: grid; align-content: start; gap: 8px; }
.skin-catalog-card__title { display: flex; align-items: center; justify-content: space-between; gap: 7px; }
.skin-catalog-card__title h3 { min-width: 0; margin: 0; color: #effbff; font-size: 14px; overflow-wrap: anywhere; }
.skin-catalog-card__body p { min-height: 32px; margin: 0; color: #748b94; font-size: 8px; line-height: 1.5; }
.skin-catalog-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #79929c; font-size: 8px; }
.skin-catalog-card__meta strong { color: #72ef9b; font-size: 11px; }
.skin-catalog-card .form-submit { min-height: 36px; margin: auto 0 0; padding: 8px 10px; font-size: 8px; }
.skin-purchase-history { overflow: hidden; border: 1px solid rgba(64,182,222,.14); border-radius: 13px; background: rgba(2,10,15,.78); }
.skin-purchase-history > summary { padding: 11px 13px; display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.skin-purchase-history > summary::-webkit-details-marker { display: none; }
.skin-purchase-history > summary > span { color: #53ccea; }
.skin-purchase-history > summary > div { min-width: 0; display: grid; gap: 1px; }
.skin-purchase-history > summary small { color: #5f7a85; font-size: 7px; text-transform: uppercase; letter-spacing: .12em; }
.skin-purchase-history > summary h3 { margin: 0; color: #eafaff; font-size: 13px; }
.skin-purchase-history > summary > i { margin-left: auto; color: #67828d; transition: transform .18s ease; }
.skin-purchase-history[open] > summary > i { transform: rotate(180deg); }
.skin-purchase-history__body { padding: 0 12px 12px; display: grid; gap: 5px; }
.skin-purchase-row { min-width: 0; padding: 8px 9px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 9px; border: 1px solid rgba(57,161,197,.11); border-radius: 8px; background: rgba(7,24,32,.58); }
.skin-purchase-row span { min-width: 0; display: grid; gap: 2px; }
.skin-purchase-row b { color: #dff7ff; font-size: 9px; }
.skin-purchase-row small { color: #617c87; font-size: 7px; }
.skin-purchase-row strong { color: #75ee9d; font-size: 10px; }
.skin-purchase-row em { color: #78919a; font-size: 8px; font-style: normal; }
.skin-apply-error { padding: 8px; display: flex; align-items: flex-start; gap: 7px; border: 1px solid rgba(255,91,104,.19); border-radius: 8px; color: #ff8792; background: rgba(122,25,37,.12); font-size: 8px; }
.skin-offline-note { color: #58727c !important; line-height: 1.5; }

.skin-admin-workspace { min-width: 0; display: grid; gap: 12px; }
.skin-admin-summary { min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.skin-admin-summary article { min-width: 0; padding: 11px; display: grid; grid-template-columns: auto minmax(0,1fr); grid-template-areas: 'icon label' 'icon value'; align-items: center; gap: 2px 9px; border: 1px solid rgba(61,181,220,.15); border-radius: 11px; background: rgba(4,18,25,.82); }
.skin-admin-summary article > span { grid-area: icon; width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid rgba(68,202,241,.23); border-radius: 9px; color: #5bd4f2; background: rgba(30,123,154,.11); }
.skin-admin-summary article small { grid-area: label; color: #627d88; font-size: 7px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.skin-admin-summary article strong { grid-area: value; color: #ebfaff; font-size: 17px; line-height: 1.1; }
.skin-admin-layout { min-width: 0; display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 12px; }
.skin-admin-layout > * { min-width: 0; }
.skin-admin-switches { min-width: 0; display: grid; gap: 8px; }
.skin-admin-price-grid { margin-top: 9px; }
.skin-admin-readonly { display: flex; flex-wrap: wrap; gap: 8px; }
.skin-admin-readonly span { padding: 8px 10px; border: 1px solid rgba(67,179,216,.14); border-radius: 8px; color: #8198a2; font-size: 9px; }
.skin-admin-readonly b { color: #e8f9ff; }
.skin-admin-file { margin-bottom: 3px; }
.skin-admin-featured { margin-top: 2px; }
.skin-admin-catalog-grid { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.skin-admin-card { min-width: 0; overflow: hidden; border: 1px solid rgba(71,186,224,.15); border-radius: 12px; background: rgba(3,14,20,.87); }
.skin-admin-card.is-inactive { opacity: .72; }
.skin-admin-card__preview { position: relative; min-height: 154px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle,rgba(51,126,158,.16),transparent 62%); }
.skin-admin-card__preview img { width: 108px; height: 138px; object-fit: contain; image-rendering: pixelated; }
.skin-admin-card__preview > div { position: absolute; left: 8px; right: 8px; bottom: 8px; display: flex; flex-wrap: wrap; gap: 4px; }
.skin-admin-card__form { min-width: 0; padding: 10px; display: grid; gap: 7px; }
.skin-admin-card__form label { min-width: 0; display: grid; gap: 4px; color: #7d959f; font-size: 7px; font-weight: 850; }
.skin-admin-card__form input,.skin-admin-card__form select,.skin-admin-card__form textarea { min-width: 0; width: 100%; }
.skin-admin-inline-fields { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) minmax(100px,.55fr); gap: 7px; }
.skin-admin-card__toggles { display: flex; flex-wrap: wrap; gap: 8px; color: #8da3ab; font-size: 8px; }
.skin-admin-card__toggles label { display: flex; align-items: center; gap: 5px; }
.skin-admin-card__toggles input { width: auto; }
.skin-admin-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.skin-admin-card__actions .mini-button { min-height: 32px; }
.skin-admin-error { display: block; max-width: 260px; margin-top: 4px; color: #ff8792; white-space: normal; overflow-wrap: anywhere; }
.skin-admin-purchases .order-table td small { display: block; margin-top: 2px; color: #617b85; font-size: 7px; }

@media (max-width: 1100px) {
  .skin-catalog-grid,.skin-admin-catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .skin-admin-layout { grid-template-columns: 1fr; }
  .skin-admin-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .skin-library__head { display: grid; grid-template-columns: auto minmax(0,1fr); }
  .skin-balance-chip { grid-column: 1 / -1; width: 100%; margin: 2px 0 0; text-align: left; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
  .skin-balance-chip small,.skin-balance-chip strong { grid-column: 1; }
  .skin-balance-chip a { grid-column: 2; grid-row: 1 / span 2; }
  .skin-section-heading { display: grid; }
  .skin-price-badge { justify-self: start; }
  .skin-catalog-grid,.skin-admin-catalog-grid { grid-template-columns: 1fr; }
  .skin-catalog-card { grid-template-columns: 118px minmax(0,1fr); grid-template-rows: auto; }
  .skin-catalog-card__preview { min-height: 100%; }
  .skin-catalog-card__preview img { width: 88px; height: 126px; }
  .skin-purchase-row { grid-template-columns: minmax(0,1fr) auto; }
  .skin-purchase-row em { grid-column: 1 / -1; }
  .skin-admin-summary { grid-template-columns: 1fr 1fr; }
  .skin-admin-inline-fields { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 400px) {
  .skin-commerce-section { padding: 10px; }
  .skin-file-field { grid-template-columns: 1fr; }
  .skin-file-field > small { white-space: normal; overflow-wrap: anywhere; }
  .skin-catalog-card { grid-template-columns: 96px minmax(0,1fr); }
  .skin-catalog-card__preview img { width: 72px; height: 108px; }
  .skin-admin-summary { grid-template-columns: 1fr; }
  .skin-admin-inline-fields { grid-template-columns: 1fr; }
}

/* ==========================================================================
   FOX Survival 1.20.0 — доменная почта в админ-панели
   ========================================================================== */
.mail-manager-mount,
.mail-admin-workspace,
.mail-admin-panel,
.mail-client-host,
.mail-client-layout,
.mail-main { min-width: 0; }

.mail-admin-panel {
  padding: 16px;
  display: grid;
  gap: 13px;
  overflow: hidden;
}
.mail-admin-heading {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.mail-admin-heading > div { min-width: 0; }
.mail-admin-heading h2 { margin: 2px 0 4px; font-size: clamp(19px,2vw,27px); }
.mail-admin-heading p:last-child { margin: 0; color: #78909b; font-size: 9px; line-height: 1.55; }

/* Адреса — отдельные горизонтальные вкладки в стиле шапки сайта. */
.mail-account-tabs {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 7px;
  padding: 5px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(73,181,227,.35) transparent;
  border: 1px solid rgba(73,181,227,.17);
  border-radius: 13px;
  background: rgba(0,7,12,.66);
}
.mail-account-tabs::-webkit-scrollbar { height: 5px; }
.mail-account-tabs::-webkit-scrollbar-thumb { border-radius: 9px; background: rgba(73,181,227,.28); }
.mail-account-tab {
  --mail-accent: var(--blue);
  position: relative;
  flex: 0 0 auto;
  min-width: 214px;
  min-height: 56px;
  padding: 8px 12px 8px 32px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(94,171,207,.14);
  border-radius: 10px;
  color: #a9bbc4;
  background: rgba(5,17,24,.68);
  cursor: pointer;
  text-align: left;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.mail-account-tab::after {
  content: "";
  position: absolute;
  left: 13%;
  right: 13%;
  bottom: -1px;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--mail-accent);
  box-shadow: 0 0 13px var(--mail-accent);
  opacity: 0;
  transform: scaleX(.45);
  transition: opacity .18s ease, transform .18s ease;
}
.mail-account-tab:hover { transform: translateY(-1px); border-color: color-mix(in srgb,var(--mail-accent) 44%,transparent); color: #eaf8ff; }
.mail-account-tab.active {
  border-color: color-mix(in srgb,var(--mail-accent) 55%,transparent);
  color: #fff;
  background: color-mix(in srgb,var(--mail-accent) 9%,rgba(5,17,24,.82));
  box-shadow: inset 0 0 22px color-mix(in srgb,var(--mail-accent) 4%,transparent), 0 9px 25px rgba(0,0,0,.2);
}
.mail-account-tab.active::after { opacity: 1; transform: scaleX(1); }
.mail-account-tab > span:not(.mail-account-tab__status) { min-width: 0; display: grid; gap: 3px; }
.mail-account-tab b { min-width: 0; overflow: hidden; color: inherit; font-size: 10px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.mail-account-tab small { min-width: 0; overflow: hidden; color: #647e89; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.mail-account-tab em {
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--mail-accent) 42%,transparent);
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb,var(--mail-accent) 22%,rgba(0,0,0,.35));
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}
.mail-account-tab__status {
  position: absolute;
  left: 13px;
  top: 50%;
  width: 8px;
  height: 8px;
  transform: translateY(-50%);
  border: 2px solid rgba(1,8,12,.9);
  border-radius: 50%;
  background: #64757d;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
}
.mail-account-tab__status.is-ready { background: var(--green); box-shadow: 0 0 10px rgba(115,255,79,.7); }
.mail-account-tab__status.is-error { background: var(--red); box-shadow: 0 0 10px rgba(255,57,75,.7); }
.mail-account-tab__status.is-pending { background: var(--gold); box-shadow: 0 0 10px rgba(255,200,60,.55); }
.mail-account-tab.accent-red,.mail-sidebar__avatar.accent-red { --mail-accent: var(--red); }
.mail-account-tab.accent-blue,.mail-sidebar__avatar.accent-blue { --mail-accent: var(--blue); }
.mail-account-tab.accent-green,.mail-sidebar__avatar.accent-green { --mail-accent: var(--green); }
.mail-account-tab.accent-gold,.mail-sidebar__avatar.accent-gold { --mail-accent: var(--gold); }
.mail-account-tab.accent-purple,.mail-sidebar__avatar.accent-purple { --mail-accent: var(--purple); }
.mail-account-tab.accent-cyan,.mail-sidebar__avatar.accent-cyan { --mail-accent: var(--cyan); }

.mail-client-host {
  position: relative;
  z-index: 1;
  min-height: 610px;
  overflow: hidden;
  border: 1px solid rgba(69,166,207,.17);
  border-radius: 14px;
  background: rgba(1,7,11,.76);
}
.mail-client-layout {
  min-height: 610px;
  display: grid;
  grid-template-columns: 228px minmax(0,1fr);
}
.mail-sidebar {
  min-width: 0;
  padding: 13px 11px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-right: 1px solid rgba(76,172,213,.14);
  background: linear-gradient(180deg,rgba(7,23,31,.82),rgba(2,10,15,.94));
}
.mail-sidebar__identity {
  min-width: 0;
  padding: 4px 4px 9px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(74,155,191,.12);
}
.mail-sidebar__avatar {
  --mail-accent: var(--blue);
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--mail-accent) 45%,transparent);
  border-radius: 10px;
  color: #fff;
  background: color-mix(in srgb,var(--mail-accent) 13%,rgba(0,0,0,.3));
  box-shadow: inset 0 0 15px color-mix(in srgb,var(--mail-accent) 5%,transparent);
  font-size: 12px;
  font-weight: 1000;
}
.mail-sidebar__identity > div { min-width: 0; display: grid; gap: 2px; }
.mail-sidebar__identity b,.mail-sidebar__identity small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-sidebar__identity b { color: #edfaff; font-size: 10px; }
.mail-sidebar__identity small { color: #66818c; font-size: 7px; }
.mail-compose-button {
  min-height: 42px;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(54,207,239,.38);
  border-radius: 9px;
  color: #bcf4ff;
  background: linear-gradient(180deg,rgba(29,144,183,.18),rgba(6,55,74,.18));
  cursor: pointer;
  font-size: 9px;
  font-weight: 950;
  text-transform: uppercase;
  box-shadow: inset 0 0 18px rgba(54,207,239,.035);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.mail-compose-button:hover { transform: translateY(-1px); border-color: rgba(82,222,249,.68); background: rgba(27,134,171,.24); }
.mail-readonly-note { min-height: 39px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(127,145,153,.15); border-radius: 9px; color: #718791; background: rgba(55,69,76,.07); font-size: 8px; }
.mail-folder-list { min-width: 0; display: grid; gap: 4px; }
.mail-folder-button {
  min-width: 0;
  min-height: 38px;
  padding: 7px 9px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #80949e;
  background: transparent;
  cursor: pointer;
  text-align: left;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.mail-folder-button .icon { width: 15px; height: 15px; color: #5d7b89; }
.mail-folder-button span { min-width: 0; overflow: hidden; font-size: 9px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.mail-folder-button em { min-width: 21px; padding: 3px 5px; border-radius: 999px; color: #9bdcf2; background: rgba(42,151,191,.12); font-size: 7px; font-style: normal; font-weight: 950; text-align: center; }
.mail-folder-button:hover:not(:disabled) { transform: translateX(2px); color: #d9f4ff; background: rgba(62,173,215,.07); }
.mail-folder-button.active { border-color: rgba(55,188,232,.27); color: #dff9ff; background: rgba(25,128,164,.16); box-shadow: inset 3px 0 #43d6ef; }
.mail-folder-button.active .icon { color: #55d9f2; }
.mail-folder-button:disabled { opacity: .36; cursor: not-allowed; }
.mail-sidebar__status {
  margin-top: auto;
  padding: 9px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 8px;
  border: 1px solid rgba(86,161,192,.11);
  border-radius: 9px;
  background: rgba(4,15,20,.52);
}
.mail-sidebar__status > span { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: var(--red); box-shadow: 0 0 8px rgba(255,57,75,.55); }
.mail-sidebar__status.is-ready > span { background: var(--green); box-shadow: 0 0 8px rgba(115,255,79,.55); }
.mail-sidebar__status p { min-width: 0; margin: 0; display: grid; gap: 2px; }
.mail-sidebar__status b { color: #9eb3bd; font-size: 7px; text-transform: uppercase; letter-spacing: .06em; }
.mail-sidebar__status small { overflow: hidden; color: #566f79; font-size: 6px; line-height: 1.4; overflow-wrap: anywhere; }

.mail-main {
  min-height: 610px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: radial-gradient(circle at 75% 0,rgba(39,135,175,.055),transparent 34%),rgba(2,9,13,.7);
}
.mail-main-loading { flex: 1; min-height: 320px; display: flex; align-items: center; justify-content: center; gap: 10px; color: #718a95; font-size: 9px; }
.mail-main-toolbar {
  min-width: 0;
  min-height: 70px;
  padding: 11px 13px;
  display: grid;
  grid-template-columns: minmax(140px,auto) minmax(230px,1fr) auto;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(68,161,201,.14);
  background: rgba(3,13,18,.72);
}
.mail-title-block { min-width: 0; display: grid; gap: 1px; }
.mail-title-block h3 { min-width: 0; margin: 0; overflow: hidden; color: #eefbff; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.mail-title-block > span { color: #5e7782; font-size: 7px; }
.mail-search {
  min-width: 0;
  height: 38px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 7px;
  padding-left: 10px;
  border: 1px solid rgba(70,166,208,.18);
  border-radius: 9px;
  background: rgba(1,8,12,.7);
}
.mail-search > .icon { color: #5d7e8c; }
.mail-search input { min-width: 0; width: 100%; height: 100%; border: 0; outline: 0; color: #e8f8ff; background: transparent; font-size: 9px; }
.mail-search input::placeholder { color: #49616c; }
.mail-search button { width: 36px; height: 100%; display: grid; place-items: center; border: 0; border-left: 1px solid rgba(66,159,199,.13); color: #70d7f2; background: rgba(31,124,160,.08); cursor: pointer; }
.mail-search:focus-within { border-color: rgba(67,201,241,.48); box-shadow: 0 0 0 2px rgba(40,153,194,.07); }
.mail-list-content { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(65,160,200,.3) transparent; }
.mail-message-list { min-width: 0; display: grid; }
.mail-message-row {
  min-width: 0;
  min-height: 62px;
  padding: 7px 13px 7px 8px;
  display: grid;
  grid-template-columns: 30px minmax(125px,.72fr) minmax(230px,1.5fr) minmax(92px,.45fr);
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid rgba(67,150,185,.1);
  color: #9bb0ba;
  background: rgba(4,15,21,.2);
  cursor: pointer;
  outline: none;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}
.mail-message-row:hover,.mail-message-row:focus-visible { z-index: 1; border-color: rgba(65,192,234,.22); background: rgba(22,92,119,.1); }
.mail-message-row.is-unread { color: #e3f7ff; background: rgba(17,78,103,.13); box-shadow: inset 3px 0 #3ad1ef; }
.mail-star-button {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 8px;
  color: #536f7b;
  background: transparent;
  cursor: pointer;
}
.mail-star-button:hover,.mail-star-button.active { color: var(--gold); background: rgba(255,200,60,.07); }
.mail-star-button.active .icon { fill: currentColor; }
.mail-star-button.is-readonly { cursor: default; }
.mail-star-button.is-readonly:hover { color: #536f7b; background: transparent; }
.mail-star-button.is-readonly.active:hover { color: var(--gold); background: rgba(255,200,60,.07); }
.mail-message-correspondent,.mail-message-subject,.mail-message-meta { min-width: 0; }
.mail-message-correspondent { display: grid; gap: 2px; }
.mail-message-correspondent b { overflow: hidden; color: inherit; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mail-message-correspondent small { color: #526c77; font-size: 6px; text-transform: uppercase; letter-spacing: .08em; }
.mail-message-subject { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; }
.mail-message-subject > b { min-width: 0; overflow: hidden; color: inherit; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.mail-message-subject > span { display: flex; align-items: center; gap: 5px; color: #66808c; }
.mail-message-subject > span .icon { width: 12px; height: 12px; }
.mail-message-subject em { padding: 3px 5px; border-radius: 999px; color: #d3c6ff; background: rgba(148,94,226,.13); font-size: 6px; font-style: normal; font-weight: 900; }
.mail-message-meta { display: grid; justify-items: end; gap: 2px; }
.mail-message-meta time { color: #879da7; font-size: 8px; white-space: nowrap; }
.mail-message-meta small { color: #506a75; font-size: 6px; }
.mail-pagination { min-height: 51px; padding: 8px 13px; display: flex; align-items: center; justify-content: center; gap: 13px; border-top: 1px solid rgba(65,157,197,.13); background: rgba(2,11,16,.83); }
.mail-pagination > span { color: #66808c; font-size: 8px; }
.mail-pagination b { color: #d8f3ff; }

.mail-message-actions {
  min-width: 0;
  padding: 9px 11px;
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(65,157,197,.13);
  background: rgba(3,13,18,.79);
  scrollbar-width: thin;
}
.mail-message-actions .mini-button { flex: 0 0 auto; }
.mail-message-actions .mini-button.active { color: var(--gold); border-color: rgba(255,200,60,.35); }
.mail-actions-spacer { flex: 1 1 auto; min-width: 12px; }
.mail-message-view { flex: 1; min-height: 0; padding: 18px; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(65,160,200,.3) transparent; }
.mail-message-view > header { min-width: 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid rgba(68,155,190,.12); }
.mail-message-view > header > time { flex: 0 0 auto; color: #687f89; font-size: 8px; }
.mail-message-view__subject { min-width: 0; }
.mail-message-view__subject h3 { margin: 2px 0 7px; color: #f1fbff; font-size: clamp(17px,2vw,23px); overflow-wrap: anywhere; }
.mail-message-view__subject > div { display: flex; flex-wrap: wrap; gap: 5px; }
.mail-message-addresses { margin: 12px 0 0; display: grid; gap: 5px; }
.mail-message-addresses > div { min-width: 0; display: grid; grid-template-columns: 54px minmax(0,1fr); align-items: baseline; gap: 8px; }
.mail-message-addresses dt { color: #586f79; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.mail-message-addresses dd { min-width: 0; margin: 0; color: #9fb5bf; font-size: 9px; overflow-wrap: anywhere; }
.mail-message-body {
  min-height: 180px;
  margin: 18px 0 0;
  padding: 17px;
  overflow: visible;
  border: 1px solid rgba(70,159,198,.12);
  border-radius: 11px;
  color: #cadbe2;
  background: rgba(1,8,12,.65);
  font-family: Inter,"Segoe UI",Arial,sans-serif;
  font-size: 10px;
  line-height: 1.72;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.mail-attachments { margin-top: 13px; padding: 12px; border: 1px solid rgba(69,165,204,.12); border-radius: 11px; background: rgba(6,22,29,.46); }
.mail-attachments h4 { margin: 0 0 9px; display: flex; align-items: center; gap: 7px; color: #bfefff; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.mail-attachments h4 span { min-width: 19px; padding: 2px 5px; border-radius: 999px; color: #79dff7; background: rgba(52,170,209,.12); font-size: 7px; text-align: center; }
.mail-attachments > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.mail-attachment { min-width: 0; min-height: 54px; padding: 9px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 9px; border: 1px solid rgba(70,174,214,.15); border-radius: 9px; color: #73d8f1; background: rgba(20,83,105,.08); transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.mail-attachment:hover { transform: translateY(-1px); border-color: rgba(76,208,244,.4); background: rgba(25,119,151,.13); }
.mail-attachment > span { min-width: 0; display: grid; gap: 2px; }
.mail-attachment b,.mail-attachment small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-attachment b { color: #dff8ff; font-size: 8px; }
.mail-attachment small { color: #657f8a; font-size: 6px; }
.mail-attachment.is-disabled { color: #64757c; opacity: .65; }
.mail-edit-draft { margin-top: 13px; }

.mail-compose-header { min-width: 0; min-height: 69px; padding: 10px 13px; display: flex; align-items: center; gap: 11px; border-bottom: 1px solid rgba(68,158,197,.13); background: rgba(3,13,18,.76); }
.mail-compose-header > div { min-width: 0; }
.mail-compose-header h3 { margin: 1px 0 0; color: #effbff; font-size: 17px; }
.mail-compose-form { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.mail-compose-grid { flex: 1; min-height: 0; padding: 14px; display: grid; align-content: start; gap: 10px; overflow: auto; }
.mail-compose-grid > label,.mail-compose-copies label { min-width: 0; display: grid; gap: 5px; color: #7f969f; font-size: 7px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.mail-compose-grid input,.mail-compose-grid textarea { width: 100%; min-width: 0; border: 1px solid rgba(65,164,205,.18); border-radius: 8px; outline: 0; color: #e9f8ff; background: rgba(1,8,12,.69); font-size: 9px; text-transform: none; letter-spacing: normal; }
.mail-compose-grid input { min-height: 39px; padding: 8px 10px; }
.mail-compose-grid textarea { min-height: 250px; padding: 11px; resize: vertical; line-height: 1.65; }
.mail-compose-grid input:focus,.mail-compose-grid textarea:focus { border-color: rgba(65,202,242,.52); box-shadow: 0 0 0 2px rgba(48,166,207,.07); }
.mail-compose-copies { border: 1px solid rgba(65,154,192,.11); border-radius: 8px; background: rgba(6,21,28,.42); }
.mail-compose-copies > summary { padding: 9px 10px; color: #75909b; cursor: pointer; font-size: 8px; font-weight: 850; list-style: none; }
.mail-compose-copies > summary::-webkit-details-marker { display: none; }
.mail-compose-copies > div { padding: 0 10px 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mail-compose-body-label { min-height: 0; }
.mail-file-picker {
  position: relative;
  min-height: 58px;
  padding: 10px 12px;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  border: 1px dashed rgba(70,191,231,.31);
  border-radius: 9px;
  color: #70d8f2 !important;
  background: rgba(24,105,134,.07);
  cursor: pointer;
}
.mail-file-picker > .icon { width: 21px; height: 21px; }
.mail-file-picker > span { min-width: 0; display: grid; gap: 2px; }
.mail-file-picker b { color: #cceff8; font-size: 8px; }
.mail-file-picker small { color: #607985; font-size: 7px; text-transform: none; letter-spacing: normal; }
.mail-file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.mail-selected-files { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.mail-selected-files > span { min-width: 0; padding: 7px 8px; display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 2px 7px; border: 1px solid rgba(72,166,205,.13); border-radius: 8px; background: rgba(6,22,29,.5); }
.mail-selected-files > span .icon { grid-row: 1 / span 2; color: #69d3ef; }
.mail-selected-files b,.mail-selected-files small { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-selected-files b { color: #d8f3fb; font-size: 7px; }
.mail-selected-files small { color: #5c737d; font-size: 6px; }
.mail-selected-files > em { grid-column: 1 / -1; color: #6f8792; font-size: 7px; font-style: normal; }
.mail-selected-files > em.is-error { color: #ff7c89; }
.mail-draft-attachment-warning { margin: 0; }
.mail-compose-actions { min-height: 59px; padding: 9px 13px; display: flex; align-items: center; gap: 7px; border-top: 1px solid rgba(67,155,195,.13); background: rgba(2,10,15,.9); }
.mail-compose-actions .form-message { min-width: 0; margin: 0 0 0 auto; text-align: right; }

.mail-empty-state,.mail-account-error {
  min-height: 300px;
  padding: 28px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 9px;
  color: #708893;
  text-align: center;
}
.mail-empty-state > .icon,.mail-account-error > .icon { width: 42px; height: 42px; color: #4fbddf; }
.mail-empty-state h3,.mail-account-error h3 { margin: 0; color: #dff7ff; font-size: 17px; }
.mail-empty-state p,.mail-account-error p { max-width: 620px; margin: 0; color: #6f8792; font-size: 9px; line-height: 1.6; }
.mail-empty-state code { color: #7ddff5; }
.mail-empty-state ol { max-width: 650px; margin: 5px auto; padding-left: 24px; display: grid; gap: 6px; color: #879aa3; font-size: 9px; line-height: 1.5; text-align: left; }
.mail-empty-state.is-error > .icon,.mail-account-error > .icon { color: var(--red); }
.mail-empty-state.is-config > .icon { color: var(--gold); }
.mail-account-error { grid-template-columns: auto minmax(0,560px); text-align: left; }
.mail-account-error > div { display: grid; gap: 8px; }

/* SMTP managed by config/mail.local.php: safe read-only summary. */
.security-local-mail-config { display: grid; gap: 9px; }
.security-local-mail-config .security-notice { margin: 0; }
.security-local-mail-config code { color: #8ce6fa; }
.security-local-mail-grid { min-width: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.security-local-mail-grid article { min-width: 0; padding: 10px; display: grid; gap: 3px; border: 1px solid rgba(69,165,203,.13); border-radius: 9px; background: rgba(4,18,24,.58); }
.security-local-mail-grid small { color: #5e7984; font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.security-local-mail-grid b,.security-local-mail-grid span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.security-local-mail-grid b { color: #d9f5ff; font-size: 8px; }
.security-local-mail-grid span { color: #718a94; font-size: 7px; }

@media (max-width: 1120px) {
  .mail-client-layout { grid-template-columns: 208px minmax(0,1fr); }
  .mail-message-row { grid-template-columns: 30px minmax(110px,.65fr) minmax(190px,1.35fr) minmax(86px,.42fr); }
  .mail-attachments > div,.mail-selected-files { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .security-local-mail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .mail-admin-panel { padding: 11px; }
  .mail-account-tab { min-width: 190px; }
  .mail-client-layout { grid-template-columns: 1fr; }
  .mail-sidebar { padding: 10px; border-right: 0; border-bottom: 1px solid rgba(76,172,213,.14); }
  .mail-sidebar__identity { grid-template-columns: auto minmax(0,1fr); }
  .mail-compose-button { max-width: 260px; }
  .mail-folder-list { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: thin; }
  .mail-folder-button { flex: 0 0 auto; min-width: 126px; box-shadow: none; }
  .mail-folder-button.active { box-shadow: inset 0 -2px #43d6ef; }
  .mail-sidebar__status { display: none; }
  .mail-main,.mail-client-host,.mail-client-layout { min-height: 560px; }
  .mail-main-toolbar { grid-template-columns: minmax(120px,.55fr) minmax(200px,1fr) auto; }
}

@media (max-width: 620px) {
  .mail-admin-heading { align-items: center; }
  .mail-admin-heading p:last-child { display: none; }
  .mail-account-tabs { margin-inline: -2px; }
  .mail-account-tab { min-width: 174px; min-height: 52px; }
  .mail-main-toolbar { grid-template-columns: minmax(0,1fr) auto; }
  .mail-title-block { grid-column: 1; }
  .mail-search { grid-column: 1 / -1; grid-row: 2; }
  .mail-main-toolbar > .mini-button { grid-column: 2; grid-row: 1; }
  .mail-message-row {
    min-height: 76px;
    grid-template-columns: 28px minmax(0,1fr) auto;
    grid-template-areas: "star person meta" "star subject subject";
    align-items: center;
  }
  .mail-star-button { grid-area: star; }
  .mail-message-correspondent { grid-area: person; }
  .mail-message-subject { grid-area: subject; }
  .mail-message-meta { grid-area: meta; }
  .mail-message-correspondent small,.mail-message-meta small { display: none; }
  .mail-message-subject > b { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  .mail-message-actions { padding: 8px; }
  .mail-actions-spacer { display: none; }
  .mail-message-view { padding: 12px; }
  .mail-message-view > header { display: grid; }
  .mail-message-addresses > div { grid-template-columns: 43px minmax(0,1fr); }
  .mail-message-body { padding: 12px; font-size: 9px; }
  .mail-attachments > div,.mail-selected-files { grid-template-columns: 1fr; }
  .mail-compose-copies > div { grid-template-columns: 1fr; }
  .mail-compose-grid { padding: 11px; }
  .mail-compose-grid textarea { min-height: 220px; }
  .mail-compose-actions { flex-wrap: wrap; }
  .mail-compose-actions .form-message { width: 100%; margin-left: 0; text-align: left; }
  .mail-pagination { justify-content: space-between; }
  .mail-pagination > span { display: none; }
  .security-local-mail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 410px) {
  .mail-admin-panel { padding: 8px; }
  .mail-admin-heading h2 { font-size: 18px; }
  .mail-account-tab { min-width: 158px; padding-right: 8px; }
  .mail-account-tab small { font-size: 7px; }
  .mail-sidebar { padding: 8px; }
  .mail-folder-button { min-width: 115px; }
  .mail-message-row { padding-right: 8px; }
  .mail-message-view { padding: 9px; }
  .mail-compose-header { padding-inline: 9px; }
  .mail-compose-actions { padding-inline: 9px; }
}

/* FOX Survival 1.22.0 — public seller details and payment information */
.legal-main { padding-top: 18px; }
.legal-intro { display:flex; align-items:center; gap:18px; padding:20px 22px; margin-bottom:16px; overflow:hidden; }
.legal-intro__icon { width:50px; height:50px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(80,215,255,.35); border-radius:14px; background:linear-gradient(145deg,rgba(16,95,123,.38),rgba(4,18,25,.72)); color:#65ddff; box-shadow:0 0 32px rgba(43,191,232,.14); }
.legal-intro__icon .icon { width:25px; height:25px; }
.legal-intro h1 { margin:2px 0 5px; font-size:clamp(24px,3vw,40px); line-height:1; }
.legal-intro p:last-child { margin:0; color:var(--muted); max-width:820px; }
.legal-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.legal-card { padding:18px; min-width:0; }
.legal-card > header { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.legal-card > header > span { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(90,205,240,.22); border-radius:11px; background:rgba(9,31,42,.7); color:#72ddff; }
.legal-card > header .icon { width:19px; height:19px; }
.legal-card > header small { display:block; color:var(--muted); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.legal-card > header h2 { margin:2px 0 0; font-size:18px; line-height:1.2; overflow-wrap:anywhere; }
.legal-card > p { color:var(--muted); }
.legal-details { margin:0; display:grid; gap:7px; }
.legal-details > div { display:grid; grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr); gap:12px; align-items:start; padding:9px 10px; border:1px solid rgba(80,180,215,.1); border-radius:9px; background:rgba(2,12,17,.38); }
.legal-details dt { color:var(--muted); font-size:10px; }
.legal-details dd { margin:0; color:#eefaff; font-weight:750; text-align:right; overflow-wrap:anywhere; }
.legal-details code { color:#72e6ff; font:700 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; }
.legal-details a { color:#77ddff; }
.legal-note { margin:12px 0 0; padding:10px 11px; border-left:2px solid #35bfe9; background:rgba(38,151,186,.08); font-size:11px; }
.legal-list { margin:12px 0 15px; padding:0; display:grid; gap:8px; list-style:none; }
.legal-list li { position:relative; padding-left:18px; color:#c6d6df; font-size:12px; line-height:1.5; }
.legal-list li::before { content:'✓'; position:absolute; left:0; top:0; color:#61df8c; font-weight:900; }
.shop-legal-link { white-space:nowrap; }
@media (max-width: 820px) {
  .legal-grid { grid-template-columns:1fr; }
  .legal-intro { align-items:flex-start; padding:17px; }
}
@media (max-width: 520px) {
  .legal-main { padding-top:10px; }
  .legal-intro { gap:12px; }
  .legal-intro__icon { width:42px; height:42px; border-radius:11px; }
  .legal-intro h1 { font-size:26px; }
  .legal-card { padding:14px; }
  .legal-details > div { grid-template-columns:1fr; gap:4px; }
  .legal-details dd { text-align:left; }
  .shop-legal-link { width:100%; justify-content:center; }
}

/* FOX Survival 1.22.0 — protected YooKassa credentials and webhook control */
.payment-webhook-config {
  min-width: 0;
  padding: 11px;
  display: grid;
  gap: 9px;
  border: 1px solid rgba(70, 170, 210, .18);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(5, 19, 27, .86), rgba(3, 12, 18, .86));
}
.payment-webhook-config__head {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.payment-webhook-config__head > div { min-width: 0; display: grid; gap: 2px; }
.payment-webhook-config__head small { color: #66818c; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.payment-webhook-config__head b { color: #d8eaf0; font-size: 11px; }
.payment-webhook-config > label { min-width: 0; display: grid; gap: 5px; color: #78909a; font-size: 8px; }
.payment-webhook-config > label > div { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
.payment-webhook-config input { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.payment-webhook-config > p { margin: 0; color: #718b96; font-size: 8px; line-height: 1.55; }
.payment-webhook-events { display: flex; flex-wrap: wrap; gap: 6px; }
.payment-webhook-events > span {
  min-width: 0;
  padding: 6px 8px;
  display: inline-grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1px 5px;
  border: 1px solid rgba(79, 200, 104, .18);
  border-radius: 8px;
  color: #94df94;
  background: rgba(38, 121, 55, .06);
  font-size: 8px;
}
.payment-webhook-events .icon { width: 13px; height: 13px; grid-row: 1 / span 2; }
.payment-webhook-events small { color: #607b85; font-size: 6px; overflow-wrap: anywhere; }
.payment-webhook-last {
  min-width: 0;
  padding: 8px 9px;
  display: flex;
  align-items: flex-start;
  gap: 7px;
  border: 1px solid rgba(89, 157, 184, .15);
  border-radius: 8px;
  background: rgba(35, 85, 104, .05);
}
.payment-webhook-last > .icon { width: 16px; height: 16px; flex: 0 0 auto; }
.payment-webhook-last > div { min-width: 0; display: grid; gap: 2px; }
.payment-webhook-last b { color: #cfe1e7; font-size: 8px; }
.payment-webhook-last span { color: #718992; font-size: 7px; overflow-wrap: anywhere; }
.payment-webhook-last.is-ok { border-color: rgba(83, 208, 102, .2); }
.payment-webhook-last.is-ok > .icon { color: #7ee67a; }
.payment-webhook-last.is-error { border-color: rgba(240, 79, 92, .22); }
.payment-webhook-last.is-error > .icon { color: #ff8c95; }
.payment-webhook-last.is-pending > .icon { color: #65c9ee; }
.payment-webhook-settings,
.payment-fiscal-settings {
  padding: 10px;
  border: 1px solid rgba(90, 167, 196, .14);
  border-radius: 9px;
  background: rgba(5, 17, 23, .38);
}
.payment-webhook-settings > summary,
.payment-fiscal-settings > summary { cursor: pointer; color: #a8c3ce; font-size: 9px; font-weight: 850; }
.payment-webhook-event-grid { margin-top: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-webhook-event { min-width: 0; }

@media (max-width: 720px) {
  .payment-webhook-config__head { align-items: stretch; flex-direction: column; }
  .payment-webhook-config__head .mini-button { width: 100%; }
  .payment-webhook-config > label > div { grid-template-columns: 1fr; }
  .payment-webhook-config > label .mini-button { width: 100%; }
  .payment-webhook-event-grid { grid-template-columns: 1fr; }
}

/* FOX Survival 1.23.0 — legal pages, YooKassa review and bonus-balance controls */
.page-requisites .legal-main,
.page-offer .legal-main,
.page-privacy .legal-main {
  padding-top: 112px;
}
.legal-intro {
  min-height: 176px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 25px 28px;
  text-align: center;
}
.legal-intro__content {
  width: min(100%, 920px);
  display: grid;
  justify-items: center;
  gap: 3px;
}
.legal-intro__content .eyebrow,
.legal-intro__content h1,
.legal-intro__content > p { text-align: center; }
.legal-intro__content > p:last-of-type { max-width: 760px; margin-inline: auto; }
.legal-intro__actions { margin-top: 12px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.legal-document { padding: clamp(18px, 3vw, 34px); display: grid; gap: 0; }
.legal-document__meta { margin: 0 0 15px; color: #79dfff; font-size: 10px; font-weight: 850; text-align: center; }
.legal-document > section { padding: 20px 0; border-top: 1px solid rgba(83, 178, 215, .13); }
.legal-document > section:first-of-type { border-top: 0; }
.legal-document h2 { margin: 0 0 10px; color: #edfaff; font-size: clamp(17px, 2vw, 22px); }
.legal-document p { margin: 8px 0 0; color: #a8bcc5; font-size: 12px; line-height: 1.75; }
.legal-document a { color: #71ddff; }
.legal-details--document { margin-top: 12px; }

.bonus-credit-section { margin: 15px 0; padding: 17px; }
.bonus-credit-section .admin-section-heading { margin-bottom: 13px; }
.bonus-credit-section .admin-section-heading > .icon { width: 24px; height: 24px; color: #75e66f; }
.bonus-credit-form { display: grid; gap: 12px; }
.bonus-credit-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bonus-credit-form__grid > label { min-width: 0; display: grid; gap: 5px; color: #8097a1; font-size: 9px; }
.bonus-credit-form__grid > label.wide { grid-column: 1 / -1; }
.bonus-credit-form__grid input { min-width: 0; }
.bonus-credit-form__actions { align-items: center; }
.bonus-credit-form__actions .form-submit { width: auto; min-width: 210px; }
.bonus-credit-form__actions .form-message { min-width: 0; flex: 1 1 260px; }
.bonus-credit-button { white-space: nowrap; }
.balance-audit-card__actions { margin-top: 10px; display: flex; justify-content: flex-end; }
.payment-self-employed-notice { margin: 0; }
.settings-switch.is-disabled { opacity: .82; cursor: default; }
.settings-switch.is-disabled input { cursor: not-allowed; }

@media (max-width: 840px) {
  .page-requisites .legal-main,
  .page-offer .legal-main,
  .page-privacy .legal-main { padding-top: 88px; }
  .legal-intro { min-height: 150px; padding: 20px; }
}
@media (max-width: 620px) {
  .legal-intro { gap: 10px; padding: 18px 14px; }
  .legal-intro__actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .legal-intro__actions .mini-button { width: 100%; justify-content: center; }
  .bonus-credit-form__grid { grid-template-columns: 1fr; }
  .bonus-credit-form__grid > label.wide { grid-column: auto; }
  .bonus-credit-form__actions { display: grid; grid-template-columns: 1fr; }
  .bonus-credit-form__actions .form-submit { width: 100%; min-width: 0; }
  .balance-audit-card__actions .mini-button { width: 100%; justify-content: center; }
}
@media (max-width: 520px) {
  .page-requisites .legal-main,
  .page-offer .legal-main,
  .page-privacy .legal-main { padding-top: 82px; }
  .legal-intro__icon { width: 44px; height: 44px; }
  .legal-intro h1 { font-size: 27px; }
  .legal-document { padding: 15px; }
}


/* ==========================================================================
   FOX Survival v1.24.0 — forum transition, refined purchase dialog and player picker
   ========================================================================== */
.forum-transition-main {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 118px 18px 64px;
}
.forum-transition {
  isolation: isolate;
  width: min(680px, 100%);
  min-height: 430px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 46px 28px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 34%, rgba(38, 187, 244, .13), transparent 35%),
    linear-gradient(145deg, rgba(5, 18, 26, .97), rgba(1, 7, 11, .99));
}
.forum-transition__grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .32;
  background-image:
    linear-gradient(rgba(75, 190, 235, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(75, 190, 235, .05) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(circle at center, #000 18%, transparent 74%);
}
.forum-transition__rings {
  position: absolute;
  left: 50%;
  top: 45%;
  z-index: -1;
  width: 260px;
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
}
.forum-transition__rings i {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(70, 201, 255, .16);
  border-radius: 50%;
  animation: forumRing 4.6s linear infinite;
}
.forum-transition__rings i:nth-child(2) { inset: 28px; animation-duration: 3.8s; animation-direction: reverse; }
.forum-transition__rings i:nth-child(3) { inset: 58px; animation-duration: 3s; }
.forum-transition__rings i::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4bd0ff;
  box-shadow: 0 0 13px #4bd0ff;
}
@keyframes forumRing { to { transform: rotate(360deg); } }
.forum-transition__logo { width: 98px; height: 98px; display: grid; place-items: center; filter: drop-shadow(0 0 25px rgba(54, 194, 255, .26)); }
.forum-transition__logo img { width: 100%; height: 100%; object-fit: contain; }
.forum-transition h1 { margin: 2px 0 0; font-size: clamp(29px, 5vw, 48px); letter-spacing: -.035em; text-transform: uppercase; }
.forum-transition > p:not(.eyebrow) { max-width: 500px; margin: 0; color: #91a8b3; line-height: 1.65; }
.forum-transition__progress { width: min(390px, 88%); height: 5px; margin-top: 12px; overflow: hidden; border: 1px solid rgba(75, 196, 242, .18); border-radius: 999px; background: rgba(0, 8, 12, .7); }
.forum-transition__progress i { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, transparent, #43ccff 25%, #64f5b0 72%, transparent); box-shadow: 0 0 16px rgba(67, 204, 255, .8); animation: forumProgress 1.1s ease-in-out infinite; }
@keyframes forumProgress { from { transform: translateX(-120%); } to { transform: translateX(340%); } }
.forum-transition__status { display: inline-flex; align-items: center; gap: 7px; color: #78a5b7; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.forum-transition__status i { width: 7px; height: 7px; border-radius: 50%; background: #63ed88; box-shadow: 0 0 10px rgba(99, 237, 136, .8); }
.forum-transition__manual { margin-top: 10px; }

@media (prefers-reduced-motion: reduce) {
  .forum-transition__rings i,
  .forum-transition__progress i { animation: none; }
  .forum-transition__progress i { width: 100%; transform: none; }
}
@media (max-width: 520px) {
  .forum-transition-main { padding: 86px 8px 26px; }
  .forum-transition { min-height: 410px; padding: 34px 18px; border-radius: 13px; }
  .forum-transition__rings { width: 220px; }
  .forum-transition__logo { width: 82px; height: 82px; }
  .forum-transition h1 { font-size: 28px; }
}

/* Purchase confirmation keeps a clearly visible lower frame and action divider. */
.confirm-dialog {
  width: min(544px, calc(100% - 16px));
  max-height: calc(100dvh - 16px);
  overflow: visible;
  padding: 8px;
}
.confirm-dialog__card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 78, 92, .56);
  border-bottom-color: rgba(255, 77, 92, .92);
  border-radius: 16px;
  background-clip: padding-box;
  box-shadow:
    0 28px 85px rgba(0, 0, 0, .66),
    0 0 0 1px rgba(255, 78, 92, .08),
    inset 0 1px rgba(255, 255, 255, .035),
    inset 0 -2px rgba(255, 78, 92, .58);
}
.confirm-dialog__card::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 12%;
  right: 12%;
  bottom: 0;
  height: 2px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 70, 88, .98), transparent);
  box-shadow: 0 0 14px rgba(255, 70, 88, .62);
}
.confirm-dialog__actions {
  position: relative;
  margin: 1px -22px -22px;
  padding: 14px 22px 20px;
  border-top: 1px solid rgba(255, 78, 92, .2);
  background: linear-gradient(180deg, rgba(2, 9, 14, .18), rgba(2, 9, 14, .94) 35%);
}
@media (max-width: 620px) {
  .confirm-dialog { width: min(100% - 8px, 544px); padding: 4px; }
  .confirm-dialog__actions { margin: 0 -18px -18px; padding: 12px 18px 18px; }
}

/* Keep the autocomplete dropdown above the following admin blocks. */
.bonus-credit-section.panel {
  overflow: visible;
  contain: none;
}
.bonus-credit-form,
.bonus-credit-form__grid {
  overflow: visible;
}

/* Player autocomplete for targeted bonus credits. */
.bonus-player-picker {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 7px;
  align-content: start;
}
.bonus-player-picker > label {
  color: #cbd9df;
  font-size: 9px;
  font-weight: 800;
}
.bonus-player-picker > small {
  color: #6f8791;
  font-size: 8px;
  line-height: 1.45;
}
.bonus-player-picker__control {
  position: relative;
  min-width: 0;
}
.bonus-player-picker__control > .icon {
  position: absolute;
  left: 13px;
  top: 50%;
  z-index: 2;
  width: 16px;
  height: 16px;
  color: #4fc9f7;
  transform: translateY(-50%);
  pointer-events: none;
}
.bonus-player-picker__control input {
  width: 100%;
  padding-left: 40px !important;
}
.bonus-player-suggestions {
  position: absolute;
  z-index: 50;
  top: calc(100% - 17px);
  left: 0;
  right: 0;
  max-height: 292px;
  overflow: auto;
  padding: 6px;
  border: 1px solid rgba(67, 194, 241, .34);
  border-radius: 11px;
  background: rgba(3, 14, 21, .985);
  box-shadow: 0 22px 50px rgba(0, 0, 0, .58), inset 0 1px rgba(255, 255, 255, .035);
}
.bonus-player-suggestions[hidden] { display: none; }
.bonus-player-suggestions button {
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #e9f6fa;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.bonus-player-suggestions button + button { margin-top: 3px; }
.bonus-player-suggestions button:hover,
.bonus-player-suggestions button.active {
  border-color: rgba(75, 202, 248, .28);
  background: rgba(40, 157, 205, .1);
}
.bonus-player-suggestions button span { min-width: 0; display: grid; gap: 2px; }
.bonus-player-suggestions button b { overflow: hidden; text-overflow: ellipsis; font-size: 11px; }
.bonus-player-suggestions button small { color: #6f8791; font-size: 7px; text-transform: uppercase; letter-spacing: .08em; }
.bonus-player-suggestions button strong { flex: 0 0 auto; color: #76ed91; font-size: 10px; }
@media (max-width: 700px) {
  .bonus-player-suggestions { top: calc(100% - 15px); max-height: 238px; }
  .bonus-player-suggestions button { padding: 10px; }
}

/* FOX Survival 1.24.0 — monetary values keep aligned kopecks. */
[data-balance], [data-shop-balance], .price, .amount-positive, .amount-negative,
.balance-audit-summary b, .balance-audit-card strong, .payment-history-card strong,
.skin-price-badge, .skin-balance-chip strong, .vote-provider-reward b {
  font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   FOX Survival v1.25.0 — account/shop art, onboarding, mail and security UX
   ========================================================================== */

/* Dedicated landscape supplied for the personal cabinet and shop. */
body.page-account,
body.page-shop {
  background:
    radial-gradient(circle at 72% 15%, rgba(255, 106, 40, .11), transparent 30%),
    radial-gradient(circle at 19% 36%, rgba(35, 144, 255, .13), transparent 34%),
    linear-gradient(180deg, rgba(1, 6, 10, .60), rgba(1, 6, 10, .88) 46%, rgba(1, 6, 10, .97)),
    url('../img/shop-account-background.webp?v=1.27.2-velocity35-product-hover-20260803') center top / cover fixed no-repeat,
    #02060a;
}
body.page-account::after,
body.page-shop::after {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(1, 6, 10, .58), rgba(1, 6, 10, .22) 48%, rgba(1, 6, 10, .54));
}
.page-account .account-summary,
.page-account .account-section-nav,
.page-account .account-panel,
.page-shop .shop-toolbar,
.page-shop .shop-panel,
.page-shop .shop-catalog,
.page-shop .shop-history {
  backdrop-filter: blur(18px) saturate(125%);
}

/* All six feature cards share one transform pipeline. The reveal animation
   uses --reveal-y, so it can no longer overwrite pointer tilt. */
.neon-card[data-tilt] {
  --tilt-rx: 0deg;
  --tilt-ry: 0deg;
  --tilt-lift: 0px;
  --reveal-y: 0px;
  transform-origin: 50% 52%;
  backface-visibility: hidden;
  will-change: transform;
  transform: perspective(1050px) translateY(calc(var(--reveal-y) + var(--tilt-lift))) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry)) !important;
  transition: transform .16s cubic-bezier(.2,.8,.2,1), opacity .68s ease, border-color .25s ease, box-shadow .25s ease !important;
}
body.reveal-ready .neon-card[data-reveal][data-tilt] {
  --reveal-y: 24px;
  opacity: 0;
}
body.reveal-ready .neon-card[data-reveal][data-tilt].revealed {
  --reveal-y: 0px;
  opacity: 1;
}
.neon-card[data-tilt].is-tilting,
.neon-card[data-tilt]:hover { --tilt-lift: -5px; }

.account-summary--compact .account-security-chips > button.is-warning {
  border-color: rgba(255, 196, 61, .36);
  color: #ffe08d;
  background: linear-gradient(145deg, rgba(107, 73, 10, .20), rgba(58, 39, 8, .10));
}
.account-summary--compact .account-security-chips:empty { display: none; }

/* Start playing page. */
.play-main { padding: 118px 0 72px; min-height: 100vh; }
.play-intro {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 26px;
}
.play-intro__icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(54, 230, 244, .42);
  border-radius: 16px;
  color: var(--cyan);
  background: rgba(20, 111, 143, .12);
  box-shadow: 0 0 28px rgba(54, 230, 244, .12);
}
.play-intro__icon .icon { width: 28px; height: 28px; }
.play-intro h1 { margin: 4px 0 8px; font-size: clamp(28px, 4vw, 48px); line-height: 1; }
.play-intro p:last-child { margin: 0; color: var(--muted); line-height: 1.65; }
.play-steps { margin-top: 18px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.play-step { min-height: 150px; display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start; padding: 22px; }
.play-step > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; border: 1px solid currentColor; color: var(--cyan); font-size: 11px; font-weight: 900; background: rgba(54, 230, 244, .07); }
.play-step h2 { margin: 2px 0 9px; font-size: 19px; }
.play-step p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.play-help { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.play-help > article { padding: 22px; }
.play-help h2 { margin: 5px 0 9px; }
.play-help p { color: var(--muted); line-height: 1.65; }

/* Branded sender preview and clearer composer. */
.mail-compose-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(220px, .8fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(83, 177, 217, .18);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(23, 92, 120, .10), rgba(3, 11, 17, .34));
}
.mail-compose-identity > span { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(88, 196, 237, .32); border-radius: 11px; color: var(--cyan); background: rgba(35, 139, 180, .10); }
.mail-compose-identity > div { display: grid; gap: 2px; min-width: 0; }
.mail-compose-identity small { color: #6e8996; font-size: 8px; text-transform: uppercase; letter-spacing: .12em; }
.mail-compose-identity b { color: #eef9ff; font-size: 13px; }
.mail-compose-identity em { color: #80dff5; font-size: 10px; font-style: normal; overflow-wrap: anywhere; }
.mail-compose-identity p { margin: 0; color: #79919c; font-size: 9px; line-height: 1.55; }
.mail-compose-hint { display: flex; justify-content: space-between; gap: 12px; color: #617d8a; font-size: 8px; }
.mail-compose-form textarea { min-height: 250px; line-height: 1.62; }

/* Stronger visual feedback for the invisible local anti-bot. */
.captcha-check[data-state="ready"] { border-color: rgba(84, 227, 104, .36); background: rgba(40, 135, 47, .08); }
.captcha-check[data-state="ready"] .captcha-check__icon,
.human-check[data-state="ready"] .human-check__dot { color: var(--green); }
.captcha-check[data-state="error"] { border-color: rgba(255, 57, 75, .42); background: rgba(132, 24, 39, .10); }

@media (max-width: 760px) {
  body.page-account,
  body.page-shop { background-attachment: scroll; background-position: 58% top; }
  .play-main { padding-top: 88px; }
  .play-intro { grid-template-columns: auto 1fr; padding: 18px; }
  .play-intro .small-button { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .play-steps,
  .play-help { grid-template-columns: 1fr; }
  .mail-compose-identity { grid-template-columns: auto 1fr; }
  .mail-compose-identity p { grid-column: 1 / -1; }
}
@media (max-width: 430px) {
  .play-intro { grid-template-columns: 1fr; text-align: center; }
  .play-intro__icon { margin-inline: auto; }
  .play-step { grid-template-columns: 1fr; }
  .play-step > span { width: 38px; height: 38px; }
  .mail-compose-identity { grid-template-columns: 1fr; text-align: center; }
  .mail-compose-identity > span { margin-inline: auto; }
  .mail-compose-hint { flex-direction: column; gap: 3px; }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .neon-card[data-tilt] { transform: none !important; --tilt-lift: 0px !important; }
}

/* v1.25.0 final refinements */
.mail-compose-template select { min-height: 39px; padding: 8px 10px; border: 1px solid rgba(65,164,205,.18); border-radius: 8px; color: #e9f8ff; background: rgba(1,8,12,.69); outline: 0; }
.mail-compose-template select:focus { border-color: rgba(65,202,242,.52); box-shadow: 0 0 0 2px rgba(48,166,207,.07); }
.page-account .account-shell, .page-shop .shop-shell { position: relative; z-index: 2; }
@media (max-width:760px) { body.page-account, body.page-shop { background-position: 65% top; } }

/* FOX Survival v1.25.0 final layout corrections. */
body.reveal-ready .neon-card[data-tilt] {
  opacity: 0;
  transform: perspective(1050px) translateY(calc(24px + var(--tilt-lift))) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry));
  transition: opacity .68s ease, transform .22s cubic-bezier(.2,.78,.2,1), border-color .25s ease, box-shadow .25s ease;
}
body.reveal-ready .neon-card[data-tilt].revealed {
  opacity: 1;
  transform: perspective(1050px) translateY(var(--tilt-lift)) rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry));
}
body.reveal-ready .neon-card[data-tilt].revealed.is-tilting {
  box-shadow:
    inset 0 0 35px rgba(0,0,0,.42),
    0 28px 68px rgba(0,0,0,.44),
    0 0 34px color-mix(in srgb,var(--accent) 21%,transparent);
}
.account-summary--compact.is-secured {
  grid-template-columns: minmax(230px, 1fr) auto auto;
}
.account-summary--compact .account-security-chips.is-single {
  grid-template-columns: minmax(150px, 1fr);
}
.mail-compose-template { display: grid; gap: 6px; }
.mail-compose-template select { min-height: 42px; }
.mail-compose-template > small { color: #6f8791; font-size: 8px; line-height: 1.45; }

@media (max-width: 1120px) {
  .account-summary--compact.is-secured { grid-template-columns: minmax(220px, 1fr) auto auto; }
  .account-summary--compact.is-secured .account-summary-actions { grid-column: auto; grid-row: auto; flex-direction: row; }
}
@media (max-width: 760px) {
  .account-summary--compact.is-secured { grid-template-columns: minmax(0,1fr) auto; }
  .account-summary--compact.is-secured .account-summary-actions { grid-column: 1 / -1; grid-row: auto; }
  .account-summary--compact .account-security-chips.is-single { grid-template-columns: 1fr; }
}
@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  body.reveal-ready .neon-card[data-tilt],
  body.reveal-ready .neon-card[data-tilt].revealed {
    opacity: 1;
    transform: none !important;
  }
}


/* FOX Survival v1.26.0 — production hardening diagnostics */
.security-runtime-section { display: grid; gap: 18px; }
.security-runtime-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.security-runtime-grid article { min-width: 0; padding: 15px 16px; border: 1px solid rgba(98,217,255,.16); border-radius: 12px; background: rgba(2,11,17,.58); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.security-runtime-grid small, .security-runtime-grid span { display: block; color: var(--muted); }
.security-runtime-grid small { margin-bottom: 7px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.security-runtime-grid b { display: block; overflow-wrap: anywhere; color: var(--text); font-size: 16px; }
.security-runtime-grid span { margin-top: 5px; font-size: 12px; line-height: 1.45; }
@media (max-width: 980px) { .security-runtime-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .security-runtime-grid { grid-template-columns: 1fr; } }


/* FOX Survival v1.27.0 — admin readability, credential-safe forms and TMonitoring UX */
.page-admin .admin-shell,
.page-admin .admin-main,
.page-admin .admin-section { font-size: 15px; }
.page-admin .admin-section-heading h2,
.page-admin .admin-page-title h1 { font-size: clamp(20px, 1.55vw, 27px); line-height: 1.18; }
.page-admin .admin-section-heading p,
.page-admin .admin-section-heading small,
.page-admin .admin-form small,
.page-admin .vote-form-help,
.page-admin .admin-row small,
.page-admin .skin-admin-card small { font-size: 12px; line-height: 1.5; }
.page-admin .admin-tab,
.page-admin .admin-subtab,
.page-admin .mini-button,
.page-admin .form-submit,
.page-admin .permission-option,
.page-admin .admin-row,
.page-admin .order-table,
.page-admin .mail-workspace { font-size: 13px; }
.page-admin .admin-form label,
.page-admin .vote-provider-form label,
.page-admin .skin-admin-form label,
.page-admin .mail-compose label { font-size: 13px; line-height: 1.4; }
.page-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
.page-admin select,
.page-admin textarea { min-height: 43px; padding-block: 10px; font-size: 15px; line-height: 1.4; }
.page-admin textarea { min-height: 92px; }
.page-admin .order-table th { font-size: 11px; letter-spacing: .07em; }
.page-admin .order-table td { font-size: 13px; line-height: 1.45; }
.security-form input:not([type="checkbox"]):not([type="radio"]),
.security-form select,
.security-form textarea { min-height:43px; font-size:14px; line-height:1.4; }
.security-form label { font-size:13px; line-height:1.45; }
.security-input-guidance { display:flex; gap:10px; align-items:flex-start; padding:11px 12px; border:1px solid rgba(96,195,243,.22); border-radius:12px; background:rgba(25,102,139,.11); color:#c8eefd; font-size:12px; line-height:1.5; }
.security-input-guidance .icon { flex:0 0 18px; width:18px; height:18px; margin-top:1px; }
.security-input-guidance b { color:#f1fbff; }
.security-form label small { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.45; }
.autofill-decoy { position:fixed!important; left:-10000px!important; top:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }
.vote-tmonitoring-fields[hidden] { display:none!important; }
.vote-tmonitoring-fields { margin-bottom:12px; }
.vote-callback-copy small { display:block; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.45; }
@media (max-width: 760px) {
  .page-admin input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
  .page-admin select,
  .page-admin textarea,
  .security-form input:not([type="checkbox"]):not([type="radio"]),
  .security-form select,
  .security-form textarea { font-size:16px; }
  .page-admin .admin-shell, .page-admin .admin-main, .page-admin .admin-section { font-size:14px; }
}

.skin-bridge-diagnostics { display:grid; gap:14px; }
.skin-bridge-diagnostics__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.skin-bridge-diagnostics__grid article { display:grid; gap:5px; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.08); border-radius:12px; background:rgba(255,255,255,.025); }
.skin-bridge-diagnostics__grid small { color:var(--muted); font-size:11px; }
.skin-bridge-diagnostics__grid b { overflow-wrap:anywhere; font-size:13px; }
.skin-bridge-diagnostics__grid .status-pill { justify-self:start; }
.skin-bridge-diagnostics__result { margin:0; padding:10px 12px; border-radius:10px; font-size:12px; line-height:1.5; }
.skin-bridge-diagnostics__result.is-ok { background:rgba(55,180,109,.1); color:#b8f3cf; }
.skin-bridge-diagnostics__result.is-warning { background:rgba(227,169,51,.1); color:#f4d58b; }
@media (max-width:1100px) { .skin-bridge-diagnostics__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .skin-bridge-diagnostics__grid { grid-template-columns:1fr; } }


/* FOX Survival v1.27.2 — Velocity API compatibility and skin UX readability */
.page-admin .skin-bridge-diagnostics .admin-section-heading p:not(.eyebrow) {
  color: #91a9b3;
  font-size: 13px;
  line-height: 1.55;
}
.skin-bridge-diagnostics { gap: 16px; }
.skin-bridge-diagnostics__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.skin-bridge-diagnostics__grid article {
  gap: 7px;
  min-height: 112px;
  padding: 15px;
  align-content: start;
  border-color: rgba(88, 198, 235, .14);
  background: linear-gradient(145deg, rgba(17, 56, 72, .16), rgba(2, 10, 15, .46));
}
.skin-bridge-diagnostics__grid small {
  color: #819aa5;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
}
.skin-bridge-diagnostics__grid b {
  color: #eefaff;
  font-size: 16px;
  line-height: 1.35;
}
.skin-bridge-diagnostics__grid .status-pill { margin-top: auto; font-size: 11px; }
.skin-bridge-diagnostics__result,
.skin-bridge-diagnostics__note {
  margin: 0;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.55;
}
.skin-bridge-diagnostics__note {
  border: 1px solid rgba(95, 193, 231, .16);
  color: #a3bdc7;
  background: rgba(29, 105, 133, .08);
}
.skin-apply-error {
  padding: 11px 12px;
  gap: 9px;
  color: #ffb2ba;
  font-size: 13px;
  line-height: 1.55;
}
.skin-apply-error .icon { width: 17px; height: 17px; }
.skin-offline-note {
  color: #8ba5af !important;
  font-size: 13px;
  line-height: 1.6;
}
.minecraft-skin-status {
  color: #829da8;
  font-size: 12px;
  line-height: 1.45;
}
.page-admin .skin-admin-summary article small,
.page-admin .skin-admin-card__form label,
.page-admin .skin-admin-card__toggles,
.page-admin .skin-admin-purchases .order-table td small,
.page-admin .skin-admin-readonly span {
  font-size: 12px;
  line-height: 1.45;
}
.page-admin .skin-admin-summary article strong { font-size: 20px; }
@media (max-width: 1100px) {
  .skin-bridge-diagnostics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .skin-bridge-diagnostics__grid { grid-template-columns: 1fr; }
  .skin-bridge-diagnostics__grid article { min-height: 0; }
  .skin-bridge-diagnostics__result,
  .skin-bridge-diagnostics__note { font-size: 13px; }
  .skin-apply-error,
  .skin-offline-note { font-size: 13px; }
}

/* FOX Survival 1.27.2 — full product descriptions on hover, focus and touch. */
.product-description {
  min-width: 0;
  min-height: 92px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
}
.product-card .product-description-preview {
  width: 100%;
  min-width: 0;
  margin: 0;
  flex: 0 0 auto;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  color: #9fb0b9;
  font-size: 13px;
  line-height: 1.65;
  outline: 0;
}
.product-description.is-truncated .product-description-preview { cursor: help; }
.product-description-preview:focus-visible {
  border-radius: 6px;
  outline: 2px solid color-mix(in srgb, var(--accent) 72%, #fff 18%);
  outline-offset: 4px;
}
.product-description-more {
  display: none;
  align-items: center;
  gap: 5px;
  color: color-mix(in srgb, var(--accent) 74%, #9fcce0 26%);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .82;
}
.product-description.is-truncated .product-description-more { display: inline-flex; }
.product-description-more .icon { width: 13px; height: 13px; }
.product-card.is-description-open {
  z-index: 12;
  border-color: color-mix(in srgb, var(--accent) 68%, transparent);
  box-shadow: 0 24px 54px rgba(0,0,0,.54), 0 0 28px color-mix(in srgb,var(--accent) 17%,transparent);
}
.shop-description-tooltip {
  --tooltip-anchor: 50%;
  position: fixed;
  z-index: 10050;
  width: min(460px, calc(100vw - 24px));
  max-height: min(420px, calc(100vh - 24px));
  overflow: auto;
  padding: 16px 17px 17px;
  border: 1px solid rgba(83, 207, 255, .5);
  border-radius: 12px;
  background:
    linear-gradient(145deg, rgba(14, 32, 42, .985), rgba(3, 10, 15, .99) 68%),
    rgba(3, 10, 15, .99);
  box-shadow: 0 24px 70px rgba(0,0,0,.72), 0 0 32px rgba(56,180,235,.14);
  color: #dcecf3;
  text-align: left;
  isolation: isolate;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.shop-description-tooltip[hidden] { display: none !important; }
.shop-description-tooltip::before,
.shop-description-tooltip::after {
  content: "";
  position: absolute;
  left: var(--tooltip-anchor);
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
}
.shop-description-tooltip[data-placement="top"]::before {
  top: 100%;
  border-top: 9px solid rgba(83, 207, 255, .5);
}
.shop-description-tooltip[data-placement="top"]::after {
  top: calc(100% - 1px);
  border-top: 8px solid rgba(3, 10, 15, .99);
}
.shop-description-tooltip[data-placement="bottom"]::before {
  bottom: 100%;
  border-bottom: 9px solid rgba(83, 207, 255, .5);
}
.shop-description-tooltip[data-placement="bottom"]::after {
  bottom: calc(100% - 1px);
  border-bottom: 8px solid rgba(12, 29, 38, .99);
}
.shop-description-tooltip header {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(94, 181, 219, .18);
}
.shop-description-tooltip header small {
  color: #68d7ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.shop-description-tooltip header b {
  color: #f1f9fc;
  font-size: 16px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.shop-description-tooltip > p {
  margin: 0;
  color: #b8cbd4;
  font-size: 13px;
  line-height: 1.7;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 640px) {
  .product-description { min-height: 86px; }
  .product-description-more { font-size: 8px; }
  .shop-description-tooltip {
    width: calc(100vw - 16px);
    max-height: calc(100vh - 16px);
    padding: 14px 15px 15px;
    border-radius: 10px;
  }
  .shop-description-tooltip header b { font-size: 15px; }
  .shop-description-tooltip > p { font-size: 12px; line-height: 1.65; }
}

/* FOX Survival 1.27.4 — one selected PNG for the website and the game. */
.skin-current-card--unified {
  grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
  align-items: stretch;
  gap: 18px;
}
.skin-current-card--unified .skin-current-preview {
  min-height: 300px;
  padding: 16px;
  display: grid;
  grid-template-rows: minmax(210px, 1fr) auto;
  place-items: center;
  align-content: center;
  gap: 10px;
  overflow: hidden;
  border: 1px solid rgba(78, 196, 237, .18);
  border-radius: 12px;
  background: linear-gradient(155deg, rgba(13, 45, 59, .52), rgba(2, 10, 15, .88));
  text-align: center;
}
.skin-current-card--unified .skin-current-preview.has-skin { border-color: rgba(92, 215, 142, .24); }
.skin-current-card--unified .skin-current-preview.is-empty { border-style: dashed; }
.skin-current-card--unified .minecraft-player {
  width: 100%;
  min-height: 210px;
  margin: 0;
  display: grid;
  place-items: center;
}
.skin-current-card--unified .minecraft-skin-canvas {
  max-width: 156px;
  width: min(100%, 156px);
  height: auto;
}
.skin-current-card--unified .minecraft-skin-status {
  min-height: 38px;
  margin: 0;
  color: #8ca7b1;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.skin-current-card--unified .skin-current-copy {
  min-width: 0;
  padding: 6px 2px;
  align-content: center;
  justify-items: start;
}
.skin-current-card--unified .skin-current-copy > small:first-child { font-size: 10px; }
.skin-current-card--unified .skin-current-copy h3 {
  font-size: clamp(20px, 1.55vw, 26px);
  line-height: 1.2;
}
.skin-current-card--unified .skin-current-copy > p {
  color: #91aab4;
  font-size: 13px;
  line-height: 1.65;
}
.skin-current-card--unified .skin-status-row .status-pill { font-size: 10px; }
.skin-current-card--unified .skin-offline-note { font-size: 12px; }

@media (max-width: 780px) {
  .skin-current-card--unified { grid-template-columns: 1fr; gap: 10px; }
  .skin-current-card--unified .skin-current-preview { min-height: 250px; }
  .skin-current-card--unified .skin-current-copy { justify-items: stretch; text-align: left; }
  .skin-current-card--unified .skin-status-row { justify-content: flex-start; }
}
@media (max-width: 680px) {
  .skin-current-card--unified { padding: 11px; }
  .skin-current-card--unified .skin-current-actions { display: grid; grid-template-columns: 1fr; }
}
