@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson/atkinson-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/atkinson/atkinson-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-label:ui-monospace, SFMono-Regular, Menlo, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--radius:.25rem;--touch-target:2.75rem;--shell:32rem;--shell-wide:40rem;--type-label:10px;--type-badge:9.5px;--type-fine:12.5px;--type-meta:13.5px;--type-small:14px;--type-body:15px;--type-control:17px;--type-title:19px;--type-save:20px;--type-heading-xl:25px;--type-readout:27px;--type-guidance:32px;--paper:#f4f0e8;--surface:#fbf9f4;--ink:#1e2433;--accent:#c2611f;--accent-ink:#a8511a;--accent-deep:#8a4a12;--on-accent:#fff;--danger-strong:#7d2208;--danger-bg:#fdece4;--danger-rule:#b3300b;--danger-on-dark:#ff8a66;--suggestion-bg:#fdf6e3;--map-backdrop:#e8e4dc;--rule:#1e243324;--rule-faint:#1e243317;--control-rule:#1e24334d;--surface-faint:color-mix(in srgb, currentColor 6%, transparent);--text-secondary:#1e24339e;--text-muted:#1e24338c;--locator-stroke:#f4f0e8;--locator-casing:#1e2433;font-family:Atkinson Hyperlegible,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-mode=light]){--paper:#16171c;--surface:#1e2027;--ink:#ece7dd;--accent:#e07b33;--accent-ink:#e07b33;--accent-deep:#f2a05a;--on-accent:#16171c;--map-backdrop:#23252b;--rule:#ece7dd29;--rule-faint:#ece7dd1a;--control-rule:#ece7dd4d;--text-secondary:#ece7dd9e;--text-muted:#ece7dd8c;--locator-stroke:#ece7dd;--locator-casing:#16171c}}:root[data-mode=dark]{--paper:#16171c;--surface:#1e2027;--ink:#ece7dd;--accent:#e07b33;--accent-ink:#e07b33;--accent-deep:#f2a05a;--on-accent:#16171c;--map-backdrop:#23252b;--rule:#ece7dd29;--rule-faint:#ece7dd1a;--control-rule:#ece7dd4d;--text-secondary:#ece7dd9e;--text-muted:#ece7dd8c;--locator-stroke:#ece7dd;--locator-casing:#16171c}:root[data-mode=night]{--paper:#0b0604;--surface:#170c07;--ink:#e8663d;--accent:#ff5a2b;--accent-ink:#ff5a2b;--accent-deep:#8f3a1c;--on-accent:#0b0604;--map-backdrop:#140a06;--rule:#e8663d33;--rule-faint:#e8663d1f;--control-rule:#e8663d59;--text-secondary:#e8663d9e;--text-muted:#e8663d8c;--locator-stroke:#e8663d;--locator-casing:#0b0604}[data-mode=night] .panel-danger{border-color:var(--accent);color:var(--accent);background:0 0}[data-mode=night] .capture-map-suggestion,[data-mode=night] .trace-recovery{background:var(--surface);color:var(--ink)}[data-mode=night] .trace-recovery .link{color:var(--accent)}[data-mode=night] .trace-recovery .button-surface{background:var(--surface);color:var(--ink);border-color:var(--control-rule)}[data-mode=night] .update-banner{border-bottom:1px solid var(--accent);color:var(--accent);background:0 0}[data-mode=night] .button-inverse{color:var(--accent);border-color:var(--accent);background:0 0}[data-mode=night] .save-button-saving{color:#e8663dcc}[data-mode=night] .capture-map-crosshair:before,[data-mode=night] .capture-map-crosshair:after{outline-color:#0b0604b3}[data-mode=night] .capture-map-canvas .maplibregl-canvas,[data-mode=night] .history-map-canvas .maplibregl-canvas{filter:grayscale()contrast(.85)brightness(.42)}[data-mode=night] .history-map:after,[data-mode=night] .capture-map:after{content:"";mix-blend-mode:multiply;pointer-events:none;background:#ff2a00;position:absolute;inset:0}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}@media (display-mode:browser){html,body{overscroll-behavior-y:contain}}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--paper);color:var(--ink);margin:0}:where(button,[href],input,textarea,select,label.photo-field-button,label.photo-field-library,label.framing-screen-library):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}:where(button,label.photo-field-button,label.photo-field-library,label.framing-screen-library):active{opacity:.92}:where(button,label.photo-field-button,label.photo-field-library,label.framing-screen-library,label.attachment-add-photo,label.photo-lightbox-retake,label.photo-lightbox-add){-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.button-primary{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent-ink);border-radius:var(--radius);font-size:var(--type-control);font-weight:700}.button-outline{color:inherit;border:1px solid var(--control-rule);border-radius:var(--radius);font-size:var(--type-small);background:0 0;padding:0 14px}.button-surface{background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);font-size:var(--type-small);padding:0 14px}.field-label{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;font-weight:700;display:block}.field{flex-direction:column;gap:5px;display:flex}.chip{font-family:var(--font-label);font-size:var(--type-badge);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--control-rule);white-space:nowrap;border-radius:3px;padding:3px 6px;font-weight:700}.eyebrow{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink);margin:0;font-weight:700}.panel-danger{padding:var(--space-2) var(--space-3);background:var(--danger-bg);border:1px solid var(--danger-rule);border-radius:var(--radius);color:var(--danger-strong);margin:0;font-size:14.5px}.warns:before{content:"";vertical-align:-1px;border-bottom:10px solid;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;margin-right:6px;display:inline-block}.glyph-camera{border:1.5px solid;border-radius:2px;width:14px;height:11px;margin-right:8px;display:inline-block;position:relative}.glyph-camera:after{content:"";border:1.5px solid;border-radius:50%;width:4px;height:4px;margin:auto;position:absolute;inset:2px}.probe{padding:var(--space-4);max-width:var(--shell-wide);margin:0 auto}.probe-row{align-items:baseline;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.probe-label{min-width:12rem;font-weight:700}button{padding:.6rem var(--space-4);min-height:var(--touch-target);min-width:var(--touch-target);font-family:inherit;font-size:1rem}.probe-log{font-size:var(--type-fine);background:var(--surface-faint);padding:var(--space-2);overflow-x:auto}.capture-page{padding:var(--space-4);max-width:var(--shell);flex-direction:column;gap:14px;margin:0 auto;display:flex}.session-bar{border-bottom:1px solid var(--rule);align-items:center;gap:10px;padding-bottom:2px;display:flex}.session-live-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.session-bar .session-name{font-size:var(--type-control);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.session-bar .session-count{font-size:var(--type-small);flex:none}.session-bar .button-outline{flex:none;margin-left:auto}.session-start{border-bottom:none;flex-direction:column;align-items:stretch;gap:10px;display:flex}.brand-lockup{align-items:center;gap:10px;margin:0 0 4px;display:flex}.brand-mark{border-radius:5px;flex:none;width:28px;height:28px;display:block}.brand-word{font-size:var(--type-save);letter-spacing:-.01em;font-weight:700;line-height:1}.brand-word-accent{color:var(--accent)}.brand-suffix{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);margin-left:4px;font-weight:400}[data-mode=night] .brand-mark{opacity:.72}.session-start-headline{font-size:var(--type-heading-xl);letter-spacing:-.015em;margin:0;font-weight:700}.session-start .button-primary{min-height:3.5rem;font-size:var(--type-save)}.session-start-note{font-size:var(--type-meta);color:var(--text-secondary);margin:0}.session-type-chooser{gap:var(--space-2);flex-direction:column;display:flex}.session-type-choice{text-align:left;background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);min-height:4rem;color:var(--ink);font-size:var(--type-control);flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:10px 13px;display:flex}.session-type-choice[aria-pressed=true]{border:2px solid var(--accent);padding:9px 12px}.session-type-title{font-weight:700}.session-type-choice[aria-pressed=true] .session-type-title:after{content:" ✓";color:var(--accent-ink)}.session-type-hint{font-size:var(--type-fine);color:var(--text-secondary)}.revisit-setup{gap:var(--space-2);flex-direction:column;display:flex}.revisit-setup-pick{min-height:var(--touch-target);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.revisit-setup-label{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-weight:700}.revisit-setup-caption{letter-spacing:normal;text-transform:none;font-family:inherit;font-weight:400;font-size:var(--type-fine)}.revisit-setup-card{gap:var(--space-2);background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);flex-direction:column;padding:11px 12px;display:flex}.revisit-setup-file{align-items:center;gap:var(--space-2);margin:0;display:flex}.revisit-setup-filename{font-family:var(--font-label);font-size:var(--type-meta);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.revisit-setup-summary{font-size:var(--type-meta);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0}.revisit-setup-actions{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--rule-faint);display:flex}.revisit-setup-actions>*{flex:1}.revisit-setup-error{font-size:var(--type-small);color:var(--danger-strong);margin:0}.revisit-setup-nearest-list{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.revisit-setup-nearest-row{align-items:baseline;gap:var(--space-2);border-bottom:1px solid var(--rule-faint);padding:11px 0 10px;display:flex}.revisit-setup-nearest-distance{flex:none;width:4rem;font-weight:700}.revisit-setup-nearest-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-secondary);flex:1;overflow:hidden}.revisit-setup-nearest-compass{color:var(--text-secondary)}.station-list{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.station-list-row{border-bottom:1px solid var(--rule-faint)}.station-list-static,.station-list-select{align-items:center;gap:10px;width:100%;padding:11px 0 10px;display:flex}.station-list-select{color:inherit;font-size:var(--type-body);text-align:left;background:0 0;border:none;border-radius:0}.station-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.station-list-walk,.station-list-reason{font-size:var(--type-small);color:var(--text-secondary)}.station-list-row .chip{flex:none;margin-left:auto}.station-glyph{flex:none;width:9px;height:9px;transform:rotate(45deg)}.station-glyph-done{background:var(--ink)}.station-glyph-todo{border:2px solid var(--ink)}.station-glyph-current{border:2px solid var(--accent)}.station-glyph-skipped{border:2px dashed var(--control-rule)}.station-glyph-noaccess{border:none;position:relative;transform:none}.station-glyph-noaccess:before,.station-glyph-noaccess:after{content:"";background:var(--text-secondary);width:9px;height:2px;position:absolute;top:4px;left:0}.station-glyph-noaccess:before{transform:rotate(45deg)}.station-glyph-noaccess:after{transform:rotate(-45deg)}.station-chip-done{background:var(--ink);color:var(--paper);border-color:var(--ink)}.station-chip-current{border-color:var(--accent);color:var(--accent-ink)}.station-chip-todo,.station-chip-skipped{color:var(--text-secondary);border-style:dashed}.station-chip-noaccess,.station-chip-readonly{color:var(--text-secondary)}.station-block,.station-chooser{gap:var(--space-2);flex-direction:column;display:flex}.station-block-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.station-block-label{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:700}.station-block-card{gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);flex-direction:column;display:flex}.station-block-where{min-width:0}.station-block-name{font-size:var(--type-control);text-overflow:ellipsis;white-space:nowrap;margin:0;font-weight:700;overflow:hidden}.station-block-walk{align-items:center;gap:var(--space-2);font-variant-numeric:tabular-nums;margin:2px 0 0;display:flex}.station-block-arrow{width:3rem;height:3rem;stroke:var(--accent);flex:none;transition:transform .2s linear}.station-block-distance{font-size:var(--type-guidance);letter-spacing:-.02em;font-weight:700}.station-block-compass{font-size:var(--type-control);color:var(--text-secondary);font-weight:700}.station-block-meta{font-size:var(--type-fine);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:2px 0 0}.station-block-note{padding-top:var(--space-2);border-top:1px solid var(--rule-faint)}.station-block-note-label{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:0 0 4px;font-weight:700}.station-block-note-text{font-size:var(--type-body);color:var(--text-secondary);margin:0;line-height:1.45}.station-block-secondary{gap:var(--space-2);display:flex}.station-block-secondary>*{flex:1}.station-block-confirm{gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);flex-direction:column;display:flex}.station-block-confirm-title{font-size:var(--type-control);margin:0;font-weight:700}.station-block-confirm-copy{font-size:var(--type-meta);color:var(--text-secondary);margin:0;line-height:1.45}.station-block-confirm-actions{align-items:center;gap:var(--space-2);display:flex}.station-block-confirm-actions .link{margin-left:auto}.revisit-missing,.revisit-complete,.revisit-skip-notice,.trace-gap-notice{font-size:var(--type-meta);color:var(--text-secondary);align-items:center;gap:var(--space-2);justify-content:space-between;margin:0;display:flex}.session-revisit-progress{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.session-revisit-summary{gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.session-summary-headline{font-size:var(--type-control);color:var(--text-secondary);margin:0}.session-summary-count{font-size:var(--type-heading-xl);letter-spacing:-.02em;color:var(--ink);font-weight:700}.session-summary-bar{gap:2px;height:8px;display:flex}.session-summary-done{background:var(--ink);border-radius:2px}.session-summary-noaccess{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--ink) 35%, transparent) 0 3px, transparent 3px 6px);border:1px solid var(--control-rule);border-radius:2px}.session-summary-remaining{border:1px dashed var(--control-rule);border-radius:2px}.session-summary-lines{font-size:var(--type-small);color:var(--text-secondary);margin:0}.session-detail-reference{font-size:var(--type-meta);color:var(--text-secondary);margin:0}.readings-panel{font-variant-numeric:tabular-nums;border-bottom:1px solid var(--rule);padding-bottom:2px}.readings-coords{font-size:var(--type-readout);letter-spacing:-.01em;margin:5px 0 0;font-weight:700;line-height:1.1}.attribution{margin:var(--space-3) 0 0;font-size:var(--type-badge);color:var(--text-muted)}.readings-gridref{font-family:var(--font-label);font-size:var(--type-control);letter-spacing:.04em;font-variant-numeric:tabular-nums;margin:3px 0 0;font-weight:700}.readings-accuracy{align-items:baseline;gap:6px;margin:6px 0 0;display:flex}.readings-accuracy-value{font-size:16px;font-weight:700}.readings-accuracy-word{color:var(--text-secondary);font-size:16px}.readings-accuracy .chip{margin-left:auto}.readings-heading{border-top:1px solid var(--rule-faint);flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:11px;padding-top:11px;display:flex}.readings-heading-value{margin:0;font-size:22px;font-weight:700}.readings-heading .button-outline{margin-left:auto}.readings-waiting{font-size:var(--type-title);color:var(--text-muted);margin:5px 0 0;font-weight:700}.capture-map{height:300px;margin-inline:calc(var(--space-4) * -1);background:var(--map-backdrop);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}.capture-map-canvas{width:100%;height:100%}@media (orientation:landscape) and (height<=500px){.capture-map{height:180px}}.history-map{height:300px;margin-inline:calc(var(--space-4) * -1);margin-bottom:var(--space-3);background:var(--map-backdrop);align-self:stretch;position:relative;overflow:hidden}.history-map-canvas{width:100%;height:100%}.history-map-error{color:var(--danger-strong);margin:var(--space-2) var(--space-4) 0}.capture-map-placeholder{height:150px;padding:var(--space-4);text-align:center;background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--ink) 5%, transparent) 0 1px, transparent 1px 8px);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.capture-map-placeholder .button-surface{min-height:3rem}.capture-map-caption{font-family:var(--font-label);font-size:var(--type-fine);color:color-mix(in srgb, var(--ink) 42%, transparent);margin:0}.capture-map-region{top:var(--space-2);left:var(--space-2);z-index:1;font-size:var(--type-badge);background:color-mix(in srgb, var(--paper) 72%, transparent);border-radius:3px;padding:3px 6px;position:absolute}.capture-map-stations{top:calc(var(--space-2) + 1.65rem);left:var(--space-2);z-index:1;font-size:var(--type-badge);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;border:1px solid var(--control-rule);background:color-mix(in srgb, var(--paper) 72%, transparent);color:color-mix(in srgb, var(--ink) 72%, transparent);border-radius:3px;padding:3px 6px;font-weight:700;position:absolute}.capture-map-foot{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:1;gap:var(--space-2);flex-direction:column;display:flex;position:absolute}.capture-map-controls{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.capture-map-expand{top:var(--space-2);right:var(--space-2);z-index:1;min-width:44px;min-height:44px;position:absolute}.capture-map[data-maximised=true]{z-index:5;touch-action:none;border-bottom:0;height:auto;margin:0;position:fixed;inset:0}.capture-map[data-maximised=true] .capture-map-expand,.capture-map[data-maximised=true] .capture-map-region{top:calc(env(safe-area-inset-top,0px) + var(--space-2))}.capture-map[data-maximised=true] .capture-map-stations{top:calc(env(safe-area-inset-top,0px) + var(--space-2) + 1.65rem)}.capture-map[data-maximised=true] .capture-map-foot,.capture-map[data-maximised=true] .capture-map-picking{bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-2))}.capture-map-walk{padding:var(--space-2) var(--space-3);border:1px solid var(--control-rule);background:color-mix(in srgb, var(--paper) 88%, transparent);border-radius:6px}.capture-map-walk-label{font-size:var(--type-badge);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--ink) 72%, transparent);margin:0;font-weight:700}.capture-map-error{color:var(--danger-strong)}.locator{pointer-events:none}.locator .locator-casing{stroke:var(--locator-casing)}.locator .locator-stroke{stroke:var(--locator-stroke)}.locator .locator-fix{fill:var(--accent);stroke:var(--locator-stroke)}.locator .locator-beam-casing{stroke:var(--locator-casing)}.locator .locator-beam-stroke{stroke:var(--locator-stroke)}.locator .locator-beam{transform-box:view-box;transform-origin:80px 80px;transition:transform .2s ease-out}.locator[data-stale=true] .locator-fix{fill:#0000}.locator[data-stale=true] .locator-casing circle,.locator[data-stale=true] .locator-stroke circle{stroke-dasharray:5 5}.locator[data-stale=true] .locator-casing,.locator[data-stale=true] .locator-stroke{opacity:.55}.capture-map-suggestion{left:var(--space-2);right:var(--space-2);top:var(--space-2);z-index:2;border-radius:var(--radius);background:var(--suggestion-bg);border:1px solid var(--accent);color:#1e2433;margin:0;padding:10px;animation:.12s ease-out banner-in;position:absolute}.capture-map-suggestion-copy{margin:0 0 var(--space-2);font-size:14.5px}.capture-map-suggestion-actions{gap:var(--space-2);display:flex}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}}.capture-map-crosshair{left:50%;top:var(--crosshair-y,50%);z-index:2;pointer-events:none;width:44px;height:44px;position:absolute;transform:translate(-50%,-50%)}.capture-map-crosshair:before,.capture-map-crosshair:after{content:"";background:var(--accent);outline:1px solid #ffffffb3;position:absolute}.capture-map-crosshair:before{clip-path:polygon(0 0,38% 0,38% 100%,0 100%,100% 100%,100% 0,62% 0,62% 100%,38% 100%);height:2px;margin-top:-1px;top:50%;left:0;right:0}.capture-map-crosshair:after{clip-path:polygon(0 0,100% 0,100% 38%,0 38%,0 100%,100% 100%,100% 62%,0 62%);width:2px;margin-left:-1px;top:0;bottom:0;left:50%}.capture-map-picking{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);z-index:3;border-radius:var(--radius);background:var(--surface);border:1px solid var(--accent);gap:var(--space-2);flex-direction:column;margin:0;padding:10px;display:flex;position:absolute}.capture-map-picking-readout{font-family:var(--font-label);font-size:var(--type-small);letter-spacing:.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:700}.capture-map-picking-actions{gap:var(--space-2);display:flex}.basemap-picker{padding:var(--space-4);max-width:var(--shell);gap:var(--space-4);flex-direction:column;align-items:flex-start;margin:0 auto;display:flex}.basemap-picker-list{gap:var(--space-1);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.basemap-picker-list>li{gap:var(--space-1);flex-direction:column;display:flex}.basemap-picker-row{text-align:left;border:none;border-bottom:1px solid var(--rule);width:100%;min-height:3rem;color:inherit;background:0 0;align-items:flex-start;gap:10px;padding:14px 12px;display:flex}.basemap-picker-row[aria-current=true]{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius)}.basemap-picker-row.is-unavailable{opacity:.55}.basemap-picker-glyph{border-radius:2px;flex:none;width:13px;height:13px;margin-top:4px}.glyph-filled{background:var(--accent)}.glyph-solid{border:2px solid color-mix(in srgb, var(--ink) 45%, transparent)}.glyph-dotted{border:2px dotted color-mix(in srgb, var(--ink) 40%, transparent)}.basemap-picker-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.basemap-picker-name{font-size:var(--type-control);font-weight:700}.basemap-picker-size{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.basemap-picker-progress{background:color-mix(in srgb, var(--ink) 12%, transparent);background-image:linear-gradient(var(--accent), var(--accent));background-repeat:no-repeat;background-size:var(--progress,0%) 100%;border-radius:3px;height:6px;margin-top:6px;display:block}.basemap-picker-state{font-size:var(--type-fine);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex:none}.badge-in-use{background:var(--ink);color:var(--paper);border-color:var(--ink)}.basemap-picker-remove{align-self:flex-start;margin-left:25px}.basemap-picker-error{margin:0}.basemap-picker-note,.basemap-picker-empty{font-size:var(--type-small);color:var(--text-secondary);margin:0}.feature-layer-panel{gap:var(--space-2);width:100%;margin-top:var(--space-4);flex-direction:column;display:flex}.feature-layer-list{gap:var(--space-1);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.feature-layer-list>li{gap:var(--space-1);flex-direction:column;display:flex}.feature-layer-row{text-align:left;border:none;border-bottom:1px solid var(--rule);width:100%;min-height:3rem;color:inherit;background:0 0;align-items:flex-start;gap:10px;padding:14px 12px;display:flex}.feature-layer-row[aria-pressed=true]{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius)}.feature-layer-row:disabled{opacity:.55}.feature-layer-swatch{border:2px solid var(--layer-colour);border-radius:2px;flex:none;width:13px;height:13px;margin-top:4px}.feature-layer-swatch.is-on{background:var(--layer-colour)}.feature-layer-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.feature-layer-name{font-size:var(--type-control);font-weight:700}.feature-layer-meta{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.feature-layer-state{font-size:var(--type-fine);color:var(--text-secondary);flex:none}.feature-sheet{gap:var(--space-2);width:100%;padding:var(--space-3);background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:var(--radius);flex-direction:column;display:flex}.feature-sheet-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.feature-sheet-heading{min-width:0}.feature-sheet-title{font-size:var(--type-title);overflow-wrap:anywhere;margin:0;font-weight:700}.feature-sheet-fields{gap:var(--space-1);flex-direction:column;margin:0;display:flex}.feature-sheet-field{padding-bottom:var(--space-1);border-bottom:1px solid var(--rule-faint);flex-direction:column;display:flex}.feature-sheet-field dt{font-family:var(--font-label);font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.feature-sheet-field dd{font-size:var(--type-body);overflow-wrap:anywhere;margin:0}.feature-sheet-empty{font-size:var(--type-small);color:var(--text-secondary);margin:0}.linked-feature{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--surface);font-size:var(--type-small);margin:0;display:flex}.linked-feature-label{overflow-wrap:anywhere;min-width:0}.trace-strip{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-left:3px solid var(--accent);background:var(--surface);font-size:var(--type-small);flex-direction:column;margin:0;display:flex}.trace-strip[data-status=paused]{border-left-color:color-mix(in srgb, var(--accent) 45%, transparent)}.trace-strip-summary{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;display:flex}.trace-strip-elapsed{font-variant-numeric:tabular-nums;margin-left:auto}.trace-strip-dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:2.4s ease-in-out infinite trace-breathe}@keyframes trace-breathe{50%{opacity:.55}}.trace-strip-dot[data-paused=true]{opacity:.4;animation:none}.trace-strip-metrics{font-size:var(--type-save);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.trace-strip-metrics[data-waiting=true]{color:var(--text-muted)}.trace-strip-note{color:var(--text-secondary);margin:0}.trace-strip-warning{color:var(--accent-deep);margin:0;font-weight:700}.trace-strip-error{margin:0}.trace-strip-actions,.trace-discard-confirm{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.trace-strip .button-primary{font-size:var(--type-body)}.trace-strip-actions .link{margin-left:auto}.trace-discard-confirm{width:100%}.trace-discard-confirm .link{margin-left:auto}.trace-discard-commit,.session-history-delete-commit{color:var(--danger-strong);border:1px solid var(--danger-rule);border-radius:var(--radius);font-size:var(--type-small);background:0 0;padding:0 14px}.trace-recovery{gap:var(--space-2);border-radius:var(--radius);background:var(--suggestion-bg);border:1px solid var(--accent);color:#1e2433;flex-direction:column;margin:0;padding:10px;animation:.12s ease-out banner-in;display:flex}.trace-recovery-title{margin:0;font-size:16px;font-weight:700}.trace-recovery-copy{font-size:var(--type-small);margin:0}.trace-recovery .link{color:#a8511a}.trace-recovery-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.trace-recovery-actions .link{margin-left:auto}.trace-recovery .button-primary{font-size:var(--type-body)}.trace-recovery .button-surface{color:#1e2433;background:#fbf9f4;border-color:#1e24334d}.trace-pair-option{text-align:left;background:var(--surface);min-height:3.5rem;color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 12px;display:flex}.trace-pair-option .trace-glyph{flex:none}.trace-pair-body{flex-direction:column;gap:2px;min-width:0;display:flex}.trace-pair-name{font-size:16px;font-weight:700}.trace-pair-caption{font-size:var(--type-fine);color:var(--text-secondary)}.trace-pair-standing-down{border:1px dashed color-mix(in srgb, var(--ink) 42%, transparent);color:color-mix(in srgb, var(--ink) 42%, transparent);background:0 0}.trace-pair-standing-down .trace-pair-caption{color:inherit}.trace-field{gap:var(--space-2)}.session-history{padding:var(--space-4);max-width:var(--shell);gap:var(--space-4);flex-direction:column;align-items:flex-start;margin:0 auto;display:flex}.session-history-list{width:100%;margin:0;padding:0;list-style:none}.session-history-row{text-align:left;border:none;border-bottom:1px solid var(--rule);width:100%;min-height:3rem;color:inherit;background:0 0;align-items:center;gap:10px;padding:14px 0 13px;display:flex}.session-history-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-history-name{font-size:var(--type-control);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.session-history-date,.session-history-count{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.session-history-chevron{color:color-mix(in srgb, var(--ink) 35%, transparent);flex:none;font-size:20px}.session-history-unsynced{align-items:center;gap:var(--space-2);font-size:var(--type-meta);margin:0;display:flex}.session-history-empty{color:var(--text-muted)}.session-detail-title{font-size:var(--type-heading-xl);letter-spacing:-.01em;margin:0;font-weight:700}.session-detail-meta{align-items:center;gap:var(--space-2);font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;display:flex}.session-history-export{width:100%;min-height:3.25rem}.session-history-load{width:100%;min-height:3.25rem;margin-top:var(--space-3)}.session-history-load-hint,.session-history-export-hint,.capture-page-export-hint{margin:var(--space-2) 0 0;font-size:var(--type-small);color:var(--text-secondary);text-align:center}.session-history-delete{margin:var(--space-4) auto 0;font-size:var(--type-small);display:block}.session-history-delete-confirm{align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-4);flex-wrap:wrap;display:flex}.session-history-delete-confirm .link{margin-left:auto}.session-history-delete-warning{margin:var(--space-4) 0 0;font-size:var(--type-small)}.session-history-purge{width:100%;min-height:3.25rem;margin-top:var(--space-3)}.session-history-delete-message,.session-history-purge-message{margin-top:var(--space-2)}.voice-note-field{align-items:stretch;gap:var(--space-2);flex-direction:column;display:flex}.voice-note-idle{width:100%;min-height:3rem;font-size:var(--type-body);background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;display:inline-flex}.glyph-mic{flex:none}.voice-note-recording{align-items:center;gap:var(--space-2);background:var(--surface);border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:var(--radius);width:100%;min-height:3.5rem;padding:8px 10px;display:flex}.voice-note-elapsed{align-items:center;gap:var(--space-2);font-family:var(--font-label);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700;display:inline-flex}.voice-note-stop{min-height:var(--touch-target);font-size:var(--type-small);background:var(--accent);color:var(--on-accent);border:1px solid var(--accent-ink);border-radius:var(--radius);align-items:center;gap:8px;margin-left:auto;padding:0 14px;font-weight:700;display:inline-flex}.glyph-stop{background:currentColor;border-radius:1px;width:12px;height:12px}.voice-note-bars{flex:1;align-items:center;gap:2px;min-width:0;height:26px;display:flex;overflow:hidden}.voice-note-bars span{background:color-mix(in srgb, var(--ink) 80%, transparent);border-radius:1px;flex:1;animation:1.9s ease-in-out infinite voice-note-bar}@keyframes voice-note-bar{50%{opacity:.25}}.voice-note-dot{background:var(--accent-deep,#b00);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite voice-note-pulse}@keyframes voice-note-pulse{50%{opacity:.25}}.voice-transport{background:var(--surface);border:1px solid var(--control-rule);border-radius:var(--radius);align-items:center;gap:10px;width:100%;min-height:3.5rem;padding:8px 10px 8px 8px;display:flex}.voice-transport-toggle{width:var(--touch-target);height:var(--touch-target);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);background:0 0;flex:none;justify-content:center;align-items:center;display:inline-flex}.glyph-pause{gap:3px;display:inline-flex}.glyph-pause span{background:currentColor;border-radius:1px;width:4px;height:15px}.voice-transport-bars{flex:1;align-items:center;gap:2px;min-width:0;height:22px;display:flex;overflow:hidden}.voice-transport-bar{background:color-mix(in srgb, var(--ink) 30%, transparent);border-radius:1px;flex:1}.voice-transport-bar-played{background:var(--ink)}.voice-transport-time{font-family:var(--font-label);font-variant-numeric:tabular-nums;flex:none;font-size:15px}.voice-transport-total{color:var(--text-muted);font-weight:400}.voice-transport-delete{width:var(--touch-target);height:var(--touch-target);color:var(--danger-strong);background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.voice-transport-spacer{width:var(--touch-target);flex:none}.voice-note-error{font-size:var(--type-small);margin:0}.observations-audio{font-size:var(--type-meta);margin:7px 0 0}.session-history-import{width:100%;min-height:3.25rem;margin-top:var(--space-4)}.capture-page-export{width:100%;min-height:3.25rem}.session-history-import-message,.session-history-export-message,.session-history-purge-message,.capture-page-export-message{align-items:center;gap:var(--space-2);font-size:var(--type-small);color:var(--text-secondary);margin:0;display:flex}.page-header{align-items:center;gap:var(--space-3);width:100%;padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.page-header h2{font-size:var(--type-title);margin:0 0 0 auto;font-weight:700}.session-history .page-header{z-index:2;background:var(--paper);margin-inline:calc(var(--space-4) * -1);margin-top:calc(var(--space-4) * -1);width:auto;padding:var(--space-4) var(--space-4) var(--space-2);align-self:stretch;position:sticky;top:0}.mode-switch{border:1px solid var(--control-rule);border-radius:var(--radius);align-items:stretch;width:100%;display:flex}.mode-switch-option{min-height:var(--touch-target);color:inherit;font-size:var(--type-small);background:0 0;border:none;border-radius:0;flex:1;padding:0 8px}.mode-switch-option+.mode-switch-option{border-left:1px solid var(--control-rule)}.mode-switch-option:first-child{border-radius:calc(var(--radius) - 1px) 0 0 calc(var(--radius) - 1px)}.mode-switch-option:last-child{border-radius:0 calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0}.mode-switch-option[aria-checked=true]{background:var(--ink);color:var(--paper);font-weight:700}.mode-switch-option:focus-visible{outline-offset:-4px}.mode-switch-caption{margin:var(--space-1) 0 0;font-size:var(--type-meta);color:var(--text-secondary)}.session-history-button{text-align:left;background:var(--surface);width:100%;min-height:3rem;color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);align-items:center;gap:10px;padding:0 12px;display:flex}.session-history-button .glyph-list{flex:none}.session-history-button-label{margin-right:auto;font-size:15.5px;font-weight:700}.session-history-button-count{font-size:var(--type-small);color:var(--text-secondary);font-variant-numeric:tabular-nums}.session-history-button-chevron{color:color-mix(in srgb, var(--ink) 35%, transparent);font-size:20px}.link{padding:var(--space-2) 0;color:var(--accent-ink);background:0 0;border:none;min-width:0;text-decoration:underline}.session-name{font-weight:700}.session-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}.photo-field{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.photo-field-library{width:100%;min-height:3rem;padding:.6rem var(--space-4);font-size:var(--type-body);background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.photo-field-library[aria-disabled=true]{opacity:.55;cursor:default}.photo-field-error{color:var(--danger-strong);margin:0}.photo-field-busy,.photo-field-cap{font-size:var(--type-small);color:var(--text-secondary);margin:0}.photo-field-button-capped{color:var(--text-muted);border-style:dashed}.photo-field-strip{flex-wrap:wrap;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.photo-field-thumb{width:64px;height:64px;position:relative}.photo-field-thumb img{object-fit:cover;border:1px solid var(--control-rule);border-radius:var(--radius);width:100%;height:100%;display:block}.photo-field-thumb-remove{width:var(--touch-target);height:var(--touch-target);color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-8px;right:-8px}.photo-field-thumb-remove:before{content:"";background:var(--surface);border:1px solid var(--control-rule);border-radius:50%;width:22px;height:22px;margin:auto;position:absolute;inset:0}.photo-field-thumb-remove:after{content:"";background:linear-gradient(45deg,#0000 42%,currentColor 42% 58%,#0000 58%),linear-gradient(-45deg,#0000 42%,currentColor 42% 58%,#0000 58%);width:11px;height:11px;display:block;position:relative}.probe-result{overflow-wrap:anywhere}.probe-file{border:1px solid var(--control-rule);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;padding:1px 6px;display:inline-block;position:relative}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.session-bar input,.capture-page textarea{font-size:var(--type-control);padding:var(--space-2);min-height:var(--touch-target);background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);font-family:inherit}.capture-page textarea{resize:vertical;width:100%;min-height:3.5rem;padding:10px 11px}.session-start input{min-height:3.25rem;font-size:var(--type-title);font-variant-numeric:tabular-nums}.capture-no-session-note{font-size:var(--type-small);color:var(--text-secondary);margin:0}.capture-actions{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.capture-actions .photo-field,.capture-actions .voice-note-field{flex:1;min-width:8rem}:is(.capture-actions .voice-note-field:has(.voice-note-recording),.capture-actions .voice-note-field:has(.voice-transport)){flex-basis:100%}.capture-actions .photo-field:has(.photo-field-strip){flex-basis:100%}.reading-stale,.reading-problem,.readings-panel .position-only{color:var(--accent-deep)}.reading-problem{margin:0}.photo-field-button{width:100%;font-size:var(--type-body);padding:.6rem var(--space-4);min-height:3rem;min-width:var(--touch-target);background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.photo-field-button input[type=file],.probe-file input[type=file]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.save-button button{width:100%;min-height:3.5rem;font-size:var(--type-save);border-radius:var(--radius);font-weight:700}.save-button-ready{background:var(--accent);color:var(--on-accent);border:1px solid var(--accent-ink)}.save-button-blocked{background:color-mix(in srgb, var(--ink) 7%, transparent);color:color-mix(in srgb, var(--ink) 42%, transparent);border:1px dashed var(--control-rule)}.save-button-saving{background:var(--accent-deep);color:#fffc;border:1px solid var(--accent-deep)}.save-button-reason{margin:var(--space-2) 0 0;font-size:var(--type-small);color:var(--accent-deep)}.save-confirmation{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--ink);border-radius:var(--radius);display:flex}.save-confirmation-tick{background:var(--ink);width:18px;height:18px;color:var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.save-confirmation-text{font-variant-numeric:tabular-nums;font-size:14.5px}.save-confirmation .link{color:var(--accent-ink);margin-left:auto}.offline-status-warning{font-weight:700}.observations-empty{color:var(--text-muted);font-style:italic}.observations-list{font-variant-numeric:tabular-nums;margin:0;padding:0;list-style:none}.observations-row{border-bottom:1px solid var(--rule-faint);padding:12px 0 11px}.observations-row-head{align-items:center;gap:var(--space-2);margin:0;display:flex}.observations-time{font-size:var(--type-control);font-weight:700}.observations-row-head .chip{margin-left:auto}.observations-traced{font-size:var(--type-meta);color:var(--ink);align-items:center;gap:8px;margin:4px 0 0;font-weight:700;display:flex}.observations-traced .trace-glyph{flex:none}.observations-picked{font-size:var(--type-small);color:var(--text-muted);margin:4px 0 0;font-style:italic}.observations-gridref{font-family:var(--font-label);font-size:var(--type-small);letter-spacing:.04em;font-variant-numeric:tabular-nums;margin:4px 0 0;font-weight:700}.observations-meta{font-size:var(--type-body);color:var(--text-secondary);margin:4px 0 0}.observations-note{font-size:var(--type-body);text-wrap:pretty;margin:5px 0 0}.observations-note-edit{font-size:var(--type-meta);margin-top:3px}.observations-note-editor{gap:var(--space-2);flex-direction:column;margin-top:5px;display:flex}.observations-note-editor-actions{align-items:center;gap:var(--space-3);display:flex}.observations-photo,.observations-poor{font-size:var(--type-meta);color:var(--text-secondary);align-items:center;margin:7px 0 0;display:flex}.attachment-strip{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.attachment-strip .voice-transport{flex-basis:100%}.attachment-strip-photos{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.attachment-strip-photos::-webkit-scrollbar{display:none}.attachment-strip-photo{scroll-snap-align:start;flex:none}.attachment-strip-photos.attachment-strip-multi{flex-basis:100%}.attachment-chip{min-height:var(--touch-target);font-size:var(--type-meta);background:var(--surface);color:var(--ink);border:1px solid var(--control-rule);border-radius:var(--radius);align-items:center;gap:7px;padding:0 11px;display:inline-flex}.attachment-chip-loading{color:var(--text-muted);border-style:dashed}.attachment-add-photo{min-height:var(--touch-target);cursor:pointer;align-items:center;gap:7px;display:inline-flex}.attachment-add-photo input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.attachment-strip .observations-note-edit{margin-top:0;margin-left:auto}.observations-photo-thumb{object-fit:cover;border:1px solid var(--control-rule);border-radius:var(--radius);cursor:pointer;width:64px;height:64px;display:block}.observations-photo-thumb-pending{background:var(--surface-faint);cursor:default;border-style:dashed}.framing-screen{z-index:10;gap:var(--space-2);padding:calc(env(safe-area-inset-top,0px) + var(--space-3)) var(--space-3) calc(env(safe-area-inset-bottom,0px) + var(--space-3));color:#f4f0e8;background:#0d0e11f0;flex-direction:column;display:flex;position:fixed;inset:0}.framing-screen-head{align-items:center;gap:var(--space-2);display:flex}.framing-screen-back{min-width:var(--touch-target);min-height:var(--touch-target);border-radius:var(--radius);color:inherit;background:0 0;border:1px solid #f4f0e866;flex:none;justify-content:center;align-items:center;display:inline-flex}.framing-screen-back svg{width:15px;height:15px}.framing-screen-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--type-control);flex:1;font-weight:700;overflow:hidden}.framing-screen-count{color:#f4f0e8b3;font-variant-numeric:tabular-nums;font-weight:400}.framing-screen-walk{font-size:var(--type-control);font-variant-numeric:tabular-nums;flex:none;font-weight:700}.framing-screen-label{font-family:var(--font-label);font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:#f4f0e8b3;margin:0;font-weight:700}.framing-screen-reference{justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.framing-screen-stage{width:100%;min-height:0;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 12rem);touch-action:pan-y;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.framing-screen-photo{object-fit:contain;border-radius:var(--radius);-webkit-user-drag:none;max-width:100%;max-height:100%}.framing-screen-caption{font-family:var(--font-label);font-size:var(--type-badge);letter-spacing:.08em;color:#f4f0e8d9;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.framing-screen-note{font-size:var(--type-small);color:#f4f0e8bf;text-align:center;margin:0}.framing-screen-foot{gap:var(--space-2);flex-direction:column;display:flex}.framing-screen-shutter{min-height:4rem;font-size:var(--type-title);cursor:pointer;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.framing-screen-lens-hint{font-size:var(--type-fine);text-align:center;opacity:.85;margin:0}.framing-screen-library{min-height:3rem;font-size:var(--type-body);cursor:pointer;color:inherit;justify-content:center;align-items:center;display:inline-flex}.framing-screen-hint{font-size:var(--type-fine);color:#f4f0e8b3;text-align:center;margin:0}.photo-lightbox{z-index:10;justify-content:center;align-items:center;gap:var(--space-3);padding:calc(env(safe-area-inset-top,0px) + var(--space-3)) var(--space-3) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:#0d0e11f0;flex-direction:column;display:flex;position:fixed;inset:0}.photo-lightbox-stage{touch-action:pan-y;flex:auto;justify-content:center;align-items:center;width:100%;max-width:100%;min-height:0;display:flex;position:relative}.photo-lightbox-image{max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 10rem);object-fit:contain;-webkit-user-drag:none}.photo-lightbox-close{z-index:1;top:calc(env(safe-area-inset-top,0px) + var(--space-2));right:var(--space-2);width:var(--touch-target);height:var(--touch-target);color:#fff;border-radius:var(--radius);background:#00000073;border:1px solid #ffffff73;justify-content:center;align-items:center;display:inline-flex;position:absolute}.framing-screen-nav,.photo-lightbox-nav{width:var(--touch-target);height:var(--touch-target);color:#fff;border-radius:var(--radius);background:#00000073;border:1px solid #ffffff73;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.framing-screen-nav:disabled,.photo-lightbox-nav:disabled{opacity:.3}.framing-screen-nav-prev,.photo-lightbox-nav-prev{left:var(--space-2)}.framing-screen-nav-next,.photo-lightbox-nav-next{right:var(--space-2)}.photo-lightbox-caption{font-size:var(--type-fine);font-variant-numeric:tabular-nums;color:#ffffffb8;margin:0}.photo-lightbox-loading{font-size:var(--type-small);color:#f4f0e8bf;text-align:center;margin:0}.photo-lightbox-error{width:100%;max-width:24rem;font-size:var(--type-small);color:var(--danger-on-dark);margin:0}.photo-lightbox-cap{width:100%;max-width:24rem;font-size:var(--type-small);color:#f4f0e8bf;margin:0}.photo-lightbox-actions{align-items:center;gap:9px;width:100%;max-width:24rem;display:flex}.photo-lightbox-retake{min-height:var(--touch-target);font-size:var(--type-meta);color:#fff;border-radius:var(--radius);cursor:pointer;border:1px solid #ffffff73;align-items:center;gap:7px;padding:0 12px;display:inline-flex}.photo-lightbox-retake input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-lightbox-add{min-height:var(--touch-target);padding:0 var(--space-1);font-size:var(--type-meta);color:#fffc;cursor:pointer;align-items:center;gap:7px;text-decoration:underline;display:inline-flex}.photo-lightbox-add[aria-disabled=true]{opacity:.55;cursor:default}.photo-lightbox-add input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-lightbox-link{min-height:var(--touch-target);padding:0 var(--space-1);font-size:var(--type-meta);color:#fffc;background:0 0;border:none;margin-left:auto;text-decoration:underline}.photo-lightbox-delete-commit{min-height:var(--touch-target);font-size:var(--type-meta);color:var(--danger-on-dark);border:1px solid var(--danger-on-dark);border-radius:var(--radius);background:0 0;padding:0 12px}[data-mode=night] .observations-photo-thumb,[data-mode=night] .photo-field-thumb img,[data-mode=night] .photo-lightbox-image{filter:brightness(.55)}.observations-poor{color:var(--accent-deep);font-weight:700}.badge-not-exported{color:var(--text-secondary);border-style:dashed}.badge-exported{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge-changed{border-style:dashed;border-color:var(--accent-deep);color:var(--accent-deep)}.update-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:11px var(--space-4);font-size:var(--type-body);background:var(--accent);color:var(--paper);margin:0;font-weight:700;animation:.12s ease-out banner-in;display:flex}.button-inverse{background:var(--paper);color:var(--ink);border:1px solid var(--paper);border-radius:var(--radius);font-size:var(--type-small);padding:0 14px;font-weight:700}
