/* As the Crow Flies Hauntings / archival field atlas refinement */
:root {
  --void:#0b1114; --deep:#080e11; --panel:#121e22; --panel2:#17262b;
  --glass:#122026; --line:#344a4b; --line2:#26383a;
  --bone:#efe9db; --dim:#a8b7b2; --faint:#81938e;
  --teal:#a7d3c7; --teal-hi:#d1e9db; --teal-deep:#5f9e94;
  --glow:transparent; --glow-soft:transparent;
  --warn:#d9a67c; --warn-glow:transparent;
  --land:#233236; --landline:#4d6260; --lit:#31514f;
}
html { scroll-behavior:smooth; }
body {background:#0b1114; color:var(--bone); font:400 15px/1.65 var(--sans); letter-spacing:0; }
.atmo,.stage-fog,.ghostname {display:none !important;}
*, *::before, *::after {text-shadow:none !important; filter:none !important; -webkit-backdrop-filter:none !important; backdrop-filter:none !important;}
button,select,input,textarea {font-weight:inherit;}
:focus-visible {outline:2px solid var(--teal-hi) !important; outline-offset:3px !important;}
.topbar {background:#0d171b; border-bottom:1px solid #314745;}
.topbar-in {max-width:1660px; height:72px; padding:0 40px; gap:32px;}
.brand {gap:13px;}
.brand svg {width:31px; fill:var(--teal);}
.brand .b1 {font-size:20px; color:var(--bone); letter-spacing:.045em;}
.brand .b1 em {color:var(--teal);}
.topnav {gap:2px; margin-left:26px;}
.topnav button {font:600 11px/1 var(--sans); letter-spacing:.13em; color:#b6c4bf; padding:15px 16px; border:1px solid transparent; border-radius:0;}
.topnav button:hover {color:#fff; background:#1b2c2e;}
.topnav button.on {color:var(--teal-hi); background:transparent; border-bottom:2px solid var(--teal);}
.searchwrap {flex-basis:310px;}
.searchwrap input {background:#101b1e; border-color:#3e5653; color:var(--bone); font:400 13px var(--sans); border-radius:3px; padding:11px 14px 11px 36px;}
.searchwrap input::placeholder {color:#9caeaa;}
.searchwrap .sic {color:var(--teal);}
.searchwrap input:focus {border-color:var(--teal); box-shadow:none;}
.searchdrop {background:#132125; border-color:#547570; border-radius:3px; box-shadow:none;}
.searchdrop .sn {font-weight:600;}
.searchdrop .sc2 {color:#b3c4bf;}
.searchdrop button:hover {background:#203a3b;}
.shell {max-width:1660px; padding:0 40px 90px;}
.hero {align-items:end; gap:30px; padding:52px 0 36px; border-bottom:1px solid #344746;}
.hero .kick {font:600 11px/1.3 var(--mono); letter-spacing:.19em; color:var(--teal); display:flex; align-items:center; gap:11px; margin-bottom:18px;}
.live-dot {display:inline-block; width:7px; height:7px; background:var(--teal); border-radius:50%;}
.hero h1 {font:400 clamp(44px,5.3vw,82px)/.99 var(--disp); letter-spacing:.015em; color:#f3ead8;}
.hero h1 em {font-style:normal; color:var(--teal);}
.hero .sub {font:400 15px/1.65 var(--sans); color:#c2d0ca; max-width:63ch; margin-top:20px;}
.stats {gap:0; padding:0 0 2px; border:1px solid #35504d; background:#132225; flex:none;}
.stat {min-width:114px; padding:15px 20px 13px; border-right:1px solid #35504d;}
.stat:last-child {border-right:0;}
.stat .n {font:400 34px/1 var(--disp); color:var(--bone);}
.stat .l {color:var(--teal); font:600 9px/1.4 var(--mono); letter-spacing:.12em; margin-top:8px;}
.view.on,.dtab.on {animation:none;}
.fbar {padding:22px 0 18px; gap:9px;}
.fbar select,.tgl {border-radius:3px; border-color:#4a625e; background:#152327; color:#e4e8dd; font:500 12px/1.2 var(--sans); letter-spacing:.01em; min-height:41px; padding:10px 14px;}
.fbar select {min-width:145px;}
.fbar select:hover,.fbar select:focus,.tgl:hover {border-color:var(--teal); color:var(--bone);}
.tgl {text-transform:none;}
.tgl.on {background:var(--teal); color:#0b1617; border-color:var(--teal); box-shadow:none;}
.fnote {font:500 11px var(--mono); color:#b3c4be;}
.fnote b {color:var(--teal-hi);}
.workspace {grid-template-columns:minmax(0,1.85fr) minmax(330px,.88fr); gap:18px;}
.stage {background:#102025; border:1px solid #486461; border-radius:3px; box-shadow:none; min-height:565px;}
.stage::before {content:""; position:absolute; inset:0; pointer-events:none; z-index:1; background-image:linear-gradient(#33525027 1px,transparent 1px),linear-gradient(90deg,#33525027 1px,transparent 1px); background-size:72px 72px; opacity:.45;}
.stage-head {padding:17px 22px 12px; border-bottom:1px solid #304b49; align-items:center; min-height:74px;}
.stage-title {align-items:center; gap:12px; flex-wrap:wrap; font:400 23px/1.1 var(--disp);}
.map-index {display:block; width:100%; font:600 9px/1 var(--mono); letter-spacing:.17em; color:var(--teal);}
.stage-title .stc {font:500 10px var(--mono); color:#b5c9c3;}
.btn-back {background:#1b3335; border-color:#557873; color:var(--teal-hi); border-radius:2px; font:600 10px var(--sans); padding:9px 12px;}
#mapsvg {margin-top:4px;}
.map-caption {position:absolute; left:20px; right:20px; bottom:13px; z-index:4; display:flex; justify-content:space-between; gap:10px; color:#a4c2bb; font:500 9px var(--mono); letter-spacing:.09em; pointer-events:none;}
.st {stroke:#63817b; stroke-width:.85; fill:#283d40; transition:fill .16s,opacity .16s;}
.st.lit {fill:#31534f;}
.st:hover,.st:focus-visible {fill:#78b2a4; animation:none;}
.st.focus {fill:#537b70;}
.st.dimmed {opacity:.24;}
.heat1 {fill:#294a4b;}.heat2 {fill:#35665e;}.heat3 {fill:#458074;}.heat4 {fill:#70a28a;}.heat5 {fill:#a3c7a0;}
.inset-frame {fill:#162b2e; stroke:#58746b;}
.inset-label {fill:#b2cdc3;}
.dot circle {fill:#a3d0c3; opacity:.7;}
.dot.lit circle {fill:#d4ead7; opacity:1;}
.dot text {fill:#d2e5da; font-size:8px; font-weight:500;}
.flight {stroke:#e5d0a8; stroke-width:1.5; animation:none;}
.flight-stop {fill:#f6e5bf;}
.flight-crow {fill:#fff2da;}
.pin {animation:none; opacity:1;}
.pin circle.halo {stroke:#c1e6da; opacity:.48; animation:none;}
.pin circle.core {fill:#b5e0cf; stroke:#0b2524;}
.pin.active circle.core {fill:#f1d69d;}
.pin text {fill:#0b2524;}
.tip {background:#14272a; border-color:#689c8f; color:var(--bone); border-radius:2px; box-shadow:none;}
.tip .t2 {color:#bdd0c8;}
.rail {gap:12px;}
.card {background:#142328; border:1px solid #3a5552; border-radius:3px; box-shadow:none; padding:23px;}
.kicker {font:600 10px/1.4 var(--mono); letter-spacing:.15em; color:var(--teal); margin-bottom:10px;}
.card h3 {font:400 30px/1.1 var(--disp); margin-bottom:11px; color:var(--bone);}
.hint {font:400 13px/1.6 var(--sans); color:#bfcec7; margin-top:0;}
.rail-divider {border-top:1px solid #395552; margin:20px 0 16px;}
.state-directory {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; max-height:344px; overflow-y:auto; scrollbar-color:#55716b transparent; scrollbar-width:thin; padding-right:5px;}
.state-directory button {width:100%; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:6px; background:#1a3033; color:#e1e9df; border:1px solid #365653; border-radius:2px; padding:8px 9px; text-align:left; font:500 11px/1.2 var(--sans);}
.state-directory button:hover,.state-directory button:focus-visible {background:#365650; border-color:var(--teal);}
.state-directory button small {font:500 10px var(--mono); color:var(--teal);}
.state-directory button.muted {opacity:.42;}
#directory-count {float:right; color:#acbeb6; letter-spacing:0;}
.lg {font:400 12px/1.5 var(--sans); color:#b7c7c0; padding:5px 0;}
.rail-shortcuts {margin-top:12px;}
kbd {color:var(--bone); border-color:#69857a;}
.row {border-radius:0; border-top:1px solid #3a5552; padding:13px 5px; gap:9px;}
.row:hover {background:#203b3d; transform:none;}
.row.active {background:#274943;}
.row .rn {font:600 13px/1.4 var(--sans); color:var(--bone);}
.row .rc {color:#b3c6bd; font-size:10px; line-height:1.45;}
.sig svg.f {fill:#b1dfcf;}.sig svg.e {fill:#45605c;}
.sig .sl {color:#c4e0d4;}
.inten i {background:#3c5755;}.inten i.f {background:#a7d3c7; box-shadow:none;}.inten i.f.max {background:#d9a67c; box-shadow:none;}
.scrim {background:rgba(3,12,13,.72);}
.drawer {width:min(570px,100vw); background:#101e23; border-left:1px solid #618477; box-shadow:none; transition:transform .25s cubic-bezier(.23,1,.32,1);}
.dr-head {padding:25px 32px 0; border-bottom:1px solid #344f4c;}
.file-band {border-top:2px solid var(--teal); padding-top:10px; display:flex; justify-content:space-between; gap:14px; color:var(--teal); font:600 9px/1.4 var(--mono); letter-spacing:.12em; padding-right:42px; margin-bottom:26px;}
.dr-kick {color:#d1ba91; font:600 10px var(--mono); letter-spacing:.13em; margin-bottom:8px;}
.dr-name {font:400 clamp(30px,3vw,42px)/1.04 var(--disp); color:#f2ead8; padding-right:30px;}
.file-number {font:500 10px var(--mono); color:#a8bcb3; letter-spacing:.08em; margin-top:10px;}
.dr-meta {padding:16px 0 18px; margin:0; gap:18px; border-bottom:1px solid #35514d;}
.dr-close {top:22px; right:28px; width:36px; height:36px; border-radius:2px; background:#24403e; border-color:#6a8d7f; color:var(--bone);}
.dr-tabs {margin:0 -32px; padding:0 32px; border-bottom:0;}
.dr-tabs button {font:600 11px var(--sans); letter-spacing:.06em; color:#acbeb4; padding:17px 19px;}
.dr-tabs button.on {color:var(--teal-hi); border-bottom-color:var(--teal-hi);}
.dr-body {padding:27px 32px 36px; scrollbar-color:#54736a transparent;}
.dr-sum {font:400 16px/1.7 var(--sans); color:#e0e5d8; margin-bottom:23px;}
.case-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:#3b5752; border:1px solid #3b5752; margin:18px 0;}
.case-cell {background:#182d30; padding:14px 15px; min-height:76px; overflow-wrap:anywhere;}
.case-cell .label {display:block; color:#a8c2b5; text-transform:uppercase; font:600 9px var(--mono); letter-spacing:.12em; margin-bottom:8px;}
.case-cell .value {display:block; color:#f0eadb; font:500 12px/1.45 var(--sans);}
.case-cell .value.caution {color:#e8ba90;}
.access {border-radius:2px; background:#203331; border-color:#517468; color:#d5e0d3; line-height:1.6;}
.coord {border-radius:2px; background:#15272b; border-color:#46625b; color:#e2e8d9; line-height:1.8;}
.coord .cl {color:#b8c9bf;}
.btn {border-radius:2px; font:600 11px var(--sans); letter-spacing:.06em; border-color:#9bc9b5; color:#d0e9d8;}
.btn:hover {background:var(--teal); color:#10211f; box-shadow:none;}
.btn.solid {background:var(--teal); color:#0d201c;}.btn.solid:hover {background:#d5e9d2; box-shadow:none;}
.btn.quiet {color:#d1ddd1; border-color:#5a776d;}.btn.quiet:hover {background:#2a4542;}
.dr-body h4 {font:600 10px var(--mono); color:#a9d7c5;}
.dossier-p {font:400 14px/1.75 var(--sans); color:#d4ded3;}
.trust {font:400 13px/1.55 var(--sans); color:#e8c7a7; background:#342b27; border-radius:2px;}
.qs li {font:400 13px/1.65 var(--sans); color:#d4dfd1;}
.srcs a {font:500 12px var(--sans); color:#c4e2d3; overflow-wrap:anywhere;}
.dmeta {color:#aabeb2;}
.dock-pill {background:#1a3033; border-color:#6b9a87; box-shadow:none; border-radius:3px;}
.dock-open {background:var(--teal); border-radius:2px; color:#10211f; font-weight:600;}
.sheet {background:#122227; border-color:#5d8274; border-radius:4px 4px 0 0; box-shadow:none;}
.tt th {color:#aec7b9;}.tt td.mono {color:#d1dfd2;}
.bh h2 {font-size:40px;}.bh .ct,.near-note {color:#c0d0c5;}
.view-intro {font:400 15px/1.65 var(--sans); color:#c8d8cb; max-width:68ch; margin-bottom:23px;}
.nrow {border-color:#37514b;}.nrow:hover {background:#213836;}
.nst {color:#b4c9bd;}.demo-badge {color:#e8bc99; border-color:#b98769;}
.rform {background:#172c2e; border-color:#48675d; border-radius:3px;}
.rform label {color:#bfd6c6;}.rform input[type=text],.rform input[type=date],.rform textarea {color:#f0e9dc; border-color:#597568; background:#122125; border-radius:2px; font:400 14px var(--sans);}
.chip {border-radius:2px; color:#d3dfd3; border-color:#648173;}.chip.on {color:#10211f;}
.fr p,.about p {font-family:var(--sans); color:#d1ded1;}.about p {max-width:76ch;}
.sigrow {border-radius:3px; border-color:#49685d; background:#162a2e;}.sigrow .sd {font-family:var(--sans); color:#d2dfd1;}
.foot {border-color:#3e5852; color:#acbfb2; margin-top:55px; font-size:10px;}
.toast {background:#1c3332; border-color:#a5ccba; box-shadow:none; border-radius:2px;}
@media (max-width:1180px){.topbar-in {gap:14px;padding:0 24px;}.topnav {margin-left:4px;}.topnav button {padding:14px 9px;}.workspace {grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);}.shell {padding-left:24px;padding-right:24px;}}
@media (max-width:980px){.workspace {grid-template-columns:1fr;}.rail {display:grid;grid-template-columns:1fr 1fr;align-items:start;}.rail #rail-sites {grid-column:1/-1;}.state-directory {max-height:235px;}.stage {min-height:0;}.topbar-in {height:auto;min-height:72px;flex-wrap:wrap;padding-top:11px;padding-bottom:11px;}.searchwrap {flex:1 1 235px;}.hero {padding-top:38px;}.stats {min-width:0;}}
@media (max-width:720px){.topbar-in {padding:12px 16px;gap:8px 14px;}.brand {width:100%;}.brand .b1 {font-size:18px;}.topnav {order:3;margin:1px 0 0;width:100%;overflow-x:auto;}.topnav button {padding:12px 10px;white-space:nowrap;}.searchwrap {order:2;flex:1 1 100%;}.searchwrap input {width:100%;}.shell {padding:0 16px 130px;}.hero {padding:30px 0 25px;display:block;}.hero h1 {font-size:clamp(42px,11vw,65px);}.hero .sub {font-size:14px;}.stats {display:flex;margin-top:24px;width:100%;}.stat {min-width:0;flex:1;padding:12px 10px;}.stat .n {font-size:27px;}.stat .l {font-size:8px;letter-spacing:.06em;}.fbar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.fbar select,.tgl {min-width:0;width:100%;font-size:11px;padding:9px;}.fnote {display:block;grid-column:1/-1;margin:2px 0 0;}.stage-head {padding:12px 14px;min-height:65px;}.stage-title {font-size:20px;gap:8px;}.stage-title .stc {font-size:9px;}.map-caption {left:12px;right:12px;bottom:9px;font-size:7px;}.rail {display:flex;}.card {padding:18px;}.state-directory {grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px;}.drawer {width:100vw;}.dr-head {padding:18px 20px 0;}.file-band {margin-bottom:20px;}.dr-close {top:15px;right:17px;}.dr-tabs {margin:0 -20px;padding:0 20px;}.dr-tabs button {padding:14px 12px;font-size:10px;}.dr-body {padding:20px 20px 36px;}.case-cell {padding:11px;}.dock {width:calc(100% - 20px);bottom:10px;}.dock-pill {width:100%;justify-content:space-between;padding:10px;gap:8px;}.dock-pill .dc {font-size:10px;white-space:normal;}.sheet {width:100vw;max-height:86vh;}.sheet-body {overflow-x:auto;}.tt {min-width:640px;}.sheet-acts {padding:12px 16px 18px;}.sheet-acts .btn {font-size:10px;padding:8px 10px;}.sigrow {grid-template-columns:1fr auto;}.sigrow .sd {grid-column:1/-1;}.foot {margin-top:36px;}}
@media (max-width:390px){.brand .b1 {font-size:16px;}.topnav button {font-size:10px;padding:11px 7px;}.stat .l {font-size:7px;}.state-directory button {font-size:10px;}}
@media (prefers-reduced-motion:reduce){html {scroll-behavior:auto;}.drawer,.sheet,.dock,.scrim {transition:none !important;}}
.pin-leader {stroke:#cbe4cd;stroke-width:.8;stroke-dasharray:2 1.2;opacity:.8;pointer-events:none;}
.pin .hit {cursor:pointer;}
.order-controls {white-space:nowrap;}
.order-controls button {border:1px solid #668378;border-radius:2px;width:25px;height:26px;margin-right:3px;color:#d7e8d7;}
.order-controls button:hover:not(:disabled) {background:#35554c;color:#fff;}
.order-controls button:disabled {opacity:.3;cursor:not-allowed;}
#mapsvg.state-zoom {height:570px; width:100%; object-fit:fill;}
#g-dots .dot.hidden {visibility:hidden;}
@media (max-width:720px){#mapsvg.state-zoom {height:420px;}}
.pin-origin {fill:#e8d6a7;stroke:#172a2b;stroke-width:.45;pointer-events:none;}
.empty,.near-note {font-family:var(--sans);font-style:normal;color:#c6d5c8;}
