/* Build 31 · ticker, rented seats, deployments, covert operations, the exchange */
.tk-wrap { display:flex; flex-direction:column; gap:4px; flex:0 1 380px; min-width:240px; }
.tk-lane { display:flex; align-items:center; gap:8px; padding:4px 8px; border:1px solid #2a3c48; background:#0b1b24; color:#d8d2c2; border-radius:4px; cursor:pointer; text-align:left; overflow:hidden; font-size:11.5px; line-height:1.3; }
.tk-lane:hover, .tk-lane:focus-visible { border-color:var(--gold, #cfe0e3); outline:none; }
.tk-tag { flex-shrink:0; font-size:9.5px; letter-spacing:1.4px; color:var(--gold, #cfe0e3); font-weight:600; white-space:nowrap; }
.tk-ex .tk-tag { color:#9fc7d9; }
.tk-view { flex:1; overflow:hidden; white-space:nowrap; mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.tk-roll { display:inline-block; padding-left:100%; animation:tk-scroll linear infinite; }
.tk-lane:hover .tk-roll, .tk-lane:focus-visible .tk-roll { animation-play-state:paused; }
.tk-item { margin-right:28px; }
.tk-item i { font-style:normal; color:#9fc7d9; }
.tk-good { color:#cfe3c8; } .tk-bad { color:#f0c2bd; }
.tk-q.up { color:#9fd49a; } .tk-q.down { color:#ef9d95; }
@keyframes tk-scroll { from { transform:translateX(0); } to { transform:translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .tk-roll { animation:none; padding-left:0; } }
@media (max-width:900px) { .tk-wrap { width:100%; order:4; } }
.rs-wrap ul, .cv-cap { margin:4px 0 0; padding-left:18px; font-size:12px; line-height:1.45; }
.rs-note { font-size:12px; opacity:.8; margin:6px 0 0; }
.dpl-wrap { margin:14px 18px 18px; padding:12px 14px; border:1px solid #2a3c48; border-radius:6px; background:#0b1b24; color:#d8d2c2; font-size:12.5px; }
.dpl-table, .mk-table { width:100%; border-collapse:collapse; margin:8px 0; font-size:12px; }
.dpl-table th, .dpl-table td, .mk-table th, .mk-table td { padding:5px 6px; border-bottom:1px solid #22323d; text-align:left; vertical-align:middle; }
.dpl-table th, .mk-table th { font-size:10px; letter-spacing:1.2px; color:#9fb3bf; font-weight:500; }
.dpl-table tr.sel { background:#14303d; }
.dpl-table td.bad { color:#ef9d95; }
.dpl-table select, .dpl-table button, .dpl-build button, .cv-row button, .mk-table button { font:inherit; font-size:11.5px; padding:4px 8px; border-radius:4px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; cursor:pointer; }
.dpl-table button:disabled, .dpl-build button:disabled, .cv-row button:disabled { opacity:.45; cursor:default; }
.dpl-build { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin:8px 0; }
.dpl-hosts p { margin:3px 0; }
.cv-wrap .hx-label { display:block; margin:14px 0 6px; }
.cv-row { display:flex; gap:10px; align-items:center; padding:5px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:12px; flex-wrap:wrap; }
.cv-row > span { flex:1; min-width:200px; opacity:.85; }
.cv-proxy { margin:8px 0 2px; font-weight:600; font-size:12.5px; }
.cv-cap li.bad b { color:#ef9d95; }
.mk-head { display:flex; align-items:center; gap:14px; margin:6px 0 4px; }
.mk-head strong { font-size:26px; color:var(--gold, #cfe0e3); font-weight:500; }
.mk-head .up, .mk-table .up { color:#7fc27a; } .mk-head .down, .mk-table .down { color:#e07b72; }
.mk-spark { width:200px; height:40px; } .mk-spark polyline { stroke:var(--gold, #cfe0e3); stroke-width:2; }
.mk-opts td { background:rgba(255,255,255,.03); }
.mk-press { padding-left:18px; font-size:12px; } .mk-press li.good { color:inherit; } .mk-press li.bad { opacity:.9; }
@media (max-width:700px) { .mk-table, .dpl-table { display:block; overflow-x:auto; } }
.hp-header > button { white-space:nowrap; }
.op-presence { fill:rgba(217,190,127,.06); stroke:#cfe0e3; stroke-width:1.5; stroke-dasharray:5 4; pointer-events:none; }
.op-head-btns { display:flex; gap:8px; align-items:flex-start; }
.op-svg .op-label { paint-order:stroke; stroke:#04101a; stroke-width:4px; }
.hx-movetable td { font-size:11.5px; line-height:1.35; } .hx-sheet dd { font-size:12px; }
/* Build 32 · state decisions */
.sd-wrap .hx-sub { margin-bottom:12px; }
.sd-slot { border:1px solid #2a3c48; border-radius:8px; padding:12px 14px; margin:0 0 12px; background:#0b1b24; }
.sd-slot.sd-set { border-color:#1c3b43; }
.sd-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.sd-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sd-fields label, .sd-wording { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#9fb3bf; }
.sd-fields select, .sd-wording input { font:inherit; font-size:13px; padding:7px 9px; border-radius:6px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; }
.sd-wording { margin-top:10px; } .sd-wording small { color:#cfe0e3; }
.sd-note { font-size:12.5px; opacity:.85; margin:8px 0 0; }
.sd-forms { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:6px; margin-top:10px; }
.sd-forms .hx-label { grid-column:1/-1; }
.sd-forms button { text-align:left; padding:7px 9px; border-radius:6px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; cursor:pointer; font:inherit; }
.sd-forms button.on { border-color:#cfe0e3; background:#2a2414; } .sd-forms small { display:block; font-size:11px; opacity:.8; margin-top:2px; }
.sd-sheet { margin-top:10px; padding-top:8px; border-top:1px solid #22323d; }
.sd-advice { font-size:12.5px; border-left:2px solid #cfe0e3; padding-left:8px; margin:0 0 8px; }
@media (max-width:700px) { .sd-fields { grid-template-columns:1fr; } }
.sd-clear { font:inherit; font-size:11.5px; padding:4px 10px; border-radius:4px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; cursor:pointer; }
/* Build 32 · before you act */
.ap-veil { position:fixed; inset:0; z-index:95; background:#020a10b8; display:flex; align-items:center; justify-content:center; padding:16px; }
.ap-card { width:min(560px,100%); max-height:86vh; overflow:auto; background:#0b1b24; border:1px solid #124854; border-radius:10px; padding:18px 20px; color:#e6e0d0; box-shadow:0 20px 60px #000c; }
.ap-card h2 { margin:4px 0 6px; font-size:20px; font-weight:500; }
.ap-sub { font-size:12.5px; opacity:.8; margin:0 0 10px; }
.ap-list { list-style:none; padding:0; margin:0 0 14px; }
.ap-list li { display:grid; grid-template-columns:1fr auto 90px; gap:10px; padding:5px 0; border-bottom:1px solid #22323d; font-size:13px; }
.ap-list li b { font-weight:600; } .ap-list li.good b { color:#8fd18a; } .ap-list li.bad b { color:#ef9d95; } .ap-list small { opacity:.7; text-align:right; }
.ap-btns { display:flex; gap:10px; } .ap-btns button { flex:1; }
.ap-note { font-size:13px; border-left:2px solid #cfe0e3; padding-left:9px; margin:0 0 10px; }
/* Build 32 · World › Valera (valera-region.js) */
.vr-map { width:100%; height:100%; display:block; background:#0a202d; }
.vr-link { fill:none; stroke:#cfe0e3; stroke-width:1.3; opacity:.9; }
.vr-city { cursor:pointer; } .vr-city:focus { outline:none; } .vr-city:focus .vr-name, .vr-city:hover .vr-name { fill:#7bd2d1; }
.vr-name { font:600 7.5px var(--x-sans, Inter, sans-serif); letter-spacing:.6px; fill:#e7eced; paint-order:stroke; stroke:#04101a; stroke-width:2px; }
.vr-val { font:6px var(--x-sans, Inter, sans-serif); fill:#dfe5ea; paint-order:stroke; stroke:#04101a; stroke-width:1.6px; }
.vr-ring { fill:none; stroke:#7bd2d1; stroke-width:1.2; }
.vr-tag { fill:#0b1b24e6; stroke:#cfe0e3; stroke-width:.5; } .vr-tag.cy { stroke:#7bd2d1; }
.vr-tagtext { font:5.2px var(--x-sans, Inter, sans-serif); fill:#e7eced; }
.vr-neighbour { font:7px Georgia, serif; letter-spacing:1.4px; fill:#c9d3d8; opacity:.75; text-anchor:middle; }
.vr-panel .vr-x { background:none; border:none; color:#c9d3d8; font-size:22px; cursor:pointer; line-height:1; }
.vr-title { margin:12px 0 6px; font-size:18px; font-weight:500; }
.vr-want { display:flex; flex-direction:column; gap:2px; border:1px solid #2a3c48; border-radius:6px; padding:7px 10px; margin:0 0 6px; font-size:12.5px; } .vr-want span { opacity:.85; }
.vr-evidence { font-size:12.5px; opacity:.9; }
.vr-stages { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); padding:0; margin:12px 0 14px; position:relative; }
.vr-stages li { display:flex; flex-direction:column; align-items:center; gap:6px; font-size:11.5px; color:#a3b2bb; position:relative; }
.vr-stages li i { width:11px; height:11px; border-radius:50%; border:1.5px solid #7d8f9b; background:#0b1b24; z-index:1; }
.vr-stages li:not(:last-child)::after { content:''; position:absolute; top:5px; left:50%; width:100%; height:1.5px; background:#3a5160; }
.vr-stages li.done i, .vr-stages li.now i { background:#7bd2d1; border-color:#7bd2d1; } .vr-stages li.now span { color:#e6e0d0; } .vr-stages li.done::after { background:#7bd2d1; }
.vr-why { margin:3px 0; font-size:12.5px; } .vr-why.good b { color:#8fd18a; } .vr-why.bad b { color:#ef9d95; }
.vr-hist { font-size:12.5px; margin:5px 0; } .vr-hist small { color:#cfe0e3; }
/* Build 33 · shared action button and ported pages */
.ab-wrap { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1 1 200px; } .ab-wrap.wide { flex-basis:100%; }
.ab-btn { font:inherit; font-size:13px; padding:8px 12px; border-radius:6px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; cursor:pointer; text-align:left; }
.ab-btn:hover:not(:disabled) { border-color:#cfe0e3; } .ab-btn:disabled { opacity:.5; cursor:default; }
.ab-btn.go { background:#2a2414; border-color:#cfe0e3; } .ab-btn.risk { border-color:#b8565f; color:#f0c2bd; } .ab-btn.ok { border-color:#5b8f6a; }
.ab-fx { font-size:11.5px; color:#9fc7d9; } .ab-why { font-size:11.5px; color:#a3b2bb; }
.pt-card { border:1px solid #2a3c48; border-radius:8px; padding:12px 14px; margin:0 0 12px; background:#0b1b24; }
.pt-card.good { border-color:#5b8f6a; } .pt-card.warn { border-color:#8f2330; } .pt-card.bad { border-color:#8a3f47; }
.pt-head { display:flex; justify-content:space-between; gap:12px; align-items:baseline; } .pt-head h3 { margin:0; font-size:16px; font-weight:600; } .pt-head span { font-size:12px; color:#a3b2bb; }
.pt-card p { margin:6px 0; font-size:13px; line-height:1.5; } .pt-card .pt-dim { color:#a3b2bb; font-size:12.5px; }
.pt-acts { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.pt-margin { margin:8px 0; } .pt-margin .hx-rows div { padding:3px 0; }
.env-bar { height:4px; background:#00000055; border-radius:3px; margin:6px 0; } .env-bar i { display:block; height:100%; background:#cfe0e3; border-radius:3px; } .pt-card.good .env-bar i { background:#7fc27a; } .pt-card.bad .env-bar i { background:#e07b72; }
.pt-acts .ab-wrap { max-width:460px; }
.bl-row { display:flex; justify-content:space-between; padding:5px 0; border-bottom:1px solid #22323d; font-size:12.5px; } .bl-convene { display:flex; gap:10px; margin-top:12px; } .bl-convene input, .bl-select { font:inherit; font-size:13px; padding:8px 10px; border-radius:6px; border:1px solid #3a5160; background:#11252f; color:#e6e0d0; } .bl-convene input { flex:1; } .bl-select { width:100%; margin-bottom:8px; }

/* ── Build 34 · press reactions panel (The Record) ───────────────────────── */
.pr-wrap { display:block; margin:18px 0 6px; }
.pr-card { border:1px solid var(--x-line,#273449); border-left:3px solid var(--gold,#cfe0e3); border-radius:8px;
  padding:10px 12px; margin:0 0 10px; background:rgba(255,255,255,.015); }
.pr-card.pr-major { border-left-color:#e6a8a0; }
.pr-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin:0 0 7px; }
.pr-head b { font-size:14px; color:var(--x-ink,#e9e3d4); }
.pr-meta { font-size:11px; color:var(--x-dim,#9aa7b5); letter-spacing:.3px; }
.pr-outlets { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:5px; }
.pr-outlets li { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px; font-size:12.5px; line-height:1.35; }
.pr-outlets b { color:var(--x-ink,#e9e3d4); font-weight:600; }
.pr-line { color:var(--x-dim,#b4beca); }
.pr-stance { flex-shrink:0; font:600 10px var(--x-caps,inherit); letter-spacing:.6px; text-transform:uppercase;
  padding:2px 7px; border-radius:999px; border:1px solid currentColor; }
.pr-stance.pr-stpos { color:#9fd39a; } .pr-stance.pr-stneg { color:#e6a39b; }
.pr-stance.pr-strong { font-weight:700; }
.pr-more { margin-top:4px; background:none; border:none; color:var(--gold,#cfe0e3); font-size:12px; cursor:pointer; padding:4px 0; }
.pr-more:hover { text-decoration:underline; }

/* ── Build 34 · the promise calendar (desk side + sign-off block) ─────────── */
.cal-wrap { border:1px solid var(--x-line,#273449); border-radius:10px; padding:11px 12px; margin:0 0 12px; background:rgba(255,255,255,.015); }
.cal-top { display:flex; align-items:baseline; justify-content:space-between; margin:0 0 8px; }
.cal-label { font:600 11px var(--x-caps,inherit); letter-spacing:2px; color:var(--x-gold,#cfe0e3); }
.cal-aide { font-size:11px; color:var(--x-dim,#9aa7b5); font-style:italic; }
.cal-record { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:7px 0 9px; border-bottom:1px solid var(--x-line,#273449); margin-bottom:9px; }
.cal-score { font:700 18px var(--x-caps,inherit); width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; border:1px solid currentColor; }
.cal-dependable { color:#9fd39a; } .cal-mixed { color:#cfe0e3; } .cal-unreliable { color:#e6a39b; }
.cal-record small { flex-basis:100%; color:var(--x-dim,#9aa7b5); font-size:11px; }
.cal-momentum { color:#9fd39a; font-size:12px; margin:0 0 9px; }
.cal-due-h { display:block; font:600 10.5px var(--x-caps,inherit); letter-spacing:1px; color:var(--x-ink,#e9e3d4); margin:0 0 6px; }
.cal-appt { border:1px solid var(--x-line,#273449); border-left:3px solid var(--x-gold,#cfe0e3); border-radius:7px; padding:8px 10px; margin:0 0 8px; }
.cal-appt.cal-frn { border-left-color:#8fb8d6; }
.cal-appt.cal-blocking { border-left-color:#e6a39b; background:rgba(230,163,155,.05); }
.cal-appt-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.cal-appt-head b { font-size:13px; color:var(--x-ink,#e9e3d4); }
.cal-when { font-size:10px; letter-spacing:.5px; color:var(--x-dim,#9aa7b5); text-transform:uppercase; white-space:nowrap; }
.cal-owed { font-size:11.5px; color:var(--x-dim,#b4beca); margin:3px 0 0; }
.cal-threat { font-size:11.5px; color:#e6a39b; margin:4px 0 0; }
.cal-acts { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0; }
.cal-acts button { font-size:11.5px; padding:4px 10px; border-radius:6px; border:1px solid var(--x-line,#334155); background:rgba(255,255,255,.03); color:var(--x-ink,#e9e3d4); cursor:pointer; }
.cal-acts button:hover { border-color:var(--x-gold,#cfe0e3); }
.cal-acts .cal-attend { border-color:#6f9f6a; color:#cfe3c8; }
.cal-acts .cal-discard { border-color:#9a5b56; color:#e6a39b; }
.cal-gain { font-size:11px; color:#9fd39a; margin:6px 0 0; }
.cal-empty, .cal-upcoming summary { font-size:11.5px; color:var(--x-dim,#9aa7b5); }
.cal-upcoming { margin-top:6px; } .cal-upcoming summary { cursor:pointer; }
.cal-upcoming .cal-appt { opacity:.85; }
/* sign-off modal block */
.cal-signoff-block { border:1px solid #9a5b56; background:rgba(230,163,155,.06); border-radius:8px; padding:9px 11px; margin:0 0 10px; }
.cal-signoff-block > b { display:block; font-size:12.5px; color:#e6a39b; margin:0 0 7px; }
.cal-sb-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:5px 0; font-size:12px; }
.cal-sb-row small { color:var(--x-dim,#9aa7b5); }
.cal-sb-acts { display:flex; gap:5px; flex-shrink:0; }
.cal-sb-acts button { font-size:11px; padding:3px 9px; border-radius:6px; border:1px solid var(--x-line,#334155); background:rgba(255,255,255,.03); color:var(--x-ink,#e9e3d4); cursor:pointer; }
.cal-sb-acts .cal-discard { border-color:#9a5b56; color:#e6a39b; }

.cal-chain { display:block; margin-top:5px; color:var(--x-dim,#9aa7b5); font-size:11px; line-height:1.4; border-top:1px solid var(--x-line,#273449); padding-top:6px; }
