/* Observatory extension: preserve the existing Monero visual language. */
:root { --text-mute:#929daa; --text-xs:12px; --text-sm:14px; --text-base:16px; --text-lg:22px; --text-xl:clamp(26px,2.8vw,36px); --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px; --space-8:32px; }
[data-theme="light"] { --bg:#f5f4f1; --bg-elev:#fff; --bg-elev-2:#eeede9; --border:#d9dce0; --border-strong:#b6bbc0; --text:#1e252d; --text-dim:#46515c; --text-mute:#596571; --accent:#b84600; --accent-soft:#ff660010; --green:#13784d; --red:#c62347; --blue:#2569ab; }
body { background:var(--bg); }
.topbar,.sidenav { background:var(--bg); }
button,input,select { font:inherit; }
button { color:var(--text); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.skip-link { position:absolute;top:-100px;left:var(--space-4);z-index:50;background:var(--bg-elev);padding:var(--space-4); }
.skip-link:focus { top:var(--space-4); }
main { gap:48px; min-width:0; }
section { min-width:0; scroll-margin-top:128px; }
.panel h2 { margin:0;font-size:var(--text-lg); }
.section-head h2::before { box-shadow:none; }
.section-head p,.panel-sub { color:var(--text-mute);font-size:var(--text-sm); }
.eyebrow { font:500 var(--text-xs) var(--font-mono);letter-spacing:.09em;color:var(--accent);margin:0 0 var(--space-3); }
.chain-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6); }
h1 { font-size:var(--text-xl);line-height:1.16;letter-spacing:-.035em;margin:0 0 var(--space-3);font-weight:600; }
.intro { margin:0;color:var(--text-dim);font-size:var(--text-sm);max-width:56ch; }
.chain-status { text-align:right;flex:0 0 230px; }
.chain-status p { color:var(--text-mute);font-size:var(--text-xs); }
.status-pill { display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 10px;border:1px solid var(--border);border-radius:20px;font-size:var(--text-xs);font-family:var(--font-mono); }
.status-pill::before { content:"";width:6px;height:6px;border-radius:50%;background:var(--text-mute); }
.status-pill.is-live::before { background:var(--green); }
.chain-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--space-6);border-block:1px solid var(--border); }
.chain-metrics>div { padding:var(--space-5) var(--space-4); }
.chain-metrics>div+div { border-left:1px solid var(--border); }
.chain-metrics span,.chain-metrics small { display:block;color:var(--text-mute);font-size:var(--text-xs); }
.chain-metrics strong { display:block;font:500 var(--text-lg) var(--font-mono);margin:var(--space-2) 0;color:var(--text); }
.chain-metrics>div:first-child strong { color:var(--accent); }
.block-river { display:flex;gap:var(--space-3);padding:var(--space-6);overflow-x:auto;overscroll-behavior:contain;scrollbar-color:var(--border-strong) transparent; }
.river-block { position:relative;flex:0 0 146px;display:flex;flex-direction:column;align-items:stretch;text-align:left;background:var(--bg-elev-2);border:1px solid var(--border);border-radius:8px;padding:var(--space-3);cursor:pointer; }
.river-block::after { content:"";position:absolute;width:13px;height:1px;right:-14px;top:50%;background:var(--border-strong); }
.river-block:last-child::after { display:none; }
.river-block:hover,.river-block.selected { border-color:var(--accent); }
.river-block.selected { background:var(--accent-soft); }
.block-cap { color:var(--text-mute);font:var(--text-xs) var(--font-mono); }
.river-block strong { font:500 var(--text-base) var(--font-mono);margin-top:var(--space-2);color:var(--accent); }
.block-meter { height:48px;display:flex;align-items:flex-end;margin:var(--space-3) 0;background:var(--bg);border-bottom:1px solid var(--border-strong); }
.block-meter i { background:var(--accent);opacity:.65;width:100%;min-height:0; }
.block-count { font:500 var(--text-base) var(--font-mono); }
.block-count small,.block-bytes { font:var(--text-xs) var(--font-sans);color:var(--text-mute); }
.block-bytes { margin-top:4px; }
.river-key { display:flex;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-6) var(--space-4);color:var(--text-mute);font-size:var(--text-xs); }
.chain-workspace { display:grid;grid-template-columns:minmax(0,1fr) 285px;border-block:1px solid var(--border); }
.activity-main { padding:var(--space-6);min-width:0; }
.activity-toolbar { display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5); }
.activity-toolbar h3 { font-size:var(--text-base); }
.btn[aria-pressed="true"] { border-color:var(--accent);color:var(--accent);background:var(--accent-soft); }
.tx-mosaic { display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;align-content:start;min-height:140px;max-height:300px;overflow-y:auto;overscroll-behavior:contain;padding:4px; }
.tx-tile { aspect-ratio:1.2;min-height:44px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:4px;font:var(--text-xs) var(--font-mono);cursor:pointer; }
.tx-tile.low { background:color-mix(in srgb,var(--accent) 13%,var(--bg-elev)); }
.tx-tile.mid { background:color-mix(in srgb,var(--accent) 27%,var(--bg-elev)); }
.tx-tile.high { background:color-mix(in srgb,var(--accent) 48%,var(--bg-elev)); }
.tx-tile:hover,.tx-tile[aria-pressed="true"] { border-color:var(--text);outline:1px solid var(--text); }
.tx-mosaic>.empty { grid-column:1/-1; }
.map-legend { color:var(--text-mute);font-size:var(--text-xs);margin:var(--space-4) 0 0; }
.tx-inspector { padding:var(--space-6);background:var(--bg);border-left:1px solid var(--border);min-width:0; }
.tx-inspector h3 { font-size:var(--text-base);overflow-wrap:anywhere; }
.tx-inspector p { color:var(--text-dim);font-size:var(--text-sm); }
.tx-inspector .eyebrow { color:var(--accent);font-size:var(--text-xs); }
.tx-inspector dl { margin:var(--space-5) 0; }
.tx-inspector dt { color:var(--text-mute);font-size:var(--text-xs);margin-top:var(--space-3); }
.tx-inspector dd { margin:2px 0 0;font:var(--text-xs) var(--font-mono); }
.inspector-foot { display:block;color:var(--text-mute)!important;font-size:var(--text-xs)!important;margin-top:var(--space-3); }
.explorer-link { color:var(--accent);font-size:var(--text-sm);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere; }
.privacy-note { padding:var(--space-4) var(--space-6) 0;color:var(--text-dim); }
.privacy-note summary { cursor:pointer;min-height:32px;font-size:var(--text-sm); }
.privacy-note p { max-width:85ch;font-size:var(--text-sm); }
.privacy-note a,.source-note a { color:var(--accent);text-decoration:underline;text-underline-offset:3px; }
.source-note { padding:0 var(--space-6);font-size:var(--text-xs);color:var(--text-mute);line-height:1.7;margin:var(--space-3) 0 var(--space-5); }
.pairs { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pair-card { color:var(--text);text-align:left;min-width:0; }
.pair-card.active { box-shadow:none; }
.btn,.tab,.rng,.seg-btn { min-height:44px; }
.chart-tabs,.seg { flex-wrap:wrap; }
.chart-tabs { max-width:100%; }
.toolkit-grid { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-5); }
.tool-form { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:var(--space-6); }
label { display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-dim);font-size:var(--text-xs); }
input,select { min-width:0;width:100%;min-height:44px;background:var(--bg);border:1px solid var(--border-strong);border-radius:6px;padding:10px var(--space-3);color:var(--text);font-size:var(--text-sm); }
.mining-result { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding:0 var(--space-6) var(--space-5); }
.mining-result span,.mining-result small { color:var(--text-mute);font-size:var(--text-xs); }
.mining-result strong { display:block;font:500 var(--text-lg) var(--font-mono);margin-top:6px; }
.mining-result>small { grid-column:1/-1; }
.community-actions { display:flex;flex-direction:column;gap:var(--space-5); }
.action-card { padding:var(--space-6); }
.action-card h3 { margin-bottom:var(--space-3);font-size:var(--text-base); }
.action-card p:not(.eyebrow),.action-card small { color:var(--text-mute);font-size:var(--text-sm); }
.action-card small { font-size:var(--text-xs); }
.input-action { display:flex;gap:var(--space-2);margin-top:var(--space-2); }
.input-action button { flex-shrink:0; }
.contribute a { display:block;padding:var(--space-3) 0;border-top:1px solid var(--border);color:var(--accent); }
.news-tools { display:flex;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4); }
.news-tools label:first-child { flex:1; }
.news-tools p { font-size:var(--text-xs);color:var(--text-mute);max-width:250px; }
.news-meta { flex-wrap:wrap; }
.news-list { max-height:640px; }
.blocks-table { overflow-x:auto;overscroll-behavior:contain; }
.bt-head,.bt-row { min-width:530px; }
.sidenav-footer .dot { box-shadow:none;animation:none;background:var(--text-mute); }
.sidenav { overflow-y:auto; }
.sidenav-links a { min-height:40px; }
.ticker .label,.pair-card .pair-label,.net-card .k,.tx-stat .k,.ex-stat .k,.depth-stat .k,.news-date,.news-domain,.brand-mini-sub,.panel-sub,.link-list .desc,.tx-sub,.tx-fee-sub { font-size:var(--text-xs); }
.sidenav-footer,.net-card .sub { font-size:var(--text-xs); }
.panel,.toolkit-grid>* { min-width:0; }
@media(min-width:1700px) { .pairs { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:1100px) { .chain-workspace { grid-template-columns:minmax(0,1fr) 250px; }.toolkit-grid { grid-template-columns:1fr; }.chain-metrics strong { font-size:18px; } }
@media(max-width:900px) { .topbar { position:static;gap:var(--space-3); }.controls { position:absolute;right:var(--space-4);top:var(--space-4); }.brand-mini { padding-right:190px; }.brand-mini-title { font-size:12px; }.brand-mini-sub { display:none; }.sidenav { overflow:visible; }.sidenav-links { min-height:44px; }.ticker { gap:var(--space-4); }.ticker .value { font-size:14px; }.ticker-price .value { font-size:18px; }section { scroll-margin-top:var(--space-4); }.chain-heading { align-items:flex-start; }.chain-status { flex-basis:200px; }.pairs { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) {
  .controls { position:static; }.brand-mini { padding-right:0; }.brand-mini-title { max-width:none!important;font-size:14px; }.topbar { grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2); }.ticker-meta { display:none; }.ticker .delta { max-width:135px; }.ticker { min-width:0; }
  main { padding-top:var(--space-6); }.chain-heading { flex-direction:column;gap:var(--space-4); }.chain-status { flex-basis:auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);text-align:left; }.chain-status p { flex:1;min-width:150px;margin:0; }
  .chain-metrics { grid-template-columns:1fr 1fr; }.chain-metrics>div { padding:var(--space-4) var(--space-2); }.chain-metrics>div:nth-child(3) { border-left:0; }.chain-metrics>div:nth-child(n+3) { border-top:1px solid var(--border); }
  .chain-workspace { grid-template-columns:1fr; }.tx-inspector { border-left:0;border-top:1px solid var(--border); }.tx-inspector dl { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2); }.tx-inspector dt { margin:0; }
  .activity-main,.tx-inspector,.block-river,.action-card,.tool-form { padding:var(--space-4); }.river-key { flex-direction:column;padding-inline:var(--space-4); }.panel-head { padding:var(--space-4); }
  .pairs { grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3); }.pair-card { padding:var(--space-3); }.pair-card .pair-value { font-size:17px; }.tx-stat { padding:var(--space-3); }.tx-stat .v { font-size:12px; }.tx-row { padding:var(--space-3); }.tx-sub { flex-wrap:wrap;gap:4px; }.net-grid { grid-template-columns:1fr 1fr; }.net-card { padding:var(--space-3); }.net-card .v { font-size:18px;overflow-wrap:anywhere; }
  .depth-stats { grid-template-columns:1fr 1fr; }.depth-stat { padding:var(--space-3); }.news-tools { flex-wrap:wrap; }.news-tools label { flex:1;min-width:130px; }.news-tools p { flex-basis:100%;max-width:none;margin:0; }.tool-form { gap:var(--space-3); }.chart-wrap { padding-inline:var(--space-3); }.brand-mini { padding-left:0;gap:6px; }.brand-mini svg { width:22px;flex-shrink:0; }.brand-mini-title { max-width:90px; }.controls .btn { padding:6px 9px;font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important;transition:none!important;scroll-behavior:auto!important; } }
