:root{--canvas:oklch(97.4% .006 95);--surface:oklch(99.2% .003 95);--ink:oklch(29% .035 216);--muted:oklch(49% .018 215);--line:oklch(87.5% .009 205);--accent:oklch(42% .067 219);--accent-soft:oklch(92.6% .024 214);--ochre:oklch(53% .09 80);--ochre-soft:oklch(95% .033 86);--blue:#2f6b9a;--teal:#2a9d8f;--danger:#a83a32;--radius:9px;--easing:cubic-bezier(.16,1,.3,1);font-family:'Avenir Next','Segoe UI',sans-serif;color:var(--ink);background:var(--canvas);font-size:14px;font-variant-numeric:tabular-nums}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #2f6b9a;outline-offset:3px}button{border:0;background:none}input,select,textarea{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:10px 12px;max-width:100%}input[type=range]{padding:0;accent-color:var(--accent);border:0;cursor:pointer}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}textarea{resize:vertical;line-height:1.65}input[type=number]{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:15px;background:var(--surface)}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;border-right:1px solid var(--line);background:oklch(96% .009 196);padding:32px 20px;display:flex;flex-direction:column;z-index:20}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:18px;font-weight:650;letter-spacing:-.7px}.brand small{display:block;font-size:8px;letter-spacing:2.1px;font-weight:600;color:var(--muted);margin-top:5px}.brand-mark{display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--canvas);width:39px;height:42px;border-radius:9px 9px 9px 2px;font-size:24px;letter-spacing:-4px;padding-right:5px}.brand-mark span{color:#a9d6c8}.workspace-label{margin:51px 12px 13px;font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:650}.nav-item{display:flex;gap:14px;align-items:center;width:100%;border-radius:6px;padding:13px 12px;text-align:left;color:var(--muted);font-size:12px;margin-bottom:6px;white-space:nowrap}.nav-item>span{font-size:11px;opacity:.8;width:16px}.nav-item:hover{background:var(--accent-soft)}.nav-item.active{background:var(--accent);color:var(--surface)}.nav-item i{font-style:normal;font-size:7px;letter-spacing:.6px;border:1px solid var(--line);padding:2px 4px;border-radius:3px}.nav-rule{height:1px;background:var(--line);margin:25px 10px}.sidebar-bottom{margin-top:auto;font-size:10px;color:var(--muted);padding:0 10px}.sidebar-bottom p{font-size:10px;line-height:1.9;margin:12px 0 25px}.version-label{font-size:8px;letter-spacing:1.6px}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--teal);margin-right:6px}.workspace{margin-left:220px}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:0 38px;font-size:11px;background:var(--surface)}#breadcrumb{display:flex;gap:13px}.topbar-right{display:flex;align-items:center;gap:25px}.mock-badge{font-size:9px;color:var(--ochre);background:var(--ochre-soft);border:1px solid oklch(88% .05 86);padding:6px 9px;border-radius:4px;font-weight:650;letter-spacing:.6px}.text-button{padding:4px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px}.text-button:hover{color:var(--blue)}main{max-width:1530px;margin:0 auto;padding:36px 38px 20px;min-height:calc(100vh - 120px)}h1,h2,h3,p{margin-top:0}h1{font-size:30px;font-weight:500;letter-spacing:-1.05px;line-height:1.3;margin-bottom:9px}h2{font-size:16px;font-weight:650;letter-spacing:-.4px;margin-bottom:7px}h3{font-size:13px;font-weight:650;margin-bottom:6px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.7px;color:var(--muted);margin-bottom:12px}.subtitle{font-size:12px;color:var(--muted);margin-bottom:0;line-height:1.6}.muted{color:var(--muted)}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.scope-tag{display:flex;gap:14px;align-items:center;font-size:10px;white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:8px 10px;background:var(--surface)}.scope-tag span{font-size:8px;border:1px solid var(--line);padding:3px 4px;border-radius:2px}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.panel-heading p{font-size:11px;margin-bottom:15px}.count-label{font-size:9px;padding:5px 7px;border-radius:4px;background:var(--accent-soft);white-space:nowrap}.geography-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.2fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.geography-panel{padding:23px;min-width:0}.county-search{display:flex;gap:7px}.county-search input{width:100%;min-width:0;font-size:10px;padding:9px}.county-search select{width:110px;flex-shrink:0;font-size:10px;padding:7px}.selected-counties{display:flex;gap:5px;flex-wrap:wrap;margin:12px 0;min-height:26px}.county-chip{font-size:9px;border:1px solid oklch(78% .03 214);color:var(--accent);padding:5px 7px;border-radius:4px;background:var(--accent-soft)}.county-chip button{padding:0 0 0 6px;font-size:12px}.county-list{height:156px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.county-option{display:flex;align-items:center;gap:9px;min-height:37px;font-size:10px;padding:6px 2px;border-bottom:1px solid oklch(93% .007 205);cursor:pointer}.county-option:hover{background:var(--canvas)}.county-option small{margin-left:auto;color:var(--muted);font-size:9px}.geography-foot{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);margin-top:10px;align-items:center}.geography-foot .text-button{font-size:9px}.map-panel{background:oklch(95.5% .015 217);border-left:1px solid var(--line);padding:22px 22px 13px;display:flex;flex-direction:column;justify-content:space-between}.map-caption{display:flex;justify-content:space-between;align-items:center;gap:10px}.map-caption .eyebrow{margin:0}.map-caption .muted{font-size:8px}#county-map{display:block;width:100%;max-height:305px;flex:1;color:var(--accent)}.land{fill:oklch(91.3% .014 216);stroke:oklch(76% .029 215);stroke-width:1}.map-grid{fill:none;stroke:oklch(83% .02 215);stroke-width:.6;stroke-dasharray:3 4;opacity:.6}.map-ocean{font-size:8px;letter-spacing:2.5px;fill:oklch(61% .028 215)}.county-marker .dot{fill:oklch(73% .026 214);stroke:var(--surface);stroke-width:1.6}.county-marker.selected .dot{fill:var(--accent)}.county-marker .halo{fill:var(--accent);opacity:0}.county-marker.selected .halo{opacity:.13}.county-marker text{font-size:9px;fill:var(--ink);paint-order:stroke;stroke:oklch(95.5% .015 217);stroke-width:3px}.map-bottom{display:flex;justify-content:space-between;gap:10px;font-size:8px;color:var(--muted)}.map-key{width:7px;height:7px;display:inline-block;background:var(--accent);border-radius:50%;margin:0 5px 0 12px}.map-key:first-child{margin-left:0}.map-key.unselected{background:oklch(73% .026 214)}.sample-strip{display:flex;align-items:center;gap:30px;margin:20px 0 32px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sample-strip h2{font-size:13px}.sample-strip p{font-size:10px;margin:0}.sample-control{display:flex;gap:20px;align-items:center;flex:1}.sample-control>input{flex:1;min-width:50px}.sample-number{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:5px 10px;gap:7px}.sample-number input{width:70px;border:0;background:none;font-size:22px;font-weight:600;padding:0}.sample-number span{font-size:10px;color:var(--muted)}.allocation-label{font-size:10px;color:var(--muted);max-width:150px;line-height:1.6}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-toolbar .eyebrow{margin-bottom:7px}.segmented{display:flex;border:1px solid var(--line);padding:3px;border-radius:6px;background:oklch(94% .006 205)}.segmented button{padding:8px 13px;font-size:10px;border-radius:4px;white-space:nowrap}.segmented button.selected{background:var(--surface);box-shadow:0 1px 3px #193b4415;font-weight:650}.segmented span{font-size:7px;letter-spacing:.7px;color:var(--ochre);margin-left:4px}.composition-note{font-size:10px;color:var(--muted);margin:6px 0 18px}.demographic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.demographic-card{padding-right:18px;border-right:1px solid var(--line);min-width:0}.demographic-card:last-child{border:0;padding-right:0}.demographic-card h3{font-size:12px;margin-bottom:13px}.stacked-preview{display:flex;height:8px;border-radius:3px;overflow:hidden;margin-bottom:15px;gap:2px}.stacked-preview span{transition:flex-grow .15s linear}.mix-row{margin:11px 0}.mix-row>div{display:flex;justify-content:space-between;gap:4px;font-size:10px;margin-bottom:3px}.mix-row output{color:var(--accent);font-weight:600}.mix-row input{width:100%;height:10px}.advanced-entry{margin-top:23px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:oklch(93.5% .012 201);border:1px solid var(--line);border-radius:7px}.advanced-entry h3{font-size:12px}.advanced-entry p{font-size:10px;color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--line);border-radius:6px;padding:11px 16px;font-size:11px;background:var(--surface);font-weight:600;text-decoration:none;white-space:nowrap;transition:background .18s}.button:hover{background:var(--accent-soft)}.button.primary{color:var(--surface);background:var(--accent);border-color:var(--accent)}.button.primary:hover{background:var(--ink)}#override-count{font-size:9px;padding:2px 5px;border:1px solid var(--line);border-radius:4px}.page-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:25px 0 15px}.page-footer p{font-size:10px;max-width:50ch;margin:0}.workspace-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 38px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}.object-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.object-editor{background:var(--surface);padding:25px;border:1px solid var(--line);border-radius:9px}.type-selector{display:flex;gap:8px;margin-bottom:20px}.type-selector button{padding:10px 15px;border:1px solid var(--line);border-radius:5px;font-size:11px}.type-selector .selected{background:var(--accent-soft);border-color:var(--accent)}.field-label{display:block;font-size:10px;font-weight:650;margin:17px 0 8px}.object-editor input,.object-editor textarea,.object-editor select{width:100%;font-size:12px}.object-specific{display:flex;gap:15px}.object-specific>div{flex:1}.question-panel{padding-top:10px}.question-item{border-bottom:1px solid var(--line);padding:10px 0}.question-item label{display:flex;align-items:center;gap:9px;font-size:11px;cursor:pointer}.question-item .type-label{margin-left:auto;font-size:8px;border-radius:3px;padding:3px 5px;background:var(--accent-soft)}.question-item details{margin:5px 0 0 29px;font-size:9px;color:var(--muted)}.question-item details p{line-height:1.7;max-width:60ch;padding-top:8px}.question-item summary{cursor:pointer}.small-note{font-size:10px;line-height:1.8;color:var(--muted);max-width:75ch;margin:14px 0}.session-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:40px}.population-stage{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.stage-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:20px}.population-dots{display:grid;grid-template-columns:repeat(24,1fr);gap:8px;min-height:180px;align-content:center}.person-dot{aspect-ratio:1;background:oklch(87% .008 210);border-radius:50%;transition:background .25s,transform .25s}.person-dot.processed{background:var(--accent)}.person-dot.active{background:var(--teal);animation:breathe 1.2s infinite}.stage-caption{margin:20px 0;font-size:9px;display:flex;align-items:center}.stage-caption #dot-scale{margin-left:auto}progress{width:100%;height:6px;accent-color:var(--accent);border:0;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:var(--accent-soft)}progress::-webkit-progress-value{background:var(--accent)}.live-message{font-size:11px;margin:15px 0 0;line-height:1.6}.stage-list{list-style:none;padding:10px 0;margin:0}.stage-list li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.stage-list li>span{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;flex-shrink:0}.stage-list li.done>span{background:var(--accent);color:var(--surface);border-color:var(--accent)}.stage-list li.active>span{background:var(--accent-soft);border-color:var(--accent)}.stage-list h3{font-size:12px;margin:1px 0 5px}.stage-list p{font-size:10px;color:var(--muted);margin:0;line-height:1.6}.completion-panel{margin-top:25px;padding:24px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.completion-panel p{font-size:11px;margin-bottom:5px}.button-group{display:flex;gap:10px}.empty-state{padding:70px 25px;text-align:center;border:1px dashed var(--line);border-radius:9px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.7}.empty-state h2{font-size:19px}.empty-symbol{display:block;font-size:40px;margin-bottom:20px;color:var(--muted)}.error-banner{padding:15px;background:#f8e6e3;border:1px solid #e0b6ac;border-radius:6px;color:var(--danger);margin-bottom:20px;font-size:12px}.history-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:20px 5px}.history-row>div{flex:1}.history-row p{font-size:10px;color:var(--muted);margin:5px 0 0}.history-row h3{font-size:13px}.history-row small{font-size:9px}.analysis-preview{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.analysis-intro{padding:40px;background:var(--accent-soft)}.analysis-icon{font-size:40px;display:block;margin-bottom:28px}.analysis-intro h2{font-size:25px}.analysis-intro p{font-size:12px;line-height:1.8;max-width:45ch}.analysis-outline{list-style:none;margin:0;padding:20px 35px}.analysis-outline li{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.analysis-outline li:last-child{border:0}.analysis-outline li>span{font-size:10px;color:var(--muted);padding-top:3px}.analysis-outline p{font-size:11px;line-height:1.8;margin:0;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:12px;padding:25px;width:min(680px,calc(100% - 28px));max-height:86vh;background:var(--canvas);color:var(--ink);box-shadow:0 25px 100px #163d4633}dialog::backdrop{background:#163d465c}.dialog-header{display:flex;justify-content:space-between;gap:15px}.dialog-header h2{font-size:23px}.icon-button{font-size:26px;line-height:1;width:30px;height:30px;border-radius:4px}.icon-button:hover{background:var(--accent-soft)}#field-search{width:100%;margin-bottom:18px}#advanced-fields{max-height:48vh;overflow:auto;padding-right:8px}.advanced-group{border-top:1px solid var(--line);padding:12px 0}.advanced-group summary{font-size:12px;font-weight:650;cursor:pointer;text-transform:capitalize}.advanced-field{padding:15px 0;border-bottom:1px solid var(--line)}.advanced-field label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600}.advanced-field p{font-size:9px;line-height:1.7;color:var(--muted);margin:7px 0}.advanced-field input:not([type=checkbox]),.advanced-field select{width:100%;font-size:11px}.advanced-field select[multiple]{min-height:95px}.dialog-footer{display:flex;justify-content:space-between;padding-top:20px;align-items:center}#sources-dialog p{font-size:12px;line-height:1.8}#sources-dialog h3{margin-top:25px}#source-links table{font-size:10px;width:100%;border-collapse:collapse}#source-links td,#source-links th{text-align:left;padding:9px;border-bottom:1px solid var(--line)}.skeleton{height:8px;width:160px;margin:0 auto 20px;background:var(--accent-soft);animation:breathe 1s infinite}
/* Report components share the same chart vocabulary. */
.results-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}.results-toolbar label{font-size:10px;display:flex;flex-direction:column;gap:6px}.results-toolbar select{font-size:11px;max-width:280px}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.result-grid>section{min-width:0}.chart-row{display:grid;grid-template-columns:140px 1fr 65px;align-items:center;gap:12px;margin:16px 0;font-size:11px}.distribution-bar{display:flex;overflow:hidden;border-radius:4px;min-height:25px}.distribution-bar>span{min-width:0}.data-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.data-table th{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted);font-weight:600;background:var(--accent-soft)}.data-table th,.data-table td{padding:12px 10px;border-bottom:1px solid var(--line)}.data-table button{font-size:10px;color:var(--accent);text-decoration:underline}.data-table td pre{white-space:pre-wrap;word-break:break-word;font-size:10px;max-height:350px;overflow:auto}.stat-inline{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;font-size:11px;color:var(--muted)}.insight-note{background:var(--ochre-soft);border:1px solid oklch(88% .05 86);border-radius:7px;padding:14px 18px;font-size:11px;line-height:1.8;margin:20px 0}.heatmap{overflow:auto;margin:20px 0}.heatmap table{width:100%;border-collapse:separate;border-spacing:4px;font-size:10px}.heatmap th{font-weight:500;text-align:left;max-width:130px}.heatmap td{text-align:center;padding:13px 9px;min-width:55px;border-radius:3px}.report-section{margin:30px 0}.report-section h2{margin-bottom:15px}.bar-track{height:13px;background:var(--accent-soft);border-radius:3px;overflow:hidden}.bar-fill{height:100%;background:var(--blue);border-radius:3px}.chart-axis{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;color:var(--muted);margin:12px 0}.legend span{display:flex;gap:5px;align-items:center}.legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.table-scroll{overflow:auto}.report-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0}.export-actions{display:flex;gap:8px}.heatmap-controls{display:flex;gap:10px;flex-wrap:wrap;font-size:10px}.heatmap-controls label{display:flex;gap:5px;align-items:center}.profile-detail{padding:15px;background:var(--accent-soft);line-height:1.7}.profile-detail dl{display:grid;grid-template-columns:1fr 1.4fr;gap:5px 15px}.profile-detail dt{font-size:10px}.profile-detail dd{font-size:11px;margin:0;overflow-wrap:anywhere}@keyframes breathe{0%,100%{opacity:.4}50%{opacity:1}}
@media(min-width:1650px){main{padding-top:45px}.geography-layout{grid-template-columns:1fr 1.3fr}.county-list{height:200px}#county-map{max-height:350px}.demographic-card{padding-right:28px}.demographic-grid{gap:28px}}
@media(max-width:1150px){.sidebar{width:185px;padding:28px 12px}.workspace{margin-left:185px}main{padding:28px 24px}.topbar{padding:0 24px}h1{font-size:26px}.geography-layout{grid-template-columns:1fr 1fr}.geography-panel{padding:17px}.county-search{flex-wrap:wrap}.county-search select{width:100%}.map-caption .muted{display:none}.sample-strip{gap:15px}.allocation-label{display:none}.demographic-grid{gap:13px}.demographic-card{padding-right:12px}.map-bottom>span{display:none}.object-layout{grid-template-columns:1.15fr 1fr;gap:20px}}
@media(max-width:850px){.sidebar{position:static;width:100%;padding:15px 20px;border-right:0;border-bottom:1px solid var(--line);display:block}.brand{font-size:16px}.brand-mark{width:31px;height:33px;font-size:20px}.brand small{font-size:7px}.workspace-label,.sidebar-bottom,.nav-rule{display:none}.sidebar nav{display:flex;gap:5px;overflow:auto;margin-top:15px}.nav-item{width:auto;margin:0;padding:9px 11px;font-size:10px;gap:7px}.nav-item i{display:none}.workspace{margin-left:0}.topbar{height:52px}.topbar-right{gap:10px}.topbar .text-button{font-size:9px}.geography-layout{grid-template-columns:1fr 1fr}.county-search{flex-wrap:nowrap}.county-search select{width:82px}.sample-strip{flex-wrap:wrap}.sample-control{min-width:300px}.demographic-grid{grid-template-columns:1fr 1fr;gap:23px}.demographic-card:nth-child(2){border:0}.advanced-entry{padding:16px}.session-grid{grid-template-columns:1.2fr 1fr;gap:20px}.population-stage{padding:20px}.population-dots{gap:5px;grid-template-columns:repeat(16,1fr)}.result-grid{grid-template-columns:1fr}.workspace-footer{padding:20px 24px}.page-heading{align-items:start}.scope-tag{font-size:9px}}
@media(max-width:600px){main{padding:24px 17px}.topbar{padding:0 17px}#breadcrumb{font-size:9px;gap:7px}.mock-badge{font-size:7px;padding:5px}.topbar .text-button{display:none}h1{font-size:26px}.page-heading .scope-tag{display:none}.geography-layout{grid-template-columns:1fr}.map-panel{border-left:0;border-top:1px solid var(--line);padding:15px}#county-map{max-height:230px}.map-caption .muted{display:block}.county-list{height:150px}.sample-strip{margin-bottom:25px}.sample-strip h2{font-size:14px}.sample-control{min-width:100%;gap:15px}.sample-number input{font-size:20px}.section-toolbar{align-items:start}.section-toolbar h2{max-width:20ch;font-size:16px}.segmented button{font-size:9px;padding:8px}.segmented span{display:block;margin:3px 0 0;font-size:6px}.demographic-grid{gap:17px}.advanced-entry{align-items:start;flex-direction:column}.advanced-entry .button{width:100%}.page-footer{flex-wrap:wrap;justify-content:flex-end}.page-footer p{max-width:none;width:100%}.object-layout,.session-grid,.analysis-preview{grid-template-columns:1fr}.object-editor{padding:18px}.question-panel{padding:0}.type-selector button{flex:1;padding:10px 5px}.object-specific{flex-direction:column;gap:0}.stage-list{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.stage-list p{font-size:9px}.population-dots{grid-template-columns:repeat(24,1fr);gap:6px}.completion-panel{align-items:start;flex-direction:column}.workspace-footer{font-size:8px;padding:17px}.workspace-footer span:last-child{display:none}.analysis-intro{padding:25px}.analysis-outline{padding:10px 25px}.results-toolbar select{max-width:100%;width:100%}.results-toolbar label{flex:1;min-width:130px}.chart-row{grid-template-columns:100px 1fr 50px;gap:8px;font-size:10px}.data-table th,.data-table td{padding:10px 7px;font-size:10px}.history-row{flex-wrap:wrap;gap:12px}.history-row>div{min-width:65%}.button-group{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.result-card{padding:22px 0;border-top:1px solid var(--line)}.results-actions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.chart-track{height:12px;background:var(--accent-soft);border-radius:3px;overflow:hidden}.chart-fill{display:block;height:100%;background:var(--blue);border-radius:3px}.chart-label{line-height:1.5}.chart-label small,.chart-value small{display:block;font-size:9px;color:var(--muted)}.chart-value{text-align:right}.heatmap td small{display:block;font-size:8px;margin-top:3px}.question-detail{font-size:11px;color:var(--muted);line-height:1.8;padding:14px 0;max-width:80ch}.profile-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:10px;max-height:450px;overflow:auto}

.reviewer-scroll{max-height:440px}.reviewer-scroll thead{position:sticky;top:0;z-index:1}.data-table tbody th{background:transparent;text-transform:none;letter-spacing:0}.result-card .panel-heading>.muted{font-size:10px}.result-card>p.muted{font-size:11px;line-height:1.7}
@media(max-width:600px){.topbar .text-button{display:block;font-size:8px}.topbar-right{gap:7px}.panel-heading{flex-wrap:wrap}}

.data-table button{position:relative}

.map-key{border-radius:2px}.map-key.unselected{background:#a4c7c3}

.task-auto-control{display:flex;align-items:center;gap:8px;font-size:11px;margin:0 0 10px}.object-editor .task-auto-control input{width:auto}.object-editor textarea[readonly]{background:var(--accent-soft);color:var(--ink)}

/* Research workspace: open sections, quiet chrome, explicit control boundaries. */
:root {
  --canvas: oklch(98.4% .004 105);
  --surface: oklch(99.5% .002 105);
  --ink: oklch(28% .018 210);
  --muted: oklch(48% .012 210);
  --line: oklch(87% .008 205);
  --accent-soft: oklch(94% .014 205);
  --radius: 3px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.sidebar { background: oklch(96.7% .006 205); padding: 30px 18px; }
.brand { font-size: 18px; letter-spacing: -.5px; }
.brand-mark { border-radius: 3px; }
.brand small { letter-spacing: 1.6px; }
.nav-item { border-radius: 3px; font-size: 13px; padding: 12px; }
.nav-item.active { background: oklch(91.8% .017 205); color: var(--accent); font-weight: 650; }
.nav-item>span { opacity: .65; }
.nav-item i { border: 0; padding: 0; font-size: 8px; }
.workspace-label { font-size: 10px; letter-spacing: 1px; }
.topbar { height: 60px; background: var(--canvas); font-size: 12px; }
.mock-badge { background: none; border: 0; padding: 0; letter-spacing: .4px; font-size: 10px; }
main { padding-top: 32px; }
h1 { font-size: 28px; font-weight: 550; letter-spacing: -.8px; }
h2 { font-size: 17px; font-weight: 600; letter-spacing: -.25px; }
h3 { font-size: 14px; font-weight: 600; }
.eyebrow { font-size: 10px; letter-spacing: 1.2px; font-weight: 600; }
.subtitle { font-size: 13px; }
.page-heading { margin-bottom: 34px; }
.scope-tag { padding: 0; border: 0; background: none; font-size: 11px; }
.scope-tag span { border: 0; background: none; }
.count-label { padding: 3px 0; border-radius: 0; background: none; font-size: 11px; color: var(--accent); }
.panel-heading p { font-size: 12px; }
input, select, textarea, .button { border-radius: 3px; }
.button { font-size: 12px; padding: 10px 14px; }
.geography-layout { border: 0; border-radius: 0; background: transparent; overflow: visible; gap: 32px; grid-template-columns: minmax(280px,.85fr) minmax(350px,1.25fr); }
.geography-panel { padding: 0; }
.county-search input, .county-search select { font-size: 12px; }
.county-search select { width: 112px; }
.selected-counties { margin: 14px 0; gap: 6px; }
.county-chip { font-size: 11px; border: 0; border-radius: 2px; padding: 5px 7px; }
.county-list { height: 218px; border-top: 0; }
.county-option { font-size: 12px; min-height: 39px; }
.county-option small { font-size: 10px; }
.geography-foot, .geography-foot .text-button { font-size: 10px; }
.map-panel { padding: 0 0 0 24px; border-left: 1px solid var(--line); background: transparent; min-width: 0; }
.map-caption .muted { font-size: 9px; }
#county-map { max-height: 365px !important; }
.county-map-tools { padding: 12px 0 5px !important; }
.county-map-tools .button { font-size: 11px; padding: 7px 10px; }
.county-map-status { padding: 7px 0 !important; min-height: 34px !important; line-height: 1.6; }
.map-bottom { font-size: 9px; }
.sample-strip { margin: 26px 0 32px; padding: 22px 0; }
.sample-strip h2 { font-size: 14px; }
.sample-strip p { font-size: 11px; }
.sample-number { border-radius: 3px; }
.segmented { background: transparent; border: 0; border-radius: 0; padding: 0; gap: 16px; }
.segmented button { padding: 10px 0; border-radius: 0; font-size: 12px; border-bottom: 2px solid transparent; }
.segmented button.selected { background: transparent; box-shadow: none; border-bottom-color: var(--accent); }
.segmented span { font-size: 8px; }
.composition-note { font-size: 11px; margin: 10px 0 22px; }
.demographic-grid { gap: 26px; }
.demographic-card { border: 0; padding-right: 0; }
.demographic-card h3 { font-size: 13px; }
.mix-row { margin: 13px 0; }
.mix-row>div { font-size: 11px; }
.stacked-preview { height: 6px; border-radius: 0; }
.advanced-entry { border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; padding: 22px 0 0; margin-top: 24px; }
.advanced-entry h3 { font-size: 14px; }
.advanced-entry p { font-size: 11px; line-height: 1.7; }
.page-footer { margin-top: 28px; }
.object-layout { gap: 40px; }
.object-editor { border: 0; border-radius: 0; padding: 0; background: transparent; }
.type-selector { gap: 22px; border-bottom: 1px solid var(--line); }
.type-selector button { border: 0; border-bottom: 2px solid transparent; border-radius: 0; padding: 10px 0 12px; font-size: 13px; }
.type-selector .selected { background: transparent; border-bottom-color: var(--accent); }
.field-label { font-size: 12px; margin-top: 20px; font-weight: 600; }
.object-editor input, .object-editor select, .object-editor textarea { font-size: 13px; }
.object-editor textarea[readonly] { background: oklch(96% .005 205); }
.question-panel { padding: 0 0 0 28px; border-left: 1px solid var(--line); }
.question-item { padding: 13px 0; }
.question-item label { font-size: 12px; }
.question-item details { font-size: 11px; }
.question-item .type-label { background: transparent; border-radius: 0; color: var(--muted); font-size: 9px; padding: 0; }
.small-note { font-size: 11px; }
.population-stage { border: 0; border-radius: 0; background: transparent; padding: 0; }
.stage-top { font-size: 13px; }
.stage-list { padding-top: 0; }
.stage-list h3 { font-size: 14px; }
.stage-list p { font-size: 11px; }
.empty-state { border: 0; border-radius: 0; padding: 65px 20px; }
.insight-note { border: 0; border-radius: 0; background: transparent; padding: 0; color: var(--ochre); font-size: 12px; max-width: 85ch; }
.results-toolbar { background: transparent; padding: 16px 0 20px; gap: 20px; }
.results-toolbar label, .results-toolbar select { font-size: 12px; }
.stat-inline { font-size: 12px; gap: 12px 22px; }
.result-grid { gap: 36px; }
.chart-row { font-size: 12px; }
.result-card { padding: 24px 0; }
.result-card .panel-heading>.muted { font-size: 11px; }
.heatmap-controls { border: 0; padding: 0; gap: 12px 18px; font-size: 11px; }
.heatmap-controls legend { margin-bottom: 12px; }
.data-table th { background: oklch(95% .006 205); letter-spacing: .5px; }
.data-table td, .data-table tbody th { font-size: 12px; }
.data-table tbody th { background: transparent; }
.question-detail { font-size: 12px; }
.analysis-preview { border: 0; border-radius: 0; background: transparent; gap: 40px; }
.analysis-intro { padding: 10px 0; background: transparent; }
.analysis-outline { border-left: 1px solid var(--line); padding: 0 0 0 32px; }
.analysis-outline p { font-size: 12px; }
.history-row { padding: 22px 0; }
.history-row h3 { font-size: 15px; }
.history-row p { font-size: 12px; }
dialog { border-radius: 5px; }
@media (max-width:1150px) {
  .geography-layout { gap: 24px; grid-template-columns: minmax(250px,.9fr) minmax(280px,1.1fr); }
  .map-panel { padding-left: 18px; }
  .object-layout { gap: 28px; }
}
@media (max-width:850px) {
  .sidebar { padding: 15px 20px; }
  .nav-item { font-size: 11px; padding: 9px 11px; }
  .topbar { height: 52px; }
  .geography-layout { grid-template-columns: 1fr 1fr; }
  .demographic-grid { gap: 24px; }
}
@media (max-width:600px) {
  main { padding: 25px 17px; }
  h1 { font-size: 25px; }
  .topbar { gap: 8px; }
  .mock-badge { font-size: 7px; }
  .geography-layout { grid-template-columns: 1fr; gap: 26px; }
  .map-panel { border-left: 0; padding: 20px 0 0; }
  #county-map { max-height: 295px !important; }
  .county-list { height: 156px; }
  .section-toolbar { flex-wrap: wrap; }
  .segmented { gap: 18px; }
  .segmented span { display: inline; }
  .demographic-grid { gap: 24px 18px; }
  .advanced-entry { padding: 20px 0 0; }
  .object-layout { grid-template-columns: 1fr; gap: 34px; }
  .question-panel { padding: 22px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .population-stage { padding: 0; }
  .results-toolbar { gap: 12px; }
  .analysis-preview { grid-template-columns: 1fr; gap: 12px; }
  .analysis-intro { padding: 0; }
  .analysis-outline { padding: 0; border-left: 0; }
  .chart-row { font-size: 11px; }
  .result-grid { gap: 0; }
}

.original-request{margin:24px 0;padding:18px 0;border-top:1px solid var(--line);font-size:12px}.original-request>summary{cursor:pointer;font-weight:600;font-size:14px}.original-request>summary span{font-size:12px;font-weight:400;color:var(--muted);margin-left:12px}.original-request .small-note{margin:14px 0}.request-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:85ch;font-size:14px;line-height:1.8;margin:12px 0 20px}.request-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}.request-context dt{color:var(--muted);font-size:11px;margin-bottom:5px;text-transform:capitalize}.request-context dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.request-snapshot summary{cursor:pointer;color:var(--muted)}.request-snapshot pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;font-size:11px;line-height:1.6}@media(max-width:600px){.request-context{grid-template-columns:1fr}.original-request>summary span{display:block;margin:8px 0 0}}

.sample-number select{font-size:11px;padding:5px;border:0;background:transparent}#allocation-controls{font-size:12px;margin:12px 0}#allocation-controls select{font-size:12px;margin-left:8px}.census-share{margin:12px 0}.census-share>div{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.5}.census-share strong{white-space:nowrap;font-weight:500}.census-share meter{width:100%;height:8px;accent-color:var(--accent)}.county-fit{border-top:1px solid var(--line);padding:14px 0;font-size:12px}.county-fit summary{cursor:pointer;line-height:1.8}.county-fit table{margin:12px 0}.census-diagnostics>h3{margin-bottom:12px}@media(max-width:600px){.segmented{flex-wrap:wrap}.sample-control{flex-wrap:wrap}.sample-number{margin-left:auto}}

.readable-profile{padding:22px 14px;background:var(--canvas);font-size:12px;line-height:1.7}.readable-profile h4{font-size:13px;font-weight:600;margin:20px 0 10px}.profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}.profile-facts{margin:0}.profile-facts>div{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.4fr);gap:14px;padding:8px 0;border-bottom:1px solid var(--line)}.profile-facts dt{color:var(--muted);font-size:11px}.profile-facts dd{margin:0;overflow-wrap:anywhere}.profile-facts small,.readable-profile td small{display:block;color:var(--muted);font-size:10px}.raw-profile{margin-top:18px}.raw-profile summary{cursor:pointer;color:var(--muted)}.raw-profile pre{white-space:pre-wrap;overflow-wrap:anywhere}.readable-profile .panel-heading>.muted{font-size:11px}@media(max-width:600px){.profile-sections{grid-template-columns:1fr}.readable-profile{padding:16px 4px}.profile-facts>div{grid-template-columns:1fr;gap:3px}}

.additional-inputs{margin:22px 0}.additional-inputs summary{font-size:12px;cursor:pointer}#sample-limit{max-width:25ch;margin:0}#sample-size[aria-invalid=true]{outline:2px solid var(--danger)}#edit-run-button{margin:0 0 18px}.heatmap-select{display:block;width:100%;height:100%;padding:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.heatmap-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reviewer-toolbar,.reviewer-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0}.reviewer-search{max-width:24rem}.data-table td small{display:block;font-size:10px;color:var(--muted)}

.request-preview{font-size:12px;font-weight:400;color:var(--muted);display:block;margin-top:8px;line-height:1.6}.census-disclosure{padding:14px 0}.census-disclosure>summary{cursor:pointer;font-size:13px}.heatmap td .heatmap-select{text-decoration:none;color:inherit}.reviewer-toolbar input{font-size:12px}

/* Findings: sequential-blue choropleth with explicit no-data and exact values. */
.result-map-tools{display:flex;gap:8px;margin:12px 0}.result-map-tools .button{padding:6px 12px}
.result-map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:24px;align-items:center}
.result-map-layout svg{display:block;width:100%;max-height:440px;aspect-ratio:975/610;background:#FAFAF7}
.result-map-context{stroke:#D9DEE7;stroke-width:.25;vector-effect:non-scaling-stroke}
.result-map-county{stroke:#475569;stroke-width:1;vector-effect:non-scaling-stroke;cursor:pointer}
.result-map-county:hover,.result-map-county:focus,.result-map-county[aria-pressed=true]{stroke:#1F2933;stroke-width:2.5;outline:none}
.result-map-state{fill:none;stroke:#94A3B8;stroke-width:.7;vector-effect:non-scaling-stroke;pointer-events:none}
.result-map-marker{stroke:#475569;stroke-width:1.3;vector-effect:non-scaling-stroke;cursor:pointer}
.result-map-row{display:grid;grid-template-columns:12px 1fr auto;gap:6px 10px;width:100%;align-items:center;text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);font-size:12px}
.result-map-row[aria-pressed=true]{background:var(--accent-soft)}.result-map-row small{grid-column:2/4;color:var(--muted)}
.result-map-swatch{width:11px;height:11px;border:1px solid #94A3B8}.result-map-counties{max-height:400px;overflow:auto}
.result-map-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;margin:12px 0}
.result-map-scale{width:170px;max-width:30vw;height:10px;border:1px solid #94A3B8}
.result-map-missing:before{content:'';display:inline-block;width:10px;height:10px;background:#D1D5DB;border:1px solid #94A3B8;margin-right:6px}
.result-map-status{font-size:11px;min-height:1.5em;margin:0;color:var(--muted)}
@media(max-width:700px){.result-map-layout{grid-template-columns:1fr;gap:12px}.result-map-counties{max-height:230px}.result-map-layout svg{max-height:320px}}

.error-actions{margin-top:12px;flex-wrap:wrap}

/* Input first: one composer, then progressive audience and study controls. */
.input-composer{max-width:760px;margin:clamp(36px,10vh,120px) auto 80px}
.input-composer h1{font-size:32px;letter-spacing:-1px;margin-bottom:28px}
.input-composer textarea{display:block;width:100%;box-sizing:border-box;font-size:18px;line-height:1.6;min-height:220px;padding:20px;resize:vertical}
.input-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.input-actions [role=status]{font-size:11px;color:var(--muted)}
.workspace:has(#page-object:not([hidden])) .topbar-right{visibility:hidden}
.input-review{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px}
.input-review p{margin:0;max-width:80ch;white-space:pre-wrap;overflow-wrap:anywhere}
.input-review button{flex-shrink:0}.poll-setup{padding:28px 0;border-top:1px solid var(--line)}
.poll-setup .type-selector{max-width:460px;margin:22px 0}.poll-setup .question-panel{padding:0;border:0}
.study-settings{margin-top:28px;padding:20px 0;border-top:1px solid var(--line)}
.study-settings>summary{cursor:pointer;font-weight:600}.settings-fields{max-width:760px;padding-top:20px}
@media(max-width:700px){.input-composer{margin:40px auto}.input-composer h1{font-size:27px}.input-composer textarea{font-size:16px}.input-actions{align-items:flex-start}.input-review{align-items:flex-start}.input-actions [role=status]{max-width:100px}}

.execution-settings{max-width:360px;padding:12px 0 20px}
