/* Observer and atlas: spatial hierarchy without changing saved world state. */
.observer-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:15px 0 5px}
.observer-heading h2{font:400 25px/1.2 Georgia,serif;letter-spacing:-.02em;margin:7px 0 0;color:#e4e5d8}
.observer-note{font:11px/1.5 system-ui,sans-serif;color:#94a08d;max-width:180px;text-align:right}
.camera-frame{aspect-ratio:1.85;min-height:350px;border-radius:12px;background:#344548}
.camera-frame:after{background:linear-gradient(180deg,#06100c40,transparent 25%,transparent 75%,#06100c60)}
.camera-top,.camera-bottom{background:none;left:18px;right:18px}
.cam-label{border:0;background:#101a16b0;border-radius:5px;padding:7px 9px;font-size:10px;letter-spacing:.08em}
.record-dot{width:5px;height:5px;background:#c5ceb3;margin-right:6px}
.cam-info{font-size:8px;letter-spacing:.045em;text-align:right;max-width:44%;color:#d0d7c6;line-height:1.5}
.coord-text{font-size:10px;background:#101a16bd;padding:7px 10px}
.camera-scene-note{font-size:8px;letter-spacing:.1em;color:#c2cabb}
.observer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 11px;border-radius:8px;background:#171d18}
.observer-camera-controls{display:flex;gap:3px;padding:3px;background:#101611;border-radius:6px}
.observer-camera-controls button{min-height:32px;border:0;border-radius:4px;background:transparent;color:#9fa995;padding:6px 10px;font:11px system-ui,sans-serif}
.observer-camera-controls button[aria-pressed=true]{background:#34412f;color:#e4e9d6}
.observer-camera-controls button:disabled{cursor:default}
.world-view-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.world-view-controls .camera-link{font-size:9px;padding:7px 8px;border-color:#4d5b45;background:transparent;letter-spacing:.03em;text-shadow:none;white-space:nowrap}
.observer-plan{position:absolute;inset:0;background:#34483d;overflow:hidden}
.observer-plan[hidden]{display:none}
.observer-plan svg{width:100%;height:100%;display:block}
.world-section{margin-top:30px;padding:0;overflow:hidden;background:#141b17;border:1px solid #354233}
.atlas-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px 24px;border-bottom:1px solid #303e30}
.atlas-heading h2{font:400 30px/1.2 Georgia,serif;color:#e5e7da;margin:8px 0 9px;letter-spacing:-.02em}
.atlas-heading p{font:13px/1.6 system-ui,sans-serif;color:#a4af9c;margin:0;max-width:490px}
.world-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:0}
.world-visual{overflow:hidden;min-width:0;background:#263b30;padding:0 18px 15px}
.atlas-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 4px 8px;flex-wrap:wrap}
.atlas-plan-label{font-size:9px;letter-spacing:.13em;color:#b0b9a0}
.atlas-layer-controls{display:flex;gap:15px;align-items:center;font:11px system-ui,sans-serif;color:#c6cdb6}
.atlas-layer-controls label{display:flex;gap:4px;align-items:center;cursor:pointer;min-height:28px}
.atlas-layer-controls input{accent-color:#abb98d}
#world-svg{width:100%;min-width:0;max-height:none;aspect-ratio:450/405;border:0;border-radius:6px;box-shadow:none;background:#3b5141;touch-action:pan-y}
.atlas-place-label,.map-site .atlas-place-label{font:500 12px system-ui,sans-serif;letter-spacing:.1px;fill:#eeeedd;paint-order:stroke;stroke:#34483d;stroke-width:3.5;stroke-linejoin:round}
.map-site .atlas-hit{fill:transparent;stroke:none;stroke-width:0}
.map-site .atlas-node{fill:#2b4034;stroke:#d2d7be;stroke-width:1.4}
.map-site .atlas-selection{display:none;fill:none;stroke:#dbc28e;stroke-width:1.5}
.map-site.is-inspected .atlas-selection,.map-site:focus .atlas-selection{display:block}
.map-site:focus .atlas-node{stroke:#fff;stroke-width:2}
.map-site.is-inspected .atlas-place-label{fill:#f4dfb3}
.atlas-current-ring{fill:#aee0c426;stroke:#b9e7c7;stroke-width:1.5}
.atlas-current-dot{fill:#e7f6d9;stroke:#213d2c;stroke-width:1.4}
.atlas-history{stroke:#d9bd82;stroke-width:3.5;stroke-dasharray:3 5;stroke-linecap:round;stroke-linejoin:round}
.atlas-replay-marker circle{fill:#e3b860;stroke:#223c2f;stroke-width:2}
.atlas-water-label{fill:#c4d6cf;opacity:.8;font:italic 13px Georgia,serif;letter-spacing:2px}
.atlas-orientation text,.atlas-scale text{font:9px system-ui,sans-serif;fill:#d1d7bf}
.hide-trails .atlas-trails,.hide-vegetation .atlas-vegetation{display:none}
.atlas-legend{display:flex;gap:10px 20px;flex-wrap:wrap;padding:15px 4px 2px;color:#d1d7c5;font:10px/1.4 system-ui,sans-serif}
.atlas-legend span{display:flex;align-items:center;gap:7px}
.atlas-legend i{display:inline-block;width:15px;flex:0 0 15px}
.legend-current:before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#e7f6d9;border:2px solid #a5c7a5}
.legend-inspected:before{content:'';display:block;width:9px;height:9px;border:1.5px solid #dbc28e;border-radius:50%}
.legend-trail{height:2px;background:#c3b68e}
.legend-history{height:0;border-top:2px dotted #d9bd82}
.map-caption{font:11px/1.6 system-ui,sans-serif;color:#a8b69d;margin:12px 4px 0;max-width:650px}
.world-info{padding:24px 22px;border:0;border-left:1px solid #3b4935;border-radius:0;background:#182219}
.recorded-location-card{padding-bottom:18px;border-bottom:1px solid #35422f}
.world-info h3{font:400 25px/1.2 Georgia,serif;margin:9px 0;color:#e5e8d8}
.world-info .quiet-meta{font:11px/1.6 system-ui,sans-serif;color:#a5b096}
.recorded-location-card #movement-description{font:12px/1.7 system-ui,sans-serif;color:#b5bea8;margin:10px 0 0}
.location-picker{margin:23px 0}
.location-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.location-button{border:1px solid #43523a;border-radius:5px;background:#1b281d;color:#c9d1bb;min-height:38px;padding:7px 8px;font:12px system-ui,sans-serif;text-align:left}
.location-button:hover{border-color:#84926d}
.location-button[aria-pressed=true]{border-color:#bda87d;color:#f1ddba;background:#38392a}
.location-inspector{border-top:1px solid #35422f;border-bottom:0;margin:0;padding:22px 0 0;min-height:0}
.location-description{font:12px/1.75 system-ui,sans-serif;color:#b7c1a9;margin:12px 0}
.location-coordinates{font-size:10px;letter-spacing:.02em;color:#92a283;margin:15px 0}
.neighbor-links{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0 15px}
.neighbor-link{border:1px solid #3e4d36;border-radius:4px;background:transparent;color:#c5cfb6;font:11px system-ui,sans-serif;padding:7px;min-height:32px}
.movement-panel{border-top:1px solid #35422f;padding:23px 28px 25px}
.movement-panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}
.movement-panel h3{font:400 22px Georgia,serif;margin:8px 0}
.movement-panel .quiet-meta{font:12px/1.6 system-ui,sans-serif;color:#a5b096;max-width:650px;margin:7px 0}
.movement-panel .secondary-button{width:auto;min-width:185px;font:12px system-ui,sans-serif;background:#263321;border-color:#6d7f56}
.recorded-movements{list-style:none;margin:18px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}
.recorded-move{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid #34412f;font:12px system-ui,sans-serif;color:#c6d0b8}
.move-record{color:#9caa86;font-size:10px;text-align:right}
.movement-empty{grid-column:1/-1;padding:16px 18px;background:#1b251b;border:1px solid #34412f;border-radius:5px;color:#b2bea2;font:12px/1.6 system-ui,sans-serif}
@media(max-width:1200px){.main-top{grid-template-columns:minmax(0,1fr) 245px}.world-grid{grid-template-columns:minmax(0,1fr) 260px}.world-info{padding:20px 17px}.observer-heading{align-items:start}.observer-note{display:none}}
@media(max-width:960px){.main-top{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.world-grid{grid-template-columns:1fr}.world-info{border-left:0;border-top:1px solid #3b4935;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}.recorded-location-card{border:0;grid-column:1}.location-picker{margin:0;grid-column:1}.location-inspector{border:0;padding:0;grid-column:2;grid-row:1/3}.observer-heading{margin-top:9px}.atlas-heading{padding:23px}.camera-frame{min-height:340px}}
@media(max-width:600px){.world-section{margin-top:20px}.world-visual{padding:0 9px 14px}.atlas-heading{display:block;padding:21px 18px}.atlas-heading h2{font-size:27px}.atlas-heading p{font-size:12px}.atlas-heading>.inline-link{margin-top:13px}.atlas-toolbar{padding:11px 5px 7px;gap:5px}.atlas-plan-label{font-size:8px}.atlas-layer-controls{gap:10px;font-size:10px}#world-svg{min-width:0;aspect-ratio:450/405}.world-info{display:block;padding:23px 20px}.recorded-location-card{padding:0 0 18px;border-bottom:1px solid #35422f}.location-picker{margin:20px 0}.location-button{min-height:44px}.location-inspector{border-top:1px solid #35422f;padding-top:20px}.atlas-legend{gap:12px;display:grid;grid-template-columns:1fr 1fr;font-size:9px}.map-caption{font-size:10px}.movement-panel{padding:23px 20px}.movement-panel-heading{display:block}.movement-panel .secondary-button{margin-top:12px;min-height:42px}.recorded-movements{grid-template-columns:1fr}.observer-heading h2{font-size:23px}.camera-frame{min-height:310px;aspect-ratio:1.15}.camera-top,.camera-bottom{left:10px;right:10px}.camera-scene-note{display:none}.observer-toolbar{gap:9px;padding:9px}.observer-camera-controls{flex:1}.observer-camera-controls button{flex:1;font-size:11px;min-height:36px}.world-view-controls{width:100%;justify-content:space-between}.world-view-controls .camera-link{font-size:9px;min-height:34px}.right-rail{grid-template-columns:1fr}.right-rail .side-card:last-child{display:none}}

.atlas-zoom-controls{display:flex;gap:4px;flex-wrap:wrap}.atlas-zoom-controls button{border:1px solid #6a7b5e;background:transparent;border-radius:4px;color:#d4dcc6;min-height:30px;padding:5px 8px;font:10px system-ui,sans-serif}.atlas-zoom-controls button[aria-pressed=true]{background:#536247;border-color:#8a9a75;color:#eff1dd}
@media(max-width:600px){.atlas-zoom-controls{order:3;width:100%;margin:2px 0 5px}.atlas-zoom-controls button{flex:1;min-height:38px}.atlas-toolbar{padding-top:14px}.atlas-layer-controls{margin-left:auto}}

.atlas-trails,.atlas-history,.atlas-node,.atlas-selection,.atlas-current-ring{vector-effect:non-scaling-stroke}
.is-zoomed .map-site .atlas-place-label{font-size:6px;stroke-width:1.8px}
.is-zoomed .atlas-water-label{font-size:6px;letter-spacing:1px}
.is-zoomed .atlas-node{r:3px}.is-zoomed .atlas-selection{r:5.5px}
.is-zoomed .atlas-current-ring{r:4.5px}.is-zoomed .atlas-current-dot{r:2px}
.is-zoomed .atlas-replay-marker circle{r:3px}

/* Readability refinement: needle crowns, shaded relief, accessible mobile type. */
.atlas-contours .atlas-contour-major{stroke:#c5c4a0;stroke-width:1.1;opacity:.95}
.atlas-contours .atlas-contour-minor{stroke-width:.55;opacity:.6}
.atlas-elevation-label{font:9px system-ui,sans-serif;fill:#c5c9aa;paint-order:stroke;stroke:#3d5340;stroke-width:2.5;letter-spacing:.25px}
.is-zoomed .atlas-elevation-label{font-size:4.5px;stroke-width:1.4px}
.contour-key{color:#aab79b}
@media(max-width:600px){
 .map-site .atlas-place-label{font-size:19px;font-weight:600;stroke-width:4.5px}
 .is-zoomed .map-site .atlas-place-label{font-size:8.5px;stroke-width:2px}
 .atlas-legend{font-size:10px;gap:12px 8px}
}
