/* Obsidian & Brass: shared river atlas palette. */
:root {
  color-scheme: dark;
  --paper: #111314; --ink: #f2ede2; --muted: #b5b8ae; --line: #3b413b;
  --green: #cdb17b; --rust: #cc947d; --gold: #cdb17b; --teal: #b5b8ae;
  --panel: #1c2020f5; --panel-soft: #282c2b;
}
body { background:#1c2020; }
.masthead { background:#1c2020; border-color:#3b413b; }
.brand { color:#cdb17b; }
.brand svg { color:#b5b8ae; }
.atlas-label { color:#b5b8ae; }
.edition { color:#b5b8ae; }
.small-river, .intro .eyebrow { color:#b5b8ae; }
.text-button { color:#b5b8ae; }
.sidebar { background:linear-gradient(155deg, #1c2020, #1c2020 58%); border-color:#3b413b; }
.intro { position:relative; }
.intro:before { content:''; position:absolute; left:27px; top:0; width:52px; height:2px; background:linear-gradient(90deg, #1c2020, #cdb17b); }
.live-dot { background:#cdb17b; box-shadow:0 0 10px #cdb17b55; }
.intro h1 { color:#f2ede2; }
.dek { color:#b5b8ae; }
.river-facts strong { color:#f2ede2; }
.river-facts small { color:#b5b8ae; }
.river-facts > div + div { border-color:var(--line); }
.browse-heading > span, .list-caption { color:#b5b8ae; }
.search { background:#1c2020; border-color:#3b413b; }
.search svg, .search input::placeholder { color:#b5b8ae; stroke:#b5b8ae; }
.search kbd { color:#b5b8ae; border-color:#3b413b; }
.filters button { color:#b5b8ae; }
.filters button:hover { background:#3b413b; }
.filters button.active, .section-control button.active, .base-control button.active,
.rapid-view-tabs button.active { background:#1c2020; color:#111314; font-weight:700; }
.river-log { scrollbar-color:#3b413b transparent; }
.log-row { border-bottom-color:#3b413b; }
.log-row:hover { background:#1c2020; }
.log-row.active { background:#3b413b; border-color:#3b413b; }
.log-row.active:before { background:#1c2020; }
.log-mile { color:#cdb17b; }
.log-mile small { color:#b5b8ae; }
.log-name { color:#f2ede2; }
.log-type, .empty-list { color:#b5b8ae; }
.grade-chip { background:#3b413b; color:#cdb17b; }
.grade-chip.iv { background:#3b413b; color:#cdb17b; }
.grade-chip.access { background:#3b413b; color:#b5b8ae; }
.grade-chip.landmark { background:#3b413b; color:#b5b8ae; }
.sidebar-footer, .sidebar-footer button { color:#b5b8ae; }
.tiny-marker { border-color:#3b413b; }
.map-shell, #map { background:#3b413b; }
.map-shell:after { box-shadow:inset 0 0 100px #0000003d; }
.map-heading { padding:17px 20px 18px; top:20px; left:24px; border:1px solid #3b413b; border-radius:8px; background:linear-gradient(120deg, #1c2020ed, #1c2020cc); box-shadow:0 5px 25px #00000030; backdrop-filter:blur(12px); color:#cdb17b; }
.map-heading .eyebrow { color:#b5b8ae; }
.map-heading h2 { text-shadow:none; margin-top:7px; margin-bottom:11px; }
.map-heading h2 span, .map-shell.satellite .map-heading h2 span { color:#b5b8ae; }
.map-heading > div:last-child, .map-shell.satellite .map-heading > div:last-child { color:#b5b8ae; }
.heading-line, .map-shell.satellite .heading-line { background:#1c2020; }
.section-control, .base-control, .map-tools, .map-legend { background:#1c2020eb; border-color:#3b413b; box-shadow:0 4px 18px #00000040; backdrop-filter:blur(12px); }
.section-control { left:24px; top:196px; }
.section-control button, .base-control button { color:#f2ede2; }
.section-control button span { opacity:.85; }
.section-control button:hover, .base-control button:hover, .map-tools button:hover { background:#3b413b; }
.section-control button.active:hover, .base-control button.active:hover { background:#1c2020; }
.map-tools { top:24px; }
.map-tools button { color:#f2ede2; }
.map-tools span { background:#3b413b; }
.base-control { top:168px; }
.map-legend { color:#f2ede2; gap:10px 13px; max-width:275px; }
.legend-route { height:3px; background:#1c2020; box-shadow:0 0 4px #b5b8ae55; }
.legend-rapid { background:#cdb17b; }
.legend-access { background:#1c2020; }
.legend-landmark { width:7px; height:7px; background:#1c2020; transform:rotate(45deg); }
.map-legend button { color:#b5b8ae; border-color:#3b413b; }
.elevation-key { display:flex; align-items:center; width:100%; gap:7px; padding-top:9px; border-top:1px solid #3b413b; font-size:8px; color:#b5b8ae; }
.elevation-key i { height:5px; flex:1; border-radius:3px; background:linear-gradient(90deg, #3b413b, #3b413b, #cdb17b, #1c2020); }
.map-shell:not(.relief) .elevation-key { display:none; }
.detail-card { background:#1c2020f2; border-color:#3b413b; box-shadow:0 12px 36px #0000005c; }
.card-kicker { color:#b5b8ae; }
.detail-close { color:#b5b8ae; }
.card-description { color:#b5b8ae; }
.large-grade { color:#cdb17b; border-color:#3b413b; }
.card-meta { color:#b5b8ae; }
.card-meta span:first-child { color:#f2ede2; background:#3b413b; }
.card-bottom { border-color:#3b413b; }
.card-bottom button, .card-bottom .locate-button { color:#b5b8ae; }
.card-bottom button.open-rapid-button { color:#cdb17b; }
.browse-river-button { background:#3b413b; border-color:#3b413b; color:#f2ede2; }
.intro-actions .browse-river-button:first-child { background:#1c2020; border-color:#3b413b; color:#111314; font-weight:700; }
.next-stop { color:#b5b8ae; }
.map-footnote, .map-shell.satellite .map-footnote { text-shadow:none; color:#f2ede2; background:#1c2020e8; border:1px solid #3b413b; border-radius:4px; padding:6px 9px; bottom:24px; left:24px; }
.map-footnote span, .map-shell.satellite .map-footnote span { color:#b5b8ae; }
.tile-message { background:#1c2020f2; color:#f2ede2; border:1px solid #3b413b; top:252px; }
.leaflet-control-attribution { background:#1c2020e6 !important; color:#b5b8ae !important; }
.leaflet-control-attribution a { color:#b5b8ae !important; }
.leaflet-control-scale-line { background:#1c2020d9 !important; color:#f2ede2 !important; border-color:#3b413b !important; }
.marker-shape { background:#cdb17b; border-color:#cdb17b; box-shadow:0 1px 5px #000000aa; }
.marker-shape.iv { background:#cdb17b; }
.marker-shape svg { stroke:#cdb17b; }
.marker-shape.iv svg { stroke:#cdb17b; }
.marker-shape.access { background:#1c2020; border-color:#3b413b; }
.marker-shape.access svg { stroke:#b5b8ae; }
.marker-shape.landmark { background:#1c2020; border-color:#3b413b; }
.marker-shape.landmark svg { stroke:#b5b8ae; }
.rapid-marker.is-active .marker-shape { box-shadow:0 0 0 5px #b5b8ae3d, 0 0 0 6px #b5b8ae66, 0 3px 9px #00000080; }
.river-tooltip { background:#1c2020f2 !important; color:#cdb17b !important; border-color:#3b413b !important; box-shadow:0 3px 12px #00000050 !important; }
.river-tooltip b { opacity:1; color:#b5b8ae; }
.river-tooltip:before { border-top-color:#3b413b !important; }
.river-tooltip.leaflet-tooltip-bottom:before { border-top-color:transparent !important; border-bottom-color:#3b413b !important; }
.river-tooltip.leaflet-tooltip-left:before { border-top-color:transparent !important; border-left-color:#3b413b !important; }
.river-tooltip.leaflet-tooltip-right:before { border-top-color:transparent !important; border-right-color:#3b413b !important; }
.mile-marker span { background:#1c2020ed; color:#f2ede2; border-color:#3b413b; box-shadow:0 0 0 2px #00000055; }
.mile-marker.is-active span, .mile-marker:hover span { color:#111314; background:#1c2020; }
.river-cluster { background:#1c2020f2; color:#cdb17b; border-color:#3b413b; box-shadow:0 0 0 4px #00000038, 0 3px 10px #0000005c; }
.river-cluster:hover { background:#1c2020; color:#111314; }
.map-shell .leaflet-pane.leaflet-tile-pane { filter:saturate(1.1) contrast(1.03); }
.map-shell.satellite .leaflet-pane.leaflet-tile-pane { filter:saturate(1.12); }
dialog { background:#1c2020; color:#f2ede2; border-color:#3b413b; box-shadow:0 25px 100px #00000099; }
dialog::backdrop { background:#111314a6; }
dialog p { color:#b5b8ae; }
dialog strong { color:#f2ede2; }
.close-dialog { color:#b5b8ae; }
.source-links li { border-color:#3b413b; }
.source-links a { color:#b5b8ae; }
dialog p.notes-small { color:#b5b8ae; }
.rapid-topbar { background:#1c2020; }
.rapid-topbar-name > span { color:#b5b8ae; }
.rapid-close { color:#b5b8ae; border-color:#3b413b; }
.rapid-sidebar { background:#1c2020; border-color:#3b413b; scrollbar-color:#3b413b transparent; }
.rapid-profile .eyebrow, .rapid-features .rapid-tap-hint { color:#b5b8ae; }
.rapid-title-row h2 { color:#cdb17b; }
.rapid-mile { color:#cdb17b; }
.rapid-profile p, .rapid-feature-description p { color:#b5b8ae; }
.rapid-feature-button { border-bottom-color:#3b413b; }
.rapid-feature-button.active { background:#3b413b; border-color:#3b413b; }
.rapid-feature-number { color:#b5b8ae; border-color:#3b413b; }
.rapid-feature-button.active .rapid-feature-number { background:#1c2020; color:#111314; border-color:#3b413b; }
.rapid-feature-text strong { color:#f2ede2; }
.rapid-feature-text small, .rapid-feature-description small { color:#b5b8ae; }
.rapid-image-note { background:#1c2020; }
.rapid-image-note .eyebrow, .rapid-image-note p, .rapid-image-note p.rapid-accuracy { color:#b5b8ae; }
.rapid-image-note strong { color:#f2ede2; }
.rapid-image-note a { color:#b5b8ae; }
.rapid-other { background:#3b413b; color:#f2ede2; border-color:#3b413b; }
.rapid-view-tabs, .rapid-labels, .rapid-map-tools { background:#1c2020f2; border-color:#3b413b; }
.rapid-view-tabs button { color:#b5b8ae; }
.rapid-labels, .rapid-map-tools button { color:#f2ede2; }
.rapid-map-tools button + button { border-color:#3b413b; }
.rapid-map-tools button:hover { background:#3b413b; }
.rapid-map-stage[data-view=atlas] .rapid-imagery-date { background:#1c2020ea; color:#f2ede2; border-color:#3b413b; }
.rapid-map-stage[data-view=atlas] .leaflet-control-attribution { color:#b5b8ae !important; }
.rapid-location-tip { background:#1c2020f0 !important; color:#f2ede2 !important; border-color:#3b413b !important; }
.rapid-callout > span { background:#1c2020; color:#b5b8ae; border-color:#3b413b; }
.rapid-callout.is-active > span { background:#cdb17b; color:#cdb17b; border-color:#cdb17b; }
@media(min-width:1450px) { .map-heading { left:32px; top:26px; } .section-control { left:32px; top:212px; } }
@media(max-width:1150px) and (min-width:761px) { .map-heading { left:20px; } .section-control { left:20px; top:190px; } .base-control { top:252px; right:20px; } .map-legend { bottom:68px; } }
@media(max-width:760px) {
  .masthead { background:#1c2020; }
  .intro:before { left:22px; }
  .map-heading { left:14px; top:14px; padding:13px 14px; max-width:calc(100% - 76px); }
  .map-heading h2 { font-size:28px; margin:7px 0 10px; }
  .map-heading .eyebrow { font-size:6px; letter-spacing:1.5px; }
  .map-heading h2 span { font-size:7px; letter-spacing:1.2px; }
  .map-heading > div:last-child { font-size:6px; }
  .map-tools { top:14px; right:14px; }
  .section-control { top:155px; left:14px; max-width:calc(100% - 28px); }
  .section-control button { padding:8px 10px; }
  .base-control { top:211px; left:14px; right:auto; }
  .base-control button { padding:8px 12px; }
  .map-legend { right:14px; bottom:29px; max-width:146px; font-size:8px; }
  .map-legend > span:nth-child(4), .elevation-key { display:none; }
  .map-footnote, .map-shell.satellite .map-footnote { padding:4px 6px; left:14px; bottom:10px; font-size:6px; }
  .map-footnote span { display:none; }
  .tile-message { top:254px; }
  .river-tooltip b { display:none; }
  .rapid-title-row h2 { font-size:33px; }
}
@media(max-width:380px) { .map-heading h2 { font-size:26px; } .map-heading > div:last-child { gap:6px; } .section-control button { padding:8px; } }

/* Palette-only overrides; geographic data and map interactions remain shared. */
body,.masthead,.sidebar,.map-shell,.map-toolbar,.map-footer,.rapid-topbar,
.rapid-map-stage,.rapid-map-footer{background:#111314;color:#f2ede2}
.sidebar{background:linear-gradient(155deg,#1c2020,#111314 58%)}
.brand,.intro h1,.river-facts strong,.log-name,.rapid-title-row h2{color:#f2ede2}
.small-river,.brand svg,.intro .eyebrow,.map-heading .eyebrow,.map-footnote .relief-detail-status{color:#cdb17b}
.filters button.active,.section-control button.active,.base-control button.active,
.rapid-view-tabs button.active,.intro-actions .browse-river-button:first-child,
.rapid-feature-button.active .rapid-feature-number{background:#cdb17b;color:#111314;border-color:#cdb17b}
.filters button.active:hover,.section-control button.active:hover,.base-control button.active:hover{background:#dec595;color:#111314}
.log-row.active,.rapid-feature-button.active{background:#cdb17b1c;border-color:#cdb17b}
.log-row.active:before,.live-dot,.legend-route,.legend-rapid{background:#cdb17b}
.legend-access{background:#f2ede2}.legend-landmark{background:#b5b8ae}
.grade-chip{background:#3c3527;color:#e5c894}
.grade-chip.iv{background:#3d2d2a;color:#efb19b}
.grade-chip.access{background:#2b302d;color:#f2ede2}
.grade-chip.landmark{background:#303331;color:#b5b8ae}
.marker-shape{background:#cdb17b;border-color:#f2ede2}
.marker-shape svg,.marker-shape.iv svg,.marker-shape.access svg,.marker-shape.landmark svg{stroke:#111314}
.marker-shape.iv{background:#cc947d}.marker-shape.access{background:#f2ede2;border-color:#f2ede2}
.marker-shape.landmark{background:#b5b8ae;border-color:#f2ede2}
.mile-marker.is-active span,.mile-marker:hover span,.river-cluster:hover{background:#cdb17b;color:#111314}
.rapid-callout>span{background:#f2ede2;color:#111314;border-color:#cdb17b}
.rapid-callout.is-active>span{background:#cdb17b;color:#111314;border-color:#f2ede2}
.legend-route{box-shadow:0 0 4px #cdb17b55}
.elevation-key i{background:linear-gradient(90deg,#3b413b,#7c8178,#b5b8ae,#f2ede2)}
.map-shell path[stroke="#123e49"]{stroke:#303330}
.map-shell path[stroke="#55e8dc"]{stroke:#cdb17b}
.map-shell .route-flow{stroke:#f2ede2}
.map-shell.relief .leaflet-pane.leaflet-tile-pane,
.map-shell.relief .leaflet-relief-pane,.map-shell.relief .leaflet-relief-detail-pane,
.map-shell.relief .leaflet-fallback-pane{filter:grayscale(.86) sepia(.12) saturate(.45) brightness(.9) contrast(1.08)}
.map-shell .leaflet-tooltip,.river-tooltip{background:#1c2020f2!important;color:#f2ede2!important;border-color:#3b413b!important}
.tile-message,dialog,.detail-card,.rapid-sidebar{background:#1c2020;color:#f2ede2;border-color:#3b413b}
.source-links a,.map-legend button,.card-bottom button,.card-bottom .locate-button,
.card-bottom button.open-rapid-button,.rapid-image-note a{color:#cdb17b}

/* The earlier Green River maps use the original route stroke values. */
.map-shell path[stroke="#fff9e9"]{stroke:#303330}
.map-shell path[stroke="#307e75"]{stroke:#cdb17b}
.map-shell:not(.satellite) .leaflet-pane.leaflet-tile-pane{filter:grayscale(.86) sepia(.12) saturate(.45) brightness(.9) contrast(1.08)}
