@import url('https://fonts.googleapis.com/css2?family=Anton&family=Barlow+Condensed:wght@300;400;500&family=Rajdhani:wght@400;500;600&display=swap');

/* OUTPOST final authority.
   Keep this file focused: base tokens plus targeted overrides loaded after page CSS. */
:root {
  --bg-main: #080908;
  --outpost-global-bg: url("../images/outpost-vault-bg.png");
  --bg-panel: rgba(8, 9, 8, 0.24);
  --bg-panel-strong: rgba(6, 7, 6, 0.42);

  --text-main: rgba(235, 236, 228, 0.86);
  --text-strong: rgba(248, 249, 241, 0.96);
  --text-muted: rgba(220, 220, 210, 0.52);
  --text-faint: rgba(220, 220, 210, 0.34);

  --border-soft: rgba(235, 235, 224, 0.055);
  --border-medium: rgba(235, 235, 224, 0.12);

  --accent: rgba(240, 238, 220, 0.86);
  --danger: #b84a32;
  --warning: #d08a45;

  --shadow-heavy: 0 18px 64px rgba(0, 0, 0, 0.44);
  --shadow-soft: 0 8px 28px rgba(0, 0, 0, 0.30);

  --font-press-gothic: "Press Gothic", "Press Gothic Pro", "Anton", Impact, Haettenschweiler, "Arial Narrow", sans-serif;
  --font-display: "Barlow Condensed", "Oswald", "Arial Narrow", sans-serif;
  --font-ui: "Rajdhani", "Roboto Condensed", system-ui, sans-serif;

  --tracking-wide: 0.22em;
  --tracking-wider: 0.32em;

  --color-bg: var(--bg-main);
  --color-bg-2: #0a0a09;
  --color-primary: var(--accent);
  --color-accent: var(--accent);
  --color-accent-cold: var(--accent);
  --color-accent-hover: var(--text-strong);
  --color-text: var(--text-main);
  --color-text-bright: var(--text-strong);
  --color-text-muted: var(--text-muted);
  --color-text-dim: var(--text-faint);
  --color-surface: var(--bg-panel);
  --color-surface-dark: var(--bg-panel-strong);
  --color-surface-mid: rgba(12, 13, 12, 0.30);
  --color-border: var(--border-soft);
  --color-border-gold: var(--border-medium);
  --color-danger: var(--danger);
  --shadow-panel: var(--shadow-soft);
  --shadow-glow: 0 0 18px rgba(240, 238, 220, 0.08);
  --font-family: var(--font-ui);
  --font-display-light: var(--font-display);
}

/* Game modal geometry lives in assets/css/game.css. */

/* Registration consent final authority */
body.homepage #tab-register.active {
  display: grid !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.homepage #tab-register .register-step-container {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto auto !important;
  gap: clamp(8px, 1.05vh, 12px) !important;
}

body.homepage #tab-register .step-title,
body.homepage #tab-register .step-question {
  color: #b36f6f !important;
  text-align: center !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.65) !important;
}

body.homepage #tab-register .step-title {
  margin: 0 !important;
  font-size: clamp(0.9rem, 1.22vw, 1.08rem) !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

body.homepage #tab-register .step-question {
  margin: 0 !important;
  font-size: clamp(0.82rem, 1.02vw, 0.96rem) !important;
  letter-spacing: 0.08em !important;
}

body.homepage #tab-register .step-scroll-text {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: auto !important;
  padding: clamp(12px, 1.55vw, 18px) !important;
  background: rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(238, 239, 230, 0.08) !important;
  color: rgba(238, 239, 230, 0.80) !important;
  font-size: clamp(0.68rem, 0.82vw, 0.78rem) !important;
  line-height: 1.5 !important;
  text-align: justify !important;
  text-justify: inter-word !important;
}

body.homepage #tab-register .legal-consent-fulltext h1,
body.homepage #tab-register .legal-consent-fulltext h2 {
  color: #b36f6f !important;
}

body.homepage #tab-register .legal-consent-fulltext p,
body.homepage #tab-register .legal-consent-fulltext li {
  font-size: inherit !important;
  line-height: inherit !important;
  text-align: justify !important;
}

body.homepage #tab-register .step-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
}

body.homepage #tab-register .step-actions form {
  display: contents !important;
}

body.homepage #tab-register .btn-step-yes,
body.homepage #tab-register .btn-step-no,
body.homepage #tab-register .btn-step-back {
  min-width: clamp(74px, 8vw, 110px) !important;
  min-height: 26px !important;
  padding: 5px 9px !important;
  font-size: clamp(0.56rem, 0.7vw, 0.68rem) !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 640px) {
  body.homepage #tab-register .register-step-container {
    gap: 10px !important;
  }

  body.homepage #tab-register .btn-step-yes,
  body.homepage #tab-register .btn-step-no,
  body.homepage #tab-register .btn-step-back {
    min-width: 94px !important;
    width: auto !important;
  }
}

body.legal-page {
  min-height: 100vh;
  margin: 0;
  padding: clamp(22px, 5vw, 58px);
  color: var(--outpost-text, #eef0ea);
  background:
    linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
    var(--outpost-bg-image, url("../images/outpost-background.jpg")) center / cover fixed no-repeat;
  overflow-x: hidden;
}

.legal-page-shell {
  width: min(960px, 100%);
  margin: 0 auto;
  padding: clamp(22px, 4vw, 46px);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(238, 239, 230, 0.12);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.32);
}

.legal-page-shell h1,
.legal-page-shell h2 {
  font-family: var(--outpost-title-font, inherit);
  color: rgba(238, 239, 230, 0.94);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.legal-page-shell h1 {
  margin: 0 0 10px;
  font-size: clamp(2rem, 5vw, 4.2rem);
}

.legal-page-shell h2 {
  margin-top: 28px;
  font-size: clamp(1rem, 2vw, 1.28rem);
}

.legal-page-shell p,
.legal-page-shell li {
  color: rgba(238, 239, 230, 0.82);
  font-size: clamp(0.95rem, 1.4vw, 1.05rem);
  line-height: 1.68;
  text-shadow: 0 1px 7px rgba(0, 0, 0, 0.48);
}

.legal-page-shell .box {
  margin: 18px 0 26px;
  padding: 16px 18px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(238, 239, 230, 0.10);
}

.legal-page-shell a,
.oauth-legal-consent a {
  color: #86abc8;
  text-decoration: none;
}

.legal-page-shell a:hover,
.oauth-legal-consent a:hover {
  color: rgba(238, 239, 230, 0.95);
}

.oauth-legal-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 9px;
  max-width: 520px;
  margin: 0 auto 10px;
  color: rgba(238, 239, 230, 0.76);
  font-size: 0.74rem;
  line-height: 1.45;
  text-align: left;
}

.oauth-legal-consent input {
  width: 15px;
  height: 15px;
  margin-top: 2px;
  accent-color: #7f8565;
}

body.homepage #tab-register .register-step-container {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  gap: 12px;
  height: 100%;
  min-height: 0;
}

body.homepage #tab-register .step-title {
  margin: 0;
  text-align: center;
  font-size: clamp(0.95rem, 1.4vw, 1.18rem);
  letter-spacing: 0.12em;
}

body.homepage #tab-register .step-scroll-text {
  min-height: 0;
  max-height: min(52vh, 430px);
  overflow: auto;
  text-align: justify;
  text-justify: inter-word;
  font-size: clamp(0.72rem, 0.95vw, 0.84rem);
  line-height: 1.55;
  padding: clamp(12px, 1.6vw, 18px);
  color: rgba(238, 239, 230, 0.82);
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(238, 239, 230, 0.08);
}

body.homepage #tab-register .legal-consent-fulltext h1,
body.homepage #tab-register .legal-consent-fulltext h2 {
  margin: 16px 0 8px;
  color: rgba(238, 239, 230, 0.94);
  text-align: left;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.homepage #tab-register .legal-consent-fulltext h1 {
  margin-top: 0;
  font-size: clamp(1.02rem, 1.6vw, 1.28rem);
}

body.homepage #tab-register .legal-consent-fulltext h2 {
  font-size: clamp(0.78rem, 1.05vw, 0.95rem);
}

body.homepage #tab-register .legal-consent-fulltext p,
body.homepage #tab-register .legal-consent-fulltext li,
body.homepage #tab-register .legal-consent-fulltext small {
  font-size: inherit;
  line-height: inherit;
  text-align: justify;
  color: rgba(238, 239, 230, 0.80);
}

body.homepage #tab-register .legal-consent-fulltext ul {
  margin: 8px 0 12px 18px;
  padding: 0;
}

body.homepage #tab-register .legal-consent-fulltext .box {
  padding: 10px 12px;
  margin: 10px 0 14px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(238, 239, 230, 0.07);
}

body.homepage #tab-register .step-question {
  text-align: center;
  font-size: clamp(0.95rem, 1.2vw, 1.12rem);
}

body.homepage #tab-register .step-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0 !important;
}

body.homepage #tab-register .step-actions form {
  display: contents;
}

body.homepage #tab-register .btn-step-yes,
body.homepage #tab-register .btn-step-no,
body.homepage #tab-register .btn-step-back {
  min-width: clamp(150px, 16vw, 220px);
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  font-size: clamp(0.86rem, 1.12vw, 1.02rem);
  letter-spacing: 0.08em;
}

@media (max-width: 640px) {
  body.legal-page {
    padding: 14px;
  }

  .legal-page-shell {
    padding: 18px;
  }

  body.homepage #tab-register .step-scroll-text {
    max-height: 54vh;
  }

  body.homepage #tab-register .btn-step-yes,
  body.homepage #tab-register .btn-step-no,
  body.homepage #tab-register .btn-step-back {
    width: 100%;
  }
}

.outpost-weather-panel {
  display: grid;
  gap: 7px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.30);
  border: 1px solid rgba(238, 239, 230, 0.08);
  color: rgba(238, 239, 230, 0.86);
  font-size: 0.76rem;
  line-height: 1.35;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.72);
}

.outpost-weather-panel__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.outpost-weather-panel__label {
  color: rgba(127, 133, 101, 0.92);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.outpost-weather-panel__value {
  text-align: right;
  color: rgba(238, 239, 230, 0.92);
}

.outpost-weather-panel__badge {
  display: inline-flex;
  width: max-content;
  align-items: center;
  padding: 3px 7px;
  background: rgba(127, 133, 101, 0.22);
  color: rgba(238, 239, 230, 0.88);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-size: 0.66rem;
}

.outpost-weather-panel__notes {
  margin-top: 3px;
  padding-top: 7px;
  border-top: 1px solid rgba(238, 239, 230, 0.08);
  color: rgba(238, 239, 230, 0.78);
  font-style: italic;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  color: var(--text-main);
  font-family: var(--font-ui);
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

body {
  margin: 0;
  overflow-x: hidden;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9998;
  opacity: 0.055;
  background: repeating-linear-gradient(
    0deg,
    rgba(255,255,255,0.022) 0,
    rgba(255,255,255,0.022) 1px,
    transparent 1px,
    transparent 3px
  );
  mix-blend-mode: overlay;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-title,
.logo,
.navbar-brand,
.site-title,
.page_title,
.card-title,
.section-title,
.modal-drag-header,
.modal-header,
.nav-tab,
.game-nav-link,
.site-nav-link,
.sidebar-section-title,
.sidebar-section-label,
.map-room-panel-title,
.forum-title,
.forum_section_title {
  font-family: var(--font-display) !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: var(--tracking-wide) !important;
}

*:focus-visible {
  outline: 1px solid rgba(235,235,220,0.55) !important;
  outline-offset: 3px;
}

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

/* Final cinematic cleanup: no heavy vignette, no tactical boxes around every label. */
:root {
  --color-accent-warm: var(--accent) !important;
  --hud-amber: var(--accent) !important;
  --shadow-glow: 0 0 12px rgba(240,238,220,0.08) !important;
}

body,
body.game-page,
body.dashboard-page,
body.discord-forum-page,
body.spam-forum-page {
  background:
    radial-gradient(circle at 50% 10%, rgba(238, 236, 216, 0.10), transparent 34%),
    radial-gradient(circle at 70% 34%, rgba(170, 122, 92, 0.055), transparent 30%),
    #080908 !important;
}

.navbar,
header,
footer,
.homepage-footer,
.footer-terminal,
.bottom-icon-bar,
.dashboard-nav,
.sidebar,
.sidebar-right,
.game-mobile-menu-panel,
.docs-sidebar,
.docs-content,
.content-panel,
.manual-section,
.rule,
.card,
.panel,
.login-card,
.register-card,
.form-card,
.pg-card,
.dashboard-panel,
.form-section,
.points-budget,
.stat-selector,
.stat-box,
.forum-wrapper,
.pagina_forum,
.page_body,
.panels_box,
.forum_content,
.wa-side,
.wa-main,
.wa-dialog,
.expedition-card,
.expedition-test-panel,
.expedition-event-form {
  background-color: rgba(0, 0, 0, 0.16) !important;
  background-image: none !important;
  border-color: rgba(238, 238, 226, 0.045) !important;
  box-shadow: none !important;
}

.draggable-modal,
.modal,
.modal-content,
.drag-modal,
.dropdown-menu,
.dropdown,
.menu-panel {
  background: rgba(5, 6, 5, 0.52) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 238, 226, 0.09) !important;
  box-shadow: 0 18px 72px rgba(0,0,0,0.42) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

.modal-drag-header,
.modal-header {
  background: rgba(0, 0, 0, 0.18) !important;
  border-bottom: 1px solid rgba(238,238,226,0.075) !important;
}

.modal-drag-body,
.modal-body {
  background: rgba(0, 0, 0, 0.08) !important;
}

.map-container,
.chat-container,
.chat-messages-box,
.chat-input-column,
.chat-header,
.chat-input-bar {
  background-color: rgba(0,0,0,0.10) !important;
  background-image: none !important;
  border-color: rgba(238,238,226,0.045) !important;
  box-shadow: none !important;
}

.map-room-panel,
.map-switcher,
.map-room-pill,
.map-switcher-link,
.map-marker,
.map-marker-label,
.map-marker-count {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.map-room-panel {
  background: rgba(0,0,0,0.08) !important;
}

.map-room-pill:hover,
.map-switcher-link:hover,
.map-switcher-link.active {
  background: rgba(238,238,226,0.055) !important;
  border-color: transparent !important;
}

.map-marker-label,
.map-room-pill span,
.mappa-nome {
  color: rgba(245,246,238,0.88) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.96) !important;
  letter-spacing: 0.18em !important;
}

.map-marker-dot {
  background: rgba(245,246,238,0.76) !important;
  border: 0 !important;
  box-shadow: 0 0 12px rgba(245,246,238,0.16) !important;
}

.message-bubble,
.message-bubble.whisper {
  background: rgba(0,0,0,0.18) !important;
  border-color: rgba(238,238,226,0.05) !important;
  box-shadow: none !important;
}

button,
.button,
.btn,
.btn-submit,
.btn-enter-game,
.btn-side,
.btn_forum_action,
input[type="submit"],
.tab-btn,
.nav-tab {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(238,238,226,0.075) !important;
  box-shadow: none !important;
}

button:hover,
.button:hover,
.btn:hover,
.btn-submit:hover,
.btn-enter-game:hover,
.btn-side:hover,
.btn_forum_action:hover,
input[type="submit"]:hover,
.tab-btn:hover,
.nav-tab:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(238,238,226,0.13) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo,
.navbar-brand,
.site-title,
.page_title,
.card-title,
.section-title,
.modal-drag-header,
.modal-header,
.nav-tab,
.game-nav-link,
.site-nav-link,
.sidebar-section-title,
.sidebar-section-label,
.forum-title,
.forum_section_title,
.title-huge,
.subtitle-huge {
  color: rgba(245,246,238,0.92) !important;
}

p,
li,
td,
span,
a,
label,
small,
.text-muted,
.pg-detail,
.forum-meta,
.msg-timestamp,
.msg-location-tag {
  color: rgba(235,236,228,0.78) !important;
}

input,
textarea,
select,
.form-input,
.form-textarea,
.chat-textarea {
  background: rgba(0,0,0,0.16) !important;
  border-color: rgba(238,238,226,0.08) !important;
}

input:focus,
textarea:focus,
select:focus,
.form-input:focus,
.form-textarea:focus,
.chat-textarea:focus {
  border-color: rgba(245,246,238,0.26) !important;
  box-shadow: 0 0 0 2px rgba(245,246,238,0.035) !important;
}

.expedition-status.pronta,
.expedition-role.covered,
.account-status.is-complete {
  color: rgba(235,236,228,0.82) !important;
}

.expedition-status.reclutamento,
.account-status.is-pending,
.warning {
  color: rgba(210, 175, 130, 0.78) !important;
}

.outpost-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.34);
  animation: outpost-dialog-in 140ms ease-out;
}

.outpost-dialog-backdrop.is-closing {
  opacity: 0;
  transition: opacity 140ms ease;
}

.outpost-dialog {
  width: min(460px, calc(100vw - 40px));
  background: rgba(5, 6, 5, 0.56);
  border: 1px solid rgba(238,238,226,0.10);
  box-shadow: 0 18px 72px rgba(0,0,0,0.48);
  padding: 28px 30px 24px;
  text-align: center;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.outpost-dialog h3 {
  margin: 0 0 14px;
  font-size: 1.28rem !important;
  letter-spacing: var(--tracking-wider) !important;
}

.outpost-dialog p {
  margin: 0;
  color: rgba(235,236,228,0.82) !important;
  font-size: 1rem;
  line-height: 1.55;
}

.outpost-dialog-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.outpost-dialog-actions button {
  min-width: 112px;
}

.outpost-dialog-actions [data-dialog-confirm] {
  color: rgba(245,246,238,0.94) !important;
  border-color: rgba(245,246,238,0.34) !important;
  text-shadow: 0 0 12px rgba(245,246,238,0.14) !important;
}

.outpost-dialog-actions [data-dialog-confirm]:hover {
  color: rgba(255,255,255,0.98) !important;
  border-color: rgba(245,246,238,0.52) !important;
}

.outpost-dialog-actions [data-dialog-cancel] {
  color: rgba(220,94,72,0.92) !important;
  border-color: rgba(184,74,50,0.34) !important;
}

.outpost-dialog-actions [data-dialog-cancel]:hover {
  color: rgba(255,132,108,0.98) !important;
  border-color: rgba(184,74,50,0.58) !important;
}

@keyframes outpost-dialog-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Homepage cleanup: no amber remnants, no uneven title spans. */
.title-huge,
.title-huge span,
.title-huge .flicker-1,
.title-huge .flicker-2,
.title-huge .flicker-3,
.title-huge .flicker-4 {
  font-family: var(--font-display) !important;
  font-size: clamp(3rem, 8vw, 8rem) !important;
  font-weight: 300 !important;
  line-height: 0.9 !important;
  letter-spacing: var(--tracking-wide) !important;
  color: rgba(245,246,238,0.92) !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.85) !important;
  transform: none !important;
  animation: none !important;
}

.login-card,
.login-card *,
.ambient-block,
.ambient-block *,
#tab-ambient,
#tab-ambient *,
#tab-requisiti,
#tab-requisiti *,
#tab-login,
#tab-login *,
#tab-test,
#tab-test *,
.step-scroll-text,
.step-scroll-text *,
.oauth-disclaimer,
.test-desc,
.forgot-pwd-link,
.homepage-footer,
.homepage-footer *,
.footer-terminal,
.footer-terminal *,
.home-meta,
.home-meta *,
.feature-strip,
.feature-strip *,
.vault-stats,
.vault-stats *,
.stat-item,
.stat-item *,
.logo-rad,
.logo-rad *,
.radioactive,
.radioactive * {
  color: rgba(235,236,228,0.78) !important;
  border-color: rgba(238,238,226,0.055) !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.78) !important;
}

.login-card strong,
.ambient-block strong,
#tab-ambient strong,
#tab-requisiti strong,
#tab-login strong,
#tab-test strong,
.homepage-footer strong {
  color: rgba(245,246,238,0.90) !important;
}

.login-card i,
.homepage-footer i,
.footer-terminal i,
.logo-rad i,
.feature-strip i,
.stat-item i {
  color: rgba(235,236,228,0.70) !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: 0 0 10px rgba(245,246,238,0.10) !important;
}

.login-card .tab-btn,
.login-card button,
.login-card .btn,
.login-card .btn-submit,
.login-card .oauth-btn,
.login-card input[type="submit"] {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.login-card .tab-btn:hover,
.login-card button:hover,
.login-card .btn:hover,
.login-card .btn-submit:hover,
.login-card .oauth-btn:hover,
.login-card input[type="submit"]:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

button:hover,
.button:hover,
.btn:hover,
.btn-submit:hover,
.btn-enter-game:hover,
.btn-side:hover,
.btn_forum_action:hover,
input[type="submit"]:hover,
.tab-btn:hover,
.nav-tab:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Final chat + icon authority: keep the live chat inside the Outpost system. */
.chat-container,
.chat-main-area,
.chat-messages-box,
.chat-input-column,
.chat-header,
.chat-input-bar,
.chat-toolbar-icons,
.chat-tag-row,
.chat-input-row,
.chat-select-box,
.chat-secondary-input,
.chat-textarea,
.chat-preview-box,
#chat-messages-flow,
#typing-indicator {
  color: rgba(235,236,228,0.82) !important;
  border-color: rgba(238,238,226,0.10) !important;
  box-shadow: none !important;
}

.chat-container,
.chat-main-area,
.chat-messages-box,
.chat-input-column {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

.chat-header,
.chat-input-bar,
.chat-toolbar-icons,
.chat-tag-row,
.chat-input-row,
.chat-select-box,
.chat-secondary-input,
.chat-textarea,
.chat-preview-box {
  background: rgba(0,0,0,0.10) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.chat-header *,
.chat-input-bar *,
.chat-toolbar-icons *,
.chat-tag-row *,
.chat-input-row *,
.chat-message,
.chat-message *,
.message-bubble,
.message-bubble *,
.whisper-line,
.whisper-line *,
.chat-system-entry,
.chat-system-entry *,
.message-inline-meta,
.chat-message-pg-name,
.char-counter,
#typing-indicator {
  color: rgba(235,236,228,0.80) !important;
}

.message-bubble,
.message-bubble.action,
.message-bubble.whisper {
  background: rgba(0,0,0,0.16) !important;
  background-image: none !important;
  border: 1px solid rgba(238,238,226,0.10) !important;
  box-shadow: none !important;
}

.whisper-line {
  background: linear-gradient(90deg, transparent, rgba(238,238,226,0.055), transparent) !important;
  border: 0 !important;
}

.chat-icon-btn,
.chat-header-btn,
.chat-send-vertical,
.modal-control-btn,
.btn-side {
  color: rgba(235,236,228,0.66) !important;
}

i,
.fa,
.fa-solid,
.fa-regular,
.fa-brands,
svg,
.icon,
[class*="fa-"] {
  color: rgba(235,236,228,0.66) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
}

button:hover i,
a:hover i,
.btn:hover i,
.button:hover i,
.btn-side:hover i,
.chat-icon-btn:hover i,
.chat-header-btn:hover i,
.chat-send-vertical:hover i,
.modal-control-btn:hover,
.active i,
.is-active i {
  color: rgba(245,246,238,0.94) !important;
  -webkit-text-fill-color: currentColor !important;
}

.char-counter.is-zero,
.char-counter.is-over,
.error,
.danger,
.btn-side-danger,
.logout-link,
.logout-link i {
  color: rgba(220,94,72,0.92) !important;
}

/* Global background authority. */
html,
body,
body.game-page,
body.dashboard-page,
body.homepage,
.site-shell,
.page-shell,
.dashboard-shell,
.game-shell,
.main-wrapper,
.app-wrapper,
.homepage-wrapper,
.background-container {
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.16), rgba(0,0,0,0.28)),
    var(--outpost-global-bg) center center / cover fixed no-repeat,
    var(--bg-main) !important;
}

@media (max-width: 780px) {
  html,
  body,
  body.game-page,
  body.dashboard-page,
  body.homepage,
  .site-shell,
  .page-shell,
  .dashboard-shell,
  .game-shell,
  .main-wrapper,
  .app-wrapper,
  .homepage-wrapper,
  .background-container {
    background:
      linear-gradient(to bottom, rgba(0,0,0,0.14), rgba(0,0,0,0.30)),
      var(--outpost-global-bg) center center / cover scroll no-repeat,
      var(--bg-main) !important;
  }
}

/* Wiki documentation layout: docs, manuale, regolamento. */
.page-content:has(.docs-sidebar):has(.docs-content),
.wiki-page {
  width: min(1380px, calc(100vw - 32px));
  min-height: calc(100vh - 120px);
  margin: 0 auto;
  padding: clamp(18px, 3vw, 42px) 0 48px;
  display: grid;
  grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.docs-sidebar,
.docs-content {
  background: rgba(0,0,0,0.12) !important;
  border-color: rgba(238,238,226,0.075) !important;
}

.docs-sidebar {
  position: sticky;
  top: 86px;
  max-height: calc(100vh - 112px);
  overflow: auto;
  padding: 14px;
}

.docs-content {
  min-height: min(760px, calc(100vh - 140px));
  padding: clamp(22px, 4vw, 54px);
}

.search-container {
  position: sticky;
  top: 0;
  z-index: 3;
  margin-bottom: 18px;
  padding-bottom: 12px;
  background: rgba(0,0,0,0.18);
}

.search-input {
  min-height: 44px;
  background: rgba(0,0,0,0.22) !important;
  border-color: rgba(238,238,226,0.12) !important;
  font-family: var(--font-ui) !important;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.search-results {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.search-result-item,
.search-no-results {
  width: 100%;
  display: block;
  text-align: left;
  padding: 10px 11px;
  background: rgba(0,0,0,0.18) !important;
  border: 1px solid rgba(238,238,226,0.08) !important;
  color: rgba(235,236,228,0.78) !important;
}

.search-result-item strong {
  display: block;
  margin-bottom: 4px;
  color: rgba(245,246,238,0.94) !important;
  font-family: var(--font-display) !important;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 300;
}

.search-result-item span {
  display: block;
  color: rgba(235,236,228,0.58) !important;
  font-size: 0.86rem;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0.02em;
}

.sidebar-section-title {
  margin: 18px 0 8px;
  color: rgba(245,246,238,0.86) !important;
  font-family: var(--font-display) !important;
  font-size: 0.95rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.22em;
}

.sidebar-section-title span {
  color: rgba(235,236,228,0.44) !important;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
}

.docs-sidebar .menu-item {
  margin: 0 0 6px;
  background: transparent !important;
  border: 0 !important;
}

.menu-header {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  cursor: pointer;
  border: 1px solid rgba(238,238,226,0.065);
  background: rgba(0,0,0,0.08);
  color: rgba(235,236,228,0.66) !important;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.menu-header span {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: inherit !important;
  font-family: var(--font-display) !important;
  font-size: 1rem;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.menu-header > i:last-child {
  flex: 0 0 auto;
  transition: transform 180ms ease, color 180ms ease;
}

.menu-header:hover,
.menu-header.active {
  color: rgba(248,249,241,0.96) !important;
  border-color: rgba(238,238,226,0.18);
  background: rgba(238,238,226,0.035);
}

.menu-header.active > i:last-child {
  transform: rotate(180deg);
}

.content-panel {
  display: none;
  max-width: 82ch;
  margin: 0 auto;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.content-panel.active {
  display: block;
}

.content-panel h1,
.content-panel h2 {
  margin-top: 0;
  margin-bottom: 22px;
  font-size: clamp(2.2rem, 5vw, 4.8rem) !important;
}

.content-panel h3 {
  margin: 32px 0 10px;
  font-size: clamp(1.22rem, 2.4vw, 1.8rem) !important;
  letter-spacing: 0.18em !important;
}

.content-panel p,
.content-panel li,
.content-panel blockquote {
  color: rgba(235,236,228,0.78) !important;
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.72;
}

.content-panel blockquote,
.toggle-section {
  margin: 18px 0;
  padding: 16px 18px;
  background: rgba(0,0,0,0.12) !important;
  border: 1px solid rgba(238,238,226,0.075) !important;
}

.toggle-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: rgba(245,246,238,0.86) !important;
}

.toggle-header > i:last-child {
  transition: transform 180ms ease;
}

.toggle-header.active > i:last-child {
  transform: rotate(180deg);
}

.toggle-content {
  display: none;
  padding-top: 12px;
}

.toggle-content.active {
  display: block;
}

@media (max-width: 860px) {
  .page-content:has(.docs-sidebar):has(.docs-content),
  .wiki-page {
    width: min(100% - 20px, 720px);
    grid-template-columns: 1fr;
    gap: 14px;
    padding-top: 12px;
  }

  .docs-sidebar {
    position: relative;
    top: auto;
    max-height: none;
  }

  .docs-content {
    min-height: auto;
    padding: 22px 16px;
  }

  .menu-header span {
    letter-spacing: 0.10em;
  }
}

/* Global hover language: no boxes, only brighter/magnified text and icons. */
a:hover,
button:hover,
.button:hover,
.btn:hover,
.btn-submit:hover,
.btn-enter-game:hover,
.site-nav-link:hover,
.game-nav-link:hover,
.nav-tab:hover,
.tab-btn:hover,
.btn-side:hover,
.chat-icon-btn:hover,
.chat-header-btn:hover,
.modal-control-btn:hover,
.action_link:hover,
.menu-header:hover {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: rgba(248,249,241,0.96) !important;
  transform: scale(1.08);
}

a:hover i,
button:hover i,
.site-nav-link:hover i,
.game-nav-link:hover i,
.btn-side:hover i,
.chat-icon-btn:hover i,
.modal-control-btn:hover {
  color: rgba(248,249,241,0.96) !important;
  text-shadow: 0 0 14px rgba(245,246,238,0.18);
}

/* Final game.php layout authority, loaded after game.css. */
body.game-page {
  --game-sidebar-width: 12.5vw;
  overflow: hidden !important;
}

body.game-page header.game-topbar {
  height: 52px !important;
  min-height: 52px !important;
  display: grid !important;
  grid-template-columns: minmax(140px, 12.5vw) auto minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 0 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page .game-header-flow {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
}

body.game-page .game-active-tabs {
  max-width: 34vw;
  display: flex;
  gap: 5px;
  overflow-x: auto;
}

body.game-page .game-topbar .cronache-scroll {
  position: static !important;
  flex: 1 1 460px !important;
  max-width: 58vw !important;
  height: 32px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.game-page .game-wrapper {
  display: grid !important;
  grid-template-columns: minmax(132px, var(--game-sidebar-width)) minmax(0, 1fr) !important;
  height: calc(100vh - 52px) !important;
  min-height: 0 !important;
}

body.game-page .game-sidebar {
  width: auto !important;
  min-width: 132px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 10px 9px !important;
  overflow-y: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page .sidebar-right,
body.game-page .bottom-icon-bar,
body.game-page .game-mobile-menu,
body.game-page .game-mobile-menu-btn,
body.game-page .chat-header {
  display: none !important;
}

body.game-page.game-sidebar-hidden .game-wrapper {
  grid-template-columns: 0 minmax(0, 1fr) !important;
}

body.game-page.game-sidebar-hidden .game-sidebar {
  display: none !important;
}

body.game-page.game-header-hidden header.game-topbar {
  display: none !important;
}

body.game-page.game-header-hidden .game-wrapper {
  height: 100vh !important;
}

body.game-page .layout-restore {
  display: none;
}

body.game-page.game-sidebar-hidden .layout-restore-sidebar,
body.game-page.game-header-hidden .layout-restore-header {
  display: inline-grid !important;
}

body.game-page .sidebar-icon-grid,
body.game-page .sidebar-quick-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

body.game-page .btn-side,
body.game-page .chat-icon-btn,
body.game-page .chat-send-vertical,
body.game-page .chat-select-box {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.game-page .chat-toolbar-icons {
  justify-content: center !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
}

@media (max-width: 1100px) {
  body.game-page {
    --game-sidebar-width: 168px;
  }
}

@media (max-width: 760px) {
  body.game-page {
    overflow: auto !important;
  }

  body.game-page header.game-topbar {
    grid-template-columns: 1fr auto !important;
    height: auto !important;
  }

  body.game-page .game-header-flow {
    grid-column: 1 / -1;
  }

  body.game-page .game-wrapper {
    height: auto !important;
    min-height: calc(100vh - 80px) !important;
    grid-template-columns: 1fr !important;
  }
}

/* Final fixes for collapse controls, sidebar preview, and chat toolbox. */
body.game-page .layout-toggle-header,
body.game-page .layout-restore-header {
  position: fixed !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  z-index: 90 !important;
}

body.game-page .layout-toggle-sidebar,
body.game-page .layout-restore-sidebar {
  position: fixed !important;
  top: 62px !important;
  left: 10px !important;
  right: auto !important;
  z-index: 90 !important;
}

body.game-page.game-header-hidden .layout-toggle-header,
body.game-page.game-sidebar-hidden .layout-toggle-sidebar {
  display: none !important;
}

body.game-page .center-column {
  padding: 6px 10px 10px 0 !important;
}

body.game-page.game-sidebar-hidden .center-column {
  padding: 14px 18px 14px 42px !important;
}

body.game-page.game-header-hidden .center-column {
  padding-top: 18px !important;
}

body.game-page .game-sidebar {
  gap: 7px !important;
  padding: 8px 7px !important;
}

body.game-page .sidebar-section-label {
  width: 100%;
  text-align: center !important;
  margin: 2px 0 3px !important;
  font-size: clamp(0.62rem, 0.68vw, 0.76rem) !important;
}

body.game-page .sidebar-icon-grid,
body.game-page .sidebar-quick-actions {
  gap: 2px !important;
}

body.game-page .btn-side {
  height: 24px !important;
  min-height: 24px !important;
}

body.game-page .btn-side i {
  font-size: clamp(0.78rem, 0.82vw, 1rem) !important;
}

body.game-page .sidebar-location {
  gap: 5px !important;
}

body.game-page .sidebar-location-preview {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  min-height: 62px !important;
  opacity: 0.86 !important;
  overflow: hidden !important;
  border: 1px solid rgba(235,236,228,0.22) !important;
  outline: 1px solid rgba(0,0,0,0.38) !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,0.42), 0 8px 26px rgba(0,0,0,0.25) !important;
}

body.game-page .sidebar-location-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.62), rgba(0,0,0,0.10) 28%, rgba(0,0,0,0.10) 72%, rgba(0,0,0,0.62));
  pointer-events: none;
}

body.game-page .sidebar-location-preview h3 {
  position: relative;
  z-index: 1;
  max-width: 96%;
  margin: 0 !important;
  padding: 4px 8px;
  text-align: center;
  overflow-wrap: anywhere;
  color: rgba(248,249,241,0.94) !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.95);
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.30), transparent);
}

body.game-page .sidebar-location p {
  max-height: clamp(58px, 12vh, 118px) !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overflow-wrap: anywhere !important;
  scrollbar-width: thin;
}

body.game-page .chat-tag-row {
  display: grid !important;
  grid-template-columns: minmax(88px, 42%) minmax(78px, auto) !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

body.game-page .chat-secondary-input {
  max-width: 180px !important;
  min-height: 28px !important;
  background: rgba(0,0,0,0.24) !important;
  color: rgba(235,236,228,0.82) !important;
  border-color: rgba(235,236,228,0.10) !important;
}

body.game-page .char-counter {
  font-size: 0.86rem !important;
  line-height: 1 !important;
}

body.game-page .chat-send-vertical,
body.game-page .chat-send-vertical:disabled,
body.game-page .chat-send-vertical.disabled {
  display: inline-grid !important;
  place-items: center !important;
  opacity: 1 !important;
  cursor: pointer !important;
  color: rgba(235,236,228,0.76) !important;
}

body.game-page .chat-send-vertical i,
body.game-page .chat-send-vertical:disabled i,
body.game-page .chat-send-vertical.disabled i {
  opacity: 1 !important;
  color: rgba(235,236,228,0.76) !important;
}

body.game-page .chat-send-vertical.can-send i,
body.game-page .chat-send-vertical:hover i {
  color: rgba(248,249,241,0.96) !important;
}

/* Latest game layout authority: collapse stability, glass sidebar, dynamic room background. */
body.game-page {
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.06), rgba(0,0,0,0.12)),
    var(--game-dynamic-bg, var(--outpost-global-bg)) center center / cover fixed no-repeat,
    var(--bg-main) !important;
}

body.game-page header.game-topbar {
  grid-template-columns: minmax(132px, var(--game-sidebar-width)) 32px minmax(0, 1fr) !important;
  overflow: visible !important;
}

body.game-page .game-header-flow {
  justify-content: flex-start !important;
}

body.game-page .game-active-tabs {
  max-width: 38vw !important;
  justify-content: flex-start !important;
}

body.game-page .game-wrapper,
body.game-page.game-sidebar-hidden .game-wrapper {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.game-page:not(.game-sidebar-hidden) .game-wrapper {
  grid-template-columns: minmax(132px, var(--game-sidebar-width)) minmax(0, 1fr) !important;
}

body.game-page .center-column {
  min-width: 0 !important;
  padding: 10px 14px 14px 0 !important;
}

body.game-page.game-sidebar-hidden .center-column {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  padding: 14px 18px !important;
}

body.game-page.game-header-hidden .center-column {
  padding-top: 14px !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore {
  width: 28px !important;
  height: 28px !important;
  min-height: 28px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  font-size: 0.82rem !important;
  letter-spacing: -0.08em !important;
  color: rgba(235,236,228,0.66) !important;
  background: rgba(2,3,3,0.14) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(5px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(5px) saturate(1.15) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover {
  color: rgba(248,249,241,0.96) !important;
  transform: scale(1.08);
}

body.game-page .layout-toggle-header,
body.game-page .layout-restore-header {
  position: fixed !important;
  top: 12px !important;
  left: calc(max(132px, var(--game-sidebar-width)) + 8px) !important;
  right: auto !important;
  z-index: 120 !important;
}

body.game-page .layout-toggle-sidebar,
body.game-page .layout-restore-sidebar {
  position: fixed !important;
  top: 64px !important;
  left: calc(max(132px, var(--game-sidebar-width)) - 30px) !important;
  right: auto !important;
  z-index: 120 !important;
}

body.game-page .layout-restore-header,
body.game-page .layout-restore-sidebar {
  display: none !important;
}

body.game-page.game-header-hidden .layout-restore-header,
body.game-page.game-sidebar-hidden .layout-restore-sidebar {
  display: inline-grid !important;
}

body.game-page.game-header-hidden .layout-toggle-header,
body.game-page.game-sidebar-hidden .layout-toggle-sidebar {
  display: none !important;
}

body.game-page .game-sidebar {
  justify-content: space-between !important;
  gap: clamp(7px, 1.05vh, 14px) !important;
  padding: 10px 7px !important;
  background:
    linear-gradient(to right, rgba(255,255,255,0.035), rgba(255,255,255,0.006)),
    rgba(4,7,8,0.18) !important;
  border-right: 1px solid rgba(235,236,228,0.08) !important;
  box-shadow: inset -1px 0 rgba(255,255,255,0.035), 10px 0 34px rgba(0,0,0,0.12) !important;
  backdrop-filter: blur(8px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(8px) saturate(1.2) !important;
}

body.game-page .sidebar-avatar-btn {
  width: fit-content !important;
  margin: 0 auto !important;
}

body.game-page .sidebar-avatar {
  width: clamp(62px, 5.2vw, 88px) !important;
  height: clamp(62px, 5.2vw, 88px) !important;
}

body.game-page .sidebar-character-name {
  margin-top: -6px !important;
  text-align: center !important;
  color: rgba(248,249,241,0.84) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(0.72rem, 0.82vw, 0.92rem) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.7);
}

body.game-page .sidebar-meta {
  gap: 3px !important;
}

body.game-page .sidebar-icon-grid,
body.game-page .sidebar-quick-actions {
  gap: 0 !important;
  row-gap: 1px !important;
}

body.game-page .btn-side {
  height: 21px !important;
  min-height: 21px !important;
  padding: 0 !important;
}

body.game-page .btn-side i {
  font-size: clamp(0.7rem, 0.76vw, 0.92rem) !important;
}

body.game-page .sidebar-section-label {
  margin: 1px 0 2px !important;
}

body.game-page .sidebar-location {
  min-height: 0 !important;
  flex: 1 1 auto !important;
}

body.game-page .sidebar-location-preview {
  min-height: clamp(62px, 9vh, 108px) !important;
}

body.game-page .sidebar-location p {
  max-height: clamp(54px, 10vh, 128px) !important;
  text-align: justify !important;
}

body.game-page .chat-tag-row {
  grid-template-columns: minmax(0, 1fr) auto !important;
  justify-content: stretch !important;
  padding-inline: 10px !important;
}

body.game-page .chat-secondary-input {
  width: 100% !important;
  max-width: none !important;
}

body.game-page .char-counter {
  min-width: 92px !important;
  justify-self: center !important;
  text-align: center !important;
  font-size: 0.92rem !important;
}

body.game-page .chat-input-row {
  align-items: stretch !important;
}

body.game-page .chat-send-vertical {
  align-self: stretch !important;
  justify-self: center !important;
  min-width: 44px !important;
}

.docs-content .content-panel,
.wiki-page .content-panel {
  max-width: 82ch !important;
}

.docs-content .content-panel h1,
.docs-content .content-panel h2,
.wiki-page .content-panel h1,
.wiki-page .content-panel h2 {
  font-size: clamp(1.65rem, 3vw, 3.05rem) !important;
}

.docs-content .content-panel h3,
.wiki-page .content-panel h3 {
  font-size: clamp(1rem, 1.5vw, 1.28rem) !important;
}

.docs-content .content-panel p,
.docs-content .content-panel li,
.wiki-page .content-panel p,
.wiki-page .content-panel li {
  font-size: clamp(0.88rem, 0.98vw, 0.98rem) !important;
  text-align: justify !important;
}

@media (max-width: 1100px) {
  body.game-page .layout-toggle-header,
  body.game-page .layout-restore-header {
    left: 176px !important;
  }

  body.game-page .layout-toggle-sidebar,
  body.game-page .layout-restore-sidebar {
    left: 138px !important;
  }
}

@media (max-width: 760px) {
  body.game-page header.game-topbar {
    grid-template-columns: 1fr 32px !important;
  }

  body.game-page .layout-toggle-header,
  body.game-page .layout-restore-header {
    top: 10px !important;
    left: auto !important;
    right: 12px !important;
  }

  body.game-page .layout-toggle-sidebar,
  body.game-page .layout-restore-sidebar {
    top: 58px !important;
    left: 12px !important;
  }

  body.game-page.game-sidebar-hidden .center-column {
    padding: 12px !important;
  }
}

/* Polish pass: FA rewind toggles, glass visibility, horizontal icon density. */
body.game-page .layout-toggle-header i,
body.game-page .layout-restore-header i {
  transform: rotate(90deg);
}

body.game-page .layout-toggle-sidebar i,
body.game-page .layout-restore-sidebar i {
  transform: none;
}

body.game-page .layout-toggle,
body.game-page .layout-restore {
  background: rgba(7, 11, 12, 0.22) !important;
  color: rgba(235,236,228,0.72) !important;
  letter-spacing: 0 !important;
}

body.game-page .game-sidebar {
  background-color: rgba(8, 12, 14, 0.34) !important;
  background-image:
    linear-gradient(115deg, rgba(255,255,255,0.07), rgba(255,255,255,0.012) 34%, rgba(0,0,0,0.12)),
    radial-gradient(circle at 22% 8%, rgba(235,236,228,0.07), transparent 26%) !important;
  border-right: 1px solid rgba(235,236,228,0.13) !important;
  box-shadow: inset -1px 0 rgba(255,255,255,0.055), 12px 0 36px rgba(0,0,0,0.18) !important;
  backdrop-filter: blur(11px) saturate(1.32) !important;
  -webkit-backdrop-filter: blur(11px) saturate(1.32) !important;
}

body.game-page .sidebar-character-name {
  margin-top: 2px !important;
  padding-top: 2px !important;
}

body.game-page .sidebar-icon-grid,
body.game-page .sidebar-quick-actions {
  grid-template-columns: repeat(3, 23px) !important;
  justify-content: center !important;
  column-gap: 1px !important;
  row-gap: 5px !important;
}

body.game-page .btn-side {
  width: 23px !important;
  height: 25px !important;
  min-height: 25px !important;
  justify-self: center !important;
}

body.game-page .sidebar-icon-grid-resources {
  grid-template-columns: repeat(3, 23px) !important;
}

/* Homepage menu-card redesign. */
body.homepage,
html:has(body.homepage) {
  width: 100% !important;
  min-height: 100vh !important;
  overflow: hidden !important;
  background:
    var(--outpost-global-bg) center center / cover fixed no-repeat,
    var(--bg-main) !important;
}

body.homepage::after {
  opacity: 0.055 !important;
}

body.homepage > * {
  position: relative !important;
  z-index: 2 !important;
}

body.homepage .navbar,
body.homepage header,
body.homepage .homepage-footer {
  display: none !important;
}

body.homepage .background-container,
body.homepage .vault-door-bg,
body.homepage .vignette-overlay,
body.homepage .noise-overlay,
body.homepage .glow-flicker {
  display: none !important;
}

body.homepage .title-container {
  position: fixed !important;
  top: clamp(46px, 8vh, 78px) !important;
  left: 50% !important;
  width: min(1180px, 94vw) !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  z-index: 8 !important;
  pointer-events: none !important;
}

body.homepage .title-huge {
  display: block !important;
  margin: 0 !important;
  margin-bottom: clamp(22px, 3.4vh, 42px) !important;
  font-size: clamp(4.4rem, 9.2vw, 8.4rem) !important;
  line-height: 0.82 !important;
  white-space: nowrap !important;
}

body.homepage .subtitle-huge {
  display: block !important;
  font-size: calc(clamp(0.78rem, 1.25vw, 1.05rem) - 2px) !important;
  line-height: 1.2 !important;
  letter-spacing: clamp(0.24em, 1vw, 0.62em) !important;
  color: rgba(235,236,228,0.58) !important;
  white-space: nowrap !important;
}

body.homepage .title-huge span {
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  vertical-align: baseline !important;
}

body.homepage .login-wrapper {
  position: fixed !important;
  top: clamp(330px, 58vh, 560px) !important;
  left: 50% !important;
  bottom: auto !important;
  transform: translate(-50%, -50%) !important;
  width: min(860px, calc(100vw - 38px)) !important;
  z-index: 12 !important;
}

body.homepage .login-card {
  display: grid !important;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 1fr) !important;
  gap: clamp(22px, 4vw, 46px) !important;
  align-items: stretch !important;
  height: min(430px, 56vh) !important;
  min-height: 390px !important;
  max-height: 430px !important;
  padding: clamp(22px, 3.4vw, 38px) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.homepage .login-card::before,
body.homepage .login-card::after {
  content: none !important;
}

body.homepage .login-card.is-logged {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(520px, calc(100vw - 38px)) !important;
  margin-inline: auto !important;
}

body.homepage .home-login-menu {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: clamp(2px, 0.46vh, 6px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.homepage .home-login-menu::before,
body.homepage .home-login-menu::after {
  content: none !important;
}

body.homepage .home-login-menu .tab-btn {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--text-muted) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(0.98rem, 1.48vw, 1.42rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.26em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  text-shadow: 0 3px 18px rgba(0,0,0,0.8) !important;
  transform-origin: left center;
}

body.homepage .home-login-menu .tab-btn::after {
  content: none !important;
}

body.homepage .home-login-menu .tab-btn:hover,
body.homepage .home-login-menu .tab-btn.active,
body.homepage .home-login-menu .home-resource-link:hover {
  color: var(--text-strong) !important;
  transform: scale(1.055);
}

body.homepage .home-login-content {
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.homepage .tab-content {
  height: min(340px, 42vh) !important;
  max-height: min(340px, 42vh) !important;
  min-height: min(340px, 42vh) !important;
  margin: 0 !important;
  padding: 0 8px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.homepage .home-intro-content {
  display: none !important;
  place-items: center !important;
  text-align: left !important;
}

body.homepage .home-intro-content.active {
  display: grid !important;
}

body.homepage .home-intro-content blockquote {
  max-width: 46ch !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.homepage .home-intro-content p {
  margin: 0 0 18px !important;
  color: var(--text-strong) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.45rem, 2.5vw, 2.55rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.13em !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
  text-shadow: 0 4px 22px rgba(0,0,0,0.88) !important;
}

body.homepage .home-intro-content cite {
  color: var(--text-muted) !important;
  font-style: normal !important;
  font-family: var(--font-ui) !important;
  font-size: 0.84rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

body.homepage #tab-login.active,
body.homepage #tab-test.active {
  min-height: min(340px, 42vh) !important;
  display: grid !important;
  place-content: center !important;
}

body.homepage .ambient-block,
body.homepage .step-scroll-text,
body.homepage .oauth-disclaimer,
body.homepage .test-box,
body.homepage .logged-home-panel,
body.homepage .register-step-container,
body.homepage .alert {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.homepage .step-scroll-text {
  height: auto !important;
  max-height: min(340px, 42vh) !important;
  padding: 0 !important;
  color: var(--text-main) !important;
  font-size: clamp(0.9rem, 1.05vw, 1.02rem) !important;
  line-height: 1.66 !important;
}

body.homepage .step-scroll-text *,
body.homepage .oauth-disclaimer,
body.homepage .test-desc,
body.homepage .forgot-pwd-link,
body.homepage .logged-home-panel,
body.homepage .logged-home-panel * {
  color: var(--text-main) !important;
}

body.homepage .step-scroll-text strong,
body.homepage .step-scroll-text em,
body.homepage .logged-home-title {
  color: var(--text-strong) !important;
}

body.homepage .oauth-icon-group {
  gap: clamp(22px, 4vw, 40px) !important;
}

body.homepage .oauth-icon-button,
body.homepage .bottom-btn {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.homepage .bottom-buttons {
  position: fixed !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  bottom: clamp(22px, 4vh, 46px) !important;
  gap: clamp(20px, 3vw, 36px) !important;
  align-items: center !important;
  z-index: 30 !important;
  display: flex !important;
}

body.homepage .bottom-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.homepage .bottom-btn i,
body.homepage .bottom-age strong {
  display: inline-block !important;
  color: rgba(235,236,228,0.78) !important;
  font-size: clamp(1.12rem, 1.7vw, 1.65rem) !important;
  letter-spacing: 0.16em !important;
  line-height: 1 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.82) !important;
}

body.homepage .bottom-btn i {
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
}

body.homepage .bottom-age strong {
  font-family: var(--font-display) !important;
  font-weight: 400 !important;
}

body.homepage .bottom-btn span {
  display: none !important;
}

body.homepage .bottom-btn:hover i,
body.homepage .bottom-btn:hover strong {
  color: var(--text-strong) !important;
  transform: scale(1.08);
}

@media (max-width: 780px) {
  body.homepage .title-container {
    top: 34px !important;
  }

  body.homepage .login-wrapper {
    top: 58vh !important;
    width: min(92vw, 560px) !important;
  }

  body.homepage .login-card {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    height: 68vh !important;
    max-height: 68vh !important;
  }

  body.homepage .home-login-menu {
    flex-direction: row !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: 22px !important;
  }

  body.homepage .home-login-menu .tab-btn {
    width: auto !important;
    flex: 0 0 auto !important;
    font-size: 1rem !important;
    letter-spacing: 0.18em !important;
  }
}

/* Homepage final tab visibility guard. Keeps inactive content out of layout. */
body.homepage .login-card .tab-content {
  display: none !important;
  overflow: hidden auto !important;
}

body.homepage .login-card .tab-content.active {
  display: block !important;
}

body.homepage .login-card .home-intro-content.active,
body.homepage .login-card #tab-login.active,
body.homepage .login-card #tab-test.active {
  display: grid !important;
}

body.homepage .home-login-menu {
  gap: clamp(8px, 1.18vh, 15px) !important;
}

body.homepage .home-login-content {
  overflow: hidden !important;
}

body.homepage .step-scroll-text {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.dashboard-user-card {
  min-height: min(360px, 46vh);
  display: grid;
  grid-template-columns: clamp(112px, 16vw, 188px) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
  max-width: 760px;
  margin: 0 auto;
}

.dashboard-user-heading {
  min-height: 0 !important;
  grid-template-columns: clamp(54px, 7vw, 76px) minmax(0, 1fr) !important;
  gap: 16px !important;
  max-width: 980px !important;
  margin: 0 auto 18px !important;
  justify-content: start !important;
}

.dashboard-user-heading .dashboard-user-avatar {
  width: clamp(54px, 7vw, 76px) !important;
}

.dashboard-user-heading h2 {
  margin: 0 !important;
  font-size: clamp(1.25rem, 2.2vw, 2rem) !important;
}

.dashboard-user-heading p {
  margin: 2px 0 0 !important;
}

.dashboard-user-avatar {
  width: clamp(112px, 16vw, 188px);
  aspect-ratio: 1;
  background-position: center;
  background-size: cover;
  border: 1px solid rgba(226, 240, 238, 0.12);
  box-shadow: 0 18px 62px rgba(0, 0, 0, 0.30);
}

.dashboard-user-kicker {
  margin-bottom: 8px;
  color: var(--text-muted) !important;
  font-family: var(--font-ui);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.dashboard-user-copy h2 {
  margin: 0 0 10px;
  font-size: clamp(2.1rem, 5vw, 4.8rem) !important;
  line-height: 0.92 !important;
}

.dashboard-user-copy p,
.dashboard-user-copy small {
  display: block;
  margin: 0;
  color: var(--text-muted) !important;
  letter-spacing: 0.08em;
}

.dashboard-logout-tab {
  margin-left: auto !important;
  display: inline-grid !important;
  place-items: center !important;
  min-width: 44px !important;
}

.wiki-poweroff {
  position: fixed;
  top: clamp(12px, 2vw, 22px);
  right: clamp(12px, 2vw, 24px);
  z-index: 80;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--text-strong) !important;
  background: rgba(4, 10, 13, 0.16) !important;
  border: 1px solid rgba(226, 240, 238, 0.075) !important;
  box-shadow: none !important;
}

.wiki-poweroff:hover {
  border-color: rgba(226, 240, 238, 0.18) !important;
  transform: scale(1.08);
}

.wiki-mobile-menu-toggle,
.wiki-mobile-menu-backdrop {
  display: none;
}

body.dashboard-page > header,
body.wiki-static-page > header {
  display: none !important;
}

@media (max-width: 720px) {
  .dashboard-user-card {
    grid-template-columns: 1fr;
    text-align: center;
    justify-items: center;
  }

  .dashboard-logout-tab {
    margin-left: 0 !important;
  }
}

/* Absolute final readability and game panel opacity authority. */
html,
body {
  font-weight: 500 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

body :where(p, li, dd, dt, label, input, textarea, select, button, a, small, blockquote, td, th, figcaption, .content, .message-content, .docs-content, .tab-content, .menu-item, .sidebar-section-label) {
  font-weight: 500 !important;
}

body :where(h1, h2, h3, h4, h5, h6, legend, .title, .section-title, .sidebar-section-title, .homepage-title-clean, .dashboard-title, .docs-content h1, .docs-content h2, .docs-content h3) {
  font-weight: 600 !important;
}

body :where(strong, b, .strong, .is-bold) {
  font-weight: 700 !important;
}

body :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands, i[class^="fa-"], i[class*=" fa-"]) {
  font-weight: 900 !important;
}

body.game-page .game-sidebar,
body.game-page .sidebar.game-sidebar,
body.game-page header.game-topbar,
body.game-page .game-topbar,
body.game-page .chat-input-column,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row {
  background: rgba(0, 0, 0, 0.10) !important;
  background-image: none !important;
  border-color: rgba(238, 239, 230, 0.045) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Absolute final chat palette revision. */
body.game-page {
  --outpost-chat-speech-blue: #86abc8;
  --outpost-chat-action-grey: #bcc2c8;
  --outpost-chat-skill-red: #b36f6f;
  --outpost-chat-attempt-white: #eef0ec;
  --outpost-chat-location-olive: #7f8565;
  --outpost-chat-preview-olive: #7f8565;
}

body.game-page .message-bubble.action,
body.game-page .message-bubble.action .message-content,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--outpost-chat-action-grey) !important;
}

body.game-page .action-speech,
body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech,
body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: var(--outpost-chat-speech-blue) !important;
}

body.game-page .action-skill,
body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill,
body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: var(--outpost-chat-skill-red) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt,
body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: var(--outpost-chat-attempt-white) !important;
}

body.game-page .msg-location-tag,
body.game-page .message-inline-meta .msg-location-tag,
body.game-page .location-tag {
  color: var(--outpost-chat-location-olive) !important;
}

body.game-page #chat-preview-message .chat-preview-label,
body.game-page .chat-preview-label {
  color: var(--outpost-chat-preview-olive) !important;
  font-style: normal !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action,
body.game-page .chat-preview-wrapper .message-bubble.preview,
body.game-page .message-bubble.preview {
  background: rgba(55, 57, 58, 0.30) !important;
  background-image: none !important;
}

body.game-page .sidebar-section-label,
body.game-page .sidebar-section-title {
  color: var(--outpost-chat-preview-olive) !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore,
body.game-page .collapse-glyph,
body.game-page .layout-toggle i,
body.game-page .layout-restore i,
body.game-page .layout-toggle svg,
body.game-page .layout-restore svg {
  color: var(--outpost-chat-preview-olive) !important;
  -webkit-text-fill-color: var(--outpost-chat-preview-olive) !important;
  border-color: color-mix(in srgb, var(--outpost-chat-preview-olive) 46%, transparent) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover,
body.game-page .layout-toggle:focus-visible,
body.game-page .layout-restore:focus-visible {
  color: #aeb092 !important;
  -webkit-text-fill-color: #aeb092 !important;
  border-color: color-mix(in srgb, #aeb092 58%, transparent) !important;
}

/* Absolute final chat palette revision. */
body.game-page {
  --outpost-chat-speech-blue: #86abc8;
  --outpost-chat-action-grey: #bcc2c8;
  --outpost-chat-skill-red: #b36f6f;
  --outpost-chat-attempt-white: #eef0ec;
  --outpost-chat-location-beige: #bcb6ad;
  --outpost-chat-preview-olive: #7f8565;
}

body.game-page .message-bubble.action,
body.game-page .message-bubble.action .message-content,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--outpost-chat-action-grey) !important;
}

body.game-page .action-speech,
body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech,
body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: var(--outpost-chat-speech-blue) !important;
}

body.game-page .action-skill,
body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill,
body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: var(--outpost-chat-skill-red) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt,
body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: var(--outpost-chat-attempt-white) !important;
}

body.game-page .msg-location-tag,
body.game-page .message-inline-meta .msg-location-tag,
body.game-page .location-tag {
  color: var(--outpost-chat-location-beige) !important;
}

body.game-page #chat-preview-message .chat-preview-label,
body.game-page .chat-preview-label {
  font-style: normal !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action,
body.game-page .chat-preview-wrapper .message-bubble.preview,
body.game-page .message-bubble.preview {
  background: color-mix(in srgb, var(--outpost-chat-preview-olive) 44%, transparent) !important;
  background-image: none !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore,
body.game-page .collapse-glyph,
body.game-page .layout-toggle i,
body.game-page .layout-restore i,
body.game-page .layout-toggle svg,
body.game-page .layout-restore svg {
  color: var(--outpost-chat-preview-olive) !important;
  -webkit-text-fill-color: var(--outpost-chat-preview-olive) !important;
  border-color: color-mix(in srgb, var(--outpost-chat-preview-olive) 46%, transparent) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover,
body.game-page .layout-toggle:focus-visible,
body.game-page .layout-restore:focus-visible {
  color: #aeb092 !important;
  -webkit-text-fill-color: #aeb092 !important;
  border-color: color-mix(in srgb, #aeb092 58%, transparent) !important;
}

/* Absolute final chat palette revision. */
body.game-page {
  --outpost-chat-speech-blue: #86abc8;
  --outpost-chat-action-grey: #bcc2c8;
  --outpost-chat-skill-red: #b36f6f;
  --outpost-chat-attempt-white: #eef0ec;
  --outpost-chat-location-beige: #bcb6ad;
  --outpost-chat-preview-olive: #7f8565;
}

body.game-page .message-bubble.action,
body.game-page .message-bubble.action .message-content,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--outpost-chat-action-grey) !important;
}

body.game-page .action-speech,
body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech,
body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: var(--outpost-chat-speech-blue) !important;
}

body.game-page .action-skill,
body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill,
body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: var(--outpost-chat-skill-red) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt,
body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: var(--outpost-chat-attempt-white) !important;
}

body.game-page .msg-location-tag,
body.game-page .message-inline-meta .msg-location-tag,
body.game-page .location-tag {
  color: var(--outpost-chat-location-beige) !important;
}

body.game-page #chat-preview-message .chat-preview-label,
body.game-page .chat-preview-label {
  font-style: normal !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action,
body.game-page .chat-preview-wrapper .message-bubble.preview,
body.game-page .message-bubble.preview {
  background: color-mix(in srgb, var(--outpost-chat-preview-olive) 44%, transparent) !important;
  background-image: none !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore,
body.game-page .collapse-glyph,
body.game-page .layout-toggle i,
body.game-page .layout-restore i,
body.game-page .layout-toggle svg,
body.game-page .layout-restore svg {
  color: var(--outpost-chat-preview-olive) !important;
  -webkit-text-fill-color: var(--outpost-chat-preview-olive) !important;
  border-color: color-mix(in srgb, var(--outpost-chat-preview-olive) 46%, transparent) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover,
body.game-page .layout-toggle:focus-visible,
body.game-page .layout-restore:focus-visible {
  color: #aeb092 !important;
  -webkit-text-fill-color: #aeb092 !important;
  border-color: color-mix(in srgb, #aeb092 58%, transparent) !important;
}

/* Final chat palette: desaturated blue/grey/violet/beige/olive. */
body.game-page {
  --outpost-chat-speech-blue: #86abc8;
  --outpost-chat-action-grey: #bcc2c8;
  --outpost-chat-skill-violet: #7288c2;
  --outpost-chat-attempt-beige: #bcb6ad;
  --outpost-chat-location-olive: #9fa083;
}

body.game-page .message-bubble.action,
body.game-page .message-bubble.action .message-content,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--outpost-chat-action-grey) !important;
}

body.game-page .action-speech,
body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech,
body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: var(--outpost-chat-speech-blue) !important;
}

body.game-page .action-skill,
body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill,
body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: var(--outpost-chat-skill-violet) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt,
body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: var(--outpost-chat-attempt-beige) !important;
}

body.game-page .msg-location-tag,
body.game-page .message-inline-meta .msg-location-tag,
body.game-page .location-tag {
  color: var(--outpost-chat-location-olive) !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore,
body.game-page .collapse-glyph,
body.game-page .layout-toggle i,
body.game-page .layout-restore i,
body.game-page .layout-toggle svg,
body.game-page .layout-restore svg {
  color: var(--outpost-chat-speech-blue) !important;
  border-color: color-mix(in srgb, var(--outpost-chat-speech-blue) 36%, transparent) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover,
body.game-page .layout-toggle:focus-visible,
body.game-page .layout-restore:focus-visible {
  color: #a5c2d9 !important;
  border-color: color-mix(in srgb, #a5c2d9 52%, transparent) !important;
}

/* Global readability pass: slightly firmer text without making the site feel bold. */
html,
body {
  font-weight: 500 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body :where(p, li, dd, dt, label, input, textarea, select, button, a, small, blockquote, td, th, figcaption, .content, .message-content, .docs-content, .tab-content, .menu-item, .sidebar-section-label) {
  font-weight: 500 !important;
}

body :where(h1, h2, h3, h4, h5, h6, legend, .title, .section-title, .sidebar-section-title, .homepage-title-clean, .dashboard-title, .docs-content h1, .docs-content h2, .docs-content h3) {
  font-weight: 600 !important;
}

body :where(strong, b, .strong, .is-bold) {
  font-weight: 700 !important;
}

body :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands, i[class^="fa-"], i[class*=" fa-"]) {
  font-weight: 900 !important;
}

/* Game panel opacity authority: sidebar, header and chat input area at 10%. */
body.game-page .game-sidebar,
body.game-page .sidebar.game-sidebar,
body.game-page header.game-topbar,
body.game-page .game-topbar,
body.game-page .chat-input-column,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row {
  background: rgba(0, 0, 0, 0.10) !important;
  background-image: none !important;
  border-color: rgba(238, 239, 230, 0.045) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Legacy amber/rust kill switch: this file is the final cascade authority. */
:root {
  --bg-main: #071015 !important;
  --text-main: rgba(232, 238, 235, 0.82) !important;
  --text-strong: rgba(248, 252, 248, 0.96) !important;
  --text-muted: rgba(218, 230, 226, 0.54) !important;
  --text-faint: rgba(218, 230, 226, 0.32) !important;
  --accent: rgba(150, 218, 220, 0.82) !important;
  --danger: rgba(216, 104, 92, 0.92) !important;
  --warning: rgba(206, 196, 218, 0.72) !important;
  --border-soft: rgba(226, 240, 238, 0.055) !important;
  --border-medium: rgba(226, 240, 238, 0.12) !important;

  --color-bg: #071015 !important;
  --color-bg-2: #0b161b !important;
  --color-primary: var(--text-main) !important;
  --color-primary-dark: rgba(166, 190, 191, 0.54) !important;
  --color-accent: var(--accent) !important;
  --color-accent-cold: var(--accent) !important;
  --color-accent-cold-dim: rgba(150, 218, 220, 0.12) !important;
  --color-accent-warm: rgba(206, 196, 218, 0.72) !important;
  --color-accent-hover: var(--text-strong) !important;
  --color-on-accent: #071015 !important;
  --color-accent-rust: rgba(170, 190, 194, 0.58) !important;
  --color-accent-rust-dim: rgba(170, 190, 194, 0.08) !important;
  --color-text: var(--text-main) !important;
  --color-text-bright: var(--text-strong) !important;
  --color-text-muted: var(--text-muted) !important;
  --color-text-dim: var(--text-faint) !important;
  --color-surface: rgba(4, 10, 13, 0.16) !important;
  --color-surface-dark: rgba(2, 7, 10, 0.24) !important;
  --color-surface-mid: rgba(6, 13, 16, 0.20) !important;
  --color-border: var(--border-soft) !important;
  --color-border-dim: rgba(226, 240, 238, 0.035) !important;
  --color-border-gold: var(--border-medium) !important;
  --color-danger: var(--danger) !important;
  --color-danger-bg: rgba(216, 104, 92, 0.10) !important;
  --color-success: rgba(152, 212, 194, 0.82) !important;
  --color-success-bg: rgba(152, 212, 194, 0.10) !important;
  --hud-amber: var(--accent) !important;
  --hud-dash: rgba(226, 240, 238, 0.10) !important;
  --hazard-stripes: none !important;
}

html,
body,
body.homepage,
body.game-page,
body.dashboard-page,
body.discord-forum-page,
body.spam-forum-page,
.site-shell,
.page-shell,
.dashboard-shell,
.game-shell,
.main-wrapper,
.app-wrapper,
.homepage-wrapper,
.background-container {
  background:
    var(--outpost-global-bg) center center / cover fixed no-repeat,
    var(--bg-main) !important;
}

body::before,
html::before,
html::after,
.vignette-overlay,
.noise-overlay,
.glow-flicker,
.vault-door-bg {
  content: none !important;
  display: none !important;
  background: none !important;
}

body::after {
  opacity: 0.045 !important;
}

header,
footer,
.navbar,
.site-nav,
.game-header-nav,
.dashboard-nav,
.sidebar,
.sidebar-right,
.bottom-icon-bar,
.homepage-footer,
.footer-terminal,
.card,
.panel,
.login-card,
.register-card,
.form-card,
.pg-card,
.dashboard-panel,
.form-section,
.points-budget,
.stat-selector,
.stat-box,
.docs-sidebar,
.docs-content,
.content-panel,
.manual-section,
.rule,
.forum-wrapper,
.pagina_forum,
.page_body,
.panels_box,
.forum_content,
.wa-side,
.wa-main,
.wa-dialog,
.message-bubble,
.expedition-card,
.expedition-test-panel,
.expedition-event-form {
  background-color: rgba(4, 10, 13, 0.14) !important;
  background-image: none !important;
  border-color: rgba(226, 240, 238, 0.055) !important;
  box-shadow: none !important;
}

.modal,
.modal-content,
.drag-modal,
.draggable-modal,
.dropdown-menu,
.dropdown,
.menu-panel,
.edit-form-modal,
.outpost-dialog {
  background: rgba(5, 12, 15, 0.46) !important;
  border-color: rgba(226, 240, 238, 0.10) !important;
  box-shadow: 0 18px 72px rgba(0, 0, 0, 0.34) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
}

/* Game modal geometry lives in assets/css/game.css. */

button,
.button,
.btn,
.btn-tld,
.btn-submit,
.btn-test,
.btn-step-yes,
.btn-step-no,
.btn-logout,
.btn-enter-game,
.btn-stat,
.btn-side,
.btn_forum_action,
.wa-btn-primary,
.wa-btn-secondary,
input[type="submit"],
.tab-btn,
.nav-tab,
.map-room-pill,
.map-switcher-link {
  color: var(--text-strong) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(226, 240, 238, 0.075) !important;
  box-shadow: none !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.72) !important;
}

button:hover,
.button:hover,
.btn:hover,
.btn-tld:hover,
.btn-submit:hover,
.btn-test:hover,
.btn-step-yes:hover,
.btn-logout:hover,
.btn-enter-game:hover,
.btn-stat:hover,
.btn-side:hover,
.btn_forum_action:hover,
.wa-btn-primary:hover,
.wa-btn-secondary:hover,
input[type="submit"]:hover,
.tab-btn:hover,
.nav-tab:hover,
.map-room-pill:hover,
.map-switcher-link:hover,
.map-switcher-link.active {
  color: var(--text-strong) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(226, 240, 238, 0.13) !important;
  box-shadow: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.logo,
.navbar-brand,
.site-title,
.page_title,
.card-title,
.section-title,
.modal-drag-header,
.modal-header,
.nav-tab,
.game-nav-link,
.site-nav-link,
.sidebar-section-title,
.sidebar-section-label,
.forum-title,
.forum_section_title,
.title-huge,
.subtitle-huge,
.wa-main-header .sub,
.wa-side-info,
.wa-game-date,
.wa-bubble .freq,
.wk-char-row .freq {
  color: var(--text-strong) !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.74) !important;
}

p,
li,
td,
span,
a,
label,
small,
.text-muted,
.pg-detail,
.forum-meta,
.msg-timestamp,
.msg-location-tag,
.chat-message *,
.message-bubble *,
.wa-conv *,
.wa-bubble *,
.sheet-container * {
  color: var(--text-main) !important;
}

i,
.fa,
.fa-solid,
.fa-regular,
.fa-brands,
svg,
.icon,
[class*="fa-"] {
  color: rgba(232, 238, 235, 0.72) !important;
  fill: currentColor !important;
  stroke: currentColor !important;
  -webkit-text-fill-color: currentColor !important;
  filter: none !important;
}

.map-container,
.map-room-panel,
.map-switcher,
.map-room-pill,
.map-switcher-link,
.map-marker,
.map-marker-label,
.map-marker-count,
.chat-container,
.chat-main-area,
.chat-messages-box,
.chat-input-column {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: rgba(226, 240, 238, 0.045) !important;
  box-shadow: none !important;
}

.mappa-viewport {
  background-color: transparent !important;
  border-color: rgba(226, 240, 238, 0.045) !important;
  box-shadow: none !important;
}

body.game-page .mappa-card-viewport {
  width: min(100%, 1160px) !important;
  min-height: min(78vh, 760px) !important;
  margin: auto !important;
  padding: clamp(18px, 3vw, 34px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.10) !important;
  border: 1px solid rgba(238, 240, 236, 0.08) !important;
  overflow: visible !important;
}

body.game-page .mappa-card-grid {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(225px, 325px)) !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(18px, 2.4vw, 32px) !important;
}

body.game-page .outpost-map-card,
body.game-page .outpost-map-card:visited {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid rgba(238, 240, 236, 0.14) !important;
  background: rgba(0, 0, 0, 0.20) !important;
  color: rgba(238, 240, 236, 0.94) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.28) !important;
}

body.game-page .outpost-map-card--portrait,
body.game-page .map-card--portrait {
  aspect-ratio: 2 / 3 !important;
}

body.game-page .outpost-map-card--landscape,
body.game-page .map-card--landscape {
  aspect-ratio: 3 / 2 !important;
  max-width: 425px !important;
}

body.game-page .outpost-map-card-image,
body.game-page .outpost-map-card-overlay {
  position: absolute !important;
  inset: 0 !important;
}

body.game-page .outpost-map-card-image {
  background-image: var(--map-card-image) !important;
  background-size: cover !important;
  background-position: center !important;
  transform: scale(1) !important;
  filter: saturate(0.78) brightness(0.84) !important;
  transition: transform 0.24s ease, filter 0.24s ease !important;
}

body.game-page .outpost-map-card-overlay {
  background: rgba(0, 0, 0, 0.20) !important;
  z-index: 1 !important;
  transition: background 0.24s ease !important;
}

body.game-page .outpost-map-card:hover .outpost-map-card-image {
  transform: scale(1.07) !important;
  filter: saturate(0.92) brightness(1.12) !important;
}

body.game-page .outpost-map-card:hover .outpost-map-card-overlay {
  background: rgba(0, 0, 0, 0.08) !important;
}

body.game-page .outpost-map-card-title {
  position: relative !important;
  z-index: 3 !important;
  display: block !important;
  max-width: 90% !important;
  color: rgba(238, 240, 236, 0.96) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.15rem, 2.2vw, 2rem) !important;
  line-height: 1.08 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.82) !important;
}

body.game-page .outpost-map-card-lock {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  color: rgba(238, 240, 236, 0.86) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1rem, 1.6vw, 1.35rem) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.62) 0 18px, rgba(0,0,0,0.16) 18px 36px) !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.92) !important;
  pointer-events: none !important;
}

body.game-page .outpost-map-card--locked .outpost-map-card-title {
  transform: translateY(-34px) !important;
}

body.game-page .outpost-map-card::after {
  content: attr(data-tooltip) !important;
  position: absolute !important;
  left: 50% !important;
  bottom: calc(100% + 10px) !important;
  z-index: 20 !important;
  width: min(360px, 76vw) !important;
  max-height: 180px !important;
  overflow: hidden !important;
  padding: 12px 14px !important;
  color: rgba(238, 240, 236, 0.90) !important;
  background: rgba(0, 0, 0, 0.82) !important;
  border: 1px solid rgba(238, 240, 236, 0.10) !important;
  text-align: justify !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  opacity: 0 !important;
  transform: translate(-50%, 8px) !important;
  pointer-events: none !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}

body.game-page .outpost-map-card:hover::after {
  opacity: 1 !important;
  transform: translate(-50%, 0) !important;
}

body.game-page .outpost-map-card-count {
  position: absolute !important;
  right: 10px !important;
  bottom: 10px !important;
  z-index: 4 !important;
  min-width: 24px !important;
  height: 24px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: rgba(134, 171, 200, 0.82) !important;
  color: rgba(0, 0, 0, 0.78) !important;
  font-weight: 700 !important;
}

body.game-page .map-room-empty {
  color: rgba(238, 240, 236, 0.70) !important;
  text-align: center !important;
}

body.game-page .mappa-card-viewport .mappa-nome {
  display: none !important;
}

@media (max-width: 920px) {
  body.game-page .mappa-card-grid {
    grid-template-columns: repeat(2, minmax(185px, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.game-page .mappa-card-viewport {
    min-height: auto !important;
    padding: 14px !important;
  }

  body.game-page .mappa-card-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.map-hotspot,
.map-hotspot:visited,
.map-room-pill,
.map-room-pill:visited {
  text-decoration: none !important;
}

.map-hotspot-image {
  border: 0 !important;
  box-shadow: none !important;
}

.map-room-pill,
.map-switcher-link,
.map-marker,
.map-marker-label,
.map-marker-count {
  border-color: transparent !important;
  outline: 0 !important;
}

.map-marker-dot {
  background: rgba(232, 238, 235, 0.76) !important;
  border: 0 !important;
  box-shadow: 0 0 12px rgba(150, 218, 220, 0.18) !important;
}

.hazard-strip,
.bunker-panel::before,
.bunker-panel::after {
  display: none !important;
  content: none !important;
}

.flicker-1,
.flicker-2,
.flicker-3,
.flicker-4,
.logo-rad i {
  animation: none !important;
  filter: none !important;
}

.outpost-loading-screen {
  background:
    var(--outpost-global-bg) center center / cover fixed no-repeat,
    #071015 !important;
  color: var(--text-strong) !important;
}

.outpost-loading-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(3, 8, 10, 0.18);
  pointer-events: none;
}

.outpost-loading-glitch,
.outpost-loading-message,
.outpost-loading-quote,
.outpost-loading-source,
.outpost-loading-percent {
  color: var(--text-strong) !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, 0.78) !important;
}

.outpost-loading-quote,
.outpost-loading-source,
.outpost-loading-message {
  color: var(--text-muted) !important;
}

.outpost-loading-ring {
  border-color: rgba(226, 240, 238, 0.13) !important;
  border-top-color: rgba(150, 218, 220, 0.86) !important;
  border-right-color: rgba(226, 240, 238, 0.42) !important;
}

@media (max-width: 780px) {
  html,
  body,
  body.homepage,
  body.game-page,
  body.dashboard-page {
    background:
      var(--outpost-global-bg) center center / cover scroll no-repeat,
      var(--bg-main) !important;
  }
}

/* Homepage typography and compact action polish. */
a,
a:visited,
a:hover,
a:focus,
a:focus-visible,
a:active {
  text-decoration: none !important;
}

body.homepage .subtitle-huge {
  text-transform: uppercase !important;
}

body.homepage .homepage-title-clean {
  position: relative !important;
  font-family: var(--font-display) !important;
  font-size: clamp(3.6rem, 10.4vw, 9rem) !important;
  font-weight: 600 !important;
  line-height: 0.9 !important;
  color: var(--text-strong) !important;
  letter-spacing: 12px !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, 0.95) !important;
}

body.homepage .login-card {
  align-items: stretch !important;
}

body.homepage .home-login-menu {
  gap: clamp(12px, 1.45vh, 18px) !important;
}

body.homepage .home-login-menu .tab-btn {
  font-size: calc(clamp(0.98rem, 1.48vw, 1.42rem) + 2px) !important;
  letter-spacing: 0.34em !important;
  line-height: 1.08 !important;
}

body.homepage .home-login-content {
  height: 100% !important;
}

body.homepage .tab-content {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

body.homepage .home-intro-content {
  align-items: center !important;
}

body.homepage .home-quote-carousel {
  transition: opacity 420ms ease, transform 420ms ease, filter 420ms ease !important;
}

body.homepage .home-quote-carousel.is-changing {
  opacity: 0 !important;
  transform: translateY(8px) !important;
  filter: blur(3px) !important;
}

body.homepage .homepage-stats-grid {
  height: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.5vw, 16px) !important;
  align-content: center !important;
}

body.homepage .homepage-stat {
  min-height: 92px !important;
  display: grid !important;
  align-content: center !important;
  gap: 7px !important;
  padding: clamp(12px, 1.7vw, 18px) !important;
  border: 1px solid rgba(226, 240, 238, 0.08) !important;
  background: rgba(3, 10, 12, 0.18) !important;
}

body.homepage .homepage-stat-wide {
  grid-column: 1 / -1 !important;
}

body.homepage .homepage-stat strong {
  font-family: var(--font-display) !important;
  font-size: clamp(1.75rem, 3vw, 3rem) !important;
  line-height: 0.95 !important;
  color: rgba(232, 238, 235, 0.94) !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55) !important;
}

body.homepage .homepage-stat span {
  font-family: var(--font-ui) !important;
  font-size: clamp(0.68rem, 0.9vw, 0.82rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
  color: rgba(232, 238, 235, 0.68) !important;
}

body.homepage .home-intro-content p {
  font-family: var(--font-ui) !important;
  font-size: clamp(0.92rem, 1.2vw, 1.12rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0.045em !important;
  line-height: 1.6 !important;
  text-transform: none !important;
  color: rgba(232, 238, 235, 0.82) !important;
}

body.homepage .home-intro-content cite {
  margin-top: 8px !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
}

body.homepage #tab-login.active,
body.homepage #tab-test.active {
  place-items: center !important;
  place-content: center !important;
  text-align: center !important;
}

body.homepage .oauth-disclaimer,
body.homepage .test-desc,
body.homepage .test-box {
  max-width: 44ch !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.homepage .oauth-icon-group {
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(34px, 5vw, 64px) !important;
  margin-top: clamp(24px, 4vh, 42px) !important;
}

body.homepage .oauth-icon-button {
  width: clamp(72px, 8vw, 104px) !important;
  height: clamp(72px, 8vw, 104px) !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: clamp(14px, 2vw, 22px) !important;
}

body.homepage .oauth-icon-button i {
  font-size: clamp(2.7rem, 4.4vw, 4.2rem) !important;
}

body.homepage .bottom-buttons {
  gap: clamp(12px, 2vw, 20px) !important;
}

body.homepage .bottom-btn {
  opacity: 0.62 !important;
  filter: grayscale(0.85) saturate(0.45) !important;
}

body.homepage .bottom-btn i,
body.homepage .bottom-age strong {
  font-size: clamp(0.82rem, 1.08vw, 1.05rem) !important;
  letter-spacing: 0.08em !important;
}

body.homepage .bottom-btn:hover {
  opacity: 0.9 !important;
  filter: grayscale(0.4) saturate(0.75) !important;
}

@media (max-width: 780px) {
  body.homepage .home-login-menu {
    gap: 26px !important;
  }

  body.homepage .home-login-menu .tab-btn {
    font-size: 1.08rem !important;
    letter-spacing: 0.22em !important;
  }

  body.homepage .tab-content {
    min-height: 0 !important;
  }
}

/* Homepage card: menu and content share the same visual block height. */
body.homepage .login-card {
  --home-card-block-height: clamp(360px, 48vh, 450px);
  height: var(--home-card-block-height) !important;
  min-height: var(--home-card-block-height) !important;
  max-height: var(--home-card-block-height) !important;
  align-items: stretch !important;
}

body.homepage .home-login-menu,
body.homepage .home-login-content,
body.homepage .login-card .tab-content {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
}

body.homepage .home-login-menu {
  justify-content: space-between !important;
  padding-block: clamp(4px, 0.9vh, 10px) !important;
}

body.homepage .home-login-menu .tab-btn {
  line-height: 1.12 !important;
}

body.homepage .home-login-content {
  justify-content: stretch !important;
  align-self: start !important;
  height: calc(100% - 20px) !important;
  min-height: calc(100% - 20px) !important;
  max-height: calc(100% - 20px) !important;
}

body.homepage .login-card .tab-content.active {
  align-content: center !important;
}

body.homepage #tab-ambient.active,
body.homepage #tab-requisiti.active {
  display: block !important;
}

body.homepage #tab-ambient .step-scroll-text,
body.homepage #tab-requisiti .step-scroll-text {
  height: 100% !important;
  max-height: 100% !important;
  text-align: justify !important;
  text-align-last: left !important;
  hyphens: auto;
}

@media (max-width: 780px) {
  body.homepage .login-card {
    --home-card-block-height: 68vh;
  }

  body.homepage .home-login-menu {
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.homepage .home-login-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* Homepage mobile authority: true vertical flow, no clipped fixed layout. */
@media (max-width: 780px) {
  html:has(body.homepage),
  body.homepage {
    width: 100% !important;
    min-height: 100dvh !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background:
      linear-gradient(180deg, rgba(2, 7, 10, 0.08), rgba(2, 7, 10, 0.22)),
      var(--outpost-global-bg) center center / cover scroll no-repeat,
      var(--bg-main) !important;
  }

  body.homepage {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: max(20px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom)) !important;
  }

  body.homepage > * {
    width: 100% !important;
  }

  body.homepage .title-container {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: 0 auto clamp(24px, 5vh, 42px) !important;
    padding-inline: 2px !important;
    text-align: center !important;
  }

  body.homepage .title-huge,
  body.homepage .homepage-title-clean {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: clamp(3.1rem, 16vw, 5.8rem) !important;
    line-height: 0.86 !important;
    letter-spacing: clamp(0.08em, 2.2vw, 0.16em) !important;
    margin-bottom: clamp(12px, 2.8vh, 20px) !important;
  }

  body.homepage .subtitle-huge {
    white-space: normal !important;
    max-width: 30ch !important;
    margin-inline: auto !important;
    font-size: clamp(0.72rem, 3.1vw, 0.9rem) !important;
    line-height: 1.35 !important;
    letter-spacing: clamp(0.14em, 1.6vw, 0.28em) !important;
  }

  body.homepage .login-wrapper {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto !important;
  }

  body.homepage .login-card,
  body.homepage .login-card.is-logged {
    --home-card-block-height: auto;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(18px, 4vh, 28px) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
  }

  body.homepage .home-login-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: clamp(18px, 6vw, 30px) !important;
    padding: 0 0 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.homepage .home-login-menu::-webkit-scrollbar {
    display: none;
  }

  body.homepage .home-login-menu .tab-btn,
  body.homepage .home-login-menu .home-resource-link {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    font-size: clamp(0.92rem, 4vw, 1.08rem) !important;
    line-height: 1.1 !important;
    letter-spacing: clamp(0.16em, 1.7vw, 0.24em) !important;
    text-align: center !important;
    transform: none !important;
  }

  body.homepage .home-login-menu .tab-btn:hover,
  body.homepage .home-login-menu .tab-btn.active,
  body.homepage .home-login-menu .home-resource-link:hover {
    transform: none !important;
  }

  body.homepage .home-login-content {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.homepage .login-card .tab-content,
  body.homepage .tab-content {
    width: 100% !important;
    height: auto !important;
    min-height: min(260px, 42vh) !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.homepage .login-card .tab-content.active {
    align-content: start !important;
  }

  body.homepage .login-card .home-intro-content.active,
  body.homepage .login-card #tab-login.active,
  body.homepage .login-card #tab-test.active {
    min-height: min(300px, 44vh) !important;
    place-content: center !important;
  }

  body.homepage .home-intro-content blockquote {
    max-width: 100% !important;
  }

  body.homepage .home-intro-content p {
    font-size: clamp(0.92rem, 4.2vw, 1.18rem) !important;
    line-height: 1.55 !important;
    letter-spacing: 0.04em !important;
  }

  body.homepage .step-scroll-text,
  body.homepage #tab-ambient .step-scroll-text,
  body.homepage #tab-requisiti .step-scroll-text {
    height: auto !important;
    min-height: 0 !important;
    max-height: min(56vh, 520px) !important;
    overflow-y: auto !important;
    padding-right: 8px !important;
    font-size: clamp(0.88rem, 3.7vw, 1rem) !important;
    line-height: 1.62 !important;
  }

  body.homepage .homepage-stats-grid {
    height: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-content: start !important;
  }

  body.homepage .homepage-stat {
    min-height: 78px !important;
  }

  body.homepage .oauth-icon-group {
    gap: clamp(26px, 9vw, 42px) !important;
    margin-top: 24px !important;
  }

  body.homepage .oauth-icon-button {
    width: clamp(70px, 21vw, 92px) !important;
    height: clamp(70px, 21vw, 92px) !important;
  }

  body.homepage .bottom-buttons {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    margin: clamp(28px, 6vh, 44px) auto 0 !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

@media (max-width: 430px) {
  body.homepage {
    padding-inline: 14px !important;
  }

  body.homepage .title-huge,
  body.homepage .homepage-title-clean {
    font-size: clamp(2.75rem, 15vw, 4.35rem) !important;
    letter-spacing: 0.08em !important;
  }

  body.homepage .home-login-menu {
    gap: 18px !important;
  }

  body.homepage .home-login-menu .tab-btn,
  body.homepage .home-login-menu .home-resource-link {
    font-size: 0.94rem !important;
    letter-spacing: 0.16em !important;
  }

  body.homepage .login-card .home-intro-content.active,
  body.homepage .login-card #tab-login.active,
  body.homepage .login-card #tab-test.active {
    min-height: 250px !important;
  }
}

/* Wiki docs mobile: content first, navigation in hamburger drawer. */
@media (max-width: 860px) {
  body.wiki-static-page {
    min-height: 100dvh !important;
    overflow-x: hidden !important;
    padding: max(14px, env(safe-area-inset-top)) 14px max(22px, env(safe-area-inset-bottom)) !important;
  }

  body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
  body.wiki-static-page .wiki-page {
    width: 100% !important;
    max-width: 720px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 56px 0 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.wiki-static-page .docs-content {
    order: 1 !important;
    width: 100% !important;
    min-height: auto !important;
    padding: clamp(18px, 5vw, 28px) !important;
    overflow: visible !important;
  }

  body.wiki-static-page .docs-sidebar {
    order: 2 !important;
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 130 !important;
    width: min(84vw, 340px) !important;
    max-width: 340px !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 74px 16px 24px !important;
    overflow: auto !important;
    transform: translateX(calc(-100% - 18px)) !important;
    transition: transform 240ms ease !important;
    background: rgba(3, 8, 10, 0.82) !important;
    border-right: 1px solid rgba(226, 240, 238, 0.12) !important;
    border-left: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 18px 0 64px rgba(0, 0, 0, 0.46) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }

  body.wiki-menu-open .docs-sidebar {
    transform: translateX(0) !important;
  }

  .wiki-mobile-menu-toggle {
    position: fixed !important;
    top: max(12px, env(safe-area-inset-top)) !important;
    left: 14px !important;
    z-index: 150 !important;
    min-width: 44px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 12px !important;
    color: var(--text-strong) !important;
    font-family: var(--font-display) !important;
    font-size: 0.9rem !important;
    font-weight: 300 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    background: rgba(4, 10, 13, 0.34) !important;
    border: 1px solid rgba(226, 240, 238, 0.10) !important;
    box-shadow: none !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }

  .wiki-mobile-menu-toggle i {
    font-size: 1rem !important;
  }

  .wiki-mobile-menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 120 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: rgba(0, 0, 0, 0.42) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 220ms ease !important;
  }

  body.wiki-menu-open .wiki-mobile-menu-backdrop {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.wiki-static-page .wiki-poweroff {
    top: max(12px, env(safe-area-inset-top)) !important;
    right: 14px !important;
    z-index: 150 !important;
    width: 42px !important;
    height: 42px !important;
  }

  body.wiki-static-page .search-container {
    position: relative !important;
    top: auto !important;
    margin-bottom: 18px !important;
    background: transparent !important;
  }

  body.wiki-static-page .menu-header {
    min-height: 44px !important;
  }

  body.wiki-static-page .menu-header span {
    font-size: 0.94rem !important;
    letter-spacing: 0.1em !important;
  }

  body.wiki-static-page .content-panel {
    max-width: 100% !important;
  }

  body.wiki-static-page .content-panel h1,
  body.wiki-static-page .content-panel h2 {
    font-size: clamp(2rem, 12vw, 3.25rem) !important;
    line-height: 0.95 !important;
    letter-spacing: clamp(0.12em, 2vw, 0.22em) !important;
  }

  body.wiki-static-page .content-panel h3 {
    font-size: clamp(1.08rem, 5vw, 1.45rem) !important;
    line-height: 1.12 !important;
  }

  body.wiki-static-page .content-panel p,
  body.wiki-static-page .content-panel li,
  body.wiki-static-page .content-panel blockquote {
    font-size: clamp(0.95rem, 4vw, 1.04rem) !important;
    line-height: 1.68 !important;
  }
}

@media (max-width: 420px) {
  body.wiki-static-page {
    padding-inline: 10px !important;
  }

  .wiki-mobile-menu-toggle span {
    display: none !important;
  }

  body.wiki-static-page .docs-sidebar {
    width: min(88vw, 330px) !important;
    padding-inline: 12px !important;
  }

  body.wiki-static-page .docs-content {
    padding: 18px 14px !important;
  }
}

/* Dashboard mobile authority: compact account header, scrollable tabs, one-column content. */
@media (max-width: 860px) {
  html:has(body.dashboard-page),
  body.dashboard-page {
    width: 100% !important;
    min-height: 100dvh !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  body.dashboard-page {
    padding: max(14px, env(safe-area-inset-top)) 12px max(24px, env(safe-area-inset-bottom)) !important;
  }

  body.dashboard-page .container {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body.dashboard-page .alert {
    align-items: flex-start !important;
    padding: 12px 14px !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
  }

  body.dashboard-page .alert form {
    width: 100% !important;
  }

  body.dashboard-page .alert .form-input {
    max-width: none !important;
  }

  body.dashboard-page .dashboard-user-card,
  body.dashboard-page .dashboard-user-heading {
    width: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: left !important;
    max-width: none !important;
    margin: 0 0 18px !important;
  }

  body.dashboard-page .dashboard-user-heading .dashboard-user-avatar,
  body.dashboard-page .dashboard-user-avatar {
    width: 56px !important;
    min-width: 56px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.32) !important;
  }

  body.dashboard-page .dashboard-user-kicker {
    margin-bottom: 4px !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.16em !important;
  }

  body.dashboard-page .dashboard-user-copy {
    min-width: 0 !important;
  }

  body.dashboard-page .dashboard-user-copy h2,
  body.dashboard-page .dashboard-user-heading h2 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(1.35rem, 7vw, 2rem) !important;
    line-height: 0.98 !important;
    letter-spacing: 0.12em !important;
    overflow-wrap: anywhere !important;
  }

  body.dashboard-page .dashboard-user-copy p,
  body.dashboard-page .dashboard-user-heading p {
    margin-top: 4px !important;
    font-size: 0.82rem !important;
    overflow-wrap: anywhere !important;
  }

  body.dashboard-page .dashboard-nav {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: clamp(18px, 6vw, 30px) !important;
    margin: 0 0 18px !important;
    padding: 0 0 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.dashboard-page .dashboard-nav::-webkit-scrollbar {
    display: none;
  }

  body.dashboard-page .nav-tab {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    padding: 0 0 7px !important;
    font-size: clamp(0.82rem, 3.6vw, 0.98rem) !important;
    line-height: 1.1 !important;
    letter-spacing: clamp(0.12em, 1.5vw, 0.2em) !important;
    white-space: nowrap !important;
  }

  body.dashboard-page .dashboard-logout-tab {
    margin-left: 0 !important;
    min-width: 34px !important;
    width: 34px !important;
    height: 30px !important;
    padding: 0 0 7px !important;
  }

  body.dashboard-page .panel {
    width: 100% !important;
    min-height: 0 !important;
    padding: clamp(18px, 5vw, 24px) !important;
    overflow: visible !important;
    background: rgba(0, 0, 0, 0.14) !important;
  }

  body.dashboard-page .panel h3,
  body.dashboard-page .panel h4 {
    font-size: clamp(1.08rem, 5vw, 1.55rem) !important;
    line-height: 1.1 !important;
    letter-spacing: 0.16em !important;
  }

  body.dashboard-page .characters-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: min(100%, 360px) !important;
    margin: 0 auto !important;
  }

  body.dashboard-page .pg-card {
    width: 100% !important;
    min-height: 340px !important;
    aspect-ratio: 4 / 5 !important;
  }

  body.dashboard-page .pg-name {
    font-size: clamp(1.18rem, 6vw, 1.65rem) !important;
    letter-spacing: 0.14em !important;
  }

  body.dashboard-page .grid-2,
  body.dashboard-page .grid-3,
  body.dashboard-page .stats-grid,
  body.dashboard-page .dashboard-grid,
  body.dashboard-page .stats-row,
  body.dashboard-page .pg-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.dashboard-page .form-group label {
    line-height: 1.3 !important;
    letter-spacing: 0.14em !important;
  }

  body.dashboard-page .form-input,
  body.dashboard-page select,
  body.dashboard-page textarea {
    min-height: 42px !important;
    font-size: 1rem !important;
  }

  body.dashboard-page form[style*="display:flex"],
  body.dashboard-page div[style*="display:flex"] {
    width: 100% !important;
    align-items: stretch !important;
  }

  body.dashboard-page .btn-enter-game,
  body.dashboard-page .btn-logout,
  body.dashboard-page .danger-button {
    min-height: 42px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  body.dashboard-page .list-table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    -webkit-overflow-scrolling: touch;
  }

  body.dashboard-page .list-table thead,
  body.dashboard-page .list-table tbody,
  body.dashboard-page .list-table tr {
    width: max-content !important;
    min-width: 100% !important;
  }

  body.dashboard-page .list-table th,
  body.dashboard-page .list-table td {
    min-width: 138px !important;
    white-space: normal !important;
    vertical-align: top !important;
  }

  body.dashboard-page .face-claim-avatar {
    width: 44px !important;
    height: 44px !important;
  }

  body.dashboard-page .modal {
    align-items: stretch !important;
    padding: 12px !important;
  }

  body.dashboard-page .modal-content {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 24px) !important;
    padding: 24px 16px !important;
  }
}

@media (max-width: 430px) {
  body.dashboard-page {
    padding-inline: 10px !important;
  }

  body.dashboard-page .dashboard-user-card,
  body.dashboard-page .dashboard-user-heading {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  body.dashboard-page .dashboard-user-heading .dashboard-user-avatar,
  body.dashboard-page .dashboard-user-avatar {
    width: 50px !important;
    min-width: 50px !important;
  }

  body.dashboard-page .panel {
    padding: 16px 12px !important;
  }

  body.dashboard-page .pg-card {
    min-height: 300px !important;
  }
}

/* Final polish: dashboard identity, homepage mobile subtitle, wiki reading layout. */
body.dashboard-page .dashboard-user-kicker {
  display: none !important;
}

body.dashboard-page .dashboard-user-heading {
  min-height: 0 !important;
}

body.dashboard-page .dashboard-user-copy h2 {
  font-size: clamp(1.35rem, 2.4vw, 2.15rem) !important;
  letter-spacing: 0.14em !important;
}

body.dashboard-page .dashboard-user-copy p {
  margin-top: 5px !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
body.wiki-static-page .wiki-page {
  min-height: calc(100vh - 96px) !important;
  align-items: stretch !important;
  grid-template-columns: minmax(300px, max-content) minmax(0, 1fr) !important;
}

body.wiki-static-page .docs-sidebar,
body.wiki-static-page .docs-content {
  height: calc(100vh - 132px) !important;
  min-height: 620px !important;
  max-height: calc(100vh - 132px) !important;
  background: transparent !important;
  background-color: transparent !important;
  border-color: rgba(238, 238, 226, 0.05) !important;
}

body.wiki-static-page .docs-sidebar {
  width: max-content !important;
  min-width: 300px !important;
  max-width: min(420px, 34vw) !important;
  overflow: auto !important;
}

body.wiki-static-page .docs-content {
  overflow: auto !important;
  padding: clamp(30px, 4vw, 58px) !important;
  background: rgba(0, 0, 0, 0.16) !important;
  background-color: rgba(0, 0, 0, 0.16) !important;
}

body.wiki-static-page .search-container {
  width: 100% !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

body.wiki-static-page .search-input {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  background: rgba(0, 0, 0, 0.14) !important;
}

body.wiki-static-page .docs-sidebar .menu-item,
body.wiki-static-page .menu-header {
  width: 100% !important;
}

body.wiki-static-page .menu-header {
  min-width: max-content !important;
  padding-inline: 13px !important;
}

body.wiki-static-page .menu-header span {
  white-space: nowrap !important;
}

body.wiki-static-page .content-panel {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
}

body.wiki-static-page .content-panel h1,
body.wiki-static-page .content-panel h2,
body.wiki-static-page .docs-content .content-panel h1,
body.wiki-static-page .docs-content .content-panel h2 {
  font-size: clamp(1.05rem, 1.6vw, 1.5rem) !important;
  line-height: 1.02 !important;
  margin-bottom: 20px !important;
}

body.wiki-static-page .content-panel p,
body.wiki-static-page .content-panel li {
  max-width: min(100%, 118ch) !important;
}

body.wiki-static-page .wiki-poweroff {
  top: clamp(18px, 3vw, 42px) !important;
}

@media (max-width: 860px) {
  body.homepage .subtitle-huge {
    white-space: nowrap !important;
    max-width: none !important;
    font-size: clamp(0.52rem, 2.45vw, 0.72rem) !important;
    letter-spacing: clamp(0.04em, 0.9vw, 0.13em) !important;
  }

  body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
  body.wiki-static-page .wiki-page {
    min-height: 0 !important;
  }

  body.wiki-static-page .docs-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: clamp(22px, 6vw, 34px) !important;
    background: rgba(0, 0, 0, 0.16) !important;
  }

  body.wiki-static-page .docs-sidebar {
    width: min(84vw, 360px) !important;
    min-width: 0 !important;
    max-width: 360px !important;
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    background: rgba(3, 8, 10, 0.82) !important;
  }

  body.wiki-static-page .menu-header {
    min-width: 0 !important;
  }

  body.wiki-static-page .menu-header span {
    white-space: normal !important;
  }

  body.wiki-static-page .content-panel h1,
  body.wiki-static-page .content-panel h2 {
    font-size: clamp(1.18rem, 6vw, 1.75rem) !important;
  }
}

.wiki-managed-content {
  width: 100%;
}

.wiki-managed-content > *:first-child {
  margin-top: 0;
}

.admin-wiki-tool {
  margin-bottom: 25px;
  padding: 16px;
  border: 1px solid var(--color-border);
  background: rgba(0, 0, 0, 0.10);
}

.admin-wiki-form {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.admin-wiki-active {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text-main);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-wiki-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-wiki-toolbar button {
  width: 38px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(238, 238, 226, 0.09);
  color: var(--text-strong);
  cursor: pointer;
}

.admin-wiki-editor {
  min-height: 280px;
  width: 100%;
  padding: 18px;
  overflow: auto;
  color: var(--text-main);
  background:
    linear-gradient(rgba(0,0,0,0.12), rgba(0,0,0,0.12)),
    var(--outpost-global-bg) center center / cover fixed no-repeat;
  border: 1px solid rgba(238, 238, 226, 0.10);
  line-height: 1.7;
}

.admin-wiki-editor:focus {
  outline: 1px solid rgba(238, 238, 226, 0.32);
}

.admin-wiki-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.admin-wiki-list {
  margin-top: 24px;
  overflow-x: auto;
}

.wiki-edit-btn {
  width: auto !important;
  margin: 0 8px 8px 0 !important;
}

/* Final maintenance/profile/menu polish */
body.wiki-static-page .search-input {
  min-height: 34px !important;
  padding: 6px 10px !important;
  font-size: 0.72rem !important;
  font-style: italic !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
}

body.wiki-static-page .search-input::placeholder {
  font-style: italic !important;
  opacity: 0.72 !important;
}

body.wiki-static-page .docs-sidebar,
body.dashboard-page .dashboard-tabs,
body.dashboard-page .dashboard-nav,
body.dashboard-page .game-header-nav,
body.homepage .home-tabs,
body.homepage .login-card,
body.game-page .sidebar,
body.game-page .game-menu,
.dropdown-menu,
.admin-wiki-tool,
.form-panel,
.filter-bar,
.table-wrap,
.gest-grid,
.gilde-grid {
  background: rgba(0, 0, 0, 0.26) !important;
  border: 1px solid rgba(238, 238, 226, 0.07) !important;
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.16) !important;
}

.readonly-locked {
  color: rgba(210, 216, 218, 0.52) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
  background: rgba(0, 0, 0, 0.20) !important;
}

.username-live-status {
  min-height: 1.1rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.username-live-status.is-ok {
  color: #8ad99a;
}

.username-live-status.is-error {
  color: #e4867b;
}

.field-status-wrap {
  position: relative;
}

.field-status-wrap .field-live-status {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  pointer-events: none;
}

.form-input.is-valid-live {
  border-color: rgba(138, 217, 154, 0.60) !important;
  padding-right: 34px !important;
}

.form-input.is-invalid-live {
  border-color: rgba(228, 134, 123, 0.70) !important;
  padding-right: 34px !important;
}

.field-live-status.is-ok {
  color: #8ad99a;
}

.field-live-status.is-error {
  color: #e4867b;
}

.avatar-url-preview {
  margin-top: 10px;
  width: 86px;
  height: 86px;
}

.avatar-url-preview img {
  width: 86px;
  height: 86px;
  display: block;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(238, 238, 226, 0.12);
  background: rgba(0, 0, 0, 0.22);
}

.palette-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.palette-dot-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(238, 238, 226, 0.08);
  background: rgba(0, 0, 0, 0.18);
}

.palette-dot-field span,
.palette-toggle span {
  color: var(--text-main);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.color-dot {
  width: 42px;
  height: 42px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(238, 238, 226, 0.24);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
}

.color-dot::-webkit-color-swatch-wrapper {
  padding: 0;
}

.color-dot::-webkit-color-swatch {
  border: 0;
  border-radius: 999px;
}

.palette-range {
  width: 100%;
}

.palette-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0 18px;
}

.palette-actions {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: wrap;
}

.palette-actions .btn-enter-game,
.palette-actions .btn-logout,
.palette-reset-form {
  min-height: 44px !important;
  margin: 0 !important;
}

.palette-reset-form {
  display: flex;
}

body.game-page .message-content,
body.game-page .message-bubble,
body.game-page .chat-message-main {
  font-size: var(--user-chat-font-size, inherit) !important;
  line-height: var(--user-chat-line-height, inherit) !important;
  font-weight: var(--user-chat-weight, inherit) !important;
}

body.game-page .message-bubble.action,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--user-chat-action-color, inherit) !important;
}

body.game-page .message-bubble.speech,
body.game-page .chat-message-row.speech .message-content,
body.game-page .chat-message-row.msg-parlato .message-content,
body.game-page .msg-parlato .message-content,
body.game-page .action-speech {
  color: var(--user-chat-speech-color, inherit) !important;
  font-weight: var(--user-player-speech-weight, var(--user-chat-weight, inherit)) !important;
}

body.game-page .message-bubble.action,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--user-chat-action-color, inherit) !important;
}

body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech {
  color: var(--user-chat-speech-color, inherit) !important;
}

body.game-page .message-bubble.whisper,
body.game-page .chat-message-row.whisper .message-content {
  color: var(--user-chat-whisper-color, inherit) !important;
}

body.game-page .chat-message-row.master .message-content,
body.game-page .chat-message-row.narration .message-content,
body.game-page .message-bubble.master {
  color: var(--user-chat-master-speech-color, inherit) !important;
  background: color-mix(in srgb, var(--user-chat-master-bg, transparent) 40%, transparent) !important;
  font-weight: var(--user-master-speech-weight, inherit) !important;
}

html.game-restore-chat body.game-page #game-map {
  display: none !important;
}

html.game-restore-chat body.game-page #game-chat {
  display: grid !important;
}

.admin-wiki-static-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 24px;
}

.admin-wiki-static-page {
  padding: 12px;
  border: 1px solid rgba(238, 238, 226, 0.08);
  background: rgba(0, 0, 0, 0.18);
}

.admin-wiki-static-section {
  margin-top: 12px;
  color: var(--text-strong);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.admin-wiki-static-page ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--text-main);
  font-size: 0.84rem;
  line-height: 1.55;
}

body.gestione-admin-page header {
  gap: 18px;
  align-items: center;
  padding-inline: clamp(14px, 3vw, 34px);
}

body.gestione-admin-page .game-header-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

body.gestione-admin-page .gest-wrap {
  width: min(1180px, calc(100vw - 32px));
  margin: 28px auto;
}

body.gestione-admin-page .gest-header,
body.gestione-admin-page .filter-bar,
body.gestione-admin-page .mappa-card-actions,
body.gestione-admin-page .gilda-card-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body.gestione-admin-page .layout-2col {
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.8fr);
  gap: 18px;
  align-items: start;
}

body.gestione-admin-page .table-wrap {
  overflow-x: auto;
}

body.gestione-admin-page .gest-table {
  min-width: 860px;
}

body.gestione-admin-page .form-panel,
body.gestione-admin-page .table-wrap,
body.gestione-admin-page .mappa-card,
body.gestione-admin-page .gilda-card {
  padding: clamp(14px, 2vw, 22px);
}

body.gestione-admin-page .btn-gest-save,
body.gestione-admin-page .btn-gest-edit,
body.gestione-admin-page .btn-gest-del {
  min-height: 38px;
}

@media (max-width: 860px) {
  .admin-wiki-static-list,
  .palette-grid {
    grid-template-columns: 1fr;
  }

  body.gestione-admin-page header {
    align-items: stretch;
  }

  body.gestione-admin-page .logo {
    text-align: center;
  }

  body.gestione-admin-page .game-header-nav,
  body.gestione-admin-page .filter-bar,
  body.gestione-admin-page .mappa-card-actions,
  body.gestione-admin-page .gilda-card-actions {
    justify-content: stretch;
  }

  body.gestione-admin-page .game-header-nav a,
  body.gestione-admin-page .filter-bar > *,
  body.gestione-admin-page .btn-gest-save,
  body.gestione-admin-page .btn-gest-edit,
  body.gestione-admin-page .btn-gest-del {
    width: 100%;
    justify-content: center;
  }

  body.gestione-admin-page .gest-wrap {
    width: min(100vw - 18px, 680px);
    margin: 14px auto 28px;
  }

  body.gestione-admin-page .layout-2col,
  body.gestione-admin-page .form-grid,
  body.gestione-admin-page .form-row-2 {
    display: grid;
    grid-template-columns: 1fr !important;
  }

  body.gestione-admin-page .gest-header h1 {
    font-size: clamp(1.2rem, 8vw, 1.8rem);
  }
}

/* Wiki and homepage requested refinements */
body.wiki-static-page .search-container {
  position: relative !important;
}

body.wiki-static-page .search-input-icon {
  position: absolute;
  left: 10px;
  top: 17px;
  z-index: 1;
  color: rgba(232, 238, 235, 0.56) !important;
  font-size: 0.74rem;
  pointer-events: none;
}

body.wiki-static-page .search-input {
  padding-left: 30px !important;
}

body.wiki-static-page .docs-content {
  background: rgba(0, 0, 0, 0.25) !important;
  background-color: rgba(0, 0, 0, 0.25) !important;
}

body.wiki-static-page .sidebar-section-title {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

body.wiki-static-page .sidebar-section-title .fa-stopwatch {
  margin-right: 6px;
  font-size: 0.8em;
}

body.wiki-static-page .menu-item,
body.wiki-static-page .menu-header,
body.wiki-static-page .menu-header.active,
body.wiki-static-page .menu-header:hover {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.wiki-static-page .menu-header > .fa-chevron-down {
  transition: transform 180ms ease;
}

body.wiki-static-page .menu-header.active > .fa-chevron-down {
  transform: rotate(180deg);
}

body.homepage #tab-login.active,
body.homepage #tab-test.active,
body.homepage #tab-ambient.active,
body.homepage #tab-requisiti.active {
  background: rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(238, 238, 226, 0.055) !important;
  padding: clamp(18px, 2.6vw, 30px) !important;
}

body.homepage .login-card {
  background: transparent !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

body.homepage #tab-login.active,
body.homepage #tab-test.active {
  place-items: stretch !important;
  place-content: stretch !important;
  text-align: justify !important;
}

body.homepage .oauth-disclaimer,
body.homepage .test-desc,
body.homepage .test-box {
  max-width: none !important;
  text-align: justify !important;
}

body.homepage .oauth-disclaimer p,
body.homepage .test-desc {
  margin: 0 0 0.9rem !important;
  line-height: 1.48 !important;
}

body.homepage .oauth-icon-button {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-width: 142px !important;
  min-height: 112px !important;
  text-align: center !important;
}

body.homepage .home-access-block {
  display: grid !important;
  place-items: center !important;
  gap: 10px !important;
}

body.homepage .home-access-title {
  text-align: center !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1rem, 1.5vw, 1.35rem) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(245, 246, 238, 0.92) !important;
}

body.homepage .home-fade-rule {
  width: min(520px, 86%) !important;
  height: 1px !important;
  margin: 14px auto !important;
  background: linear-gradient(90deg, transparent, rgba(238, 238, 226, 0.30), transparent) !important;
}

body.homepage .oauth-icon-group {
  gap: 14px !important;
}

body.homepage .oauth-icon-button {
  min-width: 118px !important;
  min-height: 86px !important;
  padding: 10px 12px !important;
}

body.homepage .oauth-icon-button i {
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
}

body.homepage .oauth-provider-mark {
  width: clamp(1.8rem, 3.2vw, 2.45rem) !important;
  height: clamp(1.8rem, 3.2vw, 2.45rem) !important;
  display: block !important;
  object-fit: contain !important;
  filter: saturate(0.72) brightness(1.08) !important;
}

body.homepage .oauth-icon-button span {
  display: none !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

body.homepage .btn-test {
  min-height: 58px !important;
  padding: 16px 28px !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.18rem, 2.2vw, 1.75rem) !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

body.homepage .test-login-icon-form {
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
}

body.homepage .btn-test-icon {
  width: 76px !important;
  height: 76px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border-color: transparent !important;
  border-width: 0 !important;
  border-style: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.homepage .btn-test-icon i {
  font-size: clamp(2rem, 4vw, 3rem) !important;
}

body.homepage .btn-test-icon:hover,
body.homepage .btn-test-icon:focus,
body.homepage .btn-test-icon:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body.homepage .homepage-stats-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  align-content: stretch !important;
  justify-content: center !important;
}

body.homepage .homepage-stat,
body.homepage .homepage-stat-wide {
  min-height: 0 !important;
  grid-column: auto !important;
  padding: 9px 10px !important;
  max-width: 170px !important;
  width: 100% !important;
  justify-self: center !important;
  background: rgba(0, 0, 0, 0.25) !important;
}

body.homepage .homepage-stat strong {
  font-size: clamp(1.35rem, 2.4vw, 2rem) !important;
}

body.homepage .homepage-stat span {
  font-size: clamp(0.54rem, 0.72vw, 0.71rem) !important;
  letter-spacing: 0.08em !important;
}

body.homepage .home-access-title {
  margin-bottom: 0 !important;
}

body.homepage .home-access-block {
  gap: 0 !important;
}

.tox.tox-tinymce,
.tox-editor-container,
.tox-edit-area,
.admin-wiki-editor {
  background: rgba(0, 0, 0, 0.48) !important;
}

.tox.tox-tinymce {
  min-height: 420px;
  border: 1px solid rgba(238, 238, 226, 0.10) !important;
}

.tox .tox-edit-area__iframe {
  background: rgba(0, 0, 0, 0.82) !important;
}

.tox .tox-toolbar,
.tox .tox-toolbar__overflow,
.tox .tox-toolbar__primary,
.tox .tox-menubar,
.tox .tox-statusbar {
  background: rgba(5, 6, 5, 0.94) !important;
}

.tox .tox-tbtn,
.tox .tox-mbtn,
.tox .tox-statusbar__path-item,
.tox .tox-statusbar__wordcount {
  color: rgba(245, 246, 238, 0.90) !important;
}

.tox .tox-tbtn svg {
  fill: rgba(245, 246, 238, 0.90) !important;
}

.admin-wiki-editor.html-rich-editor {
  min-height: 420px;
}

.admin-wiki-editor,
.admin-wiki-editor * {
  color: rgba(245, 246, 238, 0.92);
}

.admin-maintenance-box {
  margin-bottom: 25px;
  padding: 15px;
  border: 0 !important;
  background: rgba(0, 0, 0, 0.12);
}

.chat-palette-grid {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}

.chat-color-row {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 52px;
  align-items: center;
  gap: 10px;
}

.chat-color-row input[type="color"] {
  width: 46px;
  height: 34px;
  padding: 0;
}

.chat-color-row em {
  font-style: normal;
  color: rgba(235,236,228,0.62);
  font-size: 0.78rem;
}

.icon-picker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(38px, 1fr));
  gap: 8px;
  padding: 10px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(238, 238, 226, 0.08);
  max-height: 260px;
  overflow: auto;
}

.icon-picker-grid-wide {
  grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
}

.icon-picker-menu {
  position: relative;
  margin-top: 4px;
}

.icon-picker-menu summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  cursor: pointer;
  list-style: none;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(238, 238, 226, 0.08);
  color: rgba(235,236,228,0.78);
}

.icon-picker-menu summary::-webkit-details-marker {
  display: none;
}

.icon-picker-menu summary::after {
  content: "⌄";
  margin-left: auto;
  color: rgba(232,206,154,0.72);
  transition: transform 180ms ease;
}

.icon-picker-menu[open] summary::after {
  transform: rotate(180deg);
}

.icon-picker-menu[open] .icon-picker-grid {
  margin-top: 8px;
}

.icon-picker-btn {
  width: 38px;
  height: 38px;
  display: inline-grid;
  place-items: center;
  justify-self: center;
  border: 1px solid rgba(238, 238, 226, 0.08);
  background: transparent;
  color: rgba(235,236,228,0.66);
  cursor: pointer;
}

.icon-picker-btn:hover,
.icon-picker-btn.active {
  color: rgba(248,249,241,0.96);
  border-color: rgba(245,246,238,0.34);
  background: rgba(238,238,226,0.055);
}

.saved-content-picker {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
}

.saved-content-delete {
  margin: 0;
}

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

  .saved-content-picker .btn-enter-game,
  .saved-content-picker .danger-button {
    width: 100%;
  }
}

.tox .tox-edit-area__iframe {
  background: #242626 !important;
}

.tox .tox-edit-area,
.tox .tox-edit-area__iframe,
.admin-wiki-editor.html-rich-editor {
  background: #242626 !important;
}

body.wiki-static-page .menu-header .wiki-chapter-icon,
body.wiki-static-page .menu-header span > i.fa-solid:first-child {
  transition: transform 220ms ease, color 180ms ease;
  transform-origin: center;
}

body.wiki-static-page .menu-header.active .wiki-chapter-icon,
body.wiki-static-page .menu-header.active span > i.fa-solid:first-child {
  transform: rotate(360deg);
  color: rgba(232, 206, 154, 0.94);
}

.wiki-managed-content i.fa-solid,
.docs-content i.fa-solid,
.admin-wiki-editor i.fa-solid,
.tox-edit-area i.fa-solid {
  color: rgba(232, 206, 154, 0.86);
  margin: 0 0.25em;
}

@media (max-width: 760px) {
  body.homepage .homepage-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.admin-wiki-editor img {
  max-width: min(100%, 520px);
  height: auto;
  display: block;
  margin: 12px auto;
  border: 1px solid rgba(238, 238, 226, 0.10);
}

.emoji-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.emoji-palette button {
  width: 34px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0 !important;
}

.home-content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Latest requested alignment and typography refinements. */
body.homepage .homepage-title-clean,
.outpost-loading-glitch {
  font-family: var(--font-press-gothic) !important;
}

body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
body.wiki-static-page .wiki-page {
  min-height: 100vh !important;
  width: min(92vw, 1720px) !important;
  margin-inline: auto !important;
  align-content: center !important;
}

body.wiki-static-page .docs-sidebar,
body.wiki-static-page .docs-content {
  height: min(760px, calc(100vh - 132px)) !important;
  max-height: min(760px, calc(100vh - 132px)) !important;
}

body.wiki-static-page .wiki-page-actions {
  position: fixed;
  top: max(24px, calc((100vh - min(760px, calc(100vh - 132px))) / 2));
  right: clamp(12px, 3vw, 42px);
  z-index: 80;
  display: grid;
  gap: 10px;
}

body.wiki-static-page .wiki-action-button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--text-strong) !important;
  background: rgba(4, 10, 13, 0.16) !important;
  border: 1px solid rgba(226, 240, 238, 0.075) !important;
  box-shadow: none !important;
}

body.wiki-static-page .wiki-action-button:hover {
  border-color: rgba(226, 240, 238, 0.18) !important;
  transform: scale(1.08);
}

body.wiki-static-page .wiki-poweroff {
  position: static !important;
  top: auto !important;
  right: auto !important;
}

body.wiki-static-page .search-input-icon {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

body.wiki-static-page .sidebar-section-title {
  line-height: 1.15 !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line,
body.wiki-static-page .sidebar-section-title span {
  display: block !important;
  margin-top: 5px !important;
  font-family: var(--font-ui) !important;
  font-size: 0.66rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  opacity: 0.72 !important;
  text-transform: none !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line i {
  margin-right: 5px !important;
}

body.homepage .home-access-block {
  gap: 3px !important;
}

body.homepage .home-access-block .oauth-icon-group {
  margin-top: -4px !important;
}

body.homepage .oauth-icon-button {
  transition: transform 180ms ease, filter 180ms ease, opacity 180ms ease !important;
}

body.homepage .oauth-icon-button:hover,
body.homepage .oauth-icon-button:focus-visible {
  filter: brightness(1.35) saturate(1.08) !important;
  transform: scale(1.13) !important;
}

body.homepage .homepage-stat-card {
  text-align: center !important;
  justify-items: center !important;
}

body.homepage .homepage-stat-card span,
body.homepage .homepage-stat-card strong {
  text-align: center !important;
}

body.gestione-admin-page .gest-backline {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 14px;
}

body.gestione-admin-page .gest-backline .btn-gest-edit {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

/* Corrections: compact centered wiki, dashboard hash loading, guild management polish. */
html.dashboard-hash-loading body.dashboard-page .container {
  visibility: hidden;
}

body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
body.wiki-static-page .wiki-page {
  width: min(86vw, 1320px) !important;
  min-height: 100dvh !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 260px) minmax(0, 920px) !important;
  gap: 18px !important;
  align-items: center !important;
  align-content: center !important;
  justify-content: center !important;
}

body.wiki-static-page .docs-sidebar,
body.wiki-static-page .docs-content {
  height: min(700px, calc(100dvh - 110px)) !important;
  min-height: min(560px, calc(100dvh - 110px)) !important;
  max-height: min(700px, calc(100dvh - 110px)) !important;
}

body.wiki-static-page .docs-sidebar {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 260px !important;
  padding: 12px !important;
}

body.wiki-static-page .docs-content {
  max-width: 920px !important;
  padding: clamp(26px, 3.4vw, 46px) !important;
}

body.wiki-static-page .wiki-page-actions {
  top: 50% !important;
  right: calc((100vw - min(86vw, 1320px)) / 2) !important;
  transform: translateY(-50%) translateX(calc(100% + 18px)) !important;
  gap: 18px !important;
}

body.wiki-static-page .search-container {
  display: grid !important;
  align-items: center !important;
}

body.wiki-static-page .search-input {
  min-height: 38px !important;
  height: 38px !important;
  line-height: 38px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 32px !important;
}

body.wiki-static-page .search-input-icon {
  top: 19px !important;
  transform: translateY(-50%) !important;
  line-height: 1 !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line,
body.wiki-static-page .sidebar-section-title span {
  font-size: 0.78rem !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line i {
  font-size: 0.78rem !important;
}

body.homepage .oauth-icon-group {
  gap: 6px !important;
}

body.homepage .homepage-stat,
body.homepage .homepage-stat-wide,
body.homepage .homepage-stat-card {
  display: grid !important;
  place-items: center !important;
  text-align: center !important;
}

body.homepage .homepage-stat span,
body.homepage .homepage-stat-wide span,
body.homepage .homepage-stat-card span {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
}

body.gestione-admin-page .gilde-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)) !important;
  gap: 16px !important;
  padding: 16px !important;
}

/* Final wiki/sidebar correction pass. */
body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
body.wiki-static-page .wiki-page {
  grid-template-columns: minmax(210px, 240px) minmax(0, 860px) !important;
  width: min(84vw, 1180px) !important;
  gap: 16px !important;
}

body.wiki-static-page .docs-sidebar {
  max-width: 240px !important;
}

body.wiki-static-page .docs-content {
  max-width: 860px !important;
}

body.wiki-static-page .wiki-page-actions {
  right: calc((100vw - min(84vw, 1180px)) / 2) !important;
  transform: translateY(-50%) translateX(calc(100% + 16px)) !important;
  gap: 16px !important;
}

body.wiki-static-page .sidebar-section-title {
  margin-top: 18px !important;
  margin-bottom: 9px !important;
  padding-bottom: 4px !important;
}

body.wiki-static-page .sidebar-section-title:first-of-type {
  margin-top: 0 !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line,
body.wiki-static-page .sidebar-section-title span {
  margin-top: 7px !important;
  font-size: calc(0.78rem + 2px) !important;
}

body.wiki-static-page .sidebar-section-title .reading-time-line i {
  font-size: calc(0.78rem + 2px) !important;
  margin-right: 3px !important;
}

body.wiki-static-page .menu-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 14px !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 8px 8px !important;
}

body.wiki-static-page .menu-header span {
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.16 !important;
}

body.wiki-static-page .menu-header > .fa-chevron-down {
  width: 14px !important;
  justify-self: end !important;
}

body.wiki-static-page .search-input-icon {
  top: 50% !important;
}

body.wiki-static-page .wiki-page-actions {
  top: calc((100dvh - min(700px, calc(100dvh - 110px))) / 2) !important;
  transform: translateX(calc(100% + 16px)) !important;
}

body.homepage .oauth-icon-group {
  gap: 0 !important;
  column-gap: 0 !important;
}

body.homepage .oauth-icon-button {
  min-width: 74px !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}

@media (max-width: 860px) {
  body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
  body.wiki-static-page .wiki-page {
    width: min(100vw - 24px, 680px) !important;
    grid-template-columns: 1fr !important;
  }

  body.wiki-static-page .wiki-page-actions {
    top: 14px !important;
    transform: none !important;
    right: 14px !important;
  }
}

body.gestione-admin-page .gilda-card {
  display: grid !important;
  gap: 14px !important;
}

body.gestione-admin-page .gilda-card-head {
  display: grid !important;
  grid-template-columns: 58px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

body.gestione-admin-page .gilda-card-nome,
body.gestione-admin-page .gilda-card-leader {
  overflow-wrap: anywhere !important;
}

body.gestione-admin-page .gilda-card-stats,
body.gestione-admin-page .gilda-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

@media (max-width: 860px) {
  body.wiki-static-page .page-content:has(.docs-sidebar):has(.docs-content),
  body.wiki-static-page .wiki-page {
    width: min(100vw - 24px, 720px) !important;
    min-height: 100dvh !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-content: start !important;
    padding-top: 72px !important;
  }

  body.wiki-static-page .docs-content {
    height: auto !important;
    min-height: calc(100dvh - 120px) !important;
    max-height: none !important;
    max-width: none !important;
  }

  body.wiki-static-page .docs-sidebar {
    max-width: min(84vw, 320px) !important;
  }

  body.wiki-static-page .wiki-page-actions {
    top: 14px !important;
    right: 14px !important;
    transform: none !important;
    grid-auto-flow: column !important;
    gap: 8px !important;
  }

  body.gestione-admin-page .gilde-grid {
    grid-template-columns: 1fr !important;
    padding: 10px !important;
  }

  body.gestione-admin-page .gilda-card-head {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }
}

/* Chat readability and message layout pass. */
body.game-page .game-sidebar,
body.game-page .sidebar,
body.game-page .game-topbar,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row,
body.game-page .modal-drag-header {
  background: rgba(16, 18, 19, 0.30) !important;
  border-color: rgba(238, 238, 226, 0.08) !important;
}

body.game-page .chat-message-row,
body.game-page .chat-system-entry,
body.game-page .message-content,
body.game-page .chat-message-pg-name,
body.game-page .msg-timestamp,
body.game-page .msg-location-tag,
body.game-page .char-counter,
body.game-page .chat-secondary-input,
body.game-page .chat-textarea,
body.game-page .chat-textarea::placeholder {
  color: rgba(238, 239, 230, 0.86) !important;
  font-weight: 500 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.42) !important;
}

body.game-page .chat-textarea::placeholder {
  color: rgba(238, 239, 230, 0.58) !important;
  font-style: italic !important;
}

body.game-page .chat-message-pg-name {
  font-weight: 600 !important;
  color: rgba(248, 249, 241, 0.90) !important;
}

body.game-page .msg-timestamp-side {
  display: block !important;
  margin-top: 3px !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.06em !important;
  color: rgba(238, 239, 230, 0.48) !important;
}

body.game-page .message-inline-meta {
  display: contents !important;
}

body.game-page .msg-location-tag {
  display: inline !important;
  margin-right: 0.45em !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700 !important;
  font-style: italic !important;
  color: rgba(191, 176, 224, 0.88) !important;
}

body.game-page .action-speech {
  color: var(--user-chat-speech-color, rgba(192, 161, 107, 0.92)) !important;
  font-weight: var(--user-player-speech-weight, 700) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt {
  color: rgba(235, 236, 228, 0.88) !important;
  font-style: italic !important;
  font-weight: 500 !important;
}

body.game-page .action-skill {
  color: rgba(217, 148, 178, 0.86) !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

body.game-page .chat-tag-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding-left: 0 !important;
}

body.game-page .chat-tag-row .chat-secondary-input {
  width: 100% !important;
  margin-left: 0 !important;
}

body.game-page .char-counter {
  align-self: center !important;
  display: inline-grid !important;
  place-items: center !important;
  min-height: 34px !important;
  white-space: nowrap !important;
}

body.game-page .chat-input-row {
  align-items: stretch !important;
}

body.game-page .chat-send-vertical {
  display: grid !important;
  place-items: center !important;
  align-self: stretch !important;
  min-width: 46px !important;
  color: rgba(238, 239, 230, 0.30) !important;
  background: rgba(238, 239, 230, 0.035) !important;
  border-color: rgba(238, 239, 230, 0.06) !important;
}

body.game-page .chat-send-vertical i {
  color: rgba(238, 239, 230, 0.32) !important;
}

body.game-page .chat-send-vertical.can-send,
body.game-page .chat-send-vertical:hover {
  background: rgba(238, 239, 230, 0.10) !important;
  border-color: rgba(238, 239, 230, 0.20) !important;
}

body.game-page .chat-send-vertical.can-send i,
body.game-page .chat-send-vertical:hover i {
  color: rgba(248, 249, 241, 0.92) !important;
}

body.game-page .chat-preview-label {
  color: rgba(248, 249, 241, 0.86) !important;
  opacity: 1 !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

body.game-page .chat-preview-label::before,
body.game-page .chat-preview-label::after {
  opacity: 1 !important;
}

body.game-page .chat-preview-wrapper .message-bubble.preview {
  background: rgba(42, 44, 45, 0.30) !important;
  border-color: rgba(238, 239, 230, 0.08) !important;
}

body.game-page .chat-preview-wrapper .message-content {
  opacity: 0.58 !important;
}

body.game-page .chat-message-row.msg-master .chat-message-main,
body.game-page .chat-message-row.master .chat-message-main {
  width: 100% !important;
}

body.game-page .chat-message-row.msg-master .message-bubble,
body.game-page .message-bubble.master {
  width: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(118, 38, 44, 0.30) 12%, rgba(118, 38, 44, 0.30) 88%, transparent) !important;
  border: 0 !important;
  color: rgba(235, 236, 228, 0.90) !important;
}

body.game-page .chat-message-row.msg-master .message-content,
body.game-page .message-bubble.master .message-content {
  text-align: justify !important;
  color: rgba(235, 236, 228, 0.90) !important;
}

body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: rgba(192, 161, 107, 0.92) !important;
  font-weight: 700 !important;
}

body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: rgba(190, 196, 194, 0.78) !important;
}

body.game-page .chat-whisper-row {
  width: 100% !important;
  margin: 8px 0 !important;
  padding: 8px 14px !important;
  border: 0 !important;
  background: transparent !important;
}

body.game-page .chat-whisper-row .whisper-line {
  display: block !important;
  width: 100% !important;
  padding: 8px 14px !important;
  border: 0 !important;
  font-size: var(--user-chat-font-size, 15px) !important;
  color: rgba(235, 236, 228, 0.88) !important;
}

body.game-page .chat-whisper-row.whisper-global .whisper-line {
  background: linear-gradient(90deg, transparent, rgba(92, 96, 98, 0.30) 12%, rgba(92, 96, 98, 0.30) 88%, transparent) !important;
}

body.game-page .chat-whisper-row.whisper-private .whisper-line {
  background: linear-gradient(90deg, transparent, rgba(178, 156, 222, 0.30) 12%, rgba(178, 156, 222, 0.30) 88%, transparent) !important;
}

body.game-page .chat-whisper-row .msg-timestamp,
body.game-page .chat-whisper-row strong,
body.game-page .chat-whisper-row .message-content {
  font-size: inherit !important;
  color: rgba(235, 236, 228, 0.88) !important;
  font-weight: 500 !important;
}

body.game-page .chat-system-entry {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 0.72rem !important;
  font-style: italic !important;
  color: rgba(235, 236, 228, 0.42) !important;
  opacity: 0.62 !important;
  text-align: center !important;
}

body.homepage .homepage-title-clean {
  font-size: clamp(3rem, 8.2vw, 7.2rem) !important;
  font-weight: 400 !important;
  color: rgba(232, 233, 224, 0.88) !important;
}

.outpost-loading-glitch {
  font-size: clamp(2.55rem, 7.2vw, 5.7rem) !important;
  font-weight: 400 !important;
  color: rgba(232, 233, 224, 0.88) !important;
}

body.wiki-static-page .docs-sidebar,
body.wiki-static-page .docs-content {
  height: min(680px, calc(100dvh - 120px)) !important;
  min-height: min(560px, calc(100dvh - 120px)) !important;
  max-height: min(680px, calc(100dvh - 120px)) !important;
}

body.wiki-static-page .wiki-page-actions {
  top: calc((100dvh - min(680px, calc(100dvh - 120px))) / 2) !important;
}

/* Game chat final authority: flat 30% panels, readable action opacity, centered icon send. */
body.game-page .game-sidebar,
body.game-page .sidebar.game-sidebar,
body.game-page header.game-topbar,
body.game-page .game-topbar,
body.game-page .chat-input-column,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row {
  background: rgba(24, 26, 27, 0.30) !important;
  background-image: none !important;
  border-color: rgba(238, 239, 230, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page .message-bubble,
body.game-page .message-bubble.action,
body.game-page .message-bubble.preview {
  background: rgba(43, 45, 46, 0.30) !important;
  background-image: none !important;
  border-color: rgba(238, 239, 230, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page .message-bubble .message-content,
body.game-page .message-bubble.action .message-content {
  opacity: 1 !important;
}

body.game-page .chat-preview-wrapper .message-bubble.preview {
  background: rgba(55, 57, 58, 0.30) !important;
  border-color: rgba(238, 239, 230, 0.08) !important;
}

body.game-page .chat-preview-label {
  color: rgba(192, 161, 107, 1) !important;
  opacity: 1 !important;
}

body.game-page .chat-preview-label::before,
body.game-page .chat-preview-label::after {
  background: linear-gradient(90deg, transparent, rgba(192, 161, 107, 1), transparent) !important;
  opacity: 1 !important;
}

body.game-page .chat-preview-wrapper .message-content {
  opacity: 0.62 !important;
}

body.game-page .chat-whisper-row {
  margin: 4px 0 !important;
  padding: 0 !important;
}

body.game-page .chat-whisper-row .whisper-line {
  padding: 5px 10px !important;
  font-size: calc(var(--user-chat-font-size, 15px) - 2px) !important;
  line-height: var(--user-chat-line-height, 1.55) !important;
}

body.game-page .chat-whisper-row.whisper-global .whisper-line {
  background: linear-gradient(90deg, transparent, rgba(178, 156, 222, 0.30) 10%, rgba(178, 156, 222, 0.30) 90%, transparent) !important;
}

body.game-page .chat-whisper-row.whisper-private .whisper-line {
  background: linear-gradient(90deg, transparent, rgba(92, 96, 98, 0.30) 10%, rgba(92, 96, 98, 0.30) 90%, transparent) !important;
}

body.game-page .chat-whisper-row .msg-timestamp,
body.game-page .chat-whisper-row strong,
body.game-page .chat-whisper-row .message-content {
  font-size: inherit !important;
}

body.game-page .chat-send-vertical,
body.game-page .chat-send-vertical:disabled,
body.game-page .chat-send-vertical.disabled,
body.game-page .chat-send-vertical.can-send,
body.game-page .chat-send-vertical:hover {
  display: inline-grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-items: center !important;
  align-self: stretch !important;
  width: 48px !important;
  min-width: 48px !important;
  height: auto !important;
  min-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.game-page .chat-send-vertical i,
body.game-page .chat-send-vertical:disabled i,
body.game-page .chat-send-vertical.disabled i {
  display: block !important;
  margin: 0 !important;
  line-height: 1 !important;
  color: rgba(238, 239, 230, 0.28) !important;
  transform: none !important;
}

body.game-page .chat-send-vertical.can-send i,
body.game-page .chat-send-vertical:hover i {
  color: rgba(248, 249, 241, 0.95) !important;
  filter: drop-shadow(0 0 8px rgba(238, 239, 230, 0.28)) !important;
}

/* Game chat correction: full-height input, black 30% panels, exact preview/action tokens. */
body.game-page .game-sidebar,
body.game-page .sidebar.game-sidebar,
body.game-page header.game-topbar,
body.game-page .game-topbar,
body.game-page .chat-input-column,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row,
body.game-page .message-bubble,
body.game-page .message-bubble.action {
  background: rgba(0, 0, 0, 0.30) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 239, 230, 0.08) !important;
  border-left: 1px solid rgba(238, 239, 230, 0.08) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page .message-bubble.action::before,
body.game-page .message-bubble.action::after,
body.game-page .message-bubble.preview::before,
body.game-page .message-bubble.preview::after {
  content: none !important;
  display: none !important;
}

body.game-page .chat-input-column,
body.game-page .chat-input-bar {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.game-page .chat-input-bar {
  flex: 1 1 auto !important;
}

body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row {
  flex: 0 0 auto !important;
}

body.game-page .chat-input-row {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 6px !important;
}

body.game-page .chat-textarea {
  flex: 1 1 auto !important;
  min-height: 220px !important;
  height: auto !important;
  width: 100% !important;
}

body.game-page .chat-send-vertical,
body.game-page .chat-send-vertical:disabled,
body.game-page .chat-send-vertical.disabled,
body.game-page .chat-send-vertical.can-send,
body.game-page .chat-send-vertical:hover {
  flex: 0 0 34px !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.game-page .chat-send-vertical i,
body.game-page .chat-send-vertical:disabled i,
body.game-page .chat-send-vertical.disabled i,
body.game-page .chat-send-vertical.can-send i,
body.game-page .chat-send-vertical:hover i {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  margin: 0 auto !important;
  line-height: 1 !important;
  text-align: center !important;
}

body.game-page .chat-preview-wrapper .message-bubble.preview,
body.game-page .message-bubble.preview {
  background: rgba(55, 57, 58, 0.30) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 239, 230, 0.08) !important;
  border-left: 1px solid rgba(238, 239, 230, 0.08) !important;
  border-style: solid !important;
}

body.game-page .chat-preview-label {
  color: rgba(238, 239, 230, 0.96) !important;
  opacity: 1 !important;
}

body.game-page .chat-preview-label::before,
body.game-page .chat-preview-label::after {
  background: linear-gradient(90deg, transparent, rgba(192, 161, 107, 1), transparent) !important;
  opacity: 1 !important;
}

body.game-page .chat-preview-wrapper .message-content {
  opacity: 0.50 !important;
}

body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill {
  color: rgba(217, 148, 178, 0.92) !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: rgba(248, 249, 241, 0.96) !important;
  font-style: italic !important;
  font-weight: 700 !important;
}

/* Preview action is intentionally isolated from normal action styling. */
body.game-page #chat-preview-message.chat-preview-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  width: 100% !important;
}

body.game-page #chat-preview-message .chat-preview-label {
  display: grid !important;
  grid-template-columns: minmax(18px, 1fr) auto minmax(18px, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 4px 0 3px !important;
  background: transparent !important;
  color: rgba(238, 239, 230, 0.98) !important;
  opacity: 1 !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: none !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.46) !important;
}

body.game-page #chat-preview-message .chat-preview-label::before,
body.game-page #chat-preview-message .chat-preview-label::after {
  content: "" !important;
  display: block !important;
  height: 1px !important;
  min-width: 18px !important;
  background: linear-gradient(90deg, transparent, rgba(192, 161, 107, 1), transparent) !important;
  opacity: 1 !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action {
  background: rgba(55, 57, 58, 0.30) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 239, 230, 0.08) !important;
  border-left: 1px solid rgba(238, 239, 230, 0.08) !important;
  border-style: solid !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action::before,
body.game-page #chat-preview-message .message-bubble.preview-action::after {
  content: none !important;
  display: none !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action .message-content {
  opacity: 0.50 !important;
}

/* Final chat input width authority. */
body.game-page {
  --game-chat-input-width: 240px !important;
}

body.game-page .chat-input-column,
body.game-page.game-chat-active .chat-input-column {
  flex: 0 0 var(--game-chat-input-width) !important;
  width: var(--game-chat-input-width) !important;
  min-width: var(--game-chat-input-width) !important;
  max-width: var(--game-chat-input-width) !important;
  box-sizing: border-box !important;
}

body.game-page .chat-toolbar-icons,
body.game-page.game-chat-active .chat-toolbar-icons {
  gap: 7px !important;
  padding: 10px 8px !important;
  margin: 6px 6px 4px !important;
  box-sizing: border-box !important;
}

/* Global background authority: bunker image with a 65% black overlay. */
html,
body,
body.homepage,
body.dashboard-page,
body.wiki-static-page,
body.game-page,
html:has(body.homepage),
html:has(body.dashboard-page),
html:has(body.wiki-static-page),
html:has(body.game-page) {
  background:
    linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
    var(--outpost-global-bg) center center / cover fixed no-repeat,
    var(--bg-main) !important;
}

@media (max-width: 720px) {
  html,
  body,
  body.homepage,
  body.dashboard-page,
  body.wiki-static-page,
  body.game-page,
  html:has(body.homepage),
  html:has(body.dashboard-page),
  html:has(body.wiki-static-page),
  html:has(body.game-page) {
    background:
      linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)),
      var(--outpost-global-bg) center center / cover scroll no-repeat,
      var(--bg-main) !important;
  }
}

/* Absolute final readability and game panel opacity authority. */
html,
body {
  font-weight: 500 !important;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

body :where(p, li, dd, dt, label, input, textarea, select, button, a, small, blockquote, td, th, figcaption, .content, .message-content, .docs-content, .tab-content, .menu-item, .sidebar-section-label) {
  font-weight: 500 !important;
}

body :where(h1, h2, h3, h4, h5, h6, legend, .title, .section-title, .sidebar-section-title, .homepage-title-clean, .dashboard-title, .docs-content h1, .docs-content h2, .docs-content h3) {
  font-weight: 600 !important;
}

body :where(strong, b, .strong, .is-bold) {
  font-weight: 700 !important;
}

body :where(.fa, .fas, .far, .fal, .fab, .fa-solid, .fa-regular, .fa-brands, i[class^="fa-"], i[class*=" fa-"]) {
  font-weight: 900 !important;
}

body.game-page .game-sidebar,
body.game-page .sidebar.game-sidebar,
body.game-page header.game-topbar,
body.game-page .game-topbar,
body.game-page .chat-input-column,
body.game-page .chat-input-bar,
body.game-page .chat-toolbar-icons,
body.game-page .chat-tag-row,
body.game-page .chat-input-row {
  background: rgba(0, 0, 0, 0.10) !important;
  background-image: none !important;
  border-color: rgba(238, 239, 230, 0.045) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* Absolute final chat palette revision. */
body.game-page {
  --outpost-chat-speech-blue: #86abc8;
  --outpost-chat-action-grey: #bcc2c8;
  --outpost-chat-skill-red: #b36f6f;
  --outpost-chat-attempt-white: #eef0ec;
  --outpost-chat-location-beige: #bcb6ad;
  --outpost-chat-preview-olive: #7f8565;
}

body.game-page .message-bubble.action,
body.game-page .message-bubble.action .message-content,
body.game-page .chat-message-row.action .message-content,
body.game-page .chat-message-row.tipo-azione .message-content {
  color: var(--outpost-chat-action-grey) !important;
}

body.game-page .action-speech,
body.game-page .message-bubble.action .action-speech,
body.game-page .chat-message-row.action .action-speech,
body.game-page .chat-message-row.tipo-azione .action-speech,
body.game-page .chat-message-row.msg-master .action-speech,
body.game-page .message-bubble.master .action-speech {
  color: var(--outpost-chat-speech-blue) !important;
}

body.game-page .action-skill,
body.game-page .message-bubble .action-skill,
body.game-page .message-bubble.action .action-skill,
body.game-page .message-content .action-skill,
body.game-page .chat-message-row .action-skill,
body.game-page .chat-preview-wrapper .action-skill,
body.game-page .chat-message-row.msg-master .action-skill,
body.game-page .message-bubble.master .action-skill {
  color: var(--outpost-chat-skill-red) !important;
}

body.game-page .action-attempt,
body.game-page .action-speech-alt,
body.game-page .message-bubble .action-attempt,
body.game-page .message-bubble.action .action-attempt,
body.game-page .message-content .action-attempt,
body.game-page .chat-message-row .action-attempt,
body.game-page .chat-preview-wrapper .action-attempt,
body.game-page .message-bubble .action-speech-alt,
body.game-page .message-bubble.action .action-speech-alt,
body.game-page .message-content .action-speech-alt {
  color: var(--outpost-chat-attempt-white) !important;
}

body.game-page .msg-location-tag,
body.game-page .message-inline-meta .msg-location-tag,
body.game-page .location-tag {
  color: var(--outpost-chat-location-beige) !important;
}

body.game-page #chat-preview-message .chat-preview-label,
body.game-page .chat-preview-label {
  font-style: normal !important;
}

body.game-page #chat-preview-message .message-bubble.preview-action,
body.game-page .chat-preview-wrapper .message-bubble.preview,
body.game-page .message-bubble.preview {
  background: color-mix(in srgb, var(--outpost-chat-preview-olive) 44%, transparent) !important;
  background-image: none !important;
}

body.game-page .layout-toggle,
body.game-page .layout-restore,
body.game-page .collapse-glyph,
body.game-page .layout-toggle i,
body.game-page .layout-restore i,
body.game-page .layout-toggle svg,
body.game-page .layout-restore svg {
  color: var(--outpost-chat-preview-olive) !important;
  -webkit-text-fill-color: var(--outpost-chat-preview-olive) !important;
  border-color: color-mix(in srgb, var(--outpost-chat-preview-olive) 46%, transparent) !important;
}

body.game-page .layout-toggle:hover,
body.game-page .layout-restore:hover,
body.game-page .layout-toggle:focus-visible,
body.game-page .layout-restore:focus-visible {
  color: #aeb092 !important;
  -webkit-text-fill-color: #aeb092 !important;
  border-color: color-mix(in srgb, #aeb092 58%, transparent) !important;
}
/* Scrap market and instance inventory primitives */
.market-grid,
.inventory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

.item-card {
  border: 1px solid rgba(238, 239, 230, 0.10);
  background: rgba(0, 0, 0, 0.25);
  padding: 10px;
}

.item-card__image {
  width: 120px;
  height: 120px;
  object-fit: contain;
  display: block;
  margin: 0 auto 8px;
}

.item-card__name {
  font-weight: 650;
  color: rgba(238, 239, 230, 0.94);
}

.item-card__meta,
.item-card__condition,
.item-card__charges {
  font-size: 0.9rem;
  color: rgba(238, 239, 230, 0.78);
}

.item-card--broken {
  opacity: 0.55;
}

.equipment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(76px, 96px));
  gap: 8px;
}

.equipment-slot {
  min-height: 96px;
  border: 1px dashed rgba(238, 239, 230, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

body.game-page .chat-message-row.msg-item-use .message-bubble {
  border: 1px solid rgba(127, 133, 101, 0.26) !important;
  background: rgba(0, 0, 0, 0.25) !important;
}

.outpost-sheet-modal {
  color: rgba(238, 239, 230, 0.94);
  font-size: 0.88rem;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

.outpost-sheet-modal *,
.outpost-sheet-modal *::before,
.outpost-sheet-modal *::after {
  box-sizing: border-box;
  min-width: 0;
}

.outpost-sheet-modal .sheet-hero {
  display: flex;
  gap: 16px;
  align-items: stretch;
  margin-bottom: 16px;
}

.outpost-sheet-modal .sheet-avatar {
  width: 118px;
  min-width: 118px;
  aspect-ratio: 1 / 1;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(134, 171, 200, 0.24);
  background-color: rgba(0, 0, 0, 0.25);
}

.outpost-sheet-modal .sheet-identity {
  flex: 1;
}

.outpost-sheet-modal h2 {
  margin: 0 0 4px;
  font-family: var(--font-display);
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  color: rgba(238, 239, 230, 0.96);
}

.outpost-sheet-modal .sheet-modal-title {
  margin-bottom: 12px;
}

.outpost-sheet-modal h3 {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-size: 0.86rem;
  color: #7f8565;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.outpost-sheet-modal .sheet-cover-layout {
  display: grid;
  grid-template-columns: minmax(220px, 400px) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
  max-width: 100%;
}

.outpost-sheet-modal .sheet-cover-avatar {
  width: 100%;
  max-width: 400px;
  max-height: 600px;
  aspect-ratio: 2 / 3;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(134, 171, 200, 0.24);
  background-color: rgba(0, 0, 0, 0.25);
}

.outpost-sheet-modal .sheet-cover-info {
  display: grid;
  align-content: stretch;
  grid-auto-rows: minmax(0, 1fr);
  gap: 4px;
  min-height: 100%;
}

.outpost-sheet-modal .sheet-quote-box {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-left: 2px solid rgba(127, 133, 101, 0.5);
  background: rgba(0, 0, 0, 0.2);
  color: rgba(238, 239, 230, 0.82);
  font-style: italic;
  line-height: 1.55;
}

.outpost-sheet-modal .sheet-edit-button {
  margin-top: 12px;
  width: auto;
}

.outpost-sheet-modal .sheet-question-row {
  padding: 10px 0;
  border-bottom: 1px solid rgba(238, 239, 230, 0.06);
}

.outpost-sheet-modal .sheet-question-row strong {
  display: block;
  color: rgba(238, 239, 230, 0.86);
  font-size: 0.76rem;
  margin-bottom: 6px;
}

.outpost-sheet-modal .sheet-question-row p {
  margin: 0;
  min-height: 42px;
  color: rgba(238, 239, 230, 0.74);
  font-style: italic;
  line-height: 1.55;
}

.outpost-sheet-modal .sheet-help-text {
  margin-top: 12px;
  color: rgba(238, 239, 230, 0.58);
  font-size: 0.76rem;
  font-style: italic;
}

.outpost-sheet-modal .sheet-stat-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.outpost-sheet-modal .sheet-stat-group {
  padding: 12px;
  background: rgba(0, 0, 0, 0.18);
  border: 1px solid rgba(238, 239, 230, 0.07);
}

.outpost-sheet-modal .sheet-stat-group h4 {
  margin: 0 0 8px;
  display: flex;
  justify-content: space-between;
  color: #7f8565;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.outpost-sheet-modal .sheet-skill-list {
  display: grid;
  gap: 4px;
}

.outpost-sheet-modal .sheet-skill-list div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: rgba(238, 239, 230, 0.74);
}

.outpost-sheet-modal .sheet-ledger-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.outpost-sheet-modal .sheet-log-row {
  display: grid;
  grid-template-columns: 120px 120px 1fr;
  gap: 8px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(238, 239, 230, 0.06);
  color: rgba(238, 239, 230, 0.72);
}

.outpost-sheet-modal .sheet-log-row p {
  margin: 0;
}

.outpost-sheet-modal .sheet-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.outpost-sheet-modal .sheet-chip-row span {
  padding: 4px 7px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(238, 239, 230, 0.08);
  color: rgba(238, 239, 230, 0.82);
}

.outpost-sheet-modal .sheet-tabs {
  display: grid;
  gap: 12px;
}

.outpost-sheet-modal .sheet-tab-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 10px 0 12px;
}

.outpost-sheet-modal .sheet-tab-nav button {
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(134, 171, 200, 0.16);
  background: rgba(0, 0, 0, 0.22);
  color: rgba(238, 239, 230, 0.78);
  font-family: var(--font-ui);
  font-size: 0.74rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.outpost-sheet-modal .sheet-tab-nav button.active,
.outpost-sheet-modal .sheet-tab-nav button:hover {
  border-color: rgba(134, 171, 200, 0.38);
  color: #86abc8;
  background: rgba(0, 0, 0, 0.34);
}

.outpost-sheet-modal section {
  padding: 12px;
  background: rgba(0, 0, 0, 0.22);
  border: 1px solid rgba(238, 239, 230, 0.08);
  max-width: 100%;
  overflow: hidden;
}

.outpost-sheet-modal .sheet-tab-panel {
  display: none;
}

.outpost-sheet-modal .sheet-tab-panel.active {
  display: block;
  max-height: min(68vh, 720px);
  overflow: auto;
  padding-right: 8px;
}

.outpost-sheet-modal .outpost-sheet-form label {
  display: grid;
  grid-template-columns: minmax(96px, 0.58fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: rgba(238, 239, 230, 0.74);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.outpost-sheet-modal .sheet-cover-info label,
.outpost-sheet-modal .sheet-field-row {
  display: grid;
  grid-template-columns: minmax(96px, 0.58fr) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(238, 239, 230, 0.05);
}

.outpost-sheet-modal .sheet-field-row span {
  color: rgba(238, 239, 230, 0.58);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.outpost-sheet-modal .sheet-field-row strong {
  color: rgba(238, 239, 230, 0.88);
  font-weight: 500;
}

.outpost-sheet-modal .sheet-question-edit-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-width: 100%;
}

.outpost-sheet-modal .sheet-question-edit-grid label {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: stretch;
  gap: 7px;
  max-width: 100%;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(238, 239, 230, 0.06);
  line-height: 1.35;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

.outpost-sheet-modal .outpost-sheet-form input,
.outpost-sheet-modal .outpost-sheet-form select,
.outpost-sheet-modal .outpost-sheet-form textarea {
  width: 100%;
  max-width: 100%;
  min-height: 34px;
  border: 1px solid rgba(134, 171, 200, 0.16);
  background: rgba(0, 0, 0, 0.3);
  color: rgba(238, 239, 230, 0.92);
  padding: 7px 9px;
  font: inherit;
}

.outpost-sheet-modal .outpost-sheet-form textarea {
  min-height: 90px;
  resize: vertical;
}

.outpost-sheet-modal .outpost-sheet-form textarea[readonly],
.outpost-sheet-modal .outpost-sheet-form input[readonly] {
  opacity: 0.74;
  cursor: not-allowed;
  background: rgba(0, 0, 0, 0.18);
}

.outpost-sheet-modal .outpost-sheet-form label small {
  color: rgba(134, 171, 200, 0.72);
  font-size: 0.66rem;
  text-transform: none;
  letter-spacing: 0.02em;
}

.outpost-sheet-modal .talent-choice-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 8px;
  max-height: min(58vh, 560px);
  overflow: auto;
  padding-right: 4px;
}

.outpost-sheet-modal .talent-choice {
  display: grid !important;
  grid-template-columns: 18px 1fr;
  align-items: start;
  gap: 8px !important;
  padding: 9px;
  border: 1px solid rgba(238, 239, 230, 0.08);
  background: rgba(0, 0, 0, 0.24);
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.outpost-sheet-modal .talent-choice input {
  width: 14px !important;
  min-height: 14px !important;
  margin-top: 2px;
}

.outpost-sheet-modal .talent-choice strong {
  display: block;
  color: rgba(238, 239, 230, 0.92);
  font-size: 0.78rem;
  margin-bottom: 4px;
}

.outpost-sheet-modal .talent-choice small {
  display: block;
  color: rgba(238, 239, 230, 0.64) !important;
  line-height: 1.35;
}

.outpost-sheet-modal .sheet-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
  gap: 7px;
  max-width: 100%;
}

.outpost-sheet-modal .sheet-attr-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.outpost-sheet-modal .sheet-skill-stepper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr));
  gap: 8px;
}

.outpost-sheet-modal .sheet-stepper-row {
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid rgba(238, 239, 230, 0.08);
  background: rgba(0, 0, 0, 0.18);
}

.outpost-sheet-modal .sheet-stepper-row > span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}

.outpost-sheet-modal .sheet-stepper-row strong {
  color: rgba(238, 239, 230, 0.9);
  font-weight: 600;
}

.outpost-sheet-modal .sheet-stepper-row small {
  color: rgba(134, 171, 200, 0.72);
  font-size: 0.68rem;
}

.outpost-sheet-modal .sheet-stepper-control {
  display: grid;
  grid-template-columns: 30px minmax(34px, 1fr) 30px;
  gap: 6px;
  align-items: center;
}

.outpost-sheet-modal .sheet-stepper-control button {
  min-height: 30px;
  border: 1px solid rgba(134, 171, 200, 0.18);
  background: rgba(0, 0, 0, 0.26);
  color: #86abc8;
  cursor: pointer;
}

.outpost-sheet-modal .sheet-stepper-control input {
  text-align: center;
  padding: 5px !important;
}

.outpost-sheet-modal .sheet-budget-line {
  margin: 0 0 8px;
  color: rgba(238, 239, 230, 0.78);
  font-size: 0.76rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.outpost-sheet-modal .sheet-budget-invalid .sheet-budget-line {
  color: #b36f6f;
}

.outpost-sheet-modal .sheet-info-row,
.outpost-sheet-modal .sheet-item-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(238, 239, 230, 0.06);
}

.outpost-sheet-modal .sheet-info-row span,
.outpost-sheet-modal .sheet-item-row span,
.outpost-sheet-modal .sheet-item-row small {
  color: rgba(238, 239, 230, 0.62);
}

.outpost-sheet-modal .sheet-note {
  margin-top: 10px;
}

.outpost-sheet-modal .sheet-note p {
  margin: 5px 0 0;
  line-height: 1.55;
}

.outpost-sheet-modal .sheet-item-row {
  flex-direction: column;
  align-items: flex-start;
}

.outpost-sheet-modal .sheet-item-row.is-broken strong {
  color: #b36f6f;
}

@media (max-width: 640px) {
  .outpost-sheet-modal .sheet-hero {
    flex-direction: column;
  }

  .outpost-sheet-modal .sheet-cover-layout,
  .outpost-sheet-modal .sheet-log-row {
    grid-template-columns: 1fr;
  }

  .outpost-sheet-modal .sheet-avatar {
    width: 100%;
    max-width: 180px;
  }

  .outpost-sheet-modal .sheet-cover-avatar {
    max-width: min(100%, 260px);
    margin: 0 auto;
  }

  .outpost-sheet-modal .outpost-sheet-form label,
  .outpost-sheet-modal .sheet-cover-info label,
  .outpost-sheet-modal .sheet-field-row,
  .outpost-sheet-modal .sheet-question-edit-grid label {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .outpost-sheet-modal .sheet-tab-panel.active {
    max-height: 64vh;
  }

  .outpost-sheet-modal .sheet-attr-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Game modal geometry lives in assets/css/game.css. */
