/* Witness Atlas: ivory reading surfaces, Pacific cartography, vermilion selection. */
:root { --atlas-paper:#f6f3ec; --atlas-ink:#1d2527; --atlas-muted:#555d5c; --atlas-rule:#d5d2c9; --atlas-red:#b92b2a; --atlas-blue:#103d55; --atlas-cobalt:#174bc1;
  --paper:var(--atlas-paper); --paper-2:#fffdf8; --ink:var(--atlas-ink); --ink-2:var(--atlas-muted); --ink-3:#626963; --rule:var(--atlas-rule);
  --bg:var(--atlas-paper); --bg-2:#eae7de; --fg:var(--atlas-ink); --fg-2:var(--atlas-muted); --fg-3:#626963; --line:var(--atlas-rule); --accent:var(--atlas-red); --amber:var(--atlas-red); --stamp:#b92b2a; color-scheme:light; }
html,body { background:var(--atlas-paper); }
body { caret-color:var(--atlas-red); scrollbar-color:#a6aaa5 var(--atlas-paper); }
::selection { background:#cbe0e7; color:#102e3e; }
h1,h2 { font-family:var(--serif); font-weight:500; font-stretch:normal; letter-spacing:-.035em; line-height:1.02; }
h1 { font-size:var(--pp-title); } h2 { font-size:var(--pp-title); }
:focus-visible { outline:3px solid var(--atlas-cobalt); outline-offset:4px; }
button,input,select { accent-color:var(--atlas-red); }
a:hover { color:var(--atlas-red); }
.top { height:72px; background:var(--atlas-paper); color:var(--fg); border-color:var(--line); backdrop-filter:none; -webkit-backdrop-filter:none; gap:26px; }
.brand { font:500 var(--pp-section)/1 var(--serif); letter-spacing:-.04em; }
.nav { gap:24px; font-size:var(--pp-meta); }
.nav a,.nav a:hover { color:var(--fg); padding-block:27px 23px; }
.nav a[aria-current=page] { color:var(--atlas-red); border-color:var(--atlas-red); }
.find input { background:transparent; color:var(--fg); border-color:#c7c7be; border-radius:24px; width:clamp(170px,19vw,280px); padding-inline:18px; height:38px; }
.find input::placeholder { color:var(--atlas-muted); }
.find input:focus-visible { outline:3px solid var(--atlas-cobalt); outline-offset:3px; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:100; background:var(--atlas-paper); padding:12px; }
.skip-link:focus { top:12px; }
.atlas { display:grid; grid-template-columns:minmax(305px,27%) minmax(0,1fr); }
.atlas-intro { padding:clamp(34px,4.4vw,68px) clamp(24px,2.4vw,40px) 24px; display:flex; flex-direction:column; align-items:flex-start; }
.atlas-intro h1 { font-size:var(--pp-title); line-height:.99; letter-spacing:-.04em; margin:0; text-wrap:initial; }
.atlas-red-rule { display:block; width:48px; height:4px; background:var(--atlas-red); margin:25px 0; }
.atlas-dek { font:400 var(--pp-subhead)/1.26 var(--serif); margin:0 0 28px; max-width:27ch; }
.atlas-switch { display:flex; border:1px solid #aaaead; border-radius:5px; width:100%; overflow:hidden; }
.atlas-switch button { flex:1; min-height:46px; background:transparent; border:0; cursor:pointer; font:400 var(--pp-body) var(--serif); }
.atlas-switch button[aria-pressed=true] { background:var(--atlas-ink); color:var(--atlas-paper); }
.atlas-switch button:hover:not([aria-pressed=true]) { background:#e5e5dd; }
.atlas-switch button:focus-visible { outline-offset:-4px; }
.atlas-switch span { font:500 var(--pp-meta) var(--ui); opacity:.8; margin-left:5px; }
.atlas-guided { color:var(--atlas-red); display:flex; align-items:center; gap:10px; margin:20px 0 35px; font:400 var(--pp-body)/1.25 var(--serif); }
.atlas-guided svg { flex:none; }
.atlas-context { width:100%; margin-top:auto; }
.atlas-context a { display:grid; grid-template-columns:25px 1fr 16px; gap:12px; padding:19px 0; border-top:1px solid #b9bcb6; text-decoration:none; }
.atlas-context a>span { color:var(--atlas-red); font:400 var(--pp-body) var(--serif); }
.atlas-context b { display:block; font:500 var(--pp-body)/1.15 var(--serif); }
.atlas-context small { display:block; font:400 var(--pp-meta)/1.35 var(--serif); color:var(--atlas-muted); margin-top:7px; }
.atlas-context svg { width:16px; margin-top:3px; }
.atlas-explain { margin:15px 0 0; font-size:var(--pp-meta); line-height:1.5; color:var(--atlas-muted); }
.atlas-stage { min-width:0; background:var(--atlas-blue); }
.atlas-map-wrap { position:relative; min-height:800px; height:100%; overflow:hidden; isolation:isolate; }
.atlas-map { position:absolute; inset:0; overflow:hidden; background:#123e57; cursor:grab; }
.atlas-map:active { cursor:grabbing; }
.atlas-basemap { position:absolute; max-width:none; user-select:none; pointer-events:none; filter:url(#atlas-tone); }
.atlas-grid { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.atlas-grid line { stroke:#cee0df; stroke-width:.6; opacity:.25; }
.atlas-grid text { fill:#ecf2ef; font:var(--pp-meta) var(--ui); opacity:.8; }
.atlas-ocean { position:absolute; top:39%; left:8%; color:#d4e4e7; font:italic 400 var(--pp-title)/1 var(--serif); letter-spacing:.16em; opacity:.65; pointer-events:none; max-width:70%; }
.atlas-map-tools { position:absolute; right:20px; top:20px; display:flex; align-items:center; background:var(--atlas-paper); color:var(--fg); min-height:42px; padding:0 6px 0 13px; gap:8px; z-index:4; font-size:var(--pp-meta); }
.atlas-map-tools select { border:0; background:transparent; font:500 var(--pp-meta) var(--ui); color:var(--fg); min-height:42px; max-width:165px; cursor:pointer; }
.atlas-zoom { display:flex; border-left:1px solid var(--line); }
.atlas-zoom button { min-width:34px; min-height:38px; background:transparent; border:0; cursor:pointer; font-size:var(--pp-body); }
.atlas-zoom button:last-child { font-size:var(--pp-meta); padding:0 8px; }
.atlas-zoom button:hover { background:#e0e1d9; }
.atlas-map-status { position:absolute; left:22px; top:75px; margin:0; padding:5px 9px; background:#103448; color:#f1f3ed; max-width:calc(100% - 44px); font:400 var(--pp-meta)/1.45 var(--ui); z-index:2; pointer-events:none; }
.atlas-pin { position:absolute; border:0; background:transparent; padding:0; width:44px; height:44px; transform:translate(-50%,-50%); display:grid; place-items:center; cursor:pointer; z-index:2; }
.atlas-pin-dot { width:13px; height:13px; border-radius:50%; background:#e74a3b; border:2px solid #f6f3ec; box-shadow:0 2px 5px #081d2980; }
.atlas-pin-label { position:absolute; top:39px; left:50%; transform:translateX(-50%); background:var(--atlas-paper); color:var(--fg); font:500 var(--pp-body)/1.2 var(--serif); padding:6px 10px; white-space:nowrap; opacity:0; pointer-events:none; box-shadow:0 3px 10px #081d2925; }
.atlas-pin-label small { font:400 var(--pp-meta) var(--ui); margin-left:5px; }
.atlas-pin.is-selected { z-index:3; }
.atlas-pin.is-selected .atlas-pin-dot { width:18px; height:18px; outline:1px solid #f6f3ec88; outline-offset:10px; }
.atlas-pin.is-selected .atlas-pin-label,.atlas-pin:hover .atlas-pin-label,.atlas-pin:focus-visible .atlas-pin-label { opacity:1; }
.atlas-pin:hover,.atlas-pin:focus-visible { z-index:5; }
.atlas-pin:focus-visible { outline-color:white; }
.atlas-selection-slot { position:absolute; bottom:48px; left:28px; width:min(calc(100% - 56px),790px); z-index:4; }
.atlas-selection { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1fr); background:var(--atlas-paper); box-shadow:0 12px 32px #031d3a35; }
.atlas-preview { display:flex; align-items:center; background:#082638; padding:5px; }
.atlas-preview .frame { width:100%; border-radius:0; background:#082638; }
.atlas-preview .slate { display:none; }
.atlas-preview .chyron { padding:9px 8px; gap:4px; font-size:var(--pp-meta); background:#082638; color:#f3f0e6; border-color:#bbc7c8; }
.atlas-preview .chyron .right { display:none; }
.atlas-preview .chyron b { color:#fff; font-weight:400; }
.atlas-preview .chyron .not { color:#ffc0af; font-weight:500; }
.atlas-selection-copy { padding:24px; min-width:0; }
.atlas-selection h2 { font-size:var(--pp-section); line-height:1; margin:0 0 8px; }
.atlas-date { font:500 var(--pp-body)/1.25 var(--serif); margin:0 0 4px; }
.atlas-location { font:400 var(--pp-meta)/1.35 var(--ui); color:var(--atlas-muted); margin:0 0 14px; }
.atlas-summary { font:400 var(--pp-body)/1.35 var(--serif); margin:0 0 10px; }
.atlas-availability { font:400 var(--pp-meta) var(--ui); color:var(--atlas-muted); margin:0 0 17px; }
.atlas-availability span { margin:0 6px; color:#888e8a; }
.atlas-open { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; background:var(--atlas-red); color:#fff; padding:13px 17px; text-decoration:none; font:500 var(--pp-body)/1 var(--serif); }
.atlas-open:hover { background:#8d2423; color:#fff; }
.atlas-credit { position:absolute; bottom:10px; right:20px; margin:0; color:#eff2ee; background:#103448; padding:3px 6px; font:400 var(--pp-meta) var(--ui); z-index:4; }
.atlas-credit a:hover { color:white; }
.atlas-eras { grid-column:1/-1; display:flex; justify-content:space-between; gap:15px; padding:23px var(--gutter); border-bottom:1px solid var(--line); border-top:1px solid var(--line); background:var(--atlas-paper); }
.atlas-eras button { display:flex; align-items:center; gap:14px; padding:8px 0; background:none; border:0; cursor:pointer; font:400 var(--pp-body) var(--serif); white-space:nowrap; }
.atlas-eras button>span { width:15px; height:15px; border:1px solid #687671; border-radius:50%; position:relative; }
.atlas-eras button[aria-pressed=true]>span { background:var(--atlas-red); border-color:var(--atlas-red); }
.atlas-eras button[aria-pressed=true] { color:var(--atlas-red); }
.atlas-list { height:800px; overflow:auto; background:var(--atlas-paper); padding:35px; border-left:1px solid var(--line); }
.atlas-list-head { max-width:650px; }
.atlas-list-head h2 { font-size:var(--pp-section); }.atlas-list-head p { color:var(--fg-2); }
.atlas-list-head label { display:block; font-size:var(--pp-meta); margin:22px 0 6px; }
.atlas-list-head input { width:100%; border:1px solid #989f99; background:#fffdf8; padding:13px; font:400 var(--pp-body) var(--ui); color:var(--fg); }
.atlas-list .ledger .lm { grid-column:2; justify-content:flex-start; }.atlas-list .ledger li a { grid-template-columns:75px 1fr; row-gap:7px; }
.atlas-no-results { padding:40px 0; font:400 var(--pp-subhead) var(--serif); }
.atlas-beyond { display:grid; grid-template-columns:1fr 1.2fr; gap:7vw; padding-block:80px; }
.atlas-beyond h2 { font-size:var(--pp-title); max-width:13ch; margin-bottom:20px; }
.atlas-beyond nav a { display:grid; grid-template-columns:1fr 24px; gap:4px; padding:22px 0; border-top:1px solid var(--line); text-decoration:none; }
.atlas-beyond nav b { font:500 var(--pp-subhead) var(--serif); }.atlas-beyond nav span { grid-column:1; font-size:var(--pp-meta); color:var(--fg-2); }.atlas-beyond nav svg { grid-column:2; grid-row:1/3; align-self:center; }
.atlas-footer { border-top:1px solid var(--line); padding-block:28px; display:flex; flex-wrap:wrap; gap:16px 35px; align-items:center; font-size:var(--pp-meta); }.atlas-footer>span { font:500 var(--pp-subhead) var(--serif); }.atlas-footer p { margin:0; color:var(--fg-2); }.atlas-footer a { margin-left:auto; }
.atlas-loading { display:grid; grid-template-columns:27% 1fr; min-height:700px; }.atlas-loading>div { padding:60px 30px; }.atlas-loading img { width:100%; height:100%; object-fit:cover; filter:url(#atlas-tone); }.atlas-loading p { font:400 var(--pp-subhead) var(--serif); }
/* Shared reading components keep the source material calm and legible. */
.panel { --accent:var(--atlas-red); border-top-width:1px; }
.frame { --stamp:#ffb5a8; --amber:#d0d1c0; }.frame .not { color:#ffb5a8; }
.chip { white-space:normal; }.chip.amber { color:var(--atlas-red); border-color:#b92b2a66; }
.reveal { opacity:1; filter:none; }.btn.fill:hover { color:white; }
.vid-play { background:var(--atlas-paper); }.vid-play::after { border-left-color:var(--atlas-red); }
.vid-face { background:#d9ddd5; }.vid-len { background:#173a4b; color:white; }
.case .case-counts a { text-decoration:none; }
@media (prefers-reduced-motion:no-preference) { .atlas-selection { animation:atlas-arrive .35s cubic-bezier(.16,1,.3,1); } @keyframes atlas-arrive { from { transform:translateY(8px); } to { transform:none; } } }
@media (min-width:1600px) { .atlas-map-wrap { min-height:850px; }.atlas-intro { padding-top:75px; }.atlas-intro h1 { font-size:var(--pp-title); } }
@media (max-width:1100px) {
 .top { flex-wrap:wrap; height:auto; padding-block:12px 0; gap:0 20px; }.brand { order:0; }.find { order:1; margin-left:auto; }.nav { order:2; flex-basis:100%; margin:0; gap:24px; }.nav a { padding:14px 0 12px; }
 .atlas { grid-template-columns:300px minmax(0,1fr); }.atlas-intro { padding:35px 24px 24px; }.atlas-intro h1 { font-size:var(--pp-title); }.atlas-dek { font-size:var(--pp-subhead); }
 .atlas-selection { grid-template-columns:1fr; }.atlas-preview { display:none; }.atlas-selection-copy { padding:23px; }.atlas-selection-slot { bottom:40px; left:20px; width:calc(100% - 40px); }.atlas-map-wrap { min-height:740px; }.atlas-context b { font-size:var(--pp-body); }
 .atlas-map-tools { right:12px; left:12px; justify-content:space-between; }.atlas-map-tools>label { display:none; }.atlas-map-tools select { max-width:150px; }.atlas-beyond { gap:35px; }
}
@media (max-width:720px) {
 .top { padding:13px 18px 0; }.brand { font-size:var(--pp-subhead); }.find input { width:145px; font-size:var(--pp-meta); padding-inline:11px; height:34px; }.nav { gap:20px; font-size:var(--pp-meta); }.nav a { padding:13px 0; }
 .atlas { display:flex; flex-direction:column; }.atlas-intro { padding:30px 22px 24px; }.atlas-intro h1 { font-size:var(--pp-title); line-height:.98; }.atlas-intro h1 br { display:none; }.atlas-intro h1 { max-width:10ch; }
 .atlas-red-rule { margin:20px 0; width:40px; }.atlas-dek { font-size:var(--pp-subhead); max-width:29ch; margin-bottom:20px; }.atlas-switch { max-width:360px; }.atlas-guided { margin:18px 0 0; font-size:var(--pp-body); }.atlas-context,.atlas-explain { display:none; }
 .atlas-map-wrap { display:flex; flex-direction:column; min-height:0; padding-top:400px; }.atlas-map { height:400px; bottom:auto; width:100%; }.atlas-map-tools { top:14px; }.atlas-map-status { top:67px; left:14px; max-width:calc(100% - 28px); font-size:var(--pp-meta); }
 .atlas-ocean { font-size:var(--pp-subhead); top:56%; }.atlas-selection-slot { position:relative; left:auto; bottom:auto; width:100%; padding:0; }.atlas-selection { grid-template-columns:1fr; box-shadow:none; }.atlas-preview { display:block; padding:0; }.atlas-preview .frame { display:block; }.atlas-preview .frame-img { width:100%; }.atlas-preview .chyron { padding:10px 16px; font-size:var(--pp-meta); }.atlas-selection-copy { padding:25px 22px; }.atlas-selection h2 { font-size:var(--pp-section); }.atlas-summary { font-size:var(--pp-body); }.atlas-location { font-size:var(--pp-meta); }.atlas-availability { font-size:var(--pp-meta); }.atlas-credit { top:373px; bottom:auto; right:8px; font-size:var(--pp-meta); }
 .atlas-eras { order:1; flex-wrap:wrap; justify-content:flex-start; gap:3px 24px; padding:14px 22px; }.atlas-eras button { font-size:var(--pp-body); gap:8px; min-height:42px; }.atlas-stage { order:2; }
 .atlas-list { height:auto; min-height:400px; max-height:none; padding:28px 20px; border:0; }.atlas-list-head h2 { font-size:var(--pp-section); }
 .atlas-beyond { grid-template-columns:1fr; padding-block:50px; gap:24px; }.atlas-beyond h2 { max-width:none; font-size:var(--pp-section); }.atlas-beyond nav b { font-size:var(--pp-subhead); }.atlas-footer a { margin-left:0; }
 .atlas-loading { grid-template-columns:1fr; min-height:600px; }.atlas-loading img { height:360px; }.atlas-loading>div { padding:28px 22px; }
}
@media (min-width:1101px) {
 .atlas-intro h1 { font-size:var(--pp-title); }
 .atlas-intro { padding-top:50px; padding-inline:clamp(24px,2vw,32px); }
 .atlas-pin-label { opacity:1; font-size:var(--pp-meta); padding:4px 7px; }
 .atlas-pin[data-case=T034] .atlas-pin-label { left:40px; top:4px; transform:none; }
 .atlas-pin[data-case=T081] .atlas-pin-label { top:-22px; }
 .atlas-pin[data-case=T187] .atlas-pin-label { left:-4px; top:5px; transform:translateX(-100%); }
 .atlas-pin[data-case=T080] .atlas-pin-label { left:-4px; top:-12px; transform:translateX(-100%); }
}
.atlas-map-wrap { min-height:800px; }
@media (max-width:720px) { .atlas-map-wrap { min-height:0; } }
.atlas-map-tools #atlas-pick { border-left:1px solid var(--line); padding-left:10px; max-width:170px; }
.atlas-pin { width:28px; height:28px; }.atlas-pin-label { top:30px; }
.atlas-pin.is-cluster .atlas-pin-dot { width:24px; height:24px; display:grid; place-items:center; color:white; background:#a72b25; font:600 var(--pp-meta) var(--ui); border:1px solid white; }
@media(max-width:1100px) {
 .atlas-map-tools { flex-wrap:wrap; justify-content:flex-start; gap:0; padding-left:6px; }
 .atlas-map-tools #atlas-region { max-width:130px; }.atlas-map-tools #atlas-pick { max-width:140px; }.atlas-zoom { margin-left:auto; }
 .atlas-map-status { top:112px; }
}
@media(max-width:720px) {
 .atlas-map-tools { display:grid; grid-template-columns:1fr auto; padding:0 6px; }
 .atlas-map-tools #atlas-region { grid-column:1; grid-row:1; max-width:none; }.atlas-map-tools #atlas-pick { grid-column:1; grid-row:2; max-width:100%; border:0; border-top:1px solid var(--line); padding-left:0; }.atlas-zoom { grid-column:2; grid-row:1/3; }
 .atlas-map-status { top:111px; }.atlas-pin-label { font-size:var(--pp-meta); }
}

.atlas-selection.is-imageless { grid-template-columns:1fr; }
