/* v2.5 UI owner: typography, spacing, controls, surfaces and responsive layout.
   Data symbols/palette/bins remain in model.js and the existing renderers. */
/* Existing local esamanru assets match Urban Feed byte for byte.
   Estate 400 (Light) and EstateMedium 500 are registered in styles.css.
   Match emphasized UI weights to the actual Medium file, without synthetic bold. */
@font-face{font-family:Estate;src:url('/assets/fonts/estate-medium.ttf') format('truetype');font-style:normal;font-weight:500 700;font-display:swap}
:root {
 --ui-font:Estate,'Malgun Gothic','Apple SD Gothic Neo','Segoe UI',sans-serif;
 --display-font:EstateMedium,sans-serif;
 --body:var(--ui-font);--heading:var(--ui-font);--data-font:var(--ui-font);
 --text-small:14px;--text-action:15px;--text-body:16px;
 --ink:#302937;--body-muted:#655d70;--muted:#655d70;
 --panel-padding:20px;--review-width:400px;--masthead-height:84px;
 --ui-line:#e5dfeb;--ui-tint:#f5f1f9;
}
body{font:400 var(--text-body)/1.6 var(--ui-font);font-synthesis:none;word-break:keep-all;overflow-wrap:anywhere}
button,input,select,textarea{font-family:var(--ui-font)}
strong,b{font-family:inherit;font-weight:700}
h1,h2,h3,h4{font-family:var(--ui-font);font-weight:700;line-height:1.4;letter-spacing:-.3px}
h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}
small,.caption{font-size:14px;line-height:1.6}.caption{color:var(--body-muted)}
.eyebrow{font:500 12px/1.5 var(--ui-font);letter-spacing:1.2px;color:#766582}
.primary,.line-button,.text-button,.quiet,.chip{font-size:15px;font-weight:600;line-height:1.4;min-height:40px}
.primary,.line-button{padding:10px 14px;border-radius:9px;min-height:44px}
.small{font-size:15px;padding:9px 12px;min-height:40px}
.text-button{padding:8px 0;white-space:normal;text-align:left;text-underline-offset:4px}
.text-button:hover{text-decoration:underline}.quiet:hover,.line-button:hover{background:#f2edf7}
.icon{width:40px;min-width:40px;min-height:40px;flex-shrink:0;font-size:24px;line-height:1}
.tag{font-size:14px;line-height:1.5;padding:3px 6px;border-radius:5px;box-shadow:none}
.check-row{font-size:14px;line-height:1.6;gap:8px;margin:12px 0}
input[type=checkbox]{width:18px;height:18px;margin:3px 0;flex-shrink:0;accent-color:var(--purple)}
input:not([type=checkbox]):not([type=range]),select,textarea{font-size:16px;line-height:1.5}
input[type=range]{min-height:24px;margin:8px 0}
.error,.success,.empty-state{font-size:16px;line-height:1.6}
.section-line{gap:8px;align-items:center;flex-wrap:wrap}
.section-line h2{font-size:18px}.section-line label{font-size:14px;font-weight:600}
:is(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #49316b;outline-offset:3px}
button:disabled{opacity:.65;cursor:not-allowed}
.chip.active,.chip[aria-pressed=true]{box-shadow:inset 0 0 0 2px #69409c;font-weight:700}

/* Brand, year and local composition: compact within groups, open between topics. */
.brand{font:20px/1.2 Estate,sans-serif;gap:10px;flex-shrink:0}
.brand strong{font-family:var(--display-font);font-weight:500}
.brand small{font:10px/1.4 var(--ui-font);letter-spacing:1.8px;margin-top:6px;color:#776882}
.intro h1,.story-panel .intro h1{font:500 28px/1.4 var(--display-font);letter-spacing:-.7px}
.intro p{font-size:16px;line-height:1.6;margin-top:12px;color:var(--body-muted)}
.intro .eyebrow{font-size:12px;margin-bottom:12px}
.year-heading,.story-panel .year-heading{display:flex;align-items:center;gap:6px;margin:12px 0 4px}
.year-heading strong{font:500 40px/1.2 var(--display-font);font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.year-heading>span{font-size:14px;white-space:nowrap;padding:12px 0 0;color:var(--muted)}
.year-heading #year-next{margin-left:auto}.year-heading .icon{font-size:20px}
.count-line{gap:6px;margin-top:10px;flex-wrap:wrap;align-items:baseline}
.count-line strong{font:500 36px/1.2 var(--display-font);font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.count-line>span:not(.tag),.count-line .tag{font-size:14px;white-space:nowrap}
.story-panel{padding:20px}.time-section{margin-top:16px;padding-bottom:12px}
.time-section .caption{font-size:14px;line-height:1.6;margin-top:8px}
.range-labels{font-size:14px;color:var(--muted)}.composition{padding-top:16px}
.composition>.caption{margin-top:6px}.composition .section-line .text-button{min-height:32px;padding:4px 0}.share-track{margin-top:8px}
.chart-tabs{margin:12px 0 8px;gap:0}.chart-tabs button{font-size:14px;min-height:40px;padding:8px 2px;font-weight:400}
.chart-tabs button.active{font-weight:700}
.metric-control{font-size:14px;gap:8px;margin:8px 0;align-items:center;flex-wrap:wrap}
.metric-control>span{font-size:14px;line-height:1.5;min-width:0;flex:1}
.metric-control select{font-size:16px;padding:6px 8px;min-height:40px;max-width:100%;width:132px}
#chart-caption{font-size:14px;line-height:1.6}.distribution{margin-top:12px}
.distribution-row{padding:10px 0 8px;gap:6px 8px;margin:0}
.distribution-row .row-label{font-size:15px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip}
.distribution-row .row-number{font:600 14px/1.5 var(--data-font);text-align:right;color:#473c53;white-space:nowrap}
.distribution-row .row-number small{font:400 14px/1.5 var(--data-font);display:inline;color:var(--muted)}
.distribution-row .bar{height:5px}.hint{font-size:14px;margin:12px 0 20px}
.composition .line-button{font-size:15px;padding:10px 12px;margin-top:16px}
.year-changes{margin:20px 0;padding-top:16px}.year-changes h3{font-size:18px}
.change-buttons{gap:8px;margin:12px 0}.change-buttons button{padding:12px;min-height:76px}
.change-buttons span{font-size:14px}.change-buttons strong{font:700 22px/1.4 var(--ui-font);margin-top:4px}
.side-footer{font-size:14px;line-height:1.6;margin-top:24px;padding-top:16px}

/* Header and outer workspace. Reserved review width does not grow on large monitors. */
.masthead{height:var(--masthead-height);min-height:var(--masthead-height);padding:12px 20px;gap:12px;flex-wrap:nowrap}
.masthead nav{gap:0}.masthead .quiet,.masthead .primary{font-size:15px;line-height:1.4;min-height:40px;padding:8px;white-space:nowrap}
.masthead nav b{font-size:14px;margin-left:4px}
.masthead #export-open{background:var(--ui-tint);color:#63428c;box-shadow:none}
.quick-year{font-size:14px;gap:8px;padding-left:12px;order:initial;width:auto;border-top:0}
.quick-year select{font:600 16px/1.5 var(--ui-font);min-height:40px;padding:6px 8px}
.workspace{height:calc(100dvh - var(--masthead-height));grid-template-columns:340px minmax(0,1fr);min-height:0}
.review-open .workspace{grid-template-columns:260px minmax(0,1fr) var(--review-width)}
.review-open .story-panel{padding:24px 16px}.review-open .intro h1{font-size:25px}
.review-open .year-heading strong{font-size:36px}.review-open .count-line strong{font-size:34px}
.review-open .year-heading .icon{min-width:32px;width:32px;min-height:40px}
.review-open .year-heading{gap:4px}.review-open .year-heading>span{font-size:14px}

/* Map controls use their content width, not a tall internally scrolling panel. */
.map-shell{container-type:inline-size;margin:16px 16px 16px 0;border-radius:18px}
.map-top{top:12px;left:12px;right:12px;max-height:none;overflow:visible;pointer-events:none}
.map-query-context{font:14px/1.5 var(--ui-font);padding:6px 10px;gap:4px 8px;margin-bottom:8px;max-width:100%;border:0;box-shadow:0 1px 4px #30293712}
.map-query-context strong{font:600 14px/1.5 var(--ui-font)}
.map-top .filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:100%;padding:10px;border:1px solid #e7e0ed;box-shadow:0 2px 8px #30293712;border-radius:12px}
.filter-trigger{font-size:15px;font-weight:600;min-height:40px;padding:8px 10px;gap:6px}
.filter-trigger b{font-size:14px;min-width:22px;height:22px}
.map-top .active-filters{max-width:100%;flex-wrap:wrap;overflow:visible;gap:6px;min-width:0;flex:1 1 auto}
.no-filters{display:block;font-size:14px;line-height:1.5;white-space:normal;padding:0;color:var(--muted)}
.active-filter{font-size:14px;line-height:1.5;min-height:32px;padding:5px 8px;white-space:normal;overflow-wrap:anywhere;text-align:left}
.filter-toolbar #reset{font-size:14px;padding:4px;min-height:32px}
.map-top .view-picker,.map-top #purpose-basis-control{font-size:14px;display:flex;align-items:center;gap:6px;margin:0;padding:0;width:auto;flex-basis:auto;border:0;white-space:nowrap;color:var(--muted)}
.map-top .view-picker select,.map-top .purpose-basis select{font:400 16px/1.5 var(--ui-font);min-height:40px;padding:6px 8px;max-width:100%;width:auto;min-width:0}
.places{gap:6px;flex-wrap:wrap;margin:8px 0}.places>span{display:inline-block;font-size:14px;padding:4px 6px;background:#ffffffed;border-radius:6px}
.places button{font-size:14px;font-weight:500;min-height:36px;padding:6px 10px;box-shadow:0 1px 3px #30293714}
.map-top .map-message,.map-top .pinned-banner{position:static;max-width:100%;width:fit-content;margin:8px 0 0;font-size:14px;line-height:1.5;padding:8px 12px;pointer-events:auto}
.pinned-banner button{font-size:14px;min-height:32px;margin-left:8px}
.map-controls{right:12px;bottom:16px;gap:6px}.map-control,.map-control:first-child{width:44px;min-height:44px;font-size:22px;border-radius:9px;margin:0}
.map-control:first-child,#mobile-summary{font-size:14px;line-height:1.4;min-height:48px}
.map-bottom{left:12px;right:68px;bottom:16px;max-width:800px}
.legend{gap:6px 10px;padding:8px 10px;max-width:100%;width:fit-content;border-radius:10px;box-shadow:0 1px 4px #30293712}
.legend span,.legend button{font-size:14px;line-height:1.5;max-width:none}.legend button{min-height:28px;font-weight:600}
.legend i{width:9px;height:9px;flex-shrink:0}
.map-status{font-size:14px;line-height:1.5;gap:4px;flex-wrap:wrap;margin:6px 0 0}.map-status span{padding:2px 5px}
.leaflet-control-attribution{font:12px/1.4 var(--ui-font)!important}
.legend-items{gap:0 20px;margin-top:16px}.legend-items>div{font-size:15px;padding:12px 0}
@container(max-width:760px){
 .map-top .filter-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);width:100%}
 .map-top .view-picker,.map-top #purpose-basis-control{display:grid;grid-template-columns:90px minmax(0,1fr);grid-column:1/-1;width:100%}
 .map-top .view-picker select{width:100%}.filter-toolbar #reset{grid-column:1/-1;justify-self:start}
}
@container(min-width:501px) and (max-width:760px){
 .map-top .filter-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}
 .map-top .filter-trigger{grid-column:1}.map-top .active-filters{grid-column:2/-1}
 .map-top .view-picker,.map-top #purpose-basis-control{grid-column:span 2;display:flex;gap:6px}
 .map-top .view-picker select{width:0;flex:1}
 .map-top .filter-toolbar:has(#reset:not([hidden])) .filter-trigger{grid-row:1;align-self:start}
 .map-top .filter-toolbar:has(#reset:not([hidden])) .active-filters{grid-row:1/span 2}
 .map-top .filter-toolbar:has(#reset:not([hidden])) #reset{grid-column:1;grid-row:2;align-self:start}
 .map-top .filter-toolbar:has(#reset:not([hidden])) .view-picker{grid-row:3}
}

/* A single scroll body between modest dialog header/footer. */
.modal{width:760px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);border-radius:18px}
.modal::backdrop{background:#28223055;backdrop-filter:blur(2px)}
.modal[open]{display:flex;flex-direction:column}.modal>form{display:flex;flex-direction:column;min-height:0;max-height:inherit}
.modal-head,.filters-modal .modal-head{padding:20px;gap:12px;align-items:flex-start;flex-shrink:0}
.modal-head h2,.filters-modal .modal-head h2{font-size:24px;line-height:1.4;font-weight:700;overflow-wrap:anywhere}
.modal-head p{font-size:14px;line-height:1.6;margin-top:8px}.modal-head .eyebrow{font-size:12px;margin-bottom:8px}
.modal-head .close{font-size:26px;align-self:flex-start}
.modal .modal-body{padding:20px;overflow:auto;min-height:0;flex:1 1 auto;max-height:none;scroll-padding:20px}
.modal-actions{padding:12px 20px;gap:12px;flex-shrink:0;flex-wrap:wrap;background:#faf8fc}
.modal-actions .primary,.modal-actions .line-button{font-size:15px;min-height:44px;padding:10px 14px}
.modal-body p:not(.caption){font-size:16px;line-height:1.6}.modal-body>p+p{margin-top:16px}
.modal-body .caption{font-size:14px;line-height:1.6}
.filters-modal{width:840px}.filters-modal .modal-body{max-height:none}
.filter-info{font-size:14px;line-height:1.6;padding:10px 12px;background:#f6f2fa}
#filter-sections-note{font-size:14px;line-height:1.6;margin:12px 0}
.filter-jumps{gap:8px;margin:12px 0 16px}.filter-jumps button{font-size:14px;min-height:36px;padding:7px 10px;border-radius:7px;font-weight:400}
.filter-section{margin:12px 0;border-radius:10px}.filter-section>summary{font-size:18px;font-weight:600;padding:12px 16px;line-height:1.5}
.filter-section>summary span{font:600 14px/1.5 var(--ui-font);float:none;margin-left:12px;display:inline-block}
.filter-section-content{padding:0 16px 16px}.filters-modal .filter-section-content>section{padding:0;border:0}
.filter-numeric-group{gap:24px}.filter-numeric-group h3{font-size:18px;margin:0 0 12px}
.filter-section-content .category-groups{max-height:none;overflow:visible;margin-top:12px}
.category-search{font-size:16px;padding:9px 12px;min-height:44px;width:100%;min-width:0;max-width:none}
.category-group{padding:12px 0}.category-group>summary{font-size:16px;font-weight:600;line-height:1.6}
.category-group summary small{font:400 14px/1.5 var(--ui-font);display:inline-block;margin-left:10px;color:var(--muted)}
.category-group .category-items{gap:8px;padding:12px 0 0}.category-group .chip,.chip{font-size:15px;line-height:1.5;min-height:40px;padding:8px 12px}
.category-group .chip small{font-size:14px;opacity:1}.group-select{font-size:14px;margin-top:10px}
.range-inputs{gap:8px;font-size:14px;margin-top:10px}.range-inputs input{font-size:16px;min-height:44px;padding:9px 12px}
.range-scope{font-size:14px;margin-top:8px;line-height:1.5}.dual-range{gap:16px;margin:12px 0}
.dual-range label{font-size:14px;line-height:1.5}.dual-range input{height:24px;min-height:24px;margin-top:6px}
.mini-histogram{gap:10px;min-height:100px;margin:12px 0}.mini-histogram>div{font-size:14px;flex:1;min-width:0}
.mini-histogram span{font:600 14px/1.5 var(--ui-font);margin-bottom:6px;color:#4f435b}
.mini-histogram small{font-size:14px;line-height:1.5;min-height:0;margin-top:6px;word-break:normal;overflow-wrap:anywhere}
.mini-histogram p{font-size:14px;margin-top:8px}

/* Record summaries keep labels next to values; evidence is body text. */
.record-summary{margin:0 0 16px}.record-address{font:400 16px/1.6 var(--ui-font);margin:0 0 10px;color:#4d4158}
.record-summary-tags{font-size:14px;gap:6px}.record-summary-tags span{font-size:14px;line-height:1.5;padding:3px 6px;font-weight:400;background:#f2eef6;box-shadow:none}
.record-metrics{gap:8px 16px;margin:12px 0 0}.record-metrics>div{padding:10px 12px;border-radius:6px;background:#f7f5f9}
.record-metrics dt{font-size:14px;line-height:1.5;color:var(--muted)}
.record-metrics dd{font:700 20px/1.4 var(--data-font);margin:4px 0 0;color:var(--ink)}
.record-metrics .metric-wide{grid-column:1/-1}.record-metrics .metric-wide dd{font-size:18px}
.detail-modal .record-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-modal .record-metrics .metric-wide{grid-column:auto}
.record-row{padding:14px 0;gap:12px;align-items:start}.record-row>input[type=checkbox]{margin-top:5px}
.record-name{font-size:16px;font-weight:600;line-height:1.5}.record-row .record-address{font-size:16px;line-height:1.6}
.record-row .record-meta{font-size:14px;line-height:1.6;gap:6px 12px;margin-top:6px}
.record-row .record-reasons,.record-row>.record-open>.caption,.record-row small.caption{font-size:14px;line-height:1.6;margin-top:6px}
.favorite-button{font-size:24px;min-width:40px;min-height:40px;padding:4px;align-self:start}
.record-sort{font-size:14px;gap:8px;margin:16px 0 8px}.record-sort select{font-size:16px;min-height:44px;padding:8px;max-width:100%}
.record-facts>div{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px 0;font-size:16px;line-height:1.6}
.record-facts dt{font-size:14px}.record-facts dd{font-size:16px;color:var(--ink)}
.record-identifiers{font:14px/1.6 var(--data-font);margin:16px 0}
.record-tabs{gap:0;margin:16px 0;top:-20px;padding:6px 0 0;box-shadow:0 1px 0 var(--ui-line)}
.record-tabs button{font-size:14px;line-height:1.5;min-height:44px;padding:8px 4px;font-weight:400;white-space:normal}
.record-tabs button[aria-selected=true]{font-weight:700;border-bottom-width:3px}
.record-tab-panel{font-size:16px;line-height:1.6}.record-tab-panel .review-section{margin:20px 0}
.review-section h3{font-size:18px;margin-bottom:10px}.record-tab-panel .review-key{font-size:18px;line-height:1.6;font-weight:600}
.record-tab-panel .review-note,.review-note{font-size:16px;line-height:1.6;padding:12px;margin:12px 0}
.all-record-facts{margin:20px 0}.all-record-facts>summary{font-size:16px;padding:10px 0;font-weight:600}
.fact-grid{gap:16px}.fact dt{font-size:14px;color:var(--muted)}.fact dd{font-size:16px;line-height:1.6;margin-top:6px}
.raw-tools{top:-20px;gap:12px;padding:12px 0;align-items:end;border-bottom:1px solid var(--ui-line);background:#fffdfb}
.raw-tools>label:first-child{font-size:14px;line-height:1.5;min-width:160px}
.modal .raw-tools input[type=search]{font-size:16px;min-height:44px;margin-top:6px;padding:9px 12px;min-width:0}
.raw-tools .check-row{font-size:14px;min-height:44px;margin:0;align-items:center}
.raw-tools>.caption{width:auto;flex:0 0 auto;min-height:44px;display:flex;align-items:center;margin:0 0 0 auto;font-size:14px}
.raw-table{font-size:16px;line-height:1.6;table-layout:fixed;width:100%}.raw-table td,.raw-table th{padding:10px 12px;vertical-align:top;overflow-wrap:anywhere}
.raw-table td{font-size:16px}.raw-table td:first-child,.raw-table th{font-size:14px;color:var(--muted);width:42%;word-break:normal;overflow-wrap:anywhere}
.history{gap:6px;margin-top:12px}.history span{font-size:14px;padding:6px}
.detail-v2-tools,.review-detail-entry{gap:8px;margin:12px 0}
.detail-v2-tools button,.review-detail-entry button{font-size:15px;line-height:1.5;min-height:40px;padding:8px 10px}
.detail-visibility,.review-detail-entry p.caption,.modal-body .detail-visibility{font-size:16px;line-height:1.6}
.review-detail-entry p{margin:8px 0 0}.detail-visibility{padding:12px;margin:16px 0}

/* Review list and detail, with checkbox state drawn from the actual input. */
.review-panel{margin:16px 16px 16px 0;border-radius:14px;box-shadow:0 2px 12px #3323440b}
.review-panel-head{padding:12px 16px;gap:8px;align-items:center}.review-panel-head h2{font-size:20px;line-height:1.4;font-weight:700;margin:0}
.review-query-context{padding:10px 16px;font:14px/1.5 var(--ui-font);background:#f7f4fa}
.review-query-context strong{font:600 14px/1.5 var(--ui-font)}.review-query-context span{margin-top:4px}
.review-panel-scroll{padding:12px 16px 16px;scroll-padding:16px}.review-panel-tools{margin-bottom:8px;gap:8px;align-items:center;flex-wrap:wrap}
.review-panel-tools button{font-size:14px;min-height:32px;padding:4px 0}
.review-search-row{grid-template-columns:128px minmax(0,1fr) 50px;gap:8px;align-items:end;margin-bottom:12px}
.review-panel .review-fields{gap:12px;margin:12px 0}.review-fields label,.review-panel label:not(.check-row){font-size:14px;line-height:1.5}
.review-panel input:not([type=checkbox]),.review-panel select,.review-panel textarea,.review-fields select{font-size:16px;line-height:1.5;min-height:44px;padding:9px 8px;margin-top:6px}
.review-search-row #review-search{grid-column:auto;font-size:15px;line-height:1.5;height:44px;min-height:44px;margin:0;padding:8px;align-self:end;justify-self:stretch}
.review-panel .check-row{font-size:14px;line-height:1.6;margin:12px 0;gap:8px}
.review-options{margin:8px 0;border-radius:8px;background:transparent}.review-options>summary{font-size:14px;line-height:1.5;padding:10px;font-weight:600}
.review-options>summary span{float:right;display:inline;font-size:14px;margin-top:0;font-weight:400}
.review-options>div{padding:0 10px 12px}.review-options .caption{font-size:14px}
.review-region-tags{gap:8px}.review-candidate{padding:12px 0;gap:8px}.review-candidate small{font-size:14px;line-height:1.6}
#review-candidate-box{margin:8px 0}#review-candidate-box .line-button{font-size:14px;min-height:40px;padding:8px 10px}
#review-candidates{padding:12px}#review-candidates details,#review-refresh-scope{font-size:14px;line-height:1.6}
.review-panel .review-notice{padding:10px 12px;margin:8px 0;gap:4px 8px;font-size:14px;line-height:1.5}
.review-notice>strong{font-size:14px}.review-panel .review-notice>.text-button{min-height:32px;padding:4px 0;font-size:14px}
.review-panel .review-notice>details summary{min-height:28px;font-size:14px}.review-notice ul{font-size:16px;line-height:1.6}
.review-panel .review-options p.caption,.review-notice p.caption,.modal .detail-more>p.caption:first-of-type{font-size:16px;line-height:1.6}
.review-results-bar{top:-12px;font-size:14px;padding:8px 0;margin-top:8px;gap:8px;line-height:1.5;background:#fffdfb}
.review-results-bar button{font-size:14px;min-height:32px}
.review-record{padding:12px 4px;grid-template-columns:20px minmax(0,1fr);gap:8px;align-items:start;transition:background .12s}
.review-record>input{margin-top:4px}.review-record-open{gap:6px;border-radius:4px}
.review-record-open strong{font-size:16px;line-height:1.5;font-weight:600}
.review-record-open>span,.review-record-open small{font-size:14px;line-height:1.6}
.review-record:has(input:checked),.record-row:has(input:checked){background:#f2ebfa;box-shadow:inset 3px 0 #7541ad}
.review-record:hover:not(:has(input:checked)),.record-row:hover:not(:has(input:checked)){background:#faf8fc}
.review-row-tags{gap:4px 8px}.review-row-tags b{font-weight:600}
.review-detail-footer{padding:12px 16px;gap:8px}.review-detail-footer button{font-size:15px;min-height:44px;padding:8px 12px}
.review-detail-year{gap:12px;flex-wrap:wrap;margin:16px 0}.review-detail-year strong{font-size:18px;line-height:1.5}
.review-time-pair{font-size:14px;gap:16px}.review-time-pair strong,.record-tab-panel .review-time-pair strong{font:600 18px/1.5 var(--ui-font);margin-top:6px}
.review-compare-table,.record-tab-panel .review-compare-table{font-size:16px;line-height:1.6;margin-top:16px}
.review-compare-table td,.review-compare-table th{padding:10px 8px;overflow-wrap:anywhere}.review-compare-table th{font-size:14px;font-weight:400;width:34%;color:var(--muted)}
.review-detail-view .caption,#review-detail-view .record-tab-panel p.caption{font-size:16px;line-height:1.6}
.review-history{margin:16px 0}.review-history .section-line{font-size:14px;gap:8px}
.review-history small,.record-tab-panel .review-history small{font-size:14px;line-height:1.6}
.review-history-cells{height:18px;margin-top:10px}.review-history-labels,.record-tab-panel .review-history-labels{font-size:14px;margin-top:8px}
.review-tool-menu{gap:12px}.review-tool-menu>button:not(.text-button){padding:16px;gap:8px;line-height:1.6;background:#faf8fc}
.review-tool-menu strong{font-size:18px}.review-tool-menu span{font-size:16px;line-height:1.6}
.review-guide-item{padding:16px 0}.review-guide-item summary{font-size:18px;line-height:1.5}.review-guide-item p{font-size:16px;line-height:1.6;margin-top:12px}
.review-cluster-locations{font-size:14px;padding-top:16px;margin-top:16px}.review-cluster-locations h4{font-size:16px;margin-bottom:8px}
.review-cluster-locations summary{font-size:14px;padding:8px 0}.review-cluster-locations p{font-size:16px;line-height:1.6}
.review-bon-map-label{font-size:15px;padding:10px 12px}.review-bon-map-label span{font-size:14px;line-height:1.6;margin-top:6px}

/* Secondary surfaces share the same reading and action roles. */
.search-form{gap:8px;margin-bottom:16px}.search-form input{font-size:16px;min-height:44px;padding:9px 12px}
.field-label{font-size:16px;line-height:1.5;margin-bottom:8px;font-weight:600}.report-modal textarea{font-size:16px;line-height:1.6;padding:12px;min-height:160px}
.report-modal .section-line{align-items:start;margin-top:16px;gap:12px}.attachment{font-size:14px;padding:12px 0;margin-top:16px;gap:8px;flex-wrap:wrap}
.report-review-meta{font:400 16px/1.6 var(--ui-font);padding:12px;margin:12px 0 16px}.context-details{font-size:16px;line-height:1.6;margin-top:16px}
.context-details summary{padding:8px 0}.report-modal .context-details p{font-size:16px;line-height:1.6;margin-top:8px}
.export-summary{padding:16px;font-size:16px;line-height:1.6}.export-summary strong{font:700 24px/1.4 var(--ui-font);display:block;margin-bottom:8px;color:var(--ink)}
.export-contract{padding:16px;margin:20px 0}.export-contract h3{font-size:18px}.export-contract p,.export-contract details,.export-contract li{font-size:16px;line-height:1.6;margin-top:12px}
.export-contract summary{padding:8px 0;font-weight:600}.export-formats{margin:16px 0;padding-bottom:16px}.export-formats legend{font-size:16px;font-weight:600;margin-bottom:8px}
.about-modal .lead{font-size:24px;line-height:1.6;font-weight:600}.about-modal .modal-body>p{margin:16px 0}
.about-facts{gap:20px;padding:16px;margin:20px 0}.about-facts strong{font:700 28px/1.4 var(--ui-font)}.about-facts span{font-size:14px;line-height:1.6}
.save-exploration-form{padding-bottom:16px}.save-exploration-form label{font-size:16px;margin-bottom:12px}.save-exploration-form>div{gap:8px}
.save-exploration-form input{font-size:16px;min-height:44px;padding:9px 12px}.save-exploration-form button{font-size:15px;min-height:44px}
.saved-row{gap:12px;padding:16px 0}.saved-row strong{font-size:16px;line-height:1.5}.saved-row span{font-size:14px;line-height:1.6;margin-top:8px}
.saved-row>button:last-child{min-width:40px;min-height:40px}.saved-favorites{margin-top:24px}
.cluster-preview{font-size:14px;padding:8px 2px;min-width:235px}.cluster-preview .eyebrow{font-size:14px;line-height:1.5}.cluster-preview h3{font:700 24px/1.4 var(--ui-font)}
.cluster-representative{font-size:14px;line-height:1.6}.cluster-representative strong{font:600 18px/1.5 var(--ui-font);margin-top:8px}
.cluster-median{font-size:14px}.cluster-median strong{font-size:18px;font-weight:700}.cluster-dist{margin:12px 0}
.cluster-dist>div{font-size:14px;line-height:1.6;padding:8px 0 12px;gap:12px}.cluster-dist b{white-space:normal;text-align:right;font-weight:600}.cluster-dist b small{font-size:14px;margin-top:4px}
.cluster-actions{gap:8px;margin-top:12px}.cluster-actions button{font-size:14px;min-height:40px;padding:8px 10px}.leaflet-popup-content{margin:14px 16px}
.map-task{font-size:16px;line-height:1.6;gap:12px;padding:16px;bottom:20px;max-width:calc(100% - 32px)}.map-task strong{font-size:18px}.map-task button{font-size:15px;min-height:44px}
.toast{font-size:15px;line-height:1.5;padding:12px 16px;max-width:calc(100vw - 32px)}

/* Medium screens keep map and review side by side; only existing More is used. */
.nav-more,.nav-short{display:none}
@media(min-width:761px) and (max-width:1179px){
 .workspace{grid-template-columns:300px minmax(0,1fr)}.review-open .workspace{grid-template-columns:minmax(0,1fr) 400px}
 .review-open .story-panel{display:none}.review-panel{grid-column:2}.masthead{gap:10px;padding-inline:16px}.masthead .brand{font-size:18px}
 .review-picking .workspace,.review-peeking .workspace{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:761px) and (max-width:900px){.review-open .workspace{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1179px){
 .masthead nav>:is(#saved-open,#about-open,#report-open,#export-open){display:none}
 .nav-more{display:block;position:relative}.nav-more>summary{display:flex;align-items:center;min-height:40px;font:600 15px/1.4 var(--ui-font);padding:8px 10px;list-style:none;cursor:pointer;border:1px solid #d9cce3;border-radius:9px;color:#62417f}
 .nav-more-menu{position:absolute;right:0;top:46px;min-width:210px;z-index:3000;background:#fff;border:1px solid #dfd4e8;padding:8px;border-radius:12px;box-shadow:0 10px 30px #38234625}
 .masthead .nav-more-menu button,.masthead .nav-more-menu #saved-open,.masthead .nav-more-menu #report-open,.masthead .nav-more-menu #export-open,.masthead .nav-more-menu #about-open{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:44px;padding:10px;font-size:15px;background:white;color:#5b3e77;border:0;border-radius:6px;text-align:left}
 .masthead .nav-more-menu #saved-open:before{content:none}.masthead .nav-more-menu #saved-open b{display:inline}.masthead .nav-more-menu button:hover{background:#f2ebf8}
}
@media(max-width:760px){
 :root{--masthead-height:104px;--panel-padding:16px}
 .masthead{display:grid;grid-template-columns:56px 56px minmax(0,1fr) 80px;grid-template-rows:40px 44px;gap:4px 8px;padding:8px 12px;align-content:center}
 .masthead .brand{grid-row:1;grid-column:1/4;font-size:16px;gap:8px;justify-self:start}.brand small{font-size:9px;letter-spacing:1.2px;margin-top:4px}
 .masthead nav{display:contents}.masthead #nav-more{grid-row:1;grid-column:4;justify-self:end}.nav-more>summary{font-size:14px;min-height:40px;padding:8px}
 .masthead #review-open,.masthead #search-open{font-size:14px;min-width:0;width:56px;height:44px;min-height:44px;padding:4px;border:1px solid #e2d7e9;border-radius:8px;background:white;display:flex;align-items:center;justify-content:center}
 .masthead #review-open{grid-row:2;grid-column:1}.masthead #search-open{grid-row:2;grid-column:2}
 .masthead #review-open:before,.masthead #search-open:after,.masthead #search-open>span{display:none}
 .masthead #review-open .nav-wide,.masthead #search-open .nav-wide{display:none}.masthead #review-open .nav-short,.masthead #search-open .nav-short{display:inline}
 .quick-year{grid-row:2;grid-column:3/5;order:initial;width:100%;padding:0;border:0;gap:6px;justify-content:flex-end;font-size:14px}.quick-year select{font-size:16px;padding:8px;min-height:44px;max-width:132px}
 .workspace{grid-template-columns:1fr;height:calc(100dvh - var(--masthead-height))}.story-panel{top:var(--masthead-height);padding:24px 16px}
 .story-panel .intro h1{font-size:28px}.story-panel .time-section{margin:20px 0 0;padding-bottom:16px}.story-panel .composition{padding-top:16px}
 .story-panel .year-heading strong{font-size:40px}.story-panel #global-count{display:block;font-size:14px}.story-panel #mobile-summary-close{top:16px;right:16px}
 .map-shell{margin:8px;border-radius:14px}.map-top{left:8px;right:8px;top:8px}.map-query-context{font-size:14px;padding:6px 8px;gap:2px 6px}
 .map-query-context span{display:inline}.map-top .filter-toolbar{padding:8px;gap:6px 8px}.filter-trigger{font-size:14px;min-height:44px;padding:8px}
 .map-top .view-picker,.map-top #purpose-basis-control{font-size:14px;grid-template-columns:86px minmax(0,1fr)}.map-top .view-picker select{font-size:16px;min-height:44px;padding:8px}
 .places{gap:4px;margin:6px 0}.places>span{font-size:14px;padding:4px}.places button{font-size:14px;padding:6px 8px;min-height:44px}
 .map-bottom{left:8px;right:60px;bottom:12px}.legend{gap:4px 8px;padding:6px 8px}.legend span,.legend button{font-size:14px}
 .map-status{font-size:14px;gap:4px}.map-status span{padding:2px 4px}.map-controls{right:8px;bottom:12px;gap:4px}.map-control{width:44px;min-height:44px}
 .review-open .workspace{grid-template-columns:1fr}.review-open .story-panel{display:none}
 .review-panel{position:absolute;top:auto;left:8px;right:8px;bottom:8px;width:auto;height:min(76dvh,720px);max-height:calc(100dvh - var(--masthead-height) - 24px);margin:0;border-radius:14px}
 .review-panel-head{padding:12px 16px;gap:8px;align-items:center}.review-panel-head h2{font-size:20px}.review-query-context{padding:10px 16px}
 .review-panel-scroll{padding:12px 16px 16px}.review-panel-tools{margin-bottom:8px}.review-panel button,.review-panel summary{min-height:44px}
 .review-panel .review-search-row{grid-template-columns:120px minmax(0,1fr) 52px;gap:6px}.review-panel .review-search-row input,.review-panel .review-search-row select{font-size:16px;min-height:48px;padding:10px 6px}.review-search-row #review-search{height:48px;min-height:48px}
 .review-options .review-fields{grid-template-columns:1fr}.review-options>summary span{font-size:14px}
 .review-results-bar{top:-12px}.record-tabs{top:-12px;gap:0}.record-metrics{gap:8px}.record-metrics>div{padding:10px}.record-metrics dd{font-size:20px}
 .record-facts>div{grid-template-columns:104px minmax(0,1fr);gap:12px;font-size:16px}.review-detail-footer{padding:12px 16px;gap:8px}
 .detail-modal .record-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-modal .record-metrics .metric-wide{grid-column:1/-1}
 .review-detail-footer button{font-size:15px;min-height:48px;padding:10px}#review-map-toggle{font-size:14px;min-height:44px;padding:8px 0}
 .review-picking .review-panel,.review-peeking .review-panel{top:calc(var(--masthead-height) + 8px);left:8px;right:8px;bottom:auto;width:auto;height:auto;max-height:none}
 .review-peeking .review-panel-head h2{font-size:18px}.review-peeking .review-panel-head .text-button{font-size:14px}
 .modal{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px);border-radius:16px}.modal-head,.filters-modal .modal-head{padding:16px;gap:8px}
 .modal-head h2,.filters-modal .modal-head h2{font-size:24px}.modal-head .eyebrow{font-size:12px}.modal .modal-body{padding:16px;scroll-padding:16px}
 .modal-actions{padding:12px 16px;gap:8px}.modal-actions .primary,.modal-actions .line-button{font-size:15px;min-height:48px;padding:10px}
 .detail-modal .modal-actions,.review-detail-footer:has(>button:nth-child(2)){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
 .detail-modal .modal-actions button,.review-detail-footer button{min-width:0;white-space:normal;line-height:1.5}
 .filter-section>summary{font-size:18px;padding:12px}.filter-section-content{padding:0 12px 12px}.filter-section>summary span{margin:6px 0 0;display:block}
 .filter-jumps{gap:6px;margin:12px 0}.filter-jumps button{min-height:44px}.category-group summary small{font-size:14px;margin-left:8px}
 .mini-histogram{gap:4px;align-items:stretch;flex-direction:column;min-height:0;margin:12px 0}
 .mini-histogram>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:6px 0 8px;text-align:left;min-height:0}
 .mini-histogram small{grid-row:1;grid-column:1;margin:0;font-size:14px;line-height:1.5}.mini-histogram span{grid-row:1;grid-column:2;margin:0;font-size:14px;text-align:right}
 .mini-histogram i{grid-row:2;grid-column:1/-1;height:6px!important;min-height:6px;border-radius:4px;width:var(--histogram-share);min-width:2px}
 .dual-range{gap:12px;margin-top:12px}.range-inputs{gap:6px}.range-inputs input{font-size:16px;min-height:48px;padding:10px}
 .raw-tools{top:-16px;padding:12px 0;gap:8px}.raw-tools>label:first-child{font-size:14px;flex-basis:100%;min-width:0}.modal .raw-tools input[type=search]{font-size:16px;min-height:48px}
 .raw-tools .check-row{font-size:14px;min-height:44px}.raw-table td,.raw-table th{padding:10px 8px}.raw-table td:first-child{width:46%}
 .record-row{gap:8px;padding:14px 0;align-items:start}.favorite-button{min-width:40px;min-height:44px;font-size:24px}.record-sort select{font-size:16px;max-width:100%}
 .legend-items{grid-template-columns:1fr}.export-summary{padding:16px;font-size:16px}.export-summary strong{font-size:24px}.export-contract{padding:16px}
 .save-exploration-form>div{flex-wrap:wrap}.save-exploration-form input{flex-basis:100%}.about-facts{padding:16px;gap:16px;flex-wrap:wrap}
 .map-task{bottom:16px;width:calc(100% - 24px);max-width:none;padding:16px;font-size:16px}.map-task button{font-size:15px;min-height:48px}.map-task-active .map-shell{margin-left:8px}
}
/* Narrow toolboxes pair their two selectors; values remain full-sized. */
@container(max-width:500px){
 .map-top .filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}
 .map-top .view-picker,.map-top #purpose-basis-control{grid-column:auto;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;white-space:normal}
 .map-top .view-picker select{width:100%;min-width:0}
}
@media(max-width:760px){
 .places{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;pointer-events:auto;padding-bottom:2px}
 .places>span,.places button{white-space:nowrap;flex-shrink:0}
}
/* Short phones retain every legend/status item in horizontal, scrollable strips.
   The existing full-legend action comes first, so nothing relies on guessing. */
@media(max-width:760px) and (max-height:700px){
 :root{--masthead-height:96px}.masthead{grid-template-rows:44px 44px;gap:0 8px;padding:4px 12px}.nav-more>summary{min-height:44px}
 .map-top{top:4px}.map-query-context{padding:4px 8px}.places{margin:4px 0;padding-bottom:0}
 .legend{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .legend span,.legend button{white-space:nowrap;flex-shrink:0}.legend #legend-info{order:-1}
 .map-status{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;pointer-events:auto;padding-bottom:2px}
 .map-status span{white-space:nowrap;flex-shrink:0}
}

/* v3.10: candidates stay inside the existing comparison flow. */
.review-candidate-search{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#e7dfee)}
.review-candidate-search>summary{padding:6px 0;font-weight:500}
.review-candidate-input{display:flex;gap:8px;align-items:center;margin:4px 0 14px}
.review-candidate-input input{flex:1;margin:0!important;min-width:0}
.review-candidate-input button{flex-shrink:0}
.review-search-candidate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px 0;border-bottom:1px solid var(--line,#e7dfee)}
.review-search-candidate strong{display:block;line-height:1.6;overflow-wrap:anywhere}
.review-search-candidate p{margin:5px 0;color:var(--muted);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.review-search-candidate small{font-size:14px;color:var(--muted)}
.review-search-candidate button{align-self:center}
.journey-special-notes{padding:2px 14px;margin:14px 0;border-left:3px solid #b7a0d3;background:#f8f5fb}
.journey-special-notes p{font-size:15px;line-height:1.85;margin:12px 0}
@media(max-width:600px){.review-candidate-input{flex-wrap:wrap}.review-candidate-input input{flex-basis:100%}.review-search-candidate{grid-template-columns:minmax(0,1fr)}.review-search-candidate button{justify-self:start}.journey-special-notes{padding-left:12px}}

/* v3.11: an additional regional review route; existing detail/compare panels are reused. */
.review-pending-entry{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:12px 0 18px}
.review-pending-entry .caption{font-size:14px}
#review-pending-back{margin:2px 0 14px}
.review-pending-intro{padding:16px 18px;background:#f8f5fb;border:1px solid #e7dfee;border-radius:12px;margin:14px 0 18px}
.review-pending-intro strong{font-size:16px;line-height:1.7}
.review-pending-intro p{font-size:14px;line-height:1.8;margin:8px 0}
.review-pending-intro p:last-child:empty{display:none}
.review-pending-row-reason{font-size:14px;line-height:1.75;color:#6f4d91;background:#f5f0fa;padding:7px 10px;border-radius:6px}
.review-pending-reason{padding:16px 18px;background:#f8f5fb;border-left:3px solid #a083c2;border-radius:0 10px 10px 0}
.review-pending-reason strong{font-size:16px;line-height:1.75;color:#5d387d}
.review-pending-reason p{font-size:15px;line-height:1.85;margin:12px 0}
@media(max-width:600px){.review-pending-entry{align-items:flex-start;gap:8px}.review-pending-intro,.review-pending-reason{padding:14px}}
#review-regional-navigation{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 0}
#review-regional-navigation>button{margin:0;min-height:36px}
.review-pending-intro{padding:12px 16px;margin:10px 0 14px}
.review-pending-intro #review-pending-counts{margin:0 0 6px;color:var(--text,#332a3d);font-weight:500}
.review-pending-intro summary{font-size:14px;line-height:1.7;padding:2px 0}
#review-pending-help #review-query-context{padding:10px 0 0;margin:0;background:transparent;border:0}

/* v3.12: the regional query begins with an explicit geographic scope. */
#region-query-workbench[hidden],#region-query-guide[hidden],#region-query-recovery[hidden],#region-query-target[hidden]{display:none!important}
.review-panel #review-missing-options[data-target-replaced]{display:none!important}
.review-panel[data-tool="missing"] #review-pending-entry{display:none!important}
.region-query-guide{padding:24px 2px 30px;max-width:580px}
.region-query-step{font-size:14px;color:var(--muted)}
.region-query-guide h3{font-size:24px;line-height:1.55;margin:18px 0 14px;letter-spacing:-.03em}
.region-query-guide>p{font-size:16px;line-height:1.9;margin:0 0 26px;color:var(--muted)}
.region-query-actions{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.region-query-guide>.text-button{margin-top:20px}
.region-query-actions button{min-height:44px}
.region-query-recovery{padding:16px 18px;border:1px solid #e4d6ec;border-radius:12px;background:#faf7fc;margin:4px 0 20px;font-size:14px;line-height:1.8}
.region-query-recovery strong{font-size:15px}
.region-query-recovery p{margin:6px 0 12px;color:var(--muted)}
.region-query-recovery>.text-button{margin-left:12px}
.region-query-target{margin:4px 0 16px}
.region-query-target label{display:block;color:var(--muted);font-size:14px;margin-bottom:7px}
.review-panel .region-query-target select{font-size:16px;min-height:46px;margin:0;width:100%;padding-right:28px}
.region-result-empty{padding:26px 0 30px}
.region-result-empty h3{font-size:19px;line-height:1.6;margin:0 0 12px}
.region-result-empty p{font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 22px;overflow-wrap:anywhere}
.region-result-empty .region-query-actions{align-items:flex-start}
#review-region-dialog .region-draft-selection .section-line{gap:12px;flex-wrap:wrap}
#review-region-dialog .region-draft-selection .section-line>div{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:600px){.region-query-guide{padding:20px 0}.region-query-guide h3{font-size:22px}.region-query-actions{align-items:stretch}.region-query-guide .region-query-actions>button{flex-basis:100%}.region-query-guide>p{margin-bottom:22px}.region-query-target{margin-top:0}.region-query-recovery{padding:14px}.region-query-recovery>.text-button{margin:8px 0 0}.region-result-empty{padding:20px 0}}
.region-related-review{margin-top:24px;padding-top:16px;border-top:1px solid #e7dfee}
.region-related-review>summary{font-size:14px;line-height:1.8;padding:4px 0}
.region-related-review .review-pending-entry{margin-top:14px}
body.spatial-ui #region-query-guide h3{font-size:24px;line-height:1.55;margin:18px 0 14px;letter-spacing:-.03em}
body.spatial-ui #region-query-guide>p{font-size:16px;line-height:1.9;color:var(--muted)}
body.spatial-ui .region-result-empty h3{font-size:19px;line-height:1.6}
body.spatial-ui #region-query-target select{margin:0;min-height:46px}
@media(max-width:600px){body.spatial-ui #region-query-guide h3{font-size:22px}}
body.spatial-ui #review-options #review-query-context{padding:10px 0;margin:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none}
#review-regional-navigation:not(:has(button:not([hidden]))){display:none}
@media(max-width:860px){body.spatial-ui #review-panel:is([data-region-phase="select-region"],[data-region-phase="locating"],[data-region-phase="no-candidates"],[data-region-phase="location-error"]){min-height:100svh}}

/* v3.13: source evidence, supporting attributes and approximate locations. */
body.spatial-ui .location-estimate-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:5px;color:#80500e;background:#fff2dc;border:1px solid #e4c28e;border-radius:6px;padding:4px 8px;font-size:14px;line-height:1.55;white-space:normal;vertical-align:middle;max-width:100%}
body.spatial-ui .location-estimate-badge:before{content:'≈';font-size:17px;line-height:1}
body.spatial-ui .record-summary-tags .location-estimate-badge{color:#80500e;background:#fff2dc}
.cluster-location-notice{padding:14px 16px;margin:16px 0 22px;background:#fff8ed;border:1px solid #ead3af;border-radius:10px;color:#6e4b21}
body.spatial-ui .cluster-location-notice strong{font-size:16px;line-height:1.8;color:#80500e}
body.spatial-ui .cluster-location-notice p{font-size:14px;line-height:1.85;margin:6px 0 0;color:#765d40}
body.spatial-ui .record-evidence,body.spatial-ui .record-support{margin:26px 0;padding:22px 20px;border:1px solid #e4ddea;border-radius:12px;background:#fff}
body.spatial-ui .record-evidence{background:#faf8fd;border-top:3px solid #a58bc4}
body.spatial-ui #review-detail-view .record-evidence h3,body.spatial-ui #review-detail-view .record-support h3{font-size:19px;line-height:1.65;margin:0 0 12px;color:var(--ink)}
body.spatial-ui .record-evidence>.caption,body.spatial-ui .record-support>.caption{font-size:14px;line-height:1.9;margin:0 0 20px;color:var(--muted)}
.evidence-facts{margin:0}
.record-evidence>details{padding-top:14px;border-top:1px solid #e7e0ed}
body.spatial-ui #review-detail-view .record-evidence>details>summary{font-size:14px;line-height:1.8;color:var(--accent)}
.evidence-facts>div{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1.35fr);gap:16px;padding:12px 0;border-top:1px solid #e7e0ed}
body.spatial-ui .evidence-facts dt{font-size:14px;line-height:1.85;color:var(--muted)}
body.spatial-ui .evidence-facts dd{margin:0;font-size:15px;line-height:1.9;overflow-wrap:anywhere;color:var(--ink)}
body.spatial-ui .evidence-trace{font-size:15px;line-height:1.9;margin:18px 0 12px;color:var(--ink)}
.record-support>details{border-top:1px solid var(--line);padding:14px 0}
body.spatial-ui .record-support>details>summary,body.spatial-ui .coordinate-support>summary{font-size:16px;line-height:1.8;color:var(--accent)}
.record-support .support-table{margin-top:14px;table-layout:fixed;width:100%}
.support-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.support-table-scroll.has-comparison table{min-width:480px}
body.spatial-ui #review-detail-view .support-scroll-hint{font-size:14px;line-height:1.8;margin:14px 0 0;color:var(--muted)}
body.spatial-ui .record-support .support-table th,body.spatial-ui .record-support .support-table td{font-size:14px;line-height:1.9;padding:13px 10px;overflow-wrap:anywhere}
.coordinate-support{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.coordinate-support .evidence-facts{margin-top:16px}
body.spatial-ui .coordinate-source-note{font-size:15px;line-height:1.9;padding:12px 14px;background:#f6f3f9;border-radius:8px;margin:12px 0}
body.spatial-ui .review-search-candidate .location-estimate-badge{display:flex;width:fit-content;margin-top:8px}
body.spatial-ui .review-comparison-current .location-estimate-badge{margin-top:8px}
@media(max-width:600px){body.spatial-ui .record-evidence,body.spatial-ui .record-support{padding:18px 14px;margin:22px 0}.evidence-facts>div{grid-template-columns:1fr;gap:4px}.record-support .support-table th,.record-support .support-table td{padding:12px 6px}.cluster-location-notice{padding:12px 14px}}
