/* Shared visual language with MineScope Radar. */
:root{color-scheme:only dark;--ground:#0E1417;--surface:#151D21;--sunken:#0B1114;--ink:#E6EBE3;--ink-2:#9BA79F;--ink-3:#6E7A74;--line:#2A3437;--line-soft:#212A2D;--tech:#6FB4E0;--env:#6ECBA2;--social:#DCAE55;--focus:#7CC0EE;--danger:#E08063;--shadow:none;--font:Arial,Helvetica,sans-serif;--muted:var(--ink-2);--paper:var(--surface);--wash:var(--ground);--orange:var(--social);--deep:var(--sunken);--raised:var(--ground)}
body{font:15px/1.45 Arial,Helvetica,sans-serif;background:var(--ground);color:var(--ink);overflow:hidden}
button,input,select,textarea,h1,h2,h3,.brand,.project-number,.sentiment-ring strong,.pulse-total>strong,.place-card strong,.region-label,.cluster-place,.stat-grid strong{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal}
button,a,input,select{transition:background .15s,color .15s,border-color .15s}button:hover{filter:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}button,input,select,textarea{accent-color:var(--focus)}
a{color:var(--tech)}.button{font-size:12px;font-weight:500;border:1px solid var(--line);border-radius:4px;min-height:32px;padding:6px 11px;color:var(--ink);background:var(--surface);box-shadow:var(--shadow)}.button:hover{background:var(--ground);border-color:var(--ink-3)}.button.dark{background:var(--focus);border-color:var(--focus);color:var(--sunken)}.button.dark:hover{background:var(--tech)}
.topbar{height:54px;display:flex;padding:0 18px;gap:22px;background:var(--surface);border-color:var(--line);--brand-color:var(--ink)}.brand{font-size:21px;font-weight:700;gap:7px;letter-spacing:.2px}.brand svg{width:25px;height:27px;stroke:var(--ink-2);stroke-width:2}.brand-dot{color:var(--tech)}.context-text{font-size:9px;letter-spacing:.7px;color:var(--ink-3)}.divider{background:var(--line);height:25px}.project-context{gap:19px}.brand-partners{padding-left:20px;gap:17px;border-color:var(--line);opacity:.72}.partner-mark{height:22px}.city-science{width:45px}.media-lab{width:42px}.header-location{font-size:11px;color:var(--ink-2);gap:10px}.header-location>span{font-size:10px;color:var(--ink-3);border-color:var(--line);letter-spacing:1px}.topbar .button{font-size:12px;min-height:30px;padding:5px 10px}.top-spacer{display:block}
.workspace{height:calc(100dvh - 54px);min-height:0}.sidebar{width:263px;flex-basis:263px;background:var(--surface);border-color:var(--line)}.project-heading,.sidebar .project-heading{padding:17px 16px 14px;background:var(--surface);border-color:var(--line-soft)}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.8px;color:var(--ink-3)}.heading-row,.sidebar .heading-row{margin-top:5px}.heading-row h1,.sidebar .heading-row h1{font-size:26px;font-weight:700;color:var(--ink);line-height:1.15;letter-spacing:0}.project-number{font-size:10px;color:var(--ink-3);border-color:var(--line);padding:2px 5px;border-radius:3px}.project-heading p,.sidebar .project-heading p{font-size:11px;color:var(--ink-2);margin:7px 0 0}.project-tags{display:none}.tabs,.sidebar .tabs{padding:0 16px;gap:0;background:var(--surface);border-color:var(--line);justify-content:space-between}.tabs button,.sidebar .tabs button{font-size:12px;min-height:39px;padding:9px 0;color:var(--ink-2);font-weight:400}.tabs button.active{border-color:var(--focus);color:var(--ink);font-weight:700}.tabs button:hover{color:var(--ink)}.sidebar-content,.sidebar .sidebar-content{padding:14px;scrollbar-color:var(--line) transparent}.sidebar-footer{min-height:35px;padding:8px 14px;gap:4px;background:var(--surface);border-color:var(--line);font-size:10px}.sidebar-footer .text-action,.footer-note{font-size:10px;color:var(--ink-3)}.text-action{color:var(--ink-2);font-size:11px;text-decoration:none}.section-row{margin-bottom:8px}.section-label{font-size:10px;color:var(--ink-2);letter-spacing:.7px}.layer-section-label{font-size:10px;letter-spacing:.4px;text-transform:none;font-weight:700;color:var(--ink-2);padding:9px 0 1px}.layer-list{gap:4px}.sidebar .layer-item,.sidebar .layer-item.active{border:1px solid var(--line-soft);background:var(--ground)!important;border-radius:3px}.sidebar .layer-main{padding:4px 7px;min-height:31px;gap:7px}.sidebar .layer-icon{width:18px;height:18px;flex-basis:18px}.sidebar .layer-icon svg{width:16px;height:16px}.sidebar .layer-label{min-height:24px}.sidebar .layer-label strong{font-size:11px;font-weight:400;line-height:1.25;color:var(--ink)}.sidebar .layer-main .switch{width:25px;height:14px;flex-basis:25px;background:var(--line)}.sidebar .layer-main .switch:after{width:8px;height:8px;left:3px;top:3px;background:var(--surface)}.sidebar .layer-main .switch[aria-checked=true]{background:var(--tech)}.sidebar .layer-main .switch[aria-checked=true]:after{transform:translateX(11px);background:#E6EBE3}.layer-details{display:none!important}
.map-analysis{border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:12px}.analysis-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.analysis-heading h2{font-size:14px;font-weight:700;margin:0}.analysis-heading button{color:var(--ink-3);font-size:14px;padding:0 3px}.analysis-modes{display:flex;gap:0;background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:2px;margin-bottom:8px}.analysis-modes button{flex:1;padding:5px 3px;font-size:11px;color:var(--ink-3);border-radius:2px}.analysis-modes button.active{background:var(--surface);color:var(--ink);box-shadow:inset 0 -2px var(--focus)}.heat-options{display:grid;grid-template-columns:1fr 1fr;gap:4px}.heat-options button{display:flex;align-items:center;gap:6px;border:1px solid var(--line-soft);border-radius:3px;padding:5px 7px;font-size:11px;background:var(--ground);color:var(--ink-2)}.heat-options i{height:6px;width:6px;border-radius:50%;background:var(--sentiment)}.heat-options button.active{border-color:var(--sentiment);color:var(--ink);background:color-mix(in srgb,var(--sentiment) 12%,var(--ground))}.analysis-sources{display:flex;gap:3px;margin-top:9px}.analysis-sources button{padding:5px 3px;font-size:9px;flex:1;display:flex;gap:4px;align-items:center;justify-content:center;color:var(--ink-3);border:1px solid transparent;border-radius:3px}.analysis-sources button.active{background:var(--ground);border-color:var(--line);color:var(--ink-2)}.analysis-sources svg{width:12px;height:12px;flex-shrink:0}.analysis-sources button:not(.active){opacity:.4}
/* The visualization stage keeps the same instrument palette as Radar. */
.map-shell{color-scheme:dark;--ink:#DCE6E8;--ink-2:#8DA2A9;--ink-3:#61757C;--line:#2A3437;--line-soft:#212A2D;--surface:#151D21;--ground:#0E1417;--sunken:#0B1114;--tech:#74C2EE;--env:#5FD3A4;--social:#E9BB63;--focus:#7CC0EE;--map-top:48px;--map-footer:183px;background:#0D1418;background-image:radial-gradient(78% 62% at 50% 38%,rgba(70,132,166,.3),transparent 72%)}
#map{inset:var(--map-top) 0 var(--map-footer);background:#0D1418}.leaflet-tile-pane{filter:grayscale(.25) saturate(.65) brightness(.67) contrast(1.13)}.map-top{top:0;left:0;right:0;height:48px;padding:0 16px;gap:12px;background:#101A20;border-color:#26343A}.background-control{height:30px;border:1px solid #2A3B43;background:#101A20;border-radius:4px;color:#DCE6E8;margin:0}.background-symbol{font-size:19px;padding-left:8px;color:#8DA2A9}.background-control select{font-size:11px;width:102px;line-height:18px;padding:5px 19px 5px 7px}.background-control option{background:#151D21;color:#DCE6E8}.background-control>button{font-size:13px;width:26px;height:19px;color:#8DA2A9;border-color:#2A3437}.map-display-controls{top:9px;left:195px;right:auto;padding:2px;border-radius:4px;border:1px solid #2A3B43;background:#101A20}.map-display-controls button{padding:4px 8px;font-size:11px;color:#8DA2A9;border-radius:2px;gap:5px;line-height:18px}.map-display-controls button>span{font-size:13px;display:inline}.map-display-controls button.active{background:#283F4C;color:#DCE6E8}.map-button{min-height:30px;padding:4px 10px;font-size:11px;background:transparent;color:#8DA2A9;border-color:#2A3B43;box-shadow:none}.map-button>span:first-child{font-size:17px}.simulation-map-status{top:64px;left:16px;right:auto;max-width:calc(100% - 320px);padding:8px 11px;gap:14px;border-radius:4px;border:1px solid #3D535C88;background:#101A20ed;box-shadow:none;backdrop-filter:blur(10px)}.simulation-map-status>div{display:block}.simulation-map-status strong{font-size:12px;color:#DCE6E8;font-weight:700}.simulation-map-status div>span{font-size:10px;margin-top:2px;color:#8DA2A9}.simulation-map-status>button{font-size:15px;color:#61757C;padding:0}
.inspector{top:64px;right:16px;left:auto;bottom:199px;width:264px;max-width:none;max-height:none;background:#101A20ed;border:1px solid #3D535C88;border-radius:5px;color:#DCE6E8;box-shadow:0 8px 30px #0003;scrollbar-color:#33444B transparent;backdrop-filter:blur(16px)}.inspector-head,.sample-head{padding:16px 17px 13px;background:transparent;border-color:#2A3437}.inspector-body{padding:17px}.inspector .eyebrow{font-size:10px;letter-spacing:.5px;color:#8DA2A9}.inspector h2{font-size:21px;font-weight:700;color:#DCE6E8;letter-spacing:0;margin:9px 0 6px}.inspector-sub,.inspector-body p{font-size:12px;color:#8DA2A9;line-height:1.6}.inspector-close{color:#8DA2A9}.pulse-total{gap:14px;margin-bottom:17px}.pulse-total>strong{font-size:43px;font-weight:400;color:#DCE6E8;letter-spacing:-1px}.pulse-total>div{font-size:12px;color:#DCE6E8}.pulse-total span{font-size:10px;color:#61757C}.distribution-label{font-size:10px;letter-spacing:.6px;color:#61757C;margin:16px 0 7px}.distribution-row{font-size:12px;color:#B8C8CB;border-color:#212E35;padding:8px 0}.distribution-row small{color:#61757C;font-size:10px}.pulse-reset,.sample-back{color:#74C2EE;font-size:11px;border-color:#2A3437}.inspector .button{font-size:11px;color:#B9CED5;background:#192A33;border-color:#344B56;min-height:32px;padding:6px 9px}.inspector .button:hover{background:#243D49}.quote-mark{display:none}.sample-quote{font-size:15px!important;color:#DCE6E8!important;line-height:1.65!important;margin-top:16px!important}.sample-context{margin-top:15px;color:#61757C}.sample-context p{color:#8DA2A9!important}.collected-time{display:block;font-size:10px;color:#61757C;margin-top:9px}.source-tag{display:inline-flex;align-items:center;gap:5px;color:var(--ink-2);font-size:10px;white-space:nowrap}.source-tag svg{width:13px;height:13px;flex-shrink:0}.source-tag svg+span{font-size:10px}.sample-head .eyebrow{display:flex;gap:5px;align-items:center}
.sentiment-ring{padding:2px;box-shadow:0 0 0 5px #74C2EE0a,0 3px 18px #0007}.sentiment-ring>div{background:#101D24;border:2px solid #101D24;color:#DCE6E8}.sentiment-ring strong{font-size:20px;font-weight:500;transform:none;letter-spacing:0}.cluster-place{top:calc(100% + 5px);font-size:10px;color:#C2D2D6;background:#101A20ed;border:1px solid #344B5680;border-radius:3px;padding:3px 6px}.sentiment-cluster{background:#101D24eb;color:#DCE6E8;box-shadow:0 0 0 4px color-mix(in srgb,var(--sentiment) 8%,transparent)}.region-label{font-size:10px;letter-spacing:1.6px;color:#8DA2A9}.feature-pin{border-color:#E9BB6366;background:#302A1Ad9;color:#E9BB63;border-radius:3px}.feature-pin.round{background:#1F3230aa;border-color:#5FD3A480;color:#5FD3A4}.map-label{color:#DCE6E8;font-size:11px}.note-map-marker{background:none;border:0;text-decoration:none}
.note-map-pin{display:grid;place-items:center;width:18px;height:18px;box-sizing:border-box;border:1px solid #ecf1f3;border-radius:50%;background:#172127ed;color:var(--sentiment);line-height:1;box-shadow:0 1px 4px #0005;text-decoration:none}
.note-map-pin svg{display:block;width:11px;height:11px;fill:none;stroke:currentColor}
.note-map-marker:hover .note-map-pin,.note-map-marker:focus-visible .note-map-pin{box-shadow:0 0 0 3px color-mix(in srgb,var(--sentiment) 30%,transparent)}

.map-bottom{bottom:153px;height:30px;padding:0 16px;max-width:none;background:#0F191F;border-color:#26343A}.legend{max-width:none;gap:12px;justify-content:flex-start}.legend span{font-size:10px;color:#8DA2A9}.legend i{width:9px;height:9px;font-size:8px;color:#0E1417}.legend .legend-title{font-size:9px;letter-spacing:.5px;color:#61757C}.geography-legend+.legend-title{border-color:#2A3437;padding-left:10px}.place-dock{bottom:108px;height:45px;padding:6px 16px;background:#101A20;border-bottom:1px solid #26343A}.dock-heading{display:none}.place-cards{display:flex;gap:5px;overflow:auto;scrollbar-width:none;height:32px}.place-card{flex:1 0 100px;display:flex;align-items:center;gap:7px;position:relative;padding:4px 8px;border:1px solid #2A3437;border-radius:3px;background:#131F26;overflow:hidden}.place-card-head{display:contents}.place-index{display:none}.place-card strong{font-size:12px;font-weight:500;color:#DCE6E8;order:2;margin-left:auto;letter-spacing:0}.place-name{font-size:10px;margin:0;color:#8DA2A9;order:1}.place-card .sentiment-track{position:absolute;left:0;right:0;bottom:0;height:2px;opacity:.7;gap:0}.place-card.active,.place-card:hover{background:#1C303C;border-color:#50768A}
.collection-timeline{position:absolute;z-index:520;bottom:0;left:0;right:0;height:108px;background:linear-gradient(120deg,#12212A,#0B1318);padding:10px 16px 7px;color:#DCE6E8;border-top:1px solid #2A3B43;font-size:11px}.timeline-topline,.timeline-bottomline{display:flex;justify-content:space-between;gap:16px;align-items:center}.timeline-caption{display:flex;gap:7px;align-items:center}.timeline-caption strong{font-size:11px;font-weight:700}.replay-dot{width:5px;height:5px;background:#74C2EE;border-radius:50%;box-shadow:0 0 8px #74C2EE77}.paused .replay-dot{background:#61757C;box-shadow:none}.timeline-loop{color:#61757C;font-size:10px;margin-left:6px}.timeline-timestamp{display:flex;gap:9px;align-items:center;font-variant-numeric:tabular-nums}.timeline-timestamp time{color:#BBD5E4;font-size:11px}.timeline-timestamp>span{font-size:9px;color:#61757C}.timeline-main{display:flex;align-items:center;gap:10px;margin:5px 0 6px}.timeline-play{background:#25495E;border:1px solid #406E89;border-radius:50%;color:#B8E5FF;width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;font-size:13px;padding:0}.timeline-play:hover{background:#335F77}#timeline-restart{font-size:20px;color:#8DA2A9;padding:0;line-height:1}.timeline-track{flex:1;min-width:0;position:relative;height:44px}.timeline-histogram{height:25px;position:absolute;left:0;right:0;top:0;display:flex;align-items:end;gap:2px;pointer-events:none}.timeline-histogram>span{flex:1;min-width:1px;background:#33464D;display:flex;flex-direction:column;justify-content:end;opacity:.5}.timeline-histogram>span>i{background:#3D6880;display:block}.timeline-histogram>span.past{background:#70978D;opacity:1}.timeline-histogram>span.past>i{background:#74C2EE}.timeline-track input{position:absolute;top:13px;left:0;width:100%;margin:0;cursor:ew-resize;appearance:none;height:16px;background:transparent;accent-color:#B8E5FF;outline-offset:1px}.timeline-track input::-webkit-slider-runnable-track{height:1px;background:#6F8A9760}.timeline-track input::-webkit-slider-thumb{appearance:none;width:9px;height:19px;border-radius:2px;background:#DCE6E8;margin-top:-9px;box-shadow:0 0 9px #74C2EE99}.timeline-track input::-moz-range-track{height:1px;background:#6F8A9760}.timeline-track input::-moz-range-thumb{width:8px;height:18px;border:0;border-radius:2px;background:#DCE6E8}.timeline-dates{position:absolute;top:30px;left:0;right:0;display:flex;justify-content:space-between;font-size:9px;color:#61757C}.timeline-speed select{font-size:10px;padding:3px 2px;color:#8DA2A9;background:#101A20;border:1px solid #2A3B43;border-radius:3px;height:26px;width:48px}.timeline-all{font-size:10px;white-space:nowrap;border:1px solid #2A3B43;border-radius:3px;padding:5px 7px;color:#8DA2A9}.timeline-bottomline{font-size:9px;color:#61757C}.timeline-sources{display:flex;gap:17px;align-items:center}.timeline-sources>span{display:flex;align-items:center;gap:4px;white-space:nowrap}.timeline-sources svg{width:10px;height:10px;color:#8DA2A9}.timeline-sources b{font-size:9px;color:#A9C0CA;font-weight:400;font-variant-numeric:tabular-nums}.timeline-count{white-space:nowrap;font-variant-numeric:tabular-nums}
.sentiment-heat{position:absolute;pointer-events:none;opacity:.95}.heat-key{position:absolute;bottom:200px;left:60px;z-index:500;background:#101A20ed;border:1px solid #3D535C88;border-radius:4px;padding:9px 12px;font-size:10px;color:#B8C8CB;min-width:190px}.heat-key[hidden]{display:none}.heat-key>span{display:block;color:var(--heat-color);font-size:11px;margin-bottom:6px}.heat-key>div{display:flex;gap:7px;align-items:center;font-size:9px;color:#8DA2A9}.heat-key i{display:block;width:90px;height:5px;background:linear-gradient(90deg,transparent,var(--heat-color));border-radius:2px}.leaflet-control-zoom{border:1px solid #344B56!important;border-radius:4px!important;box-shadow:none!important}.leaflet-control-zoom a{width:28px!important;height:28px!important;line-height:28px!important;background:#101A20!important;color:#8DA2A9!important;border-color:#2A3437!important;font-size:19px!important}.leaflet-bottom.leaflet-left .leaflet-control-zoom{bottom:20px;margin-left:16px!important}.leaflet-control-attribution{background:#0B1318db!important;color:#6C838D!important;font-size:8px!important}.leaflet-control-attribution a{color:#98B8C6!important}.sim-tooltip{background:#101A20;color:#DCE6E8;border:1px solid #344B56;font-size:11px;border-radius:3px}.selected-comment-pin{color:var(--comment-color);border-color:#DCE6E8;box-shadow:0 0 0 6px #0E1417cc,0 0 0 8px var(--comment-color),0 4px 25px #0006}.comment-connector-outline{stroke:#0E1417cc}.comment-connector-end{stroke:#DCE6E8}
/* Lists, evidence and input forms use the same compact neutral surfaces. */
.collection-tabs,.segmented{padding:2px;gap:2px;border:1px solid var(--line);border-radius:4px;background:var(--sunken);margin-bottom:14px}.collection-tabs button,.sidebar .collection-tabs button,.segmented button{font-size:10px;padding:6px 2px;color:var(--ink-3);border-radius:2px}.collection-tabs button span{font-size:9px;color:var(--ink-3);margin-left:2px}.collection-tabs button.active,.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:inset 0 -2px var(--focus)}.collection-tabs button.active span{color:var(--tech)}.pulse-heading h2,.sidebar .pulse-heading h2{font-size:16px;font-weight:700;margin-bottom:12px;letter-spacing:0;color:var(--ink)}.sentiment-filters{gap:5px}.sentiment-filter,.sidebar .sentiment-filter{font-size:11px;min-height:31px;border-color:var(--line-soft);background:var(--ground);color:var(--ink-2);padding:6px 7px;border-radius:3px}.sentiment-filter strong{font-size:10px;color:var(--ink-3)}.sentiment-filter>span{gap:4px}.sentiment-filter.active{background:color-mix(in srgb,var(--sentiment,var(--tech)) 12%,var(--surface));border-color:var(--sentiment,var(--focus))}.sentiment-filter.all{color:var(--ink-2)}.sentiment-filter.all.active{background:var(--ground);color:var(--ink);border-color:var(--focus)}.sentiment-filter.all.active strong{color:var(--tech)}.sentiment-filter i{width:14px;height:14px;flex-basis:14px;font-size:10px}.advanced-filters{border-color:var(--line-soft);margin-top:9px}.advanced-filters summary{font-size:11px;color:var(--ink-2);padding:9px 0}.advanced-filters summary>span{color:var(--ink-3);font-size:15px}.sim-filter-grid{gap:6px}.sim-filter-grid label>span{font-size:9px;color:var(--ink-3);letter-spacing:.5px;margin-bottom:4px}.sim-filter-grid select,.filter-select{font-size:10px;padding:6px;min-height:31px;border:1px solid var(--line);border-radius:3px;background:var(--ground);color:var(--ink)}.sim-search{margin-top:8px;background:var(--ground);border-color:var(--line);padding:0 7px;border-radius:3px}.sim-search input{font-size:11px;padding:8px 0;color:var(--ink)}.sim-search>span{color:var(--ink-3)}.feed-heading{font-size:10px;margin:12px 0 9px;color:var(--ink-3)}.feed-heading strong{color:var(--ink-2)}.sim-note-card{padding:11px;border:1px solid var(--line-soft);background:var(--ground);border-radius:4px;margin-bottom:7px}.sim-note-card:hover,.sim-note-card.selected{background:var(--surface);border-color:var(--ink-3)}.sim-note-card p{font-size:12px;line-height:1.55;color:var(--ink);margin:10px 0}.note-card-top{gap:6px}.sentiment-tag{font-size:9px;border-radius:3px;padding:3px 5px}.note-card-bottom{font-size:9px;color:var(--ink-3)}.note-card-bottom time{font-size:9px}.sim-note-card .source-tag{font-size:9px;gap:3px}.sim-note-card .source-tag svg{width:11px;height:11px}.load-more{font-size:11px;color:var(--tech);border-color:var(--line)}.evidence-card,.community-card,.side-note,.geography-place,.registry-list button{border:1px solid var(--line-soft);background:var(--ground);border-radius:4px;color:var(--ink);padding:11px}.evidence-card:hover,.community-card:hover,.geography-place:hover{background:var(--surface);border-color:var(--ink-3)}.evidence-card h3,.community-card h3,.geography-place strong{font-size:12px;color:var(--ink);font-weight:500}.evidence-card p,.community-card p,.notes-intro,.local-label{font-size:11px;color:var(--ink-2)}.card-meta,.geography-place span,.geography-place b{font-size:10px;color:var(--ink-3)}.source-link{font-size:12px;color:var(--tech)}.source-note,.geography-status,.map-context-credit,.registry-note{color:var(--ink-2)!important;font-size:11px!important}.source-entry,.geography-source,.registry-facts div{border-color:var(--line)}.source-entry strong,.registry-facts dd{font-size:13px;color:var(--ink)}.source-entry span,.registry-facts dt{font-size:12px;color:var(--ink-2)}.stat-grid strong{color:var(--ink)}.stat-grid span{color:var(--ink-3)}.badge{background:color-mix(in srgb,var(--social) 12%,var(--ground));color:var(--social);font-size:10px}.gap{background:var(--ground);border-left-color:var(--social)}.gap strong{font-size:12px;color:var(--ink-2)}.gap p{font-size:11px;color:var(--ink-3)}.card-divider{background:var(--line)}dialog{font-family:Arial,Helvetica,sans-serif;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 15px 70px #0007;padding:26px}dialog::backdrop{background:#050B1199}dialog h2{font-size:23px;font-weight:700;color:var(--ink);letter-spacing:0}dialog p{font-size:13px;color:var(--ink-2)}dialog .eyebrow{color:var(--ink-3)}.modal-close{color:var(--ink-3)}.field label{color:var(--ink-2);font-size:12px}.field input,.field textarea,.field select{background:var(--ground);border-color:var(--line);color:var(--ink);font-size:14px;border-radius:3px}.consent{font-size:12px;color:var(--ink-2)}.location-chip{background:var(--ground);color:var(--ink-2);font-size:12px}.placement-bar{bottom:201px;background:#101A20;border-color:#74C2EE66;max-width:calc(100% - 32px);font-size:12px;border-radius:4px}.placement-bar button{font-size:11px;color:#B8D6E5;border-color:#344B56}.tile-error{bottom:201px;background:#29281F;color:#E9BB63;border-color:#E9BB6355;font-size:11px;left:16px}.toast{background:#192A33;color:#DCE6E8;border-color:#344B56;font-size:12px;border-radius:4px}.sim-empty,.empty{font-size:12px;color:var(--ink-3)}
@media(max-width:1100px){.header-location{display:none}.project-context{display:none}.simulation-map-status{max-width:calc(100% - 280px)}.inspector{width:240px}.map-button span:last-child{display:none}.timeline-sources{gap:12px}.legend .legend-title{display:none}.legend{gap:10px}.place-card{flex-basis:107px}.timeline-timestamp>span{display:none}}
@media(max-width:700px),(orientation:portrait){.topbar{height:54px;display:flex;padding:0 14px;gap:12px}.workspace{height:calc(100dvh - 54px);min-height:0}.sidebar{position:absolute;top:54px;bottom:0;left:0;width:min(300px,90vw);flex-basis:auto;transform:translateX(-105%);z-index:1100;box-shadow:12px 0 40px #0006}.sidebar.open{transform:translateX(0)}.sidebar-scrim:not([hidden]){top:54px;background:#050B1180}.sidebar-close{display:grid;top:12px;right:12px;color:var(--ink-2);background:var(--ground);border-color:var(--line);width:28px;height:28px;font-size:21px;border-radius:3px}.sidebar .heading-row{padding-right:32px}.sidebar .tabs button{font-size:12px}.map-shell{--map-top:48px;--map-footer:171px}.map-top{padding:0 12px;gap:7px}.mobile-toggle{top:9px;left:12px;min-height:30px;height:30px;padding:4px 8px;font-size:11px;color:#B8C8CB;border:1px solid #2A3B43;background:#101A20;border-radius:4px;display:flex}.background-control{margin-left:88px;height:30px}.background-symbol{display:none}.background-control select{width:92px;font-size:11px;padding-left:8px}.background-control>button{width:24px}.map-display-controls{top:64px;right:12px;left:auto}.map-display-controls button{font-size:10px;padding:4px 7px}.map-display-controls button>span{display:none}.simulation-map-status{top:64px;left:12px;right:auto;max-width:calc(100% - 148px);padding:7px 9px}.simulation-map-status strong{font-size:11px}.simulation-map-status div>span{font-size:10px}.simulation-map-status>button{display:none}.inspector{left:12px;right:12px;bottom:183px;top:auto;width:auto;max-width:420px;max-height:min(42%,310px);border-radius:4px}.inspector-head{padding:12px 15px 10px}.inspector-body{padding:13px 15px}.inspector h2{font-size:20px}.inspector .eyebrow{font-size:10px}.sample-quote{font-size:14px!important}.collected-time{font-size:10px}.map-bottom{bottom:141px;height:30px;padding:0 12px}.legend{gap:11px;justify-content:flex-start}.legend span{font-size:9px}.place-dock{bottom:102px;height:39px;padding:4px 12px}.place-cards{height:30px;gap:5px}.place-card{flex:0 0 126px;padding:4px 7px}.place-name{font-size:10px}.place-card strong{font-size:12px}.collection-timeline{height:102px;padding:9px 12px 6px}.timeline-caption strong{font-size:10px}.timeline-loop{display:none}.timeline-timestamp{gap:0}.timeline-timestamp time{font-size:10px}.timeline-main{gap:8px;margin:4px 0 3px}.timeline-play{width:27px;height:27px;flex-basis:27px;font-size:12px}.timeline-speed select{width:41px;font-size:10px}.timeline-all{font-size:9px;padding:5px}.timeline-dates{font-size:8px}.timeline-sources{gap:11px}.timeline-sources>span>span{display:none}.timeline-bottomline{font-size:9px}.heat-key{bottom:185px;left:12px;min-width:178px}.map-shell:has(.inspector:not([hidden])) .heat-key{display:none}.leaflet-bottom.leaflet-left{right:12px;bottom:20px;left:auto}.leaflet-bottom.leaflet-left .leaflet-control-zoom{bottom:auto!important;margin:0!important}.placement-bar,.tile-error{bottom:185px}.region-label{display:none}.cluster-place{font-size:10px}.sentiment-ring strong{font-size:19px}.brand-partners{border-left:1px solid var(--line);padding:0 0 0 12px;gap:12px}.partner-mark{height:19px}.city-science{width:39px}.media-lab{width:36px}.topbar .button{font-size:11px;height:29px;min-height:29px;width:auto;padding:4px 8px}.topbar .brand{font-size:19px}.topbar .brand svg{width:23px}.topbar .button span:last-child{font-size:11px}.header-location,.project-context{display:none}}
@media(max-width:570px){.brand-partners{gap:9px;padding-left:10px}.partner-mark{height:16px}.city-science{width:33px}.media-lab{width:30px}.brand svg{display:none}.topbar{gap:10px}.topbar .brand{font-size:19px}.topbar .top-spacer{flex:1}.topbar .button span:last-child{display:none}.topbar .button{width:28px;flex:0 0 28px;padding:3px}.map-display-controls{top:64px}.timeline-timestamp>span{display:none}.timeline-all{display:block}.timeline-main{gap:6px}#timeline-restart{font-size:18px}.timeline-track{height:42px}.timeline-speed select{width:40px}.timeline-dates span:nth-child(2),.timeline-dates span:nth-child(3){display:none}}
@media(max-height:650px) and (min-width:701px){.sidebar .project-heading{padding-top:12px;padding-bottom:10px}.sidebar .heading-row h1{font-size:22px}.sidebar-content{padding-top:10px}.map-shell{--map-footer:157px}.map-bottom{bottom:127px}.place-dock{display:none}.collection-timeline{height:127px}.inspector{bottom:173px}.heat-key{bottom:173px}.cluster-place{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
.stream-tabs{display:flex;gap:3px;margin:-4px 0 13px;border-bottom:1px solid var(--line-soft);padding-bottom:9px}.stream-tabs button{font-size:10px;color:var(--ink-3);padding:4px 5px;display:flex;gap:4px;align-items:center;border:1px solid transparent;border-radius:3px;white-space:nowrap}.stream-tabs button.active{background:var(--ground);color:var(--ink);border-color:var(--line)}.stream-tabs svg{width:11px;height:11px}
.topbar>.top-spacer{display:block;flex:1}

/* Incoming notes sit outside the count and point to their sentiment arc. */
.arrival-marker{border:0;background:none;pointer-events:none;overflow:visible}
.arrival-marker[hidden]{display:none}
.arrival-content{position:relative;width:0;height:0;animation:arrival-fade 2.2s ease-out both}
.arrival-badge{position:absolute;display:grid;place-items:center;width:18px;height:18px;padding:3px;border:1px solid #ecf1f3;border-radius:50%;background:#172127ed;color:var(--sentiment);box-shadow:0 1px 5px #0006;pointer-events:auto;animation:arrival-pop .22s ease-out both}
.arrival-badge{isolation:isolate}
.arrival-badge::before,.arrival-badge::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:-1}
.arrival-badge::before{inset:-17px;background:radial-gradient(circle,color-mix(in srgb,var(--sentiment) 65%,transparent) 0%,color-mix(in srgb,var(--sentiment) 40%,transparent) 32%,transparent 72%);filter:blur(4px);animation:arrival-halo 1.9s ease-out both}
.arrival-badge::after{inset:-5px;border:1px solid var(--sentiment);filter:blur(1px);animation:arrival-ripple 1.7s cubic-bezier(.2,.6,.3,1) both}
.arrival-badge svg{display:block;width:11px;height:11px;fill:none;stroke:currentColor}
.arrival-badge:hover,.arrival-badge:focus-visible{background:#243B45;box-shadow:0 0 0 2px #101A20}
.arrival-leader{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}
.arrival-leader[hidden]{display:none}
.arrival-leader path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.arrival-line-outline{stroke:#101A20cc;stroke-width:3.5}
.arrival-line{stroke:var(--sentiment);stroke-width:1.25}
@keyframes arrival-pop{from{transform:scale(.4)}to{transform:scale(1)}}
@keyframes arrival-halo{0%{transform:scale(.5);opacity:0}18%{opacity:.95}55%{opacity:.65}100%{transform:scale(1.2);opacity:0}}
@keyframes arrival-ripple{0%{transform:scale(.65);opacity:.75}100%{transform:scale(2.15);opacity:0}}
@keyframes arrival-fade{0%{opacity:0}12%,80%{opacity:1}100%{opacity:0}}
.place-dock{display:flex;align-items:center;gap:7px}
.place-dock .place-cards{flex:1;min-width:0}
.all-places{align-self:stretch;flex:0 0 auto;min-width:60px;padding:4px 9px;border:1px solid #2A3437;border-radius:3px;font-size:10px;color:#8DA2A9;background:#131F26;white-space:nowrap}
.all-places:hover,.all-places.active{background:#1C303C;border-color:#50768A;color:#DCE6E8}
@media(max-width:700px),(orientation:portrait){.all-places{min-width:56px;font-size:10px;padding:4px 7px}.place-dock{gap:5px}}
@media(max-height:650px) and (min-width:701px){.place-dock{display:none}}
@media(prefers-reduced-motion:reduce){.arrival-content,.arrival-badge{animation:none!important}.arrival-badge::before,.arrival-badge::after{display:none}}
/* Shared heat scales: sentiment balance, or concentration of the chosen category. */
.heat-options .heat-balance{grid-column:1/-1}
.heat-options .heat-balance.active{border-color:#7CC0EE;background:#74C2EE12;color:var(--ink)}
.heat-options .balance-swatch{width:26px;height:5px;border-radius:2px;background:linear-gradient(90deg,#E08063,#E9BB63,#5FD3A4)}
.heat-topic{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:10px;color:var(--ink-3)}
.heat-topic[hidden]{display:none}
.heat-topic select{width:0;flex:1;min-width:0;background:var(--ground);color:var(--ink-2);border:1px solid var(--line);border-radius:3px;font-size:10px;padding:5px}
.heat-key{min-width:214px;padding:10px 12px}
.heat-key>span{color:#DCE6E8;margin-bottom:8px}
.heat-key .heat-scale{display:block;width:100%;height:6px;border-radius:2px;background:linear-gradient(90deg,#E08063,#E9BB63,#5FD3A4);margin-bottom:5px}
.heat-key.concentration .heat-scale{background:linear-gradient(90deg,#5FD3A4,#E9BB63,#E08063)}
.heat-key .heat-scale-labels{display:flex;justify-content:space-between;font-size:9px;color:#8DA2A9;gap:16px}
.heat-key>small{display:block;font-size:9px;color:#61757C;margin-top:7px}
.legend .heat-legend i{width:25px;height:5px;border-radius:2px;background:linear-gradient(90deg,#E08063,#E9BB63,#5FD3A4)}

/* Dark slate relief gives the geographic and community layers clear contrast. */
.map-shell[data-basemap="night"] .leaflet-tile-pane{filter:url(#night-terrain) brightness(1.15)}
.map-shell[data-basemap="night"] #map{background:#111822}
.map-shell[data-basemap="night"] .region-label{color:#8AA7B1;text-shadow:0 1px 3px #111822}

.layer-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0 1px}
.layer-section-heading .layer-section-label{padding:0}
.layer-section-heading .text-action{padding:2px 0;font-size:10px;font-weight:400;letter-spacing:0;color:var(--ink-3)}
.layer-section-heading .text-action:hover{color:var(--ink)}

/* The summary follows the latest note without rebuilding the panel each second. */
.pulse-latest{margin-top:14px}
.pulse-latest[hidden]{display:none}
.pulse-latest-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:10px;color:#8DA2A9}
.pulse-latest-heading time{font-size:9px;color:#61757C;white-space:nowrap}
.pulse-latest-note{display:block;width:100%;text-align:left;padding:10px 11px;border:1px solid #344B56;border-left:2px solid var(--sentiment);border-radius:4px;background:#17262E;color:#DCE6E8}
.pulse-latest-note:hover{background:#1C3039;border-color:var(--sentiment)}
.pulse-latest-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#8DA2A9;font-size:9px}
.pulse-latest-sentiment{display:flex;align-items:center;gap:5px;color:var(--sentiment)}
.pulse-latest-sentiment i{width:5px;height:5px;background:currentColor;border-radius:50%}
.pulse-latest-note p{margin:8px 0!important;font-size:12px!important;line-height:1.45!important;color:#DCE6E8!important;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pulse-latest-place{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8DA2A9}
.pulse-latest-place b{font-weight:400;color:var(--sentiment)}

/* Quiet connection status; no setup controls. */
.unity-status{display:flex;align-items:center;gap:6px;flex:0 0 auto;font:10px/1.3 Arial,Helvetica,sans-serif;color:var(--ink-2);white-space:nowrap}
.unity-status i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);flex-shrink:0}
.unity-status[data-state="ready"] i{background:var(--env);box-shadow:0 0 6px #6ECBA233}
.unity-status[data-state="idle"] i{background:var(--social)}
.unity-status[data-state="error"] i{background:var(--danger)}
.unity-status[data-state="checking"] i{background:var(--tech)}
@media(max-width:700px){.unity-status{font-size:9px;gap:4px;margin-left:auto}.topbar .top-spacer{display:none}}
@media(max-width:480px){.unity-status{max-width:96px;white-space:normal}.unity-status span{max-width:82px}}

.app-status{display:flex;align-items:center;gap:14px;flex:0 0 auto}
.demo-status{display:flex;align-items:center;gap:6px;white-space:nowrap;color:var(--tech);font:10px/1.3 Arial,Helvetica,sans-serif}
.demo-status[hidden]{display:none}
.demo-status i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--tech);animation:demo-pulse 1.8s ease-in-out infinite}
@keyframes demo-pulse{0%,100%{opacity:.4;box-shadow:0 0 0 0 #6FB4E000}50%{opacity:1;box-shadow:0 0 0 4px #6FB4E022}}
@media(max-width:1100px){.app-status{flex-direction:column;align-items:flex-start;gap:3px}}
@media(max-width:700px){.app-status{margin-left:auto;max-width:104px}.app-status .unity-status{margin-left:0}.demo-status{font-size:9px;gap:4px;white-space:normal}}
@media(prefers-reduced-motion:reduce){.demo-status i{animation:none}}
.kiosk-controls{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.topbar .kiosk-controls .button{font-size:10px;padding:5px 8px;min-height:28px}
.demo-toggle[aria-pressed="true"]{color:var(--focus);border-color:var(--tech);background:#1D303B}
.fullscreen-toggle{display:flex;align-items:center;justify-content:center;gap:5px}
.fullscreen-toggle svg{height:13px;width:13px;fill:none;stroke:currentColor;stroke-width:1.5}
@media(max-width:1100px){.topbar{gap:12px}.fullscreen-label{display:none}}
@media(max-width:700px){
  .topbar{height:82px;flex-wrap:wrap;row-gap:3px;padding:6px 12px;align-content:center}
  .topbar::after{content:"";flex-basis:100%;height:0;order:3}
  .topbar .brand{order:0}.topbar .brand-partners{order:1}.topbar #add-note{order:2;margin-left:auto}
  .topbar>.top-spacer{display:none}
  .app-status{order:4;flex:1;max-width:none;flex-direction:row;gap:10px;margin-left:0}
  .kiosk-controls{order:5}.topbar .kiosk-controls .button{width:auto;flex:0 0 auto;height:25px;min-height:25px;padding:4px 7px}
  .demo-status{max-width:107px}.app-status .unity-status{max-width:96px}
  .workspace{height:calc(100dvh - 82px)}.sidebar{top:82px}.sidebar-scrim:not([hidden]){top:82px}
}
