/* GM workspace uses explicit sections rather than horizontal panel carousels. */
body.v042-authenticated .v042-main:has(.v042-gm-workspace),
body.v042-authenticated .v042-auth-layout:has(.v042-gm-workspace),
body.v042-authenticated .v042-surface:has(.v042-gm-workspace) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.v042-staff-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); gap: 1rem; }
.v042-staff-card { scroll-margin-top: 8rem; border: 1px solid #9b896e; padding: 1.1rem; background: #f3ead6; color: #342a1e; box-shadow: 0 2px 8px #241a1026; }
.v042-staff-portrait { display: block; width: 100%; aspect-ratio: 1; max-height: 24rem; object-fit: cover; object-position: center 30%; margin-bottom: .9rem; border: 1px solid #9b896e; box-sizing: border-box; }
.v042-staff-overline { font: 700 .72rem/1.4 sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #695334; }
.v042-staff-card h4 { margin: .3rem 0; font-size: 1.4rem; }
.v042-staff-home { color: #705b3f; font-style: italic; }
.v042-staff-blurb { margin: .8rem 0; }
.v042-staff-card blockquote { margin: .8rem 0; padding-left: .8rem; border-left: 3px solid #9b7950; font-style: italic; }
.v042-press-outlet { margin: 1.2rem 0; }
.v042-press-outlet-heading { margin: 0 0 .55rem; padding-bottom: .35rem; border-bottom: 2px solid #8e7754; color: #46311e; font: 700 1.25rem Georgia,serif; }
.v042-press-inbox { margin: .8rem 0 1.2rem; padding: .8rem; border: 1px solid #a8906d; background: #ece0c5; }
.v042-press-inbox h4 { margin: 0 0 .5rem; }
.v042-press-inbox-link { margin: .2rem .35rem .2rem 0; padding: .35rem .55rem; border: 1px solid #8e7754; background: #f5ecd9; color: #3c2b1b; cursor: pointer; }
.v042-reporter-chat { margin: .7rem 0; }
.v042-reporter-chat-content { margin-top: .55rem; padding: .65rem; border: 1px solid #af9975; background: #ede0c5; }
.v042-reporter-chat-note { margin: .25rem 0 .6rem; font-size: .9rem; }
.v042-reporter-anonymous { display: flex; align-items: center; gap: .3rem; margin-bottom: .55rem; font-weight: 700; }
.v042-reporter-chat-history { display: grid; gap: .5rem; max-height: 20rem; overflow: auto; margin: .5rem 0; padding: .4rem; border: 1px solid #c2af8e; background: #f9f1df; }
.v042-reporter-chat-message { padding: .45rem; border-bottom: 1px solid #c8b798; overflow-wrap: anywhere; }
.v042-reporter-chat-message p { white-space: pre-wrap; margin: .35rem 0 0; }
.v042-reporter-chat form { display: grid; gap: .4rem; }
.v042-reporter-chat form label { display: grid; gap: .25rem; }
.v042-reporter-chat textarea { width: 100%; box-sizing: border-box; }
.v042-staff-settings { border-top: 1px solid #b7a587; padding-top: .6rem; }
.v042-staff-settings summary { cursor: pointer; font: 700 .8rem sans-serif; }
.v042-staff-settings dl { max-height: 26rem; overflow: auto; display: grid; grid-template-columns: minmax(7rem, 1fr) 2fr; gap: .35rem .8rem; font-size: .85rem; }
.v042-staff-settings dt { text-transform: capitalize; font-weight: bold; }
.v042-staff-settings dd { margin: 0; overflow-wrap: anywhere; }
.v042-staff-byline { border: 0; background: transparent; padding: 0; color: inherit; text-decoration: underline; font: inherit; cursor: pointer; }
.v044-bound-entity.type-journalist { background: #e2d3b7; color: #4b3217; border-color: #a68a5d; }
body.v042-authenticated .v042-main:has(.v042-gm-command-dashboard),
body.v042-authenticated .v042-auth-layout:has(.v042-gm-command-dashboard),
body.v042-authenticated .v042-surface:has(.v042-gm-command-dashboard) {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.v042-gm-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding-bottom: 11rem;
}
.v042-gm-command-dashboard { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: .8rem; min-width: 0; padding: .8rem .8rem 11rem; }
.v042-gm-command-header, .v042-gm-command-stats, .v042-gm-command-factions, .v042-gm-command-dashboard > .v042-last-turn-panel { grid-column: 1 / -1; }
.v042-gm-command-header { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.v042-gm-command-header h1 { margin: .2rem 0; }
.v042-gm-command-header p { margin: .3rem 0 0; color: var(--v042-muted); }
.v042-gm-command-actions, .v042-gm-command-types { display: flex; flex-wrap: wrap; gap: .4rem; }
.v042-gm-chatgpt-link { display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; }
.v042-gm-command-stats { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .45rem; }
.v042-gm-command-stat { display: grid; gap: .1rem; padding: .7rem; border: 1px solid var(--v042-line); border-radius: 8px; background: rgba(255,255,255,.035); }
.v042-gm-command-stat span { color: var(--v042-muted); font-size: .72rem; }
.v042-gm-command-stat strong { font-size: 1.35rem; }
.v042-gm-command-dashboard > .v042-panel { width: 100%; min-width: 0; height: auto; max-height: none; overflow: hidden; }
.v042-gm-command-dashboard .v042-panel-body { height: auto; max-height: none; min-width: 0; overflow: visible; }
.v042-gm-command-dashboard details.v042-collapsible-panel > summary { cursor: pointer; list-style: none; }
.v042-gm-command-dashboard details.v042-collapsible-panel > summary::-webkit-details-marker { display: none; }
.v042-gm-command-dashboard details.v042-collapsible-panel > summary::after { content: '▾'; margin-left: .5rem; color: var(--v042-muted); font-size: 1.1rem; transition: transform .15s ease; }
.v042-gm-command-dashboard details.v042-collapsible-panel:not([open]) > summary::after { transform: rotate(-90deg); }
.v042-gm-command-dashboard details.v042-collapsible-panel > summary:focus-visible { outline: 2px solid var(--accent, #8db5d6); outline-offset: -2px; }
.v042-gm-command-dashboard details.v042-collapsible-panel:not([open]) > summary { border-bottom: 0; }
.v042-gm-command-types span { padding: .25rem .45rem; border: 1px solid var(--v042-line); border-radius: 999px; font-size: .72rem; }
.v042-gm-command-feed { display: grid; gap: .4rem; max-height: 34rem; overflow-y: auto; }
.v042-gm-command-event { display: grid; gap: .16rem; width: 100%; padding: .55rem .7rem; text-align: left; white-space: normal; border: 1px solid var(--v042-line); border-radius: 8px; background: rgba(255,255,255,.025); color: inherit; }
.v042-gm-command-event.is-new { border-left: 3px solid var(--accent, #8db5d6); }
.v042-gm-command-event-type { color: var(--accent, #8db5d6); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.v042-gm-command-event small, .v042-gm-command-event > span:last-child { color: var(--v042-muted); }
.v042-gm-command-issue-list, .v042-gm-command-roster { display: grid; gap: .45rem; }
.v042-gm-command-issue { display: grid; gap: .2rem; padding: .55rem .7rem; border: 1px solid rgba(220,160,90,.35); border-radius: 8px; }
.v042-gm-command-issue span { color: var(--v042-muted); font-size: .8rem; }
.v042-gm-command-map .v042-inspector-minimap { height: 27rem; }
.v042-gm-command-roster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v042-gm-command-roster details { min-width: 0; padding: .6rem; border: 1px solid var(--v042-line); border-radius: 8px; }
.v042-spectator-command-dashboard .v042-gm-command-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.v042-spectator-command-paper { display: grid; gap: .5rem; margin: 0; padding: .6rem; }
.v042-spectator-command-paper .v042-newspaper-story { min-width: 0; cursor: pointer; }
.v042-spectator-command-paper .v042-newspaper-story:first-child { grid-column: 1 / -1; }
.v042-spectator-command-chat { display: grid; gap: .5rem; max-height: 27rem; overflow-y: auto; }
.v042-spectator-command-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.v042-spectator-command-score-grid .v042-score-row { min-width: 0; }
.v042-gm-command-roster summary { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; cursor: pointer; }
.v042-gm-command-roster summary > span:last-child { margin-left: auto; color: var(--v042-muted); font-size: .76rem; }
.v042-gm-command-faction-detail { display: grid; gap: .4rem; padding-top: .5rem; }
.v042-gm-command-faction-detail p { margin: 0; }
.v042-gm-command-faction-detail ul { margin: 0; padding-left: 1.2rem; }
@media (max-width: 900px) {
  body.v042-authenticated .v042-main:has(.v042-gm-command-dashboard),
  body.v042-authenticated .v042-auth-layout:has(.v042-gm-command-dashboard),
  body.v042-authenticated .v042-surface:has(.v042-gm-command-dashboard) { height: auto !important; max-height: none !important; overflow: visible !important; }
  .v042-gm-command-dashboard { grid-template-columns: minmax(0, 1fr); }
  .v042-gm-command-header { align-items: stretch; flex-direction: column; }
  .v042-gm-command-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v042-gm-command-roster { grid-template-columns: minmax(0, 1fr); }
  .v042-spectator-command-dashboard .v042-gm-command-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v042-spectator-command-score-grid { grid-template-columns: minmax(0, 1fr); }
}
.v042-gm-area-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.v042-gm-area-nav button { min-height: 3rem; white-space: normal; }
.v042-gm-section-nav, .v042-gm-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.v042-gm-section-nav { border-top: 1px solid var(--v042-line); padding-top: .75rem; }
.v042-gm-section-nav button { min-height: 2.5rem; }
.v042-gm-area-nav,
.v042-gm-section-nav,
.v042-gm-detail,
.v042-gm-detail .v042-panel-body,
.v042-gm-detail .v042-godseye-list,
.v042-gm-detail .v042-godseye-faction,
.v042-gm-detail .v042-godseye-orders,
.v042-gm-detail .v042-godseye-activity {
  min-width: 0;
  max-width: 100%;
}
.v042-gm-area-nav button,
.v042-gm-section-nav button { min-width: 0; overflow-wrap: anywhere; }
.v042-gm-workspace .v042-gm-detail > .v042-panel,
.v042-gm-workspace > .v042-panel {
  width: 100% !important; height: auto !important; max-height: none !important;
  min-width: 0 !important; overflow: visible !important; grid-column: auto !important;
}
.v042-gm-workspace .v042-panel-body { height: auto !important; max-height: none !important; overflow: visible !important; }
.v042-gm-detail .v042-stack,
.v042-gm-detail .v042-adjudication-list,
.v042-gm-detail .v042-adjudication-row,
.v042-gm-detail .v042-adjudication-row details { min-width: 0; max-width: 100%; }
.v042-gm-detail .v042-admin-json-preview { max-width: 100%; overflow-x: auto; box-sizing: border-box; }
.v042-gm-detail .v042-adjudication-row summary { cursor: pointer; overflow-wrap: anywhere; }
.v042-gm-detail .v042-note.is-success,
.v042-early-deadline-panel .v042-note.is-success { border-color: rgba(107, 167, 125, .45); background: rgba(40, 100, 60, .18); }
.v042-gm-detail .v042-note.is-error,
.v042-early-deadline-panel .v042-note.is-error { border-color: rgba(217, 111, 95, .5); background: rgba(128, 40, 40, .24); }
.v042-gm-detail .v042-note.is-pending,
.v042-early-deadline-panel .v042-note.is-pending { border-color: rgba(141, 181, 214, .45); }
.v042-early-deadline-panel,
.v042-early-deadline-panel .v042-panel-body,
.v042-early-deadline-panel .v042-stack,
.v042-early-deadline-panel label {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.v042-early-deadline-panel .v042-stack,
.v042-early-deadline-panel label {
  grid-template-columns: minmax(0, 1fr);
}
.v042-early-deadline-panel label { display: grid; gap: .35rem; }
.v042-early-deadline-panel select,
.v042-early-deadline-panel button {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.v042-early-deadline-panel select { text-overflow: ellipsis; }
.v042-early-deadline-panel p,
.v042-early-deadline-panel button { overflow-wrap: anywhere; white-space: normal; }
.v042-gm-next { padding: 1rem; border: 1px solid var(--accent, #8db5d6); border-radius: .65rem; background: rgba(141,181,214,.10); }
.v042-gm-guide { list-style: none; display: grid; gap: .75rem; margin: 0; padding: 0; }
.v042-gm-guide > li { padding: 1rem; border: 1px solid var(--v042-line); border-radius: .65rem; }
.v042-gm-guide > li.is-next { border-color: var(--accent, #8db5d6); background: rgba(141,181,214,.09); }
.v042-gm-guide > li.is-complete { border-left: 4px solid #6ba77d; }
.v042-gm-guide > li.is-blocked { border-left: 4px solid #d1a45b; }
.v042-gm-guide h3 { margin: 0 0 .4rem; }
.v042-gm-steps-disclosure { min-width: 0; }
.v042-gm-steps-disclosure > summary { cursor: pointer; padding: .8rem 1rem; border: 1px solid var(--v042-line); border-radius: .65rem; }
.v042-gm-steps-disclosure[open] > summary { margin-bottom: .75rem; }
.v042-gm-steps-disclosure .v042-gm-guide > li { min-width: 0; }
.v042-gm-step-state { color: var(--v042-muted); font-size: .85rem; }
.v042-gm-guide .is-next .v042-gm-step-state { color: var(--accent, #8db5d6); font-weight: bold; }
@media (max-width: 700px) {
  .v042-gm-area-nav button { padding: .5rem .3rem; font-size: .8rem; }
  .v042-gm-links > button { flex: 1 1 10rem; white-space: normal; }
}

:root {
  --v042-bg: #081015;
  --v042-panel: rgba(11, 18, 24, 0.88);
  --v042-panel-2: rgba(15, 24, 31, 0.94);
  --v042-line: rgba(255, 255, 255, 0.1);
  --v042-text: #eef4f8;
  --v042-muted: #aabac6;
  --v042-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
  --v042-inspect-shell-height: calc(100dvh - var(--v042-chrome-height, 11.2rem));
}

.v042-page {
  color: var(--v042-text);
}

.v042-page * {
  box-sizing: border-box;
}

.v042-main {
  position: relative;
  z-index: 3;
  width: min(1400px, calc(100vw - 2rem));
  margin: 0 auto;
  padding: 0.65rem 0 6.2rem;
}

.v042-authenticated .v042-main {
  width: min(1500px, calc(100vw - 1.5rem));
  padding-top: 0.45rem;
}

.v042-shell {
  position: relative;
  min-height: 100vh;
}

.v042-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  gap: 0.55rem;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--v042-line);
  background: linear-gradient(180deg, rgba(7, 11, 15, 0.95), rgba(7, 11, 15, 0.82));
  backdrop-filter: blur(16px);
}

body.v042-field-active .v042-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto;
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--v042-line);
  background: linear-gradient(180deg, rgba(7, 11, 15, 0.95), rgba(7, 11, 15, 0.82));
  backdrop-filter: blur(16px);
  pointer-events: auto;
}

.v042-topbar.is-return-target {
  cursor: pointer;
}

.v042-topbar.is-return-target:hover {
  border-bottom-color: color-mix(in srgb, var(--accent, #8db5d6) 42%, var(--v042-line));
}

.v042-console-topbar,
body.v042-field-active .v042-console-topbar {
  grid-template-columns: minmax(12rem, 0.72fr) minmax(22rem, 1.8fr) minmax(12rem, auto);
  gap: 0.45rem;
  padding: 0.34rem 0.52rem;
  align-items: stretch;
}

.v042-console-left,
.v042-console-inspector,
.v042-topbar-date-center,
.v042-console-right {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.035);
}

.v042-console-left,
.v042-console-inspector,
.v042-topbar-date-center {
  display: grid;
  align-content: center;
  gap: 0.12rem;
  padding: 0.3rem 0.45rem;
}

.v042-topbar-date-center {
  justify-items: center;
  color: #fff;
  font-size: 0.92rem;
  font-weight: 900;
  text-align: center;
}

.v042-console-left {
  position: relative;
  padding-left: 3rem;
}

.v042-console-menu-btn {
  position: absolute;
  left: 0.22rem;
  top: 0.22rem;
  bottom: 0.22rem;
  min-width: 2.35rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 40%, rgba(255,255,255,.14));
  border-radius: 6px;
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--accent, #8db5d6) 14%, rgba(255,255,255,.04));
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}

.v042-console-title {
  color: var(--title-color, #f4f8fb);
  font-size: 1.02rem;
  font-weight: 900;
  line-height: 1;
}

.v042-mobile-title-line {
  display: none;
}

.v042-console-subline {
  display: flex;
  gap: 0.45rem;
  min-width: 0;
  color: var(--v042-muted);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.v042-console-subline span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-console-subline span + span::before {
  content: "/";
  margin-right: 0.45rem;
  color: rgba(255,255,255,.28);
}

.v042-console-subtitle {
  overflow: hidden;
  color: rgba(255,255,255,.58);
  font-size: 0.72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-console-inspector {
  position: relative;
  gap: 0.28rem;
  border-color: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 38%, rgba(255,255,255,.1));
  background:
    linear-gradient(rgba(5,8,11,.72), rgba(5,8,11,.72)),
    var(--console-image),
    linear-gradient(90deg, color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 18%, transparent), transparent 34%),
    rgba(255,255,255,.035);
  background-position: center;
  background-size: cover;
  cursor: pointer;
  grid-template-columns: minmax(5.5rem, .28fr) minmax(0, 1fr);
  align-items: center;
}

.v042-console-label {
  color: var(--entity-color, var(--accent, #8db5d6));
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.v042-console-inspector-head {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.55rem;
  min-width: 0;
  text-align: center;
}

.v042-console-inspector strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-console-inspector strong {
  color: #fff;
}

.v042-console-data-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.32rem;
  min-width: 0;
  overflow: hidden;
}

.v042-console-data-row span {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 13rem;
  overflow: hidden;
  padding: 0.08rem 0.36rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 999px;
  color: var(--v042-muted);
  background: rgba(7,11,15,.42);
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-console-open-hint {
  align-self: stretch;
  display: grid;
  align-content: center;
  justify-items: center;
  padding-right: 0.5rem;
  border-right: 1px solid rgba(255,255,255,.12);
  color: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 68%, var(--v042-muted));
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
}

.v042-console-inspector-main {
  display: grid;
  gap: 0.28rem;
  min-width: 0;
}

.v042-console-right {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0.45rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.v042-console-right-text {
  display: grid;
  align-content: center;
  justify-items: end;
  gap: 0.08rem;
  color: var(--v042-muted);
  font-size: 0.72rem;
  line-height: 1.08;
}

.v042-console-right-text b {
  color: #fff;
  font-size: 0.82rem;
}

.v042-console-pip-button {
  align-self: stretch;
  min-width: 0;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 56%, rgba(255,255,255,.18));
  background: rgba(255,255,255,.04);
  cursor: pointer;
}

.v042-console-pip {
  width: auto;
  height: 100%;
  min-height: 3.1rem;
  max-height: 3.9rem;
  object-fit: cover;
  display: block;
}

.v042-scoreboard-strip {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.32rem;
  padding-top: 0.28rem;
  border-top: 1px solid rgba(255,255,255,.08);
}

.v042-scoreboard-scroll {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.v042-scoreboard-toggle {
  flex: 0 0 auto;
  min-height: 1.9rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 42%, rgba(255,255,255,.12));
  border-radius: 8px;
  color: var(--title-color, #f4f8fb);
  background: rgba(255,255,255,.045);
  font: inherit;
  font-size: 0.78rem;
  cursor: pointer;
}

.v042-score-pill {
  position: relative;
  min-width: 6.4rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.4rem;
  align-items: center;
  padding: 0.5rem 0.65rem 0.62rem;
  border-right: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
}

.v042-score-name {
  overflow: hidden;
  color: #f5f8fb;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.05;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.v042-score-count {
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.v042-score-accent {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
}

.v042-scoreboard-drawer {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.32rem;
  padding-top: 0.34rem;
  border-top: 1px solid rgba(255,255,255,.08);
}

.v042-scoreboard-drawer.is-collapsed {
  padding-top: 0.22rem;
}

.v042-scoreboard-restore {
  width: 100%;
  min-height: 1.34rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 38%, rgba(255,255,255,.12));
  border-radius: 0 0 8px 8px;
  color: var(--v042-muted);
  background: rgba(255,255,255,.035);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v042-score-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5.35rem, 1fr));
  gap: 0.36rem;
}

.v042-score-card {
  position: relative;
  min-height: 6.1rem;
  aspect-ratio: 1 / 1;
  display: grid;
  align-content: end;
  gap: 0.18rem;
  padding: 0.34rem;
  border: 1px solid var(--entity-border, color-mix(in srgb, var(--entity-color, #8db5d6) 55%, rgba(255,255,255,.16)));
  border-radius: 8px;
  color: var(--entity-contrast, #fff);
  background: color-mix(in srgb, var(--entity-color, #8db5d6) 16%, rgba(7,11,15,.88));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--entity-border, var(--entity-color, #8db5d6)) 30%, transparent);
  overflow: hidden;
  cursor: pointer;
  text-align: left;
}

.v042-score-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.38;
  filter: saturate(1.05) contrast(1.08);
}

.v042-score-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 20%, rgba(5,8,11,.82));
}

.v042-score-card-copy,
.v042-score-card-metrics {
  position: relative;
  z-index: 1;
}

.v042-score-card-copy {
  display: grid;
  gap: 0.1rem;
}

.v042-score-card-copy strong {
  color: var(--entity-contrast, #fff);
  font-size: 0.8rem;
  text-transform: uppercase;
}

.v042-score-card-copy span,
.v042-score-card-metrics span {
  color: rgba(255,255,255,.72);
  font-size: 0.66rem;
}

.v042-score-card-metrics {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
}

.v042-score-card-metrics b {
  color: var(--entity-text, var(--entity-color, #8db5d6));
  font-size: 1.25rem;
  line-height: 1;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}

.v042-brandline,
.v042-title-row,
.v042-topbar-right,
.v042-score-name,
.v042-score-row,
.v042-selected-faction,
.v042-nav-group,
.v042-bottom-bar,
.v042-faction-card {
  display: flex;
  align-items: center;
}

.v042-brandline,
.v042-title-row {
  gap: 0.75rem;
}

.v042-brandline {
  color: var(--v042-muted);
  font-size: 0.85rem;
  flex-wrap: wrap;
}

.v042-brand-mark {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  background: var(--accent, #8db5d6);
  box-shadow: 0 0 20px color-mix(in srgb, var(--accent, #8db5d6) 60%, transparent);
}

.v042-title {
  margin: 0;
  color: var(--title-color, #f4f8fb);
  line-height: 1;
}

.v042-subtitle {
  margin: 0.45rem 0 0;
  color: var(--v042-muted);
}

.v042-kicker,
.v042-chip-label,
.v042-field-label {
  color: var(--v042-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v042-topbar-right {
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.v042-chip {
  min-width: 12rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
}

.v042-chip-value {
  color: var(--title-color, #f4f8fb);
  font-weight: 700;
}

.v042-chip-subtle {
  color: var(--v042-muted);
  font-size: 0.8rem;
}

.v042-guest-layout,
.v042-auth-layout,
.v042-public-grid,
.v042-guest-grid,
.v042-command-grid,
.v042-two-col,
.v042-faction-grid,
.v042-stack,
.v042-list {
  display: grid;
  gap: 1rem;
}

.v042-guest-grid {
  grid-template-columns: minmax(18rem, 26rem) minmax(0, 1fr);
}

.v042-public-grid {
  margin-top: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v042-command-grid {
  grid-template-columns: minmax(20rem, 1.15fr) minmax(20rem, 1fr) minmax(18rem, 0.95fr);
  align-items: stretch;
  min-height: calc(100dvh - 11.5rem);
}

.v042-two-col {
  grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 1fr);
}

.v042-comms-grid {
  display: grid;
  grid-template-columns: minmax(13rem, .68fr) minmax(13rem, .62fr) minmax(24rem, 1.7fr);
  gap: 1rem;
}

.v042-conversation-layout {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0.65rem;
  height: calc(100dvh - 10.8rem);
  min-height: 0;
  overflow: hidden;
}

.v042-thread-nav-panel .v042-compact-list {
  grid-template-columns: repeat(auto-fit, minmax(4.9rem, 1fr));
  gap: 0.42rem;
}

.v042-thread-nav-panel .v042-panel-header {
  padding-block: 0.45rem;
}

.v042-thread-nav-panel .v042-panel-header p {
  display: none;
}

.v042-comms-shell {
  display: grid;
  gap: 1rem;
  min-height: 0;
}

.v042-direct-comms-shell {
  height: min(40rem, calc(100dvh - 12rem));
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-layout {
  height: 100%;
}

.v042-dm-composer-panel {
  min-height: 0;
  overflow: visible;
}

.v042-dm-composer-panel .v042-panel-body {
  padding: 0.45rem;
  overflow: visible;
}

.v042-dm-composer-panel .v042-chat-composer {
  border-top: 0;
  padding: 0;
  background: transparent;
}

.v042-comms-mode-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.v042-diplomacy-state-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
}

.v042-diplomacy-state-row .v042-nav-btn {
  justify-content: center;
  min-height: 2.15rem;
}

.v042-diplomacy-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(8,12,16,.78);
}

.v042-diplomacy-toolbar h2 {
  margin: 0.1rem 0 0;
  font-size: 1.15rem;
}

.v042-diplomacy-dex-layout {
  display: grid;
  grid-template-columns: minmax(18rem, 0.85fr) minmax(0, 1.7fr);
  gap: 0.75rem;
  min-height: 0;
}

.v042-diplomacy-dex-panel,
.v042-diplomacy-document-panel {
  min-height: 0;
}

.v042-diplomacy-dex-panel .v042-panel-body,
.v042-diplomacy-document-panel .v042-panel-body {
  max-height: calc(100dvh - 15rem);
  overflow: auto;
}

.v042-diplomacy-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.4rem;
}

.v042-diplomacy-doc-list {
  display: grid;
  gap: 0.35rem;
}

.v042-document-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.v042-comms-compose-panel .v042-panel-body {
  padding: 0.8rem 1rem 1rem;
  overflow: visible;
}

.v042-comms-compose-grid {
  grid-template-columns: minmax(12rem, .8fr) minmax(15rem, 1fr) minmax(18rem, 1.4fr) auto;
  align-items: end;
}

.v042-comms-compose-grid textarea {
  min-height: 2.65rem;
  height: 2.65rem;
}

.v042-compact-list {
  display: grid;
  gap: 0.45rem;
}

.v042-compact-button {
  min-height: 2.25rem;
  padding: 0.48rem 0.62rem;
  font-size: 0.88rem;
}

.v042-chat-panel .v042-panel-body {
  padding: 0;
  overflow: visible;
}

.v042-thread-nav-panel .v042-panel-body {
  max-height: none;
  height: 100%;
  overflow: auto;
  padding: 0.55rem;
}

.v042-thread-nav-panel .v042-list-button {
  position: relative;
  aspect-ratio: 1 / 1;
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 0.16rem;
  min-height: 4.15rem;
  padding: 0.45rem;
  overflow: hidden;
  border-color: var(--entity-border, color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 52%, rgba(255,255,255,.16)));
  background: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 16%, rgba(7,11,15,.88));
}

.v042-thread-nav-panel .v042-list-button::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, transparent 22%, rgba(5,8,11,.88));
}

.v042-thread-nav-panel .v042-list-avatar {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  opacity: 0.36;
  object-fit: cover;
}

.v042-thread-nav-panel .v042-list-button span,
.v042-thread-nav-panel .v042-message-count-badge {
  position: relative;
  z-index: 1;
}

.v042-thread-nav-panel .v042-list-button span {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1.05;
  text-transform: uppercase;
}

.v042-conversation-panel {
  min-height: 0;
  overflow: hidden;
}

.v042-chat-panel .v042-panel-header {
  padding-block: 0.38rem;
}

.v042-conversation-panel .v042-panel-body {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.v042-conversation-surface {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.v042-conversation-surface::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(90deg, rgba(7,11,15,.52), rgba(7,11,15,.7) 49%, rgba(7,11,15,.78) 51%, rgba(7,11,15,.54)),
    var(--target-portrait),
    var(--sender-portrait);
  background-position: center, left center, right center;
  background-repeat: no-repeat;
  background-size: cover, 50% 100%, 50% 100%;
  opacity: 0.46;
  filter: saturate(1.05) contrast(1.08);
  pointer-events: none;
}

.v042-conversation-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, rgba(7,11,15,.18), rgba(7,11,15,.86));
  pointer-events: none;
}

.v042-chat-history {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.32rem;
  max-height: none;
  min-height: 0;
  overflow-y: auto;
  padding: 0.48rem 0.48rem 1.35rem;
  scroll-padding-bottom: 1rem;
}

.v042-chat-composer {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem;
  align-items: end;
  padding: 0.32rem;
  border-top: 1px solid var(--v042-line);
  background: rgba(7, 11, 15, .92);
}

.v042-dm-composer-panel .v042-panel-header {
  display: none;
}

.v042-dm-composer-panel .v042-composer-subject,
.v042-dm-composer-panel .v044-entity-input textarea {
  width: 100%;
  font-size: 1rem;
}

.v042-chat-composer textarea,
.v042-chat-composer .v044-entity-input textarea {
  min-height: 2.1rem;
  max-height: 3rem;
}

.v042-composer-subject,
.v042-forum-composer-row,
.v042-signatory-picker {
  grid-column: 1 / -1;
}

.v042-terms-input {
  min-height: 3.2rem;
  resize: vertical;
}

.v042-forum-composer-row {
  display: grid;
  grid-template-columns: auto minmax(10rem, 12rem) minmax(16rem, 1fr);
  align-items: end;
  gap: 0.55rem;
}

.v042-treaty-expiry {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) minmax(5.5rem, 0.45fr) minmax(5rem, 0.35fr);
  gap: 0.45rem;
  margin: 0;
  padding: 0.55rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  min-inline-size: 0;
}

.v042-treaty-expiry legend {
  padding: 0 0.35rem;
  color: var(--v042-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v042-treaty-expiry label {
  display: grid;
  gap: 0.25rem;
  color: var(--v042-muted);
  font-size: 0.72rem;
}

.v042-treaty-preview {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--v042-gold) 38%, var(--v042-line));
  border-radius: 8px;
  color: #f4ead4;
  background:
    linear-gradient(145deg, rgba(21, 16, 11, .98), rgba(7, 10, 12, .98)),
    radial-gradient(circle at 20% 15%, rgba(198,158,78,.2), transparent 35%);
  box-shadow: inset 0 0 0 1px rgba(222, 190, 128, .16);
}

.v042-treaty-preview h3 {
  margin: 0;
  color: #f8ecd3;
  font-family: Georgia, "Times New Roman", serif;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v042-live-document {
  gap: 0.55rem;
}

.v042-live-document.is-war {
  background:
    linear-gradient(145deg, rgba(38, 11, 10, .96), rgba(12, 9, 8, .98)),
    radial-gradient(circle at 18% 0%, rgba(180, 52, 42, .22), transparent 38%);
}

.v042-live-document.is-peace {
  background:
    linear-gradient(145deg, rgba(15, 28, 22, .96), rgba(9, 12, 10, .98)),
    radial-gradient(circle at 18% 0%, rgba(93, 178, 122, .2), transparent 38%);
}

.v042-live-document.is-claim,
.v042-live-document.is-dispute {
  background:
    linear-gradient(145deg, rgba(32, 25, 11, .96), rgba(12, 10, 8, .98)),
    radial-gradient(circle at 18% 0%, rgba(214, 171, 80, .2), transparent 38%);
}

.v042-live-document.is-alliance {
  background:
    linear-gradient(145deg, rgba(16, 22, 38, .96), rgba(8, 10, 15, .98)),
    radial-gradient(circle at 18% 0%, rgba(101, 145, 220, .2), transparent 38%);
}

.v042-live-doc-section {
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 8px;
  background: rgba(0,0,0,.18);
}

.v042-live-doc-section.is-editing {
  border-color: color-mix(in srgb, var(--v042-gold) 58%, rgba(255,255,255,.14));
  background: rgba(0,0,0,.3);
}

.v042-live-doc-display {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(6rem, .28fr) minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.55rem 0.7rem;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.v042-live-doc-display span {
  color: #c9b98f;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.v042-live-doc-display strong {
  color: #f8ecd3;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  white-space: pre-wrap;
}

.v042-live-doc-editor {
  padding: 0 0.7rem 0.7rem;
}

.v042-live-doc-editor .v044-entity-input,
.v042-live-doc-editor textarea,
.v042-live-doc-editor input,
.v042-live-doc-editor select {
  width: 100%;
}

.v042-live-selector-grid,
.v042-live-chip-grid {
  display: grid;
  gap: 0.45rem;
}

.v042-live-selector-grid {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.v042-live-chip-grid {
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
}

.v042-document-terms {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0 0 0 1.2rem;
  color: #eadfc9;
}

.v042-target-picker {
  border-color: color-mix(in srgb, #b89152 32%, var(--v042-line));
}

.v042-treaty-clause,
.v042-treaty-body {
  font-family: Georgia, "Times New Roman", serif;
}

.v042-treaty-body {
  min-height: 4.5rem;
  white-space: pre-wrap;
}

.v042-treaty-signature-lines {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.8rem;
}

.v042-treaty-signature-line {
  display: grid;
  gap: 0.35rem;
  color: color-mix(in srgb, var(--entity-color, #d8b46b) 45%, #f1dfbd);
}

.v042-treaty-signature-line i {
  display: block;
  border-bottom: 1px solid currentColor;
  min-height: 1.2rem;
}

.v042-treaty-initials {
  display: inline-block;
  width: fit-content;
  min-width: 4rem;
  padding: 0.1rem 0.3rem;
  border-bottom: 1px solid currentColor;
  color: color-mix(in srgb, var(--entity-color, #d8b46b) 62%, #fff2cc);
  font-family: "Segoe Script", "Bradley Hand ITC", cursive;
  font-size: 1.05rem;
  transform: rotate(-2deg);
}

.v042-chat-composer .v044-entity-input {
  min-width: 0;
}

.v042-chat-composer .v044-entity-suggestions,
.v042-press-composer .v044-entity-suggestions {
  top: auto;
  bottom: calc(100% + 0.35rem);
  max-height: 14rem;
  z-index: 220;
}

.v042-chat-message {
  width: min(88%, 44rem);
  display: grid;
  gap: 0.22rem;
  padding: 0.58rem 0.72rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,.04);
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.v042-chat-message.inbound {
  align-self: start;
}

.v042-chat-message.outbound {
  align-self: end;
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 36%, rgba(255,255,255,.12));
  background: color-mix(in srgb, var(--accent, #8db5d6) 13%, rgba(255,255,255,.04));
}

.v042-chat-meta {
  color: var(--v042-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.035em;
}

.v042-chat-body {
  color: var(--v042-muted);
  font-size: 0.86rem;
  line-height: 1.35;
}

.v042-chat-copy-button {
  justify-self: start;
  margin-top: 0.18rem;
  padding: 0.18rem 0.42rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 4px;
  color: var(--v042-muted);
  background: rgba(255,255,255,.04);
  font: inherit;
  font-size: 0.68rem;
  cursor: pointer;
}

.v042-chat-copy-button:hover,
.v042-chat-copy-button:focus-visible {
  color: var(--v042-text);
  border-color: var(--accent, #8db5d6);
}

.v042-forum-layout {
  display: grid;
  gap: 0.85rem;
  min-height: 0;
}

.v042-forum-topic-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.55rem;
}

.v042-forum-topic-button {
  display: grid;
  gap: 0.12rem;
  align-content: center;
}

.v042-forum-topic-button small {
  color: var(--v042-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.035em;
}

.v042-forum-stream {
  display: grid;
  gap: 0.55rem;
  max-height: calc(100dvh - 28rem);
  min-height: 12rem;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.v042-forum-post {
  display: grid;
  gap: 0.45rem;
  padding: 0.72rem 0.85rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.045);
}

.v042-public-document {
  position: relative;
  padding: 1.05rem;
  color: #f4ead4;
  background:
    linear-gradient(145deg, rgba(18, 14, 10, .98), rgba(9, 11, 13, .98)),
    radial-gradient(circle at 20% 10%, color-mix(in srgb, var(--entity-color, #9c7330) 22%, transparent), transparent 38%);
  border-color: color-mix(in srgb, var(--entity-color, #9c7330) 45%, rgba(255,255,255,.14));
  box-shadow: inset 0 0 0 1px rgba(222, 190, 128, .16), 0 18px 50px rgba(0,0,0,.35);
}

.v042-public-document .v042-forum-post-head,
.v042-public-document .v042-chat-body,
.v042-public-document .v044-bound-text {
  color: #eadfc9;
}

.v042-document-title {
  margin: 0;
  color: #f8ecd3;
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v042-document-microhead {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  color: rgba(234,223,201,.72);
  font-size: 0.7rem;
  text-transform: uppercase;
}

.v042-treaty-initials.is-crossed {
  color: #ffb3a8;
  text-decoration: line-through;
}

.v042-document-seal {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: 4.2rem;
  height: 4.2rem;
  display: grid;
  place-items: center;
  border: 2px double color-mix(in srgb, var(--entity-color, #c49a4a) 62%, #3c2413);
  border-radius: 999px;
  color: #f8e3b0;
  background: radial-gradient(circle, color-mix(in srgb, var(--entity-color, #8b1f1f) 34%, #2a1010), #120809 70%);
  box-shadow: inset 0 0 0 3px rgba(255,255,255,.05), 0 8px 20px rgba(0,0,0,.35);
  font-family: Georgia, "Times New Roman", serif;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-8deg);
}

.v042-document-seal strong {
  font-size: 0.64rem;
  line-height: 1;
}

.v042-document-seal span {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 0.48rem;
}

.v042-document-seal.is-pending {
  filter: saturate(.82);
  opacity: .82;
}

.v042-document-seal.is-archive {
  filter: grayscale(.7);
  opacity: .58;
}

.v042-forum-post-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  color: var(--v042-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.035em;
}

.v042-forum-type-pill {
  padding: 0.16rem 0.45rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 35%, rgba(255,255,255,.12));
  border-radius: 999px;
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--accent, #8db5d6) 14%, rgba(255,255,255,.035));
}

.v042-public-document .v042-forum-type-pill,
.v042-forum-type-pill.is-secret {
  color: #f6e8cb;
  background: rgba(0,0,0,.36);
  border-color: color-mix(in srgb, var(--entity-color, #b89152) 48%, rgba(255,255,255,.18));
}

.v042-signatory-picker,
.v042-signature-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.v042-document-options {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  padding: 0.5rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-signature-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.48rem;
  border: 1px solid var(--v042-line);
  border-radius: 999px;
  color: var(--v042-muted);
  background: rgba(255,255,255,.045);
  font-size: 0.75rem;
}

.v042-signature-chip.is-signed {
  color: #dff6de;
  border-color: rgba(94, 210, 114, .38);
  background: rgba(94, 210, 114, .12);
}

.v042-signature-chip.is-pending {
  color: #ffe5ad;
  border-color: rgba(255, 201, 92, .36);
  background: rgba(255, 201, 92, .1);
}

.v042-press-page {
  display: grid;
  gap: 1rem;
}

.v042-press-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(10,15,19,.78);
}

.v042-press-toolbar h2 {
  margin: 0.1rem 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.25rem;
  letter-spacing: 0;
}

.v042-press-compose-panel .v042-panel-body {
  overflow: visible;
}

.v042-press-compose-panel {
  overflow: visible;
}

.v042-press-composer {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: end;
  padding-top: 0.2rem;
}

.v042-press-headline-input {
  grid-column: 1 / -1;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.25rem;
  font-weight: 800;
}

.v042-press-composer .v044-entity-input {
  min-width: 0;
  grid-column: 1 / -1;
}

.v042-press-feature {
  display: grid;
  gap: 0.55rem;
  padding: 1rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: #f7f0df;
  background: rgba(7, 11, 15, .74);
  font-family: Georgia, 'Times New Roman', serif;
}

.v042-press-feature h1 {
  margin: 0;
  color: #fff8e8;
  font-size: clamp(1.6rem, 3vw, 2.8rem);
  line-height: 1.02;
}

.v042-press-mention-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.22rem;
  font-family: system-ui, sans-serif;
}

.v042-press-mention-row.is-modal-only {
  margin: 0.35rem 0 0.25rem;
}

.v042-press-mention-row.is-modal-only .v044-bound-entity {
  min-height: 1.1rem;
  padding: 0.04rem 0.28rem;
  font-size: 0.68rem;
}

.v042-newspaper-story {
  cursor: pointer;
}

.v042-newspaper-story.is-selected {
  outline: 2px solid color-mix(in srgb, var(--accent, #8db5d6) 54%, transparent);
  outline-offset: 3px;
}

.v042-season-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.v042-newspaper {
  column-count: 3;
  column-gap: 1.4rem;
  padding: 1.15rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(242, 236, 218, .92);
  color: #171310;
  box-shadow: var(--v042-shadow);
}

.v042-newspaper-toc {
  column-span: all;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid rgba(23,19,16,.22);
  color: #171310;
  font-family: Georgia, 'Times New Roman', serif;
}

.v042-newspaper-toc a {
  color: #32271f;
  text-decoration: none;
  border-bottom: 1px solid rgba(23,19,16,.35);
}

.v042-newspaper-section {
  break-inside: avoid;
  margin-bottom: 1.2rem;
}

.v042-newspaper-section h3 {
  margin: 0 0 0.65rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid rgba(23,19,16,.3);
  color: #171310;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.05rem;
  text-transform: uppercase;
}

.v042-newspaper-section.is-dry .v042-newspaper-story {
  margin-bottom: 0.75rem;
  padding-bottom: 0.65rem;
}

.v042-newspaper-story.is-dry h2 {
  font-size: 1rem;
}

.v042-newspaper-story {
  break-inside: avoid;
  margin: 0 0 1.35rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(23,19,16,.18);
}

.v042-newspaper-story.is-lead {
  column-span: all;
  padding-bottom: 1.2rem;
}

.v042-news-image {
  margin: 0.35rem 0 0.7rem;
  border: 1px solid rgba(23,19,16,.26);
  background: #14100d;
}

.v042-news-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  filter: saturate(.72) contrast(1.04);
}

.v042-news-image.is-lead img {
  max-height: 19rem;
}

.v042-news-image figcaption {
  padding: 0.3rem 0.45rem;
  color: #66574a;
  background: #e4d6bd;
  font-size: 0.72rem;
  font-style: italic;
  line-height: 1.2;
}

.v042-newspaper-story h2 {
  margin: 0.25rem 0 0.45rem;
  color: #171310;
  font-size: clamp(1.2rem, 2vw, 2rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.v042-newspaper-body {
  color: #2b241f;
  font-size: 0.95rem;
  line-height: 1.52;
}

.v042-newspaper .v042-kicker {
  color: #6b5b4d;
}

.v042-newspaper .v044-bound-entity {
  color: #171310;
  background: rgba(216,180,95,.28);
  border-color: rgba(23,19,16,.26);
}

.v042-main:has(.v042-inspect-grid) {
  padding-bottom: 4.45rem;
}

.v042-surface:has(.v042-inspect-grid) {
  overflow: hidden;
}

.v042-inspect-grid {
  display: grid;
  grid-template-columns: minmax(18rem, .42fr) minmax(24rem, 1fr) minmax(20rem, .72fr);
  gap: 0.5rem;
  align-items: stretch;
  height: var(--v042-inspect-shell-height);
  max-height: var(--v042-inspect-shell-height);
  min-height: 0;
  overflow: hidden;
}

.v042-inspect-grid > .v042-panel:first-child {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  max-height: none;
  min-height: 0;
  overflow: hidden;
}

.v042-inspect-grid > .v042-panel:last-child {
  grid-column: auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  max-height: none;
  min-height: 0;
  overflow: hidden;
}

.v042-inspect-grid > .v042-panel:first-child .v042-panel-body {
  min-height: 0;
  overflow: auto;
}

.v042-inspection-panel .v042-panel-body {
  min-height: 0;
  overflow: hidden;
}

.v042-inspection-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  align-items: stretch;
  height: 100%;
  max-height: none;
  min-height: 0;
  overflow: hidden;
}

.v042-inspect-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.v042-signature-chip input:disabled + span {
  opacity: 0.62;
}

.v042-inspection-data-column,
.v042-inspection-map-column {
  min-height: 0;
  height: 100%;
  max-height: none;
  overflow: auto;
}

.v042-inspection-data-column {
  display: grid;
  gap: 0.5rem;
}

.v042-inspection-map-column {
  display: grid;
  overflow: hidden;
}

.v042-mobile-minimap-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.v042-mobile-minimap-panel .v042-panel-body,
.v042-mobile-minimap-body {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.v042-settings-grid {
  display: grid;
  grid-template-columns: minmax(20rem, .82fr) minmax(28rem, 1.18fr);
  gap: 1rem;
}

.v042-settings-shell {
  display: grid;
  grid-template-columns: minmax(13rem, 0.34fr) minmax(0, 1fr);
  gap: 1rem;
  min-height: 0;
}

.v042-settings-preview {
  display: grid;
  gap: 0.75rem;
}

.v042-inspect-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.v042-inspect-stat-stack {
  display: grid;
  gap: 0.6rem;
}

.v042-inspect-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem;
}

.v042-inspect-stat {
  display: grid;
  gap: 0.25rem;
  padding: 0.48rem;
  border: 1px solid var(--entity-border, var(--v042-line));
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-inspect-stat span {
  color: var(--v042-muted);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v042-inspect-stat strong {
  color: var(--title-color, #f4f8fb);
  overflow: hidden;
  text-overflow: ellipsis;
}

.v042-inspect-stat-value {
  min-width: 0;
}

.v042-context-link {
  width: 100%;
  min-height: 1.7rem;
  padding: 0.22rem 0.42rem;
  border: 1px solid var(--entity-border, color-mix(in srgb, var(--entity-color, var(--v042-gold)) 48%, var(--v042-line)));
  border-radius: 6px;
  color: #f6fafb;
  background: color-mix(in srgb, var(--entity-color, var(--v042-gold)) 18%, rgba(255,255,255,.04));
  text-align: left;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.v042-context-link:hover,
.v042-context-link:focus-visible {
  border-color: color-mix(in srgb, var(--entity-color, var(--v042-gold)) 75%, white);
  background: color-mix(in srgb, var(--entity-color, var(--v042-gold)) 28%, rgba(255,255,255,.06));
}

.v042-adjacency-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.45rem;
}

.v042-segmented {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.v042-search-input {
  width: 100%;
  min-height: 2.65rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,.04);
  font: inherit;
}

.v042-rules-shell {
  display: grid;
  gap: 0.75rem;
}

.v042-rules-mini-toc {
  position: fixed;
  z-index: 72;
  top: var(--v042-topbar-height, 4rem);
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  width: 100%;
  min-height: 3.2rem;
  padding: 0.58rem 1rem;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 44%, rgba(255,255,255,.14));
  border-radius: 0;
  color: var(--v042-text);
  background: linear-gradient(180deg, rgba(12, 19, 25, .98), rgba(7, 12, 16, .96));
  box-shadow: var(--v042-shadow);
  cursor: pointer;
  font: inherit;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-0.6rem);
  transition: opacity .16s ease, transform .16s ease, border-color .16s ease, background .16s ease;
}

.v042-rules-mini-toc.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.v042-rules-mini-toc:hover,
.v042-rules-mini-toc:focus-visible {
  border-color: color-mix(in srgb, #f4dfae 54%, var(--accent, #8db5d6));
  background: rgba(13, 20, 26, .98);
}

.v042-rules-mini-toc span {
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
}

.v042-rules-mini-toc b {
  color: var(--v042-muted);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.v042-rules-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 42%, rgba(255,255,255,.13));
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(214, 184, 112, .1), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)),
    rgba(7, 11, 15, .9);
  box-shadow: var(--v042-shadow);
}

.v042-rulebook-mark {
  display: grid;
  place-items: center;
  width: 3.4rem;
  height: 3.4rem;
  border: 1px solid rgba(214, 184, 112, .45);
  border-radius: 8px;
  color: #f4dfae;
  background: rgba(214, 184, 112, .1);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  line-height: 1;
}

.v042-rules-hero h1 {
  margin: 0.12rem 0 0;
  color: var(--title-color, #f4f8fb);
  font-size: clamp(1.45rem, 2.3vw, 2.25rem);
  line-height: 1.05;
}

.v042-rules-hero p {
  max-width: 78rem;
  margin: 0.35rem 0 0;
  color: var(--v042-muted);
  line-height: 1.45;
}

.v042-rules-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 0.28fr) minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
}

.v042-rules-index {
  position: sticky;
  top: calc(var(--v042-topbar-height, 4rem) + 0.65rem);
  display: grid;
  gap: 0.55rem;
  max-height: calc(100dvh - var(--v042-topbar-height, 4rem) - 1.3rem);
  min-height: 0;
  padding: 0.75rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(9, 14, 18, .94);
  box-shadow: var(--v042-shadow);
}

.v042-rules-search {
  min-height: 2.35rem;
}

.v042-rules-count {
  color: var(--v042-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v042-rules-toc {
  min-height: 0;
  overflow: auto;
  padding-right: 0.15rem;
}

.v042-rules-toc-list {
  display: grid;
  gap: 0.22rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v042-rules-toc-list .v042-rules-toc-list {
  margin: 0.18rem 0 0.16rem 0.55rem;
  padding-left: 0.58rem;
  border-left: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 30%, rgba(255,255,255,.09));
  gap: 0.18rem;
}

.v042-rules-toc-item {
  min-width: 0;
}

.v042-rule-toc-button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem;
  align-items: start;
  width: 100%;
  min-height: 2.05rem;
  padding: 0.42rem 0.52rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 6px;
  color: var(--v042-text);
  background: rgba(255,255,255,.035);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.v042-rules-toc-item.has-children > .v042-rule-toc-button {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 34%, rgba(255,255,255,.1));
  background: color-mix(in srgb, var(--accent, #8db5d6) 8%, rgba(255,255,255,.04));
}

.v042-rules-toc-list.level-1 .v042-rule-toc-button,
.v042-rules-toc-list.level-2 .v042-rule-toc-button {
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 1.82rem;
  padding: 0.26rem 0.44rem;
  background: rgba(255,255,255,.026);
}

.v042-rule-toc-button.is-context {
  opacity: 0.72;
}

.v042-rule-toc-button:hover,
.v042-rule-toc-button:focus-visible {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 44%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 12%, rgba(255,255,255,.035));
}

.v042-rule-toc-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  margin-top: 0.04rem;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: color-mix(in srgb, var(--accent, #8db5d6) 72%, var(--v042-muted));
  background: transparent;
  font-size: 0.62rem;
  font-weight: 900;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  text-transform: none;
  white-space: nowrap;
}

.v042-rules-toc-list.level-1 .v042-rule-toc-number,
.v042-rules-toc-list.level-2 .v042-rule-toc-number {
  font-size: 0.6rem;
}

.v042-rule-toc-title {
  min-width: 0;
  overflow: hidden;
  color: #f5f8fb;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.16;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-rules-toc-list.level-1 .v042-rule-toc-title,
.v042-rules-toc-list.level-2 .v042-rule-toc-title {
  color: var(--v042-muted);
  font-size: 0.74rem;
}

.v042-rule-toc-button:hover .v042-rule-toc-title,
.v042-rule-toc-button:focus-visible .v042-rule-toc-title {
  color: var(--title-color, #f4f8fb);
}

.v042-rules-content {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.v042-rule-section {
  scroll-margin-top: calc(var(--v042-topbar-height, 4rem) + 0.7rem);
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.015)), rgba(8, 13, 17, .92);
  box-shadow: var(--v042-shadow);
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.v042-rule-section:hover,
.v042-rule-section:focus-visible {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.16));
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), rgba(9, 15, 20, .95);
}

.v042-rule-section:target {
  border-color: color-mix(in srgb, #f4dfae 58%, var(--accent, #8db5d6));
  box-shadow: 0 0 0 2px rgba(244, 223, 174, .13), var(--v042-shadow);
}

.v042-rule-section-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.72rem 0.82rem;
  border-bottom: 1px solid var(--v042-line);
}

.v042-rule-section-head h2 {
  margin: 0.08rem 0 0;
  color: var(--title-color, #f4f8fb);
  font-size: clamp(1.05rem, 1.5vw, 1.38rem);
  line-height: 1.12;
}

.v042-rule-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  justify-content: flex-end;
}

.v042-rule-actions a {
  text-decoration: none;
}

.v042-rule-body {
  padding: 0.86rem;
  color: #e9f0f4;
  font-size: 0.96rem;
  line-height: 1.58;
}

.v042-rule-body p {
  margin: 0 0 0.72rem;
}

.v042-rule-body p:last-child {
  margin-bottom: 0;
}

.v042-rule-body ul,
.v042-rule-body ol {
  margin: 0 0 0.8rem;
  padding-left: 1.35rem;
}

.v042-rule-body li + li {
  margin-top: 0.22rem;
}

.v042-rule-body code {
  padding: 0.08rem 0.28rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 5px;
  color: #f4dfae;
  background: rgba(0,0,0,.28);
  font-size: 0.9em;
}

.v042-rule-table-wrap {
  max-width: 100%;
  margin: 0.35rem 0 0.85rem;
  overflow-x: auto;
}

.v042-rule-table {
  width: 100%;
  min-width: 24rem;
  border-collapse: collapse;
  color: #edf4f8;
  font-size: 0.9rem;
}

.v042-rule-table th,
.v042-rule-table td {
  padding: 0.48rem 0.55rem;
  border: 1px solid rgba(255,255,255,.1);
  text-align: left;
  vertical-align: top;
}

.v042-rule-table th {
  color: #fff;
  background: rgba(255,255,255,.08);
}

.v042-rule-table td {
  background: rgba(255,255,255,.025);
}

.v042-inspect-grid > .v042-panel:first-child .v042-nav-btn,
.v042-inspect-grid > .v042-panel:first-child .v042-list-button {
  min-height: 2rem;
  padding: 0.38rem 0.48rem;
  font-size: 0.78rem;
  line-height: 1.1;
  border-color: var(--entity-border, color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 38%, rgba(255,255,255,.12)));
}

.v042-inspect-grid > .v042-panel:first-child .v042-segmented {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.v042-inspector-card {
  display: grid;
  gap: 0.42rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 36%, rgba(255,255,255,.12));
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--entity-color, #8db5d6) 14%, transparent), transparent 42%),
    linear-gradient(180deg, rgba(9,14,18,.96), rgba(7,10,13,.96));
}

.v042-inspector-card-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.42rem;
  padding: 0.38rem 0.5rem;
  border-block: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 32%, rgba(255,255,255,.1));
  background: color-mix(in srgb, var(--entity-color, #8db5d6) 18%, rgba(0,0,0,.58));
}

.v042-inspector-card-banner span {
  color: var(--v042-muted);
  font-size: 0.66rem;
  font-weight: 900;
  text-transform: uppercase;
}

.v042-inspector-card-banner strong {
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-inspector-card > :not(.v042-inspect-hero):not(.v042-inspector-card-banner) {
  margin-inline: 0.5rem;
}

.v042-inspector-card > :last-child {
  margin-bottom: 0.5rem;
}

.v042-comms-compose {
  margin-top: 0.45rem;
  padding: 0.8rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-comms-compose.is-direct {
  border-color: color-mix(in srgb, #6fb1ff 35%, rgba(255,255,255,.12));
}

.v042-comms-compose.is-forum {
  border-color: color-mix(in srgb, #f2cb72 35%, rgba(255,255,255,.12));
}

.v042-comms-compose.is-press {
  border-color: color-mix(in srgb, #f48a8a 35%, rgba(255,255,255,.12));
}

.v042-panel {
  min-height: 0;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015)), linear-gradient(180deg, var(--v042-panel-2), var(--v042-panel));
  box-shadow: var(--v042-shadow);
}

.v042-panel-accented {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 55%, rgba(255,255,255,.12));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent, #8db5d6) 20%, transparent), var(--v042-shadow);
}

.v042-panel-header {
  display: flex;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.62rem 0.72rem;
  border-bottom: 1px solid var(--v042-line);
}

.v042-panel-header h2 {
  margin: 0.08rem 0 0;
  color: var(--title-color, #f4f8fb);
  line-height: 1.1;
}

.v042-panel-header p {
  margin: 0.22rem 0 0;
  color: var(--v042-muted);
  font-size: 0.88rem;
}

.v042-panel-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 0.4rem;
}

.v042-panel-info {
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  min-width: 1.55rem;
  min-height: 1.55rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 36%, rgba(255,255,255,.14));
  border-radius: 999px;
  color: var(--v042-muted);
  background: rgba(255,255,255,.045);
  cursor: help;
  font: 800 0.72rem/1 system-ui, sans-serif;
  text-transform: lowercase;
}

.v042-panel-info:hover,
.v042-panel-info:focus-visible {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 62%, rgba(255,255,255,.2));
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--accent, #8db5d6) 16%, rgba(255,255,255,.05));
}

.v042-panel-body {
  padding: 0.72rem;
}

.v042-mobile-back-button {
  display: none;
}

.v042-top-nav {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
  padding: 0 0 0.28rem;
  overflow-x: auto;
  border-bottom: 1px solid rgba(255,255,255,.08);
  scrollbar-width: none;
}

.v042-top-nav::-webkit-scrollbar {
  display: none;
}

.v042-top-nav .v042-nav-btn {
  flex: 0 0 auto;
  min-height: 1.8rem;
  min-width: 2.2rem;
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
}

.v042-top-nav .v042-map-nav-btn {
  border-color: color-mix(in srgb, #d8b45f 55%, rgba(255,255,255,.14));
}

.v042-bottom-bar.v042-command-bars {
  display: none;
}

.v042-form {
  display: grid;
  gap: 0.9rem;
}

.v042-form label {
  display: grid;
  gap: 0.35rem;
}

.v042-form input,
.v042-form select,
.v042-form textarea,
.v042-secondary,
.v042-primary,
.v042-danger,
.v042-nav-btn {
  min-height: 2.65rem;
  border-radius: 8px;
  border: 1px solid var(--v042-line);
  font: inherit;
}

.v042-form input,
.v042-form select,
.v042-form textarea {
  width: 100%;
  padding: 0.7rem 0.8rem;
  color: var(--v042-text);
  background: rgba(255, 255, 255, 0.04);
}

.v042-form textarea {
  min-height: 8rem;
  resize: vertical;
}

.v042-primary,
.v042-secondary,
.v042-danger,
.v042-nav-btn {
  padding: 0.7rem 0.95rem;
  cursor: pointer;
}

.v042-primary {
  color: #081015;
  font-weight: 700;
  background: var(--accent, #8db5d6);
}

.v042-secondary,
.v042-nav-btn {
  color: var(--v042-text);
  background: rgba(255,255,255,0.05);
}

.v042-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  white-space: nowrap;
}

.v042-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.2em;
  line-height: 1;
  font-size: 1.08em;
}

.v042-secondary.is-active {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 55%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 18%, rgba(255,255,255,.04));
}

.v042-adj-mode-btn {
  position: relative;
  font-weight: 900;
}

.v042-adj-mode-btn.v042-adj-mode-active {
  border-color: rgba(239, 197, 94, .92);
  color: #fff7da;
  background: linear-gradient(180deg, rgba(239, 197, 94, .3), rgba(126, 55, 30, .24));
  box-shadow:
    0 0 0 2px rgba(239, 197, 94, .18),
    0 0 22px rgba(239, 197, 94, .18),
    inset 0 0 0 1px rgba(255,255,255,.16);
}

.v042-adj-mode-btn.v042-adj-mode-active::after {
  content: '';
  position: absolute;
  top: 0.38rem;
  right: 0.38rem;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #ffd76f;
  box-shadow: 0 0 0 3px rgba(255, 215, 111, .18), 0 0 12px rgba(255, 215, 111, .55);
}

.v042-danger {
  color: #fff;
  background: rgba(150, 38, 38, 0.72);
}

.v042-nav-btn.is-active {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 55%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 18%, rgba(255,255,255,.04));
}

.v042-list-button.is-active,
.v042-message-row.is-active {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 58%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 16%, rgba(255,255,255,.05));
}

.v042-selected-faction,
.v042-faction-card,
.v042-score-row {
  gap: 0.75rem;
  padding: 0.8rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
}

.v042-score-row {
  justify-content: space-between;
}

.v042-score-metrics {
  color: var(--v042-muted);
  text-align: right;
  font-size: 0.84rem;
}

.v042-faction-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v042-swatch {
  width: 0.9rem;
  height: 0.9rem;
  border-radius: 999px;
  flex: 0 0 auto;
}

.v042-note {
  color: var(--v042-muted);
  line-height: 1.45;
}

.v042-empty {
  display: grid;
  gap: 0.35rem;
  padding: 0.2rem 0;
}

.v042-press-item,
.v042-list-row {
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--v042-line);
}

.v042-press-item:last-child,
.v042-list-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.v042-map-frame {
  min-height: 32rem;
  border-radius: 8px;
  overflow: hidden;
  background: #091015;
}

.v042-map-frame.compact {
  min-height: 24rem;
}

.v042-map-frame iframe {
  width: 100%;
  min-height: 32rem;
  border: 0;
  display: block;
}

.v042-map-frame.compact iframe {
  min-height: 24rem;
}

.v042-map-page {
  min-height: calc(100dvh - var(--v042-topbar-height, 4.2rem));
  padding-bottom: calc(var(--v042-bottombar-height, 8rem) + 0.8rem);
}

.v042-map-page-stage {
  position: relative;
  height: calc(100dvh - var(--v042-topbar-height, 4.2rem) - var(--v042-bottombar-height, 8rem) - 1.2rem);
  min-height: 31rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 34%, rgba(255,255,255,.12));
  border-radius: 8px;
  background: #05080b;
  box-shadow: var(--v042-shadow);
  overflow: hidden;
}

.v042-map-page-stage iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  border: 0;
  background: #05080b;
}

.v042-shell.v042-map-view-active {
  min-height: 100dvh;
  overflow: hidden;
}

.v042-shell.v042-map-view-active .v042-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 160;
}

.v042-authenticated .v042-main.v042-map-main,
.v042-main.v042-map-main {
  width: 100vw;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
  pointer-events: none;
}

.v042-map-main .v042-surface,
.v042-map-main .v042-auth-layout,
.v042-map-main .v042-map-page {
  min-height: 100dvh;
  padding: 0;
}

.v042-map-main .v042-map-page-stage {
  position: fixed;
  inset: 0;
  z-index: 1;
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  pointer-events: auto;
}

.v042-map-main .v042-map-page-loader {
  z-index: 2;
}

.v042-map-main .v042-field-bars,
.v042-shell.v042-map-view-active .v042-bottom-bar,
.v042-shell.v042-map-view-active .v042-topbar {
  pointer-events: auto;
}

.v042-map-page-loader {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--v042-muted);
  background: radial-gradient(circle at center, rgba(141,181,214,.12), rgba(5,8,11,.94) 58%);
  font-size: 0.88rem;
  font-weight: 800;
  text-transform: uppercase;
  pointer-events: none;
}

.v042-pip {
  position: fixed;
  left: 1rem;
  bottom: 4.9rem;
  z-index: 86;
  width: 12.4rem;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 45%, rgba(255,255,255,.12));
  background: rgba(7, 11, 15, 0.9);
  box-shadow: 0 14px 28px rgba(0,0,0,0.28);
  user-select: none;
}

.v042-pip.is-docked {
  border-radius: 8px;
}

body.v042-field-active .v042-main {
  pointer-events: none;
  z-index: 80;
}

body.v042-field-active {
  overflow: hidden;
}

body.v042-field-active #appRoot,
body.v042-field-active .v042-shell,
body.v042-field-active .v042-main,
body.v042-field-active .v042-auth-layout {
  pointer-events: none;
}

body.v042-field-active .v042-topbar,
body.v042-field-active .v042-topbar-right,
body.v042-field-active .v042-field-toggle,
body.v042-field-active .v042-bottom-bar,
body.v042-field-active .v042-field-bars,
body.v042-field-active .v042-more-info-ribbon {
  pointer-events: auto;
}

.v042-pip img,
.v042-pip-fallback {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.v042-pip-fallback {
  display: grid;
  place-items: center;
  padding: 0.4rem;
  color: var(--title-color, #f4f8fb);
  text-align: center;
  font-size: 0.7rem;
}

.v042-pip-label {
  padding: 0.35rem 0.45rem 0.4rem;
  font-size: 0.66rem;
  color: var(--title-color, #f4f8fb);
  text-align: center;
}

.v042-alert {
  margin-bottom: 1rem;
  padding: 0.8rem 0.9rem;
  border-radius: 8px;
  border: 1px solid var(--v042-line);
}

.v042-surface {
  position: relative;
  z-index: 4;
  transition: opacity 180ms ease, transform 180ms ease, filter 180ms ease;
}

.v042-auth-layout {
  position: relative;
}

.v042-auth-layout.is-field-active .v042-surface,
body.v042-field-active .v042-surface {
  opacity: 0;
  transform: translateY(14px) scale(0.985);
  filter: blur(6px);
  pointer-events: none;
}

.v042-auth-layout.is-field-active .v042-alert,
body.v042-field-active .v042-alert {
  opacity: 0;
  pointer-events: none;
}

.v042-alert.success {
  background: rgba(40, 120, 75, 0.24);
}

.v042-alert.error {
  background: rgba(155, 51, 51, 0.24);
}

.v042-growler-stack {
  position: fixed;
  top: 4.8rem;
  right: 0.75rem;
  z-index: 120;
  display: grid;
  gap: 0.45rem;
  width: min(24rem, calc(100vw - 1.5rem));
  pointer-events: none;
}

.v042-growler {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: center;
  padding: 0.72rem 0.82rem;
  border: 1px solid var(--v042-line);
  border-left: 4px solid var(--accent, #8db5d6);
  border-radius: 8px;
  background: rgba(7,11,15,.94);
  box-shadow: 0 18px 40px rgba(0,0,0,.34);
  color: #f4f8fb;
  font-size: 0.85rem;
  pointer-events: auto;
}

.v042-growler.success {
  border-left-color: #52c27f;
}

.v042-growler.error {
  border-left-color: #d66a5d;
}

.v042-growler.info {
  border-left-color: #d8b45f;
}

.v042-growler-close {
  min-width: 1.7rem;
  min-height: 1.7rem;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 5px;
  background: rgba(255,255,255,.06);
  color: #fff;
}

.v042-bottom-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 32;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.65rem 0.9rem;
  border-top: 1px solid var(--v042-line);
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  border-radius: 0;
  background: rgba(7, 11, 15, 0.94);
  backdrop-filter: blur(14px);
  box-shadow: 0 -12px 34px rgba(0,0,0,.32);
}

.v042-bottom-bar.v042-command-bars {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch;
  gap: 0.45rem;
  min-height: 3rem;
  padding: 0.42rem 0.65rem;
}

.v042-command-nav-toggle {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
}

.v042-bottom-bar.v042-command-bars .v042-nav-group {
  min-width: 0;
  align-items: center;
}

.v042-bottom-bar.v042-command-bars .v042-nav-group:first-of-type {
  justify-content: flex-start;
}

.v042-bottom-bar.v042-command-bars .v042-nav-group:last-of-type {
  justify-content: flex-end;
}

.v042-bottom-bar.v042-command-bars .v042-nav-btn,
.v042-bottom-bar.v042-command-bars .v042-secondary,
.v042-bottom-bar.v042-command-bars .v042-danger {
  min-height: 2.1rem;
  padding: 0.36rem 0.58rem;
}

.v042-public-diplomacy-modal {
  width: min(980px, calc(100vw - 2rem));
}

.v042-public-diplomacy-modal .v042-panel-body {
  overflow: visible;
}

.v042-document-composer-backdrop { z-index: 300; }
.v042-document-composer-footer {
  position: sticky;
  bottom: 0;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  padding: .65rem max(.85rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom));
  border-top: 1px solid var(--v042-line);
  background: #0e161c;
}
.v042-document-composer-footer button { min-height: 44px; }

body.v042-field-active .v042-pip {
  opacity: 1;
  transform: none;
  pointer-events: none;
}

body.v042-field-active .v042-bottom-bar {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.v042-field-bars {
  position: fixed;
  left: 0;
  right: 0;
  bottom: max(env(safe-area-inset-bottom, 0px), 0.5rem);
  z-index: 140;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 0.7rem;
  padding: 0.45rem 0.75rem;
  border-top: 1px solid var(--v042-line);
  background: rgba(7, 11, 15, 0.95);
  backdrop-filter: blur(14px);
  box-shadow: 0 -12px 34px rgba(0,0,0,.32);
  max-height: min(34dvh, 18rem);
  overflow: auto;
  pointer-events: auto;
}

.v042-admin-bar {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 42%, rgba(255,255,255,.12));
}

.v042-admin-bar .v042-adj-mode-btn {
  min-width: 6rem;
}

.v042-range-row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.45fr) minmax(10rem, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-range-row span {
  color: var(--v042-muted);
  font-size: 0.84rem;
}

.v042-range-row input {
  width: 100%;
}

.v042-map-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.v042-map-preset-row .v042-secondary {
  flex: 1 1 7rem;
}

.v044-bound-text {
  white-space: pre-wrap;
}

.v044-bound-entity {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  min-height: 1.45rem;
  margin: 0 0.08rem;
  padding: 0.08rem 0.42rem;
  border: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 58%, rgba(255,255,255,.14));
  border-radius: 999px;
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 18%, rgba(7,11,15,.82));
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  line-height: 1.1;
  vertical-align: baseline;
}

.v044-bound-entity:hover,
.v044-bound-entity:focus-visible {
  background: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 32%, rgba(7,11,15,.7));
  outline: none;
}

.v044-bound-entity.type-territory {
  --entity-color: #75b8ff;
}

.v044-bound-entity.type-region {
  --entity-color: #86d6a8;
}

.v044-bound-entity.type-unit {
  --entity-color: #f0d277;
}

.v044-bound-entity.type-order {
  --entity-color: #f59f6b;
}

.v044-bound-entity.type-turn,
.v044-bound-entity.type-deadline {
  --entity-color: #c9a0ff;
}

.v044-entity-input {
  position: relative;
  min-width: 0;
}

.v044-entity-suggestions {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.35rem);
  z-index: 120;
  display: grid;
  gap: 0.25rem;
  max-height: 18rem;
  padding: 0.35rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(7, 11, 15, .97);
  box-shadow: var(--v042-shadow);
  overflow: auto;
}

.v044-entity-suggestion {
  display: grid;
  gap: 0.12rem;
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--v042-text);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.v044-entity-suggestion span {
  color: var(--v042-muted);
  font-size: 0.78rem;
}

.v044-entity-suggestion.is-active,
.v044-entity-suggestion:hover {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 45%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 14%, rgba(255,255,255,.04));
}

.v042-field-bar {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
  padding: 0.28rem 0.4rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  overflow-x: auto;
}

.v042-field-bar-title {
  flex: 0 0 auto;
  color: var(--v042-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v042-field-bar .v042-secondary,
.v042-field-bar .v042-danger {
  flex: 0 0 auto;
  min-height: 2.2rem;
  padding: 0.45rem 0.7rem;
  white-space: nowrap;
}

.v042-field-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.2rem;
  padding: 0.4rem 0.6rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,.045);
  white-space: nowrap;
}

.v042-field-select {
  min-height: 2.2rem;
  max-width: 12rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,.055);
  font: inherit;
}

.v042-field-input {
  min-height: 2.2rem;
  max-width: 12rem;
  padding: 0.35rem 0.55rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(7, 11, 15, .96);
  font: inherit;
}

.v042-field-select.wide {
  max-width: 17rem;
}

.v042-field-input.wide {
  max-width: 18rem;
}

.v042-field-bars {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.45rem;
  padding: 0.45rem 0.75rem;
}

.v042-field-row {
  min-width: 0;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
  overflow: hidden;
}

.v042-field-row-header {
  width: 100%;
  min-height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.35rem 0.55rem;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  color: var(--v042-muted);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v042-field-row.is-collapsed .v042-field-row-header {
  min-height: 1.7rem;
  padding: 0.24rem 0.5rem;
  font-size: 0.64rem;
  position: relative;
  z-index: 2;
}

.v042-field-row-body {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0.42rem;
}

.v042-field-row-static .v042-field-row-body {
  padding: 0.3rem 0.42rem;
}

.v042-field-button-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.16rem 0.45rem 0.16rem 0;
  border-right: 1px solid rgba(255,255,255,.1);
}

.v042-field-button-group:last-child {
  border-right: 0;
}

.v042-current-mode {
  min-height: 2.2rem;
  display: inline-flex;
  align-items: center;
  padding: 0.42rem 0.65rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 36%, rgba(255,255,255,.12));
  border-radius: 8px;
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--accent, #8db5d6) 12%, rgba(255,255,255,.04));
  font-size: 0.78rem;
  font-weight: 800;
}

.v042-field-menu-btn {
  min-width: 3rem;
  font-weight: 900;
}

.v042-admin-bar {
  border-color: color-mix(in srgb, #d5b15c 48%, rgba(255,255,255,.12));
}

/* Dangers is a compact, ordered GM workflow rather than a flat debug-form row. */
.v042-dangers-bar { border-color: color-mix(in srgb, #d97935 54%, rgba(255,255,255,.12)); }
.v042-dangers-bar .v042-field-row-body { display: block; padding: .42rem; }
.v042-danger-workflow { display: grid; gap: .38rem; }
.v042-danger-module-state { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .45rem; padding: .42rem .5rem; border: 1px solid rgba(255, 190, 93, .35); border-radius: 6px; background: rgba(98, 48, 20, .34); }
.v042-danger-module-state.is-disabled { border-color: rgba(190, 110, 87, .48); background: rgba(82, 28, 24, .38); }
.v042-danger-module-state strong { color: #ffd27b; font-size: .72rem; text-transform: uppercase; }
.v042-danger-module-state span { min-width: 0; color: var(--v042-muted); font-size: .7rem; }
.v042-danger-step { display: flex; flex-wrap: wrap; align-items: center; gap: .34rem; min-width: 0; padding: .38rem; border: 1px solid rgba(255, 190, 93, .18); border-radius: 6px; background: rgba(9, 12, 15, .46); }
.v042-danger-step > strong { flex: 0 0 8.4rem; color: #f1c77b; font-size: .67rem; letter-spacing: .04em; text-transform: uppercase; }
.v042-danger-template-select { font-weight: 800; }
.v042-danger-template-select.is-blue { border-color: #4fa8ff; color: #c9e8ff; background-color: rgba(25, 76, 128, .72); }
.v042-danger-template-select.is-green { border-color: #6fca83; color: #d8ffe0; background-color: rgba(34, 100, 53, .72); }
.v042-danger-template-select.is-yellow { border-color: #e4c957; color: #fff3b8; background-color: rgba(113, 89, 20, .72); }
.v042-danger-template-select.is-orange { border-color: #eb9b42; color: #ffe1b5; background-color: rgba(126, 59, 18, .74); }
.v042-danger-template-select.is-red { border-color: #e26b61; color: #ffd5d1; background-color: rgba(116, 30, 28, .78); }
.v042-danger-step-actions { border-color: rgba(255, 190, 93, .38); background: linear-gradient(90deg, rgba(92, 38, 19, .34), rgba(9, 12, 15, .5)); }
.v042-danger-template-defaults,
.v042-danger-shorthand-preview { display: flex; flex: 1 1 100%; flex-wrap: wrap; align-items: center; gap: .28rem; min-width: 0; padding: .28rem .38rem; border-left: 3px solid #d59b3c; background: rgba(127, 75, 19, .16); font-size: .7rem; }
.v042-danger-template-defaults strong,
.v042-danger-shorthand-preview strong { color: #f3ce88; text-transform: uppercase; font-size: .62rem; letter-spacing: .04em; }
.v042-danger-template-defaults code,
.v042-danger-shorthand-preview code { padding: .1rem .25rem; border: 1px solid rgba(255, 222, 150, .28); border-radius: 3px; color: #ffe09b; background: rgba(0,0,0,.22); font: 800 .68rem/1.25 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-wrap: anywhere; }
.v042-danger-shorthand-preview { border-left-color: #f1c45d; background: rgba(133, 80, 18, .28); }
.v042-danger-shorthand-preview > span { color: var(--v042-muted); }
.v042-danger-activate { min-height: 2.2rem; padding: .45rem .7rem; border: 1px solid #d69a36; border-radius: 6px; color: #1a1105; background: #f2c45f; font: inherit; font-weight: 900; cursor: pointer; white-space: nowrap; }
.v042-danger-activate:disabled { opacity: .55; cursor: wait; }
.v042-danger-event-list { display: grid; gap: .24rem; padding-top: .1rem; }
.v042-danger-event { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; padding: .32rem .4rem; border-left: 3px solid #7b7f83; background: rgba(255,255,255,.035); font-size: .7rem; }
.v042-danger-event > span { flex: 1 1 14rem; min-width: 0; overflow-wrap: anywhere; }
.v042-danger-event.is-active { border-left-color: #f0b448; }
.v042-danger-event.is-queued { border-left-color: #78a8df; }
.v042-danger-event.is-inactive { border-left-color: #737a81; opacity: .82; }

.v042-field-select,
.v042-field-input,
.v042-page select,
.v042-page option,
.v042-page input,
.v042-page textarea {
  color: var(--v042-text);
  background-color: rgba(7, 11, 15, .96);
}

.v042-page option {
  color: #eef4f8;
  background: #070b0f;
}

.v042-inspect-hero {
  width: 100%;
  max-height: clamp(10.5rem, 24dvh, 15rem);
  aspect-ratio: 5 / 3.15;
  border: 0;
  border-radius: 0;
  object-fit: cover;
}

.v042-inspector-minimap {
  position: relative;
  display: grid;
  gap: 0;
  padding: 0;
  align-self: stretch;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border: 1px solid var(--entity-border, color-mix(in srgb, var(--accent, #8db5d6) 28%, rgba(255,255,255,.12)));
  border-radius: 8px;
  background: rgba(255,255,255,.025);
}

.v042-inspector-minimap-head {
  display: none;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  min-width: 0;
}

.v042-inspector-minimap-head span {
  color: var(--v042-muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.v042-inspector-minimap-head strong {
  overflow: hidden;
  color: var(--title-color, #f4f8fb);
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-inspector-minimap iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 8px;
  background: #05080b;
  pointer-events: none;
}

.v042-inspector-minimap-placeholder,
.v042-order-minimap-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 0.55rem;
  padding: 1rem;
  color: rgba(238,243,248,.86);
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    #061014;
}

.v042-inspector-minimap-placeholder strong,
.v042-order-minimap-placeholder strong {
  color: var(--title-color, #f4f8fb);
  font-size: 0.86rem;
}

.v042-inspector-minimap-placeholder span,
.v042-order-minimap-placeholder span {
  max-width: 18rem;
  color: var(--v042-muted);
  font-size: 0.74rem;
  line-height: 1.35;
}

.v042-inspector-minimap-loader {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  background: #000;
  color: rgba(255,255,255,.72);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 1;
  pointer-events: none;
  transition: opacity 160ms ease;
}

.v042-inspector-minimap-loader.is-ready {
  opacity: 0;
}

.v042-inspector-minimap-hit {
  position: absolute;
  z-index: 4;
  inset: 0;
  border: 0;
  color: transparent;
  background: transparent;
  cursor: pointer;
}

.v042-inspector-minimap-hit:focus-visible {
  outline: 2px solid var(--accent, #8db5d6);
  outline-offset: -4px;
}

.v042-chat-message {
  position: relative;
  padding-left: 3.2rem;
  border-color: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 42%, rgba(255,255,255,.12));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 18%, transparent), transparent 58%),
    rgba(255,255,255,.04);
}

.v042-chat-message.outbound {
  border-color: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 52%, rgba(255,255,255,.12));
  background:
    linear-gradient(270deg, color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 20%, transparent), transparent 58%),
    rgba(255,255,255,.04);
}

.v042-chat-avatar {
  position: absolute;
  left: 0.55rem;
  top: 0.55rem;
  width: 2rem;
  height: 2rem;
  border: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 60%, rgba(255,255,255,.18));
  border-radius: 6px;
  object-fit: cover;
}

.v042-list-avatar {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 6px;
  object-fit: cover;
}

.v042-list-button {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.v042-message-count-badge {
  margin-left: auto;
  min-width: 1.35rem;
  padding: 0.1rem 0.35rem;
  border: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 58%, rgba(255,255,255,.16));
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 28%, rgba(7,11,15,.84));
  font-size: 0.7rem;
  text-align: center;
}

.v042-press-anonymous-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.4rem;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
}

body.v042-minimalist *,
body.v042-minimalist *::before,
body.v042-minimalist *::after {
  transition-duration: 0ms !important;
  animation: none !important;
}

.v042-more-info-ribbon {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 2rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 38%, rgba(255,255,255,.12));
  border-top: 0;
  border-radius: 0 0 8px 8px;
  color: var(--title-color, #f4f8fb);
  background: color-mix(in srgb, var(--accent, #8db5d6) 16%, rgba(7,11,15,.88));
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v042-nav-group {
  gap: 0.6rem;
  flex-wrap: wrap;
}

.v042-list-button {
  width: 100%;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,0.035);
  cursor: pointer;
  font: inherit;
}

.v042-list-button {
  text-align: left;
  padding: 0.8rem 0.9rem;
}

.v042-list-button.is-active,
.v042-message-row:hover {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 52%, rgba(255,255,255,.12));
  background: color-mix(in srgb, var(--accent, #8db5d6) 16%, rgba(255,255,255,.04));
}

.v042-list-button[style*="--entity-color"] {
  border-color: var(--entity-border, color-mix(in srgb, var(--entity-color) 44%, rgba(255,255,255,.14)));
  background: color-mix(in srgb, var(--entity-color) 12%, rgba(255,255,255,.04));
}

.v042-message-row {
  width: 100%;
  display: grid;
  gap: 0.35rem;
  padding: 0.85rem 0.95rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,0.035);
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.v042-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(2, 5, 7, .58);
  backdrop-filter: blur(7px);
  pointer-events: auto;
}

.v042-image-modal {
  width: min(92vw, 44rem);
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0.85rem;
  border: 1px solid var(--v042-line);
  border-radius: 8px;
  background: rgba(7, 11, 15, .96);
  box-shadow: var(--v042-shadow);
}

.v042-image-modal .v042-secondary {
  justify-self: end;
}

.v042-image-modal img {
  width: 100%;
  max-height: 76dvh;
  object-fit: contain;
  border: 1px solid rgba(255,255,255,.12);
  background: #05080b;
}

.v042-image-modal figcaption {
  color: var(--v042-muted);
  text-align: center;
  font-size: 0.86rem;
}
.v042-image-backdrop { z-index: 10001; }
.v042-image-id-card { display: grid; gap: .2rem; padding: .55rem; border: 1px solid var(--v042-line); border-radius: 6px; }
.v042-image-id-card strong { color: var(--v042-text); font-size: 1rem; }
.v042-image-id-card p { margin: .2rem 0 0; }
img[aria-label^="View full portrait"] { cursor: zoom-in; }
img[aria-label^="View full portrait"]:focus-visible { outline: 2px solid var(--accent, #8db5d6); outline-offset: 2px; }

.v042-message-modal {
  width: min(760px, calc(100vw - 2rem));
  max-height: min(720px, calc(100dvh - 2rem));
  overflow: auto;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 38%, rgba(255,255,255,.14));
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(14,22,28,.98), rgba(8,13,17,.98));
  box-shadow: 0 24px 80px rgba(0,0,0,.52);
}

.v042-press-modal {
  width: min(860px, calc(100vw - 2rem));
}

.v042-press-modal .v042-panel-body {
  overflow: visible;
}

.v042-message-modal-body {
  white-space: pre-wrap;
  line-height: 1.55;
  color: var(--v042-text);
}

.v042-press-article-modal-body {
  padding: 0;
  background: #d8c6a5;
}

.v042-newspaper-story.is-modal {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.v042-newspaper-story.is-modal .v042-news-image img {
  max-height: 22rem;
  object-fit: cover;
}

.v042-order-creator {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.55rem;
  padding: 0.6rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 32%, rgba(255,255,255,.12));
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-order-creator input {
  min-width: 0;
}

.v042-hybrid-orders-panel {
  --v042-order-good: #73d98d;
  --v042-order-warn: #f0c66a;
  --v042-order-bad: #f28b82;
}

.v042-hybrid-order-workbench {
  gap: 0.8rem;
}

.v042-order-workbench-brief {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: 0.55rem;
}

.v042-order-brief-card {
  display: grid;
  gap: 0.18rem;
  min-width: 0;
  padding: 0.68rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 34%, rgba(255,255,255,.12));
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}

.v042-order-brief-card span,
.v042-order-brief-card small {
  color: var(--v042-muted);
  font-size: 0.72rem;
}

.v042-order-brief-card strong {
  color: var(--v042-text);
  font-size: 1.15rem;
  line-height: 1.05;
}

.v042-order-brief-card.is-good {
  border-color: color-mix(in srgb, var(--v042-order-good) 48%, rgba(255,255,255,.12));
}

.v042-order-brief-card.is-warning {
  border-color: color-mix(in srgb, var(--v042-order-warn) 58%, rgba(255,255,255,.12));
  background: linear-gradient(180deg, rgba(240,198,106,.14), rgba(255,255,255,.025));
}

.v042-order-brief-card.is-locked {
  border-color: color-mix(in srgb, var(--v042-order-bad) 48%, rgba(255,255,255,.12));
}

.v042-order-section-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.65rem;
  padding-top: 0.15rem;
}

.v042-order-section-title strong {
  color: var(--v042-text);
  font-size: 0.82rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.v042-order-section-title span {
  min-width: 0;
  color: var(--v042-muted);
  font-size: 0.76rem;
  text-align: right;
}

.v042-order-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  min-height: 2.4rem;
  padding: 0.55rem;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 8px;
  background: rgba(7,11,15,.34);
}

.v042-order-card-list {
  display: grid;
  gap: 0.5rem;
  min-height: 2.4rem;
  padding: 0.55rem;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 8px;
  background: rgba(7,11,15,.34);
}

.v042-order-pill {
  display: inline-flex;
  max-width: min(100%, 24rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 45%, rgba(255,255,255,.14));
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent, #8db5d6) 12%, rgba(255,255,255,.04));
}

.v042-order-draft-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 45%, rgba(255,255,255,.14));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent, #8db5d6) 10%, rgba(255,255,255,.04));
}

.v042-order-draft-card.is-completed {
  border-color: color-mix(in srgb, var(--v042-order-good) 68%, rgba(255,255,255,.18));
  background: color-mix(in srgb, var(--v042-order-good) 18%, rgba(255,255,255,.04));
}

.v042-order-draft-card.is-submitted {
  border-color: color-mix(in srgb, var(--v042-order-good) 44%, rgba(255,255,255,.12));
  background: rgba(255,255,255,.03);
}

.v042-order-pill-main,
.v042-order-pill-delete {
  border: 0;
  color: var(--v042-text);
  background: transparent;
  cursor: pointer;
  font: inherit;
}

.v042-order-pill-main {
  display: grid;
  gap: 0.05rem;
  min-width: 0;
  padding: 0.32rem 0.65rem;
  text-align: left;
}

.v042-order-pill-main strong,
.v042-order-pill-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-order-pill-main strong {
  font-size: 0.82rem;
}

.v042-order-pill-main small {
  color: var(--v042-muted);
  font-size: 0.68rem;
}

.v042-order-pill-delete {
  min-width: 2rem;
  border-left: 1px solid rgba(255,255,255,.1);
  color: #ffd4d4;
  font-weight: 900;
}

.v042-order-issues {
  display: grid;
  gap: 0.25rem;
  padding: 0.58rem 0.7rem;
  border: 1px solid color-mix(in srgb, var(--v042-order-bad) 58%, rgba(255,255,255,.12));
  border-radius: 8px;
  color: #ffe1e1;
  background: color-mix(in srgb, var(--v042-order-bad) 16%, rgba(8,13,17,.78));
  font-size: 0.78rem;
}

.v042-order-submit-row,
.v042-order-confirmation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-order-submit-row > div,
.v042-order-confirmation {
  min-width: 0;
}

.v042-order-submit-row strong,
.v042-order-confirmation strong {
  display: block;
  color: var(--v042-text);
}

.v042-order-submit-row small,
.v042-order-confirmation small {
  display: block;
  color: var(--v042-muted);
  font-size: 0.74rem;
}

.v042-order-confirmation {
  display: grid;
  justify-content: stretch;
  border-color: color-mix(in srgb, var(--v042-order-good) 52%, rgba(255,255,255,.12));
  background: color-mix(in srgb, var(--v042-order-good) 12%, rgba(255,255,255,.035));
}

.v042-order-confirmation-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.v042-order-confirmation-list span {
  max-width: 100%;
  padding: 0.18rem 0.45rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--v042-text);
  background: rgba(255,255,255,.04);
  font-size: 0.72rem;
}

.v042-order-pending {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.7rem;
  align-items: center;
  padding: 0.65rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.16));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent, #8db5d6) 14%, rgba(8,13,17,.72));
}

.v042-order-pending strong,
.v042-order-pending span {
  min-width: 0;
}

.v042-order-pending span {
  color: var(--v042-muted);
  font-size: 0.78rem;
}

.v042-order-pending.is-support {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
}

.v042-order-pending-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.v042-support-candidate-list {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.v042-support-candidate {
  display: grid;
  gap: 0.08rem;
  width: 100%;
  min-width: 0;
  padding: 0.42rem 0.5rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 8px;
  color: var(--v042-text);
  background: rgba(255,255,255,.045);
  text-align: left;
  cursor: pointer;
}

.v042-support-candidate:hover,
.v042-support-candidate:focus-visible {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 58%, rgba(255,255,255,.18));
  background: color-mix(in srgb, var(--accent, #8db5d6) 12%, rgba(255,255,255,.04));
}

.v042-support-candidate strong,
.v042-support-candidate span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-order-link-form,
.v042-convoy-link-form {
  display: grid;
  gap: 0.5rem;
  width: 100%;
  min-width: 0;
}

.v042-order-link-field,
.v042-convoy-link-field {
  display: grid;
  gap: 0.25rem;
  width: 100%;
  min-width: 0;
}

.v042-order-link-field > strong,
.v042-convoy-link-field > strong {
  color: var(--v042-muted);
  font-size: 0.72rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.v042-order-link-field .v044-entity-input,
.v042-order-link-field .v042-textarea,
.v042-order-link-form .v042-primary,
.v042-convoy-link-field .v044-entity-input,
.v042-convoy-link-field .v042-textarea {
  width: 100%;
}

.v042-order-link-field .v042-textarea,
.v042-convoy-link-field .v042-textarea {
  min-height: 3.7rem;
  resize: vertical;
}

.v042-unit-order-list {
  display: grid;
  gap: 0.55rem;
}

.v042-unit-order-card {
  display: grid;
  gap: 0.45rem;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-unit-order-card.needs-order {
  border-color: color-mix(in srgb, var(--v042-order-warn) 58%, rgba(255,255,255,.12));
}

.v042-unit-order-card.has-order {
  border-color: color-mix(in srgb, var(--v042-order-good) 42%, rgba(255,255,255,.12));
}

.v042-unit-order-status {
  justify-self: start;
  padding: 0.15rem 0.45rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--v042-muted);
  background: rgba(255,255,255,.045);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.v042-unit-order-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.v042-unit-order-actions button {
  min-height: 2rem;
  padding: 0.3rem 0.55rem;
}

@media (max-width: 1120px) {
  .v042-order-workbench-brief {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.v042-field-toggle {
  min-width: 9.5rem;
}

.v042-inspection-panel {
  background: linear-gradient(180deg, rgba(12,18,23,.92), rgba(10,16,20,.82));
}

.v042-utility-drawer {
  position: fixed;
  left: 0.9rem;
  right: 0.9rem;
  bottom: 4.4rem;
  z-index: 34;
  pointer-events: auto;
}

body.v042-field-active .v042-utility-drawer {
  z-index: 62;
}

.v042-drawer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.v042-drawer-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.v042-toggle-row {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--v042-text);
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
}

.v042-toggle-row input {
  width: 1.1rem;
  height: 1.1rem;
  min-height: 0;
}

@media (max-width: 1100px) {
  .v042-guest-grid,
  .v042-public-grid,
  .v042-command-grid,
  .v042-two-col,
  .v042-comms-grid,
  .v042-conversation-layout,
  .v042-diplomacy-dex-layout,
  .v042-inspect-grid,
  .v042-settings-grid,
  .v042-settings-shell,
  .v042-field-bars {
    grid-template-columns: 1fr;
  }

  .v042-comms-compose-grid,
  .v042-chat-composer,
  .v042-order-creator,
  .v042-forum-composer-row,
  .v042-treaty-expiry,
  .v042-press-composer {
    grid-template-columns: 1fr;
  }

  .v042-newspaper {
    column-count: 1;
  }

  .v042-inspect-stat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .v042-inspect-row {
    grid-template-columns: 1fr;
  }

  .v042-inspection-columns {
    grid-template-columns: 1fr;
  }

  .v042-inspection-data-column,
  .v042-inspection-map-column {
    max-height: none;
  }

  .v042-rules-grid {
    grid-template-columns: 1fr;
  }

  .v042-rules-index {
    position: static;
    max-height: none;
  }

  .v042-rules-toc {
    max-height: 18rem;
  }

  .v042-command-grid {
    min-height: auto;
  }

}

@media (max-width: 900px) {
  .v042-main {
    width: min(100vw - 1rem, 100%);
    padding-bottom: 8rem;
  }

  .v042-authenticated .v042-main {
    width: min(100vw - 1rem, 100%);
  }

  .v042-topbar {
    grid-template-columns: 1fr;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
  }

  .v042-console-topbar,
  body.v042-field-active .v042-console-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.35rem;
    padding: 0.26rem 0.36rem;
  }

  .v042-console-left {
    min-height: 2rem;
    padding: 0.26rem 0.35rem 0.26rem 2.75rem;
  }

  .v042-console-title,
  .v042-console-subline,
  .v042-console-subtitle,
  .v042-console-inspector,
  .v042-console-pip-button {
    display: none;
  }

  .v042-mobile-title-line {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.05;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v042-console-menu-btn {
    left: 0.25rem;
    top: 0.25rem;
    bottom: 0.25rem;
    min-width: 2.15rem;
    padding: 0;
  }

  .v042-console-right {
    align-self: stretch;
    gap: 0.2rem;
    padding: 0.12rem 0.22rem;
    border: 0;
    background: transparent;
  }

  .v042-console-right-text {
    font-size: 0.58rem;
    line-height: 1.05;
  }

  .v042-rules-hero {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    padding: 0.8rem;
  }

  .v042-rules-hero .v042-secondary {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .v042-rulebook-mark {
    width: 2.65rem;
    height: 2.65rem;
    font-size: 1.55rem;
  }

  .v042-rule-section-head {
    display: grid;
  }

  .v042-rule-actions {
    justify-content: flex-start;
  }

  .v042-console-right-text b {
    display: none;
  }

  .v042-growler-stack {
    top: 2.7rem;
    right: 0.35rem;
    width: min(20rem, calc(100vw - 0.7rem));
  }

  .v042-growler {
    padding: 0.55rem 0.62rem;
    font-size: 0.75rem;
  }

  .v042-nav-btn .v042-nav-text,
  .v042-bottom-bar .v042-danger {
    display: none;
  }

  .v042-nav-btn,
  .v042-secondary {
    min-width: 2.65rem;
  }

  .v042-nav-icon {
    font-size: 1.05rem;
  }

  .v042-topbar-right {
    justify-content: start;
    gap: 0.35rem;
    overflow-x: auto;
  }

  .v042-brandline,
  .v042-subtitle,
  .v042-title-row .v042-kicker {
    display: none;
  }

  .v042-title {
    font-size: 1.1rem;
    line-height: 1.1;
  }

  .v042-chip {
    min-width: 7.4rem;
    padding: 0.42rem 0.55rem;
  }

  .v042-chip-label {
    font-size: 0.62rem;
  }

  .v042-chip-value {
    font-size: 0.76rem;
  }

  .v042-score-card-grid {
    grid-template-columns: repeat(4, minmax(4.6rem, 1fr));
  }

  .v042-score-card {
    min-height: 4.6rem;
    padding: 0.3rem;
  }

  .v042-score-card-copy span,
  .v042-score-card-metrics span {
    display: none;
  }

  .v042-faction-grid {
    grid-template-columns: 1fr;
  }

  .v042-pip {
    left: 0.75rem;
    bottom: 8.2rem;
    width: 7.8rem;
  }

  .v042-bottom-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .v042-bottom-bar.v042-command-bars {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v042-field-bars {
    max-height: min(32dvh, 14rem);
    overflow: auto;
    gap: 0.14rem;
    padding: 0.18rem 0.22rem;
  }

  .v042-field-row-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.14rem;
    padding: 0.16rem;
  }

  .v042-field-row-header {
    min-height: 1.45rem;
    padding: 0.12rem 0.35rem;
    font-size: 0.66rem;
  }

  .v042-field-button-group {
    gap: 0.18rem;
  }

  .v042-field-row-static .v042-field-row-body {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .v042-field-row-body .v042-secondary,
  .v042-field-row-body .v042-danger,
  .v042-field-toggle,
  .v042-field-input,
  .v042-field-select,
  .v042-current-mode {
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 1.42rem;
    padding: 0.1rem 0.22rem;
    font-size: 0.58rem;
  }

  .v042-admin-bar .v042-adj-mode-btn {
    flex: 1 1 calc(50% - 0.24rem);
    min-width: min(9.5rem, calc(50vw - 1rem));
    min-height: 3.2rem;
    padding: 0.78rem 0.9rem;
    font-size: 0.86rem;
  }

  .v042-field-select,
  .v042-field-input {
    max-width: 7.5rem;
  }

  .v042-chat-history {
    max-height: none;
    padding-bottom: 1.2rem;
  }

  .v042-conversation-layout {
    height: calc(100dvh - 7.2rem);
  }

  .v042-direct-comms-shell,
  .v042-direct-comms-shell .v042-conversation-layout {
    height: calc(100dvh - 8.7rem);
  }

  .v042-diplomacy-dex-panel .v042-panel-body,
  .v042-diplomacy-document-panel .v042-panel-body {
    max-height: none;
  }

  .v042-thread-nav-panel .v042-compact-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.22rem;
  }

  .v042-thread-nav-panel .v042-panel-header {
    display: none;
  }

  .v042-thread-nav-panel .v042-panel-body {
    padding: 0.25rem;
    max-height: 5.1rem;
  }

  .v042-thread-nav-panel .v042-list-button {
    aspect-ratio: 1.35 / 1;
    min-height: 2.25rem;
    padding: 0.22rem;
  }

  .v042-thread-nav-panel .v042-list-button span {
    font-size: 0.55rem;
  }

  .v042-chat-message {
    width: min(94%, 28rem);
    padding: 0.42rem 0.5rem 0.42rem 2.65rem;
  }

  .v042-chat-avatar {
    width: 1.55rem;
    height: 1.55rem;
    left: 0.45rem;
    top: 0.45rem;
  }

  .v042-chat-meta {
    font-size: 0.56rem;
  }

  .v042-chat-body {
    font-size: 0.78rem;
  }

  .v042-dm-composer-panel .v042-panel-body {
    padding: 0.35rem;
  }

  .v042-dm-composer-panel .v044-entity-input textarea {
    min-height: 3.1rem;
    max-height: 4.2rem;
    font-size: 1rem;
  }

  .v042-mobile-back-button {
    display: block;
    width: 100%;
    min-height: 2rem;
    padding: 0.32rem 0.5rem;
    border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 36%, rgba(255,255,255,.12));
    border-radius: 7px;
    color: var(--v042-text);
    background: rgba(7,11,15,.82);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
  }

  .v042-direct-comms-shell {
    height: calc(100dvh - var(--v042-chrome-height, 8.7rem));
    min-height: 0;
  }

  .v042-direct-comms-shell .v042-conversation-layout {
    display: grid;
    grid-template-columns: 100% 100%;
    grid-template-rows: minmax(0, 1fr) auto;
    grid-auto-flow: column;
    gap: 0.45rem;
    height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .v042-direct-comms-shell .v042-conversation-layout::-webkit-scrollbar {
    display: none;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel {
    grid-column: 1;
    grid-row: 1 / 3;
    min-width: 0;
    scroll-snap-align: start;
  }

  .v042-direct-comms-shell .v042-chat-panel {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    scroll-snap-align: start;
  }

  .v042-direct-comms-shell .v042-dm-composer-panel {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    scroll-snap-align: start;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-panel-body {
    height: 100%;
    max-height: none;
    overflow: auto;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button {
    aspect-ratio: 1 / .82;
    min-height: 3rem;
  }

  .v042-direct-comms-shell .v042-chat-history {
    min-height: 0;
    padding-bottom: 0.5rem;
    overflow: auto;
  }

  .v042-direct-comms-shell .v042-conversation-surface {
    grid-template-rows: auto minmax(0, 1fr);
  }

  .v042-command-grid,
  .v042-diplomacy-dex-layout,
  .v042-inspect-grid {
    display: flex;
    flex-direction: column;
    max-height: none;
    overflow: visible;
  }

  .v042-command-grid > *,
  .v042-diplomacy-dex-layout > *,
  .v042-inspect-grid > * {
    width: 100%;
    max-height: none;
  }

  .v042-inspect-grid > .v042-panel:first-child,
  .v042-inspect-grid > .v042-panel:last-child,
  .v042-diplomacy-dex-panel .v042-panel-body,
  .v042-diplomacy-document-panel .v042-panel-body {
    max-height: none;
    overflow: visible;
  }

  .v042-main:has(.v042-inspect-grid) {
    padding-bottom: 4.25rem;
  }

  .v042-inspect-grid {
    display: grid;
    grid-template-columns: 100% 100%;
    grid-auto-flow: column;
    gap: 0.45rem;
    height: calc(100dvh - var(--v042-chrome-height, 9rem));
    max-height: calc(100dvh - var(--v042-chrome-height, 9rem));
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .v042-inspect-grid::-webkit-scrollbar {
    display: none;
  }

  .v042-inspect-grid > .v042-panel:first-child,
  .v042-inspect-grid > .v042-panel:last-child {
    width: 100%;
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow: hidden;
    scroll-snap-align: start;
  }

  .v042-inspect-grid > .v042-panel:first-child .v042-panel-body,
  .v042-inspection-data-column {
    min-height: 0;
    overflow: auto;
  }

  .v042-inspection-panel .v042-panel-body {
    min-height: 0;
    overflow: hidden;
  }

  .v042-inspection-columns {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(14rem, 34dvh);
    height: 100%;
    max-height: none;
    min-height: 0;
    overflow: hidden;
  }

  .v042-inspection-data-column,
  .v042-inspection-map-column {
    height: 100%;
    max-height: none;
    min-height: 0;
  }

  .v042-inspection-map-column {
    overflow: hidden;
  }

  .v042-utility-drawer {
    left: 0.7rem;
    right: 0.7rem;
    bottom: 8.7rem;
    max-height: calc(100dvh - 13rem);
    overflow: auto;
  }

  .v042-drawer-grid,
  .v042-drawer-grid.three {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 900px) {
  .v042-bottom-bar.v042-command-bars {
    display: none !important;
  }

  .v042-top-nav {
    gap: 0.22rem;
    padding-bottom: 0.18rem;
  }

  .v042-top-nav .v042-nav-btn {
    min-width: 2.15rem;
    min-height: 1.65rem;
    padding: 0.12rem 0.28rem;
  }

  .v042-top-nav .v042-nav-text {
    display: none;
  }

  .v042-console-topbar .v042-console-inspector,
  body.v042-field-active .v042-console-topbar .v042-console-inspector {
    grid-column: 1 / -1;
    display: grid;
    min-height: 1.35rem;
    padding: 0.12rem 0.28rem;
    border-radius: 4px;
    background:
      linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.54)),
      var(--console-image);
    background-size: cover;
    background-position: center;
    font-family: "Consolas", "Courier New", monospace;
  }

  .v042-console-topbar .v042-console-open-hint {
    display: none;
  }

  .v042-console-topbar .v042-console-inspector-main {
    gap: 0.04rem;
  }

  .v042-console-topbar .v042-console-inspector-head {
    gap: 0.25rem;
  }

  .v042-console-topbar .v042-console-label,
  .v042-console-topbar .v042-console-data-row span {
    font-size: 0.52rem;
  }

  .v042-console-topbar .v042-console-inspector strong {
    font-size: 0.68rem;
  }

  .v042-console-topbar .v042-console-data-row {
    gap: 0.2rem;
    max-height: 1.05rem;
    overflow: hidden;
  }

  .v042-main:has(.v042-inspect-grid),
  .v042-main:has(.v042-direct-comms-shell),
  .v042-main:has(.v042-public-diplomacy-shell) {
    width: 100%;
    height: calc(100dvh - var(--v042-chrome-height, 8.6rem));
    min-height: 0;
    padding: 0.25rem 0 0;
    overflow: hidden;
  }

  .v042-surface:has(.v042-inspect-grid),
  .v042-surface:has(.v042-direct-comms-shell),
  .v042-surface:has(.v042-public-diplomacy-shell),
  .v042-auth-layout:has(.v042-inspect-grid),
  .v042-auth-layout:has(.v042-direct-comms-shell),
  .v042-auth-layout:has(.v042-public-diplomacy-shell) {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-inspect-grid,
  .v042-direct-comms-shell,
  .v042-public-diplomacy-shell {
    --v042-mobile-card-width: calc(100vw - 2.4rem);
    width: 100vw;
    height: calc(100dvh - var(--v042-chrome-height, 8.6rem)) !important;
    min-height: 0;
    max-height: none;
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
  }

  .v042-inspect-grid,
  .v042-direct-comms-shell .v042-conversation-layout,
  .v042-diplomacy-dex-layout {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-mobile-card-width);
    grid-template-columns: none !important;
    gap: 0.58rem;
    align-items: stretch;
    height: 100%;
    min-height: 0;
    max-height: none;
    padding-inline: 1.2rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1.2rem;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background:
      linear-gradient(90deg, rgba(216,180,95,.16), transparent 1.4rem),
      linear-gradient(270deg, rgba(216,180,95,.16), transparent 1.4rem);
  }

  .v042-inspect-grid::-webkit-scrollbar,
  .v042-direct-comms-shell .v042-conversation-layout::-webkit-scrollbar,
  .v042-diplomacy-dex-layout::-webkit-scrollbar {
    display: none;
  }

  .v042-inspect-grid > .v042-panel,
  .v042-direct-comms-shell .v042-conversation-layout > .v042-panel,
  .v042-diplomacy-dex-layout > .v042-panel {
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    box-shadow: 0 0 0 1px rgba(216,180,95,.08), 0 16px 34px rgba(0,0,0,.28);
  }

  .v042-inspect-grid > .v042-panel,
  .v042-thread-nav-panel,
  .v042-chat-panel,
  .v042-dm-composer-panel,
  .v042-diplomacy-dex-panel,
  .v042-diplomacy-document-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  .v042-inspect-grid > .v042-panel > .v042-panel-body,
  .v042-thread-nav-panel > .v042-panel-body,
  .v042-chat-panel > .v042-panel-body,
  .v042-dm-composer-panel > .v042-panel-body,
  .v042-diplomacy-dex-panel > .v042-panel-body,
  .v042-diplomacy-document-panel > .v042-panel-body {
    min-height: 0;
    overflow: auto;
  }

  .v042-public-diplomacy-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0.35rem;
  }

  .v042-public-diplomacy-shell .v042-diplomacy-toolbar {
    min-height: 0;
    padding: 0.42rem 0.55rem;
  }

  .v042-public-diplomacy-shell .v042-diplomacy-toolbar h2 {
    margin: 0;
    font-size: 0.95rem;
  }

  .v042-public-diplomacy-shell .v042-diplomacy-toolbar p {
    display: none;
  }

  .v042-public-diplomacy-shell .v042-diplomacy-dex-layout {
    height: 100%;
    min-height: 0;
  }

  .v042-diplomacy-dex-panel,
  .v042-diplomacy-document-panel {
    height: 100%;
    min-height: 0;
    max-height: none;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .v042-direct-comms-shell .v042-conversation-layout {
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel {
    grid-column: auto;
    grid-row: 1 / 3;
  }

  .v042-direct-comms-shell .v042-chat-panel {
    grid-column: auto;
    grid-row: 1;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .v042-direct-comms-shell .v042-dm-composer-panel {
    grid-column: 2;
    grid-row: 2;
    height: auto;
    min-height: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    scroll-snap-align: center;
    position: relative;
    z-index: 12;
  }

  .v042-direct-comms-shell .v042-dm-composer-panel > .v042-panel-body {
    overflow: visible;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-panel-body {
    height: auto;
    max-height: none;
    padding: 0.42rem;
    overflow: hidden;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.22rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button {
    aspect-ratio: 1 / .82;
    min-height: 2.35rem;
    padding: 0.18rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button span {
    font-size: 0.48rem;
  }

  .v042-conversation-panel .v042-panel-body,
  .v042-conversation-surface {
    height: 100%;
    min-height: 0;
  }

  .v042-direct-comms-shell .v042-conversation-surface {
    grid-template-rows: auto minmax(0, 1fr);
  }

  .v042-chat-panel .v042-panel-header {
    min-height: 2.2rem;
    padding: 0.18rem 0.42rem 0.18rem 2.8rem;
    background:
      linear-gradient(90deg, color-mix(in srgb, var(--entity-color, #8db5d6) 24%, rgba(7,11,15,.92)), rgba(7,11,15,.84)),
      var(--chat-header-portrait);
    background-size: auto, 2.35rem 100%;
    background-position: center, left center;
    background-repeat: no-repeat;
  }

  .v042-chat-panel .v042-panel-header .v042-kicker,
  .v042-chat-panel .v042-panel-header p {
    display: none;
  }

  .v042-chat-panel .v042-panel-header h2 {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1;
  }

  .v042-direct-comms-shell .v042-chat-history {
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding: 0.5rem;
  }

  .v042-dm-composer-panel .v042-chat-composer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.35rem;
    align-items: end;
  }

  .v042-dm-composer-panel .v044-entity-input {
    min-width: 0;
  }

  .v042-dm-composer-panel .v044-entity-input textarea {
    min-height: 2.8rem;
    max-height: 5rem;
  }

  .v042-dm-composer-panel .v042-primary {
    min-width: 4.5rem;
    min-height: 2.8rem;
  }

  .v042-inspection-panel .v042-panel-body,
  .v042-inspection-columns {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-inspection-columns {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr);
  }

  .v042-inspection-data-column,
  .v042-inspection-map-column {
    height: 100%;
    min-height: 0;
    max-height: none;
  }

  .v042-inspection-data-column {
    overflow: auto;
  }

  .v042-inspection-map-column {
    overflow: hidden;
  }

  .v042-mobile-back-button {
    position: sticky;
    top: 0;
    z-index: 6;
    margin-bottom: 0.4rem;
  }
}

.v042-bottom-bar.v042-command-bars {
  display: none !important;
}

.v042-top-nav .v042-map-nav-btn {
  margin-left: auto;
}

.v042-faction-command-card .v042-panel-body {
  overflow: auto;
}

.v042-command-intro {
  padding: .85rem .95rem;
  border: 1px solid color-mix(in srgb, var(--accent, #d8b975) 42%, transparent);
  border-radius: .7rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent, #d8b975) 18%, transparent), rgba(255,255,255,.025));
}
.v042-command-intro strong { display: block; font-size: 1.08rem; color: var(--v042-text); }
.v042-command-intro p { margin: .35rem 0 0; color: var(--v042-muted); line-height: 1.45; }
.v042-command-landing-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.v042-command-landing-metric { display: grid; gap: .12rem; padding: .65rem .75rem; border: 1px solid rgba(255,255,255,.12); border-radius: .6rem; background: rgba(255,255,255,.045); }
.v042-command-landing-metric span { color: var(--v042-muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.v042-command-landing-metric strong { color: var(--v042-text); font-size: 1.2rem; }
.v042-command-landing-section { display: grid; gap: .55rem; }
.v042-command-landing-section h3 { margin: .25rem 0 0; color: var(--v042-text); font-size: .92rem; }
.v042-command-destination-grid { display: grid; gap: .45rem; }
.v042-command-destination { position: relative; display: grid; gap: .18rem; width: 100%; min-height: 3.6rem; padding: .62rem 2rem .62rem .75rem; border: 1px solid rgba(255,255,255,.14); border-radius: .55rem; background: rgba(255,255,255,.035); color: var(--v042-text); text-align: left; cursor: pointer; }
.v042-command-destination:hover, .v042-command-destination:focus-visible { border-color: var(--accent, #d8b975); background: color-mix(in srgb, var(--accent, #d8b975) 12%, rgba(255,255,255,.035)); }
.v042-command-destination strong { font-size: .86rem; }
.v042-command-destination > span:not(.v042-command-destination-arrow) { color: var(--v042-muted); font-size: .72rem; line-height: 1.3; }
.v042-command-destination-arrow { position: absolute; right: .7rem; top: 50%; transform: translateY(-50%); color: var(--accent, #d8b975); font-size: 1.1rem; }
.v042-command-landing-details { border-top: 1px solid rgba(255,255,255,.12); padding-top: .55rem; }
.v042-command-landing-details summary { cursor: pointer; color: var(--v042-text); font-weight: 700; }
.v042-command-landing-details[open] { display: grid; gap: .7rem; }

.v042-faction-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.45rem;
}

.v042-faction-stat {
  display: grid;
  gap: 0.12rem;
  padding: 0.48rem 0.55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 7px;
  background: rgba(255,255,255,.04);
}

.v042-faction-stat.is-wide {
  grid-column: 1 / -1;
}

.v042-faction-stat.is-warning {
  border-color: rgba(222, 173, 86, .65);
  background: rgba(222, 173, 86, .1);
}

.v042-faction-stat span {
  color: var(--v042-muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
}

.v042-faction-stat strong {
  color: var(--v042-text);
  font-size: 1.05rem;
}

.v042-faction-command-list {
  display: grid;
  gap: 0.28rem;
}

.v042-faction-command-list .v042-link-list {
  display: grid;
  gap: 0.22rem;
}

.v042-faction-command-list .v042-list-button {
  min-height: 1.8rem;
  padding-block: 0.3rem;
}

.v042-faction-command-list .v042-command-bound-link {
  justify-self: start;
  width: auto;
  min-height: 1.75rem;
  padding: 0.3rem 0.55rem;
  text-align: left;
}

.v042-direct-comms-shell {
  height: min(35rem, calc(100dvh - var(--v042-chrome-height, 11.2rem) - 1.1rem));
}

.v042-direct-comms-shell .v042-conversation-layout {
  min-height: 0;
}

.v042-direct-comms-shell .v042-chat-panel {
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-surface {
  height: 100%;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr);
}

.v042-direct-comms-shell .v042-chat-history {
  min-height: 0;
  padding-bottom: 1rem;
  scroll-padding-bottom: 1rem;
}

.v042-direct-comms-shell .v042-chat-message:last-child {
  margin-bottom: 1.15rem;
}

.v042-dm-composer-panel,
.v042-dm-composer-panel .v042-panel-body,
.v042-dm-composer-panel .v042-chat-composer,
.v042-dm-composer-panel .v044-entity-input {
  overflow: visible;
}

.v042-dm-composer-panel .v044-entity-suggestions {
  position: fixed;
  left: max(1rem, calc(50vw - 22rem));
  right: max(1rem, calc(50vw - 22rem));
  bottom: calc(var(--v042-chrome-height, 11.2rem) + 4.4rem);
  top: auto;
  z-index: 90;
  max-height: min(18rem, 44dvh);
}

.v042-public-document {
  padding: 1.4rem clamp(1rem, 2.2vw, 2.2rem);
}

.v042-public-document .v042-forum-post-head {
  margin-bottom: 0.55rem;
}

.v042-document-microhead {
  margin: 0.35rem 0 0.7rem;
  padding: 0.32rem 0;
  border-top: 1px solid rgba(20, 16, 10, .18);
  border-bottom: 1px solid rgba(20, 16, 10, .18);
}

.v042-document-title {
  margin: 0.85rem 0 1.15rem;
}

.v042-public-document .v042-chat-body {
  margin: 1.25rem 0;
  padding: 0.4rem 0;
}

.v042-public-document .v044-bound-text {
  line-height: 1.65;
}

.v042-signature-row {
  margin-top: 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(20, 16, 10, .2);
}

.v042-document-link-list {
  margin-top: 0.9rem;
  padding: 0.55rem;
  border: 1px solid rgba(20, 16, 10, .18);
  border-radius: 7px;
  background: rgba(20, 16, 10, .08);
}

@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: calc(100dvh - var(--v042-chrome-height, 8.5rem) - 0.4rem);
  }

  .v042-dm-composer-panel .v044-entity-suggestions {
    left: 0.75rem;
    right: 0.75rem;
    bottom: calc(var(--v042-chrome-height, 8.5rem) + 3.8rem);
  }

  .v042-faction-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* v0.4.6.2 patch: Direct Comms full-height merged composer */
.v042-direct-comms-shell {
  height: calc(100dvh - var(--v042-chrome-height, 8.6rem));
  max-height: none;
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-layout {
  grid-template-rows: minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  max-height: none;
}

.v042-direct-comms-shell .v042-conversation-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-panel .v042-panel-body {
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-surface {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-chat-history {
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  padding-bottom: 0.75rem;
}

.v042-conversation-composer-dock {
  position: relative;
  z-index: 3;
  min-height: 0;
  padding: 0.48rem;
  border-top: 1px solid var(--v042-line);
  background: linear-gradient(180deg, rgba(7,11,15,.72), rgba(7,11,15,.95));
  overflow: visible;
}

.v042-conversation-composer-dock .v042-chat-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem;
  align-items: end;
  padding: 0;
  border-top: 0;
  background: transparent;
}

.v042-conversation-composer-dock .v042-composer-subject {
  grid-column: 1 / -1;
}

.v042-conversation-composer-dock .v044-entity-input,
.v042-conversation-composer-dock .v044-entity-input textarea {
  min-width: 0;
}

.v042-conversation-composer-dock .v044-entity-input textarea {
  min-height: 2.8rem;
  max-height: 7.5rem;
}

.v042-conversation-composer-dock .v042-primary {
  min-height: 2.8rem;
}

@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: calc(100dvh - var(--v042-chrome-height, 8.5rem) - 0.4rem) !important;
  }

  .v042-direct-comms-shell .v042-conversation-layout {
    grid-template-rows: minmax(0, 1fr) !important;
  }

  .v042-direct-comms-shell .v042-chat-panel {
    grid-row: auto !important;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }

  .v042-direct-comms-shell .v042-conversation-surface {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  .v042-conversation-composer-dock {
    padding: 0.42rem;
  }

  .v042-conversation-composer-dock .v042-chat-composer {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.35rem;
  }

  .v042-conversation-composer-dock .v044-entity-input textarea {
    min-height: 3rem;
    max-height: 5rem;
  }
}

/* v0.4.6.2 patch: Direct Comms composer restored inside conversation panel */
.v042-direct-comms-shell {
  height: calc(100dvh - var(--v042-chrome-height, 8.6rem));
  max-height: none;
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-layout {
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-thread-nav-panel {
  min-height: 0;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-panel .v042-panel-body {
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-conversation-surface {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.v042-direct-comms-shell .v042-chat-history {
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  padding-bottom: 0.75rem;
  scroll-padding-bottom: 1rem;
}

.v042-direct-comms-shell .v042-conversation-composer-dock {
  position: relative;
  z-index: 5;
  display: block;
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  padding: 0.48rem;
  border-top: 1px solid var(--v042-line);
  background: linear-gradient(180deg, rgba(7,11,15,.72), rgba(7,11,15,.95));
  overflow: visible;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v042-chat-composer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.42rem;
  align-items: end;
  padding: 0;
  border-top: 0;
  background: transparent;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v042-composer-subject {
  display: block;
  grid-column: 1 / -1;
  width: 100%;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v044-entity-input,
.v042-direct-comms-shell .v042-conversation-composer-dock .v044-entity-input textarea {
  min-width: 0;
  width: 100%;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v044-entity-input textarea {
  min-height: 2.8rem;
  max-height: 7.5rem;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v042-primary {
  min-height: 2.8rem;
  white-space: nowrap;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v044-entity-suggestions {
  z-index: 95;
}

@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: calc(100dvh - var(--v042-chrome-height, 8.5rem) - 0.4rem) !important;
  }

  .v042-direct-comms-shell .v042-conversation-layout {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-mobile-card-width);
    grid-template-columns: none !important;
    grid-template-rows: minmax(0, 1fr) !important;
    height: 100%;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel,
  .v042-direct-comms-shell .v042-chat-panel {
    grid-column: auto !important;
    grid-row: auto !important;
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-height: 0;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .v042-direct-comms-shell .v042-chat-panel {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
  }

  .v042-direct-comms-shell .v042-conversation-surface {
    grid-template-rows: auto minmax(0, 1fr) auto !important;
  }

  .v042-direct-comms-shell .v042-conversation-composer-dock {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    padding: 0.42rem;
  }

  .v042-direct-comms-shell .v042-conversation-composer-dock .v044-entity-input textarea {
    min-height: 3rem;
    max-height: 5rem;
  }
}

/* v0.4.6.2 patch: Direct Comms fixed-height chat with docked composer
   The conversation panel is the viewport-bounded shell; only the message history scrolls.
   Do not let panel body/history content expand the card and push the composer below the fold. */
.v042-direct-comms-shell {
  height: calc(100svh - var(--v042-chrome-height, 8.6rem) - 0.75rem) !important;
  max-height: none !important;
  min-height: 24rem;
  overflow: hidden !important;
}

.v042-direct-comms-shell .v042-conversation-layout {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

.v042-direct-comms-shell .v042-conversation-panel,
.v042-direct-comms-shell .v042-chat-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

.v042-direct-comms-shell .v042-conversation-panel > .v042-panel-body,
.v042-direct-comms-shell .v042-chat-panel > .v042-panel-body {
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.v042-direct-comms-shell .v042-conversation-surface {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow: hidden !important;
}

.v042-direct-comms-shell .v042-chat-history {
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 0.75rem !important;
  scroll-padding-bottom: 1rem !important;
}

.v042-direct-comms-shell .v042-conversation-composer-dock {
  flex: 0 0 auto !important;
  align-self: end !important;
  min-height: 0 !important;
  max-height: 12rem !important;
  overflow: visible !important;
}

.v042-direct-comms-shell .v042-conversation-composer-dock .v042-chat-composer {
  min-height: 0 !important;
}

@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: calc(100svh - var(--v042-chrome-height, 8.5rem) - 0.5rem) !important;
    min-height: 22rem;
  }

  .v042-direct-comms-shell .v042-conversation-layout {
    height: 100% !important;
    min-height: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel,
  .v042-direct-comms-shell .v042-chat-panel {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }

  .v042-direct-comms-shell .v042-chat-panel > .v042-panel-body {
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  .v042-direct-comms-shell .v042-chat-history {
    min-height: 0 !important;
    max-height: 100% !important;
    overflow-y: auto !important;
  }

  .v042-direct-comms-shell .v042-conversation-composer-dock {
    max-height: 10rem !important;
  }
}

/* v0.4.6.2 patch: Direct Comms bottom clearance for docked input
   JS measures .v042-conversation-composer-dock and writes this variable on the shell.
   The newest bubble gets exactly one composer-height of breathing room, not a giant
   speculative moat. Humanity may yet recover. */
.v042-direct-comms-shell {
  --v042-dm-composer-reserve: 3.25rem;
}

.v042-direct-comms-shell .v042-chat-history {
  padding-bottom: 0.75rem !important;
  scroll-padding-bottom: calc(var(--v042-dm-composer-reserve) + 0.75rem) !important;
}

.v042-direct-comms-shell .v042-chat-history > .v042-chat-message:last-child {
  margin-bottom: var(--v042-dm-composer-reserve) !important;
}

/* v0.4.6.2 patch: mobile console inspector must span the full topbar width. */
@media (max-width: 900px) {
  .v042-console-topbar .v042-console-inspector,
  body.v042-field-active .v042-console-topbar .v042-console-inspector {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-self: stretch;
    align-self: stretch;
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-console-topbar .v042-console-inspector-main {
    width: 100%;
    min-width: 0;
  }
}

/* v0.4.6.2 patch: settings moved from the old ||| console button into the nav bar. */
.v042-console-left {
  padding-left: 0.45rem;
}

.v042-top-nav .v042-fullscreen-nav-btn,
.v042-top-nav .v042-notifications-nav-btn,
.v042-top-nav .v042-settings-nav-btn {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.16));
}

.v042-map-default-preview { width: 100%; min-width: 0; font-size: .72rem; }
.v042-map-default-preview pre { max-height: 14rem; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }

.v042-notifications-nav-btn { position: relative; }
.v042-notifications-count {
  position: absolute; top: -0.35rem; right: -0.35rem;
  min-width: 1.1rem; height: 1.1rem; padding: 0 0.18rem;
  display: grid; place-items: center; border-radius: 999px;
  background: #d8b45f; color: #101015; font: 700 0.65rem/1 system-ui,sans-serif;
}
.v042-notification-backdrop {
  position: fixed; inset: 0; z-index: 180;
  background: rgba(0,0,0,.55); display: flex; justify-content: flex-end;
}
.v042-notification-panel {
  width: min(26rem, 100vw); height: 100dvh; overflow: auto;
  background: #111820; color: #f4f8fb; border-left: 1px solid var(--v042-line);
  box-shadow: -20px 0 48px rgba(0,0,0,.35);
}
.v042-notification-header {
  position: sticky; top: 0; z-index: 1; display: flex; align-items: center;
  justify-content: space-between; gap: 1rem; padding: 1.1rem 1.2rem;
  background: #111820; border-bottom: 1px solid var(--v042-line);
}
.v042-notification-header small { text-transform: uppercase; letter-spacing: .12em; color: #d8b45f; }
.v042-notification-header h2 { margin: .18rem 0 0; font-size: 1.25rem; }
.v042-notification-close { font-size: 1.5rem; min-width: 2rem; min-height: 2rem; }
.v042-notification-list { list-style: none; margin: 0; padding: .5rem 0 1.5rem; }
.v042-notification-item { padding: .9rem 1.2rem; border-bottom: 1px solid rgba(255,255,255,.1); border-left: 3px solid #d8b45f; }
.v042-notification-item.success { border-left-color: #52c27f; }
.v042-notification-item.error { border-left-color: #d66a5d; }
.v042-notification-item-message { display: block; overflow-wrap: anywhere; }
.v042-notification-item time { display: block; margin-top: .35rem; color: #aeb9c4; font-size: .74rem; }
.v042-notification-empty { padding: 1.25rem; color: #aeb9c4; }

@media (max-width: 720px) {
  .v042-console-left {
    padding-left: 0.35rem;
  }
}

/* v0.4.6.2 hotfix: newspaper sectioned press layout */
.v042-newspaper {
  column-count: unset;
  column-gap: unset;
  display: grid;
  gap: 1.35rem;
  align-items: start;
}

.v042-newspaper-toc {
  position: sticky;
  top: 0.65rem;
  z-index: 2;
  column-span: unset;
  margin-bottom: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(23,19,16,.2);
  border-bottom-width: 2px;
  border-radius: 8px;
  background: rgba(229, 216, 190, .96);
  box-shadow: 0 10px 24px rgba(23,19,16,.12);
}

.v042-newspaper-toc a {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.45rem;
  border: 1px solid rgba(23,19,16,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  font-size: 0.78rem;
  line-height: 1;
}

.v042-newspaper-section {
  scroll-margin-top: 5.25rem;
  break-inside: auto;
  display: grid;
  gap: 0.75rem;
  margin-bottom: 0;
  padding: 0.95rem;
  border: 1px solid rgba(23,19,16,.2);
  border-radius: 8px;
  background: rgba(255,255,255,.18);
}

.v042-newspaper-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  padding-bottom: 0.45rem;
  border-bottom: 2px solid rgba(23,19,16,.32);
}

.v042-newspaper-section-head h3,
.v042-newspaper-section h3 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.45rem);
  letter-spacing: 0.08em;
}

.v042-newspaper-section-head p {
  max-width: 72ch;
  margin: 0.25rem 0 0;
  color: #5d4f43;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.86rem;
  line-height: 1.32;
}

.v042-newspaper-count {
  flex: 0 0 auto;
  padding: 0.15rem 0.45rem;
  border: 1px solid rgba(23,19,16,.24);
  border-radius: 999px;
  color: #4b4038;
  background: rgba(255,255,255,.32);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.v042-newspaper-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.v042-newspaper-feature-grid .v042-newspaper-story.is-lead {
  grid-column: 1 / -1;
}

.v042-newspaper-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.45rem;
}

.v042-newspaper-story {
  break-inside: auto;
  margin: 0;
  padding: 0 0 0.85rem;
}

.v042-newspaper-feature-grid .v042-newspaper-story {
  padding: 0.75rem;
  border: 1px solid rgba(23,19,16,.18);
  border-radius: 6px;
  background: rgba(255,255,255,.2);
}

.v042-newspaper-story.is-lead {
  column-span: unset;
  padding-bottom: 0.95rem;
}

.v042-newspaper-story.is-compact {
  display: grid;
  grid-template-columns: minmax(11rem, 0.32fr) minmax(0, 1fr);
  gap: 0.45rem 0.75rem;
  align-items: start;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(23,19,16,.16);
}

.v042-newspaper-story.is-compact .v042-kicker {
  grid-column: 1;
  font-size: 0.68rem;
  line-height: 1.25;
}

.v042-newspaper-story.is-compact h2 {
  grid-column: 2;
  margin: 0;
  font-size: clamp(1rem, 1.4vw, 1.22rem);
  line-height: 1.08;
}

.v042-newspaper-story.is-compact .v042-newspaper-body {
  grid-column: 2;
  font-size: 0.86rem;
  line-height: 1.38;
}

.v042-newspaper-story.is-ledger {
  border-style: double;
  background: rgba(216,180,95,.16);
}

.v042-newspaper-section.is-dry .v042-newspaper-feature-grid .v042-newspaper-story,
.v042-newspaper-section.is-dry .v042-newspaper-story {
  padding-bottom: 0.6rem;
}

@media (max-width: 820px) {
  .v042-newspaper {
    padding: 0.75rem;
    gap: 1rem;
  }

  .v042-newspaper-toc {
    position: relative;
    top: auto;
  }

  .v042-newspaper-section {
    padding: 0.75rem;
    scroll-margin-top: 1rem;
  }

  .v042-newspaper-section-head {
    align-items: start;
    flex-direction: column;
    gap: 0.45rem;
  }

  .v042-newspaper-feature-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-story.is-compact {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-story.is-compact .v042-kicker,
  .v042-newspaper-story.is-compact h2,
  .v042-newspaper-story.is-compact .v042-newspaper-body {
    grid-column: 1;
  }
}

/* v0.4.6.2 hotfix: restore broadsheet press grid with 1/2/3-column story spans */
.v042-newspaper {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  column-count: unset;
  column-gap: unset;
}

.v042-newspaper-toc {
  grid-column: 1 / -1;
  position: sticky;
  top: 0.65rem;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin: 0;
}

.v042-newspaper-section {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
  margin: 0;
  padding: 0.85rem;
  break-inside: avoid;
}

.v042-newspaper-section.is-wide {
  grid-column: 1 / -1;
}

.v042-newspaper-section.is-medium {
  grid-column: span 2;
}

.v042-newspaper-section.is-narrow {
  grid-column: span 1;
}

.v042-newspaper-section-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  align-items: start;
}

.v042-newspaper-section.is-medium .v042-newspaper-section-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v042-newspaper-section.is-narrow .v042-newspaper-section-grid {
  grid-template-columns: minmax(0, 1fr);
}

.v042-newspaper-story {
  min-width: 0;
  margin: 0;
  padding: 0 0 0.7rem;
  border-bottom: 1px solid rgba(23,19,16,.18);
}

.v042-newspaper-story.is-span-3 {
  grid-column: 1 / -1;
}

.v042-newspaper-story.is-span-2 {
  grid-column: span 2;
}

.v042-newspaper-story.is-span-1,
.v042-newspaper-story.is-brief {
  grid-column: span 1;
}

.v042-newspaper-story.is-lead {
  padding: 0.9rem;
  border: 1px solid rgba(23,19,16,.22);
  border-bottom-width: 3px;
  border-radius: 6px;
  background: rgba(255,255,255,.22);
}

.v042-newspaper-story.is-span-2:not(.is-lead) {
  padding: 0.65rem;
  border: 1px solid rgba(23,19,16,.16);
  border-radius: 6px;
  background: rgba(255,255,255,.14);
}

.v042-newspaper-story.is-brief .v042-newspaper-body,
.v042-newspaper-section.is-dry .v042-newspaper-body {
  font-size: 0.82rem;
  line-height: 1.34;
}

.v042-newspaper-story.is-brief h2,
.v042-newspaper-section.is-dry .v042-newspaper-story h2 {
  font-size: clamp(1rem, 1.15vw, 1.18rem);
}

.v042-newspaper-section.is-narrow .v042-newspaper-story.is-span-2,
.v042-newspaper-section.is-narrow .v042-newspaper-story.is-span-3,
.v042-newspaper-section.is-medium .v042-newspaper-story.is-span-3 {
  grid-column: 1 / -1;
}

@media (max-width: 980px) {
  .v042-newspaper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v042-newspaper-section.is-medium,
  .v042-newspaper-section.is-wide {
    grid-column: 1 / -1;
  }

  .v042-newspaper-section.is-narrow {
    grid-column: span 1;
  }
}

@media (max-width: 720px) {
  .v042-newspaper {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-section,
  .v042-newspaper-section.is-wide,
  .v042-newspaper-section.is-medium,
  .v042-newspaper-section.is-narrow {
    grid-column: 1 / -1;
  }

  .v042-newspaper-section-grid,
  .v042-newspaper-section.is-medium .v042-newspaper-section-grid,
  .v042-newspaper-section.is-narrow .v042-newspaper-section-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-story.is-span-2,
  .v042-newspaper-story.is-span-3 {
    grid-column: 1 / -1;
  }
}

/* v0.4.6.2 hotfix: masonry-pack the broadsheet so sections/stories fall upward instead of leaving column gaps */
.v042-newspaper {
  grid-auto-flow: dense;
  grid-auto-rows: var(--v042-press-masonry-row, 8px);
  align-items: start;
}

.v042-newspaper-section {
  align-self: start;
}

.v042-newspaper-section-grid {
  grid-auto-flow: dense;
  grid-auto-rows: var(--v042-press-masonry-row, 8px);
}

.v042-newspaper-story {
  align-self: start;
}

@media (max-width: 720px) {
  .v042-newspaper,
  .v042-newspaper-section-grid {
    grid-auto-rows: auto;
  }

  .v042-newspaper-section,
  .v042-newspaper-story {
    grid-row-end: auto !important;
  }
}


/* v0.4.6.2 hotfix: keep the Press "Inside" bar sticky below the top console while scrolling the newspaper */
.v042-newspaper-toc {
  position: sticky;
  top: calc(var(--v042-topbar-height, 0px) + 0.45rem);
  z-index: 18;
  align-self: start;
  scroll-margin-top: calc(var(--v042-topbar-height, 0px) + 4rem);
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(23,19,16,.18);
  border-radius: 8px;
  background: rgba(245, 232, 205, 0.94);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  backdrop-filter: blur(8px);
}

.v042-newspaper-section {
  scroll-margin-top: calc(var(--v042-topbar-height, 0px) + 4.4rem);
}

@media (max-width: 720px) {
  .v042-newspaper-toc {
    top: calc(var(--v042-topbar-height, 0px) + 0.25rem);
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
  }
}

/* v0.4.6.2 hotfix: stable editorial-zone Press layout, no JS masonry goblins */
.v042-newspaper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  grid-auto-flow: row;
  grid-auto-rows: auto;
  column-count: unset;
  column-gap: unset;
}

.v042-newspaper-zone {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  min-width: 0;
}

.v042-newspaper-zone > .v042-newspaper-section {
  min-width: 0;
  align-self: start;
  grid-row-end: auto !important;
}

.v042-newspaper-zone > .v042-newspaper-section.is-wide {
  grid-column: 1 / -1;
}

.v042-newspaper-zone > .v042-newspaper-section.is-medium {
  grid-column: span 2;
}

.v042-newspaper-zone > .v042-newspaper-section.is-narrow {
  grid-column: span 1;
}

.v042-newspaper-zone.is-front-page > .v042-newspaper-section,
.v042-newspaper-zone.is-declarations > .v042-newspaper-section {
  grid-column: 1 / -1;
}

.v042-newspaper-zone.is-news-politics > .v042-newspaper-section.is-medium,
.v042-newspaper-zone.is-regions-oped > .v042-newspaper-section.is-medium {
  grid-column: span 2;
}

.v042-newspaper-zone.is-news-politics > .v042-newspaper-section.is-narrow,
.v042-newspaper-zone.is-regions-oped > .v042-newspaper-section.is-narrow {
  grid-column: span 1;
}

.v042-newspaper-section-grid {
  grid-auto-flow: row dense;
  grid-auto-rows: auto;
}

.v042-newspaper-section.is-dry .v042-newspaper-section-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.38rem;
}

.v042-newspaper-section.is-dry .v042-newspaper-story {
  display: grid;
  grid-template-columns: minmax(9rem, 0.24fr) minmax(0, 1fr);
  gap: 0.25rem 0.65rem;
  align-items: start;
  padding: 0.35rem 0;
  border-bottom: 1px solid rgba(23,19,16,.16);
}

.v042-newspaper-section.is-dry .v042-newspaper-story .v042-kicker {
  grid-column: 1;
  font-size: 0.66rem;
}

.v042-newspaper-section.is-dry .v042-newspaper-story h2,
.v042-newspaper-section.is-dry .v042-newspaper-story .v042-newspaper-body {
  grid-column: 2;
}

.v042-newspaper-section.is-dry .v042-newspaper-story h2 {
  margin: 0;
  font-size: clamp(0.92rem, 1vw, 1.08rem);
}

.v042-newspaper-section.is-dry .v042-newspaper-story .v042-newspaper-body {
  font-size: 0.78rem;
  line-height: 1.25;
}

.v042-newspaper-story {
  grid-row-end: auto !important;
}

@media (max-width: 980px) {
  .v042-newspaper-zone {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v042-newspaper-zone > .v042-newspaper-section.is-medium,
  .v042-newspaper-zone > .v042-newspaper-section.is-wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .v042-newspaper-zone {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-zone > .v042-newspaper-section,
  .v042-newspaper-zone > .v042-newspaper-section.is-wide,
  .v042-newspaper-zone > .v042-newspaper-section.is-medium,
  .v042-newspaper-zone > .v042-newspaper-section.is-narrow {
    grid-column: 1 / -1;
  }

  .v042-newspaper-section.is-dry .v042-newspaper-story {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-newspaper-section.is-dry .v042-newspaper-story .v042-kicker,
  .v042-newspaper-section.is-dry .v042-newspaper-story h2,
  .v042-newspaper-section.is-dry .v042-newspaper-story .v042-newspaper-body {
    grid-column: 1;
  }
}

/* v0.4.6.2 hotfix: Board Ledger threshold chart and alliance-aware press scoreboard */
.v042-newspaper-story .v042-board-ledger {
  display: grid;
  gap: 0.72rem;
  margin-top: 0.4rem;
}

.v042-board-ledger-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(49, 36, 25, 0.22);
  background: rgba(255, 250, 235, 0.68);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.v042-board-ledger-summary strong {
  font-size: 0.92rem;
  color: #241b14;
}

.v042-board-ledger-bars {
  display: grid;
  gap: 0.62rem;
}

.v042-board-ledger-row {
  display: grid;
  gap: 0.28rem;
}

.v042-board-ledger-row.is-alliance {
  padding: 0.55rem;
  border: 1px solid rgba(49, 36, 25, 0.18);
  background: rgba(255, 245, 214, 0.48);
}

.v042-board-ledger-label {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-family: var(--v042-serif, Georgia, serif);
  font-size: 0.92rem;
  line-height: 1.15;
}

.v042-board-ledger-label strong {
  white-space: nowrap;
  font-family: var(--v042-ui-font, system-ui, sans-serif);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.v042-board-ledger-track {
  position: relative;
  height: 0.62rem;
  overflow: hidden;
  border: 1px solid rgba(49, 36, 25, 0.25);
  background: rgba(49, 36, 25, 0.12);
}

.v042-board-ledger-fill {
  position: absolute;
  inset: 0 auto 0 0;
  min-width: 2px;
  background: rgba(49, 36, 25, 0.72);
}

.v042-board-ledger-target {
  position: absolute;
  inset: -0.15rem auto -0.15rem calc(100% - 2px);
  width: 2px;
  background: rgba(155, 41, 28, 0.88);
}

.v042-board-ledger-members,
.v042-board-ledger-factions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.28rem 0.55rem;
  font-size: 0.72rem;
  line-height: 1.25;
  color: rgba(35, 27, 21, 0.78);
}

.v042-board-ledger-members span,
.v042-board-ledger-factions span {
  padding-right: 0.55rem;
  border-right: 1px solid rgba(49, 36, 25, 0.18);
}

.v042-board-ledger-members span:last-child,
.v042-board-ledger-factions span:last-child {
  border-right: 0;
}

.v042-board-ledger-factions {
  padding-top: 0.45rem;
  border-top: 1px solid rgba(49, 36, 25, 0.16);
}

/* News now absorbs low-profile politics; no separate Politics section in the edition nav. */
.v042-newspaper-zone.is-news-politics > .v042-newspaper-section.is-medium {
  grid-column: 1 / -1;
}

/* v0.4.6.3: Press Ledger section, modal-safe charts, and election-map style control bar */
.v042-newspaper-zone.is-ledger > .v042-newspaper-section,
.v042-newspaper-section#press-ledger {
  grid-column: 1 / -1;
}

.v042-newspaper-story.is-board-ledger-story,
.v042-newspaper-story.is-board-ledger-modal {
  cursor: pointer;
}

.v042-newspaper-story.is-board-ledger-story .v042-board-ledger,
.v042-newspaper-story.is-board-ledger-modal .v042-board-ledger {
  margin-top: 0.7rem;
}

.v042-ledger-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.v042-ledger-stat {
  display: grid;
  gap: 0.12rem;
  padding: 0.55rem 0.6rem;
  border: 1px solid rgba(49, 36, 25, 0.18);
  background: rgba(255, 252, 240, 0.62);
}

.v042-ledger-stat span {
  font-size: 0.66rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: rgba(35, 27, 21, 0.62);
}

.v042-ledger-stat strong {
  font-family: var(--v042-serif, Georgia, serif);
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  line-height: 1;
  color: #241b14;
}

.v042-ledger-stat em {
  font-size: 0.68rem;
  font-style: normal;
  color: rgba(35, 27, 21, 0.68);
}

.v042-ledger-election-map,
.v042-ledger-history {
  display: grid;
  gap: 0.42rem;
  padding: 0.68rem;
  border: 1px solid rgba(49, 36, 25, 0.18);
  background: rgba(255, 247, 223, 0.5);
}

.v042-ledger-election-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(35, 27, 21, 0.72);
}

.v042-ledger-election-header strong {
  font-family: var(--v042-ui-font, system-ui, sans-serif);
  color: #241b14;
}

.v042-ledger-election-track {
  position: relative;
  display: flex;
  min-height: 2.15rem;
  overflow: hidden;
  border: 1px solid rgba(35, 27, 21, 0.28);
  background: repeating-linear-gradient(
    90deg,
    rgba(49, 36, 25, 0.06),
    rgba(49, 36, 25, 0.06) 1px,
    rgba(255, 252, 240, 0.82) 1px,
    rgba(255, 252, 240, 0.82) 10%
  );
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}

.v042-ledger-election-segment {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.35rem;
  padding: 0 0.15rem;
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
  overflow: hidden;
  white-space: nowrap;
}

.v042-ledger-election-segment.is-alliance {
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.38);
}

.v042-ledger-election-segment.is-unclaimed {
  color: rgba(35,27,21,.72);
  background: repeating-linear-gradient(
    -45deg,
    rgba(49,36,25,.08),
    rgba(49,36,25,.08) 6px,
    rgba(255,255,255,.28) 6px,
    rgba(255,255,255,.28) 12px
  );
  text-shadow: none;
}

.v042-ledger-election-threshold {
  position: absolute;
  inset: -0.32rem auto -0.32rem 51%;
  width: 0;
  pointer-events: none;
  z-index: 3;
}

.v042-ledger-election-threshold > span {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  background: rgba(146, 28, 20, 0.92);
  box-shadow: 0 0 0 1px rgba(255,255,255,.62), 0 0 8px rgba(146,28,20,.38);
}

.v042-ledger-election-threshold em {
  position: absolute;
  top: -0.95rem;
  transform: translateX(-42%);
  padding: 0.08rem 0.25rem;
  border: 1px solid rgba(146, 28, 20, 0.4);
  background: rgba(255, 247, 223, 0.94);
  color: rgba(146, 28, 20, 0.95);
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.v042-ledger-history-grid {
  display: grid;
  gap: 0.32rem;
}

.v042-ledger-history-row {
  display: grid;
  grid-template-columns: minmax(5.5rem, 0.22fr) minmax(0, 1fr);
  gap: 0.55rem;
  align-items: center;
  font-size: 0.72rem;
}

.v042-ledger-history-track {
  display: flex;
  min-height: 0.65rem;
  overflow: hidden;
  border: 1px solid rgba(49, 36, 25, 0.14);
  background: rgba(49, 36, 25, 0.08);
}

.v042-ledger-history-track span {
  min-width: 2px;
}

.v042-message-modal .v042-newspaper-story.is-board-ledger-modal {
  max-width: min(78rem, calc(100vw - 3rem));
}

@media (max-width: 900px) {
  .v042-ledger-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .v042-ledger-stat-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-ledger-election-track {
    min-height: 2.65rem;
  }

  .v042-ledger-election-segment {
    font-size: 0.55rem;
  }

  .v042-ledger-history-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Fix 20: mobile Direct Comms recipient portrait grid should fill the swipe panel. */
@media (max-width: 900px) {
  .v042-direct-comms-shell .v042-thread-nav-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-panel-body {
    height: 100%;
    min-height: 0;
    max-height: none;
    overflow: auto;
    padding: 0.42rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    height: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(6.1rem, 1fr));
    grid-auto-rows: minmax(6.85rem, 1fr);
    align-content: stretch;
    gap: 0.42rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button {
    width: 100%;
    height: 100%;
    min-height: 6.85rem;
    aspect-ratio: auto;
    padding: 0.48rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.48;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button span {
    font-size: clamp(0.58rem, 2vw, 0.78rem);
    line-height: 1.05;
  }
}

@media (max-width: 620px) {
  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(7.65rem, 1fr);
    gap: 0.42rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-button {
    min-height: 7.65rem;
    padding: 0.46rem;
  }

  .v042-direct-comms-shell .v042-thread-nav-panel .v042-list-avatar {
    opacity: 0.56;
  }
}

/* fix21: Public Diplomacy filtering controls */
.v042-diplomacy-involvement-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.045);
  color: var(--v042-text, #edf1f4);
  font-size: 0.82rem;
  line-height: 1.2;
}

.v042-diplomacy-involvement-toggle input {
  flex: 0 0 auto;
}

.v042-diplomacy-state-row {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (max-width: 720px) {
  .v042-diplomacy-state-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Public Diplomacy filter refinements: compact lifecycle controls and grouped result rows. */
.v042-diplomacy-state-row {
  grid-template-columns: repeat(auto-fit, minmax(4.7rem, 1fr));
}

.v042-diplomacy-state-row .v042-diplomacy-state-btn {
  min-height: 1.9rem;
  padding: 0.32rem 0.42rem;
  gap: 0.28rem;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  line-height: 1;
  white-space: nowrap;
}

.v042-diplomacy-state-row .v042-diplomacy-state-btn b {
  font-size: 0.7rem;
  letter-spacing: 0;
  opacity: 0.95;
}

.v042-diplomacy-doc-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin: 0.35rem 0 0.1rem;
  padding: 0.28rem 0.45rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 7px;
  background: rgba(255,255,255,.065);
  color: var(--v042-muted, #b8bec7);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.v042-diplomacy-doc-group b {
  color: var(--v042-text, #edf1f4);
  font-size: 0.7rem;
  letter-spacing: 0;
}

@media (max-width: 720px) {
  .v042-diplomacy-state-row {
    grid-template-columns: repeat(auto-fit, minmax(4.4rem, 1fr));
  }
}

/* fix23: GM archive/delete controls for Press stories */
.v042-press-gm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  margin-top: 0.7rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(71, 52, 32, 0.16);
}

.v042-press-gm-actions button {
  min-height: 0;
  padding: 0.35rem 0.55rem;
  font-size: 0.68rem;
  line-height: 1;
}

.v042-press-gm-actions.is-modal {
  justify-content: flex-end;
  margin-top: 1rem;
}

.v042-newspaper-story.is-archived {
  border-style: dashed;
  background: linear-gradient(180deg, rgba(246, 238, 216, 0.94), rgba(226, 214, 188, 0.78));
}

.v042-newspaper-story.is-archived .v042-kicker::before {
  content: "Archived / ";
  font-weight: 900;
  letter-spacing: 0.08em;
}

/* v0.4.6.3 patch: logout now lives in the top nav, left of settings. */
.v042-top-nav .v042-logout-nav-btn {
  border-color: color-mix(in srgb, #d96f5f 50%, rgba(255,255,255,.16));
  background: rgba(150, 38, 38, 0.32);
}

.v042-top-nav .v042-logout-nav-btn:hover,
.v042-top-nav .v042-logout-nav-btn:focus-visible {
  background: rgba(150, 38, 38, 0.52);
}

/* v0.4.6.4 Forum board split from formal documents */
.v042-forum-board-shell {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 0;
}

.v042-forum-board-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 2fr);
  gap: 1rem;
  min-height: 0;
}

.v042-forum-topic-list,
.v042-forum-thread {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.v042-forum-topic-button {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.12);
  border-left: 4px solid var(--faction-color, rgba(255,255,255,0.24));
  border-radius: 0.85rem;
  background: rgba(12, 17, 25, 0.72);
  color: inherit;
  padding: 0.7rem 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  cursor: pointer;
}

.v042-forum-topic-button.is-active,
.v042-forum-topic-button:hover {
  background: rgba(255,255,255,0.09);
  border-color: rgba(255,255,255,0.24);
  border-left-color: var(--faction-color, rgba(255,255,255,0.7));
}

.v042-forum-topic-button small,
.v042-forum-collapse-bar small {
  color: rgba(238, 243, 248, 0.68);
  font-size: 0.72rem;
}

.v042-forum-reply-node {
  border: 1px solid rgba(255,255,255,0.12);
  border-left: 4px solid var(--faction-color, rgba(255,255,255,0.24));
  border-radius: 0.9rem;
  background: rgba(10, 15, 23, 0.7);
  overflow: hidden;
}

.v042-forum-reply-node.depth-1 { margin-left: 1rem; }
.v042-forum-reply-node.depth-2 { margin-left: 2rem; }
.v042-forum-reply-node.depth-3,
.v042-forum-reply-node.depth-4 { margin-left: 3rem; }

.v042-forum-collapse-bar {
  width: 100%;
  border: 0;
  background: rgba(255,255,255,0.055);
  color: inherit;
  padding: 0.6rem 0.75rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  text-align: left;
  cursor: pointer;
}

.v042-forum-collapse-bar strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-forum-reply-body {
  padding: 0.75rem;
}

.v042-forum-replies {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.v042-forum-reply-button,
.v042-forum-root-reply {
  margin-top: 0.65rem;
}

.v042-forum-reply-composer {
  margin-top: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.v042-forum-reply-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .v042-forum-board-layout {
    grid-template-columns: 1fr;
  }
  .v042-forum-reply-node.depth-1,
  .v042-forum-reply-node.depth-2,
  .v042-forum-reply-node.depth-3,
  .v042-forum-reply-node.depth-4 {
    margin-left: 0.45rem;
  }
  .v042-forum-collapse-bar {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .v042-forum-collapse-bar small {
    grid-column: 2;
  }
}

/* v0.4.6.4 forum page split + moderation */
.v042-forum-node-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-top: 0.65rem;
}

.v042-forum-node-actions .v042-secondary,
.v042-forum-node-actions .v042-danger {
  font-size: 0.72rem;
  line-height: 1.1;
  padding: 0.35rem 0.55rem;
}

.v042-forum-board-shell .v042-forum-toolbar {
  gap: 0.5rem;
  padding: 0.4rem 0.6rem;
  margin-bottom: 0;
}

.v042-forum-toolbar h2 {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 1.05rem;
}

.v042-forum-toolbar .v042-primary {
  padding: 0.5rem 0.7rem;
  white-space: nowrap;
}

/* Current-turn Dangers of Chult are a dedicated Console readout, not ordinary territory metadata. */
.v042-console-danger-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .32rem;
  min-width: 0;
  padding: .16rem .3rem;
  border: 1px solid rgba(255, 190, 73, .6);
  border-radius: .32rem;
  color: #fff1cb;
  background: linear-gradient(90deg, rgba(91, 22, 18, .9), rgba(143, 82, 19, .6));
  box-shadow: inset 0 0 0 1px rgba(42, 9, 14, .82);
  font-size: .68rem;
}
.v042-console-danger-symbol { color: #ffd36c; font-size: .9rem; line-height: 1; }
.v042-console-danger-item { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v042-console-danger-item + .v042-console-danger-item { padding-left: .32rem; border-left: 1px solid rgba(255, 231, 174, .35); }
.v042-console-danger-item b { color: #fff8e6; }
.v042-console-danger-item code { color: #ffe08e; font: 800 .67rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }

.v042-forum-toolbar .v042-forum-refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.65rem;
  width: 2.65rem;
  min-width: 2.65rem;
  padding: 0;
  font-size: 1.5rem;
  line-height: 1;
}

/* v0.4.6.4 fix28: Forum Inspector-style search/sort/filter controls */
.v042-forum-topic-panel-body {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-height: 0;
}

.v042-forum-inspector {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.45rem;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.85rem;
  background: rgba(0,0,0,0.16);
}

.v042-forum-search,
.v042-forum-control-select {
  width: 100%;
  min-width: 0;
}

.v042-forum-control-select {
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 0.65rem;
  background: rgba(7, 11, 18, 0.84);
  color: inherit;
  padding: 0.48rem 0.6rem;
  font-size: 0.78rem;
}

.v042-forum-clear-filters {
  justify-self: end;
  padding: 0.35rem 0.55rem;
  font-size: 0.72rem;
}

.v042-forum-participation-badge {
  align-self: flex-start;
  border-radius: 999px;
  padding: 0.12rem 0.42rem;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.86);
  background: rgba(255,255,255,0.12);
}

@media (min-width: 1100px) {
  .v042-forum-inspector {
    grid-template-columns: minmax(0, 1fr) minmax(8.5rem, 0.55fr) minmax(9.5rem, 0.65fr);
    align-items: center;
  }
  .v042-forum-clear-filters {
    grid-column: 3;
  }
}

/* v0.4.6.5: shared mobile swipe-column shell for Command, Settings, and Forum.
   Keep this aligned with Inspector / Comms / Documents: one horizontal snap container,
   one full-height card per major column, and internal card-body scrolling only. */
@media (max-width: 900px) {
  .v042-auth-layout:has(.v042-command-grid),
  .v042-auth-layout:has(.v042-settings-shell),
  .v042-auth-layout:has(.v042-forum-board-shell) {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-command-grid,
  .v042-settings-shell,
  .v042-forum-board-shell {
    --v042-mobile-card-width: calc(100vw - 2.4rem);
    width: 100vw;
    height: calc(100dvh - var(--v042-chrome-height, 8.6rem)) !important;
    min-height: 0;
    max-height: none;
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
  }

  .v042-command-grid,
  .v042-settings-shell,
  .v042-forum-board-layout {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-mobile-card-width);
    grid-template-columns: none !important;
    gap: 0.58rem;
    align-items: stretch;
    min-height: 0;
    max-height: none;
    padding-inline: 1.2rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1.2rem;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background:
      linear-gradient(90deg, rgba(216,180,95,.16), transparent 1.4rem),
      linear-gradient(270deg, rgba(216,180,95,.16), transparent 1.4rem);
  }

  .v042-command-grid,
  .v042-settings-shell {
    height: 100%;
  }

  .v042-forum-board-shell {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0.58rem;
  }

  .v042-forum-board-shell .v042-diplomacy-toolbar {
    flex: none;
    margin: 0 1.2rem;
  }

  .v042-forum-board-layout {
    height: 100%;
  }

  .v042-command-grid::-webkit-scrollbar,
  .v042-settings-shell::-webkit-scrollbar,
  .v042-forum-board-layout::-webkit-scrollbar {
    display: none;
  }

  .v042-command-grid > .v042-panel,
  .v042-settings-shell > .v042-panel,
  .v042-forum-board-layout > .v042-panel {
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    box-shadow: 0 0 0 1px rgba(216,180,95,.08), 0 16px 34px rgba(0,0,0,.28);
  }

  .v042-command-grid > .v042-panel,
  .v042-settings-shell > .v042-panel,
  .v042-forum-topic-panel,
  .v042-forum-thread-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  .v042-command-grid > .v042-panel > .v042-panel-body,
  .v042-settings-shell > .v042-panel > .v042-panel-body,
  .v042-forum-topic-panel > .v042-panel-body,
  .v042-forum-thread-panel > .v042-panel-body {
    min-height: 0;
    overflow: auto;
  }

  .v042-forum-topic-panel-body,
  .v042-forum-thread {
    min-height: 0;
  }

  .v042-forum-topic-list,
  .v042-forum-thread {
    overflow: auto;
  }
}

/* v0.4.6.6: Inspector mobile detail card vertical scroll repair.
   Scope deliberately limited to the center Selected Object panel. Directory and minimap cards keep the shared swipe-card behavior. */
@media (max-width: 900px) {
  .v042-inspect-grid > .v042-inspection-panel > .v042-panel-body {
    height: 100%;
    min-height: 0;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 1.25rem;
  }

  .v042-inspection-panel .v042-inspection-columns {
    display: block;
    height: auto !important;
    min-height: 100%;
    max-height: none;
    overflow: visible !important;
  }

  .v042-inspection-panel .v042-inspection-data-column {
    display: grid;
    height: auto !important;
    min-height: 0;
    max-height: none;
    overflow: visible !important;
    padding-bottom: 1rem;
  }
}

/* v0.4.6.7: Admin Data page + Forum mobile topic focus.
   This keeps data management in the hosted portal shell instead of scattering GM-only controls across Settings. */
.v042-admin-data-shell {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  width: min(100%, 1500px);
  min-height: 0;
  overflow: visible;
}

.v042-admin-data-brief-panel,
.v042-admin-data-transfer-panel,
.v042-admin-data-upload-panel,
.v042-admin-adjudication-panel,
.v042-admin-data-console-panel,
.v042-admin-data-cleanup-panel,
.v042-admin-data-reset-panel {
  min-height: 0;
  overflow: visible;
}

.v042-admin-data-brief-panel,
.v042-admin-data-reset-panel {
  grid-row: auto;
}

.v042-data-count-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.55rem 0.68rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.045);
}

.v042-data-count-row span {
  color: rgba(238,243,248,0.72);
}

.v042-data-count-row strong {
  color: var(--title-color, #f4f8fb);
  text-align: right;
}

.v042-godseye-list {
  display: grid;
  gap: 0.6rem;
}

.v042-godseye-faction {
  display: grid;
  gap: 0.55rem;
  padding: 0.68rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.75rem;
  background: rgba(7, 14, 18, 0.42);
}

.v042-godseye-faction summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.2rem 0.6rem;
  align-items: center;
  cursor: pointer;
  list-style: none;
}

.v042-godseye-faction summary::-webkit-details-marker {
  display: none;
}

.v042-godseye-faction summary small {
  grid-column: 2;
  color: var(--v042-muted);
}

.v042-faction-dot {
  width: 0.82rem;
  height: 0.82rem;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.16), 0 0 16px rgba(255,255,255,0.12);
}

.v042-godseye-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.v042-godseye-flag {
  max-width: 100%;
  padding: 0.22rem 0.46rem;
  border: 1px solid rgba(222, 173, 86, 0.5);
  border-radius: 999px;
  background: rgba(222, 173, 86, 0.12);
  color: var(--v042-text);
  font-size: 0.72rem;
  line-height: 1.25;
}

.v042-godseye-orders {
  display: grid;
  gap: 0.45rem;
  padding: 0.6rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.65rem;
  background: rgba(255,255,255,0.035);
}

.v042-godseye-orders-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
}

.v042-godseye-check {
  padding: 0.16rem 0.45rem;
  border-radius: 999px;
  background: rgba(124,190,142,0.14);
  color: #c6f1cf;
  font-size: 0.72rem;
}

.v042-godseye-check.is-warning,
.v042-godseye-order-check.is-invalid,
.v042-godseye-order-check.is-unavailable {
  background: rgba(221,104,82,0.17);
  color: #ffc7b9;
}

.v042-godseye-check.is-conditional,
.v042-godseye-order-check.is-conditional {
  background: rgba(222,173,86,0.13);
  color: #f4dfa9;
}

.v042-godseye-preflight-message {
  color: var(--v042-muted);
}

.v042-godseye-order-list {
  display: grid;
  gap: 0.38rem;
  margin: 0;
  padding-left: 1.45rem;
}

.v042-godseye-order-list li {
  padding: 0.36rem 0.4rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.v042-godseye-order-list li strong,
.v042-godseye-order-list li small {
  display: block;
  overflow-wrap: anywhere;
}

.v042-godseye-order-list li small {
  margin-top: 0.2rem;
  color: var(--v042-muted);
  line-height: 1.35;
}

.v042-godseye-order-list li .v042-godseye-order-check {
  width: fit-content;
  padding: 0.16rem 0.35rem;
  border-radius: 0.35rem;
}

.v042-godseye-activity {
  display: grid;
  gap: 0.16rem;
  padding: 0.5rem 0.58rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.65rem;
  background: rgba(255,255,255,0.035);
}

.v042-godseye-action-log {
  display: grid;
  gap: 0.55rem;
  padding-top: 0.4rem;
  border-top: 1px solid rgba(255,255,255,0.12);
}

.v042-godseye-action-log .v042-godseye-orders-head small {
  color: var(--v042-muted);
}

.v042-godseye-action-link {
  width: fit-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #afd8ff;
  font: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  cursor: pointer;
}

.v042-godseye-action-link:hover,
.v042-godseye-action-link:focus-visible {
  color: #e2f1ff;
}

.v042-godseye-activity small,
.v042-godseye-activity span {
  color: var(--v042-muted);
  line-height: 1.35;
}

.v042-godseye-unit span {
  text-transform: capitalize;
}

.v042-admin-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.65rem;
}

.v042-gm-progress {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid rgba(141, 181, 214, 0.2);
  border-radius: 8px;
  background: rgba(7, 14, 18, 0.46);
}
.v042-gm-progress:not([open]) { display: block; }
.v042-gm-progress > summary { cursor: pointer; font-weight: 700; }
.v042-gm-progress[open] > summary { margin-bottom: .55rem; }

.v042-gm-progress-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
}

.v042-gm-progress-head strong {
  color: var(--title-color, #f4f8fb);
  font-size: 0.92rem;
}

.v042-gm-progress-head span {
  color: rgba(238,243,248,0.64);
  font-size: 0.78rem;
  white-space: nowrap;
}

.v042-gm-progress-meter {
  height: 0.45rem;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
}

.v042-gm-progress-meter span {
  display: block;
  height: 100%;
  min-width: 0.3rem;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(141,181,214,0.9), rgba(94,188,132,0.88));
}

.v042-gm-progress-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v042-gm-progress-list li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.45rem;
  min-width: 0;
  padding: 0.48rem 0.52rem;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
}

.v042-gm-progress-list li.is-complete {
  border-color: rgba(94, 188, 132, 0.34);
  background: rgba(94, 188, 132, 0.09);
}

.v042-gm-progress-list li.is-active {
  border-color: rgba(141, 181, 214, 0.42);
  background: rgba(141, 181, 214, 0.11);
}

.v042-gm-progress-list li.is-blocked {
  border-color: rgba(217, 111, 95, 0.46);
  background: rgba(128, 40, 40, 0.2);
}

.v042-gm-progress-index {
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.1);
  color: rgba(238,243,248,0.76);
  font-size: 0.72rem;
  font-weight: 800;
}

.v042-gm-progress-copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.v042-gm-progress-copy strong,
.v042-gm-progress-copy small {
  overflow-wrap: anywhere;
}

.v042-gm-progress-copy strong {
  color: var(--title-color, #f4f8fb);
  font-size: 0.8rem;
  line-height: 1.15;
}

.v042-gm-progress-copy small {
  color: rgba(238,243,248,0.62);
  font-size: 0.7rem;
  line-height: 1.25;
}

.v042-admin-adjudication-panel {
  grid-column: 1 / -1;
}

.v042-territory-workflow-panel {
  grid-column: 1 / -1;
}

.v042-territory-workflow-toolbar {
  display: grid;
  gap: 0.65rem;
}

.v042-territory-workflow-list {
  display: grid;
  gap: 0.65rem;
}

.v042-territory-workflow-row {
  display: grid;
  gap: 0.6rem;
  padding: 0.72rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 4px solid rgba(141,181,214,0.62);
  border-radius: 8px;
  background: rgba(7, 14, 18, 0.46);
}

.v042-territory-workflow-row.is-dirty {
  border-left-color: rgba(222, 173, 86, 0.95);
}

.v042-territory-workflow-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.65rem;
  align-items: start;
}

.v042-territory-workflow-head .v042-list-button {
  min-width: 0;
  text-align: left;
}

.v042-territory-workflow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
  gap: 0.5rem;
}

.v042-territory-workflow-grid label {
  display: grid;
  gap: 0.24rem;
  min-width: 0;
}

.v042-territory-workflow-grid label.is-wide {
  grid-column: span 2;
}

.v042-territory-workflow-grid label > span {
  color: rgba(238,243,248,0.64);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.v042-territory-workflow-grid input,
.v042-territory-workflow-grid select {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  background: rgba(0,0,0,0.28);
  color: var(--v042-text);
  padding: 0.46rem 0.52rem;
  font: inherit;
}

.v042-territory-workflow-grid .v042-field-toggle {
  display: flex;
  align-items: center;
  min-height: 2.34rem;
  gap: 0.45rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(255,255,255,0.035);
  padding: 0.42rem 0.52rem;
}

.v042-territory-workflow-grid .v042-field-toggle input {
  width: auto;
}

.v042-territory-workflow-grid .v042-field-toggle span {
  font-size: 0.76rem;
}

@media (max-width: 700px) {
  .v042-territory-workflow-head {
    grid-template-columns: 1fr;
  }

  .v042-territory-workflow-grid {
    grid-template-columns: 1fr 1fr;
  }

  .v042-territory-workflow-grid label.is-wide {
    grid-column: 1 / -1;
  }
}

.v042-adjudication-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.v042-adjudication-list {
  display: grid;
  gap: 0.65rem;
  max-height: none;
  overflow: visible;
  padding-right: 0.25rem;
}

.v042-adjudication-groups {
  display: grid;
  gap: 0.7rem;
}

.v042-adjudication-group {
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  background: rgba(7, 14, 18, 0.35);
  overflow: hidden;
}

.v042-adjudication-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  cursor: pointer;
  list-style: none;
  padding: 0.62rem 0.72rem;
  background: rgba(255,255,255,0.04);
}

.v042-adjudication-group summary::-webkit-details-marker {
  display: none;
}

.v042-adjudication-group summary span {
  color: var(--title-color, #f4f8fb);
  font-weight: 850;
  letter-spacing: 0;
}

.v042-adjudication-group summary strong {
  min-width: 2rem;
  border-radius: 999px;
  padding: 0.12rem 0.42rem;
  background: rgba(255,255,255,0.1);
  color: rgba(238,243,248,0.86);
  text-align: center;
  font-size: 0.78rem;
}

.v042-adjudication-group > .v042-adjudication-list {
  padding: 0.65rem;
}

.v042-adjudication-group.is-blocker {
  border-color: rgba(217, 111, 95, 0.34);
}

.v042-adjudication-group.is-blocker summary {
  background: rgba(128, 40, 40, 0.22);
}

.v042-adjudication-group.is-warning {
  border-color: rgba(235, 185, 91, 0.34);
}

.v042-adjudication-group.is-warning summary {
  background: rgba(222, 173, 86, 0.14);
}

.v042-adjudication-group.is-approved {
  border-color: rgba(94, 188, 132, 0.28);
}

.v042-adjudication-group.is-approved summary {
  background: rgba(94, 188, 132, 0.1);
}

.v042-adjudication-row {
  display: grid;
  gap: 0.52rem;
  border: 1px solid rgba(255,255,255,0.1);
  border-left: 4px solid rgba(216,180,95,0.62);
  border-radius: 0.75rem;
  background: rgba(7, 14, 18, 0.5);
  padding: 0.72rem;
}

.v042-adjudication-row-focus {
  display: grid;
  gap: 0.5rem;
  min-width: 0;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.v042-adjudication-row-focus:disabled {
  cursor: default;
}

.v042-adjudication-row-focus:not(:disabled):hover .v042-adjudication-row-head strong {
  color: #cfe5f6;
}

.v042-adjudication-row.is-blocker {
  border-left-color: rgba(217, 111, 95, 0.9);
}

.v042-adjudication-row.is-warning {
  border-left-color: rgba(235, 185, 91, 0.92);
}

.v042-adjudication-row.is-approved,
.v042-adjudication-row.is-override {
  border-left-color: rgba(94, 188, 132, 0.82);
}

.v042-adjudication-row.is-failed {
  border-left-color: rgba(220, 83, 83, 0.95);
}

.v042-adjustment-build-editor label {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
  color: rgba(238,243,248,0.86);
}

.v042-adjustment-build-editor select,
.v042-adjustment-build-editor textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0.6rem;
  background: #17242c;
  color: #f4f8fb;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 0.4rem;
  font: inherit;
}

.v042-admin-adjudication-panel .v042-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.v042-adjudication-row-head,
.v042-adjudication-row-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.v042-adjudication-row-head strong {
  display: block;
  color: var(--title-color, #f4f8fb);
  font-size: 0.94rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.v042-adjudication-row-head span,
.v042-adjudication-row-foot > span,
.v042-adjudication-issue {
  color: rgba(238,243,248,0.72);
  font-size: 0.82rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.v042-adjudication-pill {
  flex: 0 0 auto;
  max-width: 10rem;
  border: 1px solid rgba(216,180,95,0.32);
  border-radius: 999px;
  background: rgba(216,180,95,0.12);
  color: rgba(246,237,207,0.9) !important;
  padding: 0.22rem 0.5rem;
  text-transform: uppercase;
  font-size: 0.68rem !important;
  font-weight: 800;
  text-align: center;
}

.v042-adjudication-row-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.42rem;
}

.v042-adjudication-row-actions .v042-secondary,
.v042-adjudication-row-actions .v042-danger {
  min-height: 2.05rem;
  padding: 0.38rem 0.58rem;
  font-size: 0.76rem;
}

.v042-note.is-warning {
  border-color: rgba(217, 111, 95, 0.42);
  background: rgba(128, 40, 40, 0.24);
}

.v042-smoke-scenario-list {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
}

.v042-smoke-scenario {
  display: grid;
  gap: 0.55rem;
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0.5rem;
  background: rgba(7, 14, 18, 0.42);
  padding: 0.62rem;
}

.v042-smoke-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: 0.45rem;
  min-width: 0;
}

.v042-smoke-block {
  display: grid;
  gap: 0.3rem;
  min-width: 0;
}

.v042-smoke-lines {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.v042-smoke-line,
.v042-smoke-expect {
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 0.42rem;
  background: rgba(255,255,255,0.035);
  color: rgba(238,243,248,0.76);
  font-size: 0.73rem;
  line-height: 1.28;
  padding: 0.32rem 0.42rem;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.v042-admin-smoke-panel .v042-admin-action-grid {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 900px) {
  .v042-auth-layout:has(.v042-admin-data-shell) {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .v042-admin-data-shell {
    width: 100%;
    height: auto !important;
    min-height: 0;
    max-height: none;
    margin-inline: 0;
    display: grid !important;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none;
    gap: 0.58rem;
    align-items: stretch;
    padding-inline: 0;
    overflow: visible;
    scroll-snap-type: none;
    background: transparent;
  }

  .v042-admin-data-shell::-webkit-scrollbar {
    display: initial;
  }

  .v042-admin-data-shell > .v042-panel {
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-height: none;
    scroll-snap-align: none;
    display: block;
    overflow: visible;
    box-shadow: 0 0 0 1px rgba(216,180,95,.08), 0 16px 34px rgba(0,0,0,.28);
  }

  .v042-admin-data-shell > .v042-panel > .v042-panel-body {
    min-height: 0;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
  }

  .v042-admin-smoke-panel .v042-faction-stat-grid,
  .v042-admin-smoke-panel .v042-smoke-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-admin-smoke-panel .v042-panel-header,
  .v042-admin-smoke-panel .v042-panel-body,
  .v042-admin-smoke-panel .v042-adjudication-row-head {
    min-width: 0;
  }

  .v042-admin-smoke-panel .v042-adjudication-row-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* fix0468: Admin data console + empty newspaper sections */
.v042-newspaper-section.is-empty .v042-newspaper-section-head {
  margin-bottom: 0.7rem;
}
.v042-newspaper-empty-section {
  border: 1px dashed rgba(120, 96, 62, 0.35);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  color: var(--v042-muted, #7a6a55);
  background: rgba(255, 248, 229, 0.45);
  font-size: 0.92rem;
}
.v042-admin-console {
  display: grid;
  gap: 0.75rem;
  max-height: 22rem;
  overflow: auto;
  padding-right: 0.25rem;
}
.v042-admin-console-entry {
  border: 1px solid rgba(214, 173, 94, 0.25);
  border-radius: 14px;
  background: rgba(10, 16, 22, 0.48);
  padding: 0.75rem;
}
.v042-admin-console-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.35rem;
}
.v042-admin-console-head span {
  color: var(--v042-muted, #a7a08d);
  font-size: 0.78rem;
  white-space: nowrap;
}
.v042-admin-console ul {
  margin: 0.45rem 0 0;
  padding-left: 1.1rem;
}
.v042-admin-console li {
  margin: 0.15rem 0;
  color: var(--v042-text, #f3e8cf);
  font-size: 0.86rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}


/* v0.4.7.3: Admin Data I/O consolidation */
.v042-admin-data-upload-panel input[type="file"] {
  width: 100%;
  border: 1px dashed rgba(216,180,95,.34);
  border-radius: 0.9rem;
  padding: 0.75rem;
  background: rgba(255,255,255,0.045);
  color: var(--v042-text, #f3e8cf);
}
.v042-admin-data-console-panel pre {
  margin: 0.4rem 0 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 0.78rem;
  color: rgba(238,243,248,0.8);
}

/* v0.4.7.8: Command page pressure/action feed cleanup. */
.v042-order-map-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.v042-order-map-panel .v042-panel-body {
  min-height: 0;
  overflow: auto;
}

.v042-order-map-column,
.v042-order-map-workbench {
  min-height: 0;
}

.v042-order-map-column {
  align-content: start;
  gap: 0.75rem;
}

.v042-order-map-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
  padding: 0.68rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 38%, rgba(255,255,255,.12));
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}

.v042-order-map-status span,
.v042-order-map-status small {
  display: block;
  min-width: 0;
  color: var(--v042-muted);
  font-size: 0.72rem;
}

.v042-order-map-status strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: var(--v042-text);
  font-size: 0.95rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-order-map-actions,
.v042-order-map-unit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

.v042-order-minimap-frame {
  position: relative;
  min-height: 20rem;
  height: clamp(20rem, 42dvh, 32rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  background: #061014;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.28);
}

.v042-order-minimap-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.v042-order-minimap-loader {
  position: absolute;
  right: 0.65rem;
  bottom: 0.65rem;
  padding: 0.28rem 0.5rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 8px;
  color: rgba(238,243,248,.82);
  background: rgba(6,10,14,.78);
  font-size: 0.72rem;
  pointer-events: none;
  transition: opacity .18s ease;
}

.v042-order-minimap-loader.is-ready {
  opacity: 0;
}

.v042-order-map-pending {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.2rem 0.65rem;
  align-items: center;
  padding: 0.65rem 0.72rem;
  border: 1px solid color-mix(in srgb, #f0c66a 58%, rgba(255,255,255,.14));
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(240,198,106,.14), rgba(255,255,255,.025));
}

.v042-order-map-pending strong,
.v042-order-map-pending span {
  min-width: 0;
}

.v042-order-map-pending span {
  color: var(--v042-muted);
  font-size: 0.76rem;
}

.v042-order-map-quick {
  display: grid;
  gap: 0.5rem;
}

.v042-order-map-unit-list {
  display: grid;
  gap: 0.45rem;
}

.v042-order-map-unit-card {
  display: grid;
  gap: 0.42rem;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  background: rgba(255,255,255,.035);
}

.v042-order-map-unit-card strong {
  min-width: 0;
  overflow: hidden;
  font-size: 0.82rem;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-order-map-unit-actions {
  justify-content: flex-start;
}

.v042-order-map-unit-actions button {
  min-height: 1.9rem;
  padding: 0.28rem 0.5rem;
}

@media (max-width: 900px) {
  .v042-order-map-status,
  .v042-order-map-pending {
    grid-template-columns: 1fr;
  }

  .v042-order-map-actions {
    justify-content: flex-start;
  }
}

.v042-pressure-panel .v042-panel-body {
  gap: 0.85rem;
}

.v042-pressure-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  background: rgba(255,255,255,0.045);
}

.v042-order-map-panel .v042-pressure-summary {
  padding: 0.65rem 0.7rem;
  border-radius: 8px;
}

.v042-pressure-summary small {
  display: block;
  margin-top: 0.2rem;
  opacity: 0.72;
}

.v042-pressure-feed,
.v042-pressure-shortcuts {
  display: grid;
  gap: 0.55rem;
}

.v042-pressure-feed-compact {
  max-height: 18rem;
  overflow: auto;
  padding-right: 0.2rem;
}

.v042-pressure-feed-compact .v042-pressure-item {
  padding: 0.62rem 0.68rem;
  border-radius: 8px;
}

.v042-pressure-shortcuts {
  padding-top: 0.4rem;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.v042-pressure-item {
  width: 100%;
  text-align: left;
  display: grid;
  gap: 0.25rem;
  padding: 0.75rem 0.85rem;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.11);
  background: linear-gradient(135deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
  color: inherit;
  cursor: pointer;
}

.v042-pressure-item:hover,
.v042-pressure-item:focus-visible {
  border-color: rgba(255,255,255,0.28);
  background: linear-gradient(135deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04));
  transform: translateY(-1px);
}

.v042-pressure-item.is-urgent {
  border-color: rgba(255, 206, 84, 0.42);
  box-shadow: inset 3px 0 0 rgba(255, 206, 84, 0.72);
}

.v042-pressure-type,
.v042-pressure-action {
  justify-self: start;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
}

.v042-pressure-action {
  margin-top: 0.2rem;
  padding: 0.18rem 0.45rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
}

.v042-pressure-item strong {
  font-size: 0.95rem;
  line-height: 1.22;
}

.v042-pressure-item small {
  opacity: 0.72;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .v042-pressure-summary {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* v0.4.8.0: Command jump controls + Settings mobile tab train + compact mobile clock. */
.v042-command-mobile-jumps,
.v042-settings-mobile-mini-nav {
  display: none;
}

.v042-settings-shell > .v042-settings-section-panel {
  display: none;
}

.v042-settings-shell > .v042-settings-section-panel.is-active {
  display: grid;
}

@media (max-width: 900px) {
  .v042-command-mobile-jumps {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    overflow-x: auto;
    padding-bottom: 0.15rem;
    scrollbar-width: none;
  }

  .v042-command-mobile-jumps::-webkit-scrollbar {
    display: none;
  }

  .v042-command-mobile-jumps .v042-mobile-back-button {
    flex: 0 0 auto;
    width: auto;
    min-width: 6.8rem;
    margin: 0;
    padding-inline: 0.6rem;
    text-align: center;
  }

  .v042-command-mobile-jumps .v042-mobile-back-button.is-active {
    border-color: rgba(216,180,95,.76);
    background: rgba(216,180,95,.16);
    color: #fff6df;
  }

  .v042-settings-shell {
    grid-auto-columns: var(--v042-mobile-card-width) !important;
  }

  .v042-settings-shell > .v042-settings-section-panel,
  .v042-settings-shell > .v042-settings-section-panel.is-active {
    display: grid;
  }

  .v042-settings-mobile-mini-nav {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    gap: 0.35rem;
    align-items: center;
    overflow-x: auto;
    margin: -0.15rem -0.1rem 0.2rem;
    padding: 0.25rem 0.1rem 0.45rem;
    border-bottom: 1px solid rgba(216,180,95,.14);
    background: linear-gradient(180deg, rgba(22,17,13,.96), rgba(22,17,13,.82));
    backdrop-filter: blur(8px);
    scrollbar-width: none;
  }

  .v042-settings-mobile-mini-nav::-webkit-scrollbar {
    display: none;
  }

  .v042-settings-mobile-mini-nav button {
    flex: 0 0 auto;
    min-height: 2rem;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(216,180,95,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.045);
    color: rgba(255,246,224,.82);
    font: inherit;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .v042-settings-mobile-mini-nav button.is-active {
    border-color: rgba(216,180,95,.78);
    background: rgba(216,180,95,.18);
    color: #fff6df;
  }

  .v042-console-topbar,
  body.v042-field-active .v042-console-topbar {
    align-items: center;
  }

  .v042-console-left {
    min-width: 0;
  }

  .v042-console-right {
    min-width: 8rem;
    justify-content: end;
  }

  .v042-console-right-text {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 0.04rem;
    min-width: 0;
    max-width: 44vw;
    text-align: right;
    white-space: nowrap;
  }

  .v042-mobile-date-chip,
  .v042-mobile-deadline-chip {
    display: block;
    max-width: 44vw;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .v042-mobile-date-chip {
    color: #fff6df;
    font-weight: 900;
    font-size: 0.66rem;
  }

  .v042-mobile-deadline-chip {
    color: rgba(255,246,224,.72);
    font-size: 0.56rem;
  }
}

/* v0.4.8.1: shared mobile section jumps across Inspector, Comms, Documents, Forum, and News. */
.v042-mobile-panel-jumps,
.v042-news-mobile-mini-nav {
  display: none;
}

.v042-newspaper-empty-section {
  padding: 0.8rem;
  border: 1px dashed rgba(23,19,16,.24);
  border-radius: 6px;
  color: #6a5a4c;
  background: rgba(255,255,255,.16);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.9rem;
  font-style: italic;
}

.v042-newspaper-toc button {
  display: inline-flex;
  align-items: center;
  min-height: 1.55rem;
  padding: 0.16rem 0.45rem;
  border: 1px solid rgba(23,19,16,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.28);
  color: #302920;
  font: inherit;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 0.78rem;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 900px) {
  .v042-mobile-panel-jumps,
  .v042-news-mobile-mini-nav {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    overflow-x: auto;
    padding-bottom: 0.16rem;
    scrollbar-width: none;
  }

  .v042-mobile-panel-jumps::-webkit-scrollbar,
  .v042-news-mobile-mini-nav::-webkit-scrollbar {
    display: none;
  }

  .v042-mobile-panel-jumps .v042-mobile-back-button,
  .v042-news-mobile-mini-nav button {
    flex: 0 0 auto;
    width: auto;
    min-width: 5.9rem;
    min-height: 2rem;
    margin: 0;
    padding: 0.34rem 0.58rem;
    border: 1px solid rgba(216,180,95,.2);
    border-radius: 999px;
    background: rgba(7,11,15,.78);
    color: rgba(255,246,224,.84);
    font: inherit;
    font-size: 0.7rem;
    font-weight: 850;
    letter-spacing: 0.035em;
    text-align: center;
    text-transform: uppercase;
  }

  .v042-mobile-panel-jumps .v042-mobile-back-button.is-active,
  .v042-news-mobile-mini-nav button.is-active {
    border-color: rgba(216,180,95,.76);
    background: rgba(216,180,95,.18);
    color: #fff6df;
  }

  .v042-inspector-mobile-jumps + .v042-mobile-back-button,
  .v042-comms-mobile-jumps + .v042-mobile-back-button {
    margin-top: 0.2rem;
  }

  .v042-main:has(.v042-press-page),
  .v042-surface:has(.v042-press-page),
  .v042-auth-layout:has(.v042-press-page) {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-press-page {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 0.45rem;
    height: calc(100dvh - var(--v042-chrome-height, 8.6rem));
    min-height: 0;
    overflow: hidden;
  }

  .v042-press-page .v042-press-toolbar {
    margin: 0 0.45rem;
    padding: 0.45rem 0.55rem;
  }

  .v042-press-page .v042-season-strip {
    margin-inline: 0.45rem;
  }

  .v042-press-page .v042-newspaper {
    --v042-news-card-width: calc(100vw - 2.4rem);
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-news-card-width);
    grid-template-columns: none;
    gap: 0.58rem;
    align-items: stretch;
    min-height: 0;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0 1.2rem 0.65rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1.2rem;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background:
      linear-gradient(90deg, rgba(216,180,95,.16), transparent 1.4rem),
      linear-gradient(270deg, rgba(216,180,95,.16), transparent 1.4rem),
      rgba(229,216,190,.96);
  }

  .v042-press-page .v042-newspaper::-webkit-scrollbar {
    display: none;
  }

  .v042-press-page .v042-newspaper-toc,
  .v042-press-page .v042-newspaper-section,
  .v042-press-page .v042-newspaper-section.is-wide,
  .v042-press-page .v042-newspaper-section.is-medium,
  .v042-press-page .v042-newspaper-section.is-narrow {
    grid-column: auto;
    width: var(--v042-news-card-width);
    min-width: 0;
    height: 100%;
    min-height: 0;
    max-height: none;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .v042-press-page .v042-newspaper-toc {
    position: relative;
    top: auto;
    align-content: flex-start;
    align-items: flex-start;
    overflow: auto;
  }

  .v042-press-page .v042-newspaper-section {
    overflow: auto;
    padding: 0.75rem;
  }

  .v042-press-page .v042-newspaper-section-grid,
  .v042-press-page .v042-newspaper-section.is-medium .v042-newspaper-section-grid,
  .v042-press-page .v042-newspaper-section.is-narrow .v042-newspaper-section-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-press-page .v042-newspaper-story.is-span-2,
  .v042-press-page .v042-newspaper-story.is-span-3,
  .v042-press-page .v042-newspaper-story.is-brief {
    grid-column: 1 / -1;
  }
}

/* v0.4.7.0 lander/login flow */
body.v042-guest {
  background: #000;
}

.v047-boot-screen,
.v047-lander {
  min-height: 100dvh;
  width: 100%;
  display: grid;
  place-items: center;
  background: #000;
  color: #fff;
  overflow: hidden;
}

.v047-lander {
  position: relative;
  isolation: isolate;
}

.v047-lander::before {
  content: "";
  position: absolute;
  inset: -18%;
  z-index: 0;
  opacity: 0;
  background:
    radial-gradient(ellipse at 50% 42%, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 34%, transparent), transparent 58vw),
    radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 24%, transparent), transparent 72vw),
    linear-gradient(180deg, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 10%, #000), #000 62%);
  filter: blur(1px);
  transition: opacity .45s ease, background .45s ease;
  pointer-events: none;
}

.v047-lander.has-selected-faction::before {
  opacity: 1;
}

.v047-lander > * {
  position: relative;
  z-index: 1;
}

.v047-guest-main {
  width: 100vw;
  max-width: none;
  min-height: 100dvh;
  margin: 0;
  padding: 0;
}

.v047-loader-text,
.v047-welcome-text {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 800;
  pointer-events: none;
}

.v047-loader-text {
  font-size: clamp(.8rem, 2vw, 1rem);
  opacity: .74;
}

.v047-welcome-text {
  font-size: clamp(2.8rem, 9vw, 7.8rem);
  font-family: inherit;
  text-transform: none;
  letter-spacing: .045em;
  opacity: 0;
  transform: translateY(.6rem) scale(.985);
  text-shadow:
    0 .05em .18em rgba(0,0,0,.84),
    0 0 1.4rem color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 22%, transparent);
}

.v047-lander-welcome .v047-loader-text,
.v047-lander-login .v047-loader-text {
  opacity: 0;
  transition: opacity .45s ease;
}

.v047-lander-welcome .v047-welcome-text {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition: opacity .9s ease, transform 1.2s ease;
}

.v047-lander-login .v047-welcome-text {
  opacity: 0;
  transform: translateY(-.35rem) scale(1.015);
  transition: opacity .65s ease, transform .7s ease;
}

.v047-login-stack {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: .85rem;
  opacity: 0;
  transform: translateY(1rem);
  pointer-events: none;
}

.v047-lander-login .v047-login-stack {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity .72s ease .18s, transform .72s ease .18s;
}

.v047-login-card {
  position: relative;
  z-index: 2;
  width: min(24rem, calc(100vw - 2rem));
  display: grid;
  gap: .85rem;
  padding: 1.35rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 20px;
  background: rgba(8, 11, 14, .92);
  box-shadow: 0 26px 70px rgba(0,0,0,.65);
}

.v047-faction-preview {
  position: relative;
  width: min(30rem, calc(100vw - 2rem));
  min-height: 13rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 44%, rgba(255,255,255,.16));
  border-radius: 22px;
  background: rgba(255,255,255,.04);
  box-shadow: 0 26px 70px rgba(0,0,0,.55);
}

.v047-faction-preview img {
  display: block;
  width: 100%;
  height: clamp(13rem, 32vh, 21rem);
  object-fit: cover;
  object-position: center top;
}

.v047-faction-preview.is-image-missing img {
  display: none;
}

.v047-faction-preview figcaption {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: .18rem;
  padding: 1rem;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.78));
}

.v047-faction-preview strong {
  color: #fff;
  font-size: clamp(1.15rem, 3.4vw, 1.7rem);
  letter-spacing: .04em;
}

.v047-login-title {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: .05em;
}

.v047-login-form {
  display: grid;
  gap: .8rem;
}

.v047-login-notice {
  padding: .65rem .75rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #eef4f8;
  font-size: .9rem;
}

.v047-login-notice.error {
  border-color: rgba(255, 120, 120, .42);
  background: rgba(160, 24, 24, .18);
}

.v047-selected-faction {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  color: #fff;
  font-weight: 800;
}

.v047-login-submit,
.v047-spectator-btn {
  width: 100%;
}

.v047-spectator-btn {
  min-height: 2.6rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  color: rgba(255,255,255,.86);
  background: rgba(255,255,255,.04);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
}

.v047-spectator-btn:hover {
  background: rgba(255,255,255,.09);
  color: #fff;
}

.v047-intro-player {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 0;
  padding: .44rem .5rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
}

.v047-intro-player-btn {
  flex: 0 0 auto;
  min-height: 2rem;
  padding: .35rem .7rem;
  border: 1px solid color-mix(in srgb, var(--v047-selected-faction-color, var(--accent, #8db5d6)) 42%, rgba(255,255,255,.16));
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb, var(--v047-selected-faction-color, var(--accent, #8db5d6)) 14%, rgba(255,255,255,.04));
  cursor: pointer;
  font: inherit;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.v047-intro-player-btn.is-playing {
  background: color-mix(in srgb, var(--v047-selected-faction-color, var(--accent, #8db5d6)) 24%, rgba(255,255,255,.08));
}

.v047-intro-player-label {
  min-width: 0;
  overflow: hidden;
  color: rgba(255,255,255,.62);
  font-size: .72rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v047-intro-player-label.missing {
  color: rgba(255, 205, 128, .78);
}

.v047-spectator-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  flex-wrap: wrap;
}

.v047-spectator-tools .v047-intro-player {
  max-width: min(23rem, 100%);
}

.v047-login-transition {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: #000;
  animation: v047-login-fade .95s ease forwards;
  pointer-events: none;
}

@keyframes v047-login-fade {
  0% { opacity: 0; }
  22% { opacity: 1; }
  58% { opacity: 1; }
  100% { opacity: 0; }
}

.v047-spectator-shell {
  min-height: 100dvh;
  padding: clamp(1rem, 3vw, 2rem);
  background: radial-gradient(circle at 50% 0%, rgba(141,181,214,.16), transparent 34rem), #05070a;
}

.v047-spectator-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: min(1180px, 100%);
  margin: 0 auto 1rem;
  padding: 1rem 0;
  color: #fff;
}

.v047-spectator-header h1 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4.8rem);
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: .03em;
}

.v047-spectator-header p {
  margin: .35rem 0 0;
  color: var(--v042-muted);
}

.v047-spectator-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(18rem, 1fr) minmax(18rem, 1.15fr) minmax(16rem, .85fr);
  gap: 1rem;
}

.v047-spectator-factions {
  display: grid;
  gap: .55rem;
}

.v047-spectator-faction {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem .65rem;
  border: 1px solid var(--v042-line);
  border-radius: 12px;
  background: rgba(255,255,255,.04);
}

@media (max-width: 900px) {
  .v047-spectator-header {
    display: grid;
  }
  .v047-spectator-tools {
    justify-content: stretch;
  }
  .v047-spectator-tools > * {
    width: 100%;
  }
  .v047-intro-player {
    justify-content: space-between;
  }
  .v047-spectator-grid {
    grid-template-columns: 1fr;
  }
}

/* v0.4.7.3 lander audio + spectator public shell refinements */
.v047-welcome-text {
  font-family: Papyrus, Herculanum, Copperplate, "Palatino Linotype", Georgia, serif;
  font-size: 25pt;
  letter-spacing: .09em;
  text-transform: none;
}

.v047-lander::before {
  inset: -8%;
  background:
    radial-gradient(ellipse at 24% 18%, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 34%, transparent), transparent 48vw),
    radial-gradient(ellipse at 76% 82%, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 26%, transparent), transparent 56vw),
    radial-gradient(ellipse at 50% 50%, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 18%, transparent), transparent 70vw),
    linear-gradient(180deg, color-mix(in srgb, var(--v047-selected-faction-color, #8db5d6) 11%, #000), #000 68%);
}

.v047-intro-player {
  display: grid;
  place-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 18px;
  background: transparent;
}

.v047-intro-player-btn {
  display: grid;
  place-items: center;
  gap: .34rem;
  width: 100%;
  min-height: 4.25rem;
  padding: .75rem .9rem;
  border: 1px solid color-mix(in srgb, var(--v047-player-accent, var(--v047-selected-faction-color, #8db5d6)) 42%, rgba(255,255,255,.13));
  border-radius: 18px;
  color: rgba(255,255,255,.72);
  background: color-mix(in srgb, var(--v047-player-accent, var(--v047-selected-faction-color, #8db5d6)) 8%, rgba(255,255,255,.025));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 12px 34px rgba(0,0,0,.22);
  cursor: pointer;
  font: inherit;
  transition: background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.v047-intro-player.is-playing .v047-intro-player-btn {
  color: #fff;
  border-color: color-mix(in srgb, var(--v047-player-accent, var(--v047-selected-faction-color, #8db5d6)) 72%, rgba(255,255,255,.24));
  background: color-mix(in srgb, var(--v047-player-accent, var(--v047-selected-faction-color, #8db5d6)) 28%, rgba(255,255,255,.07));
  box-shadow: 0 0 34px color-mix(in srgb, var(--v047-player-accent, var(--v047-selected-faction-color, #8db5d6)) 34%, transparent), 0 18px 44px rgba(0,0,0,.32);
}

.v047-intro-player.is-paused .v047-intro-player-btn {
  opacity: .72;
}

.v047-intro-player-icon {
  display: grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: inherit;
  font-size: 1rem;
  line-height: 1;
}

.v047-intro-player-title {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: inherit;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.v047-spectator-body .v042-main.v047-guest-main {
  width: min(1500px, calc(100vw - 1.5rem));
  max-width: none;
  min-height: auto;
  padding: .65rem 0 6.2rem;
}

.v047-spectator-topbar .v042-top-nav {
  display: flex;
}

.v047-spectator-site-shell {
  display: grid;
  grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.55fr);
  gap: 1rem;
  min-height: calc(100dvh - var(--v042-chrome-height, 10rem));
}

.v047-spectator-ledger-column,
.v047-spectator-news-column,
.v047-spectator-panel-shell {
  min-width: 0;
}

.v047-spectator-ledger-column {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.v047-spectator-news-column {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.v047-spectator-inside-nav {
  position: sticky;
  top: calc(var(--v042-topbar-height, 4rem) + .5rem);
  z-index: 6;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .65rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(8, 11, 14, .88);
  backdrop-filter: blur(12px);
  box-shadow: 0 16px 40px rgba(0,0,0,.24);
}

.v047-spectator-inside-nav span {
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.v047-spectator-inside-nav button {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: rgba(255,255,255,.8);
  background: rgba(255,255,255,.045);
  cursor: pointer;
  font: inherit;
  font-size: .78rem;
  font-weight: 800;
  padding: .4rem .66rem;
}

.v047-spectator-news-section {
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(8, 11, 14, .88);
  box-shadow: 0 18px 42px rgba(0,0,0,.22);
}

.v047-spectator-section-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: baseline;
  margin-bottom: .85rem;
  border-bottom: 2px solid rgba(255,255,255,.16);
  padding-bottom: .55rem;
}

.v047-spectator-section-head h2 {
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  letter-spacing: .04em;
}

.v047-spectator-section-head span {
  color: var(--v042-muted);
  font-size: .75rem;
  text-transform: uppercase;
}

.v047-spectator-story-list {
  display: grid;
  gap: .8rem;
}

.v047-spectator-story {
  display: grid;
  gap: .38rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.v047-spectator-story:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.v047-spectator-story strong {
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.12rem;
}

.v047-spectator-story.is-lead strong {
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.v047-spectator-story p {
  margin: 0;
  color: rgba(238,244,248,.82);
  line-height: 1.55;
}

@media (max-width: 900px) {
  .v047-spectator-site-shell {
    grid-template-columns: 1fr;
  }

  .v047-spectator-news-column {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .v047-spectator-inside-nav,
  .v047-spectator-news-section {
    flex: 0 0 min(92vw, 34rem);
    scroll-snap-align: start;
  }

  .v047-spectator-inside-nav {
    position: relative;
    top: auto;
    align-content: start;
    align-items: stretch;
    flex-direction: column;
  }
}

/* 0.4.7.4 spectator-as-role repair: use native portal layouts instead of custom island shell. */
.v047-spectator-mode .v042-main.v047-guest-main {
  width: min(1500px, calc(100vw - 1.5rem));
  max-width: none;
  min-height: auto;
  margin: 0 auto;
  padding: .65rem 0 6.2rem;
}

.v047-spectator-mode .v042-top-nav {
  display: flex;
}

.v047-spectator-native-press {
  display: grid;
  grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.55fr);
  gap: 1rem;
  align-items: start;
}

/* Public faction choice: one readable banner at a time on a phone. */
body.v042-guest { margin:0; }
.v061-entry { display:block; min-height:100dvh; overflow:visible; background:#090d0e; color:#f4efe2; }
.v061-entry::before { position:fixed; inset:0; opacity:.65; background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--selection-accent) 17%,transparent),transparent 65%),linear-gradient(#101a18,#090d0e 55%); }
.v061-entry button { cursor:pointer; }
.v061-entry button:focus-visible,.v061-entry summary:focus-visible,.v061-entry input:focus-visible { outline:3px solid #f4d27d; outline-offset:3px; }
.v061-welcome { min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.2rem; padding:2rem 1.25rem; text-align:center; opacity:1; transform:none; }
.v061-welcome h1 { margin:0; font:700 clamp(2.7rem,10vw,6rem)/1.05 Papyrus,Herculanum,Copperplate,Georgia,serif; text-shadow:0 6px 24px #000; }
.v061-welcome p:not(.v061-eyebrow) { max-width:31rem; margin:0; font-size:clamp(1rem,3vw,1.3rem); line-height:1.55; }
.v061-eyebrow { margin:0; color:#dbbb77; font-size:.78rem; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.v061-primary { width:100%; min-height:3.35rem; padding:.75rem 1.2rem; border:1px solid #e9cc8c; border-radius:.45rem; background:#ddbd78; color:#151a18; font:800 1rem/1.25 system-ui,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.v061-primary:hover { background:#f0d498; }
.v061-welcome .v061-primary { max-width:22rem; margin-top:.8rem; }
.v061-text-button { min-height:2.8rem; padding:.45rem .15rem; border:0; background:transparent; color:#e8dec7; font:600 .98rem/1.3 system-ui,sans-serif; text-decoration:underline; text-underline-offset:.25rem; }
.v061-gm-access { font-size:.82rem; opacity:.72; }
.v061-picker,.v061-detail,.v061-auth { width:min(100%,68rem); margin:auto; padding:1rem max(1rem,env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left)); }
.v061-page-header { max-width:40rem; margin:0 auto 1.5rem; text-align:center; }
.v061-page-header .v061-text-button { display:block; margin-right:auto; }
.v061-page-header h1 { margin:.35rem 0; font:700 clamp(2rem,6vw,3.5rem)/1.1 Georgia,serif; }
.v061-page-header p:last-child { margin:.5rem 0; color:#c7c3b7; line-height:1.5; }
.v061-faction-list { display:grid; gap:.8rem; }
.v061-faction-choice { display:grid; grid-template-columns:5.25rem minmax(0,1fr) auto; align-items:center; gap:1rem; width:100%; min-height:7rem; padding:.7rem; border:1px solid color-mix(in srgb,var(--selection-accent) 55%,#54605b); border-left:5px solid var(--selection-accent); border-radius:.6rem; background:#17201f; color:#f7f1e7; text-align:left; box-shadow:0 8px 24px #0005; }
.v061-faction-choice:hover { background:#222e2b; }
.v061-faction-choice .v061-faction-image { width:5.25rem; height:5.5rem; object-fit:cover; border-radius:.25rem; }
.v061-choice-copy { display:grid; gap:.15rem; min-width:0; }
.v061-choice-copy small { color:var(--selection-accent); font-weight:900; letter-spacing:.12em; }
.v061-choice-copy strong { font:700 clamp(1.15rem,4vw,1.5rem)/1.15 Georgia,serif; }
.v061-choice-copy span { color:#d2cec1; font-size:.88rem; line-height:1.35; }
.v061-choice-arrow { font-size:1.5rem; padding:0 .3rem; }
.v061-detail { max-width:54rem; }
.v061-hero { position:relative; min-height:17rem; margin:.3rem 0 1rem; overflow:hidden; border:1px solid color-mix(in srgb,var(--selection-accent) 65%,#777); border-radius:.65rem; background:linear-gradient(125deg,#25302d,#0e1414); }
.v061-hero>.v061-faction-image { display:block; width:100%; height:clamp(18rem,45vw,27rem); object-fit:cover; object-position:center 28%; }
.v061-hero-copy { position:absolute; inset:auto 0 0; padding:3rem 1.2rem 1.15rem; background:linear-gradient(transparent,#06100fee 78%); }
.v061-hero-copy h1 { margin:.3rem 0; font:700 clamp(2rem,7vw,3.8rem)/1.05 Georgia,serif; }
.v061-hero-copy h2 { margin:0; font:italic 500 clamp(1rem,3vw,1.5rem)/1.3 Georgia,serif; color:#f1d9a3; }
.v061-detail-body { max-width:46rem; margin:auto; font-size:1rem; line-height:1.6; }
.v061-pitch { font:1.2rem/1.5 Georgia,serif; }
.v061-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.2rem 0; }
.v061-tags span { padding:.25rem .65rem; border:1px solid #6c6c55; border-radius:2rem; background:#232c27; font-size:.8rem; font-weight:700; }
.v061-stakes { padding:.1rem 1rem; border-left:3px solid var(--selection-accent); background:#18221f; }
.v061-stakes strong { color:#ebcf91; }
.v061-accordion { margin:1rem 0; border:1px solid #57635d; border-radius:.35rem; background:#161e1d; }
.v061-accordion summary { padding:1rem; font-weight:800; letter-spacing:.08em; cursor:pointer; }
.v061-accordion>*:not(summary) { margin:0 1rem 1rem; }
.v061-accordion h3 { color:#e8c77f; font-size:.9rem; text-transform:uppercase; letter-spacing:.08em; }
.v061-accordion dl { display:grid; gap:.65rem; }
.v061-accordion dl>div { border-top:1px solid #48514b; padding-top:.6rem; }
.v061-accordion dt { color:#e8c77f; font-size:.8rem; font-weight:800; text-transform:uppercase; }
.v061-accordion dd { margin:.2rem 0 0; }
.v061-hint { color:#c9c6bb; font-size:.85rem; }
.v061-provenance { display:inline-block; padding:.15rem .55rem; border:1px solid #bfa66d; color:#f1dba7; font-size:.78rem; font-weight:800; }
.v061-accordion ul { padding-left:1.2rem; }
.v061-dossier-grid { display:grid; gap:.65rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.v061-dossier-section { min-width:0; padding:.6rem .75rem; border:1px solid #3d5048; border-radius:.35rem; background:#202a25; }
.v061-accordion .v061-dossier-section { margin:0; }
.v061-dossier-section h3 { margin:.15rem 0 .5rem; }
.v061-dossier-section p { margin:.45rem 0; font-size:.88rem; line-height:1.5; }
.v061-claim-origin { display:inline-block; margin-left:.4rem; color:#d7c29b; font-size:.67rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; white-space:nowrap; }
.v061-origin-campaign_extension,.v061-origin-campaign_original { color:#cfb6e3; }
.v061-dossier-more { margin-top:.7rem!important; border-top:1px solid #47554e; }
.v061-dossier-more summary { min-height:2.8rem; padding:.55rem 0; font-size:.88rem; font-weight:800; cursor:pointer; }
.v061-dossier-more .v061-dossier-section { margin:.6rem 0; }
.v061-dossier-bridge { margin-top:.7rem!important; border-left:3px solid #af91c7; }
.v061-dossier-bridge .v061-dossier-section { border:0; background:#282330; }
.v061-dossier-sources { margin-top:.9rem!important; border-top:1px solid #47554e; }
.v061-dossier-sources h3 { margin:.55rem 0 .2rem; }
.v061-dossier-sources ul { margin:.25rem 0!important; padding-left:1.15rem; font-size:.8rem; }
.v061-dossier-sources a { color:#ead29b; }
.v061-persistent-audio { position:fixed; right:max(.75rem,env(safe-area-inset-right)); bottom:calc(.7rem + env(safe-area-inset-bottom)); z-index:20; width:min(15rem,58vw); border-radius:.55rem; background:#101815ed; box-shadow:0 8px 25px #000a; }
.v061-persistent-audio .v047-audio-main { min-height:2.8rem; }
.v061-persistent-audio .v047-audio-menu-toggle { min-height:1.5rem; }
.v061-detail .v061-persistent-audio { bottom:calc(4.9rem + env(safe-area-inset-bottom)); }
.v061-picker,.v061-auth { padding-bottom:calc(5.5rem + env(safe-area-inset-bottom)); }
.v061-sticky-action { position:sticky; bottom:0; z-index:3; margin:1rem -1rem -1rem; padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom)); background:linear-gradient(transparent,#090d0e 15%); }
.v061-auth { max-width:28rem; min-height:100dvh; display:flex; flex-direction:column; align-items:stretch; gap:.75rem; text-align:center; }
.v061-auth .v061-text-button { align-self:flex-start; }
.v061-auth-portrait { height:clamp(13rem,30vh,18rem); overflow:hidden; border:1px solid var(--selection-accent); border-radius:.55rem; background:#19211f; }
.v061-auth-portrait img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.v061-auth h1 { margin:.2rem 0; font:700 clamp(2rem,7vw,3rem)/1.1 Georgia,serif; }
.v061-auth>p:not(.v061-eyebrow) { margin:0; color:#efd59d; font:italic 1.1rem/1.4 Georgia,serif; }
.v061-auth form { display:grid; gap:1rem; margin-top:.8rem; }
.v061-auth label { display:grid; gap:.4rem; text-align:left; font-weight:700; }
.v061-auth input { width:100%; min-height:3.2rem; padding:.7rem; border:1px solid #a8a9a0; border-radius:.35rem; background:#f8f4e9; color:#171b19; font:1rem system-ui,sans-serif; }
@media(min-width:760px) { .v061-faction-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:440px) { .v061-faction-choice { grid-template-columns:4.5rem minmax(0,1fr) auto; gap:.7rem; } .v061-faction-choice .v061-faction-image { width:4.5rem; height:5.3rem; } }
@media(max-width:540px) { .v061-dossier-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .v061-welcome { opacity:1; transform:none; transition:none; } .v061-entry * { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

.v047-spectator-native-press.is-archive {
  grid-template-columns: minmax(0, 1fr);
}

.v047-spectator-native-ledger {
  position: sticky;
  top: calc(var(--v042-topbar-height, 4rem) + .75rem);
  min-width: 0;
}

.v047-spectator-native-ledger .v042-newspaper-section {
  margin: 0;
}

.v047-spectator-native-paper {
  min-width: 0;
}

.v047-spectator-native-paper .v042-press-toolbar .v042-actions,
.v047-spectator-native-paper .v042-press-composer,
.v047-spectator-mode .v042-press-gm-actions {
  display: none !important;
}

.v047-spectator-newspaper .v042-newspaper-toc button:nth-child(3) {
  display: none;
}

@media (max-width: 900px) {
  .v047-spectator-native-press {
    display: grid;
    grid-template-columns: 1fr;
  }

  .v047-spectator-native-ledger {
    position: relative;
    top: auto;
  }

  .v047-spectator-native-paper .v042-newspaper {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .v047-spectator-native-paper .v042-newspaper-toc,
  .v047-spectator-native-paper .v042-newspaper-zone,
  .v047-spectator-native-paper .v042-newspaper-section {
    flex: 0 0 min(92vw, 34rem);
    scroll-snap-align: start;
  }
}


/* 0.4.7.5: News mobile keeps the original Inside nav as the only section navigator. */
.v042-news-mobile-mini-nav {
  display: none !important;
}

/* v0.4.7.9 unified portal audio player */
.v042-top-nav .v047-audio-player {
  flex: 0 0 min(18rem, 38vw);
  margin-inline: 0.35rem 0.55rem;
}

.v047-audio-player {
  --v047-audio-accent: var(--accent, #8db5d6);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  color: rgba(255,255,255,.78);
}

.v047-audio-main,
.v047-audio-menu-toggle,
.v047-audio-menu button {
  font: inherit;
}

.v047-audio-main {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.42rem;
  width: 100%;
  min-height: 2.1rem;
  padding: 0.2rem 0.58rem 0.28rem;
  border: 1px solid color-mix(in srgb, var(--v047-audio-accent) 34%, rgba(255,255,255,.13));
  border-radius: 9px 9px 6px 6px;
  color: inherit;
  background: color-mix(in srgb, var(--v047-audio-accent) 8%, rgba(255,255,255,.035));
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}

.v047-audio-player.is-playing .v047-audio-main {
  color: #fff;
  border-color: color-mix(in srgb, var(--v047-audio-accent) 72%, rgba(255,255,255,.25));
  background: color-mix(in srgb, var(--v047-audio-accent) 30%, rgba(255,255,255,.075));
  box-shadow: 0 0 26px color-mix(in srgb, var(--v047-audio-accent) 28%, transparent), inset 0 0 0 1px rgba(255,255,255,.04);
}

.v047-audio-player.is-paused .v047-audio-main {
  opacity: .7;
}

.v047-audio-icon {
  display: grid;
  place-items: center;
  width: 1.42rem;
  height: 1.42rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  font-size: .68rem;
  line-height: 1;
}

.v047-audio-title {
  min-width: 0;
  overflow: hidden;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .035em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.v047-audio-menu-toggle {
  width: 100%;
  min-height: 1rem;
  padding: 0.08rem 0.45rem 0.12rem;
  border: 1px solid color-mix(in srgb, var(--v047-audio-accent) 24%, rgba(255,255,255,.1));
  border-top: 0;
  border-radius: 0 0 8px 8px;
  color: rgba(255,255,255,.58);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font-size: .54rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.v047-audio-player.is-playing .v047-audio-menu-toggle {
  color: rgba(255,255,255,.86);
  background: color-mix(in srgb, var(--v047-audio-accent) 16%, rgba(255,255,255,.035));
}

.v047-audio-menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 0;
  z-index: 120;
  width: min(26rem, 88vw);
  max-height: min(28rem, 72dvh);
  overflow: auto;
  padding: 0.65rem;
  border: 1px solid color-mix(in srgb, var(--v047-audio-accent) 38%, rgba(255,255,255,.14));
  border-radius: 14px;
  background: rgba(5,8,11,.96);
  box-shadow: 0 24px 58px rgba(0,0,0,.5), 0 0 26px color-mix(in srgb, var(--v047-audio-accent) 16%, transparent);
  backdrop-filter: blur(18px);
}

.v047-audio-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  margin-bottom: .55rem;
  color: #fff;
}

.v047-audio-menu-close {
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: #fff;
  background: rgba(255,255,255,.04);
  cursor: pointer;
}

.v047-audio-controls {
  display: grid;
  grid-template-columns: auto repeat(5, minmax(0, 1fr));
  gap: .35rem;
  margin-bottom: .6rem;
  align-items: center;
}

.v047-audio-controls button,
.v047-audio-track-list button {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 9px;
  color: rgba(255,255,255,.78);
  background: rgba(255,255,255,.035);
  cursor: pointer;
}

.v047-audio-controls button {
  min-height: 2rem;
  font-size: .7rem;
  font-weight: 900;
}

.v047-audio-loop-label {
  color: rgba(255,255,255,.72);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.v047-audio-controls button.is-active,
.v047-audio-track-list button.is-active {
  border-color: color-mix(in srgb, var(--v047-audio-accent) 64%, rgba(255,255,255,.18));
  color: #fff;
  background: color-mix(in srgb, var(--v047-audio-accent) 22%, rgba(255,255,255,.05));
}

.v047-audio-track-list {
  display: grid;
  gap: .35rem;
}

.v047-audio-track-list button {
  display: grid;
  gap: .12rem;
  width: 100%;
  min-height: 2.35rem;
  padding: .45rem .55rem;
  text-align: left;
}

.v047-audio-track-list span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v047-audio-track-list small {
  overflow: hidden;
  color: rgba(255,255,255,.45);
  font-size: .62rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v047-audio-login {
  width: 100%;
}

.v047-audio-login .v047-audio-main {
  min-height: 4.25rem;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: .34rem;
  border-radius: 18px 18px 8px 8px;
}

.v047-audio-login .v047-audio-icon {
  width: 2.1rem;
  height: 2.1rem;
  font-size: 1rem;
}

.v047-audio-login .v047-audio-title {
  font-size: .78rem;
}

.v047-audio-login .v047-audio-menu-toggle {
  min-height: 1.35rem;
  border-radius: 0 0 14px 14px;
}

@media (max-width: 900px) {
  .v042-top-nav .v047-audio-player {
    flex-basis: min(15rem, 58vw);
  }

  .v047-audio-title {
    max-width: 8.5rem;
  }

  .v047-audio-menu {
    left: auto;
    right: 0;
  }
}

/* v0.4.8.0: top-nav audio player compact side-drawer layout */
.v042-top-nav .v047-audio-player {
  flex: 0 0 min(18rem, 34vw);
  display: flex;
  align-items: stretch;
  gap: 0;
  height: 1.8rem;
  max-width: min(38rem, 72vw);
  margin-inline: 0.28rem 0.5rem;
  transition: flex-basis .22s ease, max-width .22s ease;
}

.v042-top-nav .v047-audio-player.is-open {
  flex-basis: min(36rem, 68vw);
}

.v042-top-nav .v047-audio-main {
  flex: 1 1 12rem;
  min-width: 7.5rem;
  min-height: 1.8rem;
  height: 1.8rem;
  padding: 0.12rem 0.44rem;
  border-radius: 6px 0 0 6px;
  border-right: 0;
  grid-template-columns: 1.2rem minmax(0, 1fr);
}

.v042-top-nav .v047-audio-icon {
  width: 1.08rem;
  height: 1.08rem;
  font-size: .55rem;
}

.v042-top-nav .v047-audio-title {
  font-size: .61rem;
  line-height: 1;
}

.v042-top-nav .v047-audio-menu-toggle {
  flex: 0 0 1.8rem;
  width: 1.8rem;
  min-width: 1.8rem;
  min-height: 1.8rem;
  height: 1.8rem;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--v047-audio-accent) 34%, rgba(255,255,255,.13));
  border-left: 0;
  border-radius: 0 6px 6px 0;
  color: rgba(255,255,255,.72);
  background: color-mix(in srgb, var(--v047-audio-accent) 9%, rgba(255,255,255,.03));
  font-size: .68rem;
  line-height: 1;
}

.v042-top-nav .v047-audio-player.is-playing .v047-audio-menu-toggle {
  color: #fff;
  border-color: color-mix(in srgb, var(--v047-audio-accent) 72%, rgba(255,255,255,.25));
  background: color-mix(in srgb, var(--v047-audio-accent) 22%, rgba(255,255,255,.055));
}

.v042-top-nav .v047-audio-player.is-open .v047-audio-menu-toggle {
  border-left: 1px solid rgba(255,255,255,.08);
}

.v042-top-nav .v047-audio-menu {
  position: static;
  flex: 1 1 18rem;
  display: flex;
  align-items: stretch;
  gap: .25rem;
  width: auto;
  max-width: 21rem;
  max-height: 1.8rem;
  min-height: 1.8rem;
  overflow: hidden;
  padding: .12rem .18rem;
  border: 1px solid color-mix(in srgb, var(--v047-audio-accent) 34%, rgba(255,255,255,.13));
  border-left: 0;
  border-right: 0;
  border-radius: 0;
  background: color-mix(in srgb, var(--v047-audio-accent) 8%, rgba(7,11,15,.88));
  box-shadow: none;
  backdrop-filter: none;
}

.v042-top-nav .v047-audio-controls {
  flex: 0 0 auto;
  display: flex;
  gap: .18rem;
  margin: 0;
}

.v042-top-nav .v047-audio-loop-label {
  align-self: center;
  color: rgba(255,255,255,.58);
  font-size: .52rem;
  line-height: 1;
}

.v042-top-nav .v047-audio-controls button {
  min-width: 1.55rem;
  min-height: 1.46rem;
  height: 1.46rem;
  padding: 0 .3rem;
  border-radius: 5px;
  font-size: .55rem;
  line-height: 1;
}

.v042-top-nav .v047-audio-track-list {
  flex: 1 1 auto;
  display: flex;
  gap: .18rem;
  min-width: 0;
  overflow: hidden;
}

.v042-top-nav .v047-audio-track-list button {
  flex: 0 1 7.2rem;
  display: block;
  min-width: 3.8rem;
  min-height: 1.46rem;
  height: 1.46rem;
  padding: 0 .35rem;
  border-radius: 5px;
  text-align: center;
}

.v042-top-nav .v047-audio-track-list span {
  display: block;
  overflow: hidden;
  font-size: .56rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-top-nav .v047-audio-track-list small,
.v042-top-nav .v047-audio-menu-head,
.v042-top-nav .v047-audio-menu-close {
  display: none;
}

@media (max-width: 900px) {
  .v042-top-nav .v047-audio-player {
    flex-basis: min(14.5rem, 54vw);
    max-width: min(32rem, 82vw);
  }

  .v042-top-nav .v047-audio-player.is-open {
    flex-basis: min(30rem, 82vw);
  }

  .v042-top-nav .v047-audio-main {
    flex-basis: 9rem;
  }

  .v042-top-nav .v047-audio-menu {
    max-width: 15rem;
  }

  .v042-top-nav .v047-audio-loop-label {
    display: none;
  }
}

/* v0.4.8.1: mobile top nav wraps cleanly around the unified audio player. */
@media (max-width: 900px) {
  .v042-top-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    overflow-x: visible;
    padding-bottom: 0.24rem;
  }

  .v042-top-nav .v042-nav-btn {
    order: 3;
    flex: 0 0 auto;
  }

  .v042-top-nav .v042-logout-nav-btn {
    order: 1;
    flex: 0 0 2.35rem;
  }

  .v042-top-nav .v047-audio-player {
    order: 2;
    flex: 1 1 calc(100% - 2.9rem);
    max-width: none;
    min-width: 0;
    margin: 0;
  }

  .v042-top-nav .v047-audio-player.is-open {
    flex-basis: calc(100% - 2.9rem);
    max-width: none;
  }

  .v042-top-nav .v047-audio-main {
    flex: 1 1 auto;
    min-width: 0;
  }

  .v042-top-nav .v047-audio-title {
    max-width: none;
  }

  .v042-top-nav .v047-audio-menu {
    flex: 1 1 100%;
    max-width: none;
  }

  .v042-console-right-text {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.28rem;
    max-width: 36vw;
    font-size: 0.58rem;
    line-height: 1;
  }

  .v042-mobile-date-chip {
    display: block;
    max-width: 34vw;
    overflow: hidden;
    font-size: 0.58rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v042-mobile-deadline-chip {
    display: none !important;
  }
}

/* 0482: Spectator dashboard refinements */
.v042-spectator-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(15rem, 0.72fr) minmax(22rem, 1.28fr) minmax(20rem, 1fr);
  gap: 1rem;
  align-items: start;
}

.v042-spectator-public-column {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.v042-spectator-intro-card .v042-note {
  font-size: 0.96rem;
}

.v042-spectator-nav-card .v042-compact-list {
  grid-template-columns: 1fr;
}

.v042-spectator-mobile-jumps {
  margin-bottom: 0.3rem;
}

.v047-audio-title {
  letter-spacing: 0.02em;
}

@media (max-width: 820px) {
  .v042-spectator-dashboard-grid {
    display: flex;
    gap: 0.85rem;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.45rem;
  }

  .v042-spectator-dashboard-grid > .v042-panel,
  .v042-spectator-dashboard-grid > .v042-spectator-public-column {
    flex: 0 0 min(92vw, 34rem);
    scroll-snap-align: start;
  }

  .v042-spectator-public-column {
    align-content: start;
  }
}

/* 0483: Spectator public intelligence dashboard */
.v042-spectator-center-column {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.v042-spectator-world-press {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.v042-spectator-inside-nav {
  position: sticky;
  top: calc(var(--v042-topbar-height, 4rem) + 0.35rem);
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  padding: 0.55rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(4,7,9,.84);
  backdrop-filter: blur(10px);
}

.v042-spectator-inside-nav span {
  color: var(--v042-muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.v042-spectator-inside-nav button {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--v042-text);
  background: rgba(255,255,255,.045);
  font: inherit;
  font-size: 0.78rem;
  cursor: pointer;
}

.v042-spectator-press-sections {
  display: grid;
  gap: 1rem;
}

.v042-spectator-press-section {
  padding: 0.9rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}

.v042-spectator-press-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,.09);
  padding-bottom: 0.45rem;
}

.v042-spectator-press-head h3 {
  margin: 0;
  color: var(--title-color, #f4f8fb);
  font-family: Georgia, "Palatino Linotype", serif;
  font-size: 1.2rem;
}

.v042-spectator-press-head span {
  color: var(--v042-muted);
  font-size: 0.75rem;
  text-transform: uppercase;
}

.v042-spectator-press-list {
  display: grid;
  gap: 0.8rem;
}

.v042-spectator-press-story {
  display: grid;
  gap: 0.3rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.v042-spectator-press-story:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.v042-spectator-press-story strong {
  color: var(--title-color, #f4f8fb);
  font-size: 1rem;
}

.v042-spectator-press-story.is-lead strong {
  font-size: 1.18rem;
}

.v042-spectator-faction-list {
  display: grid;
  gap: 0.75rem;
}

.v042-spectator-faction-card {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--faction-color, #8db5d6) 38%, rgba(255,255,255,.12));
  border-left: 4px solid var(--faction-color, #8db5d6);
  border-radius: 12px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--faction-color, #8db5d6) 14%, rgba(255,255,255,.035)), rgba(255,255,255,.025));
}

.v042-spectator-faction-portrait-btn {
  position: relative;
  overflow: hidden;
  width: 4.2rem;
  height: 4.2rem;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(0,0,0,.25);
  cursor: pointer;
  padding: 0;
}

.v042-spectator-faction-portrait-btn img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.v042-spectator-faction-portrait-btn span {
  position: absolute;
  left: 0.25rem;
  bottom: 0.25rem;
  padding: 0.08rem 0.28rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(0,0,0,.72);
  font-size: 0.68rem;
  font-weight: 900;
}

.v042-spectator-faction-copy {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.v042-spectator-faction-title,
.v042-spectator-faction-metrics,
.v042-spectator-meter-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}

.v042-spectator-faction-title {
  justify-content: space-between;
}

.v042-spectator-faction-title strong {
  overflow: hidden;
  color: var(--title-color, #f4f8fb);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v042-spectator-faction-title span,
.v042-spectator-faction-metrics span,
.v042-spectator-meter-row span {
  color: var(--v042-muted);
  font-size: 0.74rem;
}

.v042-spectator-faction-metrics {
  flex-wrap: wrap;
}

.v042-spectator-faction-metrics span {
  padding: 0.12rem 0.42rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  background: rgba(0,0,0,.16);
}

.v042-spectator-meter-row {
  display: grid;
  grid-template-columns: 6.5rem minmax(0, 1fr);
}

.v042-spectator-meter {
  overflow: hidden;
  height: 0.5rem;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
}

.v042-spectator-meter i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--faction-color, #8db5d6);
}

.v042-spectator-meter.is-soft i {
  opacity: 0.62;
}

.v042-spectator-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.v042-spectator-stat-tile {
  display: grid;
  gap: 0.12rem;
  padding: 0.65rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
}

.v042-spectator-stat-tile span,
.v042-spectator-stat-tile small {
  color: var(--v042-muted);
  font-size: 0.72rem;
  text-transform: uppercase;
}

.v042-spectator-stat-tile strong {
  color: #fff;
  font-size: 1.18rem;
}

.v042-spectator-region-breakdown {
  display: grid;
  gap: 0.5rem;
}

.v042-spectator-region-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.v042-spectator-region-row span {
  color: var(--v042-muted);
  font-size: 0.8rem;
  text-align: right;
}

@media (max-width: 820px) {
  .v042-spectator-dashboard-grid > .v042-spectator-center-column {
    flex: 0 0 min(92vw, 34rem);
    scroll-snap-align: start;
  }

  .v042-spectator-inside-nav {
    position: sticky;
    top: 0.25rem;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .v042-spectator-press-section {
    scroll-margin-top: 4rem;
  }

  .v042-spectator-stat-grid {
    grid-template-columns: 1fr 1fr;
  }
}


/* 0486: Spectator dashboard uses the same mobile swipe shell as Command/Inspector pages. */
@media (max-width: 900px) {
  .v042-auth-layout:has(.v042-spectator-dashboard-grid) {
    height: 100%;
    min-height: 0;
    overflow: hidden;
  }

  .v042-spectator-dashboard-grid {
    --v042-mobile-card-width: calc(100vw - 2.4rem);
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-mobile-card-width);
    grid-template-columns: none !important;
    gap: 0.58rem;
    align-items: stretch;
    width: 100vw;
    height: calc(100dvh - var(--v042-chrome-height, 8.6rem)) !important;
    min-height: 0;
    max-height: none;
    margin-inline: calc(50% - 50vw);
    padding-inline: 1.2rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1.2rem;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background:
      linear-gradient(90deg, rgba(216,180,95,.16), transparent 1.4rem),
      linear-gradient(270deg, rgba(216,180,95,.16), transparent 1.4rem);
  }

  .v042-spectator-dashboard-grid::-webkit-scrollbar {
    display: none;
  }

  .v042-spectator-dashboard-grid > .v042-panel,
  .v042-spectator-dashboard-grid > .v042-spectator-center-column,
  .v042-spectator-dashboard-grid > .v042-spectator-public-column {
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    flex: initial !important;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    overflow: hidden;
    box-shadow: 0 0 0 1px rgba(216,180,95,.08), 0 16px 34px rgba(0,0,0,.28);
  }

  .v042-spectator-dashboard-grid > .v042-panel,
  .v042-spectator-center-column,
  .v042-spectator-public-column {
    display: grid;
    grid-template-rows: minmax(0, 1fr);
    align-content: stretch;
  }

  .v042-spectator-center-column,
  .v042-spectator-public-column,
  .v042-spectator-center-column > .v042-panel,
  .v042-spectator-public-column > .v042-panel {
    min-height: 0;
  }

  .v042-spectator-center-column,
  .v042-spectator-public-column {
    overflow-y: auto;
    overflow-x: hidden;
  }
}

.v042-spectator-faction-card.is-clickable {
  cursor: pointer;
}

/* Spectator public overview and read-only records */
.v042-spectator-overview {
  grid-column: 1 / -1;
  display: grid;
  gap: 1rem;
  min-width: 0;
}
.v042-spectator-overview-head,
.v042-spectator-overview-card-head,
.v042-spectator-reader-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.v042-spectator-overview-head h1,
.v042-spectator-reader-head h1 { margin: .2rem 0; }
.v042-spectator-overview-head p { margin: .2rem 0 0; }
.v042-spectator-overview-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
}
.v042-spectator-overview-card { min-width: 0; padding: 1rem; }
.v042-spectator-overview-card-head { align-items: center; margin-bottom: .6rem; }
.v042-spectator-overview-card h2 { margin: 0; font-size: 1.05rem; }
.v042-spectator-preview {
  display: grid;
  width: 100%;
  gap: .28rem;
  padding: .75rem;
  margin: .35rem 0;
  text-align: left;
  white-space: normal;
  color: inherit;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(216,180,95,.22);
  border-radius: .5rem;
  cursor: pointer;
}
.v042-spectator-preview:hover,
.v042-spectator-preview:focus-visible,
.v042-spectator-preview.is-active { border-color: #d8b45f; background: rgba(216,180,95,.12); }
.v042-spectator-preview small { opacity: .7; }
.v042-spectator-preview span { opacity: .85; line-height: 1.4; }
.v042-spectator-reader { display: grid; gap: 1rem; min-width: 0; }
.v042-spectator-reader-layout { display: grid; grid-template-columns: minmax(16rem, .8fr) minmax(0, 1.6fr); gap: 1rem; align-items: start; }
.v042-spectator-reader-list { display: grid; gap: .35rem; max-height: 70vh; overflow: auto; }
.v042-spectator-reader-detail { min-width: 0; padding: 1.25rem; }
.v042-spectator-reader-detail h2 { margin: .5rem 0 1rem; }
.v042-spectator-full-text { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; }
.v042-spectator-replies { display: grid; gap: .7rem; margin-top: 1.4rem; border-top: 1px solid rgba(216,180,95,.25); }
.v042-spectator-replies article { padding: .75rem; background: rgba(255,255,255,.03); border-radius: .4rem; }
@media (max-width: 1100px) {
  .v042-spectator-overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .v042-spectator-dashboard-grid > .v042-spectator-overview {
    grid-column: auto;
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-width: 0;
    overflow-y: auto;
    scroll-snap-align: center;
  }

  .v042-dangers-bar .v042-field-row-body { padding: .18rem; }
  .v042-danger-workflow { gap: .22rem; }
  .v042-danger-step { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .18rem; padding: .24rem; }
  .v042-danger-module-state { grid-template-columns: minmax(0, 1fr) auto; gap: .2rem; padding: .28rem; }
  .v042-danger-module-state span { grid-column: 1 / -1; font-size: .61rem; }
  .v042-danger-step > strong, .v042-danger-step > .v042-note { grid-column: 1 / -1; }
  .v042-danger-template-defaults, .v042-danger-shorthand-preview { grid-column: 1 / -1; font-size: .62rem; }
  .v042-danger-step > strong { font-size: .6rem; }
  .v042-danger-step .v042-field-input, .v042-danger-step .v042-field-select, .v042-danger-step .v042-current-mode, .v042-danger-step .v042-secondary, .v042-danger-step .v042-danger, .v042-danger-step .v042-primary, .v042-danger-step .v042-danger-activate { width: 100%; min-height: 1.75rem; box-sizing: border-box; font-size: .62rem; }
  .v042-danger-event { font-size: .62rem; }
  .v042-spectator-overview-grid,
  .v042-spectator-reader-layout { grid-template-columns: 1fr; }
  .v042-spectator-reader-list { max-height: 35vh; }
}

.v042-spectator-faction-card.is-clickable:hover {
  border-color: color-mix(in srgb, var(--faction-color, #8db5d6) 58%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--faction-color, #8db5d6) 10%, rgba(255,255,255,.035));
}

.v042-spectator-victory-alliance-list {
  display: grid;
  gap: .75rem;
  margin-bottom: .9rem;
}

.v042-spectator-victory-alliance-card {
  display: grid;
  gap: .55rem;
  padding: .9rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 42%, rgba(255,255,255,.12));
  border-radius: 12px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent, #8db5d6) 16%, rgba(255,255,255,.04)), rgba(255,255,255,.025));
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
}

.v042-spectator-meter.is-alliance i {
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent, #8db5d6) 72%, #fff), var(--accent, #8db5d6));
}

.v042-board-ledger-status {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.14));
  color: #fff;
}

.v042-victory-alliance-toggle {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.14));
  background: color-mix(in srgb, var(--accent, #8db5d6) 10%, rgba(255,255,255,.035));
}

/* v0.4.8.9: restore the World Press newspaper to the stable broadsheet layout.
   Later mobile/spectator patches accidentally made the same .v042-newspaper behave
   like both a broadsheet grid and a horizontal swipe deck. Keep Inside as the
   primary navigator and restore normal paper flow. */
.v042-news-mobile-mini-nav {
  display: none !important;
}

.v042-press-page .v042-newspaper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  grid-auto-columns: unset;
  grid-auto-rows: auto;
  gap: 1rem;
  align-items: start;
  height: auto;
  max-height: none;
  overflow: visible;
  scroll-snap-type: none;
  scroll-padding-inline: 0;
}

.v042-press-page .v042-newspaper-toc {
  grid-column: 1 / -1;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  scroll-snap-align: none;
}

.v042-press-page .v042-newspaper-zone {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  scroll-snap-align: none;
}

.v042-press-page .v042-newspaper-zone > .v042-newspaper-section,
.v042-press-page .v042-newspaper-section,
.v042-press-page .v042-newspaper-section.is-wide,
.v042-press-page .v042-newspaper-section.is-medium,
.v042-press-page .v042-newspaper-section.is-narrow {
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  overflow: visible;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
}

.v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-wide,
.v042-press-page .v042-newspaper-zone.is-front-page > .v042-newspaper-section,
.v042-press-page .v042-newspaper-zone.is-declarations > .v042-newspaper-section {
  grid-column: 1 / -1;
}

.v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-medium,
.v042-press-page .v042-newspaper-zone.is-news-politics > .v042-newspaper-section.is-medium,
.v042-press-page .v042-newspaper-zone.is-regions-oped > .v042-newspaper-section.is-medium {
  grid-column: span 2;
}

.v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-narrow,
.v042-press-page .v042-newspaper-zone.is-news-politics > .v042-newspaper-section.is-narrow,
.v042-press-page .v042-newspaper-zone.is-regions-oped > .v042-newspaper-section.is-narrow {
  grid-column: span 1;
}

.v042-press-page .v042-newspaper-zone.is-notifications-claims {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.v047-spectator-native-paper .v042-newspaper,
.v047-spectator-newspaper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  grid-auto-columns: unset;
  height: auto;
  overflow: visible;
  scroll-snap-type: none;
}

@media (max-width: 980px) {
  .v042-press-page .v042-newspaper-zone {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-wide,
  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-medium {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .v042-main:has(.v042-press-page),
  .v042-surface:has(.v042-press-page),
  .v042-auth-layout:has(.v042-press-page) {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .v042-press-page {
    display: grid;
    grid-template-rows: auto auto auto;
    gap: 0.65rem;
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  .v042-press-page .v042-newspaper {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    grid-auto-columns: unset;
    gap: 0.8rem;
    height: auto;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0.75rem;
    overflow-x: hidden;
    overflow-y: visible;
    scroll-snap-type: none;
    scroll-padding-inline: 0;
    background: rgba(229,216,190,.96);
  }

  .v042-press-page .v042-newspaper-toc {
    position: sticky;
    top: calc(var(--v042-topbar-height, 0px) + 0.25rem);
    display: flex;
    flex-wrap: nowrap;
    width: auto;
    height: auto;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .v042-press-page .v042-newspaper-zone,
  .v047-spectator-native-paper .v042-newspaper-zone {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    width: auto;
    height: auto;
    overflow: visible;
  }

  .v042-press-page .v042-newspaper-zone.is-notifications-claims {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section,
  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-wide,
  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-medium,
  .v042-press-page .v042-newspaper-zone > .v042-newspaper-section.is-narrow,
  .v047-spectator-native-paper .v042-newspaper-toc,
  .v047-spectator-native-paper .v042-newspaper-zone,
  .v047-spectator-native-paper .v042-newspaper-section {
    flex: initial;
    grid-column: 1 / -1;
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
    scroll-snap-align: none;
  }

  .v042-press-page .v042-newspaper-section-grid,
  .v042-press-page .v042-newspaper-section.is-medium .v042-newspaper-section-grid,
  .v042-press-page .v042-newspaper-section.is-narrow .v042-newspaper-section-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .v042-press-page .v042-newspaper-story.is-span-2,
  .v042-press-page .v042-newspaper-story.is-span-3,
  .v042-press-page .v042-newspaper-story.is-brief {
    grid-column: 1 / -1;
  }
}

.v042-alliance-avatar {
  display: grid;
  align-content: center;
  justify-items: center;
  width: 4.9rem;
  height: 4.9rem;
  padding: 0.35rem;
  border: 1px solid color-mix(in srgb, var(--entity-color, #d7b56d) 54%, rgba(255,255,255,.16));
  border-radius: 12px;
  color: #fff;
  background:
    radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--entity-color, #d7b56d) 38%, transparent), transparent 58%),
    rgba(255,255,255,.045);
  text-align: center;
  line-height: 1.05;
}

.v042-alliance-avatar strong {
  display: -webkit-box;
  overflow: hidden;
  max-width: 100%;
  color: #fff;
  font-size: 0.58rem;
  line-height: 1.05;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.v042-alliance-avatar small,
.v042-alliance-member-codes {
  color: color-mix(in srgb, var(--entity-color, #d7b56d) 72%, #fff);
  font-size: 0.58rem;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.v042-alliance-member-codes {
  display: block;
  margin-top: 0.2rem;
  opacity: 0.86;
}

/* Hybrid shell pass: keep desktop console navigation, move mobile workflow to a bottom dock. */
@media (min-width: 901px) {
  .v042-mobile-workflow-dock,
  .v042-mobile-section-tabs {
    display: none !important;
  }
}

@media (max-width: 900px) {
  :root {
    --v042-mobile-nav-height: 6.35rem;
    --v042-mobile-dock-reserve: calc(var(--v042-bottombar-height, 2.5rem) + 0.45rem);
    --v042-mobile-shell-height: calc(100dvh - var(--v042-topbar-height, 4.8rem) - var(--v042-top-drawer-reserve, 3.25rem) - var(--v042-mobile-section-tabs-height, 0px) - var(--v042-mobile-dock-reserve));
    --v042-mobile-map-stack-height: calc(var(--v042-mobile-nav-height, 6.35rem) + var(--v042-field-bars-height, 0px));
  }

  .v042-top-nav .v042-route-nav-btn,
  .v042-top-nav .v042-map-nav-btn {
    display: none !important;
  }

  .v042-top-nav {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.28rem;
    overflow: hidden;
  }

  .v042-top-nav .v042-fullscreen-nav-btn,
  .v042-top-nav .v042-notifications-nav-btn,
  .v042-top-nav .v042-settings-nav-btn,
  .v042-top-nav .v042-logout-nav-btn {
    flex: 0 0 2.35rem;
    min-width: 2.35rem;
    min-height: 1.8rem;
  }

  .v042-top-nav .v047-audio-player {
    flex: 1 1 auto;
    min-width: 0;
  }

  .v042-mobile-section-tabs {
    position: sticky;
    top: var(--v042-topbar-height, 4.8rem);
    z-index: 29;
    display: block;
    padding: 0.24rem 0.55rem 0.34rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
    background: linear-gradient(180deg, rgba(7,11,15,.94), rgba(7,11,15,.86));
    backdrop-filter: blur(14px);
  }

  .v042-mobile-section-tabs-track {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--tab-count, 1), minmax(0, 1fr));
    min-height: 2rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    background: rgba(255,255,255,.035);
  }

  .v042-mobile-section-tabs-indicator {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(100% / var(--tab-count, 1));
    border-radius: 7px;
    background: color-mix(in srgb, var(--accent, #8db5d6) 30%, rgba(255,255,255,.08));
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent, #8db5d6) 62%, rgba(255,255,255,.18));
    transform: translateX(calc(var(--active-index, 0) * 100%));
    transition: transform 120ms linear;
  }

  .v042-mobile-section-tab {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 2rem;
    padding: 0.28rem 0.32rem;
    border: 0;
    color: var(--v042-muted);
    background: transparent;
    font: inherit;
    font-size: 0.66rem;
    font-weight: 850;
    line-height: 1.05;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .v042-mobile-section-tab.is-active {
    color: #fff;
  }

  .v042-command-mobile-jumps,
  .v042-mobile-panel-jumps,
  .v042-settings-mobile-mini-nav,
  .v042-surface .v042-mobile-back-button {
    display: none !important;
  }

  .v042-mobile-workflow-dock.v042-bottom-bar.v042-command-bars {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 70;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "routes";
    align-items: stretch;
    gap: 0.42rem;
    min-height: var(--v042-mobile-nav-height, 6.35rem);
    padding: 0.42rem max(0.55rem, env(safe-area-inset-right)) calc(0.42rem + env(safe-area-inset-bottom)) max(0.55rem, env(safe-area-inset-left));
    border-top: 1px solid rgba(255,255,255,.14);
    background: linear-gradient(180deg, rgba(8,12,16,.9), rgba(5,8,11,.98));
    box-shadow: 0 -14px 34px rgba(0,0,0,.42);
    backdrop-filter: blur(16px);
  }

  .v042-mobile-workflow-dock .v042-command-nav-toggle {
    display: none !important;
  }

  .v042-mobile-workflow-dock .v042-mobile-route-group {
    grid-area: routes;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 0.32rem;
    min-width: 0;
    overflow: visible;
  }

  .v042-mobile-workflow-dock .v042-mobile-tool-group {
    display: none !important;
  }

  .v042-mobile-workflow-dock .v042-nav-btn,
  .v042-mobile-workflow-dock .v042-secondary,
  .v042-mobile-workflow-dock .v042-danger {
    display: grid !important;
    align-content: center;
    justify-items: center;
    gap: 0;
    min-width: 0;
    min-height: 2.58rem;
    padding: 0.26rem 0.24rem;
    border-radius: 8px;
    line-height: 1;
  }

  .v042-mobile-workflow-dock .v042-mobile-nav-separator {
    align-self: center;
    flex: 0 0 1px;
    width: 1px;
    height: 1.65rem;
    margin: 0 0.05rem;
    background: rgba(255,255,255,.22);
    box-shadow: 0 0 0 1px rgba(0,0,0,.18);
  }

  .v042-mobile-workflow-dock .v042-nav-icon {
    font-size: 1.52rem;
    line-height: 1;
  }

  .v042-mobile-workflow-dock .v042-nav-text {
    display: none !important;
  }

  .v042-mobile-workflow-dock .v042-nav-btn.is-active {
    border-color: color-mix(in srgb, var(--accent, #8db5d6) 68%, rgba(255,255,255,.22));
    background: color-mix(in srgb, var(--accent, #8db5d6) 24%, rgba(255,255,255,.055));
  }

  .v042-map-page {
    min-height: calc(100dvh - var(--v042-topbar-height, 4.8rem) - var(--v042-mobile-section-tabs-height, 0px));
    padding-bottom: calc(var(--v042-mobile-map-stack-height) + 0.75rem);
  }

  .v042-map-page-stage {
    height: calc(100dvh - var(--v042-topbar-height, 4.8rem) - var(--v042-mobile-section-tabs-height, 0px) - var(--v042-mobile-map-stack-height) - 1.15rem);
    min-height: 14rem;
  }

  .v042-main.v042-map-main .v042-map-page {
    min-height: 100dvh;
    padding-bottom: 0;
  }

  .v042-main.v042-map-main .v042-map-page-stage {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 0;
  }

  .v042-map-page > .v042-field-bars {
    position: fixed;
    left: 0;
    right: 0;
    bottom: var(--v042-mobile-nav-height, 6.35rem);
    z-index: 69;
    max-height: min(32dvh, 14rem);
    overflow: auto;
    border-top: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(8,12,16,.86), rgba(5,8,11,.97));
    box-shadow: 0 -10px 26px rgba(0,0,0,.32);
    backdrop-filter: blur(14px);
  }

  .v042-utility-drawer {
    bottom: calc(var(--v042-mobile-nav-height, 6.35rem) + 0.6rem);
  }

  body.v042-field-active .v042-utility-drawer {
    bottom: calc(var(--v042-field-bars-height, 0px) + 0.8rem);
  }

  .v042-authenticated .v042-main {
    padding-bottom: calc(6.5rem + env(safe-area-inset-bottom));
  }

  .v042-authenticated .v042-main.v042-map-main,
  .v042-main.v042-map-main {
    min-height: 100dvh;
    padding: 0;
  }

  .v042-authenticated .v042-main:has(.v042-inspect-grid),
  .v042-authenticated .v042-main:has(.v042-command-grid),
  .v042-authenticated .v042-main:has(.v042-settings-shell),
  .v042-authenticated .v042-main:has(.v042-forum-board-layout),
  .v042-authenticated .v042-main:has(.v042-admin-data-shell),
  .v042-authenticated .v042-main:has(.v042-spectator-dashboard-grid),
  .v042-authenticated .v042-main:has(.v042-direct-comms-shell),
  .v042-authenticated .v042-main:has(.v042-public-diplomacy-shell) {
    height: var(--v042-mobile-shell-height) !important;
    min-height: 0;
    padding-bottom: 0;
    overflow: hidden;
  }

  .v042-auth-layout:has(.v042-admin-data-shell),
  .v042-surface:has(.v042-admin-data-shell) {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .v042-inspect-grid,
  .v042-command-grid,
  .v042-settings-shell,
  .v042-forum-board-layout,
  .v042-admin-data-shell,
  .v042-spectator-dashboard-grid,
  .v042-direct-comms-shell,
  .v042-public-diplomacy-shell {
    height: var(--v042-mobile-shell-height) !important;
    max-height: var(--v042-mobile-shell-height) !important;
  }

  .v042-admin-data-shell {
    --v042-mobile-card-width: calc(100vw - 2.4rem);
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: var(--v042-mobile-card-width);
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 0.58rem;
    align-items: stretch;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: 1.2rem;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1.2rem;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background:
      linear-gradient(90deg, rgba(216,180,95,.16), transparent 1.4rem),
      linear-gradient(270deg, rgba(216,180,95,.16), transparent 1.4rem);
  }

  .v042-admin-data-shell::-webkit-scrollbar {
    display: none;
  }

  .v042-admin-data-shell > .v042-panel {
    width: var(--v042-mobile-card-width);
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-height: none;
    scroll-snap-align: center;
    scroll-snap-stop: always;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }

  .v042-admin-data-shell > .v042-panel > .v042-panel-body {
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .v042-inspect-grid > .v042-panel > .v042-panel-body,
  .v042-command-grid > .v042-panel > .v042-panel-body,
  .v042-settings-shell > .v042-panel > .v042-panel-body,
  .v042-admin-data-shell > .v042-panel > .v042-panel-body,
  .v042-forum-topic-panel > .v042-panel-body,
  .v042-forum-thread-panel > .v042-panel-body,
  .v042-direct-comms-shell .v042-panel-body,
  .v042-public-diplomacy-shell .v042-panel-body {
    padding-bottom: calc(1.35rem + env(safe-area-inset-bottom));
    scroll-padding-bottom: calc(1.35rem + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  body.v042-field-active .v042-mobile-workflow-dock {
    display: none !important;
  }
}

/* Current mobile command topbar: equal title/date cells with attached scoreboard tab. */
@media (max-width: 900px) {
  .v042-console-topbar,
  body.v042-field-active .v042-console-topbar {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
    gap: 0.18rem 0.34rem;
    padding: 0.28rem 0.46rem 0.18rem;
    align-items: stretch;
  }

  .v042-console-topbar .v042-top-nav {
    grid-column: 1 / -1;
    margin: 0;
    padding-bottom: 0.08rem;
    gap: 0.2rem;
  }

  .v042-console-left,
  .v042-topbar-date-center {
    min-height: 2.45rem;
    height: 2.45rem;
    padding: 0.22rem 0.48rem;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.035);
  }

  .v042-console-left {
    grid-column: 1;
    padding-left: 0.48rem;
  }

  .v042-console-title {
    display: block;
    overflow: hidden;
    color: #fff;
    font-size: 1.02rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v042-mobile-title-line,
  .v042-console-subline,
  .v042-console-subtitle,
  .v042-console-right {
    display: none !important;
  }

  .v042-topbar-date-center {
    grid-column: 2;
    align-content: center;
    justify-items: center;
    overflow: hidden;
    font-size: 1.02rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v042-scoreboard-drawer.is-collapsed {
    grid-column: 1 / -1;
    margin-top: -0.01rem;
  }

  .v042-scoreboard-restore {
    min-height: 1.7rem;
    padding-block: 0.16rem;
    border-radius: 0 0 10px 10px;
  }
}

/* Mobile Admin Data must behave like the global swipe-card shell: one section per tab. */
@media (max-width: 900px) {
  body.v042-authenticated .v042-main:has(.v042-admin-data-shell),
  body.v042-authenticated .v042-auth-layout:has(.v042-admin-data-shell),
  body.v042-authenticated .v042-surface:has(.v042-admin-data-shell) {
    height: var(--v042-mobile-shell-height) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.v042-authenticated .v042-admin-data-shell {
    --v042-mobile-card-width: calc(100vw - 2.4rem);
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: var(--v042-mobile-card-width) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100vw !important;
    height: var(--v042-mobile-shell-height) !important;
    max-height: var(--v042-mobile-shell-height) !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 1.2rem !important;
    gap: 0.58rem !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 1.2rem !important;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  body.v042-authenticated .v042-admin-data-shell::-webkit-scrollbar {
    display: none !important;
  }

  body.v042-authenticated .v042-admin-data-shell > .v042-panel,
  body.v042-authenticated .v042-admin-data-shell > .v042-admin-adjudication-panel {
    grid-column: auto !important;
    width: var(--v042-mobile-card-width) !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }

  body.v042-authenticated .v042-admin-data-shell > .v042-panel > .v042-panel-body {
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
  }

  body.v042-authenticated .v042-admin-adjudication-panel,
  body.v042-authenticated .v042-admin-adjudication-panel > .v042-panel-body,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-stack,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-gm-progress,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-groups,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-group,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-faction-stat-grid,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-admin-action-grid,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-smoke-grid,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-gm-progress-list {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-filter-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-filter-row .v042-secondary,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-admin-action-grid .v042-secondary,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-admin-action-grid .v042-primary,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-admin-action-grid .v042-danger {
    min-width: 0;
    width: 100%;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row-head,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row-foot,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-gm-progress-head {
    min-width: 0;
    flex-wrap: wrap;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-pill {
    max-width: 7.2rem;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row-actions {
    justify-content: stretch;
  }

  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row-actions .v042-secondary,
  body.v042-authenticated .v042-admin-adjudication-panel .v042-adjudication-row-actions .v042-danger {
    flex: 1 1 calc(50% - 0.42rem);
    min-width: 0;
  }
}

.v042-directory-faction-portrait { width: 100%; max-height: 240px; object-fit: contain; border-radius: 8px; }
.v042-faction-media { min-width: 0; padding: .7rem; border: 1px solid var(--v042-line); border-radius: 8px; }
.v042-faction-media h4 { margin: 0 0 .55rem; }
.v042-faction-media-filters { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: .65rem; }
.v042-faction-media-filters input { flex: 1 1 10rem; min-width: 0; }
.v042-faction-media-filters select { flex: 0 1 10rem; min-width: 0; }
.v042-faction-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 8rem), 1fr)); gap: .55rem; }
.v042-media-thumbnail { display: grid; align-content: start; gap: .35rem; min-width: 0; padding: .35rem; border: 1px solid var(--v042-line); border-radius: 6px; background: rgba(255,255,255,.035); color: inherit; font: inherit; font-size: .75rem; text-align: left; cursor: zoom-in; }
.v042-media-thumbnail:hover, .v042-media-thumbnail:focus-visible { border-color: var(--accent, #8db5d6); background: rgba(255,255,255,.07); }
.v042-media-thumbnail span { overflow-wrap: anywhere; }
.v042-faction-media-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 5px; }

.v042-unit-name-form { gap: .5rem; }
.v042-unit-name-form label { display: grid; gap: .3rem; }
.v042-unit-name-form input, .v042-unit-name-form select { width: 100%; max-width: none; box-sizing: border-box; }
.v042-unit-name-form button { justify-self: start; }
/* A single dock owns the map tools and command navigation. */
.v042-bottom-tray {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 140;
  display: grid; grid-template-rows: auto 1fr; pointer-events: auto;
  max-height: 65dvh; padding-bottom: env(safe-area-inset-bottom, 0px);
  background: rgba(7, 11, 15, .97); border-top: 1px solid var(--v042-line);
  box-shadow: 0 -10px 28px rgba(0,0,0,.35);
  transition: grid-template-rows .38s cubic-bezier(.22, 1, .36, 1);
}
.v042-bottom-tray.is-collapsed { grid-template-rows: auto 0fr; }
.v042-bottom-tray .v042-bottom-tray-toggle {
  display: flex !important; justify-content: center; flex: 0 0 auto;
  width: 100%; min-height: 2.5rem; margin: 0;
}
.v042-bottom-tray-content {
  overflow: auto; min-height: 0;
  opacity: 1; transform: translateY(0);
  transition: opacity .24s ease, transform .38s cubic-bezier(.22, 1, .36, 1);
}
.v042-bottom-tray.is-collapsed .v042-bottom-tray-content {
  opacity: 0; transform: translateY(1rem); pointer-events: none;
}
body .v042-bottom-tray .v042-field-bars,
body .v042-bottom-tray .v042-bottom-bar.v042-command-bars {
  position: static !important; inset: auto !important;
  width: 100%; min-height: 0 !important; max-height: none !important;
  margin: 0; overflow: visible; box-shadow: none;
}
body .v042-bottom-tray .v042-field-bars { display: grid !important; }
body .v042-bottom-tray .v042-bottom-bar.v042-command-bars { display: grid !important; padding-bottom: .45rem; }

/* The console floats below the utility row, leaving the page layout in place. */
.v042-top-drawer {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 1;
  display: grid; gap: 0;
  padding: 0 .52rem .34rem;
  max-height: calc(100dvh - var(--v042-topbar-height, 4rem) - .5rem);
  overflow-y: auto;
  border-bottom: 1px solid var(--v042-line);
  background: rgba(7, 11, 15, .97);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .35);
}
body.v042-field-active .v042-topbar { z-index: 130; }
.v042-top-info-motion {
  display: grid; grid-template-rows: 1fr; min-width: 0;
  transition: grid-template-rows .38s cubic-bezier(.22, 1, .36, 1);
}
.v042-top-info-motion.is-collapsed { grid-template-rows: 0fr; pointer-events: none; }
.v042-top-info-content {
  display: grid;
  grid-template-columns: minmax(12rem, .72fr) minmax(22rem, 1.8fr) minmax(12rem, auto);
  gap: .45rem; min-width: 0; min-height: 0; overflow: hidden;
  opacity: 1; transform: translateY(0);
  transition: opacity .24s ease, transform .38s cubic-bezier(.22, 1, .36, 1);
}
.v042-top-info-motion.is-collapsed .v042-top-info-content {
  opacity: 0; transform: translateY(-1rem);
}
.v042-topbar .v042-top-info-toggle {
  display: flex; justify-content: center;
  width: 100%; min-height: 2.5rem; margin: 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.v042-topbar .v042-top-info-toggle:focus-visible { outline: 2px solid var(--accent, #d8b975); outline-offset: 2px; }
@media (max-width: 900px) {
  .v042-top-info-content { grid-template-columns: minmax(0, 1fr) minmax(0, .86fr); gap: .18rem .34rem; }
}
@media (prefers-reduced-motion: reduce) {
  .v042-top-info-motion, .v042-top-info-content,
  .v042-bottom-tray, .v042-bottom-tray-content { transition-duration: 0.01ms; }
}

/* Keep mobile cards within the shared viewport above the measured bottom tray. */
@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
  }

  .v042-direct-comms-shell:has(.v042-gm-chat-inspector) .v042-conversation-layout {
    flex: 1 1 auto;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  .v042-surface:has(.v042-forum-board-shell),
  .v042-auth-layout:has(.v042-forum-board-shell),
  .v042-forum-board-shell {
    height: 100% !important;
    min-height: 0;
  }

  .v042-forum-board-layout {
    height: auto !important;
    max-height: none !important;
    min-height: 0;
  }

  .v042-forum-topic-panel > .v042-panel-body,
  .v042-forum-thread-panel > .v042-panel-body {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }

  .v042-forum-topic-list,
  .v042-forum-thread {
    overflow: visible;
  }
}

/* Keep image alignment and opacity controls reachable at narrow widths. */
.v042-original-map-row .v042-field-button-group { flex-wrap: wrap; min-width: 0; max-width: 100%; }
.v042-original-map-row input[type="range"] { width: 110px; min-width: 0; }

/* Newspaper: one contents rail and a compact edition date in its masthead. */
.v042-paper-masthead {
  color: #29251d; background: #e5d8be; padding: .55rem .8rem .35rem;
  border-radius: .65rem .65rem 0 0; border-bottom: 3px double #6c6251;
}
.v042-paper-topline { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; }
.v042-paper-name {
  font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.35rem, 4vw, 2.5rem);
  font-weight: 900; line-height: 1.1; min-width: 0;
}
.v042-paper-actions { display: flex; align-items: center; justify-content: flex-end; gap: .2rem; flex: 0 0 auto; }
.v042-paper-icon { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; padding: .35rem; color: #29251d; background: transparent; border: 1px solid transparent; text-decoration: none; cursor: pointer; }
.v042-paper-icon:hover, .v042-paper-icon:focus-visible { border-color: #84765d; background: #f4ead5; }
.v042-paper-icon svg { display: block; width: 1.35rem; height: 1.35rem; }
.v042-paper-icon.v042-paper-publish { color: #fff8e8; background: #604727; border-color: #604727; margin-left: .2rem; }
.v042-paper-edition-line {
  position: relative; display: flex; align-items: center; justify-content: space-between;
  gap: .5rem; min-height: 1.8rem; margin-top: .3rem; border-top: 1px solid #84765d;
  font: 600 .72rem/1.2 Georgia, 'Times New Roman', serif; letter-spacing: .04em; cursor: pointer;
}
.v042-paper-date, .v042-paper-edition-display { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v042-paper-edition-display { text-align: right; }
.v042-paper-edition-line select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.v042-paper-edition-line:focus-within { outline: 2px solid #604727; outline-offset: 2px; }
.v042-press-page { gap: 0; }
.v042-press-page .v042-newspaper { padding-top: .65rem; border-radius: 0 0 .65rem .65rem; }
.v042-press-page .v042-newspaper::before,
.v042-press-page .v042-newspaper::after { display: none; }
.v042-press-page .v042-newspaper-toc {
  position: static; display: flex; flex-wrap: nowrap; align-items: center;
  gap: .4rem; overflow-x: auto; max-width: 100%; padding: .45rem 0;
  margin: 0; box-shadow: none; border-radius: 0; border-bottom: 2px solid #84765d;
}
.v042-press-page .v042-newspaper-toc > * { flex: 0 0 auto; white-space: nowrap; }
.v042-press-page .v042-newspaper-toc button { min-height: 2.5rem; font-size: .85rem; }
.v042-press-page .v042-newspaper-section { scroll-margin-top: calc(var(--v042-topbar-height, 4rem) + 1rem); }
@media (max-width: 600px) {
  .v042-paper-masthead { padding: .4rem .55rem .2rem; }
  .v042-paper-topline { align-items: flex-start; flex-wrap: wrap; gap: .1rem; }
  .v042-paper-name { flex: 1 1 100%; text-align: center; font-size: 1.65rem; }
  .v042-paper-actions { flex: 1 1 100%; justify-content: center; gap: .5rem; }
  .v042-paper-icon { width: 2rem; height: 2rem; }
  .v042-paper-edition-line { font-size: .68rem; }
  .v042-press-page .v042-newspaper { padding: .65rem; }
}
/* Mobile News shares the swipe tabs while desktop keeps its broadsheet. */
.v042-mobile-ledger { display: none; }
@media (max-width: 900px) {
  .v042-main:has(.v042-press-page), .v042-surface:has(.v042-press-page), .v042-auth-layout:has(.v042-press-page) { min-height: 0; overflow: hidden; }
  .v042-press-page, .v042-press-page.v047-spectator-native-press {
    display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr);
    height: var(--v042-mobile-shell-height); min-height: 0; overflow: hidden;
  }
  .v042-press-page .v047-spectator-native-ledger { display: none; }
  .v042-press-page .v047-spectator-native-paper { display: contents; }
  .v042-press-page .v042-newspaper {
    position: relative; display: grid; grid-template-columns: none;
    grid-template-rows: minmax(0, 1fr); grid-auto-flow: column; grid-auto-columns: 100%;
    gap: 0; width: 100%; height: 100%; min-height: 0; padding: 0; margin: 0;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
    scroll-padding-inline: 0; overscroll-behavior-x: contain; scrollbar-width: none;
  }
  .v042-press-page .v042-newspaper-toc { display: none; }
  .v042-press-page .v042-newspaper-zone, .v042-press-page .v042-mobile-ledger { display: contents; }
  .v042-press-page .v042-newspaper .v042-newspaper-section {
    grid-column: auto; grid-row: 1; width: 100%; height: 100%; min-height: 0;
    box-sizing: border-box; padding: .75rem; overflow-x: hidden; overflow-y: auto;
    align-content: start;
    scroll-snap-align: start; scroll-snap-stop: always; overscroll-behavior-y: contain;
  }
  .v042-mobile-section-tabs.is-newspaper { background: #e5d8be; border-color: #84765d; }
  .is-newspaper .v042-mobile-section-tabs-track { overflow-x: auto; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(5.5rem, 1fr); }
  .is-newspaper .v042-mobile-section-tabs-indicator { display: none; }
  .is-newspaper .v042-mobile-section-tab { color: #29251d; min-height: 2.75rem; font-family: Georgia, 'Times New Roman', serif; }
  .is-newspaper .v042-mobile-section-tab.is-active { background: #cbbb9b; box-shadow: inset 0 -3px #6c6251; }
}
@media (max-width: 900px) {
  .v042-press-page .v042-newspaper .v042-newspaper-section {
    grid-column: auto !important; grid-row: 1 !important;
    width: 100% !important; height: 100% !important; min-height: 0 !important;
    overflow-x: hidden !important; overflow-y: auto !important;
    scroll-snap-align: start !important;
  }
}
/* Story dialogs escape the main stacking context and keep dismissal reachable. */
.v042-story-backdrop { z-index: 10000; padding: max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); }
.v042-story-backdrop .v042-message-modal { box-sizing: border-box; max-height: calc(100dvh - 2rem); overscroll-behavior: contain; }
.v042-story-backdrop .v042-message-modal > .v042-panel-header { position: sticky; top: 0; z-index: 2; align-items: flex-start; background: #0e161c; }
.v042-story-backdrop .v042-panel-header > div { min-width: 0; overflow-wrap: anywhere; }
.v042-story-backdrop .v042-panel-header > button { flex: 0 0 auto; min-width: 4rem; min-height: 44px; }

/* GM direct message inspector */
.v042-direct-comms-shell:has(.v042-gm-chat-inspector) {
  display: flex;
  flex-direction: column;
}

.v042-gm-chat-inspector {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding: .55rem .8rem;
  border-bottom: 1px solid var(--v042-line);
}

.v042-gm-chat-inspector label {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-weight: 700;
}

.v042-gm-chat-inspector select {
  min-width: 13rem;
  padding: .35rem .5rem;
  color: inherit;
  background: #1c252b;
  border: 1px solid var(--v042-line);
  border-radius: .3rem;
}

.v042-direct-comms-shell:has(.v042-gm-chat-inspector) .v042-conversation-layout {
  flex: 1;
  height: auto;
}

.v042-last-turn-panel { grid-column: 1 / -1; }
.v042-command-archive-panel { grid-column: 1 / -1; min-width: 0; }
.v042-command-archive-panel > .v042-panel-body { padding: 0; }

.v042-official-turn-record ul {
  display: grid;
  gap: .38rem;
  margin: .7rem 0;
  padding: 0;
  list-style: none;
}
.v042-official-turn-record li {
  display: grid;
  grid-template-columns: 4.7rem minmax(0, 1fr);
  gap: .55rem;
  align-items: baseline;
  padding: .42rem .55rem;
  border-left: 3px solid rgba(190, 174, 133, .55);
  background: rgba(255, 255, 255, .035);
  line-height: 1.35;
}
.v042-official-turn-record li.is-success { border-left-color: #70b98a; }
.v042-official-turn-record li.is-failure { border-left-color: #b96d6d; }
.v042-official-turn-record li strong {
  font-size: .72rem;
  letter-spacing: .08em;
}
.v042-newspaper-archive-section > .v042-archive-page { margin-top: .75rem; }

@media (max-width: 620px) {
  .v042-official-turn-record li { grid-template-columns: 1fr; gap: .12rem; }
}
@media (max-width: 900px) {
  .v042-command-grid > .v042-last-turn-panel { grid-column: auto; }
  .v042-command-grid > .v042-command-archive-panel { grid-column: auto; }
}
.v042-last-turn-list { display: grid; gap: .5rem; max-height: 26rem; overflow: auto; }
.v042-last-turn-row { display: flex; align-items: center; gap: .75rem; width: 100%; padding: .7rem .85rem; border: 1px solid rgba(128,128,128,.35); border-left: .35rem solid #aeb5bd; border-radius: .5rem; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.v042-last-turn-row.is-success { border-left-color: #279b62; }
.v042-last-turn-row.is-failure { border-left-color: #d65a50; }
.v042-last-turn-row.is-neutral { border-left-color: #ca9b39; }
.v042-last-turn-row:hover:not(:disabled) { background: rgba(128,128,128,.12); }
.v042-last-turn-row:disabled { cursor: default; }
.v042-last-turn-status { min-width: 5.5rem; text-transform: capitalize; font-weight: 700; }
.v042-last-turn-copy { display: grid; gap: .2rem; flex: 1; min-width: 0; }
.v042-last-turn-copy small { opacity: .8; }
.v042-turn-history { min-width: 0; width: 100%; padding: 12px; box-sizing: border-box; overflow-wrap: anywhere; }
.v042-turn-history h2 { font-size: 1.4rem; margin: 0 0 12px; }
.v042-history-picker { display: grid; grid-template-columns: 40px minmax(0,1fr) 40px; gap: 6px; }
.v042-turn-history select, .v042-turn-history input { min-width: 0; width: 100%; box-sizing: border-box; }
.v042-history-context { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0; }
.v042-history-order { display: grid; gap: 4px; padding: 10px 0; border-top: 1px solid #55616a; min-width: 0; }
.v042-history-order p { margin: 0; }
.v042-history-order button { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.v042-history-result { color: #b7d6b9; text-transform: capitalize; }
.v042-field-bars select[aria-label="Map turn"] { min-width: 0; max-width: 100%; flex: 1 1 180px; }
.v042-timeline-controls { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 4px; width: 100%; min-width: 0; }
.v042-timeline-controls select { min-width: 0; width: 100%; }
.v042-timeline-controls button, .v042-timeline-controls select { min-height: 32px; padding: 4px 6px; font-size: 13px; }
.v042-timeline-controls small { grid-column: 1 / -1; font-size: 11px; }
.v042-turn-history button { color: #e6edef; background: #283337; border: 1px solid #718186; border-radius: 4px; font: inherit; padding: 6px 8px; cursor: pointer; }
.v042-turn-history button:disabled { opacity: .5; cursor: default; }
.v042-turn-history select, .v042-turn-history input, .v042-timeline-controls select { color: #e6edef; background: #101719; border: 1px solid #65777c; border-radius: 4px; font: inherit; padding: 6px; min-height: 36px; }
.v042-timeline-controls select { font-size: 13px; }

/* Compact page context below the mobile utility row. */
.v042-console-status { display: none; }
@media (max-width: 900px) {
  .v042-console-topbar:not(.v047-spectator-topbar) .v042-console-left,
  .v042-console-topbar:not(.v047-spectator-topbar) .v042-topbar-date-center,
  .v042-console-topbar:not(.v047-spectator-topbar) .v042-console-inspector,
  .v042-console-topbar:not(.v047-spectator-topbar) .v042-console-right {
    display: none !important;
  }

  .v042-console-topbar .v042-console-status {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    min-width: 0;
    min-height: 2.35rem;
    padding: .26rem .62rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 7px;
    background: rgba(255,255,255,.035);
  }

  .v042-console-status-page { display: grid; gap: .08rem; min-width: 0; }
  .v042-console-status-page strong,
  .v042-console-status-page span,
  .v042-console-status-deadline strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .v042-console-status-page strong { color: #fff; font-size: .82rem; line-height: 1.08; }
  .v042-console-status-page span { color: rgba(255,246,224,.72); font-size: .68rem; line-height: 1.08; }
  .v042-console-status-deadline {
    display: grid;
    flex: 0 1 auto;
    gap: .08rem;
    min-width: 4.3rem;
    max-width: 45%;
    text-align: right;
    font-variant-numeric: tabular-nums;
  }
  .v042-console-status-deadline span { color: rgba(255,246,224,.64); font-size: .59rem; line-height: 1.08; text-transform: uppercase; letter-spacing: .04em; }
.v042-console-status-deadline strong { color: #f1d492; font-size: .78rem; line-height: 1.08; }
}

/* A folded console leaves only the utility row, including its restore control. */
.v042-console-topbar.is-console-collapsed,
body.v042-field-active .v042-console-topbar.is-console-collapsed { grid-template-columns: minmax(0, 1fr); }
.v042-top-nav .v042-console-collapse-btn { min-width: 2.35rem; }
.v042-console-topbar.is-console-collapsed .v042-top-nav { grid-column: 1 / -1; }
.v042-console-inspector:focus-visible { outline: 2px solid #f1d492; outline-offset: 2px; }
.v042-unit-directory-detail { display: grid; gap: .65rem; padding: .7rem; border: 1px solid rgba(241,212,146,.28); border-radius: .55rem; background: rgba(241,212,146,.055); }
.v042-unit-directory-order { display: flex; align-items: flex-start; gap: .5rem; color: #f7ecd3; }
.v042-unit-directory-order > div { display: grid; gap: .18rem; min-width: 0; }
.v042-unit-directory-order span { overflow-wrap: anywhere; }

@media (max-width: 900px) {
  .v042-console-topbar:not(.v047-spectator-topbar) .v042-console-inspector,
  body.v042-field-active .v042-console-topbar:not(.v047-spectator-topbar) .v042-console-inspector {
    display: grid !important;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
    min-height: 2.6rem;
    padding: .32rem .45rem;
    gap: 0;
  }
  .v042-console-topbar .v042-console-inspector-main { min-width: 0; gap: .2rem; }
  .v042-console-topbar .v042-console-inspector-head { justify-content: flex-start; min-width: 0; text-align: left; }
  .v042-console-topbar .v042-console-inspector-head strong { min-width: 0; font: 800 .78rem/1.1 system-ui, sans-serif; }
  .v042-console-topbar .v042-console-label { flex: 0 0 auto; font-size: .58rem; }
  .v042-console-topbar .v042-console-data-row { justify-content: flex-start; flex-wrap: wrap; max-height: none; overflow: visible; gap: .18rem; }
  .v042-console-topbar .v042-console-data-row span { max-width: min(100%, 12rem); font-size: .58rem; line-height: 1.12; }
  .v042-topbar .v042-top-info-toggle { min-height: 2.5rem; padding: .35rem .55rem; font-size: .66rem; }
}

/* Public Council: conversation by default, with the original gallery available. */
.v042-council-conversation { flex: 1; min-height: 0; overflow-y: auto; padding: .8rem clamp(.65rem, 3vw, 1.5rem); background: #101a20; }
.v042-council-chat-message { position: relative; isolation: isolate; display: grid; grid-template-columns: clamp(4.5rem, 15vw, 8rem) minmax(0, 1fr); align-items: stretch; gap: .7rem; max-width: 52rem; margin: 0 auto .8rem; padding: .7rem; overflow: hidden; border: 1px solid rgba(229,212,170,.26); border-radius: .9rem; background: #18262c; color: #fff6df; }
.v042-council-chat-message::before { content: ''; position: absolute; inset: -1rem; z-index: -2; background: var(--council-portrait) center 35% / cover no-repeat; filter: blur(12px) saturate(.8); opacity: .47; }
.v042-council-chat-message::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,13,18,.38), rgba(7,13,18,.72)); }
.v042-council-chat-avatar { width: 100%; height: clamp(6rem, 17vw, 10rem); border: 1px solid rgba(255,255,255,.28); border-radius: .65rem; object-fit: cover; object-position: center 25%; background: #32434b; box-shadow: 0 8px 25px rgba(0,0,0,.45); }
.v042-council-chat-content { min-width: 0; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.13); border-radius: .65rem; background: rgba(9,16,21,.62); backdrop-filter: blur(14px) saturate(1.1); -webkit-backdrop-filter: blur(14px) saturate(1.1); }
.v042-council-chat-header { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; }
.v042-council-chat-header strong { color: color-mix(in srgb, var(--council-accent, #e4c888) 65%, white); font-family: var(--council-voice-font, Georgia, serif); }
.v042-council-chat-header time { color: #b9c4c3; font-size: .72rem; }
.v042-council-chat-parent { margin-top: .25rem; padding: .25rem .5rem; border-left: 2px solid #c6a66a; color: #c4d1cf; font-size: .78rem; overflow-wrap: anywhere; }
.v042-council-chat-body { margin: .45rem 0; font-family: var(--council-voice-font, Georgia, serif); font-style: var(--council-voice-style, normal); font-variant: var(--council-voice-variant, normal); letter-spacing: var(--council-voice-tracking, normal); font-size: clamp(1rem, 1.6vw, 1.17rem); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.48; }
.v042-council-chat-content > button { padding: .12rem 0; border: 0; background: transparent; color: #e4c888; cursor: pointer; }
.v042-council-experience {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: min(78dvh, 54rem);
  min-height: 28rem;
  overflow: hidden;
  border: 1px solid rgba(229, 212, 170, .28);
  border-radius: 14px;
  background: #080d11;
  box-shadow: 0 20px 55px rgba(0,0,0,.35);
}
.v042-council-toolbar,
.v042-council-footer {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .55rem .85rem;
  background: rgba(7, 12, 17, .94);
}
.v042-council-toolbar { border-bottom: 1px solid rgba(255,255,255,.12); }
.v042-council-footer { min-height: 2.7rem; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,246,224,.65); font-size: .72rem; }
.v042-council-toolbar-title { min-width: 0; }
.v042-council-toolbar-title span { display: block; color: #c6a66a; font-size: .63rem; letter-spacing: .12em; text-transform: uppercase; }
.v042-council-toolbar-title h1 { margin: .08rem 0 0; color: #fff6df; font: 700 clamp(1.1rem, 2vw, 1.55rem)/1.1 Georgia, serif; }
.v042-council-toolbar-actions,
.v042-council-step-controls { display: flex; align-items: center; gap: .45rem; }
.v042-council-position { color: rgba(255,246,224,.75); font-size: .73rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v042-council-toolbar button,
.v042-council-toolbar summary,
.v042-council-footer button,
.v042-council-meta button {
  border: 1px solid rgba(234,212,166,.32);
  border-radius: 7px;
  padding: .42rem .64rem;
  color: #fff6df;
  background: rgba(255,255,255,.07);
  cursor: pointer;
  font: 700 .72rem/1.1 system-ui, sans-serif;
  white-space: nowrap;
}
.v042-council-toolbar button:hover,
.v042-council-toolbar summary:hover,
.v042-council-footer button:hover,
.v042-council-meta button:hover { background: rgba(234,212,166,.16); }
.v042-council-toolbar button:disabled,
.v042-council-footer button:disabled { opacity: .4; cursor: default; }
.v042-council-browser { position: relative; }
.v042-council-browser summary { list-style: none; }
.v042-council-browser summary::-webkit-details-marker { display: none; }
.v042-council-browser-list {
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  z-index: 20;
  width: min(25rem, calc(100vw - 2.5rem));
  max-height: min(60dvh, 28rem);
  overflow: auto;
  padding: .3rem;
  border: 1px solid rgba(234,212,166,.35);
  border-radius: 9px;
  background: rgba(11,17,23,.98);
  box-shadow: 0 15px 35px rgba(0,0,0,.55);
}
.v042-council-browser-list button {
  display: grid;
  gap: .2rem;
  width: 100%;
  margin: .12rem 0;
  text-align: left;
  white-space: normal;
}
.v042-council-browser-list button.is-active { border-color: #d8b975; background: rgba(216,185,117,.2); }
.v042-council-browser-list button span { overflow: hidden; color: rgba(255,246,224,.68); text-overflow: ellipsis; white-space: nowrap; font-weight: 400; }
.v042-council-browser-empty { display: block; padding: .7rem; color: rgba(255,246,224,.7); }
.v042-council-compose-panel { z-index: 4; padding: .7rem .9rem; border-bottom: 1px solid rgba(255,255,255,.16); background: #121b21; }
.v042-council-composer-form { display: grid; gap: .5rem; }
.v042-council-composer-form textarea { width: 100%; min-height: 5rem; box-sizing: border-box; resize: vertical; }
.v042-council-composer-form > button { justify-self: end; }
.v042-council-viewport {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(219,192,138,.45) transparent;
}
.v042-council-scene {
  position: relative;
  display: grid;
  place-items: center;
  isolation: isolate;
  min-height: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--council-accent) 23%, #0a1015), #080d11 70%);
}
.v042-council-scene::before,
.v042-council-scene::after { content: ''; position: absolute; inset: 0; pointer-events: none; }
.v042-council-scene::before {
  z-index: -2;
  background-image: var(--council-portrait);
  background-position: center 42%;
  background-size: cover;
  filter: blur(3px) saturate(.9);
  opacity: var(--council-focus, 1);
  transform: scale(1.04);
  transition: opacity .28s ease;
}
.v042-council-scene::after {
  z-index: -1;
  background: linear-gradient(180deg, rgba(5,9,13,.62), rgba(5,9,13,.32) 40%, rgba(5,9,13,.78)), radial-gradient(circle, transparent 10%, rgba(3,6,10,.55) 90%);
}
.v042-council-glass {
  display: grid;
  justify-items: center;
  gap: clamp(.8rem, 3vh, 1.7rem);
  width: min(82%, 55rem);
  max-height: calc(100% - 5rem);
  box-sizing: border-box;
  padding: clamp(1.1rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 18px;
  background: rgba(7,12,17,.48);
  backdrop-filter: blur(20px) saturate(1.1);
  box-shadow: 0 18px 50px rgba(0,0,0,.4), inset 0 1px rgba(255,255,255,.1);
  text-align: center;
  opacity: var(--council-focus, 1);
  transition: opacity .25s ease;
}
.v042-council-speaker {
  color: color-mix(in srgb, var(--council-accent) 67%, white);
  font: 900 clamp(1.65rem, 4.5vw, 3.7rem)/1.02 Georgia, serif;
  letter-spacing: .035em;
  -webkit-text-stroke: .65px rgba(255,255,255,.45);
  text-shadow: 0 2px 0 rgba(0,0,0,.95), 0 5px 18px rgba(0,0,0,.85), 0 0 30px var(--council-accent);
  text-wrap: balance;
}
.v042-council-message-text {
  max-height: min(48dvh, 25rem);
  overflow: auto;
  color: #fff9ed;
  font: clamp(1.08rem, 2vw, 1.55rem)/1.55 Georgia, serif;
  text-shadow: 0 2px 6px rgba(0,0,0,.95);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  scrollbar-width: thin;
  font-family: var(--council-voice-font, Georgia, serif);
  font-style: var(--council-voice-style, normal);
  font-variant: var(--council-voice-variant, normal);
  letter-spacing: var(--council-voice-tracking, normal);
}
.v042-council-meta {
  position: absolute;
  left: 50%;
  bottom: .65rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .35rem .75rem;
  width: max-content;
  max-width: calc(100% - 3.5rem);
  padding: .22rem .58rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: rgba(255,246,224,.62);
  background: rgba(4,8,12,.68);
  backdrop-filter: blur(10px);
  font: .68rem/1.2 system-ui, sans-serif;
  transform: translateX(-50%);
}
.v042-council-meta button { padding: .24rem .5rem; font-size: .68rem; }
.v042-council-scene-count { position: absolute; right: 1rem; top: .75rem; color: rgba(255,255,255,.4); font: 700 .7rem system-ui, sans-serif; letter-spacing: .15em; }
.v042-council-empty { display: grid; flex: 1; place-items: center; color: #fff6df; text-align: center; }
.v042-council-scene[data-faction="merchant_princes"] .v042-council-speaker { font-family: Copperplate, "Palatino Linotype", Georgia, serif; letter-spacing: .09em; }
.v042-council-scene[data-faction="flaming_fist"] .v042-council-speaker { font-family: Impact, "Arial Black", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.v042-council-scene[data-faction="emerald_enclave"] .v042-council-speaker { font-family: "Palatino Linotype", Book Antiqua, Georgia, serif; font-style: italic; }
.v042-council-scene[data-faction="zhentarim"] .v042-council-speaker { font-family: "Arial Black", Impact, sans-serif; color: #f5f1e8; letter-spacing: .13em; text-transform: uppercase; }
.v042-council-scene[data-faction="grimskull_goblins"] .v042-council-speaker { font-family: "Trebuchet MS", sans-serif; letter-spacing: -.035em; transform: rotate(-2deg); }
.v042-council-scene[data-faction="red_wizards_of_thay"] .v042-council-speaker { font-family: Garamond, "Times New Roman", serif; font-variant: small-caps; letter-spacing: .08em; }
.v042-council-scene[data-faction="jahaka_pirates"] .v042-council-speaker { font-family: "Bookman Old Style", Georgia, serif; font-style: italic; letter-spacing: .04em; }
.v042-council-scene[data-faction="shilku"] .v042-council-speaker { font-family: Cambria, Georgia, serif; font-variant: small-caps; letter-spacing: .1em; }
.v042-council-scene[data-faction="clan_of_omgar"] .v042-council-speaker { font-family: "Franklin Gothic Medium", "Trebuchet MS", sans-serif; letter-spacing: .075em; }
.v042-council-scene[data-faction="samarach"] .v042-council-speaker { font-family: "Segoe Script", "Palatino Linotype", cursive; font-style: italic; }
.v042-council-scene[data-faction="fane_of_the_night_serpent"] .v042-council-speaker { font-family: Papyrus, Herculanum, Copperplate, serif; letter-spacing: .06em; }
/* The speaker's whole Council message uses their voice font; linked #Faction names keep their own font below. */
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="merchant_princes"] { --council-voice-font: Copperplate, "Palatino Linotype", Georgia, serif; --council-voice-tracking: .035em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="flaming_fist"] { --council-voice-font: Impact, "Arial Black", sans-serif; --council-voice-tracking: .02em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="emerald_enclave"] { --council-voice-font: "Palatino Linotype", "Book Antiqua", Georgia, serif; --council-voice-style: italic; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="zhentarim"] { --council-voice-font: "Arial Black", Impact, sans-serif; --council-voice-tracking: .025em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="grimskull_goblins"] { --council-voice-font: "Trebuchet MS", sans-serif; --council-voice-tracking: -.015em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="red_wizards_of_thay"] { --council-voice-font: Garamond, "Times New Roman", serif; --council-voice-variant: small-caps; --council-voice-tracking: .025em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="jahaka_pirates"] { --council-voice-font: "Bookman Old Style", Georgia, serif; --council-voice-style: italic; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="shilku"] { --council-voice-font: Cambria, Georgia, serif; --council-voice-variant: small-caps; --council-voice-tracking: .025em; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="clan_of_omgar"] { --council-voice-font: "Franklin Gothic Medium", "Trebuchet MS", sans-serif; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="samarach"] { --council-voice-font: "Segoe Script", "Palatino Linotype", cursive; --council-voice-style: italic; }
:is(.v042-council-chat-message, .v042-council-scene, .v042-council-full-message)[data-faction="fane_of_the_night_serpent"] { --council-voice-font: Papyrus, Herculanum, Copperplate, serif; --council-voice-tracking: .025em; }
/* A linked #Faction in Council keeps its own visual voice, regardless of the speaker. */
.v042-council-experience .v044-bound-entity.type-faction[data-faction="merchant_princes"] { font-family: Copperplate, "Palatino Linotype", Georgia, serif; letter-spacing: .09em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="flaming_fist"] { font-family: Impact, "Arial Black", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="emerald_enclave"] { font-family: "Palatino Linotype", Book Antiqua, Georgia, serif; font-style: italic; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="zhentarim"] { font-family: "Arial Black", Impact, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="grimskull_goblins"] { font-family: "Trebuchet MS", sans-serif; letter-spacing: -.035em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="red_wizards_of_thay"] { font-family: Garamond, "Times New Roman", serif; font-variant: small-caps; letter-spacing: .08em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="jahaka_pirates"] { font-family: "Bookman Old Style", Georgia, serif; font-style: italic; letter-spacing: .04em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="shilku"] { font-family: Cambria, Georgia, serif; font-variant: small-caps; letter-spacing: .1em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="clan_of_omgar"] { font-family: "Franklin Gothic Medium", "Trebuchet MS", sans-serif; letter-spacing: .075em; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="samarach"] { font-family: "Segoe Script", "Palatino Linotype", cursive; font-style: italic; }
.v042-council-experience .v044-bound-entity.type-faction[data-faction="fane_of_the_night_serpent"] { font-family: Papyrus, Herculanum, Copperplate, serif; letter-spacing: .06em; }
@media (max-width: 900px) {
  .v042-council-experience { height: var(--v042-mobile-shell-height, calc(100dvh - 11rem)); min-height: 17rem; border-radius: 8px; }
  .v042-council-toolbar { padding: .45rem .55rem; }
  .v042-council-toolbar-title span { display: none; }
  .v042-council-toolbar-title h1 { font-size: 1rem; }
  .v042-council-toolbar-actions { gap: .25rem; }
  .v042-council-toolbar button,
  .v042-council-toolbar summary { padding: .36rem .42rem; font-size: .66rem; }
  .v042-council-position { font-size: .65rem; }
  .v042-council-glass { width: calc(100% - 1.1rem); max-height: calc(100% - 1.2rem); padding: 1rem .8rem; gap: .8rem; }
  .v042-council-speaker { font-size: clamp(1.55rem, 7vw, 2.6rem); }
  .v042-council-message-text { max-height: 45dvh; font-size: clamp(1rem, 4.3vw, 1.3rem); }
  .v042-council-footer { padding: .32rem .5rem; }
  .v042-council-footer > span { display: none; }
  .v042-council-step-controls { margin-right: auto; }
}
@media (max-width: 430px) {
  .v042-council-toolbar { flex-wrap: wrap; }
  .v042-council-toolbar-actions { flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
  .v042-council-meta { max-width: calc(100% - 1rem); font-size: .6rem; gap: .2rem .45rem; }
}
@media (prefers-reduced-motion: reduce) {
  .v042-council-viewport { scroll-behavior: auto; }
  .v042-council-scene::before { opacity: .55 !important; transition: none; }
  .v042-council-glass { opacity: 1 !important; transition: none; }
}

/* Council screen: stationary voices crossfade over black as the scroll track snaps. */
body:has(.v042-council-experience) { background: #000 !important; }
.v042-main:has(.v042-council-experience),
.v042-auth-layout:has(.v042-council-experience),
.v042-surface:has(.v042-council-experience) { background: #000; }
.v042-council-experience {
  border: 0;
  border-radius: 0;
  background: #000;
  box-shadow: none;
}
.v042-council-toolbar,
.v042-council-footer {
  border: 0;
  background: #000;
}
.v042-council-toolbar { z-index: 10; }
.v042-council-browser { position: static; }
.v042-council-browser-list {
  top: 100%;
  right: 0;
  left: 0;
  width: auto;
  max-height: min(55dvh, 28rem);
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: #000;
  box-shadow: 0 16px 30px rgba(0,0,0,.9);
}
.v042-council-browser-list button,
.v042-council-browser-list button.is-active,
.v042-council-toolbar button,
.v042-council-toolbar summary,
.v042-council-footer button {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.v042-council-browser-list button { padding: .65rem .75rem; }
.v042-council-browser-list button.is-active { color: #f4d6a0; background: rgba(255,255,255,.07); }
.v042-council-toolbar button:hover,
.v042-council-toolbar summary:hover,
.v042-council-footer button:hover { background: transparent; color: #f4d6a0; }
.v042-council-compose-panel { border: 0; background: #000; }
.v042-council-stage { position: relative; flex: 1 1 auto; min-height: 0; background: #000; touch-action: pan-y; }
.v042-council-viewport { position: absolute; inset: 0; z-index: 1; scrollbar-width: none; touch-action: pan-y; }
.v042-council-viewport::-webkit-scrollbar { display: none; }
.v042-council-scroll-step { height: 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.v042-council-layers { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.v042-council-scene {
  position: absolute;
  inset: 0;
  min-height: 0;
  height: auto;
  opacity: 0;
  background: transparent;
  pointer-events: none;
}
.v042-council-scene:first-child { opacity: 1; }
.v042-council-scene::before,
.v042-council-scene::after { display: block; }
.v042-council-scene::before { background-position: 68% 30%; filter: blur(1.5px) brightness(1.17) saturate(1.05); opacity: 1; }
.v042-council-scene::after { background: linear-gradient(90deg, rgba(3,7,11,.68), rgba(3,7,11,.32) 55%, rgba(3,7,11,.1)), linear-gradient(0deg, rgba(3,7,11,.7), transparent 35%); }
.v042-council-glass {
  justify-self: start;
  width: min(58%, 42rem);
  max-height: calc(100% - 3rem);
  margin-left: clamp(1rem, 4vw, 3.5rem);
  padding: clamp(1rem, 3vw, 2.2rem);
  border: 1px solid rgba(255,255,255,.29);
  border-radius: 1.1rem;
  background: rgba(5,10,15,.61);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  box-shadow: 0 20px 55px rgba(0,0,0,.48), inset 0 1px rgba(255,255,255,.12);
  overflow: hidden;
  opacity: 1;
  transition: none;
}
.v042-council-scene[aria-hidden="false"] .v042-council-glass { pointer-events: auto; }
.v042-council-message-text {
  max-height: min(47dvh, 23rem);
  overflow: auto;
  overscroll-behavior: contain;
}
.v042-council-scene-count { display: none; }
.v042-council-footer { flex-wrap: wrap; justify-content: center; gap: .32rem; padding: .48rem .8rem; }
.v042-council-meta {
  position: static;
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  transform: none;
}
.v042-council-footer-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .3rem .75rem; }
.v042-council-swipe-hint { display: none; color: #c8b89c; font: .7rem/1.2 system-ui, sans-serif; }
.v042-council-footer button { min-height: 2rem; padding: .25rem .15rem; color: #e7d9bf; }
.v042-council-full-message {
  position: absolute;
  inset: 0;
  z-index: 6;
  overflow: auto;
  padding: clamp(1rem, 5vw, 2rem) 15%;
  box-sizing: border-box;
  color: #fff9ed;
  background: rgba(4,8,12,.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  text-align: center;
  pointer-events: auto;
}
.v042-council-full-message button { display: block; margin: 0 auto 1.5rem; border: 0; color: #dfc394; background: transparent; font: 700 .8rem system-ui, sans-serif; cursor: pointer; }
.v042-council-full-message h2 { margin: 0 0 1.2rem; color: #fff; font: 700 clamp(1.5rem, 4vw, 2.8rem) Georgia, serif; }
.v042-council-full-message p { margin: 0; font: clamp(1rem, 2vw, 1.4rem)/1.6 var(--council-voice-font, Georgia, serif); font-style: var(--council-voice-style, normal); font-variant: var(--council-voice-variant, normal); letter-spacing: var(--council-voice-tracking, normal); white-space: pre-wrap; overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .v042-council-experience { border-radius: 0; }
  .v042-council-scene::before { background-position: center 18%; }
  .v042-council-scene::after { background: linear-gradient(0deg, rgba(3,7,11,.9), rgba(3,7,11,.16) 78%); }
  .v042-council-glass { display: flex; flex-direction: column; justify-content: center; gap: .45rem; justify-self: center; align-self: end; width: calc(100% - 1.1rem); height: calc(100% - 4.25rem); max-height: none; box-sizing: border-box; margin: 0 auto .45rem; padding: .65rem .75rem; }
  .v042-council-speaker { flex: 0 0 auto; font-size: clamp(1.35rem, 6vw, 2.35rem); }
  .v042-council-message-text { flex: 1 1 auto; min-height: 0; max-height: none; font-size: clamp(.9rem, 3.8vw, 1.15rem); line-height: 1.38; }
  .v042-council-footer > .v042-council-meta { display: flex; }
  .v042-council-footer-actions { gap: .2rem .6rem; }
  .v042-council-full-message { padding-inline: 12%; }
}
@media (max-width: 430px) {
  .v042-council-chat-message { gap: .45rem; padding: .45rem; }
  .v042-council-chat-avatar { height: 6.5rem; }
  .v042-council-chat-content { padding: .45rem .5rem; }
  .v042-council-chat-body { font-size: 1rem; }
}
@media (hover: none) and (pointer: coarse) {
  .v042-council-swipe-hint { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  .v042-council-scene { opacity: 0; }
  .v042-council-scene:first-child { opacity: 1; }
}

/* Mobile page and GM section tabs share the collapsible console space. */
.v042-top-gm-navigation { display: none; }
@media (max-width: 900px) {
  .v042-topbar .v042-mobile-section-tabs,
  .v042-topbar .v042-top-gm-navigation {
    position: static;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: .14rem .06rem;
    border: 0;
    background: transparent;
    backdrop-filter: none;
  }
  .v042-topbar .v042-top-gm-navigation { display: grid; gap: .22rem; }
  .v042-topbar .v042-mobile-section-tabs-track,
  .v042-top-gm-area-nav,
  .v042-top-gm-section-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: .22rem;
    min-height: 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: visible;
    padding: 0;
    border: 0;
    background: transparent;
  }
  .v042-topbar .v042-mobile-section-tabs-indicator { display: none; }
  .v042-topbar .v042-mobile-section-tab,
  .v042-top-gm-navigation button {
    flex: 1 1 5.6rem;
    min-width: 0;
    min-height: 1.9rem;
    box-sizing: border-box;
    padding: .3rem .42rem;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 5px;
    color: rgba(255,246,224,.82);
    background: rgba(255,255,255,.045);
    font: 800 .67rem/1.15 system-ui, sans-serif;
    text-align: center;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .v042-top-gm-area-nav button { flex-basis: 7.4rem; }
  .v042-top-gm-section-nav { border-top: 1px solid rgba(255,255,255,.22); padding-top: .42rem; }
  .v042-top-gm-section-nav button { flex-basis: 6.8rem; }
  .v042-topbar .v042-mobile-section-tab.is-active,
  .v042-top-gm-navigation button.is-active,
  .v042-topbar .is-newspaper .v042-mobile-section-tab.is-active {
    border-color: color-mix(in srgb, var(--accent, #d8b975) 65%, white);
    color: #fff;
    background: color-mix(in srgb, var(--accent, #d8b975) 23%, rgba(255,255,255,.07));
    box-shadow: none;
  }
  .v042-topbar .is-newspaper .v042-mobile-section-tab {
    min-height: 1.9rem;
    color: rgba(255,246,224,.82);
    font-family: system-ui, sans-serif;
  }
  .v042-main .v042-gm-area-nav,
  .v042-main .v042-gm-section-nav { display: none !important; }
  .v042-main .v042-ai-workspace-nav { display: flex !important; gap: .3rem; padding: .35rem 0; }
  .v042-main .v042-ai-workspace-nav button { min-height: 2rem; padding: .35rem .5rem; font-size: .72rem; flex: 1 1 9rem; }
}
.v042-captain-channel { min-width: 0; }
.v042-captain-channel .v042-captain-history { display: grid; gap: .65rem; max-height: 28rem; overflow: auto; padding: .35rem; }
.v042-captain-message { border: 1px solid var(--line, #42505b); border-radius: .6rem; padding: .65rem .8rem; background: rgba(255,255,255,.035); overflow-wrap: anywhere; }
.v042-captain-message p { white-space: pre-wrap; margin: .4rem 0 0; }
.v042-captain-message small { opacity: .78; }
.v042-captain-message.v042-captain-ai { border-left: 3px solid #7da9c5; }
.v042-captain-message.v042-captain-gm { border-left: 3px solid #d6ad66; }
.v042-captain-message.v042-captain-captain { border-left: 3px solid #8bbb80; }
.v042-captain-channel form { display: grid; gap: .75rem; }
.v042-captain-channel form label { display: grid; gap: .3rem; }
.v042-captain-channel textarea { width: 100%; min-height: 6rem; }

@media (min-width: 901px) {
  .v042-faction-command-shell { display: grid; gap: .8rem; min-width: 0; }
  .v042-command-desktop-tabs { display: flex; gap: .4rem; }
  .v042-command-desktop-tabs button {
    padding: .55rem .9rem;
    border: 1px solid var(--v042-line, rgba(255,255,255,.2));
    border-radius: .5rem;
    color: var(--v042-muted, #c9d0d3);
    background: rgba(255,255,255,.04);
    cursor: pointer;
  }
  .v042-command-desktop-tabs button.is-active {
    color: #fff;
    border-color: var(--accent, #d8b975);
    background: color-mix(in srgb, var(--accent, #d8b975) 20%, rgba(255,255,255,.05));
  }
  .v042-command-grid:not(.is-captain-tab) > .v042-captain-channel,
  .v042-command-grid.is-captain-tab > .v042-panel:not(.v042-captain-channel) { display: none; }
  .v042-command-grid.is-captain-tab { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .v042-command-grid.is-captain-tab > .v042-captain-channel { max-width: 56rem; width: 100%; }
}
@media (max-width: 900px) {
  .v042-faction-command-shell,
  #v042-faction-command-grid { display: contents; }
  .v042-command-desktop-tabs { display: none; }

  /* Swipe rails need one bounded row. Let each <details> card own vertical
     scrolling; its grid body otherwise grows beyond the clipped shell. */
  .v042-command-grid,
  .v042-inspect-grid,
  .v042-diplomacy-dex-layout,
  .v042-settings-shell,
  .v042-forum-board-layout,
  .v042-spectator-dashboard-grid,
  body.v042-authenticated .v042-admin-data-shell {
    grid-template-rows: minmax(0, 1fr) !important;
  }
  .v042-command-grid > details.v042-panel,
  .v042-inspect-grid > details.v042-panel,
  .v042-diplomacy-dex-layout > details.v042-panel,
  .v042-settings-shell > details.v042-panel,
  .v042-forum-board-layout > details.v042-panel,
  .v042-spectator-dashboard-grid > details.v042-panel,
  body.v042-authenticated .v042-admin-data-shell > details.v042-panel {
    display: block !important;
    box-sizing: border-box;
    height: 100% !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }
  .v042-command-grid > details.v042-panel > .v042-panel-body,
  .v042-inspect-grid > details.v042-panel > .v042-panel-body,
  .v042-diplomacy-dex-layout > details.v042-panel > .v042-panel-body,
  .v042-settings-shell > details.v042-panel > .v042-panel-body,
  .v042-forum-board-layout > details.v042-panel > .v042-panel-body,
  .v042-spectator-dashboard-grid > details.v042-panel > .v042-panel-body,
  body.v042-authenticated .v042-admin-data-shell > details.v042-panel > .v042-panel-body {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: calc(2rem + env(safe-area-inset-bottom));
  }
}

/* Ledger: compact game state with readable in-bar scores and optional analysis. */
.v042-newspaper-story .v042-board-ledger { gap: .65rem; margin-top: .55rem; }
.v042-board-ledger-bars { gap: .35rem; }
.v042-board-ledger-row { gap: .2rem; margin: 0; min-width: 0; }
.v042-board-ledger-row.is-alliance { padding: .25rem; }
.v042-board-ledger-track {
  height: auto;
  min-height: 2.8rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background: rgba(49, 36, 25, .10);
}
.v042-board-ledger-fill { z-index: 0; min-width: 0; opacity: .38; }
.v042-board-ledger-label {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  padding: .35rem .65rem;
  gap: .5rem;
  font-family: var(--v042-ui-font, system-ui, sans-serif);
  font-weight: 800;
  line-height: 1.2;
  color: #17120e;
  text-shadow: 0 1px rgba(255,255,255,.65);
}
.v042-board-ledger-label span { min-width: 0; overflow-wrap: anywhere; }
.v042-board-ledger-label strong { flex: none; padding: .2rem .3rem; background: rgba(255,250,235,.75); }
.v042-ledger-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; }
.v042-ledger-stat { min-width: 0; min-height: 5.8rem; align-content: center; padding: .45rem; }
.v042-ledger-stat strong { font-size: clamp(1rem, 2vw, 1.4rem); overflow-wrap: anywhere; }
.v042-ledger-stat span, .v042-ledger-stat em { line-height: 1.2; overflow-wrap: anywhere; }
.v042-ledger-section { min-width: 0; border: 1px solid rgba(49,36,25,.2); background: rgba(255,250,235,.55); }
.v042-ledger-section > summary { cursor: pointer; padding: .65rem .75rem; font-weight: 800; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.v042-ledger-section[open] > summary { border-bottom: 1px solid rgba(49,36,25,.15); }
.v042-ledger-faction-grid, .v042-ledger-chart-grid, .v042-ledger-math-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; padding: .7rem; }
.v042-ledger-faction-card { display: grid; grid-template-columns: repeat(3, 1fr); gap: .25rem; padding: .55rem; border: 1px solid rgba(49,36,25,.14); font-size: .75rem; }
.v042-ledger-faction-card strong { grid-column: 1 / -1; font-size: .82rem; }
.v042-ledger-chart, .v042-ledger-pie-card { min-width: 0; padding: .65rem; border: 1px solid rgba(49,36,25,.15); background: rgba(255,255,255,.35); }
.v042-ledger-chart > strong, .v042-ledger-pie-card > strong { display: block; margin-bottom: .4rem; font-size: .8rem; }
.v042-ledger-chart svg { width: 100%; height: auto; overflow: visible; font: 11px system-ui, sans-serif; fill: #45372d; }
.v042-ledger-axis { stroke: rgba(49,36,25,.4); stroke-width: 1; }
.v042-ledger-chart-ends { display: flex; justify-content: space-between; gap: .5rem; font-size: .68rem; }
.v042-ledger-pie { width: min(10rem, 60%); aspect-ratio: 1; margin: .4rem auto; border-radius: 50%; border: 1px solid rgba(49,36,25,.25); }
.v042-ledger-pie-legend { display: flex; flex-wrap: wrap; gap: .3rem .65rem; font-size: .68rem; }
.v042-ledger-pie-legend span { display: inline-flex; align-items: center; gap: .25rem; }
.v042-ledger-pie-legend i { width: .65rem; height: .65rem; border: 1px solid rgba(49,36,25,.25); }
.v042-ledger-note { padding: .5rem .7rem; margin: 0; font-size: .72rem; line-height: 1.4; }
.v042-ledger-math-grid > div { padding: .5rem; border: 1px solid rgba(49,36,25,.13); font-size: .76rem; }
.v042-ledger-math-grid > .v042-ledger-note { grid-column: 1 / -1; }
.v042-ledger-desks { display: grid; grid-template-columns: minmax(0,1fr); gap: .6rem; min-width: 0; max-width: 100%; }
.v042-ledger-desk-body { display: grid; grid-template-columns: minmax(0,1fr); gap: .7rem; padding: .7rem; min-width: 0; max-width: 100%; box-sizing: border-box; }
.v042-ledger-desk-body > .v042-ledger-section { width: 100%; }
.v042-ledger-table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; border: 1px solid rgba(49,36,25,.16); box-sizing: border-box; }
.v042-ledger-table { width: 100%; border-collapse: collapse; font-size: .73rem; white-space: nowrap; }
.v042-ledger-table th, .v042-ledger-table td { padding: .45rem .55rem; text-align: left; border-bottom: 1px solid rgba(49,36,25,.12); }
.v042-ledger-table th { background: rgba(49,36,25,.08); position: sticky; top: 0; }
.v042-ledger-desks .v042-ledger-stat-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); }
.v042-ledger-desks .v042-ledger-stat { min-height: 4.5rem; }
.v042-ledger-desks .v042-ledger-chart-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,17rem),1fr)); }
.v042-ledger-desks .v042-ledger-note { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.v042-ledger-desks .v042-ledger-faction-card { grid-template-columns: repeat(2,minmax(0,1fr)); }
.v042-ledger-desks .v042-ledger-faction-card span { overflow-wrap: anywhere; }
@media (max-width: 600px) { .v042-ledger-desks .v042-ledger-faction-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .v042-ledger-desks .v042-ledger-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) {
  .v042-ledger-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem; }
  .v042-ledger-stat { min-height: 6rem; padding: .3rem; }
  .v042-ledger-stat span { font-size: .56rem; letter-spacing: 0; }
  .v042-ledger-stat strong { font-size: clamp(.8rem, 3.4vw, 1.1rem); }
  .v042-ledger-stat em { font-size: .57rem; }
  .v042-board-ledger-track { min-height: 3.2rem; }
  .v042-board-ledger-label { font-size: .75rem; padding: .4rem; }
  .v042-board-ledger-label strong { font-size: .64rem; white-space: normal; text-align: right; }
  .v042-ledger-faction-grid, .v042-ledger-chart-grid, .v042-ledger-math-grid { grid-template-columns: minmax(0, 1fr); padding: .4rem; }
}

.v042-ledger-election-map { padding-top: .85rem; }
.v042-ledger-election-track { min-height: 2.4rem; overflow: visible; }
.v042-ledger-election-segment { min-width: 0; overflow: hidden; }
.v042-ledger-election-threshold { top: -.65rem; bottom: -.65rem; z-index: 5; }
.v042-ledger-election-threshold > span { width: 4px; background: #b82b24; box-shadow: 0 0 0 1px #fff, 0 0 8px rgba(146,28,20,.5); }
.v042-ledger-election-threshold em { top: -.2rem; }
.v042-ledger-map-note { display: block; color: #5d4f43; font-size: .7rem; line-height: 1.35; }
.v042-ledger-alliance-map { display: grid; gap: .55rem; padding-top: .7rem; border-top: 1px solid rgba(49,36,25,.18); }
.v042-ledger-alliance-map > strong { font-size: .8rem; }
.v042-ledger-alliance-row { display: grid; gap: .35rem; padding: .55rem; border: 1px solid rgba(49,36,25,.15); background: rgba(255,255,255,.3); min-width: 0; }
.v042-ledger-alliance-heading { display: flex; justify-content: space-between; gap: .4rem 1rem; flex-wrap: wrap; font-size: .78rem; }
.v042-ledger-alliance-heading span { font-weight: 700; }
.v042-ledger-alliance-fill { display: block; align-self: stretch; min-width: 0; box-shadow: inset 0 0 0 1px rgba(35,27,21,.24); }
.v042-ledger-alliance-members { display: flex; flex-wrap: wrap; gap: .2rem .7rem; font-size: .7rem; }
.v042-ledger-alliance-members span { display: inline-flex; align-items: center; gap: .25rem; }
.v042-ledger-alliance-members i { display: inline-block; width: .65rem; height: .65rem; flex: none; border: 1px solid rgba(35,27,21,.25); }
.v042-ledger-faction-activity, .v042-ledger-sc-list { grid-column: 1 / -1; }
.v042-ledger-faction-activity { padding-top: .3rem; border-top: 1px solid rgba(49,36,25,.12); line-height: 1.5; }
.v042-ledger-sc-list { display: flex; flex-wrap: wrap; align-items: center; gap: .28rem; padding-top: .25rem; }
.v042-ledger-sc-list small { flex-basis: 100%; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.v042-ledger-sc-pill { max-width: 100%; padding: .22rem .45rem; border-radius: 999px; font-size: .7rem; line-height: 1.25; cursor: pointer; }

/* Reserve only the folded top handle; the open console still overlays content. */
@media (max-width: 900px) {
  .v042-authenticated .v042-main:not(.v042-map-main) {
    margin-top: var(--v042-top-drawer-reserve, 3.25rem);
    padding-top: 0;
  }

  .v042-gm-command-dashboard,
  .v042-gm-workspace { padding-bottom: .8rem; }

  .v042-authenticated .v042-main:has(.v042-gm-command-dashboard),
  .v042-authenticated .v042-main:has(.v042-gm-workspace) {
    padding-bottom: calc(var(--v042-bottombar-height, 2.5rem) + .5rem);
  }
}

/* Keep the public player in reach while the long dossier scrolls. These
   declarations follow the legacy login-player rules on purpose. */
.v061-entry .v061-persistent-audio {
  position:sticky;
  top:env(safe-area-inset-top);
  right:auto;
  bottom:auto;
  z-index:30;
  display:grid;
  grid-template-columns:minmax(0,1fr) 2.8rem;
  width:min(16.5rem,72vw);
  margin:.5rem max(.75rem,env(safe-area-inset-right)) 0 auto;
}
.v061-entry.v061-detail .v061-persistent-audio { bottom:auto; }
.v061-entry .v061-persistent-audio .v047-audio-main {
  min-height:2.8rem;
  grid-template-columns:auto minmax(0,1fr);
  justify-items:stretch;
  gap:.4rem;
  border-radius:9px 0 0 9px;
}
.v061-entry .v061-persistent-audio .v047-audio-icon { width:1.5rem; height:1.5rem; font-size:.72rem; }
.v061-entry .v061-persistent-audio .v047-audio-title { font-size:.67rem; }
.v061-entry .v061-persistent-audio .v047-audio-menu-toggle {
  min-height:2.8rem;
  border:1px solid color-mix(in srgb, var(--v047-audio-accent) 24%, rgba(255,255,255,.1));
  border-left:0;
  border-radius:0 9px 9px 0;
  font-size:.7rem;
}

/* Night ruins entry: live type and controls over a locally hosted painted scene. */
body.v042-guest { margin:0; }
.v047-guest-main { width:100%; }
.v061-entry {
  display:flow-root;
  isolation:isolate;
  width:100%;
  max-width:none;
  min-height:100dvh;
  margin:0;
  padding:0;
  border:0;
  text-align:left;
  background:#050807 url("../landing/chult-night-ruins.webp") center 56%/cover fixed no-repeat;
  box-shadow:none;
  backdrop-filter:none;
  color:#f7eedb;
}
.v061-entry::before {
  position:fixed;
  inset:0;
  z-index:0;
  opacity:1;
  background-image:
    linear-gradient(90deg,rgba(1,6,6,.5),rgba(2,7,7,.15) 24%,rgba(2,7,7,.24) 74%,rgba(1,6,6,.55)),
    linear-gradient(180deg,rgba(2,7,8,.08),rgba(2,7,8,.22) 46%,rgba(2,5,5,.42));
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(.88);
}
.v061-entry::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 12% 77%,rgba(227,100,25,.14),transparent 25%),
    radial-gradient(ellipse at 88% 69%,rgba(255,112,30,.12),transparent 28%),
    radial-gradient(ellipse at 50% 42%,rgba(0,0,0,.52),transparent 45%);
  animation:v061-firelight 5.5s ease-in-out infinite alternate;
}
.v061-entry > .v061-welcome {
  position:relative;
  min-height:100dvh;
  gap:1rem;
  padding:clamp(5.5rem,13vh,9rem) 1.25rem clamp(3rem,7vh,6rem);
  text-shadow:0 2px 12px #010505,0 5px 30px #010505;
}
.v061-entry > .v061-welcome::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:min(47rem,94vw);
  height:min(37rem,80vh);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(2,8,9,.88),rgba(2,8,9,.49) 48%,transparent 74%);
  pointer-events:none;
}
.v061-welcome .v061-eyebrow {
  color:#f1cb85;
  letter-spacing:.27em;
}
.v061-welcome .v061-eyebrow a {
  color:inherit;
  text-decoration:underline;
  text-decoration-color:rgba(241,203,133,.55);
  text-underline-offset:.2em;
}
.v061-welcome .v061-eyebrow a:hover { text-decoration-color:currentColor; }
.v061-welcome .v061-flame-title {
  display:grid;
  gap:0;
  margin:.12rem 0 .35rem;
  font:700 clamp(3.6rem,11vw,8.6rem)/.88 Georgia,"Times New Roman",serif;
  letter-spacing:.095em;
  text-transform:uppercase;
  color:#fbe9bd;
  background:linear-gradient(180deg,#fff5d8 0%,#f6d48a 42%,#d77b36 78%,#ffe4a1 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 2px #150802) drop-shadow(0 0 11px rgba(250,126,37,.48));
  animation:v061-title-flame 4.8s ease-in-out infinite alternate;
}
body .v061-welcome .v061-flame-title { font-size:clamp(3.6rem,11vw,8.6rem) !important; }
.v061-flame-title span:last-child {
  font-size:.54em;
  letter-spacing:.18em;
  line-height:1.25;
}
.v061-welcome p:not(.v061-eyebrow) {
  max-width:35rem;
  color:#f3e7cc;
  font:1.13rem/1.55 Georgia,"Times New Roman",serif;
}
.v061-welcome .v061-primary,
.v061-auth .v061-primary {
  border-color:#f7d18b;
  background:linear-gradient(180deg,#f6d18a,#bd7134);
  color:#1c130d;
  box-shadow:inset 0 1px 0 #fff3c2,0 0 25px rgba(221,99,26,.27),0 10px 26px #0009;
}
.v061-welcome .v061-primary:hover,
.v061-auth .v061-primary:hover {
  background:linear-gradient(180deg,#ffe1a0,#d58b44);
  box-shadow:inset 0 1px 0 #fff6d3,0 0 36px rgba(247,132,40,.4),0 10px 26px #0009;
}
.v061-welcome .v061-text-button { color:#f0dfbf; }
.v061-entry > :is(.v061-picker,.v061-detail,.v061-confirm,.v061-auth) { position:relative; }
.v061-entry > .v061-picker .v061-page-header,
.v061-entry > .v061-detail,
.v061-entry > .v061-confirm,
.v061-entry > .v061-auth {
  border:1px solid rgba(204,166,104,.35);
  background:linear-gradient(145deg,rgba(20,30,26,.92),rgba(7,16,15,.93));
  box-shadow:inset 0 1px 0 rgba(244,219,162,.15),0 18px 70px #000b;
  backdrop-filter:blur(9px);
}
.v061-entry > .v061-picker { padding-top:4.5rem; }
.v061-entry > .v061-picker .v061-page-header { padding:1rem clamp(1rem,3vw,2rem) 1.5rem; border-radius:.6rem; }
.v061-entry > .v061-detail { padding:4.5rem clamp(1rem,3vw,2.5rem) 4rem; border-radius:.6rem; }
.v061-inheritance { margin:1rem 0 1.25rem; padding:1rem clamp(1rem,3vw,1.5rem); border:1px solid color-mix(in srgb,var(--selection-accent) 40%,#536057); border-left:3px solid var(--selection-accent); border-radius:.45rem; background:linear-gradient(125deg,#243029,#151e1b); }
.v061-inheritance h2 { margin:0 0 .45rem; color:#f2d69a; font:700 clamp(1.1rem,3.3vw,1.45rem)/1.2 Georgia,serif; letter-spacing:.08em; }
.v061-inheritance p { margin:.65rem 0; line-height:1.58; }
.v061-inheritance .v061-starting-label { margin:.35rem 0; color:#cbbf9e; font:.76rem/1.4 system-ui,sans-serif; font-weight:800; letter-spacing:.065em; text-transform:uppercase; }
.v061-starting-centers { display:flex; flex-wrap:wrap; gap:.4rem; padding:0; margin:.5rem 0 .8rem; list-style:none; }
.v061-starting-centers li { padding:.32rem .57rem; border:1px solid color-mix(in srgb,var(--selection-accent) 55%,#708078); border-radius:.3rem; color:#f3e5c6; background:#101a17; font:.8rem/1.3 system-ui,sans-serif; }
.v061-inheritance .v061-starting-forces { margin:.8rem 0 0; color:#e6cd91; font:.82rem/1.4 system-ui,sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.v061-detail-body>.v061-accordion summary { min-height:3.2rem; display:flex; align-items:center; }
.v061-leadership-lesson { padding:.8rem 1rem; border-left:3px solid var(--selection-accent); background:#233027; font-style:italic; }
.v061-leadership-lesson strong { color:#f0d39a; font-style:normal; }
.v061-dossier-extra { display:grid; gap:.65rem; margin-top:.7rem!important; }
.v061-entry > .v061-confirm { max-width:30rem; margin:clamp(1rem,5vh,3rem) auto 3rem; padding:clamp(1.1rem,3vw,2rem); border-radius:.7rem; display:grid; gap:.85rem; text-align:center; }
.v061-confirm-portrait { height:clamp(13rem,30vh,18rem); overflow:hidden; border:1px solid var(--selection-accent); border-radius:.55rem; }
.v061-confirm-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.v061-confirm h1 { margin:0; color:#f7dfaa; font:700 clamp(2rem,7vw,3rem)/1.1 Georgia,serif; }
.v061-confirm-tagline { margin:0 0 .5rem; color:#efd59d; font:italic 1.1rem/1.4 Georgia,serif; }
.v061-confirm .v061-text-button { justify-self:center; }
@media (max-width:600px) { .v061-dossier-grid { grid-template-columns:1fr; } .v061-starting-centers li { font-size:.78rem; } }
.v061-entry > .v061-auth {
  max-width:30rem;
  min-height:auto;
  margin:clamp(1rem,5vh,3rem) auto 3rem;
  padding:clamp(1.1rem,3vw,2rem);
  border-radius:.7rem;
}
.v061-auth h1,
.v061-page-header h1 { color:#f8e5b9; text-shadow:0 0 20px rgba(226,116,43,.32); }
body .v061-entry > .v061-auth h1 { font-size:clamp(2.1rem,5vw,3rem) !important; }
body .v061-entry > .v061-picker .v061-page-header h1 { font-size:clamp(1.8rem,4.5vw,3rem) !important; }
.v061-auth-portrait { border-color:color-mix(in srgb,var(--selection-accent) 65%,#b58248); box-shadow:0 8px 28px #0009; }
.v061-auth input { background:#eee5d2; border-color:#b49b73; }
.v061-faction-choice { background:linear-gradient(110deg,rgba(20,32,28,.96),rgba(11,23,21,.94)); backdrop-filter:blur(7px); }
.v061-faction-choice:hover { background:#26342d; }
@keyframes v061-firelight {
  from { opacity:.66; }
  to { opacity:1; }
}
@keyframes v061-title-flame {
  from { filter:drop-shadow(0 2px 2px #150802) drop-shadow(0 0 8px rgba(250,126,37,.32)); }
  to { filter:drop-shadow(0 2px 2px #150802) drop-shadow(0 0 19px rgba(255,130,31,.66)); }
}
@media(max-width:900px) {
  .v061-entry { background-image:url("../landing/chult-night-ruins-mobile.webp"); background-position:center center; background-attachment:scroll; }
}
@media(max-width:600px) {
  .v061-entry > .v061-welcome { justify-content:center; padding-top:5rem; }
  body .v061-welcome .v061-flame-title { font-size:clamp(2.8rem,12.3vw,5rem) !important; letter-spacing:.035em; }
  .v061-flame-title span:last-child { letter-spacing:.09em; }
  .v061-welcome .v061-eyebrow { max-width:19rem; line-height:1.5; }
  .v061-entry > .v061-auth { margin:4.5rem .75rem 2rem; }
}
@media(prefers-reduced-motion:reduce) {
  .v061-entry::after,
  .v061-welcome .v061-flame-title { animation:none; }
}
.v042-editorial-archive{max-width:1000px;margin:0 auto;padding:1rem 0 2rem;color:#eee4d1}
.v042-editorial-masthead{text-align:center;border-block:3px double #ac8b56;padding:1.4rem .7rem;margin-bottom:1.5rem}
.v042-editorial-masthead h1{font:700 clamp(2rem,5vw,4rem)/1.05 Georgia,serif;margin:.3rem 0}
.v042-editorial-article{background:#201f1b;border:1px solid #766448;border-radius:.35rem;padding:clamp(1rem,3vw,2rem);margin:0 0 1.4rem;box-shadow:0 8px 26px #0004}
.v042-editorial-article.is-history{background:#24221d;border-color:#a0875a}
.v042-editorial-article h2{font:700 clamp(1.5rem,3vw,2.25rem)/1.15 Georgia,serif;margin:.5rem 0}
.v042-editorial-byline,.v042-editorial-date{color:#d5bd8d;margin:.25rem 0}
.v042-editorial-body{white-space:pre-wrap;font:1.08rem/1.7 Georgia,serif;margin:1.25rem 0}
.v042-editorial-sources{border-top:1px solid #746448;padding-top:.8rem}
.v042-editorial-sources summary{cursor:pointer;color:#ead4a8}
.v042-editorial-sources li{margin:.45rem 0}
.v042-editorial-sources a{color:#e7c581}
.v042-editorial-admin{display:grid;gap:1.2rem}
.v042-editorial-editor{display:grid;gap:.75rem;padding:1rem;border:1px solid #73644d;border-radius:.4rem}
.v042-editorial-field{display:grid;gap:.25rem}
.v042-editorial-field textarea{width:100%;box-sizing:border-box;min-height:2.5rem}
.v042-editorial-preview{white-space:pre-wrap;overflow:auto;max-height:24rem}

/* The Archive: dark timber around a legible parchment record. */
.v042-archive-page{width:100%;max-width:1120px;min-width:0;margin:0 auto;padding:clamp(1rem,3vw,2rem);color:#2d2319;background:radial-gradient(ellipse at 15% 0%,#665039 0%,transparent 35%),repeating-linear-gradient(90deg,#211913 0 9px,#291e17 10px 22px,#1a1512 23px 27px);border:8px ridge #5c422a;box-shadow:0 16px 60px #0009;box-sizing:border-box}
.v042-archive-heading{display:flex;gap:1rem;align-items:center;margin-bottom:1.3rem;padding:1rem 1.4rem;border:1px solid #a88b58;background:linear-gradient(130deg,#e3d0a4,#cbb482 55%,#e5d5aa);box-shadow:inset 0 0 30px #7e5a3035,0 6px 20px #0007}
.v042-archive-heading>span{font-size:clamp(2rem,6vw,4rem)}
.v042-archive-heading h1{font:700 clamp(2.2rem,6vw,4rem)/1.05 Georgia,serif;margin:.2rem 0;color:#281b11}
.v042-archive-heading p{margin:.4rem 0 0;line-height:1.5}
.v042-archive-page .v042-kicker{color:#654626;letter-spacing:.16em}
.v042-archive-map-chamber,.v042-archive-ledger,.v042-archive-records{margin:1.2rem 0;padding:clamp(.9rem,2vw,1.5rem);border:1px solid #9e8255;background:linear-gradient(145deg,#eaddbc,#d2bc8d 70%,#e0cba3);box-shadow:inset 0 0 35px #7e5a303b,0 8px 26px #0008}
.v042-archive-section-title h2,.v042-archive-records>h2{margin:0;color:#302014;font:700 clamp(1.35rem,3vw,2rem)/1.15 Georgia,serif}
.v042-archive-section-title p{margin:.35rem 0 1rem;color:#594631}
.v042-archive-minimap{display:block;width:100%;height:min(58vh,660px);background:#d9c9a6;border:5px double #6b512f;box-sizing:border-box;box-shadow:inset 0 0 25px #5a3b1d55}
.v042-archive-minimap path{transition:fill .35s ease}
.v042-archive-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;margin-top:1rem}
.v042-archive-controls button{cursor:pointer;padding:.55rem .9rem;border:1px solid #5f4329;background:#4a3222;color:#f2e4c1;border-radius:.2rem;font-weight:700}
.v042-archive-controls input{width:100%;accent-color:#694726}
.v042-archive-controls strong{min-width:8rem;text-align:right;color:#39291b}
.v042-archive-map-key{display:flex;gap:1rem;flex-wrap:wrap;color:#584631;font:.8rem system-ui,sans-serif;margin-top:.6rem}
.v042-archive-table-wrap{overflow-x:auto}
.v042-archive-ledger table{border-collapse:collapse;width:100%;font:1rem Georgia,serif}
.v042-archive-ledger th,.v042-archive-ledger td{padding:.5rem;border-bottom:1px solid #9b825d;text-align:right;color:#38291c}
.v042-archive-ledger th:first-child{text-align:left}
.v042-archive-ledger th i{display:inline-block;width:.7rem;height:.7rem;border:1px solid #4b3523;margin-right:.5rem}
.v042-archive-orders{max-width:100%;max-height:21rem;overflow:auto;columns:2}
.v042-archive-orders p{break-inside:avoid;margin:.3rem 0;padding:.4rem;border-bottom:1px solid #a38a62;overflow-wrap:anywhere}
.v042-archive-records .v042-turn-history{padding:0;background:transparent;color:#352719}
.v042-archive-records .v042-turn-history h2{color:#302014}
.v042-archive-records .v042-history-order{background:#ead9b6;color:#2b211a;border-color:#a58a63}
.v042-archive-tome{margin:1.5rem 0;padding:clamp(1rem,3vw,2rem);border:8px ridge #5e3b28;background:linear-gradient(90deg,#b49c6f 0,#e9dbb9 4%,#e1d0a8 49%,#cbb283 50%,#e6d5ac 52%,#e6d4ae 96%,#a98e61 100%);box-shadow:inset 0 0 45px #69442469,0 10px 36px #000a}
.v042-archive-tome .v042-editorial-archive{color:#322518;max-width:900px;padding:0}
.v042-archive-tome .v042-editorial-masthead{border-color:#876746;margin-bottom:1.5rem}
.v042-archive-tome .v042-editorial-masthead h1,.v042-archive-tome .v042-editorial-article h2{color:#2c1f14;font-family:'Segoe Print','Bradley Hand','Apple Chancery',Georgia,serif}
.v042-archive-tome .v042-editorial-article.is-history{background:#f0e2bdcc;border:1px solid #aa8a5e;color:#302318;box-shadow:0 4px 14px #5c3f2b55}
.v042-archive-tome .v042-editorial-body{font-family:'Segoe Print','Bradley Hand','Apple Chancery',Georgia,serif;font-size:clamp(1rem,1.8vw,1.16rem);line-height:1.8;color:#271b13}
.v042-archive-tome .v042-editorial-byline,.v042-archive-tome .v042-editorial-date,.v042-archive-tome .v042-editorial-sources summary,.v042-archive-tome .v042-editorial-sources a{color:#644425}
@media(max-width:700px){.v042-archive-page{border-width:4px;padding:.55rem}.v042-archive-heading{padding:.7rem}.v042-archive-map-chamber,.v042-archive-ledger,.v042-archive-records{padding:.65rem}.v042-archive-minimap{height:50vh}.v042-archive-controls{grid-template-columns:auto 1fr}.v042-archive-controls strong{grid-column:1/-1;text-align:center}.v042-archive-orders{column-count:1}.v042-archive-tome{padding:.7rem;border-width:4px}.v042-archive-tome .v042-editorial-body{font-family:'Apple Chancery',Georgia,serif}}
@media(prefers-reduced-motion:reduce){.v042-archive-minimap path{transition:none}}
@media(max-width:900px){
  .v042-authenticated .v042-main:has(.v042-press-page),
  .v042-authenticated .v042-main:has(.v042-archive-page){margin-top:var(--v042-top-drawer-height,3.25rem)}
  .v042-surface:has(.v042-archive-page){width:100%;min-width:0;max-width:100%;box-sizing:border-box;overflow-x:hidden}
  .v042-press-page,.v042-press-page.v047-spectator-native-press{height:calc(100dvh - var(--v042-topbar-height,4.8rem) - var(--v042-top-drawer-height,3.25rem) - var(--v042-mobile-section-tabs-height,0px) - var(--v042-mobile-dock-reserve))}
}

/* The desktop console drawer sits outside the sticky header's layout box. */
@media (min-width: 901px) {
  .v042-shell > .v042-main:not(.v042-map-main) {
    margin-top: var(--v042-top-drawer-height, 0px);
  }
}

/* Map quick orders live in the shell Console so they never cover a unit. */
.v042-console-quick-order {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(10rem, .75fr) minmax(18rem, 1.7fr) auto;
  align-items: center;
  gap: .5rem;
  min-width: 0;
  padding: .45rem .55rem;
  border: 1px solid color-mix(in srgb, var(--accent, #8db5d6) 48%, rgba(255,255,255,.12));
  border-radius: .45rem;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent, #8db5d6) 11%, rgba(8,15,20,.96)), rgba(8,15,20,.96));
  box-shadow: 0 .35rem 1.1rem rgba(0,0,0,.28);
}
.v042-console-quick-order-heading,
.v042-console-quick-order-draft,
.v042-console-quick-order-editor { display: grid; gap: .12rem; min-width: 0; }
.v042-console-quick-order-heading span,
.v042-console-quick-order-draft span {
  color: color-mix(in srgb, var(--accent, #8db5d6) 72%, #fff);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.v042-console-quick-order-heading strong,
.v042-console-quick-order-draft strong,
.v042-console-quick-order-draft small,
.v042-console-quick-order-prompt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v042-console-quick-order-heading strong { color: #fff8e8; font-size: .78rem; }
.v042-console-quick-order-draft strong { color: #bceef5; font: 800 .76rem/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; }
.v042-console-quick-order-draft small,
.v042-console-quick-order-prompt { color: rgba(255,246,224,.7); font-size: .66rem; }
.v042-console-quick-order-editor { grid-template-columns: minmax(11rem, 1fr) auto; align-items: center; gap: .45rem; }
.v042-console-quick-order-actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(4.7rem, 1fr); gap: .32rem; }
.v042-console-quick-order-actions button,
.v042-console-change-order {
  min-height: 2rem;
  padding: .35rem .62rem;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: .32rem;
  background: rgba(255,255,255,.055);
  color: #fff8e8;
  font: 800 .7rem/1 system-ui, sans-serif;
  cursor: pointer;
}
.v042-console-quick-order-actions button:hover:not(:disabled),
.v042-console-quick-order-actions button:focus-visible,
.v042-console-change-order:hover:not(:disabled),
.v042-console-change-order:focus-visible,
.v042-console-quick-order-actions button.is-active {
  border-color: color-mix(in srgb, var(--accent, #8db5d6) 72%, white);
  background: color-mix(in srgb, var(--accent, #8db5d6) 28%, rgba(255,255,255,.06));
}
.v042-console-quick-order-actions button:disabled,
.v042-console-change-order:disabled { opacity: .45; cursor: default; }
.v042-console-change-order { white-space: nowrap; }

@media (max-width: 900px) {
  .v042-console-quick-order {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem .5rem;
    padding: .42rem .48rem;
  }
  .v042-console-quick-order-heading { grid-column: 1 / -1; }
  .v042-console-quick-order-draft,
  .v042-console-quick-order-editor { grid-column: 1 / -1; }
  .v042-console-quick-order-editor { grid-template-columns: 1fr; }
  .v042-console-quick-order-actions { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v042-console-change-order { grid-column: 2; grid-row: 2; align-self: center; }
  .v042-console-quick-order.has-draft .v042-console-quick-order-draft { grid-column: 1; }
  .v042-console-quick-order-heading strong,
  .v042-console-quick-order-draft strong,
  .v042-console-quick-order-draft small,
  .v042-console-quick-order-prompt { white-space: normal; overflow-wrap: anywhere; }
}

/* Turn receipts must stay readable inside narrow faction mailboxes. */
.v042-chat-message,
.v042-chat-body,
.v042-message-modal-body {
  min-width: 0;
  overflow-wrap: anywhere;
}
.v042-chat-body,
.v042-message-modal-body {
  white-space: pre-wrap;
}
.v042-turn-notice-recipient {
  width: fit-content;
  max-width: 100%;
  padding: .12rem .4rem;
  border: 1px solid color-mix(in srgb, var(--entity-color, var(--accent, #8db5d6)) 55%, transparent);
  border-radius: .3rem;
  color: var(--v042-text);
  font: 700 .7rem/1.3 system-ui, sans-serif;
}
.v042-direct-comms-shell { grid-template-rows: auto minmax(0, 1fr); }
.v042-direct-comms-shell:has(.v042-gm-chat-inspector) { grid-template-rows: auto auto minmax(0, 1fr); }
.v042-direct-directory-switch { display: flex; gap: .45rem; padding: .25rem .4rem; }
.v042-direct-directory-switch button { min-width: 7rem; padding: .5rem .85rem; border: 1px solid rgba(235,213,169,.34); border-radius: .4rem; background: rgba(19,26,31,.78); color: #eee2c9; font-weight: 800; }
.v042-direct-directory-switch button.is-active { border-color: #ebc981; background: rgba(133,97,43,.45); }
.v042-press-directory-tile .v042-press-tile-mark,
.v042-captain-directory-tile .v042-captain-tile-mark { position: absolute; inset: .4rem .4rem auto auto; font: 900 1.8rem/1 Georgia,serif; color: rgba(234,202,139,.42); }
.v042-thread-nav-panel .v042-press-directory-tile .v042-press-tile-portrait { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; opacity: .72; }
.v042-press-thread-portrait { display: block; width: min(100%, 12rem); aspect-ratio: 1; object-fit: cover; object-position: center 30%; border: 2px solid #b99a63; border-radius: .45rem; justify-self: center; }
.v042-press-directory-tile .v042-press-tile-outlet { position: relative; z-index: 1; color: #e0ceaa; font-size: .64rem; line-height: 1.1; text-align: left; }
.v042-press-thread-content { display: grid; gap: .7rem; min-height: 0; overflow: auto; padding: .65rem; }
.v042-press-thread-content > p { margin: 0; color: #ddcfb4; font-style: italic; }
.v042-press-thread-panel .v042-reporter-chat-content { display: grid; gap: .45rem; }
.v042-reporter-chat-access { margin: .65rem 0 0; padding: .55rem .7rem; border: 1px solid #bea581; color: #5d472d; font-size: .83rem; }
.v042-reporter-chat-access p { margin: .35rem 0 0; }

/* The directory rail scrolls vertically inside the mobile swipe card. */
@media (max-width: 900px) {
  .v042-direct-comms-shell {
    height: var(--v042-mobile-shell-height) !important;
    max-height: var(--v042-mobile-shell-height) !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }
  .v042-direct-comms-shell .v042-direct-directory-switch {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 2.4rem);
    margin-inline: auto;
    padding: 0;
    box-sizing: border-box;
  }
  .v042-direct-comms-shell .v042-direct-directory-switch button {
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .v042-direct-comms-shell .v042-conversation-layout {
    height: auto !important;
    min-height: 0 !important;
    align-self: stretch;
  }
  .v042-direct-comms-shell .v042-thread-nav-panel {
    min-height: 0 !important;
    grid-template-rows: minmax(0, 1fr) !important;
  }
  .v042-direct-comms-shell .v042-thread-nav-panel > .v042-panel-body {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    box-sizing: border-box;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }
  .v042-direct-comms-shell .v042-thread-nav-panel .v042-stack,
  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    height: auto !important;
    min-height: 0 !important;
    align-content: start !important;
  }
  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    grid-auto-rows: minmax(6.85rem, auto) !important;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
  }
}
@media (max-width: 620px) {
  .v042-direct-comms-shell .v042-thread-nav-panel .v042-compact-list {
    grid-auto-rows: minmax(7.65rem, auto) !important;
  }
}

/* Press correspondence uses the same dark thread surface as faction DMs. */
.v042-direct-comms-shell .v042-press-thread-panel .v042-conversation-surface {
  display: flex !important;
  flex-direction: column;
}
.v042-press-thread-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}
.v042-press-thread-panel .v042-reporter-chat-embedded {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
}
.v042-press-chat-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem .7rem;
  padding: .42rem .6rem;
  border-bottom: 1px solid var(--v042-line);
  background: rgba(7, 11, 15, .87);
  color: var(--v042-text);
  font: .78rem/1.3 system-ui, sans-serif;
}
.v042-press-chat-toolbar .v042-reporter-anonymous {
  display: inline-flex;
  margin: 0;
  color: var(--v042-text);
  white-space: nowrap;
}
.v042-press-chat-toolbar .v042-secondary { padding: .24rem .5rem; }
.v042-press-chat-privacy { color: var(--v042-muted); }
.v042-press-chat-toolbar .v042-error { flex-basis: 100%; margin: 0; }
.v042-direct-comms-shell .v042-press-chat-history {
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  background: transparent;
}
.v042-press-chat-older { align-self: center; }
.v042-press-chat-empty { align-self: center; margin: 1rem; color: var(--v042-muted); text-align: center; }
.v042-press-chat-message { cursor: default; }
.v042-press-chat-message .v042-chat-body { color: var(--v042-text); }
.v042-press-chat-avatar {
  display: grid;
  place-items: center;
  background: #25333c;
  color: #f3e5c7;
  font: 700 .65rem/1 system-ui, sans-serif;
}
img.v042-press-chat-avatar { object-fit: cover; }
.v042-press-thread-panel .v042-reporter-chat-embedded .v042-chat-composer { display: grid; }
.v042-press-thread-panel .v042-reporter-chat-embedded .v042-chat-composer textarea {
  width: 100%;
  min-width: 0;
  min-height: 2.8rem;
  max-height: 7.5rem;
  padding: .55rem;
  border: 1px solid var(--v042-line);
  border-radius: .3rem;
  background: rgba(10, 16, 21, .9);
  color: var(--v042-text);
  resize: vertical;
}
.v042-press-thread-panel .v042-reporter-chat-embedded .v042-chat-composer textarea::placeholder { color: var(--v042-muted); }
@media (max-width: 620px) {
  .v042-press-chat-privacy { flex-basis: 100%; }
}
.v042-reading-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem;font:600 .8rem/1.4 system-ui,sans-serif}.v042-reading-actions a,.v042-reading-actions button,.v042-reading-list-link{display:inline-block;padding:.45rem .65rem;border:1px solid currentColor;background:transparent;color:inherit;text-decoration:none;font:inherit;cursor:pointer}.v042-reading-actions a:hover,.v042-reading-actions button:hover,.v042-reading-list-link:hover{text-decoration:underline}.v042-reading-list-link{margin:.35rem 0 .75rem;font:600 .75rem/1.4 system-ui,sans-serif}
@media(max-width:900px){.v042-topbar .v042-mobile-section-tabs.is-newspaper .v042-mobile-section-tabs-track{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.v042-topbar .v042-mobile-section-tabs.is-newspaper .v042-mobile-section-tab{flex:0 0 auto;min-width:5.75rem;touch-action:pan-x}}
.v042-article-sources{margin-top:1rem;padding-top:.7rem;border-top:1px solid rgba(43,36,31,.22);color:#6b5b4d;font:600 .78rem/1.45 system-ui,sans-serif}.v042-article-sources strong{display:block;text-transform:uppercase;letter-spacing:.08em}.v042-article-sources ol{margin:.35rem 0 0 1.25rem;padding:0}.v042-article-sources a{color:inherit;text-decoration:underline;text-underline-offset:2px}


/* Newspaper photo heroes and in-page article preview. */
.v042-news-image.v042-hero-figure {
  display:block;float:none;width:100%;max-width:none;margin:.45rem 0 .8rem;overflow:hidden;
}
.v042-press-hero {position:relative;isolation:isolate;width:100%;aspect-ratio:3 / 2;overflow:hidden;background:#14100d;}
.v042-news-image.v042-hero-figure .v042-press-hero > img {
  display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;filter:none;
}
.v042-press-hero::after {
  content:'';position:absolute;inset:25% 0 0;z-index:1;pointer-events:none;
  background:linear-gradient(transparent,rgba(10,13,12,.5) 45%,rgba(10,13,12,.94));
}
.v042-newspaper-story .v042-press-hero h2.v042-press-hero-headline {
  position:absolute;inset:auto 0 0;z-index:2;margin:0;padding:clamp(.8rem,2vw,1.4rem);
  color:#fff;background:transparent;border:0;font:700 clamp(1.2rem,2.2vw,2.5rem)/1.12 Georgia,'Times New Roman',serif;
  letter-spacing:-.015em;text-transform:none;text-shadow:0 2px 8px #000;overflow-wrap:anywhere;
}
.v042-preview-actions {display:flex;align-items:center;gap:.8rem;flex-shrink:0;}
.v042-preview-actions a,.v042-press-photo-link {text-decoration:underline;text-underline-offset:.18em;}
.v042-press-photo-link {display:inline-block;margin-left:.7em;}
.v042-newspaper-story.is-modal .v042-press-hero {aspect-ratio:auto;}
.v042-newspaper-story.is-modal .v042-press-hero > img {height:auto;max-height:70vh;object-fit:contain;}
@media(max-width:600px){
 .v042-newspaper-story .v042-press-hero h2.v042-press-hero-headline {font-size:clamp(1.15rem,5.5vw,1.8rem);padding:.85rem;}
 .v042-preview-actions {gap:.5rem;flex-wrap:wrap;}
}


/* Photo stories span the newspaper; mobile heroes occupy 35% of the viewport. */
.v042-press-page .v042-newspaper-zone > .v042-newspaper-section:has(.v042-photo-story .v042-hero-figure) {grid-column:1 / -1;}
.v042-press-page .v042-newspaper-section-grid > .v042-photo-story:has(.v042-hero-figure) {grid-column:1 / -1 !important;width:100%;max-width:none;box-sizing:border-box;padding-inline:0;}
.v042-press-page .v042-newspaper-section:has(.v042-hero-figure) {padding-inline:0;}
.v042-press-page .v042-newspaper-section:has(.v042-hero-figure) > .v042-newspaper-section-head {padding-inline:.85rem;}
.v042-press-page .v042-newspaper-story .v042-hero-figure {width:100%;max-width:none;margin-inline:0;border-inline:0;}
.v042-press-hero[role=button] {cursor:zoom-in;}
.v042-press-hero[role=button]:focus-visible {outline:3px solid #d8a54c;outline-offset:-3px;}
.v042-story-backdrop {z-index:11000 !important;}
.v042-story-backdrop .v042-message-modal {display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 2rem);}
.v042-story-backdrop .v042-message-modal > .v042-panel-header {position:relative;flex:0 0 auto;z-index:3;top:auto;}
.v042-story-backdrop .v042-message-modal > .v042-panel-body {min-height:0;overflow:auto;overscroll-behavior:contain;}
.v042-story-backdrop .v042-preview-actions {align-self:flex-start;}
.v042-story-backdrop .v042-preview-actions button {min-height:44px;min-width:4rem;}
.v042-image-backdrop {z-index:12000 !important;}
.v042-image-backdrop .v042-image-modal {width:min(96vw,90rem);display:flex;flex-direction:column;overflow:auto;max-height:calc(100dvh - 1rem);}
.v042-image-modal > button {align-self:flex-end;position:sticky;top:0;z-index:3;min-height:44px;}
.v042-image-backdrop .v042-image-modal > img {width:100%;height:auto;max-height:78dvh;object-fit:contain;flex:0 0 auto;}
@media(max-width:900px){
 .v042-press-page .v042-newspaper .v042-newspaper-section:has(.v042-hero-figure) {padding-inline:0 !important;}
 .v042-press-page .v042-newspaper .v042-photo-story:has(.v042-hero-figure) {padding-inline:0 !important;border-inline:0;}
 .v042-press-page .v042-newspaper .v042-photo-story .v042-press-hero {height:35svh;min-height:0;aspect-ratio:auto;}
 .v042-press-page .v042-newspaper .v042-photo-story .v042-press-hero > img {height:100%;object-fit:cover;transform:scale(1.06);}
 .v042-story-backdrop {padding:.5rem;}
 .v042-story-backdrop .v042-message-modal {width:100%;max-height:calc(100dvh - 1rem);}
}

/* Let hero edges meet the paper edge while retaining readable text gutters. */
.v042-press-page .v042-newspaper:has(.v042-hero-figure) {padding-inline:0;}
.v042-press-page .v042-newspaper .v042-photo-story:has(.v042-hero-figure) {border-inline:0 !important;}
.v042-press-page .v042-photo-story:has(.v042-hero-figure) > :not(.v042-hero-figure) {margin-inline:1rem;}
@media(max-width:900px){
 .v042-press-page .v042-newspaper .v042-newspaper-section:has(.v042-hero-figure){border-inline:0;scrollbar-width:none;}
 .v042-press-page .v042-newspaper .v042-newspaper-section:has(.v042-hero-figure)::-webkit-scrollbar{display:none;}
}
.v042-image-backdrop .v042-image-modal {box-sizing:border-box;max-width:100%;min-width:0;}
