/* A clear outdoor journal: generous images, bold headings and warm red accents. */
:root{color-scheme:light;--bg:#fafaf7;--surface:#fff;--surface-soft:#f0f1ec;--text:#242f2c;--muted:#596762;--line:#dce1db;--accent:#b82e30;--accent-hover:#982125;--mint:#b82e30;--accent-ink:#fff;--warning:#7c4b05;--photo-bg:#e2e8e0;font-family:'DM Sans',sans-serif}
:root[data-theme=dark]{color-scheme:dark;--bg:#121b19;--surface:#1c2824;--surface-soft:#25322d;--text:#f5f5ed;--muted:#b8c5bc;--line:#3c4b42;--accent:#ed7973;--accent-hover:#ff9690;--mint:#ed7973;--accent-ink:#221b18;--warning:#f2cb88;--photo-bg:#263b33}
body{background:var(--bg);color:var(--text);overflow-anchor:none}main{max-width:1480px;padding:20px 3% 0}.topbar{height:78px;padding:0 3%;background:var(--surface);border-color:var(--line)}.brand{font-weight:800;letter-spacing:-1.4px;font-size:28px}.brand svg{stroke:var(--accent)}.brand .version{border-color:var(--line);color:var(--muted);font-size:10px;letter-spacing:.6px}.region{font-size:12px;color:var(--muted);letter-spacing:1.3px}.header-actions{display:flex;gap:12px;align-items:center}.theme-button{min-height:44px;padding:8px 13px;border-radius:24px;background:var(--surface-soft);color:var(--text);font-size:14px;white-space:nowrap}.icon-button{border-color:var(--line);color:var(--text)}
h1,dialog h2{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-1px}h1{font-size:26px}.eyebrow{font-size:12px;color:var(--accent);letter-spacing:1.2px}.subtle,.distance-note{color:var(--muted)}
.viewer{border:0;border-radius:12px;height:clamp(460px,63svh,760px);min-height:460px;color:#fff;background:#34493e}.viewer .view-top{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.viewer .location-badge{color:#fff;background:#15261fd9;border-color:#ffffff26}.location-badge div>span{color:#e1e8e1}.location-icon{color:#edf4e8}.viewer .view-switch{background:#15261fe8}.view-switch .active{background:#f9faf5;color:#202e25}.view-switch button{color:#e3ece3;font-size:14px}.region-filter{grid-column:1/-1;display:flex;gap:3px;width:fit-content;max-width:100%;padding:4px;border-radius:24px;background:#17261fe8;border:1px solid #ffffff28}.region-filter button{padding:9px 15px;min-height:40px;border-radius:20px;background:transparent;color:#eff2ec;font-size:14px;white-space:nowrap}.region-filter button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);font-weight:700}.view-actions .small-button{font-size:14px;min-height:44px;background:#17261fee;color:#fff;border-color:#ffffff38}.view-actions .small-button span{color:inherit}.view-actions{display:flex;flex-wrap:wrap;justify-content:flex-end}.view-actions #options-btn{min-width:85px}.view-hint{color:#fff}.view-hint>span{color:#fff}.viewer .notice{background:#14271ff5;border-color:#abc5ac;color:#fff}.peak-label{background:#fffffff2;color:#203028;border-color:#fff;box-shadow:0 3px 12px #0003}.peak-label small{color:#486052}.peak-label.selected{background:#fcddd5;color:#34211a;border-color:#fcddd5}.peak-label.selected small{color:#59382b}.viewer .loading{background:#172b23dc;color:#fff}.spinner{border-color:#ffffff44;border-top-color:#fff}
/* Sensor and empty-state content cannot change the height of the page. */
.status-rail{height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;border-bottom:1px solid var(--line)}.status-rail p{margin:0;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted)}.status-rail p[data-level=blocked],.status-rail p[data-level=warning]{color:var(--warning)}.status-rail button{background:var(--surface-soft);color:var(--text);border-radius:20px;min-height:40px;font-size:13px;padding:7px 14px;flex-shrink:0}.quality-status{height:86px;overflow:auto;background:var(--surface-soft);color:var(--muted);border-color:var(--line);font-size:14px;margin:8px 0 0}.quality-status[data-level=warning],.quality-status[data-level=blocked]{color:var(--warning);border-color:var(--warning)}
.discovery{display:block;min-height:0;padding:24px 0 12px}.section-heading{margin-bottom:16px}.peak-list-shell{position:relative;height:158px;contain:layout;overflow:hidden}.peak-list{height:100%;margin:0;padding:0 0 10px;align-items:stretch;scrollbar-gutter:stable;overflow-x:auto;overflow-y:hidden;scroll-snap-type:none}.peak-list-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;margin:0;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:15px;line-height:1.5;background:var(--surface-soft)}.peak-card{background:var(--surface);border-color:var(--line);flex-basis:190px;padding:18px;color:var(--text)}.peak-card>span{color:var(--accent);font-size:12px}.peak-card strong{font-size:17px;font-weight:700;margin:12px 0}.peak-card small{font-size:13px;color:var(--muted)}.peak-card.selected{background:var(--surface-soft);border-color:var(--accent)}.peak-card .mountain-glyph{stroke:var(--accent)}h1>span{border-color:var(--line);color:var(--muted);font-variant-numeric:tabular-nums}footer{border-color:var(--line);color:var(--muted);font-size:12px;padding:18px 0}footer button{color:var(--muted);font-size:12px}
body:not(.expert-mode) .expert-only{display:none!important}body.expert-mode .expert-only[hidden]{display:none!important}.panorama-controls{padding:14px 0 0}.panorama-controls .small-button{background:var(--surface);color:var(--text);border-color:var(--line)}.panorama-controls button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.panorama-controls p{color:var(--muted);height:44px;overflow:hidden;margin:8px 0 0}.panorama-zoom span{color:var(--muted)}
dialog{background:var(--surface);color:var(--text);border-color:var(--line);padding:28px;max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain}dialog h2{font-size:30px;line-height:1.2;padding-right:25px}dialog p,.steps li{color:var(--muted);font-size:16px;line-height:1.6}.steps strong{color:var(--text)}dialog a{color:var(--accent)}dialog::backdrop{background:#101f1bd0;backdrop-filter:blur(5px)}.dialog-close{position:sticky;top:-18px;height:0;display:flex;justify-content:flex-end;z-index:4;margin:0 -12px 0 0}.dialog-close button{background:var(--surface);border:1px solid var(--line);color:var(--text);width:44px;height:44px}.primary-button{background:var(--accent);color:var(--accent-ink);font-size:16px;min-height:46px}.secondary-button{background:var(--surface-soft);color:var(--text);border-color:var(--line);font-size:15px;min-height:44px}.text-button{color:var(--accent);font-size:14px}.fine-print{color:var(--muted)!important;font-size:13px!important}.access-list>li{background:var(--surface-soft);border-color:var(--line)}.access-heading>span{color:var(--accent);border-color:var(--line)}.access-list [data-status=ready],.access-list [data-status=manual]{color:var(--text)}.access-list [data-status=error],.access-list [data-status=weak]{color:var(--warning)}.info-note{background:var(--surface-soft);border-color:var(--line);font-size:15px;color:var(--text)}input[type=number]{background:var(--bg);color:var(--text);border-color:var(--line)}input[type=range]{accent-color:var(--accent)}label output{color:var(--accent)}#adjust-dialog{background:var(--surface);max-height:75dvh}#adjust-dialog::backdrop{background:#101f1b77}#adjust-dialog .dialog-close button{background:var(--surface)}#adjust-dialog .eyebrow{font-size:12px}
.expert-toggle{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:18px 0;border-block:1px solid var(--line);margin:20px 0}.expert-toggle small{display:block;margin-top:7px;color:var(--muted);font-size:14px;line-height:1.4}.expert-toggle input{width:25px;height:25px;accent-color:var(--accent);flex-shrink:0}
.peak-dialog{width:min(640px,calc(100% - 24px));max-width:640px;scrollbar-gutter:stable}.peak-dialog h2{margin:12px 0 22px;font-size:34px}.peak-dialog .peak-stats{padding-bottom:20px;gap:20px}.peak-dialog .peak-stats strong{font-size:22px}.peak-dialog .peak-stats small{font-size:14px}.peak-dialog .peak-stats span{font-size:13px;color:var(--muted)}.mountain-photo{position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--photo-bg);display:grid;place-items:center;isolation:isolate}.mountain-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mountain-photo>p{padding:24px;text-align:center;color:var(--muted);font-size:15px;z-index:1}.photo-controls{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;z-index:2}.photo-controls button{height:40px;width:40px;border-radius:50%;background:#fff;color:#203027;font-size:20px}.photo-controls span{padding:6px 12px;background:#13251ddb;color:#fff;border-radius:16px;font-size:13px}.photo-credit{font-size:12px!important;line-height:1.6!important;min-height:20px;overflow-wrap:anywhere}.peak-source{font-size:13px!important}.peak-dialog .peak-status{color:var(--muted);font-size:14px}.peak-link{color:var(--accent);font-size:15px;margin:8px 0 12px}.fullscreen-status{color:#fff!important;background:#17261fe8!important;pointer-events:none}.fullscreen-status[data-level=warning],.fullscreen-status[data-level=blocked]{color:#f5d5a3!important}[hidden]{display:none!important}
@media(max-width:640px){.topbar{height:68px;padding:0 16px}.brand{font-size:24px}.brand .version{font-size:9px}.brand svg{width:27px}.theme-button{font-size:13px;padding:8px 10px}.header-actions{gap:7px}.header-actions>.icon-button{display:none}main{padding:12px 12px 0}.viewer{height:65svh;min-height:470px}.viewer .view-top{top:14px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:10px}.viewer .location-badge{width:100%;padding:0;background:transparent;backdrop-filter:none;border:0}.location-badge div>span{font-size:12px}.view-switch button{font-size:14px;padding:8px 13px}.region-filter{padding:3px;margin:0;gap:2px}.region-filter button{padding:7px 13px;font-size:14px;min-height:36px}.view-actions,.camera-mode .view-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.view-actions .small-button{font-size:14px;padding:0 12px}.viewer-bottom{bottom:12px;left:12px;right:12px}.status-rail{height:74px}.status-rail button{font-size:12px;padding:7px 10px}.discovery{padding:20px 0 10px}.peak-card{flex-basis:176px;padding:16px}.peak-list-shell{height:152px}h1{font-size:23px}.peak-dialog{padding:22px}.peak-dialog h2{font-size:29px}.peak-dialog .peak-stats{gap:10px}.peak-dialog .peak-stats strong{font-size:20px}.peak-dialog .peak-stats span{font-size:12px}footer{gap:14px;line-height:1.5}#adjust-dialog{max-height:75dvh}}
@media(max-height:550px) and (orientation:landscape){.viewer .view-top{display:flex;flex-wrap:nowrap;gap:10px;align-items:center}.viewer .location-badge{width:auto;max-width:170px;padding:6px}.location-badge button{margin-left:0}.location-badge div>span{font-size:11px}.view-switch button{padding:8px;font-size:13px}.region-filter{grid-column:auto;margin-left:auto;flex-shrink:0}.region-filter button{font-size:13px;padding:6px 11px;min-height:36px}.viewer-bottom .view-actions{display:flex;flex-wrap:nowrap;width:auto}.landscape-view .status-rail{display:none}.landscape-view .fullscreen-status{display:block;max-width:50%;bottom:9px;top:auto;left:12px}.landscape-view .fullscreen-status[data-level=model]{display:none}.peak-dialog{max-height:calc(100dvh - 16px)}.mountain-photo{aspect-ratio:2/1}.expert-mode .compass-strip{top:69px}.expert-mode .heading-pointer{top:59px}.expert-mode .region-filter{opacity:.95}}

@media(max-width:760px) and (max-height:550px) and (orientation:landscape){.viewer .location-badge{max-width:125px;gap:4px;min-width:0;flex:1}.location-badge div{min-width:0}.location-badge strong,.location-badge div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-switch{flex-shrink:0}.view-switch button{padding:8px 6px;gap:4px;font-size:12px}.region-filter button{padding:6px 8px;font-size:12px}.viewer .view-top{gap:6px}.expert-mode .view-actions{max-width:100%;overflow-x:auto}.expert-mode .view-actions button{flex-shrink:0}}
@media(max-width:360px){.brand{gap:6px;font-size:22px}.brand .version{margin-left:0;padding:4px 3px}.theme-button{padding:8px}.topbar{gap:8px}}
/* Names occupy one text line; their transparent 44px targets stay easy to tap. */
.viewer .peak-label,.viewer .peak-label.selected{background:transparent;color:#fff;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;min-width:0;min-height:44px;height:44px;padding:0;text-align:center;display:flex;align-items:center;justify-content:center;transition:none;text-shadow:none}.viewer .peak-label strong{font:600 14px/20px 'DM Sans',sans-serif;white-space:nowrap;flex-shrink:0;overflow:visible;text-overflow:clip;-webkit-text-stroke:0;background:#183129d9;border:1px solid #ffffff30;border-radius:5px;padding:2px 7px;box-shadow:0 1px 3px #0002}.viewer{-webkit-text-size-adjust:100%;text-size-adjust:100%}.viewer .peak-label.selected strong{color:#ffdf9e}.viewer .peak-label:focus-visible{outline:2px solid #ffdf9e;border-radius:4px}.viewer .peak-label:hover strong{text-decoration:underline;text-underline-offset:4px}.viewer .peak-label:before,.viewer .peak-label:after{display:none}
.viewer-zoom{position:absolute;z-index:6;left:14px;bottom:72px;display:flex;align-items:center;gap:0;padding:3px;background:#14281fe8;border:1px solid #ffffff40;border-radius:26px;box-shadow:0 2px 8px #0002}.viewer-zoom .small-button{height:44px;min-width:44px;justify-content:center;font-size:25px;background:transparent;border:0;border-radius:22px;color:#fff;padding:0}.viewer-zoom span{min-width:48px;text-align:center;font-size:14px;color:#fff;font-variant-numeric:tabular-nums}.viewer-zoom button:disabled{opacity:.35}.viewer video{transform-origin:center center}.expert-mode .mode-note{bottom:132px}.peak-card .mountain-glyph{display:none}
@media(max-height:550px) and (orientation:landscape){.viewer-zoom{bottom:max(8px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left))}.landscape-view .fullscreen-status,.expanded-view .fullscreen-status{bottom:65px;max-width:65%}.expert-mode .mode-note{bottom:65px;left:auto;right:14px}.expert-mode .viewer-bottom{max-width:calc(100% - 176px);left:auto}.expert-mode .view-actions{overflow-x:auto;max-width:100%}}

/* Decorative layers pass through taps. Keep whole control groups interactive,
   including their backgrounds, instead of relying on descendant overrides. */
.viewer video,.viewer .notice,.viewer .loading,.device-assistance{pointer-events:none}
.viewer .view-top,.viewer .viewer-bottom,.viewer .viewer-zoom,
.viewer .view-actions,.viewer .view-switch,.viewer .region-filter{pointer-events:auto}
.viewer .view-top button,.viewer .viewer-bottom button,
.viewer .viewer-zoom button,.viewer #boot-retry,.device-help{pointer-events:auto}
.viewer button,.device-help button,.device-help a{touch-action:manipulation}
.viewer button>svg{pointer-events:none}
.viewer .notice{z-index:8;background:#14271f;pointer-events:none;box-shadow:0 4px 18px #0005}
.expanded-view .device-assistance,.landscape-view .device-assistance{
  bottom:var(--viewer-controls-clearance,calc(136px + env(safe-area-inset-bottom)));
  max-height:min(45dvh,var(--viewer-help-height,0px));
  overscroll-behavior:contain;
}

.viewer .peak-label[data-pressed] strong{background:#fff;color:#183129;border-color:#fff;box-shadow:0 0 0 3px #18312980}
#peak-dialog::backdrop{backdrop-filter:none}

@media (orientation:portrait),(min-height:551px){
 .viewer-zoom{bottom:var(--viewer-toolbar-clearance,72px)}
}

/* No empty status space or passive camera diagnostics in basic mode. */
.status-rail[hidden],.viewer .fullscreen-status[hidden]{display:none!important}
