/* Warm paper, ink, and fine cartographic rules. */
:root { color-scheme:light; --bg:#f5f2e9; --panel:#faf8f1; --bone:#373e36; --muted:#777b6c; --gold:#8b643d; --line:#dcd8ca; --soft:#eae7db; }
body { background:var(--bg); color:var(--bone); }
.topbar { background:#f8f5ed; border-color:#dedace; }
.brand img { filter:opacity(.65); }
.brand { font-size:15px; }
.topbar a[aria-current]:after { background:#887c55; }
.introduction { margin-bottom:24px; }
.introduction h1 { font-size:clamp(30px,2.8vw,42px); }
.introduction .eyebrow { color:#808270; }
.coverage-badge { background:#eeece2; color:#636b5b; border-color:#dedbce; }
.status-dot { background:#7b8a65; box-shadow:none; }
.inquiry { margin-bottom:22px; }
#timeline-question-form>label { display:block; font:11px Arial,sans-serif; margin-bottom:9px; color:#626c5b; }
#timeline-question-form>div { display:flex; border:1px solid #cecabc; background:#fdfbf5; box-shadow:0 3px 14px #51462d04; }
#timeline-question { width:100%; min-width:0; border:0; background:transparent; padding:17px 18px; color:var(--bone); font:17px Spectral,Georgia,serif; }
#ask-timeline { flex-shrink:0; padding:0 25px; margin:6px; border:1px solid #59664f; background:#59664f; color:#fffdf5; font-size:12px; }
#ask-timeline:hover { background:#46513e; }
.question-suggestions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; color:var(--muted); font-size:10px; }
.question-suggestions>span { margin-right:8px; }
.question-suggestions button { padding:5px 0; margin-right:12px; border-bottom:1px solid #d9d1bd; color:#6e755d; font:12px Spectral,Georgia,serif; }
#question-status { margin:9px 0 0; min-height:0; font-size:11px; color:#80704e; }
#question-status:empty { display:none; }
.answer-panel { padding:25px 29px; background:#fbf9f2; border:1px solid #d9d3c2; border-left:3px solid #9c8258; margin:18px 0 27px; }
.answer-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.answer-heading button { font-size:10px; color:var(--muted); }
#answer-question { font-size:25px; line-height:1.4; margin:15px 0 13px; max-width:1000px; }
#answer-prose { max-width:1050px; max-height:320px; overflow:auto; font:16px/1.8 Spectral,Georgia,serif; color:#50574a; }
#answer-prose.collapsed { display:none; }
#answer-prose h3 { font:19px Marcellus,Georgia,serif; color:#4c5742; margin:16px 0 6px; }
#answer-prose h3:first-child { margin-top:0; }
#answer-prose p { margin:0 0 12px; }
#answer-prose ul,#answer-prose ol { margin:0 0 12px 22px; padding:0; }
#answer-prose li { margin-bottom:4px; }
#answer-prose code { font:14px Consolas,monospace; color:#6f5a35; }
#answer-prose .cite-chip { font:11px Arial,sans-serif; letter-spacing:.04em; color:#7f6640; border-bottom:1px solid #c9b995; padding:0 1px; vertical-align:baseline; }
#answer-prose .cite-chip:hover { color:#4c5742; border-color:#8b643d; }
#answer-prose .cite-plain { font:11px Arial,sans-serif; color:#8a8a7a; }
#answer-anchors { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 12px; }
#answer-anchors button { padding:9px 12px; background:#f1ebdc; border:1px solid #d7ccb5; text-align:left; max-width:310px; font:13px Spectral,Georgia,serif; }
#answer-anchors small { display:block; font:9px Arial,sans-serif; margin-bottom:5px; color:#83734d; }
.answer-bottom { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.answer-bottom p { color:#7a7c6d; font:11px/1.7 Arial,sans-serif; margin:0; flex:1; min-width:220px; }
.answer-bottom button,.answer-bottom a { font-size:10px; color:#7f704d; padding:6px 0; border-bottom:1px solid #b9aa8a; }
.era-nav { border-bottom:0; }
.era-nav button.active { background:#eae8dc; color:#5b674d; border-color:#d2d0c0; }
.atlas { box-shadow:0 10px 40px #69563c05; background:#faf8f1; }
.atlas-toolbar { background:#f8f5ec; }
.view-switch { border-color:#dcd6c7; background:#eeeade; }
.view-switch button[aria-pressed=true] { background:#fbf9f2; box-shadow:0 1px 4px #63573413; color:#536147; }
.jump-form input,.jump-form select { background:#fbf9f2; border-color:#d6d2c3; color:#59634f; }
.scene { height:574px; background-color:#f6f3e9; background-image:radial-gradient(#7e76530b .6px,transparent .7px); background-size:5px 5px; }
.scene-heading { top:23px; left:27px; }
.scene-heading .eyebrow { color:#8a8c74; }
.scene-heading h2 { color:#4c5742; font-size:30px; }
.scene-heading p { color:#838570; }
.scene-foot button { color:#6c754f; border-color:#b5bb9e; }
.marker { background:#fcfaf2f5; box-shadow:0 3px 10px #80715209; border:1px solid #dcd6c4; border-left:2px solid var(--tone); padding:10px 11px; min-height:62px; }
.marker:hover,.marker.selected { background:#f0ebdc; box-shadow:0 0 0 1px #b7a580; }
.marker strong { color:#4b5343; font-size:14px; line-height:1.4; }
.marker small { color:var(--tone); font-size:9px; }
.marker .uncertain { color:#8a8875; }
.marker.answer-anchor { border-top:2px solid #907444; box-shadow:0 0 0 1px #ad90604d; background:#f4eedf; }
.marker.answer-anchor small:before { content:'✛ '; }
.cluster { position:absolute; z-index:4; padding:4px 7px; border:1px solid #bfb9a4; border-radius:20px; font-size:9px; color:#727958; background:#f8f5ea; }
.time-tick { position:absolute; z-index:4; font-size:9px; padding:7px; color:#7b7e64; }
.time-tick:hover { background:#e8e3d2; color:#3a4930; }
.travel-controls { background:#f8f5eb; }
.travel-controls button { color:#687553; }
.inspector { height:615px; background:#f0eee3; border-color:#d9d6c7; }
.inspector h2 { color:#536044; }
.inspector p { color:#6d7562; }
.record-row strong { color:#4b5740; }
.record-row:hover strong { color:#976d3c; }
.record-row.is-anchor { border-left:2px solid #a38859; padding-left:10px; }
.record-row small { color:var(--tone); }
.tag { border-color:#c7c1aa; color:#81774f; background:#eeeadb; }
.inspector .source-link { color:#7c653d; border-color:#d6d0bf; }
.inspector details { color:#737861; }
.inspector summary { color:#4e5f41; }
.navigator { background:#f2efe4; }
.navigator-dates span:nth-child(2) { color:#969480; }
.search-row { background:#f8f6ee; }
.lane-filters button { background:#f7f4eb; border-color:#d8d4c4; }
.lane-filters button:before { width:5px; height:5px; }
.lane-filters button[aria-pressed=false] { opacity:.55; }
.collection-note { color:#8b8979; }
footer { color:#92907f; }
body.embed main { padding:0; max-width:none; }
body.embed .topbar,body.embed .introduction,body.embed .inquiry,body.embed .answer-panel,body.embed .era-nav,body.embed .collection-tools,body.embed footer { display:none!important; }
body.embed .atlas { border:0; box-shadow:none; }
body.embed .atlas-layout { display:block; position:relative; }
body.embed .scene { height:390px; }
body.embed:has(#chronology-view[aria-pressed=true]) .scene { height:540px; }
body.embed .scene-heading h2 { font-size:25px; }
body.embed .inspector { display:none; }
body.embed.inspecting .inspector { display:block; position:absolute; top:0; bottom:0; right:0; z-index:8; width:min(330px,90%); height:431px; box-shadow:-8px 0 30px #4b402319; }
body.embed .navigator { padding:10px 18px; }
body.embed .navigator .minimap { height:25px; margin-top:5px; }
body.embed .navigator-dates { display:none; }
body.embed .atlas-toolbar { gap:8px; min-height:50px; }
body.embed .jump-form { display:none; }
body.embed .marker { min-height:52px; }
@media(min-width:1600px) { .scene { height:614px; } .inspector { height:655px; } }
@media(max-width:1150px) { .marker strong { font-size:12px; } }
@media(max-width:800px) {
  .introduction h1 { font-size:31px; }
  #timeline-question-form>div { flex-wrap:wrap; }
  #timeline-question { font-size:15px; padding:14px; }
  #ask-timeline { width:calc(100% - 12px); padding:12px; }
  .answer-panel { padding:20px 17px; }
  #answer-question { font-size:21px; }
  #answer-prose { font-size:15px; }
  .scene { height:550px; }
  .marker { padding:8px; }
  .marker small { font-size:8px; }
  .inspector { height:430px; }
  body.embed .atlas-toolbar { flex-wrap:nowrap; }
  body.embed .view-switch button { padding:6px; font-size:9px; }
  body.embed .zoom-controls { gap:1px; }
  body.embed .scene { height:390px; }
}

.domain-panel { padding:18px 20px 14px; border-bottom:1px solid var(--line); background:#f3f0e5; }
.domain-panel .eyebrow { color:#5c684f; }
#domain-status { font-size:10px; color:#67715c; }
.domain-filters { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.domain-filters button { display:flex; align-items:center; gap:8px; border:1px solid #d6d3c3; border-radius:4px; background:#faf8f0; color:#5d6655; padding:9px 11px; font-size:11px; }
.domain-filters button:before { content:''; width:5px; height:5px; border-radius:50%; background:var(--tone); }
.domain-filters button span { color:#747b6a; font-size:10px; font-variant-numeric:tabular-nums; }
.domain-filters button[aria-pressed=true] { background:#e5e9da; color:#35462e; border-color:#859173; box-shadow:inset 0 0 0 1px #85917324; }
.domain-filters button:hover { border-color:#899378; }
.perspective-control { position:absolute; top:26px; right:22px; display:flex; align-items:center; gap:8px; color:#636e56; font-size:10px; z-index:4; }
.perspective-control input { width:72px; accent-color:#778364; }
.perspective-control[hidden] { display:none; }
.scene { height:614px; }
.scene-heading p { max-width:calc(100% - 10px); line-height:1.5; }
.scene-heading { right:145px; }
.perspective-label { height:62px; min-height:0; padding:8px 9px; border-radius:3px; box-shadow:0 5px 14px #655b4210; }
.perspective-label strong { font-size:13px; line-height:1.35; }
.perspective-label small { margin-bottom:4px; font-size:8px; }
.perspective-label .uncertain { font-size:7px; margin-left:0; }
.depth-cluster { height:28px; padding:0; border:1px solid var(--tone); border-radius:5px; background:#fffdf3; color:#414d35; font-size:11px; font-weight:600; box-shadow:0 3px 7px #5e594719; }
.depth-cluster:hover,.depth-cluster:focus-visible,.depth-cluster.selected { background:#e1e7d4; box-shadow:0 0 0 2px #a7b29366; }
.depth-cluster.answer-anchor { outline:2px solid #b99b64; outline-offset:2px; }
.density-note { margin:0; padding:10px 18px; border-top:1px solid var(--line); background:#f5f2e8; color:#647054; font:10px/1.5 Arial,sans-serif; }
.inspector { height:691px; }
.clear-group { font:11px Arial,sans-serif; color:#6b5737; border-bottom:1px solid #b9aa88; padding:6px 0; margin-bottom:6px; }
.group-note { font-size:12px!important; }
.thread-filters { margin:14px 0; font-size:11px; color:#67715c; }
.thread-filters summary { cursor:pointer; }
body.embed .domain-panel { padding:10px 12px; }
body.embed .domain-panel .filter-heading { display:none; }
body.embed .domain-filters { flex-wrap:nowrap; overflow-x:auto; margin:0; padding-bottom:4px; }
body.embed .domain-filters button { flex-shrink:0; padding:7px 9px; font-size:10px; }
body.embed .scene { height:470px; }
body.embed .scene-heading { right:122px; }
body.embed .scene-heading h2 { font-size:22px; }
body.embed.inspecting .inspector { height:100%; }
body.embed .density-note { font-size:9px; }
@media(max-width:400px) {
  body.embed .atlas-toolbar { flex-wrap:wrap; justify-content:center; }
  body.embed .view-switch { flex:0 0 auto; }
  body.embed .zoom-controls { margin-left:0; }
}
@media(max-width:800px) {
  .domain-panel { padding:14px 12px; }
  .domain-filters { gap:5px; }
  .domain-filters button { padding:9px; font-size:10px; }
  .domain-filters button span { font-size:9px; }
  #domain-status { font-size:9px; }
  .scene-heading { right:18px; }
  .scene-heading h2 { font-size:25px; }
  .scene-heading p { max-width:100%; font-size:9px; }
  .perspective-control { top:13px; right:12px; font-size:9px; }
  .perspective-control input { width:52px; }
  .perspective-label strong { font-size:12px; }
  .perspective-label small { font-size:8px; }
  .inspector { height:450px; }
  body.embed .scene-heading { right:18px; }
  body.embed .zoom-controls input { width:45px; }
}

/* The date axis recedes into a continuous horizon; the desk stays at reading size. */
.scale-presets { display:flex; align-items:center; gap:6px; padding:10px 20px; border-bottom:1px solid var(--line); background:#f4f1e6; }
.scale-presets>.eyebrow { margin-right:10px; font-size:8px; }
.scale-presets button { padding:7px 12px; border:1px solid transparent; font-size:11px; color:#66715b; }
.scale-presets button:hover,.scale-presets button[aria-pressed=true] { background:#e6e5d7; border-color:#c4c8b1; color:#364731; }
.scale-hint { margin-left:auto; font:10px/1.5 Arial,sans-serif; color:#7c806e; }
.scene { height:690px; background-image:none; background-color:#f7f4eb; }
.scene-heading { z-index:5; pointer-events:none; right:160px; }
.scene-heading p { max-width:450px; }
.inspector { height:767px; }
.perspective-label { border-radius:3px; box-shadow:0 var(--depth-shadow,6px) 18px #67573718, inset 0 1px #fffef8; background:linear-gradient(130deg,#fffdf6f7,#f4f0e5f5); }
.perspective-label strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; }
.perspective-label small { font-size:9px; }
.depth-cluster { font-size:10px; background:linear-gradient(145deg,#fffef9,#e9e2cf); box-shadow:1px 3px 7px #5a4c3228, inset 0 1px #ffffff; }
.horizon-tick { padding:0 3px; min-height:20px; font-size:9px; white-space:nowrap; background:#f7f4e9b8; border-radius:2px; }
body.embed .scene { height:550px; }
body.embed .scale-presets { padding:6px 12px; }
body.embed .scale-hint { display:none; }
body.embed.inspecting .inspector { height:100%; }
@media(max-width:800px) {
  .scale-presets { padding:9px 10px; flex-wrap:wrap; gap:2px; }
  .scale-presets>.eyebrow { margin-right:4px; }
  .scale-presets button { padding:9px 10px; }
  .scale-hint { flex-basis:100%; margin:4px 0 0; font-size:9px; }
  .scene { height:640px; }
  .scene-heading { top:42px; right:16px; }
  .scene-heading h2 { font-size:23px; }
  .scene-heading p { font-size:9px; }
  .perspective-label strong { font-size:12px; -webkit-line-clamp:3; }
  .perspective-label small { font-size:8px; }
  .perspective-control { top:12px; }
  .inspector { height:450px; }
  body.embed .scene { height:560px; }
}
