/* Build 34 · the Valera identity — "the printed state", fjord direction (Tyler, 3 Oct: "keep the fjords. build the new UI").
   The look is drawn from a northern maritime republic's own money and gazette: cold fjord light, intaglio engraving,
   the eight-point selvrose seal. Scoped under .vx-* so it restyles a surface without touching the rest of the shell;
   the Record is the first surface built to it. Roll the scope wider screen by screen once it's approved. */
:root {
  --v-ink: #11232c;        /* fjord ink */
  --v-ink-soft: #45596270; /* (unused direct) */
  --v-ink-dim: #4a5f69;
  --v-paper: #e7eced;      /* SNOW PAPER — cool, not cream, not warm (MFL-01 template, 10 Oct) */
  --v-paper-2: #dde4e5;    /* deeper cold plate */
  --v-edge: #c7d2d3;       /* cold paper edge */
  --v-sea: #1e6b7c;        /* north sea teal — the national colour */
  --v-sea-deep: #124854;
  --v-seal: #b22c3c;       /* ensign crimson */
  --v-pewter: #7f8c93;     /* cold pewter — the metal of office */
  --v-aurora: #57cfa8;     /* the one cold glow — polar-night only */
  --v-war: #09151a;        /* polar night — the situation room field */
  --v-war-ink: #d4e4e2;
  --v-war-line: #1c3038;
  --v-serif: "Spectral", Georgia, "Times New Roman", serif;
  --v-grote: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --v-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
}

/* ——— the Record, as Valera's own gazette ——— */
.vx-record {
  background: var(--v-paper);
  color: var(--v-ink);
  font-family: var(--v-serif);
  border: 1.5px solid var(--v-ink);
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(9, 21, 26, .38);
  max-width: 920px;
  margin: 0 auto;
}
.vx-record * { box-sizing: border-box; }

/* masthead */
.vx-mast { text-align: center; padding: 20px 24px 12px; border-bottom: 3px double var(--v-ink); position: relative; }
.vx-mast .vx-ears { position: absolute; top: 20px; font-family: var(--v-grote); font-size: 10px; line-height: 1.5;
  letter-spacing: .08em; text-transform: uppercase; color: var(--v-ink-dim); max-width: 32%; }
.vx-mast .vx-l { left: 22px; text-align: left; }
.vx-mast .vx-r { right: 22px; text-align: right; }
.vx-title { font-family: var(--v-serif); font-weight: 800; font-size: clamp(30px, 5.6vw, 56px); letter-spacing: .01em;
  color: var(--v-ink); line-height: .96; }
.vx-dateline { font-family: var(--v-grote); font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase;
  color: var(--v-sea-deep); margin-top: 8px; }

/* body: lead column + the desks aside */
.vx-body { display: grid; grid-template-columns: 1.65fr 1fr; }
@media (max-width: 760px) { .vx-body { grid-template-columns: 1fr; } }
.vx-lead { padding: 22px 24px; border-right: 1px solid var(--v-ink); min-width: 0; }
@media (max-width: 760px) { .vx-lead { border-right: 0; border-bottom: 1px solid var(--v-ink); } }
.vx-kicker { font-family: var(--v-grote); font-weight: 700; font-size: 11.5px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--v-seal); }
.vx-head { font-family: var(--v-serif); font-weight: 800; font-size: clamp(24px, 3.3vw, 33px); line-height: 1.08;
  color: var(--v-ink); margin: 6px 0 14px; text-wrap: balance; }
.vx-text { font-size: 14.5px; line-height: 1.65; color: var(--v-ink); max-width: 46ch;
  text-align: justify; hyphens: auto; }
.vx-text p { margin: 0 0 10px; }
.vx-text p:first-of-type::first-letter { font-family: var(--v-serif); font-weight: 800; float: left;
  font-size: 52px; line-height: .78; padding: 5px 8px 0 0; color: var(--v-sea-deep); }
.vx-source { font-family: var(--v-mono); font-size: 11px; color: var(--v-ink-dim); margin-top: 14px;
  padding-top: 8px; border-top: 1px solid var(--v-edge); }

/* how this story unfolded — a column of filed editions */
.vx-timeline { margin-top: 16px; border-top: 2px solid var(--v-ink); padding-top: 10px; }
.vx-timeline > h3 { font-family: var(--v-grote); font-weight: 700; font-size: 11.5px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--v-sea-deep); margin: 0 0 8px; }
.vx-timeline details { border-top: 1px solid var(--v-edge); padding: 7px 0; }
.vx-timeline summary { cursor: pointer; font-family: var(--v-grote); font-size: 12.5px; color: var(--v-ink); }
.vx-timeline summary small { color: var(--v-ink-dim); }
.vx-timeline details p { font-size: 13px; line-height: 1.55; margin: 6px 0 0; }

/* the desks aside — holds the live reaction panel */
.vx-aside { padding: 20px 22px; background: var(--v-paper-2); min-width: 0; }

/* the Record's own buttons */
.vx-record .vx-act { display: inline-block; font-family: var(--v-grote); font-weight: 600; font-size: 13px;
  color: var(--v-paper); background: var(--v-sea-deep); border: 0; border-radius: 3px; padding: 9px 15px;
  margin: 16px 10px 0 0; cursor: pointer; }
.vx-record .vx-act.ghost { background: transparent; color: var(--v-sea-deep); border: 1.5px solid var(--v-sea-deep); }
.vx-record .vx-act:hover { filter: brightness(1.06); }

/* ——— the live reaction panel (H.PressReactions), reset to the gazette ——— */
.vx-aside .pr-wrap { margin: 0; }
.vx-aside .pr-wrap > .hx-label,
.vx-aside .pr-wrap .hx-label { display: block; font-family: var(--v-grote); font-weight: 700; font-size: 11.5px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--v-sea-deep); margin: 0 0 12px; padding-bottom: 8px;
  border-bottom: 2px solid var(--v-ink); }
.vx-aside .pr-card { background: transparent; border: 0; border-left: 3px solid var(--v-pewter);
  border-radius: 0; padding: 8px 0 10px 12px; margin: 0 0 12px; }
.vx-aside .pr-card.pr-major { border-left-color: var(--v-seal); }
.vx-aside .pr-head b { font-family: var(--v-serif); font-weight: 700; font-size: 15px; color: var(--v-ink); }
.vx-aside .pr-meta { font-family: var(--v-grote); font-size: 10.5px; color: var(--v-ink-dim); }
.vx-aside .pr-outlets { gap: 6px; }
.vx-aside .pr-outlets li { font-size: 13px; }
.vx-aside .pr-outlets b { font-family: var(--v-grote); font-size: 12px; color: var(--v-ink); }
.vx-aside .pr-line { color: var(--v-ink-dim); font-style: italic; }
.vx-aside .pr-stance { font-family: var(--v-grote); border-radius: 2px; }
.vx-aside .pr-stance.pr-stpos { color: var(--v-sea); }
.vx-aside .pr-stance.pr-stneg { color: var(--v-seal); }
.vx-aside .pr-more { font-family: var(--v-grote); color: var(--v-sea-deep); }
.vx-aside .pr-empty, .vx-aside .hp-muted { color: var(--v-ink-dim); font-size: 13px; }

/* ═══════════════════════════════════════════════════════════════════════════
   THE PRINTED STATE — signature identity layer (Tyler, 3 Oct: "make it memorable,
   not like any other AI build"). Engraved line-work (guilloché), the selvrose seal,
   letterpress titles and filing stamps, applied to surfaces EVERY page shares.
   Pure CSS/SVG masks — tinted per surface, no markup or JS changes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* the engraving, as reusable masked flourishes */
.hos-places .hx-crest .va-seal,
.hos-places .hx-banner,
.hos-places .hp-turn { position: relative; }

/* 1 — the departmental SEAL: the selvrose replaces the generic icon-ring on every banner.
   You get the engraved eight-point seal with the department's glyph struck in its centre. */
.hos-places .hx-crest .va-seal {
  border: 0 !important; background: transparent !important;
  box-shadow: none !important; overflow: visible;
}
.hos-places .hx-crest .va-seal::before {
  content: ''; position: absolute; inset: -7px; pointer-events: none;
  background: var(--x-sea);
  -webkit-mask: url('selvrose-seal.svg') center/contain no-repeat;
          mask: url('selvrose-seal.svg') center/contain no-repeat;
}
.hos-places .hx-crest .va-seal::after {
  content: ''; position: absolute; inset: 30%; border-radius: 50%;
  background: radial-gradient(circle, rgba(178,44,60,.30), transparent 70%); pointer-events: none;
}
.hos-places .hx-crest .va-seal .va-icon { position: relative; z-index: 2; color: #e7eef0; }

/* 2 — a guilloché rule struck beneath the quarter-workflow nav, on every page */
.hos-places .hp-turn::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -11px; height: 12px; z-index: 3;
  pointer-events: none; opacity: .55; background: var(--x-sea);
  -webkit-mask: url('engrave-band.svg') left center/auto 100% repeat-x;
          mask: url('engrave-band.svg') left center/auto 100% repeat-x;
}

/* 3 — a rosette watermark pressed into the far corner of every banner (behind the text) */
.hos-places .hx-banner::after {
  content: ''; position: absolute; right: -34px; top: 50%; transform: translateY(-50%);
  width: 184px; height: 184px; z-index: 0; pointer-events: none; opacity: .10;
  background: var(--x-cyan);
  -webkit-mask: url('engrave-rosette.svg') center/contain no-repeat;
          mask: url('engrave-rosette.svg') center/contain no-repeat;
}
.hos-places .hx-banner > * { position: relative; z-index: 1; }

/* 4 — letterpress: banner titles read as struck into the plate */
.hos-places .hx-banner h1 {
  text-shadow: 0 1px 0 rgba(0,0,0,.55), 0 -1px 0 rgba(224,236,238,.07) !important;
}
.hos-places .hx-banner-meta button { border-color: var(--x-gold-2) !important; color: var(--x-cyan) !important; }

/* 5 — the OUT tray: handled files carry a crimson filing stamp (the selvrose, struck askew) */
.hos-places .dk-tray-item { position: relative; overflow: hidden; }
.hos-places .dk-tray-item::after {
  content: ''; position: absolute; right: -14px; top: -14px; width: 76px; height: 76px;
  pointer-events: none; opacity: .16; transform: rotate(-12deg); background: var(--x-seal);
  -webkit-mask: url('selvrose-seal.svg') center/contain no-repeat;
          mask: url('selvrose-seal.svg') center/contain no-repeat;
}

/* 6 — the Record masthead: a rosette watermark behind the title + letterpress */
.vx-mast { position: relative; overflow: hidden; }
.vx-mast::before {
  content: ''; position: absolute; left: 50%; top: 50%; width: 240px; height: 240px;
  transform: translate(-50%,-48%); pointer-events: none; opacity: .07; background: var(--v-sea-deep);
  -webkit-mask: url('engrave-rosette.svg') center/contain no-repeat;
          mask: url('engrave-rosette.svg') center/contain no-repeat;
}
.vx-mast > * { position: relative; z-index: 1; }
.vx-title { text-shadow: 0 1px 0 rgba(255,255,255,.65), 0 2px 2px rgba(17,35,44,.10); }

/* 7 — the clear-desk reward: the selvrose struck in gold, the one earned mark */
.hos-places .dk-clear-msg .dk-seal.big { position: relative; border: 0 !important; box-shadow: none !important; }
.hos-places .dk-clear-msg .dk-seal.big::before {
  content: ''; position: absolute; inset: -10px; background: var(--x-earn);
  -webkit-mask: url('selvrose-seal.svg') center/contain no-repeat;
          mask: url('selvrose-seal.svg') center/contain no-repeat;
  filter: drop-shadow(0 0 10px rgba(226,183,101,.45));
}
.hos-places .dk-clear-msg .dk-seal.big svg { position: relative; z-index: 2; }

/* 8 — paper surfaces get a faint laid-paper grain so egg-white reads as stock, not a panel */
.vx-record, .hos-places .dk-paper, .hos-places .dk-memo, .hos-places .dk-tray-item,
.hos-places .dk-postmortem {
  background-image: repeating-linear-gradient(0deg, rgba(17,35,44,.018) 0 1px, transparent 1px 3px);
}

/* 9 — the banner is a MASTHEAD printed on snow, not a dark stock-room photo.
   Paper field, ink title, a struck guilloché rosette and security band in ink/sea,
   a crimson ensign rule. The polar-night treatment is reserved for the centre
   document on Intelligence and the far map — never the national frame. */
.hos-places .hx-banner {
  background: var(--v-paper-2) !important;
  background-image: repeating-linear-gradient(0deg, rgba(17,35,44,.02) 0 1px, transparent 1px 3px) !important;
  border-bottom: 2px solid var(--v-ink);
}
/* the rosette watermark, struck faint in ink */
.hos-places .hx-banner::after {
  right: 18px; width: 210px; height: 210px; opacity: .08; background: var(--v-sea-deep);
}
/* the security band struck along the foot of the masthead, in sea-ink */
.hos-places .hx-banner::before {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 9px; z-index: 1;
  pointer-events: none; opacity: .5; background: var(--v-ink);
  -webkit-mask: url('engrave-band.svg') left center/auto 100% repeat-x;
          mask: url('engrave-band.svg') left center/auto 100% repeat-x;
}
/* the crimson ensign rule between the seal and the ministry name */
.hos-places .hx-banner-copy { border-left: 2px solid var(--v-seal); padding-left: 20px; }
.hos-places .hp-turn::after { opacity: .5; }

/* the masthead type: struck in ink, Spectral — not the old caps dashboard title */
.hos-places .hx-banner h1 {
  font-family: var(--v-serif) !important; font-weight: 800 !important;
  font-size: 34px !important; letter-spacing: .005em !important; text-transform: none !important;
  color: var(--v-ink) !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.6) !important;
}
.hos-places .hx-banner p { color: var(--v-ink-dim) !important; font-family: var(--v-serif); font-style: italic; }
.hos-places .hx-crumbs { color: var(--v-sea-deep); font-family: var(--v-grote); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.hos-places .hx-crumbs i { color: var(--v-pewter); }
/* the departmental seal struck in sea-ink on paper */
.hos-places .hx-crest .va-seal .va-icon,
.hos-places .hx-crest .va-seal .va-star { color: var(--v-sea) !important; }
.hos-places .hx-crest .va-seal::before { background: var(--v-sea); }
.hos-places .hx-banner-meta { color: var(--v-sea-deep); }
.hos-places .hx-banner-meta strong { color: var(--v-ink); }
.hos-places .hx-banner-meta button {
  border: 1px solid var(--v-ink) !important; color: var(--v-ink) !important;
  background: var(--v-paper) !important; font-family: var(--v-grote);
}

/* ── the order as a writ (File-an-order right column): a choice becoming an instrument of state ── */
.hos-places .vx-writ { position:relative; overflow:hidden; background:var(--v-paper); color:var(--v-ink);
  font-family:var(--v-serif); border:1px solid var(--v-ink); border-radius:3px; padding:18px 18px 15px; margin:0 0 12px;
  box-shadow:0 14px 30px rgba(9,21,26,.42);
  background-image:repeating-linear-gradient(0deg, rgba(17,35,44,.02) 0 1px, transparent 1px 3px); }
.hos-places .vx-writ::before { content:''; position:absolute; left:0; right:0; top:0; height:9px; opacity:.4; pointer-events:none;
  background:var(--v-sea-deep); -webkit-mask:url('engrave-band.svg') left center/auto 100% repeat-x; mask:url('engrave-band.svg') left center/auto 100% repeat-x; }
.hos-places .vx-writ-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:3px 0 11px; }
.hos-places .vx-writ-no { font-family:var(--v-grote); font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--v-sea-deep); }
.hos-places .vx-writ-seal { width:36px; height:36px; flex:none; background:var(--v-edge); transition:background .25s ease, filter .25s ease;
  -webkit-mask:url('selvrose-seal.svg') center/contain no-repeat; mask:url('selvrose-seal.svg') center/contain no-repeat; }
.hos-places .vx-writ-ready .vx-writ-seal { background:var(--v-sea); }
.hos-places .vx-writ-filed .vx-writ-seal { background:#c99a2e; filter:drop-shadow(0 0 7px rgba(201,154,46,.5)); }
.hos-places .vx-writ-title { font-family:var(--v-serif); font-weight:800; font-size:22px; line-height:1.08; margin:0 0 6px; color:var(--v-ink); }
.hos-places .vx-writ-to { font-family:var(--v-grote); font-size:12px; color:var(--v-ink-dim); margin:0 0 11px; }
.hos-places .vx-writ-to b { color:var(--v-ink); }
.hos-places .vx-writ-lead { font-size:15.5px; line-height:1.5; margin:0 0 6px; color:var(--v-ink); }
.hos-places .vx-writ-lines { list-style:none; margin:4px 0 0; padding:0; }
.hos-places .vx-writ-lines li { font-size:13px; line-height:1.45; color:var(--v-ink-dim); padding:7px 0; border-top:1px solid var(--v-edge); }
.hos-places .vx-writ-stamp { margin:13px 0 0; font-family:var(--v-grote); font-size:11px; letter-spacing:.05em; }
.hos-places .vx-writ-stamp-draft { color:var(--v-ink-dim); font-style:italic; }
.hos-places .vx-writ-stamp-ready { color:var(--v-sea-deep); font-weight:700; }
.hos-places .vx-writ-stamp-filed { display:inline-block; color:var(--v-seal); font-weight:700; text-transform:uppercase;
  letter-spacing:.14em; border:2px solid var(--v-seal); border-radius:3px; padding:3px 9px; transform:rotate(-2.2deg); }
.hos-places .vx-writ-blank { font-style:italic; color:var(--v-ink-dim); text-align:center; padding:16px 4px; margin:0; font-size:14px; }

/* ── live floor count beneath the writ: will the order survive the floor ── */
.hos-places .vx-whip { background:var(--x-panel,#0b1a27); border:1px solid var(--x-line,#233a4c); border-radius:4px; padding:13px 15px; margin:0 0 12px; }
.hos-places .vx-whip-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:0 0 10px; }
.hos-places .vx-whip-label { font-family:var(--v-grote); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--v-sea); font-weight:700; }
.hos-places .vx-whip-read { font-family:var(--v-mono); font-size:11px; color:#aebbc4; white-space:nowrap; }
.hos-places .vx-whip-track { position:relative; height:10px; border-radius:5px; background:#0a141d; border:1px solid #1d3242; margin-top:12px; }
.hos-places .vx-whip-fill { position:absolute; left:0; top:0; bottom:0; border-radius:5px; transition:width .4s cubic-bezier(.4,0,.2,1), background .3s; }
.hos-places .vx-whip-carries .vx-whip-fill { background:linear-gradient(90deg,#1e6b7c,#53aab9); }
.hos-places .vx-whip-short .vx-whip-fill { background:linear-gradient(90deg,#9a6b1e,#e0a24b); }
.hos-places .vx-whip-dead .vx-whip-fill { background:linear-gradient(90deg,#7a2330,#b22c3c); }
.hos-places .vx-whip-need { position:absolute; top:-3px; bottom:-3px; width:2px; background:#eef2f4; box-shadow:0 0 0 1px #0a141d; }
.hos-places .vx-whip-need::after { content:'NEEDED'; position:absolute; top:-12px; left:50%; transform:translateX(-50%); font-family:var(--v-grote); font-size:7px; letter-spacing:.1em; color:#90a3b2; white-space:nowrap; }
.hos-places .vx-whip-verdict { margin:13px 0 11px; font-family:var(--v-serif); font-size:13.5px; line-height:1.35; color:#d6dee4; }
.hos-places .vx-whip-carries .vx-whip-verdict { color:#7fd0b4; }
.hos-places .vx-whip-dead .vx-whip-verdict { color:#eca0a0; }
.hos-places .vx-whip-blocs { list-style:none; margin:0; padding:0; }
.hos-places .vx-whip-bloc { display:flex; align-items:center; gap:8px; padding:6px 0; border-top:1px solid rgba(255,255,255,.055); font-size:12px; }
.hos-places .vx-whip-bn { flex:1; color:#c7d0d7; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hos-places .vx-whip-bs { font-family:var(--v-grote); font-size:8.5px; letter-spacing:.08em; padding:2px 6px; border-radius:3px; flex:none; }
.hos-places .vx-whip-seats { font-family:var(--v-mono); font-size:11px; color:#9fb0ba; min-width:32px; text-align:right; flex:none; }
.hos-places .stance-for .vx-whip-bs { color:#8ad8bb; background:rgba(46,120,90,.24); }
.hos-places .stance-lean .vx-whip-bs { color:#8fd0da; background:rgba(30,107,124,.22); }
.hos-places .stance-against .vx-whip-bs { color:#eca0a0; background:rgba(150,40,52,.24); }
.hos-places .stance-und .vx-whip-bs { color:#b0bcc4; background:rgba(120,140,150,.16); }
.hos-places .vx-whip-bloc.signed .vx-whip-bn { color:#eef2f4; font-style:italic; }

/* ── the seal strikes: it stamps when the order is ready, harder when filed ── */
@keyframes vx-stamp { 0% { transform:scale(1.55) rotate(-9deg); opacity:0; } 55% { transform:scale(.9) rotate(2deg); opacity:1; } 100% { transform:scale(1) rotate(0); opacity:1; } }
@keyframes vx-stamp-filed { 0% { transform:scale(1.8) rotate(-12deg); opacity:0; } 48% { transform:scale(.82) rotate(3deg); opacity:1; } 100% { transform:scale(1) rotate(0); opacity:1; } }
.hos-places .vx-writ-seal { transform-origin:center; }
.hos-places .vx-writ-ready .vx-writ-seal { animation:vx-stamp .42s cubic-bezier(.3,1.4,.5,1) both; }
.hos-places .vx-writ-filed .vx-writ-seal { animation:vx-stamp-filed .5s cubic-bezier(.3,1.5,.5,1) both; }
@media (prefers-reduced-motion: reduce) { .hos-places .vx-writ-seal { animation:none !important; } .hos-places .vx-whip-fill { transition:none; } }

/* ═══ Territories & influence — the DominionDesk register (dark situation-room, fjord accents) ═══ */
.hos-places .dv-campaign { background:linear-gradient(100deg,#0a1a24,#0c2531); border:1px solid var(--x-sea-deep,#124854); border-radius:5px; padding:16px 18px; margin:0 0 16px; }
.hos-places .dv-camp-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.hos-places .dv-camp-label { font-family:var(--v-grote); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--v-sea); font-weight:700; }
.hos-places .dv-camp-count { font-family:var(--v-serif); font-size:17px; color:#eaf2f4; }
.hos-places .dv-streak { display:flex; gap:6px; margin:11px 0 9px; }
.hos-places .dv-streak i { width:34px; height:9px; border-radius:2px; border:1px solid #3d7f8b; }
.hos-places .dv-streak i.on { background:var(--x-earn,#e2b765); border-color:var(--x-earn,#e2b765); box-shadow:0 0 8px rgba(226,183,101,.4); }
.hos-places .dv-camp-note { margin:0; font-family:var(--v-serif); font-size:13.5px; line-height:1.45; color:#c6d2d8; }

.hos-places .dv-register { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
@media (max-width:1100px){ .hos-places .dv-register { grid-template-columns:1fr; } }
.hos-places .dv-holding, .hos-places .dv-indep { background:var(--x-panel,#0b1a27); border:1px solid var(--x-line,#233a4c); border-left-width:3px; border-radius:5px; padding:13px 15px; min-width:0; }
.hos-places .dv-stable { border-left-color:var(--v-sea,#1e6b7c); }
.hos-places .dv-slipping { border-left-color:var(--v-seal,#b22c3c); }
.hos-places .dv-indep { border-left-color:#3a4f5e; }
.hos-places .dv-h-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:9px; }
.hos-places .dv-h-head h3 { margin:0; font-family:var(--v-serif); font-weight:700; font-size:18px; color:#eef2f4; }
.hos-places .dv-h-method { font-family:var(--v-mono); font-size:10.5px; color:#9fb2bb; text-align:right; }
.hos-places .dv-slipping .dv-h-method { color:#eca0a0; }
.hos-places .dv-indep-tag { font-family:var(--v-grote); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:#8094a0; }
.hos-places .dv-bar { display:flex; height:10px; border-radius:5px; background:#0a141d; border:1px solid #1d3242; overflow:hidden; margin-bottom:8px; }
.hos-places .dv-grip { background:linear-gradient(90deg,#1e6b7c,#53aab9); }
.hos-places .dv-resist { background:linear-gradient(90deg,#7a2330,#b22c3c); }
.hos-places .dv-h-note { margin:0 0 7px; font-family:var(--v-serif); font-size:12.5px; line-height:1.45; color:#b7c4cc; }
.hos-places .dv-rests { color:#8fb9c2; font-style:italic; }
.hos-places .dv-ledger { margin:0 0 7px; font-family:var(--v-mono); font-size:11px; }
.hos-places .dv-ledger.pos { color:#7fd0b4; } .hos-places .dv-ledger.neg { color:#eca0a0; }
.hos-places .dv-expose { margin:0 0 8px; font-family:var(--v-grote); font-size:11px; color:#eca0a0; }
.hos-places .dv-actions { display:flex; flex-wrap:wrap; gap:6px; }
.hos-places .dv-lever { flex:1 1 30%; min-width:120px; text-align:left; padding:7px 9px; border-radius:4px; cursor:pointer;
  background:var(--v-sea-deep,#124854); border:1px solid var(--x-gold-2,#2f7d8f); color:#eaf3f4; display:flex; flex-direction:column; gap:2px; }
.hos-places .dv-lever b { font-family:var(--v-grote); font-weight:600; font-size:11.5px; }
.hos-places .dv-lever small { font-family:var(--v-mono); font-size:9.5px; color:#bcd3d8; }
.hos-places .dv-lever:hover:not(:disabled) { filter:brightness(1.12); }
.hos-places .dv-lever:disabled { opacity:.45; cursor:not-allowed; }
.hos-places .dv-lever.risk { background:#1f1016; border-color:var(--v-seal,#b22c3c); }
.hos-places .dv-lever.risk small { color:#e7b3b3; }
.hos-places .dv-lever.queued { background:var(--x-earn,#e2b765); border-color:var(--x-earn,#e2b765); color:#1a1407; }
.hos-places .dv-lever.queued small { color:#4a3a12; }
.hos-places .dv-routes-intro { margin:0 0 9px; font-family:var(--v-serif); font-size:12px; color:#9fb0b8; }
.hos-places .dv-route { border-left:2px solid #2a3f4e; padding-left:10px; margin-bottom:9px; }
.hos-places .dv-route.ready { border-left-color:var(--v-sea,#1e6b7c); }
.hos-places .dv-route-head { display:flex; justify-content:space-between; gap:8px; font-family:var(--v-grote); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#aebcc4; margin-bottom:4px; }
.hos-places .dv-route.ready .dv-route-head { color:#7fd0b4; }
.hos-places .dv-tests { list-style:none; margin:0; padding:0; }
.hos-places .dv-tests li { font-family:var(--v-serif); font-size:12px; line-height:1.5; color:#7d909b; }
.hos-places .dv-tests li.met { color:#d6dee4; }
.hos-places .dv-coup { margin-top:11px; padding-top:10px; border-top:1px solid #243a46; }
.hos-places .dv-coup-label { font-family:var(--v-grote); font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--v-seal,#b22c3c); font-weight:700; }
.hos-places .dv-coup-note { margin:5px 0 8px; font-family:var(--v-serif); font-size:12.5px; line-height:1.45; color:#b7c4cc; }
.hos-places .dv-coup-margin { border:1px solid #3a2a2e; border-radius:5px; padding:8px 10px; margin-bottom:8px; }
.hos-places .dv-cm-row { display:flex; justify-content:space-between; gap:10px; font-family:var(--v-mono); font-size:10.5px; color:#b0bcc4; padding:1px 0; }
.hos-places .dv-cm-row b { color:#d6dee4; }
.hos-places .dv-cm-verdict { margin-top:6px; font-family:var(--v-serif); font-style:italic; font-size:12.5px; color:#eae0c8; }
.hos-places .dv-coup-acts { display:flex; gap:8px; }
.hos-places .dv-coup-acts .dv-lever { flex:1; align-items:center; text-align:center; }


/* ═══ The Region — THE STANDING OF THE REPUBLIC ══════════════════════════════
   A diegetic Foreign-Ministry report in the Valera Record's broadsheet language
   (reuses .vx-record / .vx-mast / .vx-ears / .vx-kicker / .vx-head / .vx-title).
   The data (standing, leverage, intel-tier redaction) printed as the republic's
   own paper, not a dashboard. Snow stock, fjord ink, sea & ensign-crimson rules. */
.hos-places .hx-region .hx-center { background:var(--v-paper); color:var(--v-ink); }
.hos-places .vx-standing { margin:0; }
.hos-places .vx-standing .vx-title { font-size:clamp(21px,3vw,33px); padding:0 160px; }
@media (max-width:720px){ .hos-places .vx-standing .vx-title { padding:0; font-size:22px; } .hos-places .vx-standing .vx-mast .vx-ears { position:static; display:inline-block; max-width:none; } }

/* the assessment — the lead of the report */
.hos-places .vx-standing-lead { padding:20px 26px 6px; border-bottom:1px solid var(--v-ink); }
.hos-places .vx-standing-lead .vx-head { font-size:clamp(20px,2.6vw,27px); margin:5px 0 16px; max-width:40ch; }
.hos-places .vx-st-ledger { display:grid; grid-template-columns:1fr 1fr; gap:26px; padding-bottom:16px; }
@media (max-width:820px){ .hos-places .vx-st-ledger { grid-template-columns:1fr; } }
.hos-places .vx-st-col { min-width:0; }
.hos-places .vx-st-row { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:6px; }
.hos-places .vx-st-label { font-family:var(--v-grote); font-weight:700; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--v-ink); }
.hos-places .vx-st-fig { font-family:var(--v-mono); font-size:11px; color:var(--v-ink-dim); white-space:nowrap; }
.hos-places .vx-st-bar { height:9px; background:#d7d0bf; border:1px solid var(--v-ink); border-radius:1px; overflow:hidden; }
.hos-places .vx-st-bar i { display:block; height:100%; background:var(--v-sea-deep); }
.hos-places .vx-st-bar.vx-st-global i { background:var(--v-sea); }
.hos-places .vx-st-parts { margin:9px 0 0; font-family:var(--v-mono); font-size:10px; line-height:1.7; color:var(--v-ink-dim); }
.hos-places .vx-st-part { display:inline-block; margin-right:14px; white-space:nowrap; }
.hos-places .vx-st-part b { color:var(--v-sea-deep); }
.hos-places .vx-st-none { font-style:italic; font-family:var(--v-serif); font-size:12px; }

/* the register of powers */
.hos-places .vx-reg-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding:14px 26px 12px; border-bottom:2px solid var(--v-ink); }
.hos-places .vx-reg-head > span:first-child { font-family:var(--v-grote); font-weight:700; font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--v-seal); }
.hos-places .vx-reg-note { font-family:var(--v-serif); font-style:italic; font-size:13px; color:var(--v-ink-dim); }
.hos-places .vx-register { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:860px){ .hos-places .vx-register { grid-template-columns:1fr; } }
/* each power is a filed dispatch, ruled off from its neighbours like newspaper columns */
.hos-places .vx-entry { position:relative; padding:16px 20px 15px; border-bottom:1px solid var(--v-ink); border-left:3px solid var(--v-pewter); }
.hos-places .vx-register > .vx-entry:nth-child(odd) { border-right:1px solid var(--v-ink); }
.hos-places .vx-entry.vx-e-strong { border-left-color:var(--v-sea); }
.hos-places .vx-entry.vx-e-held { border-left-color:var(--v-sea-deep); }
.hos-places .vx-entry.vx-e-cold { border-left-color:var(--v-seal); }
.hos-places .vx-e-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }
.hos-places .vx-e-head h3 { margin:0; font-family:var(--v-serif); font-weight:700; font-size:19px; color:var(--v-ink); }
.hos-places .vx-e-head h3 em { font-style:italic; font-weight:400; font-size:13px; color:var(--v-ink-dim); margin-left:9px; }
.hos-places .vx-e-tier { flex:none; font-family:var(--v-mono); font-size:9.5px; letter-spacing:.09em; text-transform:uppercase; color:var(--v-seal); }
.hos-places .vx-e-tier.vx-e-known { color:var(--v-sea-deep); }
/* the leverage figures — a ruled table, not glowing bars */
.hos-places .vx-e-figs { margin:0 0 11px; display:grid; grid-template-columns:1fr 1fr; gap:3px 20px; }
@media (max-width:1240px){ .hos-places .vx-e-figs { grid-template-columns:1fr; } }
.hos-places .vx-e-fig { display:grid; grid-template-columns:118px 1fr 22px; align-items:center; gap:8px; padding:2px 0; border-bottom:1px dotted rgba(17,35,44,.22); }
.hos-places .vx-e-fig dt { font-family:var(--v-serif); font-size:11.5px; color:var(--v-ink); margin:0; }
.hos-places .vx-e-fig dd { display:contents; }
.hos-places .vx-e-rule { grid-column:2; height:5px; background:#d7d0bf; border:1px solid rgba(17,35,44,.45); border-radius:1px; overflow:hidden; }
.hos-places .vx-e-rule i { display:block; height:100%; background:var(--v-sea-deep); }
.hos-places .vx-e-fig dd b { grid-column:3; font-family:var(--v-mono); font-size:10px; color:var(--v-ink-dim); text-align:right; }
/* redaction: a struck censor bar, classic on paper */
.hos-places .vx-censor { grid-column:2 / span 2; height:11px; background:var(--v-ink); border-radius:1px; }
.hos-places .vx-censor-wide { display:inline-block; width:150px; height:12px; vertical-align:middle; grid-column:auto; }
.hos-places .vx-e-fig.vx-red dt { color:var(--v-ink-dim); }
.hos-places .vx-e-sealed { margin:-5px 0 10px; font-family:var(--v-mono); font-size:9.5px; color:var(--v-ink-dim); }
/* the reads — set as running prose, the way a report is written */
.hos-places .vx-e-reads p, .hos-places .vx-e-fore { margin:0 0 7px; font-family:var(--v-serif); font-size:12.5px; line-height:1.5; color:var(--v-ink); }
.hos-places .vx-e-rl { font-family:var(--v-grote); font-weight:700; font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; }
.hos-places .vx-e-hold { color:var(--v-sea-deep); }
.hos-places .vx-e-risk { color:var(--v-seal); }
.hos-places .vx-e-reads p:nth-child(2) { color:#5c2d33; }
.hos-places .vx-e-fore { color:var(--v-ink-dim); }
.hos-places .vx-e-fore em { color:var(--v-ink); }
.hos-places .vx-e-seal-note { color:var(--v-ink-dim); font-family:var(--v-mono); font-style:normal; font-size:9.5px; }
.hos-places .vx-e-foot { display:flex; align-items:center; gap:12px; margin-top:11px; padding-top:10px; border-top:1px solid rgba(17,35,44,.3); flex-wrap:wrap; }
.hos-places .vx-e-lev { font-family:var(--v-grote); font-weight:700; font-size:10px; letter-spacing:.07em; text-transform:uppercase; color:var(--v-ink-dim); }
.hos-places .vx-e-lev b { font-family:var(--v-mono); font-size:14px; color:var(--v-sea-deep); margin-left:5px; }
.hos-places .vx-e-route { flex:1; min-width:120px; font-family:var(--v-serif); font-style:italic; font-size:12px; color:var(--v-ink-dim); }
.hos-places .vx-e-go { font-family:var(--v-grote); font-weight:600; font-size:10.5px; color:var(--v-paper); background:var(--v-sea-deep); border:1px solid var(--v-ink); border-radius:2px; padding:6px 11px; cursor:pointer; }
.hos-places .vx-e-go:hover { background:var(--v-ink); }

/* ═══ The Far Hemisphere — THE POLAR NIGHT ═══════════════════════════════════
   The inverted printed state (IDENTITY §counterpoint): the same seal and type as
   the snow rooms, struck on the long dark, with one aurora glow. Classified station
   report. Pale censor blocks (inverse of paper's ink bars). Reusable: this .px-*
   layer is the dark-room exemplar — Intelligence HQ / the map can adopt it. */
.hos-places .hx-far .hx-center { background:#06131a; color:#d4e2e6; }
.hos-places .px-record { position:relative; overflow:hidden; background:#09202a; border:1.5px solid #15343d; border-radius:4px; margin:0;
  background-image:repeating-linear-gradient(0deg, rgba(143,208,214,.012) 0 1px, transparent 1px 3px); }
.hos-places .px-record::before { content:''; position:absolute; top:-120px; right:-60px; width:520px; height:320px; pointer-events:none;
  background:radial-gradient(56% 68% at 72% 26%, rgba(120,210,220,.22), rgba(47,125,143,.07) 46%, transparent 72%); }

/* masthead — the seal struck pale on the dark, double-ruled */
.hos-places .px-mast { position:relative; text-align:center; padding:20px 24px 12px; border-bottom:3px double #2a5560; }
.hos-places .px-mast::before { content:''; position:absolute; left:50%; top:8px; width:150px; height:150px; transform:translateX(-50%); opacity:.07; pointer-events:none;
  background:#8fd0d6; -webkit-mask:url('selvrose-seal.svg') center/contain no-repeat; mask:url('selvrose-seal.svg') center/contain no-repeat; }
.hos-places .px-mast > * { position:relative; z-index:1; }
.hos-places .px-title { font-family:var(--v-serif); font-weight:800; font-size:clamp(21px,3vw,33px); letter-spacing:.01em; color:#f0f6f7; padding:0 160px; }
.hos-places .px-ears { position:absolute; top:20px; font-family:var(--v-mono); font-size:10px; line-height:1.6; letter-spacing:.08em; text-transform:uppercase; color:#7fa6ad; max-width:30%; }
.hos-places .px-ears.px-l { left:22px; text-align:left; }
.hos-places .px-ears.px-r { right:22px; text-align:right; }
.hos-places .px-dateline { font-family:var(--v-mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:#c7515f; margin-top:9px; }
@media (max-width:720px){ .hos-places .px-title { padding:0; font-size:22px; } .hos-places .px-ears { position:static; display:inline-block; max-width:none; } }

/* the reach — the lead */
.hos-places .px-lead { position:relative; padding:20px 26px 6px; border-bottom:1px solid #15343d; }
.hos-places .px-kicker { font-family:var(--v-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#8fd0d6; font-weight:600; }
.hos-places .px-head { font-family:var(--v-serif); font-size:clamp(19px,2.4vw,25px); line-height:1.3; color:#eef5f6; margin:6px 0 16px; max-width:52ch; }
.hos-places .px-ledger { display:grid; grid-template-columns:1fr 1fr; gap:26px; padding-bottom:16px; }
@media (max-width:820px){ .hos-places .px-ledger { grid-template-columns:1fr; } }
.hos-places .px-l-row { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:6px; }
.hos-places .px-l-row > span:first-child { font-family:var(--v-mono); font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:#aec6cc; }
.hos-places .px-fig { font-family:var(--v-mono); font-size:11px; color:#eef5f6; white-space:nowrap; }
.hos-places .px-bar { height:9px; background:#05151c; border:1px solid #1d4651; border-radius:2px; overflow:hidden; }
.hos-places .px-bar i { display:block; height:100%; background:linear-gradient(90deg,#2f7d8f,#6fc3d0); box-shadow:0 0 10px rgba(111,195,208,.45); }
.hos-places .px-bar.px-bar-2 i { background:linear-gradient(90deg,#3a6f86,#8fd0d6); }
.hos-places .px-l-note { margin:8px 0 0; font-family:var(--v-serif); font-style:italic; font-size:12px; color:#9fb7bd; }

/* the far capitals */
.hos-places .px-reg-head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding:14px 26px 12px; border-bottom:2px solid #2a5560; }
.hos-places .px-reg-head > span:first-child { font-family:var(--v-mono); font-weight:600; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8fd0d6; }
.hos-places .px-reg-note { font-family:var(--v-serif); font-style:italic; font-size:13px; color:#9fb7bd; }
.hos-places .px-register { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:860px){ .hos-places .px-register { grid-template-columns:1fr; } }
.hos-places .px-entry { position:relative; padding:16px 20px 15px; border-bottom:1px solid #15343d; border-left:3px solid #2a5560; }
.hos-places .px-register > .px-entry:nth-child(odd) { border-right:1px solid #15343d; }
.hos-places .px-entry.px-e-open { border-left-color:#6fc3d0; }
.hos-places .px-entry.px-e-dark { opacity:.82; }
.hos-places .px-e-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:8px; }
.hos-places .px-e-head h3 { margin:0; font-family:var(--v-serif); font-weight:700; font-size:19px; color:#f0f6f7; }
.hos-places .px-e-head h3 em { font-style:italic; font-weight:400; font-size:12.5px; color:#8fa7ad; margin-left:9px; }
.hos-places .px-e-tier { flex:none; font-family:var(--v-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:#c7515f; }
.hos-places .px-e-tier.px-e-known { color:#8fd0d6; }
.hos-places .px-e-want { margin:0 0 11px; font-family:var(--v-serif); font-size:12.5px; line-height:1.45; color:#c6d5da; }
.hos-places .px-e-wl { font-family:var(--v-mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:#8fd0d6; }
.hos-places .px-e-figs { margin:0 0 11px; }
.hos-places .px-fig-row { display:grid; grid-template-columns:130px 1fr 26px; align-items:center; gap:9px; padding:2px 0; border-bottom:1px dotted rgba(143,208,214,.14); }
.hos-places .px-fig-row dt { font-family:var(--v-serif); font-size:11.5px; color:#c6d5da; margin:0; }
.hos-places .px-fig-row dd { display:contents; }
.hos-places .px-fig-bar { grid-column:2; height:5px; background:#05151c; border:1px solid #1d4651; border-radius:1px; overflow:hidden; }
.hos-places .px-fig-bar i { display:block; height:100%; background:linear-gradient(90deg,#2f7d8f,#5eb8c6); }
.hos-places .px-fig-row dd b { grid-column:3; font-family:var(--v-mono); font-size:10px; color:#9fb2bb; text-align:right; }
.hos-places .px-fig-text dd b { grid-column:2 / span 2; text-align:left; color:#aec6cc; }
/* redaction: a pale struck block on the dark — the inverse of paper's ink censor bar */
.hos-places .px-censor { grid-column:2 / span 2; height:11px; background:repeating-linear-gradient(135deg,#9db6b2 0 6px,#8aa5a0 6px 12px); border-radius:1px; }
.hos-places .px-unredact { grid-column:3; font-family:var(--v-mono); font-size:8px; color:#7fa6ad; white-space:nowrap; text-align:right; }
.hos-places .px-fig-row.px-red dt { color:#7fa6ad; }
/* agreement stamps */
.hos-places .px-stamps { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.hos-places .px-stamp { font-family:var(--v-mono); font-size:9.5px; letter-spacing:.06em; text-transform:uppercase; color:#6f8a93; border:1px dashed #27525c; border-radius:2px; padding:2px 7px; }
.hos-places .px-stamp-on { color:#06131a; background:#6fc3d0; border-style:solid; border-color:#6fc3d0; font-weight:600; }
.hos-places .px-e-foot { display:flex; align-items:center; gap:12px; margin-top:4px; padding-top:10px; border-top:1px solid rgba(143,208,214,.16); flex-wrap:wrap; }
.hos-places .px-e-state { flex:1; min-width:120px; font-family:var(--v-serif); font-style:italic; font-size:12px; color:#9fb7bd; }
.hos-places .px-go { font-family:var(--v-mono); font-size:10.5px; color:#eaf6f7; background:#123c47; border:1px solid #2f7d8f; border-radius:3px; padding:6px 11px; cursor:pointer; }
.hos-places .px-go:hover { background:#17505e; }
.hos-places .px-e-sealed { margin:-4px 0 10px; font-family:var(--v-mono); font-size:9.5px; color:#7fa6ad; }

/* ═══ Territories & influence — THE ADMINISTRATION ROLL (snow) ═══════════════
   Valera's ledger of what it holds, in the Record/Region broadsheet language.
   Reuses .vx-record/.vx-mast/.vx-ears/.vx-kicker/.vx-head/.vx-reg-head. */
.hos-places .hx-dominion .hx-center { background:var(--v-paper); color:var(--v-ink); }
.hos-places .vx-roll .vx-title { font-size:clamp(21px,3vw,33px); padding:0 160px; }
@media (max-width:720px){ .hos-places .vx-roll .vx-title { padding:0; font-size:22px; } .hos-places .vx-roll .vx-mast .vx-ears { position:static; display:inline-block; max-width:none; } }
.hos-places .ar-lead .vx-head { font-size:clamp(18px,2.3vw,24px); max-width:44ch; }
.hos-places .ar-lead-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:26px; padding-bottom:16px; }
@media (max-width:820px){ .hos-places .ar-lead-grid { grid-template-columns:1fr; } }
.hos-places .ar-l-row { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:7px; font-family:var(--v-grote); font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--v-ink); }
.hos-places .ar-l-note { margin:9px 0 0; font-family:var(--v-serif); font-style:italic; font-size:12px; line-height:1.5; color:var(--v-ink-dim); }
.hos-places .ar-streak { display:flex; gap:6px; }
.hos-places .ar-streak i { flex:1; height:10px; border:1px solid var(--v-ink); border-radius:1px; background:#d7d0bf; }
.hos-places .ar-streak i.on { background:var(--x-earn,#b8902f); border-color:#8a6a1f; }
.hos-places .ar-net { font-family:var(--v-mono); font-size:15px; }
.hos-places .ar-net.pos { color:var(--v-sea-deep); } .hos-places .ar-net.neg { color:var(--v-seal); }
.hos-places .vx-st-fig { font-family:var(--v-mono); font-size:11px; color:var(--v-ink-dim); }

.hos-places .ar-docket-head { margin-top:2px; }
.hos-places .ar-register { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:1150px){ .hos-places .ar-register { grid-template-columns:1fr; } }
.hos-places .ar-empty { grid-column:1/-1; padding:20px 20px; margin:0; font-family:var(--v-serif); font-style:italic; font-size:13.5px; color:var(--v-ink-dim); }
.hos-places .ar-holding { position:relative; padding:15px 18px 14px; border-bottom:1px solid var(--v-ink); border-left:3px solid var(--v-sea); }
.hos-places .ar-register > .ar-holding:nth-child(odd) { border-right:1px solid var(--v-ink); }
.hos-places .ar-holding.ar-slipping { border-left-color:var(--v-seal); }
.hos-places .ar-h-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:6px; }
.hos-places .ar-h-head h3 { margin:0; font-family:var(--v-serif); font-weight:700; font-size:18px; color:var(--v-ink); }
.hos-places .ar-h-head h3 em { font-style:italic; font-weight:400; font-size:12.5px; color:var(--v-ink-dim); margin-left:9px; }
.hos-places .ar-h-state { flex:none; font-family:var(--v-mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--v-sea-deep); }
.hos-places .ar-h-state.ar-warn { color:var(--v-seal); }
.hos-places .ar-h-rests { margin:0 0 10px; font-family:var(--v-serif); font-size:12px; line-height:1.45; color:var(--v-ink-dim); }
.hos-places .ar-h-rests b { color:var(--v-ink); font-weight:600; }
.hos-places .ar-grip-row { display:flex; justify-content:space-between; font-family:var(--v-mono); font-size:10px; color:var(--v-ink-dim); margin-bottom:3px; }
.hos-places .ar-grip-bar { display:flex; height:9px; border:1px solid var(--v-ink); border-radius:1px; overflow:hidden; background:#d7d0bf; margin-bottom:11px; }
.hos-places .ar-grip-fill { background:linear-gradient(90deg,var(--v-sea-deep),var(--v-sea)); }
.hos-places .ar-grip-res { background:repeating-linear-gradient(135deg,#b4515c 0 5px,#9a3f49 5px 10px); }
.hos-places .ar-ledger { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0 0 11px; border:1px solid var(--v-ink); }
.hos-places .ar-led { padding:6px 9px; border-right:1px solid rgba(17,35,44,.25); }
.hos-places .ar-ledger .ar-led:last-child { border-right:0; }
.hos-places .ar-led dt { font-family:var(--v-grote); font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--v-ink-dim); margin:0 0 2px; }
.hos-places .ar-led dd { margin:0; font-family:var(--v-mono); font-size:12px; color:var(--v-ink); }
.hos-places .ar-led.pos dd { color:var(--v-sea-deep); } .hos-places .ar-led.neg dd { color:var(--v-seal); }
.hos-places .ar-expose { margin:0 0 11px; font-family:var(--v-mono); font-size:10px; line-height:1.5; color:var(--v-seal); border-left:2px solid var(--v-seal); padding-left:9px; }
.hos-places .ar-levers { display:flex; flex-wrap:wrap; gap:7px; }
.hos-places .ar-lever { display:flex; flex-direction:column; align-items:flex-start; gap:1px; font-family:var(--v-grote); text-align:left;
  background:var(--v-paper-2); color:var(--v-ink); border:1px solid var(--v-ink); border-radius:2px; padding:6px 10px; cursor:pointer; }
.hos-places .ar-lever b { font-weight:600; font-size:11.5px; }
.hos-places .ar-lever small { font-family:var(--v-mono); font-size:8.5px; color:var(--v-ink-dim); }
.hos-places .ar-lever:hover:not(:disabled) { background:var(--v-sea-deep); color:var(--v-paper); }
.hos-places .ar-lever:hover:not(:disabled) small { color:#cfe4e8; }
.hos-places .ar-lever:disabled { opacity:.5; cursor:default; }
.hos-places .ar-lever.ar-risk { border-color:var(--v-seal); }
.hos-places .ar-lever.ar-queued { background:var(--v-sea-deep); color:var(--v-paper); }
.hos-places .ar-lever.ar-queued small { color:#cfe4e8; }

/* the docket of independents */
.hos-places .ar-docket { display:grid; grid-template-columns:1fr 1fr; }
@media (max-width:1150px){ .hos-places .ar-docket { grid-template-columns:1fr; } }
.hos-places .ar-indep { padding:13px 18px; border-bottom:1px solid var(--v-ink); border-left:3px solid var(--v-pewter); }
.hos-places .ar-docket > .ar-indep:nth-child(odd) { border-right:1px solid var(--v-ink); }
.hos-places .ar-i-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:9px; flex-wrap:wrap; }
.hos-places .ar-i-head h3 { margin:0; font-family:var(--v-serif); font-weight:700; font-size:16px; color:var(--v-ink); }
.hos-places .ar-i-head h3 em { font-style:italic; font-weight:400; font-size:11.5px; color:var(--v-ink-dim); margin-left:8px; }
.hos-places .ar-i-route { font-family:var(--v-mono); font-size:10px; color:var(--v-sea-deep); background:transparent; border:0; border-bottom:1px solid var(--v-sea-deep); cursor:pointer; padding:0 0 1px; }
.hos-places .ar-i-route:hover { color:var(--v-ink); }
.hos-places .ar-coup-label { display:block; font-family:var(--v-grote); font-weight:700; font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--v-seal); margin-bottom:4px; }
.hos-places .ar-coup-note { margin:0 0 8px; font-family:var(--v-serif); font-size:12px; line-height:1.45; color:var(--v-ink-dim); }
.hos-places .ar-coup-margin { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; margin-bottom:8px; font-family:var(--v-mono); font-size:10px; color:var(--v-ink-dim); }
.hos-places .ar-cm-part b { color:var(--v-ink); margin-left:3px; }
.hos-places .ar-cm-verdict { width:100%; font-family:var(--v-serif); font-style:italic; font-size:11.5px; color:var(--v-ink); }
.hos-places .ar-coup-margin.ok .ar-cm-verdict { color:var(--v-sea-deep); } .hos-places .ar-coup-margin.bad .ar-cm-verdict { color:var(--v-seal); }
.hos-places .ar-coup-acts { display:flex; gap:7px; }

/* ═══ THE MINISTRY FOLIO — printed on snow (the template's "clear light") ═══════
   The frame is PAPER: letterhead, index and process rule all on snow stock, ink
   type, engraving struck in ink. The default surface is light; only the Intelligence
   and far-map DOCUMENTS go dark (the war room). "The press office into the war room." */
.hos-places { background:var(--v-paper); }
.hos-places .hx-workspace { background:var(--v-paper); }
/* the workspace interior reads as paper: snow centre column and right file-margin */
.hos-places .hx-center { border-left:1px solid var(--v-edge); border-right:1px solid var(--v-edge); }
.hos-places .hx-right { background:var(--v-paper-2); border-left:1px solid var(--v-edge); }

/* the letterhead */
.hos-places .hp-header { position:relative; background:var(--v-paper-2) !important; border-bottom:2px solid var(--v-ink) !important; padding:14px 24px;
  background-image:repeating-linear-gradient(0deg, rgba(17,35,44,.02) 0 1px, transparent 1px 3px) !important; }
.hos-places .hp-header::after { content:''; position:absolute; left:0; right:0; bottom:-2px; height:7px; opacity:.5; pointer-events:none;
  background:var(--v-ink); -webkit-mask:url('engrave-band.svg') left center/auto 100% repeat-x; mask:url('engrave-band.svg') left center/auto 100% repeat-x; }
.hos-places .hp-brand { align-items:center; gap:0; }
.hos-places .hp-brand > div { border-left:2px solid var(--v-seal); padding-left:15px; margin-left:14px; }
.hos-places .hp-brand strong { font-family:var(--v-serif); font-weight:700; font-size:25px; letter-spacing:.01em; color:var(--v-ink); text-transform:none; }
.hos-places .hp-brand small { font-family:var(--v-grote); font-weight:600; font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--v-ink-dim); }
.hos-places .hp-brand .va-seal { border-color:var(--v-sea-deep) !important; box-shadow:0 0 0 4px var(--v-paper-2), 0 0 0 5px var(--v-seal) !important; }
.hos-places .hp-brand .va-seal .va-icon, .hos-places .hp-brand .va-seal .va-star { color:var(--v-sea); }

/* the ledger of state */
.hos-places .hp-stats > div { border-left:1px solid var(--v-edge); }
.hos-places .hp-stats small { font-family:var(--v-grote); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--v-pewter); }
.hos-places .hp-stats strong { font-family:var(--v-grote); font-weight:600; font-size:19px; color:var(--v-ink); }
.hos-places .hx-season .va-icon, .hos-places .hx-season strong { color:var(--v-sea-deep); }
.hos-places .hx-season strong { font-family:var(--v-grote); }
.hos-places .hx-season span { color:var(--v-ink-dim); }

/* the process rule (quarter steps) */
.hos-places .hp-turn { background:var(--v-paper); border-bottom:1px solid var(--v-ink); }
.hos-places .hp-turn > button { font-family:var(--v-grote); font-size:13.5px; color:var(--v-ink-dim); }
.hos-places .hp-turn > button+button::before { border-left-color:var(--v-edge); }
.hos-places .hp-turn > button b { font-family:var(--v-mono); color:var(--v-sea-deep); }
.hos-places .hp-turn > button.active { color:var(--v-ink); box-shadow:inset 0 -2px var(--v-seal); }
.hos-places .hp-turn > button.active b { color:var(--v-seal); }
.hos-places .hp-allowance { font-family:var(--v-grote); color:var(--v-ink-dim); border-left-color:var(--v-edge); }
.hos-places .hp-allowance .va-icon { color:var(--v-sea-deep); }

/* the rail + Departments register */
.hos-places .hx-rail { background:var(--v-paper-2); }
.hos-places .hx-search { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-search .va-icon { color:var(--v-ink-dim); }
.hos-places .hx-search input { font-family:var(--v-grote); color:var(--v-ink); }
.hos-places .hx-rail-item { background:var(--v-paper); border:1px solid var(--v-edge); border-radius:3px; font-family:var(--v-grote); color:var(--v-ink); }
.hos-places .hx-rail-item.active { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hx-rail-item .va-icon { color:var(--v-sea-deep); }
.hos-places .hx-rail-item small { color:var(--v-ink-dim); }
/* the department's own section index — struck in ink, not faded on snow */
.hos-places .hx-sections button { color:var(--v-ink); font-family:var(--v-grote); border:1px solid transparent; border-radius:3px; }
.hos-places .hx-sections button .va-icon { color:var(--v-sea-deep); }
.hos-places .hx-sections button b { color:var(--v-pewter); }
.hos-places .hx-sections button em { color:var(--v-sea-deep); border:1px solid var(--v-sea); border-radius:10px; }
.hos-places .hx-sections button.active { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); box-shadow:none; }
.hos-places .hx-sections button.active .va-icon { color:var(--v-sea); }
.hos-places .hx-sections button:hover:not(:disabled):not(.active) { background:var(--v-paper); border-color:var(--v-edge); }
.hos-places .hx-rail h4 { color:var(--v-seal); font-family:var(--v-grote); }
.hos-places .hx-rail-crumb { color:var(--v-ink-dim); font-family:var(--v-grote); }
.hos-places .hx-rail-note { color:var(--v-ink-dim); }
@media (min-width:1000px) and (min-height:600px) { .hos-places .hx-rail .hx-medallion-wrap { background:var(--v-paper-2); } }
.hos-places .hx-medallion { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:40px 3px 3px 40px; font-family:var(--v-grote); color:var(--v-ink); }
.hos-places .hx-medallion b { color:var(--v-ink-dim); }
.hos-places .hx-seal-ring .va-seal { border-color:var(--v-sea-deep) !important; box-shadow:0 0 0 3px var(--v-paper),0 0 0 4px var(--v-seal) !important; }
.hos-places .hx-seal-ring .va-seal .va-icon, .hos-places .hx-seal-ring .va-seal .va-star { color:var(--v-sea); }
.hos-places .hx-dept-menu { background:var(--v-paper); border:1.5px solid var(--v-ink); border-radius:4px; box-shadow:0 20px 56px rgba(17,35,44,.25); max-height:62vh; overflow-y:auto; }
.hos-places .hx-dept-menu::before { content:'Register of departments'; display:block; font-family:var(--v-mono); font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--v-seal); padding:2px 2px 8px; border-bottom:1px solid var(--v-ink); margin-bottom:8px; }
.hos-places .hx-dept-grid button { background:var(--v-paper); border:1px solid var(--v-edge); border-radius:3px; font-family:var(--v-serif); font-size:14px; color:var(--v-ink); }
.hos-places .hx-dept-grid button .va-icon { color:var(--v-sea-deep); }
.hos-places .hx-dept-grid button.active { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hx-dept-grid button:hover { border-color:var(--v-sea); }

/* the colophon (footer) */
.hos-places .hp-footer { position:relative; background:var(--v-paper-2); border-top:2px solid var(--v-ink); }
.hos-places .hp-footer::before { content:''; position:absolute; left:0; right:0; top:-2px; height:6px; opacity:.45; pointer-events:none;
  background:var(--v-ink); -webkit-mask:url('engrave-band.svg') left center/auto 100% repeat-x; mask:url('engrave-band.svg') left center/auto 100% repeat-x; }
.hos-places .hp-footer strong { font-family:var(--v-grote); font-weight:700; letter-spacing:.18em; color:var(--v-seal); }
.hos-places .hp-footer > span { font-family:var(--v-serif); color:var(--v-ink); }
.hos-places .hp-footer > button:first-of-type { color:var(--v-sea-deep); }
.hos-places .hp-footer small { font-family:var(--v-mono); color:var(--v-ink-dim); }
.hos-places .hp-footer > button.hx-return { font-family:var(--v-grote); border:1px solid var(--v-ink); color:var(--v-paper); background:var(--v-sea-deep); border-radius:3px; }

/* the wire (ticker) — printed slips */
.hos-places .tk-lane { background:var(--v-paper); border:1px solid var(--v-edge); border-radius:3px; color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .tk-lane:hover, .hos-places .tk-lane:focus-visible { border-color:var(--v-sea); }
.hos-places .tk-tag { color:var(--v-sea-deep); font-family:var(--v-mono); letter-spacing:.12em; }
.hos-places .tk-ex .tk-tag { color:var(--v-ink-dim); }
.hos-places .tk-item i { color:var(--v-sea-deep); }

/* the full sidebar (non-workspace pages, e.g. the desk) */
.hos-places .hp-sidebar { background:var(--v-paper-2); border-right:1px solid var(--v-ink); }
.hos-places .hp-eyebrow { font-family:var(--v-mono); font-size:9.5px; letter-spacing:.14em; color:var(--v-seal); font-weight:600; }
.hos-places .hp-sidebar button { font-family:var(--v-grote); color:var(--v-ink); border:1px solid transparent; border-radius:3px; }
.hos-places .hp-sidebar button.active { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hp-sidebar button .va-icon { color:var(--v-sea-deep); }
.hos-places .hp-departments summary { font-family:var(--v-grote); color:var(--v-ink-dim); }
.hos-places .va-nav-search { border:1px solid var(--v-ink); color:var(--v-ink-dim); border-radius:3px; }
.hos-places .va-nav-search input { font-family:var(--v-grote); color:var(--v-ink); }
.hos-places .hp-side-bottom .hp-tag { border:1px solid var(--v-edge); color:var(--v-ink-dim); border-radius:3px; font-family:var(--v-mono); letter-spacing:.06em; }
.hos-places .hp-side-bottom .hp-tag.good { border-color:var(--v-sea); color:var(--v-sea-deep); }

/* notices — printed status slips */
.hos-places .hp-notice { background:var(--v-paper-2); border:1px solid var(--v-ink); border-left:3px solid var(--v-seal); color:var(--v-ink); font-family:var(--v-grote); border-radius:3px; }

/* the office strip (NOW / what it can do this quarter) — a printed memo band on snow */
.hos-places .gd-strip { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .gd-strip > div { border-right:1px solid var(--v-edge); }
.hos-places .gd-strip p { color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .gd-strip small { color:var(--v-ink-dim); }
.hos-places .gd-strip-label { color:var(--v-pewter); font-family:var(--v-grote); letter-spacing:.14em; }
.hos-places .gd-strip-label.cyan { color:var(--v-seal); font-family:var(--v-mono); letter-spacing:.1em; }
.hos-places .gd-strip-label.warn { color:var(--v-sea-deep); }
.hos-places .gd-strip-toggle { border:1px solid var(--v-ink); color:var(--v-ink); font-family:var(--v-grote); border-radius:3px; background:var(--v-paper); }
.hos-places .gd-compact-now p { font-family:var(--v-serif); color:var(--v-ink); }
/* the "Authorise one more" primary in the strip reads as a stamp, not a neon pill */
.hos-places .gd-strip .hx-primary, .hos-places .gd-cap button { background:var(--v-sea-deep); color:var(--v-paper); border:0; border-radius:3px; font-family:var(--v-grote); }


/* ═══════════════════════════════════════════════════════════════════════════
   THE WORKING PAPERS — shared centre components, printed on snow.
   Every department body that is not yet a bespoke document still renders through
   the shared .hx-* components (cards, KPI strips, tables, advisor, draft forms,
   pills, tabs). These overrides lift them all onto snow stock at once: paper
   fields, ink type, sea accents, filing-stamp buttons. The polar-night map
   (.hx-mapstage) and the Intelligence document (.id-*) are deliberately exempt.
   Build 35.2 · the clear-light pass (10 Oct).
   ═══════════════════════════════════════════════════════════════════════════ */

/* section + card headings struck in ink */
.hos-places .hx-center h2.hx-title, .hos-places .hx-right h2.hx-title,
.hos-places .hx-draft-head h2 { color:var(--v-ink) !important; font-family:var(--v-grote) !important; }
.hos-places .hx-center .hx-sub, .hos-places .hx-draft-head .hx-sub2 { color:var(--v-ink-dim); }
.hos-places .hx-label { color:var(--v-seal); font-family:var(--v-grote); }

/* the paper panel */
.hos-places .hx-card { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; color:var(--v-ink); }

/* KPI strip → a ruled ledger head: ink figures, pewter labels, sea for the lead figure */
.hos-places .hx-kpis { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-kpis>div+div { border-left:1px solid var(--v-edge); }
.hos-places .hx-kpis small { color:var(--v-pewter) !important; font-family:var(--v-grote); letter-spacing:.02em; }
.hos-places .hx-kpis strong { color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .hx-kpis strong.gold { color:var(--v-sea-deep); }

/* table → a printed account: ink rows, hairline rules */
.hos-places .hx-table th { color:var(--v-pewter); font-family:var(--v-grote); letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid var(--v-ink); }
.hos-places .hx-table td { color:var(--v-ink); border-bottom:1px solid var(--v-edge); font-family:var(--v-serif); }
.hos-places .hx-table .num { font-family:var(--v-grote); }
.hos-places .hx-bar { background:var(--v-edge); border-radius:2px; }
.hos-places .hx-bar>span { background:var(--v-sea); }
.hos-places .hx-bar.gold>span { background:var(--v-sea-deep); }

/* status inks on paper */
.hos-places .hx-good { color:#2f7d4e !important; } .hos-places .hx-warn { color:#9a6a1f !important; }
.hos-places .hx-bad { color:var(--v-seal) !important; } .hos-places .hx-cyan { color:var(--v-sea-deep) !important; }
.hos-places .hx-gold { color:var(--v-sea-deep) !important; }

/* pills → printed tags */
.hos-places .hx-pill { border:1px solid currentColor; border-radius:2px; font-family:var(--v-mono); font-size:11px; letter-spacing:.06em; }
.hos-places .hx-pill.gold { color:var(--v-sea-deep); } .hos-places .hx-pill.cyan { color:var(--v-sea-deep); border-color:var(--v-sea); background:#e2edee; }
.hos-places .hx-pill.red { color:var(--v-seal); } .hos-places .hx-pill.green { color:#2f7d4e; }

/* advisor → a signed minute on paper */
.hos-places .hx-advisor { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-portrait { background:var(--v-edge); border:1px solid var(--v-pewter); color:var(--v-sea-deep); }
.hos-places .hx-role { color:var(--v-seal); font-family:var(--v-grote); }
.hos-places .hx-advisor p { color:var(--v-ink) !important; font-family:var(--v-serif); }
.hos-places .hx-link { color:var(--v-sea-deep); font-family:var(--v-grote); }

/* draft card + its form controls → a writ being filled in */
.hos-places .hx-draft { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-draft-head .hx-sub2 { color:var(--v-ink-dim); }
.hos-places .hx-field, .hos-places .hx-field-stack>span, .hos-places .hx-field>span,
.hos-places .hx-range-head, .hos-places .hx-choice-note { color:var(--v-ink); }
.hos-places .hx-range-head strong { color:var(--v-seal); }
.hos-places .hx-draft select, .hos-places .hx-draft textarea, .hos-places .hx-field input[type=number] {
  background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); border-radius:3px; font-family:var(--v-grote); }
.hos-places .hx-draft input[type=range] { accent-color:var(--v-sea); }
.hos-places .hx-choice-row { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-choice-row button { color:var(--v-ink-dim); }
.hos-places .hx-choice-row button+button { border-left:1px solid var(--v-edge); }
.hos-places .hx-choice-row button[aria-pressed=true] { background:#d8e7e9; color:var(--v-sea-deep); box-shadow:inset 0 0 0 1px var(--v-sea); }
.hos-places .hx-chips button { border:1px solid var(--v-edge); color:var(--v-ink); border-radius:3px; }
.hos-places .hx-chips button[aria-pressed=true] { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hx-chips button small { color:var(--v-ink-dim); }
.hos-places .hx-rows { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-rows>div+div { border-top:1px solid var(--v-edge); }
.hos-places .hx-rows dt { color:var(--v-ink-dim); } .hos-places .hx-rows dd { color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .hx-foot { color:var(--v-ink-dim) !important; }
.hos-places .hx-draft details { border:1px solid var(--v-edge); border-radius:3px; }
.hos-places .hx-draft details summary { color:var(--v-ink-dim); }
/* envoy mandate radios + capital-margin columns were never snowed (dark in the embassy right column) */
.hos-places .hx-radios button { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .hx-radios button[aria-checked=true] { border-color:var(--v-sea); background:#d8e7e9; }
.hos-places .hx-radios button i { border:1.5px solid var(--v-pewter); }
.hos-places .hx-radios button[aria-checked=true] i { border-color:var(--v-sea); background:var(--v-sea); box-shadow:inset 0 0 0 4px #d8e7e9; }
.hos-places .hx-radios strong { color:var(--v-ink); } .hos-places .hx-radios small { color:var(--v-ink-dim); }
.hos-places .hx-margin-col { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .hx-margin-col>div { color:var(--v-ink); }
.hos-places .hx-margin-col .tot { border-top:1px solid var(--v-edge); }
.hos-places .hx-margin-col small { color:var(--v-ink-dim); }
/* relationship-memory ledger (H.BargainingLedger) carried dark-theme text — ghost-faint on snow */
.hos-places .h21-card-head h3 { color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .h21-card-head small { color:var(--v-seal); }
.hos-places .h21-ledger p, .hos-places .h21-fiscal p { color:var(--v-ink-dim); }
.hos-places .h21-interest-tags span, .hos-places .h21-reasons span { border:1px solid var(--v-edge); color:var(--v-ink); }
.hos-places .h21-reasons .met { border-color:var(--v-sea); color:var(--v-sea-deep); }
.hos-places .h21-brief { border-left:3px solid var(--v-sea); }

/* the stepper */
.hos-places .hx-stepper li { color:var(--v-ink-dim); }
.hos-places .hx-stepper li i { border:1.5px solid var(--v-pewter); background:var(--v-paper); }
.hos-places .hx-stepper li:not(:last-child)::after { border-top:1px solid var(--v-edge); }
.hos-places .hx-stepper li:not(:last-child)::before { color:var(--v-pewter); }
.hos-places .hx-stepper li.done i { background:var(--v-sea); border-color:var(--v-sea); }
.hos-places .hx-stepper li.active { color:var(--v-sea-deep); }
.hos-places .hx-stepper li.active i { background:var(--v-sea); border-color:var(--v-sea); box-shadow:0 0 0 4px rgba(30,107,124,.2); }

/* primary / secondary → filing stamps */
.hos-places .hx-primary { background:var(--v-sea-deep); color:var(--v-paper); border:0; border-radius:3px; font-family:var(--v-grote); letter-spacing:.02em; }
.hos-places .hx-primary:hover:not(:disabled) { background:var(--v-sea); }
.hos-places .hx-secondary { border:1px solid var(--v-ink); color:var(--v-ink); border-radius:3px; }
.hos-places .hx-offer { border-color:var(--v-sea); color:var(--v-sea-deep); }

/* whip count → a printed tally */
.hos-places .hx-whip-bar { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-whip-bar .for { background:var(--v-sea); color:var(--v-paper); }
.hos-places .hx-whip-bar .undecided { background:var(--v-edge); color:var(--v-ink); }
.hos-places .hx-whip-bar .against { background:var(--v-seal); color:var(--v-paper); }
.hos-places .hx-whip-mark { border-left:1px dashed var(--v-ink); }
.hos-places .hx-whip-mark span { color:var(--v-ink); }

/* segmented + tabs */
.hos-places .hx-segmented { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-segmented button { color:var(--v-ink-dim); }
.hos-places .hx-segmented button[aria-pressed=true] { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hx-tabs { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-tabs button { color:var(--v-ink-dim); }
.hos-places .hx-tabs button[aria-pressed=true] { color:var(--v-ink); box-shadow:inset 0 -2px var(--v-sea); background:#d8e7e9; }
.hos-places .hx-country-tabs { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-country-tabs button { color:var(--v-ink-dim); }
.hos-places .hx-country-tabs button+button { border-left:1px solid var(--v-edge); }
.hos-places .hx-country-tabs button[aria-pressed=true] { background:#d8e7e9; color:var(--v-sea-deep); box-shadow:inset 0 0 0 1px var(--v-sea); }

/* evidence rows (used on some analysis bodies) */
.hos-places .hx-evidence { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-evidence>div { background:var(--v-paper); }
.hos-places .hx-evidence>div+div { border-top:1px solid var(--v-edge); }
.hos-places .hx-evidence span { color:var(--v-ink); }
.hos-places .hx-evidence small { color:var(--v-ink-dim); }
.hos-places .hx-evidence .obs b, .hos-places .hx-evidence .obs .va-icon { color:var(--v-sea-deep); }
.hos-places .hx-evidence .rep b, .hos-places .hx-evidence .rep .va-icon { color:#9a6a1f; }

/* bloc rows (Congress) */
.hos-places .hx-blocs { border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-bloc { background:var(--v-paper); color:var(--v-ink); }
.hos-places .hx-bloc+.hx-bloc { border-top:1px solid var(--v-edge); }
.hos-places .hx-bloc.active { box-shadow:inset 0 0 0 1px var(--v-sea); background:#d8e7e9; }
.hos-places .hx-bloc small { color:var(--v-ink-dim); }

/* price row, toggles */
.hos-places .hx-price { background:var(--v-paper-2); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hx-price strong { color:var(--v-ink); } .hos-places .hx-price small { color:var(--v-ink-dim); }
.hos-places .hx-toggle { background:var(--v-paper); border:1px solid var(--v-edge); color:var(--v-ink); border-radius:3px; }
.hos-places .hx-toggle[aria-pressed=true] { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }

/* native legacy panels quieted onto paper */
.hos-places .hx-center .ht-native .panel, .hos-places .hx-center .hi-native .panel,
.hos-places .hx-center .hl-native .panel, .hos-places .hx-right .panel {
  background:var(--v-paper) !important; border-color:var(--v-ink) !important; }

/* advisor on the map keeps a readable paper slip even over the dark stage */
.hos-places .hx-mapstage .hx-map-advisor .hx-advisor { background:var(--v-paper-2); }

/* more shared body components surfaced on the Cabinet / review bodies */
.hos-places .hx-select-table tbody tr.selected td { background:#d8e7e9; box-shadow:inset 0 1px var(--v-sea), inset 0 -1px var(--v-sea); color:var(--v-ink); }
.hos-places .hx-warnline { border:1px solid var(--v-seal); color:var(--v-ink) !important; background:var(--v-paper-2); border-radius:3px; }
.hos-places .hx-dept-cell small { color:var(--v-ink-dim); }
.hos-places .hx-dept-cell strong { color:var(--v-ink); }
.hos-places .hx-mini-seal { border:1px solid var(--v-seal); background:var(--v-edge); }
.hos-places .hx-mini-seal .va-icon { color:var(--v-sea-deep); }
/* the quoted request — struck in ink, a crimson pilcrow rule */
.hos-places .hx-quote { border-left:2px solid var(--v-seal); color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .hx-quote::before { color:var(--v-seal); }
/* the intelligence check — a paper finding slip with a classified crimson head */
.hos-places .hx-check { border:1px solid var(--v-ink); background:var(--v-paper-2); border-radius:3px; }
.hos-places .hx-check-head { border-bottom:1px solid var(--v-ink); color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .hx-check-head small { color:var(--v-sea-deep); }
.hos-places .hx-check-body>.va-icon { color:var(--v-sea-deep); }
.hos-places .hx-check-body strong { color:var(--v-seal); }
.hos-places .hx-check-body p { color:var(--v-ink) !important; font-family:var(--v-serif); }
.hos-places .hx-check-body small { color:var(--v-ink-dim); }

/* ═══ THE INSTRUMENTS — shared widget library onto snow (instruments.css) ═══════
   Deployments, covert, the exchange, state decisions, pattern cards, the shared
   action buttons and the before-you-act slip — all printed on paper. The World ›
   Valera region MAP (.vr-*) is a map and stays in the polar night. ════════════ */
/* pattern cards (Environment exposure, readiness, and shared "pt" bodies) */
.hos-places .pt-card { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; color:var(--v-ink); }
.hos-places .pt-card.good { border-color:#2f7d4e; } .hos-places .pt-card.warn { border-left:3px solid var(--v-seal); } .hos-places .pt-card.bad { border-color:var(--v-seal); }
.hos-places .pt-head span, .hos-places .pt-card .pt-dim { color:var(--v-ink-dim); }
.hos-places .env-bar { background:var(--v-edge); } .hos-places .env-bar i { background:var(--v-sea); }
.hos-places .pt-card.good .env-bar i { background:#2f7d4e; } .hos-places .pt-card.bad .env-bar i { background:var(--v-seal); }
/* deployments / markets / covert tables */
.hos-places .dpl-wrap { background:var(--v-paper); border:1px solid var(--v-ink); color:var(--v-ink); border-radius:3px; }
.hos-places .dpl-table th, .hos-places .mk-table th { color:var(--v-pewter); }
.hos-places .dpl-table th, .hos-places .dpl-table td, .hos-places .mk-table th, .hos-places .mk-table td { border-bottom:1px solid var(--v-edge); }
.hos-places .dpl-table tr.sel { background:#d8e7e9; }
.hos-places .dpl-table td.bad, .hos-places .cv-cap li.bad b, .hos-places .mk-head .down, .hos-places .mk-table .down { color:var(--v-seal); }
.hos-places .mk-head .up, .hos-places .mk-table .up { color:#2f7d4e; }
.hos-places .mk-head strong { color:var(--v-ink); }
.hos-places .mk-spark polyline { stroke:var(--v-sea); }
.hos-places .mk-opts td { background:var(--v-paper-2); }
/* state decisions */
.hos-places .sd-slot { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .sd-slot.sd-set { border-color:var(--v-sea); }
.hos-places .sd-fields label, .hos-places .sd-wording { color:var(--v-ink-dim); }
.hos-places .sd-wording small, .hos-places .vr-hist small { color:var(--v-sea-deep); }
.hos-places .sd-advice { border-left:2px solid var(--v-seal); color:var(--v-ink); }
.hos-places .sd-sheet { border-top:1px solid var(--v-edge); }
/* the before-you-act slip (modal) → a paper writ to sign */
.hos-places .ap-veil { background:rgba(9,21,26,.55); }
.hos-places .ap-card { background:var(--v-paper); border:1.5px solid var(--v-ink); color:var(--v-ink); border-radius:4px; }
.hos-places .ap-sub { color:var(--v-ink-dim); }
.hos-places .ap-list li { border-bottom:1px solid var(--v-edge); }
.hos-places .ap-list li.good b { color:#2f7d4e; } .hos-places .ap-list li.bad b { color:var(--v-seal); }
.hos-places .ap-note { border-left:2px solid var(--v-seal); }
/* form controls shared across the instruments → paper fields */
.hos-places .dpl-table select, .hos-places .dpl-table button, .hos-places .dpl-build button,
.hos-places .cv-row button, .hos-places .mk-table button, .hos-places .sd-fields select,
.hos-places .sd-wording input, .hos-places .sd-forms button, .hos-places .sd-clear {
  background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); border-radius:3px; }
.hos-places .sd-forms button.on { border-color:var(--v-sea); background:#d8e7e9; }
/* the shared action button (ab) — the choice made into an instrument */
.hos-places .ab-btn { background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); border-radius:3px; }
.hos-places .ab-btn:hover:not(:disabled) { border-color:var(--v-sea); }
.hos-places .ab-btn.go { background:var(--v-sea-deep); border-color:var(--v-sea-deep); color:var(--v-paper); }
.hos-places .ab-btn.risk { border-color:var(--v-seal); color:var(--v-seal); background:var(--v-paper); }
.hos-places .ab-btn.ok { border-color:#2f7d4e; }
.hos-places .ab-fx { color:var(--v-sea-deep); } .hos-places .ab-why { color:var(--v-ink-dim); }
/* covert rows */
.hos-places .cv-row { border-bottom:1px solid var(--v-edge); }
.hos-places .cv-row > span { color:var(--v-ink); }

/* ═══ THE NATIVE DESKS — the older department panels onto snow (places.css) ═════
   .hp-card / .ht-* (Treasury ledgers) / .hc-* (conference & city desks) / .hq-*
   still render on several bodies. Lift them to paper. The Intelligence dossier
   (.hi-*) is deliberately left in the polar night. ════════════════════════════ */
/* the shared panel shells */
.hos-places .hp-card, .hos-places .hp-main-card,
.hos-places .ht-obligations, .hos-places .ht-ledger,
.hos-places .hc-desk, .hos-places .hq-review {
  background:var(--v-paper) !important; border:1px solid var(--v-ink) !important; color:var(--v-ink);
  box-shadow:0 10px 26px rgba(9,21,26,.12) !important; }
/* broad ink text inside the native desks (not the intel dossier) */
.hos-places .hp-card, .hos-places .hc-desk, .hos-places .hq-review,
.hos-places .hp-card p, .hos-places .hc-desk p, .hos-places .hp-card strong, .hos-places .hc-desk strong,
.hos-places .hc-desk-heading h2, .hos-places .hc-desk-body h3, .hos-places .hc-desk-body p,
.hos-places .hc-desk-body blockquote, .hos-places .hc-costs strong, .hos-places .hc-metric strong,
.hos-places .hc-portfolio-pulse strong, .hos-places .hc-whip strong, .hos-places .hc-next p,
.hos-places .hc-delegate p, .hos-places .hc-delegate h3, .hos-places .hc-event-list strong,
.hos-places .hc-heading h1 { color:var(--v-ink); }
.hos-places .hc-heading p, .hos-places .hc-metric small, .hos-places .hc-map-note,
.hos-places .hc-portfolio-pulse small, .hos-places .hc-source-note, .hos-places .hc-desk-body .hc-source-note,
.hos-places .hc-heading label, .hos-places .hc-portfolio-tools label, .hos-places .hc-connected small { color:var(--v-ink-dim); }
.hos-places .hc-metric strong { color:var(--v-sea-deep); }
/* city/conference desk surfaces */
.hos-places .hc-desk { background:var(--v-paper) !important; }
.hos-places .hc-metrics, .hos-places .hc-metric { background:var(--v-paper-2); border-color:var(--v-edge); }
.hos-places .hc-map-column { background:var(--v-paper-2); border-color:var(--v-ink); }
.hos-places .hc-connected { background:var(--v-paper-2); }
.hos-places .hc-tabs { background:var(--v-paper-2); border-top:1px solid var(--v-ink); border-bottom:1px solid var(--v-ink); }
.hos-places .hc-tabs button[aria-pressed=true] { color:var(--v-sea-deep); background:#d8e7e9; box-shadow:inset 0 -2px var(--v-sea); border-bottom-color:var(--v-sea); }
.hos-places .hc-evidence { background:var(--v-paper-2); border:1px solid var(--v-ink); border-left:3px solid var(--v-sea); }
.hos-places .hc-evidence small { color:var(--v-sea-deep); }
.hos-places .hc-next { background:var(--v-paper-2); border-top:1px solid var(--v-ink); }
.hos-places .hc-whip { border-top:1px solid var(--v-edge); }
.hos-places .hc-whip strong { color:var(--v-sea-deep); }
.hos-places .hc-costs { border-top:1px solid var(--v-edge); border-bottom:1px solid var(--v-edge); }
.hos-places .hc-vote-track { background:var(--v-edge); } .hos-places .hc-vote-track span { background:var(--v-sea); } .hos-places .hc-vote-track i { background:var(--v-ink); }
.hos-places .hc-delegate { background:var(--v-paper-2); border:1px solid var(--v-ink); border-top:3px solid var(--v-seal); }
.hos-places .hc-directory button[aria-pressed=true] { border-color:var(--v-sea); background:#d8e7e9; color:var(--v-sea-deep); }
.hos-places .hc-interests button[aria-pressed=true] { border-color:var(--v-sea); color:var(--v-sea-deep); background:#d8e7e9; }
.hos-places .hc-allocation { border-bottom:1px solid var(--v-edge); }
.hos-places .hc-portfolio-pulse { border-block:1px solid var(--v-edge); }
.hos-places .hc-local-record { background:var(--v-paper-2); border:1px solid var(--v-ink); }
.hos-places .hc-delivery-track span { border-top:4px solid var(--v-edge); color:var(--v-ink-dim); }
.hos-places .hc-delivery-track .done { border-color:var(--v-sea); color:var(--v-sea-deep); }
.hos-places .hc-event-list { border-left:1px solid var(--v-edge); }
.hos-places .hc-event-list li:before { background:var(--v-sea); }
.hos-places .hc-heading select, .hos-places .hc-portfolio-tools select { background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); }
.hos-places .hp-development { background:var(--v-paper-2) !important; border-top:1px solid var(--v-edge) !important; }
.hos-places .hp-tag { border-color:var(--v-sea); color:var(--v-sea-deep); }
/* treasury native ledgers text */
.hos-places .ht-obligations, .hos-places .ht-ledger { color:var(--v-ink); }

/* stray dark form controls on public (snow) desks → paper fields (intel .hi-* left dark) */
.hos-places .hc-desk select, .hos-places .hc-text input[type=number], .hos-places .hc-press-filters input,
.hos-places .hc-press-filters select, .hos-places .hd-floor select, .hos-places .hl-filter select,
.hos-places .hp-terms select, .hos-places .hf-action-chooser select, .hos-places .he-desk select,
.hos-places .hw-exact-allocation input {
  background:var(--v-paper-2); color:var(--v-ink); border:1px solid var(--v-ink); border-radius:3px; }

/* ═══ THE DESK — the home blotter onto snow (shell.css .dk-*) ═══════════════════
   The first surface and the one returned to each quarter: files picked up off a
   desk. The files were always paper; now the desk itself is in clear light, cool
   snow stock instead of a dark blotter. ════════════════════════════════════════ */
.hos-places .hx-desk .hx-center { background:var(--v-paper) !important; box-shadow:none !important; }
/* the ledger strip + its labels */
.hos-places .dk-ledger { background:var(--v-paper-2); border:1px solid var(--v-ink); box-shadow:none; }
.hos-places .dk-ledger b { color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .dk-ledger-title, .hos-places .dk-tray-label, .hos-places .dk-rail-group,
.hos-places .dk-count, .hos-places .dk-label { color:var(--v-pewter); font-family:var(--v-grote); }
.hos-places .dk-blotter { background:var(--v-paper-2); box-shadow:0 8px 22px rgba(9,21,26,.12), inset 0 0 0 8px var(--v-paper-2), inset 0 0 0 9px rgba(30,107,124,.35); }
/* the paper files unified to cool snow stock */
.hos-places .dk-paper, .hos-places .dk-memo, .hos-places .dk-tray-item, .hos-places .dk-postmortem {
  background:var(--v-paper) !important; color:var(--v-ink); box-shadow:3px 4px 0 -1px var(--v-paper-2), 0 10px 20px rgba(9,21,26,.14); }
.hos-places .dk-slip { background:var(--v-paper); color:var(--v-ink); box-shadow:0 6px 14px rgba(9,21,26,.14); }
.hos-places .dk-paper .dk-head, .hos-places .dk-memo-head { border-bottom:1px solid var(--v-edge); }
.hos-places .dk-file { background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); box-shadow:inset 0 0 0 6px var(--v-paper-2), inset 0 0 0 7px rgba(30,107,124,.4), 0 10px 18px rgba(9,21,26,.14); }
/* dept + line text on the files */
.hos-places .dk-dept { color:var(--v-sea-deep); } .hos-places .dk-paper .dk-dept { color:var(--v-pewter); }
.hos-places .dk-line { color:var(--v-ink); } .hos-places .dk-paper .dk-line { color:var(--v-ink); }
.hos-places .dk-memo-rows dt, .hos-places .dk-postmortem .dk-muted, .hos-places .dk-foot { color:var(--v-ink-dim); }
.hos-places .dk-lead, .hos-places .dk-ifleft { color:var(--v-ink); } .hos-places .dk-ifleft b, .hos-places .dk-foot b { color:var(--v-ink); }
/* tray, record, market, dossier panels */
.hos-places .dk-tray { background:var(--v-paper-2); border:1px solid var(--v-ink); box-shadow:none; }
.hos-places .dk-record { background:var(--v-paper-2); border:1px solid var(--v-sea); color:var(--v-ink); }
.hos-places .dk-market, .hos-places .dk-dossier, .hos-places .dk-reserves { background:var(--v-paper-2); border:1px solid var(--v-ink); }
.hos-places .dk-dossier p { color:var(--v-ink); } .hos-places .dk-price b { color:var(--v-ink); } .hos-places .dk-price small { color:var(--v-ink-dim); }
.hos-places .dk-record-boxes i { border:1px dashed var(--v-sea); }
/* the world portal tile + the desk rail */
.hos-places .dk-world { background:var(--v-paper); border:1px solid var(--v-ink); color:var(--v-ink); }
.hos-places .dk-world-map { background:var(--v-edge); color:var(--v-sea-deep); }
.hos-places .dk-world small { color:var(--v-seal); }
.hos-places .dk-rail-item { color:var(--v-ink); } .hos-places .dk-rail-item:hover { background:var(--v-paper); }
.hos-places .dk-rail-item em { background:var(--v-sea); color:var(--v-paper); }
.hos-places .dk-rail-item em.bad { background:var(--v-seal); } .hos-places .dk-rail-item em.cyan { background:var(--v-sea-deep); }
.hos-places .dk-arrow, .hos-places .dk-link { color:var(--v-sea-deep); }
/* portal / modal / people */
.hos-places .dk-portal, .hos-places .dk-modal { background:var(--v-paper); border:1px solid var(--v-ink); color:var(--v-ink); box-shadow:-18px 0 40px rgba(9,21,26,.2); }
.hos-places .dk-option, .hos-places .dk-person, .hos-places .dk-left { background:var(--v-paper-2); border:1px solid var(--v-ink); color:var(--v-ink); }
.hos-places .dk-chief { background:var(--v-paper-2); border:1px solid var(--v-sea); }
.hos-places .dk-job { border-top:1px solid var(--v-edge); } .hos-places .dk-job small { color:var(--v-ink-dim); }
.hos-places .dk-chip { background:var(--v-paper-2); color:var(--v-ink); } .hos-places .dk-chip.last { background:#f0dcd9; color:var(--v-seal); }
.hos-places .dk-left-count { background:var(--v-paper-2); color:var(--v-seal); }
.hos-places .dk-left.bad { border-color:var(--v-seal); background:#f0dcd9; }
.hos-places .dk-person button, .hos-places .dk-portal-foot button, .hos-places .dk-memo-acts button { border:1px solid var(--v-ink); color:var(--v-ink); background:var(--v-paper); }
.hos-places .dk-desk-foot .outline { border:1px solid var(--v-sea-deep); color:var(--v-sea-deep); }
.hos-places .dk-desk-foot .gold, .hos-places .dk-modal .gold, .hos-places .dk-job .gold, .hos-places .dk-portal-foot .gold { background:var(--v-sea-deep); border:1px solid var(--v-sea-deep); color:var(--v-paper); }
.hos-places .dk-heat { background:var(--v-edge); } .hos-places .dk-heat i { background:var(--v-seal); }
.hos-places .dk-postmortem>small { color:var(--v-seal); }
.hos-places .dk-pm-cause { border-top:1px solid var(--v-edge); }
.hos-places .dk-postmortem .dk-chip { background:var(--v-paper-2); } .hos-places .dk-postmortem .dk-arrow { color:var(--v-sea-deep); }

/* ═══ THE GUIDE — office tabs + aide, onto snow (guide-view / places.css .gd-*) ══ */
.hos-places .gd-tab { background:var(--v-paper-2); color:var(--v-ink); border:1px solid var(--v-edge); border-bottom:0; }
.hos-places .gd-tab-name { color:var(--v-ink); }
.hos-places .gd-hand { --gd:#2f7d4e; } .hos-places .gd-wait { --gd:var(--v-sea-deep); } .hos-places .gd-slip { --gd:var(--v-seal); }
.hos-places .gd-new { background:var(--v-paper); box-shadow:inset 0 3px 0 var(--v-pewter); } .hos-places .gd-new small { color:var(--v-sea-deep); }
.hos-places .gd-dot { background:var(--v-sea); } .hos-places .gd-map-link { --gd:var(--v-sea-deep); }
/* the before-sign-off + tour popups → paper writs */
.hos-places .gd-before { background:var(--v-paper); border:1px solid var(--v-ink); } .hos-places .gd-before .gd-rem { color:var(--v-ink); }
.hos-places .gd-before .gd-rem-acts button { color:var(--v-sea-deep); } .hos-places .gd-before .gd-rem-acts .gd-quiet { color:var(--v-ink-dim); }
.hos-places .gd-tour { background:var(--v-paper); border:1px solid var(--v-ink); color:var(--v-ink); }
.hos-places .gd-steps i { background:var(--v-edge); } .hos-places .gd-steps i.on { background:var(--v-sea); }
.hos-places .gd-tour-acts button { border:1px solid var(--v-ink); color:var(--v-ink); background:var(--v-paper); }
.hos-places .gd-tour-acts .gd-primary { background:var(--v-sea-deep); border-color:var(--v-sea-deep); color:var(--v-paper); }
.hos-places .gd-tour-acts .gd-quiet { border:0; color:var(--v-ink-dim); }
.hos-places .gd-avatar { background:var(--v-edge); border:1px solid var(--v-sea); color:var(--v-sea-deep); }
.hos-places .gd-ines small { color:var(--v-ink-dim); }

/* the finance strip KPIs: responsive so figures never overflow a narrow right rail
   (was a fixed 4-col grid at 30px → "26,715 CR" spilled into its neighbours) */
.hos-places .fn-kpis { grid-template-columns:repeat(auto-fit, minmax(128px, 1fr)) !important; }
.hos-places .fn-kpis > div { padding:11px 12px; }
.hos-places .fn-kpis strong { font-size:21px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.hos-places .fn-kpis small { font-size:10.5px; line-height:1.35; }

/* header right side never overflows: the ambient ticker yields space, the Save
   button is pinned so it can't be clipped (was crowding/cutting off at the edge) */
.hos-places .hp-header { flex-wrap:nowrap; }
.hos-places .tk-wrap { flex:1 1 220px !important; min-width:0 !important; }
.hos-places .tk-lane { min-width:0; }
.hos-places .hp-header > button:last-of-type { flex:0 0 auto; white-space:nowrap; }

/* city cards (Cities of Valera) — snow card chrome. The scene image itself is the
   AI-aerial placeholder slated for engraved plates (see Astra handoff); the card
   frame + copy below it are brought onto snow here. */
.hos-places .hc-city-card { background:var(--v-paper); border:1px solid var(--v-ink); border-radius:3px; }
.hos-places .hc-card-scene { border-bottom:1px solid var(--v-ink); }
.hos-places .hc-card-copy h2 { color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .hc-card-copy > p { color:var(--v-ink-dim); }
.hos-places .hc-card-indicators strong { color:var(--v-sea-deep); font-family:var(--v-grote); }
.hos-places .hc-card-indicators small { color:var(--v-pewter); }
.hos-places .hc-card-indicators .hc-meter { background:var(--v-edge); }
.hos-places .hc-card-indicators .hc-meter i { background:var(--v-sea); }
.hos-places .hc-card-indicators>div:nth-child(2) .hc-meter i { background:var(--v-sea-deep); }
.hos-places .hc-card-cost { color:var(--v-ink) !important; }

/* ═══ THE CITY MODEL — snow plate for the state-driven iso city (visual-view.js H.CityModel)
   The engraved placeholder modules Astra will skin realistic; the plate + overlays are snow. ═══ */
.hos-places .va-city-plate--model { background:var(--v-paper) !important; border:1px solid var(--v-ink) !important;
  background-image:repeating-linear-gradient(0deg, rgba(17,35,44,.02) 0 1px, transparent 1px 3px); border-radius:3px; }
.hos-places .va-city-plate--model:after { display:none !important; }
.hos-places .va-city-model-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:0; }
.hos-places .cm-svg { display:block; width:100%; height:100%; }
.hos-places .cm-pin text { font-weight:500; }
/* overlays → snow slips */
.hos-places .va-scene-top>span { color:var(--v-ink); text-shadow:none; font-family:var(--v-grote); }
.hos-places .va-scene-top button { background:var(--v-paper); border:1px solid var(--v-ink); color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .va-map-pin { background:var(--v-paper); border:1px solid var(--v-ink); box-shadow:0 4px 12px rgba(9,21,26,.18); }
.hos-places .va-map-pin strong { color:var(--v-ink); font-family:var(--v-grote); }
.hos-places .va-map-pin small { color:var(--v-ink-dim); }
.hos-places .va-map-pin i { background:var(--v-seal); border:2px solid var(--v-paper); box-shadow:0 0 0 2px var(--v-seal); }
.hos-places .va-map-pin.selected { border-color:var(--v-sea); box-shadow:0 0 0 2px rgba(30,107,124,.25); }
.hos-places .va-map-pin.selected strong, .hos-places .va-map-pin.selected small { color:var(--v-sea-deep); }
.hos-places .va-map-pin.selected i { background:var(--v-sea); }
.hos-places .va-scene-record { background:var(--v-paper-2); border:1px solid var(--v-ink); box-shadow:0 6px 16px rgba(9,21,26,.16); }
.hos-places .va-scene-record .hp-eyebrow { color:var(--v-seal); }
.hos-places .va-scene-record strong { color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .va-scene-record small { color:var(--v-ink-dim); }
.hos-places .va-scene-record .va-art-note { color:var(--v-pewter); }
.hos-places .va-scene-record progress { accent-color:var(--v-sea); }

/* ═══ TWO STRAY DARK PANELS ON THE CITY DESK — snow them to match the folio ═══ */
/* "How {city} feels" — the quarter's world-feed card (world-feed-view.js .wf-card) */
.hos-places .wf-card { background:var(--v-paper-2); border:1px solid var(--v-edge); border-left:3px solid var(--v-sea); border-radius:3px; }
.hos-places .wf-label { color:var(--v-seal); font-family:var(--v-grote); }
.hos-places .wf-item { border-left:3px solid var(--v-edge); }
.hos-places .wf-item.wf-bad { border-left-color:var(--v-seal); }
.hos-places .wf-item.wf-good { border-left-color:var(--v-sea); }
.hos-places .wf-item.wf-covert { border-left-color:var(--v-pewter); }
.hos-places .wf-item strong, .hos-places .wf-item span { color:var(--v-ink); }
.hos-places .wf-item small { color:var(--v-ink-dim); }
/* Official card — "Port authority" etc. (identity-view.js H.OfficialCard .hi-official) */
.hos-places .hi-official { background:var(--v-paper-2); border:1px solid var(--v-edge); border-bottom:1px solid var(--v-edge); border-radius:3px; }
.hos-places .hi-official strong { color:var(--v-ink); font-family:var(--v-serif); }
.hos-places .hi-official small, .hos-places .hi-official p { color:var(--v-ink-dim); }
.hos-places .hi-portrait { border:1px solid var(--v-edge); background:var(--v-paper); }
.hos-places .hi-placeholder { background:linear-gradient(140deg,var(--v-paper-2),var(--v-edge)); color:var(--v-sea-deep); }
.hos-places .hi-portrait svg { fill:var(--v-pewter); }
.hos-places .hi-flag { border:1px solid var(--v-edge); color:var(--v-ink); }
.hos-places .hi-party { color:var(--v-ink); }

/* ═══════════════════════════════════════════════════════════════════════════
   EMBASSIES & TALKS — THE HOST'S COURTESY
   Only this space wears the counterpart country's frame; the rest is Valera.
   Your side of the table (your envoy card, demands, margins, ratification) stays
   snow — the contrast IS the lesson: you are a guest operating in their house.
   Per-country tokens below are drawn from each power's governance (POWERS[x]);
   placeholder-credible, not final art — Astra may refine the motif/texture.
   ═══════════════════════════════════════════════════════════════════════════ */
/* reception strip — the letterhead that sets whose terms you're on */
.hos-places .hx-emb-reception { margin:0 0 20px; padding:15px 20px; border:1px solid var(--v-edge);
  border-left:4px solid var(--emb-accent,var(--v-seal)); background:var(--emb-band,var(--v-paper-2)); border-radius:3px; position:relative; }
.hos-places .hx-emb-eyebrow { display:block; font:700 10px/1.3 var(--v-grote); letter-spacing:.2em;
  text-transform:uppercase; color:var(--emb-accent,var(--v-seal)); margin-bottom:7px; }
.hos-places .hx-emb-received { display:block; color:var(--v-ink);
  font-family:var(--emb-font,var(--v-serif)); font-weight:var(--emb-weight,600); font-size:19px; line-height:1.22;
  letter-spacing:var(--emb-track,0); text-transform:var(--emb-case,none); }
.hos-places .hx-emb-rule { margin:7px 0 0; font:italic 14px/1.5 var(--v-serif); color:var(--v-ink-dim); }
/* shared host-side accents — only the counterpart's elements, never yours */
.hos-places .hx-embassy[class*="hx-emb-"] .hx-banner { border-bottom:2px solid var(--emb-accent,var(--v-seal)); }
.hos-places .hx-embassy[class*="hx-emb-"] .hx-parties .hx-card:last-child { border-left:3px solid var(--emb-accent,var(--v-seal)); background:var(--emb-band,var(--v-paper-2)); }
.hos-places .hx-embassy[class*="hx-emb-"] .hx-parties .hx-card:last-child small { color:var(--emb-accent,var(--v-seal));
  font-family:var(--emb-font,var(--v-grote)); letter-spacing:var(--emb-track,0); text-transform:var(--emb-case,none); }
.hos-places .hx-embassy[class*="hx-emb-"] .hx-statement { border-left:3px solid var(--emb-accent,var(--v-seal)); background:var(--emb-band,var(--v-paper-2)); }
.hos-places .hx-embassy[class*="hx-emb-"] .hx-statement small:first-child { color:var(--emb-accent,var(--v-seal)); }
.hos-places .hx-embassy[class*="hx-emb-"] .hx-statement p { font-family:var(--emb-font,var(--v-serif)); letter-spacing:var(--emb-track,0); }
/* ── per-country frames (tokens drawn from governance: kind + what the bias won't forgive) ── */
/* Karsten — Continental industrial state: blunt, engineered, iron */
.hos-places .hx-emb-karsten  { --emb-accent:#566169; --emb-band:#e1e5e6; --emb-font:var(--v-grote); --emb-weight:700; --emb-track:.06em; --emb-case:uppercase; }
/* Qaris Basin — Petro-financed autocracy: formal, gilded, status-first */
.hos-places .hx-emb-qaris    { --emb-accent:#b0902c; --emb-band:#efe7cf; --emb-font:var(--v-serif); --emb-weight:600; --emb-track:.01em; --emb-case:none; }
/* The Accord — Federated trade bloc: procedural, plain, in order */
.hos-places .hx-emb-accord   { --emb-accent:#4f6f82; --emb-band:#e2e8ea; --emb-font:var(--v-mono); --emb-weight:600; --emb-track:.02em; --emb-case:none; }
.hos-places .hx-emb-accord .hx-emb-received { font-size:17px; }
/* Southern Reach — Resource-exporting federation: proud, communal, earthen */
.hos-places .hx-emb-reach    { --emb-accent:#8a6b3c; --emb-band:#e8e1d1; --emb-font:var(--v-serif); --emb-weight:600; --emb-track:.01em; --emb-case:none; }
/* Raskovia — Revanchist near-power: monumental, imperative, grievance-first */
.hos-places .hx-emb-raskovia { --emb-accent:#8c3a3a; --emb-band:#dedfde; --emb-font:var(--v-grote); --emb-weight:700; --emb-track:.1em; --emb-case:uppercase; }
/* Doriah — The strait: mercantile, brisk, sovereign */
.hos-places .hx-emb-doriah   { --emb-accent:#1f7d8c; --emb-band:#dde7e8; --emb-font:var(--v-grote); --emb-weight:600; --emb-track:.03em; --emb-case:none; }
/* open-talks rail — each item wears its country's accent, so the rail reads as a row of
   distinct embassies, not identical rows (colors mirror the frame accents above) */
.hos-places .hx-rail-emb-karsten  { border-left:3px solid #566169; }
.hos-places .hx-rail-emb-qaris    { border-left:3px solid #b0902c; }
.hos-places .hx-rail-emb-accord   { border-left:3px solid #4f6f82; }
.hos-places .hx-rail-emb-reach    { border-left:3px solid #8a6b3c; }
.hos-places .hx-rail-emb-raskovia { border-left:3px solid #8c3a3a; }
.hos-places .hx-rail-emb-doriah   { border-left:3px solid #1f7d8c; }

/* ═══════════════════════════════════════════════════════════════════════════
   DARK-PANEL SWEEP (Build 35.11) — surfaces the whole-game snow pass missed.
   Found by a programmatic luminance scan across every view. Intelligence (.id-*)
   and the maps stay polar-night by design; these are the strays.
   ═══════════════════════════════════════════════════════════════════════════ */
/* Society & mandate — the social-code groups + relationship/balance meters */
.hos-places .h22-group { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .h22-group span { color:var(--v-ink); }
.hos-places .h22-group.on { background:#d8e7e9; box-shadow:inset 0 0 0 1px var(--v-sea); }
.hos-places .h22-world tr.me td { background:var(--v-paper-2); }
.hos-places .h21-meter { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .h21-meter small { color:var(--v-ink-dim); }
.hos-places .h21-signals>div { color:var(--v-ink); }
.hos-places .h21-signals strong { color:var(--v-ink); }
.hos-places .h21-axis { background:var(--v-edge); }
.hos-places .h21-axis b { background:var(--v-sea); }
.hos-places .h21-axis i { border-left:1px solid var(--v-pewter); }
.hos-places .h21-path p { color:var(--v-ink-dim); }
.hos-places .h21-path-clock small { color:var(--v-ink-dim); }
.hos-places .h21-fiscal p { color:var(--v-ink-dim); }
/* Close-the-quarter / sign-off family */
.hos-places .hq-review { background:var(--v-paper); border:1px solid var(--v-ink); box-shadow:0 8px 22px rgba(9,21,26,.12); }
.hos-places .hq-heading h2 { color:var(--v-ink); }
.hos-places .hq-status { border:1px solid var(--v-edge); color:var(--v-sea-deep); }
.hos-places .hq-intro { color:var(--v-ink-dim); }
.hos-places .hq-money small { color:var(--v-ink-dim); }
.hos-places .hq-money strong { color:var(--v-ink); }
.hos-places .hq-money span { color:var(--v-ink-dim); }
.hos-places .hq-tabs button { border-color:var(--v-edge); color:var(--v-ink-dim); }
.hos-places .hq-tabs button[aria-pressed=true] { background:var(--v-sea); color:#fff; border-color:var(--v-sea); }
.hos-places .hq-item { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .hq-item h3 { color:var(--v-ink); }
.hos-places .hq-item p { color:var(--v-ink-dim); }
.hos-places .hq-item button { color:var(--v-sea-deep); }
.hos-places .hq-close { background:var(--v-paper-2); border:1px solid var(--v-edge); }
.hos-places .hq-close h3 { color:var(--v-ink); }
.hos-places .hq-close dt { color:var(--v-ink-dim); }
.hos-places .hq-close dd { color:var(--v-ink); }
.hos-places .hq-close p { color:var(--v-ink-dim); }
.hos-places .hq-controls>button:disabled { color:var(--v-pewter); background:var(--v-paper-2); border-color:var(--v-edge); }
.hos-places .hq-allowance, .hos-places .hq-empty { color:var(--v-ink-dim); }
.hos-places .hq-last { border-top:1px solid var(--v-edge); color:var(--v-ink-dim); }
.hos-places .hq-last summary { color:var(--v-ink); }
/* Cabinet business */
.hos-places .vd-panel { background:var(--v-paper-2); border:1px solid var(--v-edge); border-top:2px solid var(--v-sea); }
/* inherited-light text inside the swept panels (group names + meter labels/values) */
.hos-places .h22-group strong { color:var(--v-ink); }
.hos-places .h21-meter > div span { color:var(--v-ink); }
.hos-places .h21-meter > div strong { color:var(--v-ink); }

/* ═══════════════════════════════════════════════════════════════════════════
   LIVELINESS PASS (Build 35.12) — the snow went too monochrome. Keep the cool
   paper (that was a deliberate choice), but put Nordic life back into the ACCENTS:
   a warm gilt (the warmth snow stripped out), a brighter interactive sea, and the
   aurora green brought into daylight for positive signals. PROTOTYPE — dial to taste.
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
  --v-gilt: #b5842a;        /* Nordic gilt — the warmth snow removed */
  --v-gilt-soft: #efe4c4;   /* gilt tint for bands/active fills */
  --v-sea-bright: #1f8ea3;  /* vivid interactive teal — icons, links, active */
  --v-aurora-day: #2f9e76;  /* aurora in daylight — growth / positive on snow */
}
/* icons come alive — a brighter sea instead of near-black teal, everywhere they repeat */
.hos-places .hx-rail-item .va-icon,
.hos-places .hx-sections button .va-icon,
.hos-places .hp-sidebar button .va-icon,
.hos-places .hx-dept-grid button .va-icon,
.hos-places .hp-allowance .va-icon,
.hos-places .hx-mini-seal .va-icon,
.hos-places .hx-check-body>.va-icon,
.hos-places .hx-season .va-icon { color:var(--v-sea-bright); }
.hos-places .hx-season strong { color:var(--v-sea-bright); }
/* active nav — a warm gilt edge + a touch brighter fill */
.hos-places .hp-sidebar button.active { border-left:3px solid var(--v-gilt); background:#e3eef0; }
.hos-places .hp-sidebar button.active .va-icon,
.hos-places .hx-sections button.active .va-icon { color:var(--v-sea-bright); }
/* the quarter stepper's active step gets a gilt underline */
.hos-places .hp-turn button.active { box-shadow:inset 0 -2px var(--v-gilt); }
/* eyebrows go gilt (a second accent beside the crimson labels = more palette life) */
.hos-places .hp-eyebrow { color:var(--v-gilt); }
/* positive / "good" signals get the aurora glow instead of muted teal */
.hos-places .hx-good, .hos-places .hc-good, .hos-places .wf-item.wf-good { color:var(--v-aurora-day) !important; }
.hos-places .hp-tag.good, .hos-places .hp-side-bottom .hp-tag.good { border-color:var(--v-aurora-day); color:var(--v-aurora-day); }
.hos-places .wf-item.wf-good { border-left-color:var(--v-aurora-day); }
/* a thin gilt keyline on primary cards — a little gold leaf on the gazette */
.hos-places .hp-card { border-top:2px solid var(--v-gilt-soft); }

/* ═══════════════════════════════════════════════════════════════════════════
   DEPARTMENT COLOR SYSTEM + BOLDER ACCENTS (Build 35.13) — "both" per Tyler.
   Each government department carries a signature accent (harmonized fjord jewel
   tones), applied to its eyebrows, card keylines, active nav + stepper, and banner
   edge via a single --dept custom property on the .hp-place-<key> wrapper. Falls
   back to gilt/sea where no department is set. Intelligence/maps keep their own look.
   ═══════════════════════════════════════════════════════════════════════════ */
/* — the per-department signature colours — */
.hos-places.hp-place-treasury, .hos-places.hp-place-government, .hos-places.hp-place-bank { --dept:#b5842a; }  /* gold — money */
.hos-places.hp-place-congress                                   { --dept:#b22c3c; }  /* ensign crimson — the legislature */
.hos-places.hp-place-office                                     { --dept:#15606e; }  /* deep sea — the executive */
.hos-places.hp-place-cabinet, .hos-places.hp-place-advisory     { --dept:#8a6a3c; }  /* bronze — the cabinet table */
.hos-places.hp-place-sarn, .hos-places.hp-place-cities, .hos-places.hp-place-municipal { --dept:#1e8296; }  /* teal — the cities */
.hos-places.hp-place-capital                                    { --dept:#5b568c; }  /* indigo — the capital */
.hos-places.hp-place-governance                                 { --dept:#2f9e76; }  /* aurora — society & mandate */
.hos-places.hp-place-military                                   { --dept:#5a6e78; }  /* steel — the forces */
.hos-places.hp-place-diplomacy, .hos-places.hp-place-embassy, .hos-places.hp-place-foreign, .hos-places.hp-place-bloc, .hos-places.hp-place-dominion { --dept:#2f6f9e; }  /* diplomatic blue */
.hos-places.hp-place-judiciary                                  { --dept:#6a4f8c; }  /* violet — justice */
.hos-places.hp-place-environment                                { --dept:#3f7d52; }  /* forest — environment */
.hos-places.hp-place-press                                      { --dept:#a0613a; }  /* rust — the press */
/* — generic accent elements now follow the department colour (fallback: gilt/sea) — */
.hos-places .hp-eyebrow { color:var(--dept, var(--v-gilt)); }
.hos-places .hp-card { border-top:2px solid var(--dept, var(--v-gilt)); }
.hos-places .hp-turn button.active { box-shadow:inset 0 -2px var(--dept, var(--v-gilt)); }
.hos-places .hp-sidebar button.active { border-left:3px solid var(--dept, var(--v-gilt)); background:#e3eef0; }
.hos-places .hx-banner-copy { border-left-color:var(--dept, var(--v-seal)); }
/* bolder: the page heading rule + its crest stroke take the department colour */
.hos-places .hp-heading > .hp-eyebrow { color:var(--dept, var(--v-gilt)); font-weight:700; }
.hos-places .hx-title { border-left:0; }
/* bolder: section labels keep crimson, but the active department tab underlines in its colour */
.hos-places .hc-tabs button[aria-pressed=true], .hos-places .hn-tabs button[aria-pressed=true] { border-bottom-color:var(--dept, var(--v-sea)); color:var(--dept, var(--v-sea-deep)); }

/* ═══════════════════════════════════════════════════════════════════════════
   BUGFIXES (Build 35.15)
   ═══════════════════════════════════════════════════════════════════════════ */
/* 1) Departments menu was trapped inside the rail's overflow:auto and rendered
      behind the page. Float it over everything. */
.hos-places .hx-dept-menu { position:fixed !important; left:18px; bottom:70px; top:auto; width:min(460px, calc(100vw - 36px)); z-index:300 !important; max-height:min(66vh, calc(100vh - 150px)); overflow-y:auto; }
/* 2) Base text was light (--ink:#e7ecf0) on snow, so any un-coloured text read white-on-white.
      Flip the snow shell's text tokens to ink; re-light only the polar-night views (intel + maps). */
.hos-places { --ink:#11232c; --muted:#4a5f69; }
.hos-places.hp-place-intelligence, .hos-places.hp-place-world,
.hos-places.hp-place-region, .hos-places.hp-place-far, .hos-places.hp-place-channels { --ink:#e7ecf0; --muted:#9fb2bb; }
