/* Generated from the tracker. Do not edit by hand. */
.ti-tracker{--cds-pad-sm:8px;--cds-pad-md:14px;--cds-pad-lg:20px;--cds-pad-xl:28px;--cds-gap-sm:6px;--cds-gap-md:12px;--cds-gap-lg:18px;--cds-gap-xl:32px;--cds-radius:8px;--cds-dur-slow:.3s;--cds-font-size-caption:13px;--cds-font-size-body:16px;--cds-font-size-heading:20px;--cds-font-size-title:28px;--cds-font-weight-medium:500;--color-ok:#2F6B5B;--color-warn:#9A6A00;--color-bad:#8A3A0A;--color-fg:#1C1C1A;--color-fg-muted:#5F5F58;--color-border-line:#E3E1D7;--color-panel:#FDFDF9;--color-bg:#FDFDF9;font-size:16px;line-height:normal;letter-spacing:normal}
@media (prefers-color-scheme: dark){.ti-tracker{--color-ok:#7DB8A5;--color-warn:#E0B060;--color-bad:#E09A6B;--color-fg:#EDEBE3;--color-fg-muted:#A8A69C;--color-border-line:#2E2E2B;--color-panel:#141413;--color-bg:#141413}}
.ti-tracker [hidden]{display:none!important}
.ti-tracker h1,.ti-tracker h2,.ti-tracker h3,.ti-tracker h4{letter-spacing:normal}
.ti-tracker .vm-jump{top:68px}
.ti-tracker .dash-skeleton{opacity:.5}
.ti-tracker.ti-wrap{max-width:calc(1160px + 2 * 20px);padding:28px 20px 48px}

0,6..72,400;0,6..72,500;1,6..72,400&family=IBM+Plex+Mono:wght@400;500&display=swap');
/* The Tomorrow Index brand: ink, paper, green accent, rust for losses; Newsreader text, IBM Plex Mono labels */
#dash-root { background: #FDFDF9; }
.vm { --tti-serif: 'Newsreader', Georgia, serif; --tti-mono: 'IBM Plex Mono', ui-monospace, monospace;
  --font-anthropic-serif: var(--tti-serif); --font-anthropic-sans: var(--tti-serif);
  --color-ok: #2F6B5B; --color-warn: #9A6A12; --color-bad: #8A3A0A;
  --color-fg: #1C1C1A; --color-fg-muted: #5E5E5A; --color-border-line: #E4E3DF; --color-panel: #FFFFFF; --color-bg: #FDFDF9; }
@media (prefers-color-scheme: dark) {
  #dash-root { background: #151514; }
  .vm { --color-ok: #6FB39E; --color-warn: #D3A24A; --color-bad: #D07A4E; --color-fg: #EDEBE4; --color-fg-muted: #A9A69D; --color-border-line: #34332F; --color-panel: #1D1D1B; --color-bg: #151514; }
}
.vm-label, .vm-eyebrow, .vm-chip, .vm-rank, .vm-pm, .vm-lvl, .vm-count, .vm-tabs button, .vm-pick button, .vm-src, .vm-step .n, .vm-stamp, .vm-draft, .vm-room { font-family: var(--tti-mono); }
.vm-label, .vm-eyebrow { letter-spacing: .09em; }
.vm-src { font-size: 10.5px; letter-spacing: .02em; }
.vm-tabs button { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.vm-pick button { font-size: 11.5px; letter-spacing: .03em; }
.vm-stamp { font-size: 10.5px; letter-spacing: .05em; color: var(--vm-soft); }
@media (max-width: 720px) { .vm-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; } .vm-tabs button { padding: 10px 12px; white-space: nowrap; flex: 0 0 auto; } }
#edlist, #shiftlist, #pathview { display:flex; flex-direction:column; gap: var(--cds-gap-xl); }
.vm-part { font-family: var(--tti-mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--vm-accent); }

/* Layout: a field atlas. One journey gauge (four steps) is the recurring instrument; region tab = matrices, country tab = one country read top to bottom. */
#dash-root { --dash-gutter: var(--cds-pad-lg); }
.vm { --vm-accent: var(--color-ok); --vm-ink: var(--color-fg); --vm-soft: var(--color-fg-muted); --vm-line: var(--color-border-line); --vm-panel: var(--color-panel); --vm-ground: var(--color-bg);
  max-width: 1160px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--cds-gap-xl); font-family: var(--font-anthropic-sans); color: var(--vm-ink); }
.vm h1, .vm h2, .vm h3, .vm h4, .vm p { margin: 0; }
.vm .serif { font-family: var(--font-anthropic-serif); font-weight: 400; }
.vm-eyebrow { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; font-size: 12px; letter-spacing: .07em; text-transform: uppercase; color: var(--vm-soft); }
.vm-draft { letter-spacing: 0; text-transform: none; font-size: var(--cds-font-size-caption); color: var(--color-warn); border: 1px solid currentColor; border-radius: 999px; padding: 0 9px; }
.vm-mast { display: flex; flex-direction: column; gap: var(--cds-gap-md); }
.vm-title { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: calc(var(--cds-font-size-title) * 1.3); line-height: 1.1; text-wrap: balance; }
.vm-lead { font-family: var(--font-anthropic-serif); font-size: calc(var(--cds-font-size-body) * 1.22); line-height: 1.55; max-width: 68ch; }
.vm-note { color: var(--vm-soft); font-size: var(--cds-font-size-caption); line-height: 1.5; max-width: 72ch; }
.vm-src { color: var(--vm-soft); font-size: 11px; line-height: 1.45; }
.vm-label { font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--vm-soft); }
.vm-h2 { font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); }
.vm-h3 { font-size: var(--cds-font-size-body); font-weight: var(--cds-font-weight-medium); line-height: 1.35; }
.vm-sec { display: flex; flex-direction: column; gap: var(--cds-gap-md); scroll-margin-top: var(--cds-pad-lg); }
.vm-sechead { display: flex; flex-direction: column; gap: 4px; }

/* tabs and pickers */
.vm-tabs { display: flex; flex-wrap: wrap; gap: 2px; border-bottom: 1px solid var(--vm-line); }
.vm-tabs button { font: inherit; font-size: var(--cds-font-size-body); background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 10px 16px; min-height: 44px; color: var(--vm-soft); cursor: pointer; display: inline-flex; gap: 8px; align-items: center; }
.vm-tabs button[aria-selected="true"] { color: var(--vm-ink); border-bottom-color: var(--vm-ink); font-weight: var(--cds-font-weight-medium); }
.vm-tabs button:focus-visible, .vm-pick button:focus-visible, .vm-link:focus-visible, .vm-cname:focus-visible { outline: 2px solid var(--vm-accent); outline-offset: 2px; }
.vm-count { font-size: 11px; font-variant-numeric: tabular-nums; border-radius: 999px; padding: 1px 7px; background: var(--vm-ground); color: var(--vm-soft); border: 1px solid var(--vm-line); }
.vm-pick { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.vm-pick button { font: inherit; font-size: var(--cds-font-size-caption); min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--vm-line); background: var(--vm-panel); color: var(--vm-ink); cursor: pointer; }
.vm-pick button:hover { border-color: var(--vm-soft); }
.vm-pick button[aria-pressed="true"] { background: var(--vm-ink); color: var(--vm-ground); border-color: var(--vm-ink); }
.vm-pick .vm-label { margin: 0 2px 0 8px; }
.vm-pick .vm-label:first-child { margin-left: 0; }

/* the journey gauge */
.vm-g { display: inline-grid; grid-template-columns: repeat(4, 14px); gap: 3px; vertical-align: middle; }
.vm-g i { height: 8px; border-radius: 2px; background: var(--vm-ground); border: 1px solid var(--vm-line); }
.vm-g i.on { background: var(--vm-accent); border-color: var(--vm-accent); }
.vm-g.big { grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; gap: 4px; }
.vm-g.big i { height: 12px; border-radius: 3px; }
.vm-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; font-size: 11px; color: var(--vm-soft); }
.vm-steps span.here { color: var(--vm-ink); font-weight: var(--cds-font-weight-medium); }

/* matrices */
.vm-card { background: var(--vm-panel); border: 1px solid var(--vm-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display: flex; flex-direction: column; gap: var(--cds-gap-md); min-width: 0; }
.vm-box { overflow-x: auto; }
.vm-mx { border-collapse: collapse; width: 100%; font-size: var(--cds-font-size-caption); font-variant-numeric: tabular-nums; }
.vm-mx th, .vm-mx td { padding: 10px 8px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--vm-line); }
.vm-mx thead th { font-weight: 400; color: var(--vm-soft); font-size: 11px; line-height: 1.25; vertical-align: bottom; }
.vm-mx tbody tr:last-child th, .vm-mx tbody tr:last-child td { border-bottom: 0; }
.vm-mx .first { background: color-mix(in srgb, var(--vm-ink) 4%, transparent); }
.vm-cell { display: flex; flex-direction: column; gap: 4px; }
.vm-cell span { font-size: 11px; color: var(--vm-soft); white-space: nowrap; }
.vm-cname { font: inherit; font-weight: var(--cds-font-weight-medium); background: none; border: 0; padding: 0; color: var(--vm-ink); cursor: pointer; text-align: left; text-decoration: underline; text-decoration-color: var(--vm-line); text-underline-offset: 3px; }
.vm-cname:hover { text-decoration-color: var(--vm-ink); }
.vm-ps { display: inline-block; font-size: 11px; line-height: 1; padding: 6px 8px; border-radius: 4px; white-space: nowrap; }
.vm-ps.s0 { color: var(--vm-soft); border: 1px dashed var(--vm-line); }
.vm-ps.s1 { background: color-mix(in srgb, var(--vm-accent) 18%, var(--vm-panel)); }
.vm-ps.s2 { background: color-mix(in srgb, var(--vm-accent) 40%, var(--vm-panel)); }
.vm-ps.s3 { background: var(--vm-accent); color: var(--vm-ground); }
.vm-ps.call { box-shadow: inset 0 0 0 2px var(--vm-ink); font-weight: var(--cds-font-weight-medium); }
.vm-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: center; font-size: 11px; color: var(--vm-soft); }
.vm-legend > span { display: inline-flex; gap: 6px; align-items: center; }

/* columns of text */
.vm-three { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--cds-gap-lg); }
.vm-col { display: flex; flex-direction: column; gap: 8px; border-top: 2px solid var(--vm-ink); padding-top: 10px; font-size: var(--cds-font-size-body); line-height: 1.55; min-width: 0; }
.vm-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vm-list li { display: flex; flex-direction: column; gap: 3px; padding: 10px 0; border-bottom: 1px solid var(--vm-line); font-size: var(--cds-font-size-caption); line-height: 1.5; }
.vm-list li:last-child { border-bottom: 0; }
.vm-list .vm-h3 { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.vm-new { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: var(--color-ok); border: 1px solid currentColor; border-radius: 4px; padding: 0 4px; font-weight: 400; }
.vm-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; }
.vm-bar .track { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: var(--vm-ground); overflow: hidden; }
.vm-bar .track i { display: block; height: 4px; background: var(--vm-accent); border-radius: 2px; }

/* country */
.vm-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: var(--cds-gap-xl); align-items: start; }
@media (max-width: 820px) { .vm-hero { grid-template-columns: minmax(0, 1fr); } }
.vm-cn { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: calc(var(--cds-font-size-title) * 1.25); line-height: 1.1; }
.vm-overall { display: flex; flex-direction: column; gap: 8px; }
.vm-facets { display: flex; flex-direction: column; }
.vm-frow { display: grid; grid-template-columns: minmax(0, 1fr) 70px 6.5rem; gap: 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--vm-line); }
.vm-frow:last-child { border-bottom: 0; }
.vm-frow .nm { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.vm-frow .pos { font-size: var(--cds-font-size-caption); }
.vm-frow .pos.none { color: var(--vm-soft); }
.vm-pools { display: flex; flex-direction: column; gap: var(--cds-gap-md); }
.vm-pool { background: var(--vm-panel); border: 1px solid var(--vm-line); border-radius: var(--cds-radius); display: flex; flex-direction: column; }
.vm-poolhead { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 16px; align-items: baseline; padding: var(--cds-pad-lg) var(--cds-pad-lg) var(--cds-pad-md); }
.vm-rank { font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-title); line-height: 1; color: var(--vm-soft); font-variant-numeric: tabular-nums; }
.vm-poolname { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.vm-poolname .serif { font-size: var(--cds-font-size-heading); line-height: 1.25; }
.vm-chips { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.vm-chip { display: inline-block; font-size: 11px; padding: 3px 9px; border-radius: 999px; border: 1px solid var(--vm-line); color: var(--vm-soft); white-space: nowrap; }
.vm-chip.up { color: var(--color-ok); border-color: currentColor; }
.vm-chip.mid { color: var(--color-warn); border-color: currentColor; }
.vm-chip.down { color: var(--color-bad); border-color: currentColor; }
.vm-poolbody { padding: 0 var(--cds-pad-lg) var(--cds-pad-lg); display: flex; flex-direction: column; gap: var(--cds-gap-md); }
.vm-kvs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--cds-gap-md) var(--cds-gap-lg); }
.vm-kv { display: flex; flex-direction: column; gap: 4px; font-size: var(--cds-font-size-caption); line-height: 1.55; min-width: 0; }
.vm-kv ul { margin: 0; padding-left: 1.1em; }
.vm-qs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1px; background: var(--vm-line); border: 1px solid var(--vm-line); border-radius: var(--cds-radius); overflow: hidden; }
.vm-qs > div { background: var(--vm-ground); padding: var(--cds-pad-md); display: flex; flex-direction: column; gap: 4px; font-size: var(--cds-font-size-body); line-height: 1.5; }
.vm-bv { display: flex; flex-direction: column; gap: 6px; padding-left: var(--cds-pad-md); border-left: 2px solid var(--vm-accent); }
.vm-bv p { font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-body); line-height: 1.6; max-width: 70ch; }
.vm-more > summary { cursor: pointer; font-size: var(--cds-font-size-caption); min-height: 32px; display: flex; align-items: center; gap: 6px; color: var(--vm-ink); }
.vm-tbl { border-collapse: collapse; width: 100%; min-width: 520px; font-size: var(--cds-font-size-caption); }
.vm-tbl th { text-align: left; font-weight: 400; color: var(--vm-soft); font-size: 11px; padding: 6px 8px; border-bottom: 1px solid var(--vm-line); }
.vm-tbl td { padding: 8px; border-bottom: 1px solid var(--vm-line); vertical-align: top; line-height: 1.45; }
.vm-tbl tr:last-child td { border-bottom: 0; }
.vm-expect { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vm-expect li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--vm-line); font-size: var(--cds-font-size-body); line-height: 1.5; }
.vm-expect li:last-child { border-bottom: 0; }
.vm-expect .n { font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-heading); color: var(--vm-soft); line-height: 1.2; }
.vm-link { font: inherit; font-size: var(--cds-font-size-caption); align-self: flex-start; background: var(--vm-panel); border: 1px solid var(--vm-line); border-radius: 999px; min-height: 36px; padding: 0 14px; color: var(--vm-ink); cursor: pointer; }
.vm-link:hover { border-color: var(--vm-soft); }

/* signals */
.vm-sig { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vm-sig li { display: grid; grid-template-columns: 7rem minmax(0, 1fr) 9.5rem; gap: 6px 20px; padding: 16px 0; border-bottom: 1px solid var(--vm-line); align-items: start; }
.vm-sig li:last-child { border-bottom: 0; }
.vm-sig .when { display: flex; flex-direction: column; gap: 2px; font-size: var(--cds-font-size-caption); }
.vm-sig .what { display: flex; flex-direction: column; gap: 6px; min-width: 0; font-size: var(--cds-font-size-body); line-height: 1.5; }
.vm-sig .means { font-size: var(--cds-font-size-caption); color: var(--vm-soft); line-height: 1.5; }
.vm-sig .means strong { color: var(--vm-ink); font-weight: var(--cds-font-weight-medium); }
.vm-sig .eff { justify-self: end; }
@media (max-width: 640px) { .vm-sig li { grid-template-columns: minmax(0, 1fr); } .vm-sig .eff { justify-self: start; order: -1; } }

/* close */
.vm-cta { background: var(--vm-ink); color: var(--vm-ground); border-radius: var(--cds-radius); padding: var(--cds-pad-xl) var(--cds-pad-lg); display: flex; flex-wrap: wrap; gap: var(--cds-gap-md) var(--cds-gap-xl); align-items: center; justify-content: space-between; }
.vm-cta h2 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: var(--cds-font-size-title); line-height: 1.2; }
.vm-cta p { margin-top: 6px; font-size: var(--cds-font-size-caption); opacity: .82; max-width: 62ch; line-height: 1.55; }
.vm-ctab { font-size: var(--cds-font-size-caption); border: 1px solid currentColor; border-radius: 999px; padding: 9px 16px; white-space: nowrap; }
.vm-method > summary { cursor: pointer; font-size: var(--cds-font-size-heading); font-weight: var(--cds-font-weight-medium); min-height: 44px; display: flex; align-items: center; }
.vm-method .vm-three { margin-top: var(--cds-gap-md); }
.vm-method dl { margin: 0; display: grid; grid-template-columns: minmax(7rem, auto) minmax(0, 1fr); gap: 6px 14px; font-size: var(--cds-font-size-caption); line-height: 1.5; }
.vm-method dt { font-weight: var(--cds-font-weight-medium); }
.vm-method dd { margin: 0; color: var(--vm-soft); }
.vm-fail { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 120px; color: var(--vm-soft); font-size: var(--cds-font-size-caption); }
.vm-fail::before { content: ""; width: .375rem; height: .375rem; border-radius: 999px; background: var(--color-bad); }
.vm-room { display:inline-block; font-size:11px; padding:3px 9px; border-radius:999px; white-space:nowrap; border:1px solid currentColor; }
.vm-room.open { color: var(--color-ok); } .vm-room.crowded { color: var(--color-warn); } .vm-room.locked { color: var(--color-bad); }
.vm-verdict { display:inline-block; font-size:11px; padding:3px 9px; border-radius:999px; background: var(--vm-ink); color: var(--vm-ground); white-space:nowrap; }
.vm-quads { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: var(--cds-gap-md); }
.vm-hz { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: var(--cds-gap-md); }
.vm-hz .vm-card h4, .vm-quads .vm-card h4 { margin:0; font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-heading); font-weight:400; line-height:1.25; }
.vm-mini { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 2px; font-size: 11px; }
.vm-mini div { padding: 8px 10px; background: var(--vm-ground); border: 1px solid var(--vm-line); color: var(--vm-soft); line-height:1.4; }
.vm-mini div b { display:block; color: var(--vm-ink); font-weight: var(--cds-font-weight-medium); }
.vm-stats { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 2px; background: var(--vm-line); border: 1px solid var(--vm-line); border-radius: var(--cds-radius); overflow: hidden; }
.vm-stat { background: var(--vm-panel); padding: var(--cds-pad-md); display:flex; flex-direction:column; gap:4px; min-width:0; }
.vm-stat .v { font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-heading); line-height:1.25; }
.vm-stat .v.tv { color: var(--vm-soft); font-size: var(--cds-font-size-body); }
.vm-hbar { display:grid; grid-template-columns: minmax(6.5rem, max-content) minmax(0,1fr) 3.5rem; gap: 8px 10px; align-items:center; font-size: var(--cds-font-size-caption); }
.vm-hbar .tr { height: 14px; background: var(--vm-ground); border-radius: 0 4px 4px 0; position: relative; }
.vm-hbar .tr i { position:absolute; left:0; top:0; bottom:0; background: var(--vm-accent); border-radius: 0 4px 4px 0; }
.vm-hbar .tr b { position:absolute; top:-3px; bottom:-3px; width:2px; background: var(--vm-ink); }
.vm-hbar .val { font-variant-numeric: tabular-nums; text-align:right; }
.vm-hbar .sub { grid-column: 2 / 4; margin-top:-6px; color: var(--vm-soft); font-size: 11px; }
.vm-seg-bar { display:flex; height:22px; border-radius:4px; overflow:hidden; gap:2px; background: var(--vm-ground); }
.vm-seg-bar i { display:block; height:100%; min-width:2px; }
.vm-seg-key { display:flex; flex-wrap:wrap; gap:4px 14px; font-size: var(--cds-font-size-caption); color: var(--vm-soft); }
.vm-seg-key span::before { content:''; display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; vertical-align:-1px; background: var(--k); }
.vm-segs { display:grid; grid-template-columns: minmax(6.5rem, max-content) minmax(0,1fr) 4.5rem; gap: 8px 10px; align-items:center; font-size: var(--cds-font-size-caption); }
.vm-segs .val { font-variant-numeric: tabular-nums; text-align:right; }
.vm-seg-today { font-size: var(--cds-font-size-caption); color: var(--vm-soft); line-height:1.5; }
.vm-tk { display:grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr); gap: var(--cds-gap-md); background: color-mix(in srgb, var(--vm-accent) 10%, var(--vm-panel)); border-radius: var(--cds-radius); padding: var(--cds-pad-md) var(--cds-pad-lg); }
@media (max-width: 720px) { .vm-tk { grid-template-columns: 1fr; } }
.vm-tk .big { font-family: var(--font-anthropic-serif); font-size: 1.35rem; line-height:1.25; }
.vm-take { display:flex; flex-direction:column; gap: var(--cds-gap-md); }
.vm-tk ul { margin:0; padding-left: 1.1em; font-size: var(--cds-font-size-caption); line-height:1.55; }
.vm-pm { display:inline-block; font-size:11px; padding:3px 8px; border-radius:4px; white-space:nowrap; border:1px solid transparent; }
.vm-pm.ok { background: color-mix(in srgb, var(--color-ok) 22%, var(--vm-panel)); }
.vm-pm.lim { background: color-mix(in srgb, var(--color-ok) 10%, var(--vm-panel)); border-color: color-mix(in srgb, var(--color-ok) 35%, var(--vm-panel)); }
.vm-pm.pil { background: color-mix(in srgb, var(--color-warn) 16%, var(--vm-panel)); }
.vm-pm.no { background: color-mix(in srgb, var(--color-bad) 16%, var(--vm-panel)); }
.vm-pm.tv { color: var(--vm-soft); border: 1px dashed var(--vm-line); }
.vm-perm { display:grid; grid-template-columns: minmax(10rem, 15rem) max-content minmax(0,1fr); gap: 10px 14px; align-items: start; font-size: var(--cds-font-size-caption); line-height:1.5; }
@media (max-width: 720px) { .vm-perm { grid-template-columns: max-content minmax(0,1fr); } .vm-perm .pl { grid-column: 1 / -1; margin-bottom:-6px; } }
.vm-perm .pl { font-weight: var(--cds-font-weight-medium); }
.vm-upd { display:flex; flex-direction:column; gap: var(--cds-gap-md); }
.vm-upd article { background: var(--vm-panel); border:1px solid var(--vm-line); border-radius: var(--cds-radius); padding: var(--cds-pad-md) var(--cds-pad-lg); display:flex; flex-direction:column; gap:6px; }
.vm-upd .so { font-size: var(--cds-font-size-caption); line-height:1.55; }
.vm-path { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--cds-gap-md); }
.vm-step { background: var(--vm-panel); border:1px solid var(--vm-line); border-top: 3px solid var(--vm-line); border-radius: var(--cds-radius); padding: var(--cds-pad-md); display:flex; flex-direction:column; gap:6px; font-size: var(--cds-font-size-caption); line-height:1.5; }
.vm-step.here { border-top-color: var(--vm-accent); }
.vm-step .n { font-size:11px; letter-spacing:.07em; text-transform:uppercase; color: var(--vm-soft); }
.vm-step h4 { margin:0; font-family: var(--font-anthropic-serif); font-weight:400; font-size: 1.1rem; line-height:1.25; }
.vm-step .who { display:flex; flex-wrap:wrap; gap:4px; margin-top:auto; padding-top:6px; }
.vm-areas { display:flex; flex-direction:column; gap: var(--cds-gap-lg); }
.vm-area { background: var(--vm-panel); border:1px solid var(--vm-line); border-left: 3px solid var(--vm-line); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display:flex; flex-direction:column; gap: var(--cds-gap-md); }
.vm-area.s3, .vm-area.s2 { border-left-color: var(--vm-accent); } .vm-area.s1 { border-left-color: color-mix(in srgb, var(--vm-accent) 45%, var(--vm-line)); }
.vm-area h3 { margin:0; font-family: var(--font-anthropic-serif); font-weight:400; font-size: 1.45rem; line-height:1.2; }
.vm-area .cols { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: var(--cds-gap-lg); }
.vm-area .col { display:flex; flex-direction:column; gap: 10px; }
.vm-item { border-top: 1px solid var(--vm-line); padding-top: 8px; display:flex; flex-direction:column; gap:4px; font-size: var(--cds-font-size-caption); line-height:1.5; }
.vm-item .t { font-size: var(--cds-font-size-body); }
.vm-sigs { margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; font-size: var(--cds-font-size-caption); line-height:1.5; }
.vm-sigs li { display:grid; grid-template-columns: 1.2rem minmax(0,1fr); gap:6px; }
.vm-sigs .a { font-family: var(--tti-mono); } .vm-sigs .a.f { color: var(--color-ok); } .vm-sigs .a.b { color: var(--color-bad); } .vm-sigs .a.n { color: var(--vm-soft); }
.vm-strip { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; background: color-mix(in srgb, var(--vm-accent) 9%, var(--vm-panel)); border-radius: var(--cds-radius); padding: var(--cds-pad-md) var(--cds-pad-lg); font-size: var(--cds-font-size-caption); line-height:1.55; }
.vm-strip .big { font-family: var(--font-anthropic-serif); font-size: 1.2rem; }
.vm-case > summary { font-family: var(--tti-mono); font-size: 12px; letter-spacing: .04em; color: var(--vm-accent); }
.vm-mv { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--cds-gap-md); }
.vm-mv .vm-card { gap: 8px; border-top: 3px solid var(--vm-accent); }
.vm-mv h4 { margin:0; font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-heading); font-weight:400; line-height:1.25; }
.vm-lvl { display:inline-block; font-size:11px; padding:3px 8px; border-radius:4px; white-space:nowrap; }
.vm-lvl.High { background: var(--vm-ink); color: var(--vm-ground); }
.vm-lvl.Medium { background: color-mix(in srgb, var(--vm-ink) 35%, var(--vm-panel)); color: var(--vm-ink); }
.vm-lvl.Low { border: 1px solid var(--vm-line); color: var(--vm-soft); }
.vm-lvl.na { color: var(--vm-soft); border: 1px dashed var(--vm-line); }
.vm-gf { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: var(--cds-gap-md); }
.vm-know { background: color-mix(in srgb, var(--vm-accent) 10%, var(--vm-panel)); border-left: 3px solid var(--vm-accent); padding: var(--cds-pad-md) var(--cds-pad-lg); display:flex; flex-direction:column; gap:6px; border-radius: 0 var(--cds-radius) var(--cds-radius) 0; }
.vm-know ol { margin:0; padding-left: 1.2em; display:flex; flex-direction:column; gap:6px; font-size: var(--cds-font-size-body); line-height:1.5; }
.vm-subh { font-size: var(--cds-font-size-heading); margin-top: var(--cds-gap-md); }
.vm-jump { position: sticky; top: 0; z-index: 2; background: var(--vm-ground); padding: 8px 0; }
.vm-shifts { display:flex; flex-direction:column; gap: var(--cds-gap-lg); }
.vm-shift { background: var(--vm-panel); border: 1px solid var(--vm-line); border-top: 3px solid var(--vm-accent); border-radius: var(--cds-radius); padding: var(--cds-pad-lg); display:flex; flex-direction:column; gap: var(--cds-gap-md); scroll-margin-top: 64px; }
.vm-shift h3 { margin:0; font-family: var(--font-anthropic-serif); font-size: 1.6rem; font-weight:400; line-height:1.2; }
.vm-fromto { display:grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 10px; align-items:center; font-size: var(--cds-font-size-body); }
.vm-fromto div { padding: 10px 12px; border-radius: var(--cds-radius); border: 1px solid var(--vm-line); }
.vm-fromto .to { border-color: var(--vm-accent); background: color-mix(in srgb, var(--vm-accent) 10%, var(--vm-panel)); }
.vm-fromto .arr { color: var(--vm-soft); font-size: 20px; }
.vm-venture { background: color-mix(in srgb, var(--vm-accent) 10%, var(--vm-panel)); border-radius: var(--cds-radius); padding: var(--cds-pad-md) var(--cds-pad-lg); display:flex; flex-direction:column; gap:6px; }
.vm-venture p { margin:0; font-family: var(--font-anthropic-serif); font-size: var(--cds-font-size-body); line-height:1.6; }
.vm-hardy { border: 1px dashed var(--color-warn); border-radius: var(--cds-radius); padding: var(--cds-pad-md); display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--cds-gap-md); }
@media (max-width: 640px) { .vm-fromto { grid-template-columns: 1fr; } .vm-fromto .arr { transform: rotate(90deg); justify-self:center; } }
.vm-size { border: 1px solid var(--vm-line); border-radius: var(--cds-radius); padding: var(--cds-pad-md); display:flex; flex-direction:column; gap: var(--cds-gap-md); }
.vm-size input { width: 7.5rem; font: inherit; font-size: var(--cds-font-size-caption); padding: 4px 6px; border: 1px solid var(--vm-line); border-radius: 4px; background: var(--vm-ground); color: var(--vm-ink); }
[data-dash-source-state=empty] { color: transparent; }
[data-dash-source-state=refreshing] { opacity: .5; transition: opacity var(--cds-dur-slow); }

/* ---- readability pass: width, type scale, colour for hierarchy ---- */
.vm { max-width: 1440px; font-size: 16px; }
.vm-note, .vm-lead, .vm-bv p, .vm-cta p { max-width: none; }
.vm-sechead .vm-note { font-size: 15px; line-height: 1.55; }
/* tab-level titles */
.vm > section.vm-sec > .vm-sechead > .vm-h2 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 2.2rem; line-height: 1.1; letter-spacing: -.01em; }
/* sections inside a tab: ruled, larger serif */
.vm-sec .vm-sec > .vm-sechead { border-top: 1px solid var(--vm-ink); padding-top: 18px; margin-top: 8px; gap: 6px; }
.vm-sec .vm-sec > .vm-sechead > .vm-h2 { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.75rem; line-height: 1.15; }
.vm-subh { font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.3rem; margin-top: var(--cds-gap-lg); }
.vm-part { font-size: 11.5px; }
.vm-lead { font-size: 1.28rem; line-height: 1.5; color: var(--vm-ink); }
.vm-label { font-size: 10.5px; color: var(--vm-soft); }
.vm-src { color: color-mix(in srgb, var(--vm-soft) 80%, var(--vm-panel)); }
.vm-h3 { font-size: 1.05rem; }
/* status colours that draw the eye */
.vm-chip.vm-ast { font-family: var(--tti-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; border: 0; padding: 4px 10px; }
.vm-chip.vm-ast.s3, .vm-chip.vm-ast.s2 { background: var(--vm-accent); color: #fff; }
.vm-chip.vm-ast.s1 { background: color-mix(in srgb, var(--color-warn) 20%, var(--vm-panel)); color: var(--vm-ink); }
.vm-chip.vm-ast.s0 { background: var(--vm-ground); color: var(--vm-soft); border: 1px solid var(--vm-line); }
.vm-label.vm-now { color: var(--vm-accent); font-weight: 500; }
.vm-label.vm-nxt { color: var(--color-warn); font-weight: 500; }
.vm-area h3 { font-size: 1.6rem; }
.vm-item .t { font-family: var(--font-anthropic-serif); font-size: 1.12rem; }
.vm-strip .big, .vm-tk .big { color: var(--vm-accent); }
.vm-shift h3 { font-size: 1.75rem; }
/* path timeline */
.vm-tl { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 0 18px; position: relative; }
.vm-tl .st { position: relative; display: flex; flex-direction: column; gap: 6px; padding-top: 0; }
.vm-tl .when { font-family: var(--tti-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--vm-soft); min-height: 2.6em; }
.vm-tl .dot { position: relative; z-index: 1; width: 30px; height: 30px; border-radius: 50%; border: 1.5px solid var(--vm-ink); background: var(--vm-panel); display: grid; place-items: center; font-family: var(--tti-mono); font-size: 12px; }
.vm-tl .st::after { content: ''; position: absolute; left: 30px; right: -18px; top: calc(2.6em + 6px + 15px); height: 1.5px; background: var(--vm-line); }
.vm-tl .st:last-child::after { display: none; }
.vm-tl .st.done .dot { background: var(--vm-ink); color: var(--vm-panel); }
.vm-tl .st.done::after { background: var(--vm-ink); }
.vm-tl .st.here .dot { background: var(--vm-accent); border-color: var(--vm-accent); color: #fff; box-shadow: 0 0 0 5px color-mix(in srgb, var(--vm-accent) 18%, transparent); }
.vm-tl .pin { align-self: flex-start; font-family: var(--tti-mono); font-size: 10.5px; letter-spacing: .05em; text-transform: uppercase; color: #fff; background: var(--vm-accent); padding: 2px 8px; border-radius: 3px; }
.vm-tl h4 { margin: 4px 0 0; font-family: var(--font-anthropic-serif); font-weight: 400; font-size: 1.15rem; line-height: 1.25; }
.vm-tl .trg { margin: 0; font-size: 14px; line-height: 1.5; }
.vm-tl .ev { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--vm-soft); }
@media (max-width: 760px) {
  .vm-tl { grid-template-columns: 1fr; gap: 18px; padding-left: 44px; }
  .vm-tl .dot { position: absolute; left: -44px; top: 0; }
  .vm-tl .when { min-height: 0; }
  .vm-tl .st::after { left: -30px; right: auto; width: 1.5px; top: 30px; bottom: -18px; height: auto; }
}
.vm-bt { display:flex; flex-direction:column; gap:6px; margin-top:6px; padding:10px 12px; background: var(--vm-ground); border-radius: 6px; }
.vm-bt .r { display:grid; grid-template-columns: minmax(9rem, 13rem) max-content minmax(0,1fr); gap: 4px 10px; align-items: baseline; font-size: 13.5px; line-height:1.45; }
.vm-bt .ty { color: var(--vm-ink); } .vm-bt .wy { color: var(--vm-soft); }
@media (max-width: 720px) { .vm-bt .r { grid-template-columns: max-content minmax(0,1fr); } .vm-bt .wy { grid-column: 1 / -1; } }

/* ---- component consistency: one tag style, one link style ---- */
.vm .vm-chip, .vm .vm-room, .vm .vm-verdict, .vm .vm-draft, .vm .vm-pm, .vm .vm-lvl, .vm .vm-new, .vm .vm-chips .vm-cname {
  display: inline-flex; align-items: center; justify-content: center; height: 22px; padding: 0 8px; border-radius: 3px; box-sizing: border-box;
  font-family: var(--tti-mono); font-size: 10.5px; font-weight: 400; letter-spacing: .06em; text-transform: uppercase; line-height: 1;
  white-space: nowrap; vertical-align: middle; text-decoration: none; background: transparent; border: 1px solid var(--vm-line); color: var(--vm-soft); }
.vm .vm-verdict { background: var(--vm-ink); border-color: var(--vm-ink); color: var(--vm-panel); }
.vm .vm-draft { color: var(--color-warn); border-color: color-mix(in srgb, var(--color-warn) 55%, var(--vm-panel)); }
.vm .vm-room.open, .vm .vm-chip.up { color: var(--color-ok); border-color: color-mix(in srgb, var(--color-ok) 55%, var(--vm-panel)); }
.vm .vm-room.crowded, .vm .vm-chip.mid { color: var(--color-warn); border-color: color-mix(in srgb, var(--color-warn) 55%, var(--vm-panel)); }
.vm .vm-room.locked, .vm .vm-chip.down { color: var(--color-bad); border-color: color-mix(in srgb, var(--color-bad) 55%, var(--vm-panel)); }
.vm .vm-pm.ok { background: color-mix(in srgb, var(--color-ok) 16%, var(--vm-panel)); border-color: transparent; color: var(--vm-ink); }
.vm .vm-pm.lim { background: transparent; border-color: color-mix(in srgb, var(--color-ok) 55%, var(--vm-panel)); color: var(--color-ok); }
.vm .vm-pm.pil { background: color-mix(in srgb, var(--color-warn) 14%, var(--vm-panel)); border-color: transparent; color: var(--vm-ink); }
.vm .vm-pm.no { background: color-mix(in srgb, var(--color-bad) 13%, var(--vm-panel)); border-color: transparent; color: var(--vm-ink); }
.vm .vm-pm.tv { border-style: dashed; }
.vm .vm-lvl.High { background: var(--vm-ink); border-color: var(--vm-ink); color: var(--vm-panel); }
.vm .vm-lvl.Medium { background: color-mix(in srgb, var(--vm-ink) 14%, var(--vm-panel)); border-color: transparent; color: var(--vm-ink); }
.vm .vm-chip.vm-ast { border: 0; }
.vm .vm-chip.vm-ast.s3, .vm .vm-chip.vm-ast.s2 { background: var(--vm-accent); color: #fff; }
.vm .vm-chip.vm-ast.s1 { background: color-mix(in srgb, var(--color-warn) 18%, var(--vm-panel)); color: var(--vm-ink); }
.vm .vm-chip.vm-ast.s0 { background: transparent; border: 1px solid var(--vm-line); color: var(--vm-soft); }
/* country names inside tag rows: same tag, but clickable */
.vm .vm-chips .vm-cname { color: var(--vm-ink); border-color: var(--vm-ink); cursor: pointer; }
.vm .vm-chips .vm-cname:hover { background: var(--vm-ink); color: var(--vm-panel); }
/* country names elsewhere: plain text link */
.vm .vm-cname { font-family: inherit; font-weight: 500; text-align: left; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--vm-ink) 30%, transparent); text-underline-offset: 3px; }
/* one link style: green text, left aligned, no pill */
.vm .vm-link { display: inline; align-self: flex-start; background: none; border: 0; border-radius: 0; min-height: 0; padding: 0; margin: 0;
  font-family: var(--font-anthropic-serif); font-size: 15px; line-height: 1.45; font-weight: 400; color: var(--vm-accent); text-align: left; cursor: pointer;
  text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--vm-accent) 35%, transparent); text-underline-offset: 3px; }
.vm .vm-link:hover { text-decoration-color: var(--vm-accent); }
.vm .vm-chips { align-items: center; row-gap: 6px; }
.vm .vm-chips > .vm-label { margin-right: 2px; }
.vm .vm-rank { font-size: 1.9rem; line-height: 1; margin-right: 6px; color: var(--vm-ink); }
/* expanders */
.vm .vm-more > summary { list-style: none; font-family: var(--tti-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--vm-accent); min-height: 32px; }
.vm .vm-more > summary::-webkit-details-marker { display: none; }
.vm .vm-more > summary::before { content: '+'; display: inline-block; width: 14px; font-size: 13px; }
.vm .vm-more[open] > summary::before { content: '−'; }
/* opportunity-area items: title on its own line, tags beneath */
.vm .vm-item { gap: 6px; padding-top: 14px; }
.vm .vm-item > .vm-chips { justify-content: flex-start; }
.vm .vm-item > .vm-chips > .t { flex: 1 0 100%; margin-bottom: 2px; }
.vm .vm-area .col { gap: 4px; }
.vm .vm-area .col > .vm-label { padding-bottom: 6px; border-bottom: 1.5px solid currentColor; }
.vm .vm-area .vm-item:first-of-type { border-top: 0; }
.vm .vm-bt { background: transparent; padding: 8px 0 0; border-top: 1px dashed var(--vm-line); border-radius: 0; }
.vm .vm-bt .r { grid-template-columns: minmax(10rem, 14rem) 7.5rem minmax(0,1fr); }
.vm .vm-bt .r .vm-verdict { justify-self: start; }
/* tables: everything left and top aligned */
.vm .vm-tbl td, .vm .vm-tbl th { text-align: left; vertical-align: top; }
.vm .vm-tbl td .vm-link { font-size: 14.5px; }
/* opportunity cards: tidy top row */
.vm .vm-shift > .vm-chips:first-child { gap: 6px 8px; }
.vm .vm-strip { align-items: center; }
.vm .vm-tbl thead th, .vm .vm-mx thead th { font-family: var(--tti-mono); font-size: 10.5px; font-weight: 400; letter-spacing: .07em; text-transform: uppercase; color: var(--vm-soft); border-bottom: 1px solid var(--vm-ink); padding-bottom: 8px; }
.vm .vm-tbl td { padding-top: 10px; padding-bottom: 10px; }
.vm .vm-tbl td:last-child .vm-link { white-space: nowrap; }
.vm .vm-list li > br { display: none; }
.vm .vm-list li > span { display: block; }
.vm .vm-list li > .vm-src { margin-top: 4px; }
