@font-face{font-family:"Hanken Grotesk";src:url("fonts/hanken-variable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--font:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;--ink:#143247;--muted:#516172;--surface:#fbfbfa;--surface-soft:#eef1f3;--line:#d6dce0;--map-blue:#2f78c9;--danger:#a23c43;--text-xs:.875rem;--text-sm:1rem;--text-md:1.25rem;--text-lg:1.5rem}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#9daab4 var(--surface)}
[hidden]{display:none!important}
html,body{margin:0;height:100%}
body{background:var(--surface);color:var(--ink);font:400 1rem/1.5 var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
button,input,select,textarea{font:inherit;color:inherit;border-radius:0}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}
a{color:inherit;text-underline-offset:.2em}button,a{touch-action:manipulation}
::selection{color:var(--surface);background:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
input,textarea{caret-color:var(--ink)}
h1,h2,h3,p{margin:0}
h1{font-size:1.5rem;font-weight:500;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
h2{font-size:1.25rem;font-weight:500;line-height:1.25;letter-spacing:-.015em}
h3{font-size:1rem;font-weight:650}strong,b{font-weight:650}small{font-size:.875rem}
p+p{margin-top:12px}img{max-width:100%}
.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:12px 20px;background:var(--surface)}.skip-link:focus{top:12px}

/* A shared heading, one reading rail, and an uninterrupted map. */
.app-shell{height:100dvh;display:grid;grid-template-columns:380px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.brand-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px 28px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:28px;text-decoration:none;min-width:0}
.brand-logo{width:144px;height:auto;flex:0 0 auto}
.purpose-compact{display:none}.panel-toggle-copy{display:grid;gap:2px;text-align:left}.panel-toggle-copy strong{font-size:1rem;font-weight:500}.panel-toggle-copy small{font-size:.875rem;color:var(--muted)}
.brand>span{display:grid;gap:2px}.brand strong{font-size:1.5rem;font-weight:500;letter-spacing:-.025em;line-height:1.15}.brand small{font-size:1rem}
.header-location{flex-shrink:0;display:grid;font-size:.875rem;color:var(--muted);text-align:right}.mode-chip{font-size:.875rem}
.control-panel{grid-column:1;grid-row:2;display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line);background:var(--surface)}
.view-tabs,.mobile-nav{display:flex;flex-shrink:0}.view-tabs{padding:0 24px;border-bottom:1px solid var(--line)}
.view-tabs button,.mobile-nav button{flex:1;min-height:56px;padding:12px 8px;background:none;border:0;border-bottom:2px solid transparent;font-weight:500;color:var(--muted)}
.view-tabs button.is-active,.mobile-nav button.is-active{color:var(--ink);border-bottom-color:var(--ink)}
.view-tabs button:hover,.mobile-nav button:hover{background:var(--surface-soft)}
.panel-scroll{overflow:auto;overscroll-behavior:contain;padding:28px 24px 40px;min-height:0}.panel-toggle,.mobile-nav{display:none}
.section-heading,.subsection-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px}
.section-heading p,.subsection-heading p{color:var(--muted);margin-top:8px;font-size:.875rem}
.list-guidance{color:var(--muted);font-size:.875rem;margin:-8px 0 20px}
.primary-button,.secondary-button,.danger-button,.text-button,.icon-button,.walk-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border:1px solid var(--ink);text-decoration:none;font-size:1rem;font-weight:500;line-height:1.4}
.primary-button,.walk-button{background:var(--ink);color:var(--surface)}.secondary-button,.icon-button{background:transparent}
.danger-button{color:var(--danger);border-color:var(--danger);background:transparent}
.text-button{border-color:transparent;background:transparent;padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:.25em}
.primary-button:hover:not(:disabled),.walk-button:hover:not(:disabled){background:#25475c}
.secondary-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.danger-button:hover:not(:disabled){background:var(--surface-soft)}
.text-button:hover{text-decoration-thickness:2px}.icon-button{width:48px;flex:0 0 48px}.fit-icon{width:18px;height:18px;border:1.5px dashed currentColor}
.back-to-places{margin:-12px 0 20px}.propose-place{margin:0 0 16px}
.point-list{border-top:1px solid var(--line)}
.point-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:18px 0;background:none;border:0;border-bottom:1px solid var(--line);min-height:84px}
.point-row:hover,.point-row.is-selected{background:var(--surface-soft)}
.point-row>span:not(.point-code):not(.point-score){flex:1;min-width:0}.point-row strong{display:block;font-size:1rem;font-weight:500}
.point-row small{display:block;margin-top:4px;color:var(--muted);line-height:1.4}.point-code{display:none}.point-score{font-size:.875rem;color:var(--muted);white-space:nowrap}
.point-inspector:empty{display:none}.inspector-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.inspector-title>div{min-width:0}.inspector-title h2{font-size:1.5rem}.inspector-title p{color:var(--muted);margin-top:8px;font-size:.875rem}.inspector-title .assembly-icon{flex:0 0 36px;border:0;box-shadow:none;padding:0;background:none}
.inspector-context{font-size:1rem}.inspector-actions+.help-note{margin-top:12px}.site-facts{margin:24px 0}.site-facts>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.site-facts dt{color:var(--muted)}.site-facts dd{margin:0;font-variant-numeric:tabular-nums;text-align:right}.site-analysis>p{font-size:.875rem;color:var(--muted);margin:12px 0 20px}.row-arrow{flex:0 0 20px}
.status-chip,.type-chip{font-size:.875rem;color:var(--muted);font-weight:500}
.status-chip[data-status="review"],.status-chip[data-status="withdrawn"],.fail{color:var(--danger)}
.criteria-list{border-top:1px solid var(--line)}.criterion{padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.criterion span,.criterion strong{display:block}.criterion span{color:var(--muted);margin-bottom:3px}.criterion strong{font-weight:500}.pending{color:var(--muted)}
.inspector-actions{display:grid;gap:12px;margin-top:24px}.reopen-site{width:100%;margin-top:12px}
.welcome-dialog{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--ink)}.welcome-dialog h2{font-size:1.5rem;margin-bottom:16px}.welcome-dialog p{color:var(--muted)}.welcome-actions{display:grid;gap:8px;margin-top:20px}

/* Cartographic controls use the shared point symbol. */
.map-stage{position:relative;grid-column:2;grid-row:2;min-width:0;min-height:0;overflow:hidden;background:#e7ebed}.map{position:absolute;inset:0}
.map-bar{position:absolute;top:20px;left:20px;z-index:3}.map-controls{display:flex;align-items:center;gap:8px}
.basemap-switch{display:flex;background:var(--surface);box-shadow:0 3px 12px #14324720}.basemap-switch button{min-height:48px;padding:10px 16px;background:var(--surface);border:0;color:var(--muted)}.basemap-switch button.is-active{color:var(--surface);background:var(--ink)}
.map-locate{border:0;background:var(--surface);box-shadow:0 3px 12px #14324720}
.locate-icon{width:18px;height:18px;border:1.5px solid currentColor;position:relative;border-radius:50%}.locate-icon::before,.locate-icon::after{content:"";position:absolute;background:currentColor}.locate-icon::before{width:24px;height:1px;top:7px;left:-4px}.locate-icon::after{height:24px;width:1px;left:7px;top:-4px}
.map-legend{position:absolute;bottom:36px;right:20px;z-index:2;max-width:calc(100% - 100px);padding:8px 12px;background:var(--surface);font-size:.875rem;box-shadow:0 3px 12px #14324715}.legend-items{display:flex;flex-wrap:wrap;gap:8px 16px}.legend-items>span{display:flex;gap:8px;align-items:center}#legend-toggle{display:none}
.legend-block,.legend-core{display:inline-block;flex:0 0 18px;width:18px;height:14px;background:#2f78c929}.legend-block{border:1px solid #2f78c980}.legend-core{border:2px solid var(--ink);background:#14324720}
.legend-assembly{width:24px;height:24px}.legend-line{width:24px;border-top:2px solid var(--muted)}.legend-dot.report{width:12px;height:12px;background:var(--danger)}
.site-marker{border:0;background:transparent;padding:0;width:48px;height:48px;display:grid;place-items:center;position:absolute;cursor:pointer}
.assembly-icon{display:block;width:36px;height:36px;background:white;border:2px solid var(--map-blue);box-shadow:0 2px 6px #14324735;padding:3px}
.site-marker.is-selected{z-index:4}.site-marker.is-selected .assembly-icon{width:40px;height:40px;border-width:3px;outline:2px solid white}.site-marker:hover .assembly-icon{border-color:var(--ink)}
.site-marker[data-status="withdrawn"] .assembly-icon{filter:grayscale(1);border-color:var(--muted)}.site-marker[data-status="withdrawn"]::after{content:"";position:absolute;width:36px;height:2px;background:var(--ink);transform:rotate(-45deg);pointer-events:none}
.marker-alert,.site-marker .alert-icon{position:absolute;right:-2px;top:-2px;width:18px;height:18px;color:var(--danger)}
.user-location{width:18px;height:18px;background:var(--map-blue);border:3px solid white;border-radius:50%;box-shadow:0 2px 8px #14324745}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:32px;background:#e7ebed}.map-fallback small{max-width:34ch;color:var(--muted)}.map-fallback.is-error{color:var(--danger)}
.map-loader{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:loading 1s linear infinite}@keyframes loading{to{transform:rotate(360deg)}}
.maplibregl-map,.maplibregl-popup{font:inherit}.maplibregl-ctrl-group{border-radius:0;box-shadow:0 3px 12px #14324720}.maplibregl-ctrl-group button{width:48px;height:48px;border-radius:0!important}.maplibregl-ctrl-top-right{top:10px;right:10px}.maplibregl-ctrl-attrib{font-size:12px;background:#fbfbfaed}
.maplibregl-popup-content{border-radius:0;padding:20px;color:var(--ink)}.maplibregl-popup-close-button{min-width:48px;min-height:48px}.site-popup{display:none}.inventory-popup-copy h3{padding-right:24px}.inventory-popup-copy p{margin-top:8px;font-size:.875rem}.route-dock{display:none!important}

/* Help and evidence are continuous reading, with GIS disclosed. */
.process-steps,.drill-steps{padding:0;margin:0 0 24px;list-style:none}.process-steps li{display:flex;gap:16px;padding:0 0 24px}.process-steps li>span{min-width:16px;color:var(--muted);font-variant-numeric:tabular-nums}.process-steps p{margin-top:4px;color:var(--muted);font-size:.875rem}
.help-note,.safety-note,.privacy-note{color:var(--muted);font-size:.875rem}.safety-note{margin-top:24px}
.help-facts{margin:24px 0}.help-facts>div{padding:12px 0;border-top:1px solid var(--line)}.help-facts dt{font-weight:500}.help-facts dd{margin:4px 0 0;font-size:.875rem;color:var(--muted)}
details{border-top:1px solid var(--line);margin-top:24px}summary{cursor:pointer;min-height:48px;padding:14px 0;font-weight:500}details[open]>summary{margin-bottom:12px}
.method-intro,.analysis-overview,.analysis-selected,.criteria-deck,.formula-block,.draw-block{margin-bottom:28px}.method-intro p{margin-top:12px;font-size:.875rem;color:var(--muted)}
[data-view="draw"] .draw-block{margin-top:24px}
.analysis-candidate-strip{display:flex;flex-wrap:wrap;gap:4px}.analysis-candidate-strip button,.deck-dots button{min-height:48px;min-width:48px;padding:8px;border:1px solid var(--line);background:transparent}.analysis-candidate-strip button.is-active,.deck-dots button.is-active{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.analysis-selected>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.analysis-id,.analysis-method,.analysis-outcome{font-size:.875rem;color:var(--muted)}.analysis-id{display:block;margin-bottom:8px}
.calculation-list{margin:16px 0}.calculation-list>div{padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.calculation-list span,.calculation-list strong,.calculation-list small{display:block}.calculation-list small{color:var(--muted)}.calculation-list [data-pass="false"] strong{color:var(--danger)}
.method-actions,.draw-actions,.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.method-actions>*,.draw-actions>*,.report-actions>*{flex:1 1 130px}
.criterion-slide{min-height:200px}.criterion-slide h3{font-size:1.25rem;margin-bottom:12px}.criterion-slide p{color:var(--muted);font-size:.875rem}.criterion-slide svg{display:block;width:100%;height:auto;max-height:180px;margin:16px 0}
.deck-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.deck-dots{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:4px}
.formula-heading,.draw-heading,.draw-result-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.formula-heading span,.draw-heading>span{font-size:.875rem;color:var(--muted)}
.formula-block code{display:block;font-family:var(--font);font-size:1.25rem;padding:12px 0;font-variant-numeric:tabular-nums}.formula-criteria{display:grid;gap:8px;margin:16px 0;font-size:.875rem}.formula-block p,.draw-heading p,.draw-result{font-size:.875rem;color:var(--muted)}.draw-heading p{margin-top:8px}.draw-fields{display:grid;gap:12px}.draw-result{margin:20px 0}.export-drawn{width:100%}
.map-draw-toolbar{position:absolute;left:20px;right:20px;bottom:80px;z-index:5;display:flex;align-items:center;gap:8px;padding:12px;background:var(--surface);box-shadow:0 4px 16px #14324725}.map-draw-toolbar>span{flex:1}.map-draw-toolbar small{display:block;color:var(--muted)}.is-drawing .map canvas{cursor:crosshair}

/* One field sequence, without nested panels. */
.field-label,.measure-grid label,.draw-fields label{display:block;font-size:.875rem;font-weight:500}.field-label{margin:20px 0 6px}.field-label span{font-weight:400;color:var(--muted)}
input:not([type="radio"]):not([type="checkbox"]),select,textarea{width:100%;min-height:48px;border:0;border-bottom:1px solid #8c9ba5;padding:10px 0;background:transparent}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:var(--muted)}input[type="file"]{font-size:.875rem}input::file-selector-button{min-height:48px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;margin-right:8px}
fieldset{min-width:0;margin:28px 0 0;border:0;padding:0}legend{padding:0;font-size:1.25rem;font-weight:500;margin-bottom:12px}legend span{margin-right:8px;color:var(--muted)}fieldset>p{font-size:.875rem;color:var(--muted);margin-bottom:16px}
.measure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.measure-grid input,.measure-grid select{margin-top:4px}
.rule-result,.capacity-result{display:block;padding:12px 0;margin-top:8px;font-size:.875rem;font-weight:500}.rule-result[data-state="fail"],.rule-result.is-fail{color:var(--danger)}.quick-reference{margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums}th,td{padding:8px 0;text-align:left;border-bottom:1px solid var(--line)}th{font-weight:500}
.choice-row,.hazard-list{display:grid;margin-top:12px}.choice-row label,.hazard-list label{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;font-size:.875rem}input[type="radio"],input[type="checkbox"]{width:20px;height:20px;margin:0;flex:0 0 20px;accent-color:var(--ink)}.privacy-note{margin-top:8px}#save-report{width:100%;margin-top:24px}
.route-source-card{margin:24px 0;padding:16px 0;border-block:1px solid var(--line)}.route-source-card>span,.route-source-card>strong{display:block;font-size:.875rem}.route-source-card p{margin-top:8px;font-size:.875rem;color:var(--muted)}
.walking-status-heading{display:flex;align-items:center;gap:8px}.gps-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.walking-status p{margin:8px 0 16px;color:var(--muted);font-size:.875rem}.walking-status .primary-button{width:100%}.walking-status small{display:block;color:var(--muted);margin-top:8px}.walking-status[data-state="error"] .walking-status-heading{color:var(--danger)}
.drill-clock{display:grid;gap:4px;padding:24px 0;margin:24px 0;border-block:1px solid var(--line)}.drill-clock strong{font-size:1.5rem;font-weight:500;font-variant-numeric:tabular-nums}.drill-clock small,.drill-clock>span{font-size:.875rem;color:var(--muted)}.button-stack{display:grid;gap:12px}
.walking-directions{padding-left:24px;margin:24px 0}.walking-directions li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.875rem}.walking-directions small{display:block;color:var(--muted)}.drill-steps{margin-top:24px}.drill-steps li{padding:6px 0;font-size:.875rem;color:var(--muted)}
.report-card{padding:24px 0;border-bottom:1px solid var(--line)}.report-card header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.report-card p,.report-card time{font-size:.875rem}.report-card time,.report-origin{color:var(--muted)}.report-card .secondary-button,.report-card .danger-button{margin-top:12px}.report-measures{margin:16px 0;font-size:.875rem}.report-measures div{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.report-measures dd{margin:0}.report-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.report-photos img{width:100%;aspect-ratio:4/3;object-fit:cover}.report-divider{margin-top:28px}.empty-state{color:var(--muted);padding:28px 0}
.toast{position:fixed;left:50%;bottom:24px;z-index:30;max-width:min(560px,calc(100vw - 32px));padding:16px 20px;background:var(--ink);color:var(--surface);box-shadow:0 4px 16px #14324730;transform:translate(-50%,12px);opacity:0;pointer-events:none;transition:opacity 160ms ease-out,transform 160ms ease-out}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.noscript{position:fixed;inset:auto 16px 16px;padding:20px;z-index:40;background:var(--surface);color:var(--danger)}

@media(max-width:1100px){
  .brand-bar{padding:16px 24px;gap:20px}.brand{gap:20px}.brand-logo{width:120px}.brand small{max-width:36ch;font-size:.875rem}.header-location{max-width:190px}
}
@media(max-width:760px), (max-height:500px) and (pointer:coarse){
  .app-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}
  .brand-bar{grid-row:1;display:block;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}.brand{gap:12px;align-items:center}.brand-logo{width:76px;margin:0}.brand strong{font-size:1.25rem;line-height:1.2}.brand small{max-width:none;line-height:1.4;margin-top:2px}.purpose-full,.header-location{display:none}.purpose-compact{display:inline}
  .map-stage{grid-column:1;grid-row:2}.control-panel{grid-column:1;grid-row:3;border-right:0;border-top:1px solid var(--line);overflow:hidden}
  .panel-toggle{display:flex;justify-content:space-between;align-items:center;min-height:64px;border:0;border-bottom:1px solid var(--line);padding:8px 16px;background:var(--surface);font-size:1rem;font-weight:500;flex:0 0 auto}
  .panel-toggle::after{content:"";width:7px;height:7px;border-left:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg);margin:4px 4px 0 12px;flex:0 0 7px}.panel-expanded .panel-toggle::after{transform:rotate(225deg);margin-top:-4px}
  .view-tabs{display:none}.panel-scroll{padding:16px 16px 24px}.section-heading{margin-bottom:16px}.point-row{min-height:72px;padding:12px 0}
  .app-shell:not(.panel-expanded) .panel-scroll{display:none}
  .app-shell.panel-expanded .panel-toggle,.app-shell.has-selection .panel-toggle{min-height:48px}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .panel-scroll{display:block;padding:8px 16px 16px;max-height:38dvh}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) #back-to-places,
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-context,
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .site-facts,
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .point-inspector>details,
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .point-inspector>.help-note{display:none}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-context.has-alert{display:block;font-size:.875rem;margin:0 0 8px;color:var(--danger)}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-title{margin-bottom:12px;gap:12px}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-title h2{font-size:1.25rem;line-height:1.2}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-title p{margin-top:4px}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-actions button{padding-inline:8px}
  .mobile-nav{display:flex;grid-column:1;grid-row:4;z-index:8;background:var(--surface);padding:0 12px env(safe-area-inset-bottom);border-top:1px solid var(--line)}.mobile-nav button{min-height:56px}
  .app-shell.panel-expanded{grid-template-rows:auto minmax(140px,30dvh) minmax(0,1fr) auto}
  .app-shell.panel-expanded:is([data-view="validate"],[data-view="analysis"],[data-view="reports"]){grid-template-rows:auto minmax(0,1fr) auto}
  .app-shell.panel-expanded:is([data-view="validate"],[data-view="analysis"],[data-view="reports"]) .map-stage{display:none}
  .app-shell.panel-expanded:is([data-view="validate"],[data-view="analysis"],[data-view="reports"]) .control-panel{grid-row:2}
  .app-shell.panel-expanded:is([data-view="validate"],[data-view="analysis"],[data-view="reports"]) .mobile-nav{grid-row:3}
  .has-welcome .view-panel[data-view="points"]{display:none}.welcome-dialog{padding:0;margin:0;border:0}.welcome-dialog h2{margin-bottom:8px}.welcome-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.welcome-actions button{padding-inline:8px}
  .view-panel[data-view="draw"]>[data-back-to-site]{display:none}.view-panel[data-view="draw"] .draw-block{margin-top:16px}
  .map-bar{top:12px;left:12px}.basemap-switch button{padding-inline:12px}.maplibregl-ctrl-top-right{top:2px;right:2px}.map-legend{bottom:28px;right:12px;max-width:calc(100% - 80px);padding:0}.legend-items{display:none;padding:8px 12px 12px}.map-legend.is-open .legend-items{display:grid}#legend-toggle{display:block;min-height:48px;min-width:80px;width:100%;padding:10px 12px;border:0;background:transparent;text-align:left}.panel-expanded .map-legend,.panel-expanded .maplibregl-ctrl-group{display:none}
  .map-draw-toolbar{inset:auto 12px 28px;flex-wrap:wrap;padding:8px}.map-draw-toolbar>span{flex-basis:100%;font-size:.875rem}.map-draw-toolbar small{display:none}.map-draw-toolbar button{flex:1;font-size:.875rem;padding-inline:8px}
  .toast{bottom:calc(72px + env(safe-area-inset-bottom));width:calc(100vw - 32px)}
}
@media(max-width:380px){.brand-bar{padding-inline:16px}.brand{gap:12px}.brand-logo{width:76px}.panel-scroll{padding-inline:16px}.measure-grid{gap:12px}}
@media(max-width:350px){.brand-logo{width:60px}.brand{gap:10px}.purpose-compact{font-size:.875rem}.app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-actions{grid-template-columns:1fr}.app-shell.has-selection[data-view="points"]:not(.panel-expanded) .panel-scroll{max-height:46dvh}}
@media(max-height:500px) and (pointer:coarse){
  .app-shell.panel-expanded{grid-template-rows:auto minmax(0,1fr) auto}.app-shell.panel-expanded .map-stage{display:none}.app-shell.panel-expanded .control-panel{grid-row:2}.app-shell.panel-expanded .mobile-nav{grid-row:3}
  .brand>span{display:flex;align-items:baseline;gap:16px}.brand small{margin:0}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .panel-scroll{max-height:35dvh;padding-block:8px}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .point-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-title{margin:0}
  .app-shell.has-selection[data-view="points"]:not(.panel-expanded) .inspector-context.has-alert{grid-column:1/-1}
  .toast{bottom:calc(60px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
