/* Self-contained progressive exhibits for the research observatory. */
.oe-exhibit { --oe-ink:#080c11; --oe-panel:#0e151d; --oe-line:#29323c; --oe-gold:#edc58b; --oe-cyan:#75d8d0; --oe-text:#e4e8e8; --oe-muted:#a2afb8; color:var(--oe-text); background:var(--oe-ink); border:1px solid var(--oe-line); font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; margin-top:26px; min-width:0; }
.oe-exhibit *, .oe-exhibit *::before, .oe-exhibit *::after { box-sizing:border-box; }
.oe-exhibit h3 { font:400 clamp(24px,2.8vw,35px)/1.18 Georgia,"Times New Roman",serif; margin:9px 0 20px; letter-spacing:-.02em; overflow-wrap:anywhere; }
.oe-exhibit h4 { font:600 14px/1.45 system-ui,sans-serif; margin:23px 0 8px; letter-spacing:.03em; }
.oe-exhibit p { margin:12px 0; }
.oe-exhibit a { color:var(--oe-gold); text-underline-offset:4px; }
.oe-exhibit button, .oe-exhibit input, .oe-exhibit select { font:inherit; border-radius:0; }
.oe-exhibit input, .oe-exhibit select { background:#101922; color:var(--oe-text); border:1px solid #43515d; padding:11px 12px; width:100%; min-width:0; }
.oe-exhibit select { color-scheme:dark; }
.oe-exhibit button { cursor:pointer; }
.oe-exhibit button:disabled, .oe-exhibit select:disabled { cursor:default; opacity:.55; }
.oe-exhibit :focus-visible { outline:2px solid var(--oe-cyan); outline-offset:4px; }
.oe-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--oe-line); }
.oe-stat { padding:19px 24px; min-width:0; border-right:1px solid var(--oe-line); }
.oe-stat:last-child { border-right:0; }
.oe-stat strong { display:block; color:var(--oe-gold); font:400 clamp(27px,3.3vw,42px)/1.15 Georgia,"Times New Roman",serif; font-variant-numeric:tabular-nums; }
.oe-stat span { display:block; color:var(--oe-muted); font-size:11px; line-height:1.5; letter-spacing:.04em; margin-top:6px; }
.oe-atlas-tools { display:grid; grid-template-columns:1.2fr 1fr; gap:18px; padding:22px 24px; border-bottom:1px solid var(--oe-line); }
.oe-field label, .oe-select-label { display:block; color:var(--oe-muted); font-size:11px; text-transform:uppercase; letter-spacing:.09em; margin-bottom:8px; }
.oe-atlas-body { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr); }
.oe-map { padding:18px; border-right:1px solid var(--oe-line); min-width:0; background:radial-gradient(ellipse at 45% 48%,#12232d 0%,#0a1118 65%); }
.oe-plot-kicker, .oe-kicker { color:var(--oe-cyan); font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.oe-plot-kicker { padding-left:10px; }
.oe-map svg { display:block; width:100%; height:auto; overflow:visible; }
.oe-grid line { stroke:#334550; stroke-width:.5; stroke-dasharray:2 5; opacity:.5; }
.oe-point { fill:currentColor; stroke:var(--oe-ink); stroke-width:.7; opacity:.78; cursor:pointer; transition:opacity .12s; }
.oe-point:hover { opacity:1; stroke:#fff; stroke-width:1.5; }
.oe-point.oe-muted { opacity:.055; cursor:default; }
.oe-point.oe-selected { opacity:1; stroke:#fff; stroke-width:2.2; }
.oe-edges line { stroke:var(--oe-gold); stroke-width:1.5; opacity:.62; }
.oe-domain-0 { color:#8fd0a0; }
.oe-domain-1 { color:#c0a3e0; }
.oe-domain-2 { color:#9ad0ff; }
.oe-domain-3 { color:#8fd0c0; }
.oe-domain-4 { color:#e7c98a; }
.oe-domain-5 { color:#e0a3c4; }
.oe-domain-6 { color:#bdb6a8; }
.oe-legend { display:flex; flex-wrap:wrap; gap:7px 14px; margin:6px 10px 18px; font-size:10px; line-height:1.5; }
.oe-legend span { display:flex; align-items:center; gap:6px; }
.oe-dot { display:inline-block; width:6px; height:6px; background:currentColor; border-radius:50%; }
.oe-caption { font-size:12px; color:var(--oe-muted); line-height:1.65; overflow-wrap:anywhere; }
.oe-map>.oe-caption { padding:0 10px; }
.oe-inspector { padding:23px 24px; background:var(--oe-panel); min-width:0; }
.oe-inspector select { padding:0; height:152px; font-size:12px; }
.oe-inspector option { padding:6px 9px; white-space:normal; overflow-wrap:anywhere; }
.oe-atlas-status { font:11px/1.6 ui-monospace,monospace; color:var(--oe-muted); }
.oe-basin-detail { border-top:1px solid var(--oe-line); padding-top:16px; }
.oe-basin-count { display:flex; align-items:center; gap:16px; }
.oe-basin-count strong { color:var(--oe-gold); font:38px/1 Georgia,serif; }
.oe-basin-count span { color:var(--oe-muted); font-size:12px; max-width:140px; }
.oe-neighbors { padding:0; margin:0; list-style:none; counter-reset:neighbor; }
.oe-neighbors li { border-top:1px solid var(--oe-line); }
.oe-neighbors button { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:12px 0; border:0; background:transparent; color:var(--oe-text); text-align:left; font-size:12px; line-height:1.5; }
.oe-neighbors button:hover { color:var(--oe-gold); }
.oe-similarity { color:var(--oe-cyan); font:12px/1.5 ui-monospace,monospace; font-variant-numeric:tabular-nums; }
.oe-boundary { font-size:12px; color:var(--oe-muted); border-top:1px solid var(--oe-line); padding:18px 24px; }
.oe-atlas>.oe-boundary { margin:0; }
.oe-sources { font:11px/1.9 ui-monospace,monospace; overflow-wrap:anywhere; }
.oe-atlas>.oe-sources { padding:0 24px 13px; }
.oe-empty { padding:16px; border-left:2px solid #536572; background:#111a23; color:var(--oe-muted); font-size:13px; }
.oe-history { padding:26px 30px; border-bottom:1px solid #6f5a3f; background:linear-gradient(120deg,#241e17,#10151a 80%); }
.oe-history .oe-kicker { color:var(--oe-gold); }
.oe-history>p:not(.oe-kicker):not(.oe-sources) { max-width:78ch; color:#d5cfc5; font-size:14px; }
.oe-audit-controls { display:flex; align-items:end; gap:20px; padding:26px 30px; border-bottom:1px solid var(--oe-line); }
.oe-audit-controls .oe-field { flex:1; min-width:0; }
.oe-run { background:var(--oe-gold); color:#17120c; font-size:12px!important; font-weight:650!important; padding:14px 20px; border:1px solid var(--oe-gold); min-height:48px; }
.oe-run:hover { background:#f9dba9; }
.oe-battery-summary, .oe-preview, .oe-progress-box, .oe-results { padding:4px 30px 20px; min-width:0; }
.oe-battery-summary { padding-top:22px; }
.oe-battery-summary>p { max-width:85ch; color:#bfccd3; font-size:14px; }
.oe-battery-summary .oe-stats { border:1px solid var(--oe-line); margin-top:22px; }
.oe-battery-summary .oe-stat strong { font-size:30px; }
.oe-exhibit table { color:var(--oe-text); border-collapse:collapse; width:100%; font-size:12px; text-align:left; font-variant-numeric:tabular-nums; }
.oe-table-wrap { max-width:100%; overflow:auto; border:1px solid var(--oe-line); }
.oe-exhibit th { color:var(--oe-muted); font-weight:500; font-size:10px; text-transform:uppercase; letter-spacing:.05em; background:#101a23; border-bottom:1px solid #43515b; padding:12px; }
.oe-exhibit td { padding:12px; border-bottom:1px solid var(--oe-line); vertical-align:top; }
.oe-exhibit tr:last-child td { border-bottom:0; }
.oe-examples td:first-child { width:72%; }
.oe-examples .oe-label-cell { color:var(--oe-cyan); font:11px/1.7 ui-monospace,monospace; }
.oe-progress-box { border-top:1px solid var(--oe-line); padding-top:20px; }
.oe-progress-box progress { width:100%; height:6px; accent-color:var(--oe-cyan); display:block; border:0; background:var(--oe-line); }
.oe-progress-box progress[hidden] { display:none; }
.oe-progress-box progress::-webkit-progress-bar { background:var(--oe-line); }
.oe-progress-box progress::-webkit-progress-value { background:var(--oe-cyan); }
.oe-run-state { color:var(--oe-cyan); font:12px/1.65 ui-monospace,monospace; }
.oe-error { color:#e5aaa1!important; font-size:13px; }
.oe-current-report { border-top:1px solid var(--oe-line); padding-top:20px; }
.oe-verdict { display:flex; align-items:baseline; gap:18px; flex-wrap:wrap; margin:14px 0 22px; }
.oe-verdict strong { font:400 clamp(25px,4vw,43px)/1.25 Georgia,serif; letter-spacing:.015em; }
.oe-verdict span { color:var(--oe-muted); font:11px/1.6 ui-monospace,monospace; }
.oe-disqualified { color:#eeaa91; }
.oe-pass { color:var(--oe-cyan); }
.oe-headline { font-size:15px; max-width:80ch; }
.oe-worst { color:var(--oe-gold); font:12px/1.8 ui-monospace,monospace; }
.oe-separates td { background:#241d19; }
.oe-null-cells { min-width:620px; }
.oe-null-cells td:nth-child(n+2):nth-child(-n+5) { font:12px/1.7 ui-monospace,monospace; }
.oe-caution { background:#241e17; border-left:2px solid var(--oe-gold); color:#d6c3a6; padding:14px 18px; font-size:12px; }
.oe-current-report .oe-boundary { padding:16px 0; }
.oe-method { border-top:1px solid var(--oe-line); padding:20px 30px; }
.oe-exhibit details summary { cursor:pointer; color:var(--oe-gold); font-size:12px; padding:5px 0; }
.oe-method p { color:var(--oe-muted); font-size:13px; max-width:85ch; }
.oe-raw-report pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:350px; overflow:auto; padding:16px; background:#0e1821; color:var(--oe-muted); font:11px/1.6 ui-monospace,monospace; }
@media(max-width:900px) { .oe-atlas-body { grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr); } .oe-inspector { padding:20px; } .oe-map { padding:10px; } }
@media(max-width:650px) { .oe-atlas-body { grid-template-columns:1fr; } .oe-map { border-right:0; border-bottom:1px solid var(--oe-line); padding:12px; } .oe-atlas-tools { grid-template-columns:1fr; gap:14px; padding:20px; } .oe-inspector { padding:20px; } .oe-stat { padding:15px 12px; } .oe-stat strong { font-size:29px; } .oe-stat span { font-size:10px; letter-spacing:0; } .oe-legend { font-size:9px; gap:6px 10px; } .oe-audit-controls { display:block; padding:20px; } .oe-run { margin-top:16px; width:100%; } .oe-history { padding:22px 20px; } .oe-battery-summary,.oe-preview,.oe-progress-box,.oe-results { padding-left:20px; padding-right:20px; } .oe-method { padding:18px 20px; } .oe-exhibit td,.oe-exhibit th { padding:9px; } .oe-examples { font-size:11px; } .oe-examples td:first-child { width:66%; overflow-wrap:anywhere; } .oe-examples .oe-label-cell { font-size:10px; overflow-wrap:anywhere; } .oe-boundary { padding:16px 20px; } .oe-battery-summary .oe-stat strong { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .oe-point { transition:none; } }
