/* VardrSec Threat Observatory preview — local assets only */
.obs-wrap{padding-block:var(--section-pad)}
.obs-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:22px}
.obs-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:500;color:var(--accent2);margin:0 0 12px}
.obs-status{flex-shrink:0;font-family:var(--font-mono);border-radius:var(--radius-sm);padding:8px 12px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--line);font-size:.8rem}
.obs-status:before{content:"";display:inline-block;width:8px;height:8px;background:#f2bb66;border-radius:50%;margin-right:9px}
.obs-notice{padding:12px 16px;background:rgba(111,177,255,.1);border:1px solid rgba(111,177,255,.36);border-radius:12px;color:var(--text-2);font-size:.87rem;margin-bottom:16px}
.obs-notice strong{color:var(--text)}
.obs-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow)}
.obs-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.obs-stat{padding:24px;min-height:140px;display:flex;flex-direction:column}
.obs-stat span{color:var(--text-3);font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.07em}
.obs-stat strong{font-size:2.2rem;line-height:1.6;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.obs-stat .obs-last{font-size:1.45rem;margin:8px 0}
.obs-stat small{font-size:.74rem;color:var(--text-3);margin-top:auto}
.obs-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:16px;margin-top:13px}
.obs-panel{padding:24px;min-width:0}
.obs-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.obs-panel-heading h2,.obs-method h2{font-size:1.08rem;margin:0}
.obs-panel-heading span{color:var(--text-3);font-size:.75rem}
.obs-empty-chart{height:240px;display:flex;align-items:center;justify-content:center;text-align:center;background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,rgba(255,255,255,.06) 48px,transparent 49px);color:var(--text-3)}
.obs-empty-chart p{max-width:250px;background:var(--surface);padding:8px;font-size:.84rem}
.obs-categories{margin:20px 0 0}
.obs-panel:has(.obs-categories){display:flex;flex-direction:column}
.obs-panel:has(.obs-categories) .obs-categories{display:flex;flex-direction:column}
.obs-categories div{align-items:center}
.obs-categories div{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line-soft)}
.obs-categories dt{font-size:.85rem;color:var(--text-2)}
.obs-categories dd{margin:0;font-weight:700;font-size:1.35rem}
.obs-disclaimer{font-size:.75rem;color:var(--text-3);margin-top:16px}
.obs-method{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;padding:23px;margin-top:13px}
.obs-method p{font-size:.86rem;color:var(--text-2);margin:10px 0 0}
.obs-method-aside{border-left:1px solid var(--line);padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--text-3)}
.obs-method-aside strong{color:var(--accent2);font-size:.87rem}
@media(max-width:880px){.obs-heading{flex-direction:column;align-items:start}.obs-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.obs-columns,.obs-method{grid-template-columns:1fr}.obs-method-aside{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}}
@media(max-width:500px){.obs-stat{padding:20px;min-height:125px}.obs-stat strong{font-size:1.8rem}.obs-panel-heading{align-items:start;flex-direction:column}}

/* Reviewed research evidence panels */
.obs-findings{grid-template-columns:1fr 1fr}
.obs-table-wrap{overflow-x:auto;max-width:100%}
.obs-table{width:100%;border-collapse:collapse;margin-top:18px;text-align:left;font-size:.83rem}
.obs-table th{font-family:var(--font-mono);font-weight:500;font-size:.68rem;text-transform:uppercase;letter-spacing:.055em;color:var(--text-3);font-weight:600;padding:0 6px 12px 0;border-bottom:1px solid var(--line)}
.obs-table td{padding:16px 6px 14px 0;border-bottom:1px solid var(--line-soft);color:var(--text-2);overflow-wrap:anywhere}
.obs-table td:last-child,.obs-table th:last-child{text-align:right;white-space:nowrap}
.obs-muted{font-style:italic;color:var(--text-3)!important}
.obs-about{margin-top:13px;padding:19px 22px}
.obs-about h2{font-size:1rem;margin:0 0 6px}
.obs-about p{font-size:.81rem;line-height:1.65;margin:0;color:var(--text-3)}
.obs-about ul{margin:8px 0 0;padding-left:1.15em;font-size:.84rem;line-height:1.65;color:var(--text-2)}
.obs-about li+li{margin-top:6px}
.obs-about li::marker{color:var(--text-3)}
@media(max-width:880px){.obs-findings{grid-template-columns:1fr}}

/* Aggregated activity visual. No external charting library. */
.obs-notice[hidden]{display:none}
.obs-empty-chart.obs-chart-loaded{height:auto;min-height:255px;background:none;display:block;padding-top:16px}
.obs-plot{width:100%;height:230px;display:block;overflow:visible}
.obs-plot text{fill:var(--text-3);font-size:11px}
.obs-chart-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:7px;font-size:.77rem;color:var(--text-2)}
.obs-chart-legend span:before{content:"";display:inline-block;width:12px;height:3px;background:var(--accent);vertical-align:middle;margin-right:6px}
.obs-chart-legend span:last-child:before{background:var(--accent2)}
.obs-table code{font-size:.78rem;overflow-wrap:anywhere;word-break:break-all}
.obs-vt-link{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.obs-history{margin:28px 0 32px}
.obs-lifetime-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.obs-lifetime-stats strong{font-size:clamp(1.25rem,3vw,2.2rem);overflow-wrap:anywhere}
.obs-months{margin-top:13px}
.obs-months summary{cursor:pointer;font-weight:600}
.obs-months caption{text-align:left;padding-bottom:12px}
@media(max-width:880px){.obs-lifetime-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.obs-api{margin-top:32px;border-top:1px solid var(--line);padding-top:30px}
.obs-api>.obs-panel-heading{margin-bottom:8px}
.obs-api .obs-panel-heading h3{font-size:1rem;margin:0}
.obs-api>.obs-disclaimer{margin-bottom:18px}
.obs-api-clients{margin-top:13px}

/* Observatory hierarchy and compact research states. */
.obs-jump{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;margin:0 0 20px;scrollbar-width:thin}
.obs-jump a{flex:none;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-2);font-size:.8rem;text-decoration:none}
.obs-jump a:hover,.obs-jump a:focus-visible{color:var(--text);border-color:var(--accent2)}
.obs-section-heading{margin-bottom:15px}
.obs-section-heading h2{font-size:1.25rem}
.obs-recent,.obs-history,.obs-api,#obs-commands,#obs-method{scroll-margin-top:24px}
:is(.obs-recent-stats,.obs-api-summary){grid-template-columns:repeat(3,minmax(0,1fr))}
.obs-snapshot-time{font-size:.76rem;color:var(--text-3);margin:12px 0 0}
.obs-highlight{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;margin-top:16px;border-color:rgba(124,240,215,.34)}
.obs-highlight[hidden],.obs-api-pending[hidden],.obs-api-results[hidden]{display:none}
.obs-highlight>div{display:flex;flex-direction:column;gap:4px}
.obs-highlight .obs-eyebrow{margin:0;font-size:.68rem}
.obs-highlight strong{font-size:1rem}
.obs-highlight>div:last-child{display:block;font-size:.79rem;color:var(--text-2)}
.obs-highlight a{color:var(--accent2)}
.obs-table details summary{cursor:pointer;color:var(--text);font-weight:600}
.obs-table details code{display:block;margin-top:10px;padding:10px;border-radius:8px;background:rgba(255,255,255,.04);font-weight:400;white-space:pre-wrap;overflow-wrap:anywhere}
.obs-copy-hash{margin-top:8px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text-2);padding:6px 9px;cursor:pointer;font:inherit;font-size:.75rem}
.obs-copy-hash:hover,.obs-copy-hash:focus-visible{color:var(--text);border-color:var(--accent2)}
.obs-history{border-top:1px solid var(--line);padding-top:30px}
.obs-api-pending{padding:20px;color:var(--text-2);font-size:.86rem}
.obs-api-behavior{margin-top:24px}
.obs-api-behavior[hidden]{display:none}
.obs-api-last{margin-top:13px}
.obs-api-breakdown{margin:28px 0 0}
.obs-ssh-behavior{margin-top:16px}
.obs-ssh-behavior[hidden]{display:none}
.obs-ssh-behavior .obs-panel-heading h3{font-size:1rem;margin:0}
.obs-ssh-summary{margin:10px 0 0;color:var(--text-2);font-size:.83rem}
.obs-ssh-summary strong{color:var(--accent2);font-size:1.1rem;font-variant-numeric:tabular-nums}
.obs-ssh-behavior .obs-table{margin-top:13px}
.obs-ssh-behavior .obs-table th{padding-bottom:7px}
.obs-ssh-behavior .obs-table td{padding:7px 6px 7px 0}
.obs-ssh-behavior .obs-table th:nth-child(2),.obs-ssh-behavior .obs-table td:nth-child(2){text-align:right;width:85px;font-variant-numeric:tabular-nums}
.obs-ssh-behavior .obs-table th:last-child,.obs-ssh-behavior .obs-table td:last-child{width:160px;text-align:right}
.obs-ssh-share{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-variant-numeric:tabular-nums}
.obs-ssh-share progress{width:86px;height:7px;accent-color:var(--accent2)}
.obs-ssh-share span{min-width:3ch}
.obs-ssh-behavior>.obs-disclaimer{margin:9px 0 0}
.obs-ssh-more{margin-top:9px;border-top:1px solid var(--line-soft);padding-top:10px;font-size:.78rem;color:var(--text-2)}
.obs-ssh-more summary{cursor:pointer;color:var(--accent2)}
.obs-ssh-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0}
.obs-ssh-signals div{display:flex;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.obs-ssh-signals dt{color:var(--text-2)}
.obs-ssh-signals dd{margin:0;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:600px){.obs-ssh-behavior .obs-table th:last-child,.obs-ssh-behavior .obs-table td:last-child{width:55px}.obs-ssh-share progress{display:none}.obs-ssh-signals{grid-template-columns:1fr;gap:0}}
@media(max-width:880px){:is(.obs-recent-stats,.obs-api-summary){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.obs-jump{flex-wrap:wrap;overflow:visible}:is(.obs-recent-stats,.obs-api-summary){grid-template-columns:repeat(2,minmax(0,1fr))}:is(.obs-recent-stats,.obs-api-summary) .obs-stat:last-child{grid-column:span 2}.obs-highlight{align-items:flex-start;flex-direction:column}}

/* Readable dashboard metadata and consistent compact spacing. */
.obs-stat span,.obs-table th,.obs-highlight .obs-eyebrow{font-size:12px;letter-spacing:.03em}
.obs-stat small,.obs-panel-heading span,.obs-disclaimer,.obs-snapshot-time,.obs-chart-legend{font-size:13px}
.obs-status[data-state="current"]::before{background:var(--ok)}
.obs-status[data-state="unavailable"]::before{background:var(--bad)}
.obs-plot polyline:last-of-type{stroke-dasharray:6 4}
.obs-chart-legend span:last-child::before{height:0;background:none;border-top:3px dashed var(--accent2)}
@media(max-width:600px){
  :is(.obs-recent-stats,.obs-api-summary){grid-template-columns:minmax(0,1fr)}
  :is(.obs-recent-stats,.obs-api-summary) .obs-stat:last-child{grid-column:auto}
  .obs-panel{padding:20px}
}

/* Compact research dashboard. */
.obs-view-hidden{display:none!important}
.obs-jump{border-bottom:1px solid var(--line);padding-bottom:12px;gap:8px}
.obs-view{font:inherit;font-size:14px;color:var(--text-3);background:transparent;border:0;border-radius:8px;padding:10px 16px;cursor:pointer}
.obs-view[aria-pressed="true"]{color:var(--accent2);background:rgba(110,231,210,.09);box-shadow:inset 0 -2px var(--accent2)}
.obs-view:focus-visible{outline:2px solid var(--accent2)}
.obs-view{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.obs-view svg{width:16px;height:16px;flex:none}
.obs-view[data-view="ssh"] svg,.obs-view[data-view="history"] svg{color:var(--accent)}
.obs-view[data-view="geography"] svg{color:var(--accent2)}
.obs-view[data-view="findings"] svg{color:var(--warn)}
.obs-view[data-view="api"] svg{color:light-dark(#72509a,#c2a3f4)}
.obs-view[data-view="method"] svg{color:var(--ok)}
:is(.obs-recent-stats,.obs-api-summary){grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-block:1px solid var(--line);padding:20px 0}
:is(.obs-recent-stats,.obs-api-summary) .obs-stat{border:0;border-right:1px solid var(--line);border-radius:0;background:none;box-shadow:none;min-height:100px;padding:0 24px}
:is(.obs-recent-stats,.obs-api-summary) .obs-stat:last-child{border-right:0;grid-column:auto}
:is(.obs-recent-stats,.obs-api-summary) strong{font-size:32px;line-height:1.5}
:is(.obs-recent-stats,.obs-api-summary) strong #obs-commands-count{font:inherit;color:inherit;letter-spacing:inherit}
.obs-dashboard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-top:24px;align-items:start}
.obs-dashboard .obs-ssh-behavior{margin-top:0}
.obs-dashboard>*{min-width:0}
.obs-dashboard .obs-panel-heading{align-items:start;flex-direction:column;gap:4px}
.obs-dashboard .obs-ssh-behavior .obs-table th:last-child,.obs-dashboard .obs-ssh-behavior .obs-table td:last-child{width:100px}
.obs-ssh-share progress{width:50px;height:8px}
.obs-secondary{background:none;border:0;box-shadow:none;padding:16px 0}
.obs-secondary .obs-panel-heading{display:none}
.obs-secondary .obs-categories{margin:0;flex-direction:row!important;gap:32px}
.obs-secondary .obs-categories div{gap:20px;border:0;padding:0}
.obs-highlight{margin-block:8px 24px}
.obs-history,.obs-api{margin-top:24px;border-top:0;padding-top:0}
@media(max-width:1000px){.obs-dashboard{grid-template-columns:1fr}}
@media(max-width:600px){:is(.obs-recent-stats,.obs-api-summary){grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}:is(.obs-recent-stats,.obs-api-summary) .obs-stat{padding:0 16px}:is(.obs-recent-stats,.obs-api-summary) .obs-stat:nth-child(2){border-right:0}.obs-secondary .obs-categories{flex-direction:column!important;gap:8px}.obs-view{padding:10px 12px}}

/* Phone rhythm: keep controls together and bring evidence into view sooner. */
@media(max-width:600px){
 .obs-heading{gap:14px;margin-bottom:16px}
 .obs-lead{font-size:14px;line-height:1.55}
 .obs-status{padding:6px 10px;font-size:12px}
 .obs-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding-bottom:10px;margin-bottom:18px}
 .obs-view{padding:10px 2px;font-size:11.5px;min-height:44px;white-space:nowrap}
 .obs-section-heading{margin-bottom:10px}
 .obs-section-heading h2{font-size:18px}
 :is(.obs-recent-stats,.obs-api-summary){padding:16px 0;row-gap:18px}
 :is(.obs-recent-stats,.obs-api-summary) .obs-stat{min-height:90px;padding:0 12px}
 :is(.obs-recent-stats,.obs-api-summary) .obs-stat span{font-size:11px;letter-spacing:.02em}
 :is(.obs-recent-stats,.obs-api-summary) strong{font-size:28px;line-height:1.4}
 :is(.obs-recent-stats,.obs-api-summary) small{font-size:12px;line-height:1.45;margin-top:4px}
 .obs-dashboard{margin-top:16px}
}

/* API and SSH share the same summary hierarchy. */
.obs-run-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-bottom:1px solid var(--line);padding-bottom:16px}
.obs-run-summary .obs-stat{border:0;border-radius:0;box-shadow:none;background:none;min-height:0;padding:0}
.obs-run-summary strong{font-size:24px;line-height:1.5}
.obs-run-summary small{margin-top:4px}
.obs-status-group{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.obs-status-label{font:11px var(--font-mono);color:var(--text-3);letter-spacing:.04em;text-transform:uppercase}
.obs-plot text{font-size:12px}
@media(max-width:880px){.obs-status-group{align-items:flex-start}}
@media(max-width:600px){.obs-run-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.obs-run-summary strong{font-size:22px}}

/* Lean presentation: one period label, compact publication metadata. */
.obs-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.obs-heading{margin-bottom:18px}
.obs-jump{margin-bottom:0}
.obs-publication{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 20px;color:var(--text-3);font-size:12px}
.obs-publication .obs-status{border:0;padding:0;background:none;font-size:12px}
.obs-period-heading{justify-content:flex-start;margin-bottom:8px}
:is(.obs-recent-stats,.obs-api-summary) .obs-stat{min-height:78px}
.obs-recent-stats{padding:12px 0;row-gap:12px}
.obs-recent-stats .obs-stat{min-height:0;padding-inline:16px}
.obs-recent-stats .obs-stat strong{font-size:26px;line-height:1.25;margin:3px 0}
.obs-recent-stats .obs-stat span{font-size:12px}
.obs-recent-stats .obs-stat small{margin-top:4px;font-size:12px;line-height:1.4}
.obs-file-summary{display:flex;gap:16px;margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line-soft);font-size:13px;color:var(--text-3)}
.obs-file-summary>div{display:flex;align-items:center;gap:8px}
.obs-file-summary dd{margin:0;color:var(--text);font-variant-numeric:tabular-nums}
.obs-highlight-inline{padding:14px 0;margin:16px 0 8px;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
.obs-highlight-inline>div:first-child{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:10px}
.obs-highlight-inline .obs-eyebrow{font-size:11px}
.obs-findings>.obs-panel{padding:20px 0;background:none;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}
@media(max-width:600px){
 .obs-publication{font-size:11.5px;margin:10px 0 16px;gap:8px}
 .obs-publication .obs-status{font-size:11.5px}
 .obs-highlight-inline{gap:8px}
 .obs-highlight-inline strong{font-size:14px}
}

/* API reads as one compact report, with one dominant total. */
.obs-api-compact .obs-api-summary{display:grid;grid-template-columns:1fr 2fr;gap:0;padding:16px 0}
.obs-api-compact .obs-api-summary .obs-stat{min-height:0;padding:6px 20px;border-right:0;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.obs-api-compact .obs-api-summary .obs-stat:first-child{grid-row:span 3;flex-direction:column;justify-content:center;align-items:flex-start;border-right:1px solid var(--line);padding-left:0;gap:4px}
.obs-api-compact .obs-api-summary .obs-stat strong{font-size:20px;line-height:1.3}
.obs-api-compact .obs-api-summary .obs-stat:first-child strong{font-size:36px}
.obs-api-compact .obs-api-summary .obs-stat span{font-family:var(--font-sans);font-size:13px;letter-spacing:0;text-transform:none}
.obs-api-compact .obs-api-behavior{margin-top:16px}
.obs-api-compact .obs-run-summary{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:8px;padding-bottom:14px}
.obs-api-compact .obs-run-summary .obs-stat{display:flex;flex-direction:row;align-items:baseline;gap:6px}
.obs-api-compact .obs-run-summary strong{font-size:16px;order:-1;line-height:1.4}
.obs-api-compact .obs-run-summary span{font-family:var(--font-sans);font-size:13px;letter-spacing:0;text-transform:none}
.obs-api-compact .obs-api-last,.obs-api-compact .obs-columns>.obs-panel{background:none;border:0;border-radius:0;box-shadow:none;padding:16px 0}
.obs-api-compact .obs-api-last{margin-top:0}
.obs-api-compact .obs-table{margin-top:12px}
.obs-api-compact .obs-table td{padding-block:10px}
.obs-api-compact .obs-api-breakdown{margin-top:16px;margin-bottom:0}
.obs-api-compact .obs-columns{margin-top:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.obs-api-compact .obs-panel-heading>span{font-size:12px}
.obs-api-compact .obs-columns .obs-panel-heading>span{display:none}
.obs-client-disclosure{border-top:1px solid var(--line);padding-top:14px;margin-top:4px;color:var(--text-2);font-size:14px}
.obs-client-disclosure>summary,.obs-grouping-note>summary{cursor:pointer}
.obs-client-disclosure .obs-api-clients{margin-top:12px}
.obs-grouping-note{margin-top:10px;color:var(--text-3);font-size:12px}
@media(max-width:600px){
 .obs-api-compact .obs-api-summary{grid-template-columns:1fr}
 .obs-api-compact .obs-api-summary .obs-stat:first-child{grid-row:auto;flex-direction:row;align-items:center;border:0;padding:0 0 12px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}
 .obs-api-compact .obs-api-summary .obs-stat{padding:5px 0}
 .obs-api-compact .obs-api-summary .obs-stat:first-child strong{font-size:30px}
 .obs-api-compact .obs-columns{grid-template-columns:1fr;gap:0}
 .obs-api-compact .obs-run-summary{column-gap:16px}
}

/* Use the same title block and section rhythm as other pages. */
.obs-heading{display:block;margin-bottom:0}

/* Warm mode keeps the Observatory's data surfaces and chart guides readable. */
:root[data-theme="light"] .obs-empty-chart{
  background:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,rgba(47,76,81,.1) 48px,transparent 49px);
}
:root[data-theme="light"] .obs-table details code{background:var(--code-bg)}
:root[data-theme="light"] .obs-notice{
  background:rgba(34,94,141,.08);
  border-color:rgba(34,94,141,.32);
}
:root[data-theme="light"] .obs-view[aria-pressed="true"]{
  background:rgba(23,107,98,.1);
}

/* Keep icons and labels aligned in the two-column mobile navigation. */
:is(#obs-ssh,#obs-geography,#obs-commands,#obs-lifetime-title,#obs-monthly-archive,#obs-api-title,#obs-method){
  scroll-margin-top:100px;
}
@media(max-width:600px){
  .obs-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-bottom:16px}
  .obs-jump a{
    display:flex;align-items:center;
    min-width:0;min-height:44px;
    padding:10px 12px;
    font-size:13px;line-height:1.35;
    white-space:normal;
  }
  .obs-jump a:last-child{grid-column:1/-1}
  .obs-view{
    display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;
    min-width:0;min-height:44px;
    padding:10px 12px;
    font-size:13px;line-height:1.35;
    white-space:normal;text-align:left;
  }
}
.obs-geo{margin-bottom:18px}
.obs-geo-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem 0}
.obs-geo-controls select{max-width:100%;padding:.45rem;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px}
.obs-geo-map{background:#03111e;border:1px solid #174d65;border-radius:10px;overflow:hidden}
.obs-geo-map svg{display:block;width:100%;height:auto}
.obs-geo-map path{fill:#082439;stroke:#227594;stroke-width:.65}
.obs-geo-map .country-active{fill:#0e344a}
.obs-geo-map .country-selected{fill:#167a8a}
.obs-geo-map .country-ring{fill:#26d8e7;fill-opacity:.13;stroke:#5bf2ef;stroke-width:1.2;cursor:pointer}
.obs-geo-map .country-core{fill:#bbfff6;pointer-events:none}
.obs-geo-map .country-ring:hover,.obs-geo-map .country-ring:focus-visible{stroke:#fff;stroke-width:2.5}
.obs-geo details summary{cursor:pointer}
.obs-geo td:first-child{overflow-wrap:anywhere}
.obs-month-active .obs-legacy-detail{display:none!important}

#obs-ssh-collection[hidden]{display:none}
.obs-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin:12px 0}
.obs-toolbar .obs-publication{margin:0}
#obs-ssh-collection{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0}
#obs-ssh-collection label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}
#obs-ssh-collection select{width:auto;min-height:44px;max-width:100%}
#obs-geography-controls select{min-height:44px}
.obs-collection-period{font-size:12px;color:var(--text-3)}
.obs-geo-preview{margin-top:16px}
.obs-geo-preview p{margin:4px 0 0}

#obs-geo-rows a:hover,
#obs-geo-rows a:focus-visible {
  color: var(--accent2);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.obs-geo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,25%);gap:16px}
.obs-geo-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;font-size:.8rem;color:var(--text-2)}
.obs-geo-legend span::before{content:"";display:inline-block;width:.75em;height:.75em;margin-right:.35em;border:1px solid #32849b;background:var(--heat,#082439)}
.obs-geo-map [data-heat="1"],.obs-geo-legend span:nth-child(2){--heat:#11506a}
.obs-geo-map [data-heat="2"],.obs-geo-legend span:nth-child(3){--heat:#14768a}
.obs-geo-map [data-heat="3"],.obs-geo-legend span:nth-child(4){--heat:#20a6aa}
.obs-geo-map [data-heat="4"],.obs-geo-legend span:nth-child(5){--heat:#52dac6}
.obs-geo-map path[data-heat]{fill:var(--heat,#082439)}
.obs-geo-map path:not([data-heat="0"]){cursor:pointer}
.obs-geo-map path.country-selected{stroke:#fff;stroke-width:2}
.obs-geo-detail{min-height:2.5em;margin:10px 0 0;color:var(--text-2)}
.obs-geo-ranking{border:1px solid var(--line);border-radius:10px;padding:12px}
.obs-geo-ranking h3{margin:0;font-size:1rem}
.obs-geo-ranking ol{padding-left:1.5em;margin-bottom:0}
.obs-geo-ranking button{width:100%;padding:8px;border:0;border-radius:6px;text-align:left;font:inherit;font-size:.82rem;color:var(--text);background:transparent;cursor:pointer}
.obs-geo-ranking button:is(:hover,:focus-visible,[aria-pressed="true"]){background:var(--surface);color:var(--accent2);text-decoration:underline}
@media(max-width:800px){.obs-geo-grid{grid-template-columns:minmax(0,1fr)}}

.obs-geo-intel{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:12px 0}
.obs-geo-intel div{border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.obs-geo-intel dt{font-size:.8rem;color:var(--text-2)}
.obs-geo-intel dd{margin:4px 0 0;font-weight:700}
.obs-geo-map .country-leader{stroke:#9cdbe6;stroke-opacity:.65;pointer-events:none}
.obs-geo-map .country-ring[aria-pressed="true"]{fill:#fff;fill-opacity:.45;stroke:#fff;stroke-width:2.5}

.obs-country-flag{display:inline-block;width:1.15em;height:.86em;object-fit:contain;vertical-align:baseline;margin-inline-end:.4em}
