:root { color-scheme: light; --ink:#142237; --muted:#5a6879; --navy:#101e31; --teal:#007f83; --teal-soft:#d7f0ed; --orange:#e49448; --paper:#f4f5f2; --border:#dce2e5; --card:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); }
button,input { font:inherit; }
button { cursor:pointer; }
a { color:inherit; }
.shell { width:min(1380px,calc(100% - 64px)); margin:0 auto; }
.skip-link { position:absolute; left:16px; top:-60px; z-index:10; padding:10px 14px; background:white; }
.skip-link:focus { top:8px; }
.site-header { background:var(--navy); color:#f2f5f7; }
.header-inner { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:15px; font-weight:650; letter-spacing:.01em; }
.brand-mark { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #8196a8; border-radius:8px; font-family:Georgia,serif; font-size:15px; letter-spacing:-.09em; }
.brand-mark span { color:#eca35f; padding:0 2px; }
.paper-link { text-decoration:none; font-size:14px; color:#d8e5ec; border-bottom:1px solid #698395; padding-bottom:3px; }
.paper-link:hover,.site-footer a:hover { color:#68d4d0; }
.intro { padding:55px 0 38px; max-width:1080px; }
.eyebrow { color:var(--teal); text-transform:uppercase; letter-spacing:.14em; font-size:11px; font-weight:800; }
.intro h1 { margin:12px 0 16px; max-width:930px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(36px,4vw,61px); line-height:1.08; font-weight:500; letter-spacing:-.035em; }
.lede { max-width:970px; margin:0; color:#455466; font-size:clamp(17px,1.5vw,20px); line-height:1.6; }
.scope-note { display:flex; align-items:start; gap:11px; margin-top:28px; padding:16px 19px; background:#e8efef; border-left:3px solid var(--teal); border-radius:0 8px 8px 0; color:#415164; }
.scope-note p { margin:0; font-size:14px; line-height:1.5; }
.scope-icon { display:flex; align-items:center; justify-content:center; flex:none; width:19px; height:19px; border:1px solid var(--teal); border-radius:50%; color:var(--teal); font-family:Georgia,serif; font-style:italic; font-size:14px; }
.workspace { display:grid; grid-template-columns:330px minmax(0,1fr); gap:24px; align-items:start; padding-bottom:70px; }
.controls,.figure-card,.metric-card,.companion-card { background:var(--card); border:1px solid var(--border); border-radius:13px; box-shadow:0 10px 30px rgba(25,47,65,.035); }
.controls { padding:25px 24px 22px; position:sticky; top:18px; }
.panel-heading,.figure-top { display:flex; justify-content:space-between; align-items:start; gap:12px; }
h2 { margin:7px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.2; font-weight:500; }
.text-button { border:0; padding:3px 0; color:var(--teal); background:transparent; font-size:13px; font-weight:700; white-space:nowrap; }
.text-button:hover { text-decoration:underline; }
.control-group { margin:0; padding:25px 0; border:0; border-bottom:1px solid var(--border); }
.control-group label:not(.segmented label),.control-group legend { display:flex; align-items:center; gap:10px; font-weight:730; font-size:15px; padding:0; }
.control-number { color:#92a2aa; font-size:11px; letter-spacing:.07em; }
.control-help { color:var(--muted); margin:9px 0 15px; font-size:13px; line-height:1.55; }
.control-value { font-size:21px; font-weight:760; letter-spacing:-.035em; min-height:32px; white-space:nowrap; }
input[type="range"] { display:block; width:100%; height:27px; margin:12px 0 1px; appearance:none; background:transparent; cursor:pointer; }
input[type="range"]::-webkit-slider-runnable-track { height:7px; border-radius:999px; background:linear-gradient(90deg,#56c2bd,#057f83 50%,#123f59); }
input[type="range"]::-moz-range-track { height:7px; border-radius:999px; background:linear-gradient(90deg,#56c2bd,#057f83 50%,#123f59); }
input[type="range"]::-webkit-slider-thumb { appearance:none; width:20px; height:20px; margin-top:-7px; border:3px solid white; border-radius:50%; background:#056e72; box-shadow:0 0 0 2px #056e72,0 2px 8px #6c9092; }
input[type="range"]::-moz-range-thumb { width:15px; height:15px; border:3px solid white; border-radius:50%; background:#056e72; box-shadow:0 0 0 2px #056e72,0 2px 8px #6c9092; }
.range-ends { display:flex; justify-content:space-between; gap:9px; color:#718090; font-size:11px; }
.range-ends span:last-child { text-align:right; }
.quick-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.quick-presets button { padding:7px 10px; border:1px solid #b9d6d7; border-radius:6px; background:#f8fcfb; color:#076c72; font-size:12px; font-weight:680; }
.quick-presets button[aria-pressed="true"] { background:#d5efed; border-color:#58a6a7; }
.quick-presets button:hover { background:#e5f7f3; }
.unit-group { border-bottom:0; padding-bottom:15px; }
.segmented { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #c9d7d8; border-radius:7px; overflow:hidden; }
.segmented label { position:relative; min-width:0; }
.segmented label:not(:last-child) { border-right:1px solid #c9d7d8; }
.segmented input { position:absolute; opacity:0; }
.segmented span { display:flex; align-items:center; justify-content:center; min-height:42px; padding:5px 6px; color:#4b6772; text-align:center; font-size:11px; font-weight:700; cursor:pointer; }
.segmented input:checked + span { background:#d5efed; color:#055d64; }
.segmented input:focus-visible + span { outline:3px solid var(--orange); outline-offset:-3px; }
.fixed-assumptions { margin:4px 0 0; padding-top:16px; border-top:1px solid var(--border); color:#677689; font-size:12px; line-height:1.55; }
.results { min-width:0; }
.figure-card { padding:28px 30px 22px; }
.figure-card h2 { font-size:30px; }
.live-badge { display:flex; align-items:center; gap:7px; margin-top:3px; padding:7px 10px; border-radius:999px; background:#e9f5f1; color:#287777; font-size:11px; font-weight:750; white-space:nowrap; }
.live-badge span { width:7px; height:7px; border-radius:50%; background:#17aa95; }
.figure-subtitle { color:var(--muted); margin:13px 0 10px; font-size:14px; line-height:1.5; }
.chart-wrap { width:100%; }
#tradeoff-chart { display:block; width:100%; height:auto; max-height:470px; overflow:visible; }
.chart-grid line { stroke:#e7ecee; stroke-width:1; }
.chart-grid line.vertical { stroke:#edf0f1; }
.chart-grid text { fill:#6f7c89; font-size:12px; }
.active-curve { fill:none; stroke:#007f83; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.reference-curve { fill:none; stroke:#aebcc5; stroke-width:2.5; stroke-dasharray:8 6; stroke-linecap:round; stroke-linejoin:round; }
.reference-curve.national { stroke-dasharray:2 6; }
.chart-dot { cursor:pointer; }
.chart-dot circle:first-child { fill:#007f83; stroke:#fff; stroke-width:2; }
.chart-dot.selected circle:first-child { fill:#e49448; stroke:#fff; stroke-width:3; }
.chart-dot .hit-area { fill:transparent; }
.chart-dot:focus-visible circle:first-child { stroke:#101e31; stroke-width:4; }
.chart-annotation .guide { stroke:#e49448; stroke-dasharray:4 5; stroke-width:1.5; }
.chart-annotation text { fill:#a66322; font-size:14px; font-weight:750; }
.axis-note { margin:-7px 2px 0; color:#647386; font-size:12px; line-height:1.5; }
.figure-foot { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:18px; padding-top:16px; border-top:1px solid #edf0f1; color:#5d6c7b; font-size:12px; }
.reference-legend { display:inline-flex; align-items:center; gap:8px; }
.reference-legend[hidden] { display:none; }
.legend-line { width:22px; height:0; border-top:3px solid #007f83; margin-left:9px; }
.legend-line:first-child { margin-left:0; }
.legend-line.reference { border-color:#aebcc5; border-top-style:dashed; }
.legend-line.reference.national { border-top-style:dotted; }
.metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:16px 0; }
.metric-card { min-height:136px; padding:20px 19px; display:flex; flex-direction:column; }
.metric-card.primary { background:#112c3c; border-color:#112c3c; color:#fff; }
.metric-label { min-height:35px; color:#617185; font-size:12px; line-height:1.35; font-weight:750; }
.metric-card.primary .metric-label { color:#b9d9df; }
.metric-card strong { margin:7px 0 6px; font-size:clamp(20px,2.2vw,30px); line-height:1.1; letter-spacing:-.05em; white-space:nowrap; }
.metric-detail { color:#718090; font-size:11px; line-height:1.4; }
.metric-card.primary .metric-detail { color:#bbd8df; }
.companion-card { display:grid; grid-template-columns:minmax(200px,.75fr) minmax(0,1.25fr); gap:15px; align-items:center; padding:26px 28px; }
.companion-card h2 { font-size:24px; }
.companion-card p { margin:14px 0 0; color:#657485; line-height:1.55; font-size:13px; }
#unit-chart { width:100%; max-height:250px; }
.bar-grid { stroke:#e7ebed; stroke-width:1; }
.bar-axis-label { fill:#85929d; font-size:12px; }
.bar-name { fill:#526375; font-size:14px; font-weight:680; }
.selected-name { fill:#006f76; }
.bar-track { fill:#edf2f1; }
.bar-fill { fill:#8fb4b7; }
.selected-bar { fill:#00888b; }
.bar-value { fill:#304f5c; font-size:13px; font-weight:760; }
.method-note { margin:17px 3px 0; padding:0 2px 0 15px; border-left:2px solid #b5c7c9; color:#617080; line-height:1.55; font-size:12px; }
.method-note strong { color:#30485a; }
.site-footer { padding:22px 0 30px; border-top:1px solid #d7e0e2; color:#748090; font-size:12px; }
.site-footer a { color:#355c68; }
button:focus-visible,a:focus-visible,input[type="range"]:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
@media (max-width:1050px) { .workspace { grid-template-columns:295px minmax(0,1fr); gap:16px; } .controls { padding:20px; } .figure-card { padding:23px 22px 20px; } .companion-card { grid-template-columns:1fr; } .companion-card p { max-width:650px; } }
@media (max-width:760px) { .shell { width:min(100% - 30px,620px); } .header-inner { min-height:65px; } .brand { font-size:13px; gap:9px; } .brand-mark { width:34px; height:34px; font-size:13px; } .paper-link { font-size:12px; } .intro { padding:36px 0 25px; } .intro h1 { font-size:39px; } .workspace { display:block; } .controls { position:static; margin-bottom:16px; } .metric-grid { grid-template-columns:1fr; } .metric-card { min-height:0; } .metric-label { min-height:0; } .metric-card strong { font-size:28px; } .figure-card { padding:20px 13px 17px; } .figure-top { padding:0 5px; } .figure-card h2 { font-size:25px; } .figure-subtitle,.axis-note,.figure-foot { margin-left:5px; margin-right:5px; } .live-badge { display:none; } .chart-grid text { font-size:14px; } .chart-annotation text { font-size:15px; } .companion-card { padding:21px 16px; } }

/* Stage 2b explorer */
.intro { padding:38px 0 24px; }
.intro h1 { font-size:clamp(34px,3.7vw,52px); }
.scope-note { display:block; margin-top:19px; }
.scenario,.card,.figure2-details { background:#fff; border:1px solid var(--border); border-radius:13px; box-shadow:0 10px 30px rgba(25,47,65,.035); }
.scenario { padding:20px 24px; margin-bottom:19px; }
.scenario-head { display:flex; align-items:start; justify-content:space-between; gap:15px; }
.scenario-head h2 { font-size:23px; }
#reset-button { border:1px solid #b8d4d4; border-radius:6px; padding:8px 11px; background:#f4fbfa; color:#076c72; font-size:13px; font-weight:700; white-space:nowrap; }
.scenario-items { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:14px 0 0; }
.scenario-items button { border:1px solid #d0dfe1; border-radius:999px; background:#f6f9f9; color:#345260; padding:7px 11px; font-size:12px; font-weight:650; }
.scenario-items button:hover,.scenario-items button:focus-visible { border-color:var(--teal); color:#005d63; }
.scenario-items>span { color:#9caaae; }
.world-details { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.world-details summary,.figure2-details summary { cursor:pointer; color:#076e75; font-weight:750; }
.world-details summary span { margin-left:6px; color:#5e6e7b; font-weight:500; }
.world-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:13px 0; }
.world-details>p { margin:0; color:var(--muted); font-size:12px; }
.tabbar { display:flex; gap:5px; overflow-x:auto; border-bottom:1px solid #bfcfd3; margin:0 0 19px; scrollbar-width:thin; }
.tabbar button { flex:none; border:0; border-bottom:3px solid transparent; background:transparent; color:#54687a; padding:11px 15px; font-weight:800; white-space:nowrap; }
.tabbar button span { font-weight:600; margin-left:5px; }
.tabbar button[aria-selected="true"] { border-color:var(--teal); color:#006b72; }
[role="tabpanel"][hidden] { display:none; }
[role="tabpanel"] { padding-bottom:55px; }
.tab-intro { margin:3px 0 17px; }
.tab-intro h2 { font-size:32px; }
.tab-intro p { margin:7px 0 0; color:#536373; line-height:1.5; }
.tab-layout { display:grid; grid-template-columns:minmax(205px,245px) minmax(300px,350px) minmax(0,1fr); gap:15px; align-items:start; }
.card { min-width:0; padding:20px; }
.card h3 { margin:0 0 16px; font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:500; }
.card h4 { margin:19px 0 9px; font-size:14px; }
.tab-controls { grid-column:1; grid-row:1 / span 2; }
.tab-graph { grid-column:2; }
.tab-table { grid-column:3; }
.tab-working { grid-column:2 / 4; }
.tab-fixed { grid-column:1 / 4; }
.tab-extra { grid-column:1 / 4; }
@media (min-width:1101px) { .tab-layout-5 .tab-controls { grid-row:1 / span 2; } .tab-layout-5 .tab-graph { grid-column:2 / 4; grid-row:1; } .tab-layout-5 .tab-table { grid-column:2 / 4; grid-row:2; } .tab-layout-5 .tab-working { grid-row:3; } }
.tab-fixed ul { margin:0; padding-left:20px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 24px; color:#5b6a7b; line-height:1.5; font-size:13px; }
.control-field { padding:0 0 18px; margin-bottom:19px; border-bottom:1px solid var(--border); }
.control-field:last-child { margin-bottom:0; border:0; padding-bottom:0; }
.control-field label,.control-title { display:block; font-size:14px; font-weight:760; }
.control-field p,.control-note { color:var(--muted); font-size:12px; line-height:1.5; }
.control-field output { display:block; margin:10px 0 2px; font-size:17px; font-weight:760; }
.choice-list,.preset-row { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.choice-list button,.preset-row button { border:1px solid #bfd5d7; border-radius:6px; background:#f6fbfa; color:#176b72; padding:8px 9px; font-size:12px; font-weight:700; }
.choice-list button[aria-pressed="true"],.preset-row button[aria-pressed="true"] { background:#d2eeeb; border-color:#59a7a7; color:#035c63; }
.preset-row { margin:-10px 0 20px; }
.graph-note { color:#667584; font-size:12px; line-height:1.5; margin:0 0 15px; }
.dot-group { margin:13px 0; }
.dot-label,.detection-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; margin-bottom:7px; }
.dot-label span,.detection-heading span { color:#5d6c7b; }
.dot-field { display:flex; flex-wrap:wrap; gap:3px; }
.unit-dot { width:10px; height:10px; border-radius:50%; background:linear-gradient(90deg,var(--teal) calc(var(--lit)*100%),#e5edef calc(var(--lit)*100%)); border:1px solid #c7d9dc; }
.muted { color:#82909b; font-size:12px; }
.table-scroll { max-width:100%; overflow:auto; }
.table-hint { display:none; margin:7px 0 0; color:#6f7e8a; font-size:11px; }
table { border-collapse:collapse; min-width:610px; width:100%; font-size:12px; }
table caption { text-align:left; color:#5e6e7c; font-size:11px; line-height:1.4; margin:0 0 11px; }
th,td { text-align:right; vertical-align:top; padding:9px 7px; border-bottom:1px solid #e4eaec; white-space:nowrap; }
th:first-child,td:first-child { text-align:left; }
thead th { color:#5c6b7c; font-size:11px; font-weight:750; white-space:normal; }
tbody th { font-weight:750; }
.trigger-cell { max-width:190px; white-space:normal; text-align:left; }
.selected-row { background:#e8f5f2; }
.footer-row { background:#f2f5f6; }
.live-value { font-weight:680; }
.paper-value { display:block; color:#7d8995; font-size:10px; font-weight:500; }
.distinct-value { display:block; color:#6f7e8b; font-size:10px; font-weight:500; }
.posterior-display { display:inline-flex; flex-direction:column; align-items:flex-start; vertical-align:middle; line-height:1.2; white-space:nowrap; }
.posterior-display strong { font-weight:760; }
.posterior-display small { display:block; margin-top:3px; color:#647384; font-size:11px; font-weight:500; }
.posterior-cell { text-align:right; }
.posterior-cell .posterior-display { align-items:flex-end; }
.chart-posterior { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 20px; margin-top:15px; padding-top:14px; border-top:1px solid var(--border); color:#506174; font-size:13px; }
.chart-posterior .posterior-display strong { font-size:19px; color:var(--ink); }
.takeaway .posterior-display strong { font-size:18px; }
.tab-working p { margin:0 0 11px; color:#43556a; line-height:1.6; font-size:13px; }
.tab-working .formula { padding:12px 15px; background:#eef5f4; border-radius:7px; overflow-wrap:anywhere; }
.takeaway { margin:16px 0 0; padding:17px 21px; border-left:4px solid var(--teal); border-radius:0 8px 8px 0; background:#e8f2f1; line-height:1.55; font-size:16px; }
.bar-row { display:grid; grid-template-columns:105px minmax(0,1fr) 47px; align-items:center; gap:7px; margin:13px 0; font-size:11px; }
.bar-row .bar-track { height:18px; background:#e6eeee; border-radius:4px; overflow:hidden; }
.bar-row .bar-fill { display:block; height:100%; background:#7caeae; }
.accent-bar .bar-fill { background:#e49448; }
.bar-row strong { text-align:right; font-size:12px; }
.mechanism-panel { border-top:1px solid var(--border); margin-top:21px; padding-top:3px; }
.mechanism-panel p { font-size:12px; line-height:1.55; color:#556575; }
.mechanism-plot,.cost-plot { display:block; width:100%; height:auto; }
.mechanism-plot line,.cost-plot .axis { stroke:#b6c6ca; stroke-width:1; }
.mechanism-plot path { fill:none; stroke:var(--teal); stroke-width:3; }
.mechanism-plot circle { fill:var(--orange); stroke:white; stroke-width:2; }
.mechanism-plot text,.cost-plot text { fill:#687889; font-size:11px; }
.detection-row { margin:17px 0 23px; }
.detection-row.highlighted { padding:9px; margin-left:-9px; margin-right:-9px; background:#eaf5f3; border-radius:8px; }
.detection-track { position:relative; width:100%; height:21px; border-radius:4px; background:#e6eeee; }
.detection-fill { display:block; height:100%; border-radius:4px; background:#218c91; }
.background-mark,.identification-mark { position:absolute; top:-4px; height:29px; width:3px; }
.background-mark { background:#7d8d98; }
.identification-mark { background:var(--orange); }
.graph-key { display:flex; flex-wrap:wrap; gap:7px 12px; color:#617080; font-size:11px; line-height:1.4; }
.graph-key-item { display:inline-flex; align-items:center; gap:4px; white-space:nowrap; }
.key-swatch { display:inline-block; width:10px; height:10px; margin-right:3px; border-radius:2px; vertical-align:middle; }
.key-swatch.teal { background:var(--teal); }.key-swatch.grey { background:#7d8d98; }.key-swatch.orange { background:var(--orange); }
.ratio-row { display:grid; grid-template-columns:34px minmax(0,1fr) 75px; gap:7px; align-items:center; padding:7px; font-size:12px; }
.ratio-row.highlighted { background:#eaf5f3; border-radius:7px; }
.ratio-row small { grid-column:2 / 4; color:#708090; text-align:right; }
.ratio-track { height:14px; border-radius:3px; background:#e6eeee; }
.ratio-track i { display:block; height:100%; background:#71aaad; }
.highlighted .ratio-track i { background:var(--teal); }
.figure2-details { padding:17px 20px; }
.figure2-body { border-top:1px solid var(--border); margin-top:16px; padding-top:13px; }
.figure2-body>p { color:#607183; font-size:13px; line-height:1.55; }
.figure2-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:end; }
.figure2-controls label,.figure2-controls output { display:block; font-size:12px; }
.figure2-controls label { font-weight:750; }
.figure2-controls output { margin-top:7px; color:#567; }
.figure2-controls .choice-list { margin-bottom:5px; }
.figure2-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.figure2-metrics div { padding:12px; background:#f0f5f5; border-radius:7px; }
.figure2-metrics span,.figure2-metrics strong { display:block; }
.figure2-metrics span { color:#627386; font-size:11px; }
.figure2-metrics strong { margin-top:6px; font-size:20px; }
#unit-chart { max-width:500px; }
.cost-plot .flag-line { fill:none; stroke:var(--teal); stroke-width:3; }
.cost-plot .wards-line { fill:none; stroke:var(--orange); stroke-width:3; }
.cost-plot .flag-point { fill:var(--teal); }.cost-plot .wards-point { fill:var(--orange); }
.cost-plot { max-width:560px; margin:8px auto 13px; }
.cost-plot .plot-grid { stroke:#e2eaec; stroke-width:1; }
.cost-plot .axis-tick { font-size:10px; }
.cost-plot .axis-title { font-size:11px; fill:#45576b; font-weight:700; }
@media (max-width:1100px) { .tab-layout { grid-template-columns:minmax(200px,250px) minmax(0,1fr); } .tab-controls { grid-row:1 / span 2; } .tab-graph,.tab-table { grid-column:2; } .tab-working,.tab-fixed,.tab-extra { grid-column:1 / 3; } }
@media (max-width:700px) { .shell { width:calc(100% - 28px); } .intro { padding:28px 0 18px; } .intro h1 { font-size:37px; } .scenario { padding:16px; } .scenario-items>span { display:none; } .scenario-items button { font-size:11px; } .tab-layout { display:flex; flex-direction:column; } .tab-layout>* { width:100%; } .tab-controls { order:1; }.tab-graph { order:2; }.tab-table { order:3; }.tab-working { order:4; }.tab-fixed { order:5; }.tab-extra { order:6; } .tab-fixed ul { grid-template-columns:1fr; } .world-controls,.figure2-controls,.figure2-metrics { grid-template-columns:1fr; } .card { padding:17px; } .tabbar button { padding:11px 12px; } .tab-intro h2 { font-size:28px; } .table-hint { display:block; } }
@media (max-width:700px) { .cost-plot .axis-tick { font-size:14px; } .cost-plot .axis-title { font-size:15px; } }

/* Stage 3b simulation mode */
.simulation-banner { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:14px; padding:12px 14px; border:1px solid #aad1cf; border-radius:8px; background:#e7f4f2; color:#214d56; font-size:12px; line-height:1.5; }
.simulation-banner[hidden] { display:none; }
.simulation-banner strong { color:#086a70; }
.simulation-banner button { border:1px solid #8bbfbc; border-radius:6px; padding:6px 9px; background:#fff; color:#086a70; font-size:11px; font-weight:700; cursor:pointer; }
.simulation-progress { font-weight:700; }
.world-controls { align-items:start; }
.world-type { min-width:0; }
.world-type h3 { margin:4px 0 13px; font-family:Georgia,"Times New Roman",serif; font-size:18px; font-weight:500; }
.world-type .control-field { margin-bottom:12px; padding-bottom:10px; }
.world-type .control-field label { font-size:12px; }
.world-type .control-field output { font-size:14px; margin:6px 0 0; }
.source-value { display:block; color:#177578; font-size:10px; font-weight:650; }
.interval-value { font-size:10px; font-weight:500; color:#486575; }
.interval-below { display:block; font-size:9px; line-height:1.25; white-space:nowrap; }
.tab-layout-4 .tab-table table { table-layout:fixed; min-width:0; }
.tab-layout-4 .tab-table th:first-child { width:42px; }
.tab-layout-4 .tab-table th,.tab-layout-4 .tab-table td { padding-left:3px; padding-right:3px; }
.tab-layout-4 .tab-table .source-value { font-size:9px; }
@media (max-width:700px) { .tab-layout-4 .tab-table table { min-width:610px; } }
.sim-updating .pending-rule { opacity:.58; }
.threshold-list { margin:0 0 12px; padding-left:21px; color:#43556a; font-size:13px; line-height:1.6; }
.figure2-body .figure2-scope { padding:10px 12px; border-left:3px solid var(--teal); background:#eef6f5; color:#314d58; font-weight:650; }
.figure2-summary-note { display:block; margin:5px 0 0 20px; color:#657586; font-size:11px; font-weight:500; }
.sim-updating td[data-source="pending"],.sim-updating .tab-graph,.sim-updating .tab-working { opacity:.58; }
.unavailable-rule { color:#84919b; background:#f3f5f5; }
.dot-uncertainty,.chart-interval { display:flex; align-items:center; gap:7px; margin-top:5px; color:#5e7581; font-size:11px; }
.chart-interval i { width:28px; border-top:3px solid #e49448; }
.bar-row .bar-track { position:relative; }
.bar-error,.detection-error,.ratio-error { position:absolute; height:4px; top:-6px; border-left:2px solid #d38139; border-right:2px solid #d38139; border-top:2px solid #d38139; box-sizing:border-box; }
.ratio-track { position:relative; }
.ratio-error { top:-4px; }
.cost-error { stroke-width:5; stroke-linecap:round; opacity:.75; }
.flag-error { stroke:var(--teal); }.wards-error { stroke:var(--orange); }
.chart-posterior small { color:#5f7380; font-size:11px; }
@media (max-width:700px) { .world-controls { grid-template-columns:1fr; } .simulation-banner { align-items:flex-start; } }
