.population-explorer{--hunt:#62B5D5;--published:var(--gold);--beyond:#C4A1DC}
.population-explorer [hidden]{display:none!important}
.population-controls{margin:28px 0 32px}
.population-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0}
.population-choices legend{font-size:13px;color:var(--mut);padding:0 0 12px}
.population-choice{--choice-color:var(--hunt);position:relative;display:flex;align-items:center;gap:16px;min-height:94px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);cursor:pointer;transition:border-color .15s,background .15s}
.published-choice{--choice-color:var(--published)}.beyond-choice{--choice-color:var(--beyond)}
.population-choice:has(input:checked){border-color:var(--choice-color);background:color-mix(in srgb,var(--choice-color) 7%,var(--bg))}
.population-choice:hover{border-color:var(--choice-color)}
.population-choice:has(input:focus-visible){outline:2px solid var(--choice-color);outline-offset:4px}
.population-choice input{accent-color:var(--choice-color);width:17px;height:17px;position:absolute;right:14px;top:14px;margin:0;cursor:pointer}
.choice-symbol{color:var(--choice-color);font:36px/1.1 system-ui;width:32px;text-align:center}
.population-choice strong{display:block;font-size:16px;font-weight:600;padding-right:12px;line-height:1.4}
.population-choice small{display:block;font-size:12px;color:var(--mut);margin-top:4px}
.population-assist{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:12px 0 0}
.population-assist p{font-size:13px;color:var(--mut);margin:0}
.population-assist button,.comparison-presets button,.comparison-download,.comparison-footer button{font:inherit;font-size:13px;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:10px 14px;cursor:pointer}
.population-assist button{white-space:nowrap;color:var(--gold);border:0;padding-right:0}
.population-assist button span{padding-left:10px}
.population-explorer button:focus-visible,.population-explorer select:focus-visible,.population-explorer input:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.population-panel{margin-top:40px;scroll-margin-top:24px}
.population-panel>.population-title{font-size:22px;color:var(--ink);margin:0 0 16px}
.population-ready>.population-panel{margin-top:0}
.comparison{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--panel)}
.comparison-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px 24px}
.comparison-top .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 8px;color:var(--mut)}
.comparison-top h3{color:var(--ink);font-size:clamp(25px,3vw,36px);letter-spacing:-.025em;line-height:1.2;margin:0}
.comparison-snapshot{color:var(--mut);font:11px ui-monospace,monospace;letter-spacing:.08em;white-space:nowrap}
.comparison-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 32px}
.comparison-toolbar>label{font-size:13px;color:var(--mut)}
.comparison-toolbar select{flex:1;min-width:140px;max-width:400px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--ink);font:inherit;font-size:14px;padding:12px}
.comparison-presets{display:flex;gap:8px;margin-left:auto}
.comparison-presets button:hover,.comparison-download:hover{border-color:var(--gold);color:var(--gold)}
.comparison-body{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:stretch;background:var(--bg)}
.comparison-plot{min-width:0;padding:20px 12px 16px}
.comparison-plot canvas{display:block;width:100%;height:auto;aspect-ratio:960/900}
.comparison-scale{font-size:12px;color:var(--mut);text-align:center;margin:8px 0}
.comparison-sidebar{padding:32px 24px;border-left:1px solid var(--line);background:var(--panel)}
.comparison-sidebar>.eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 24px}
.comparison-layer{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.layer-heading{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:6px;font-size:12px}
.layer-symbol{font:25px/1 system-ui;color:var(--layer-color)}
.layer-heading strong{font-size:24px;font-weight:500;color:var(--layer-color);font-variant-numeric:tabular-nums}
.layer-slider{display:flex;align-items:center;gap:12px;margin:12px 0 0 30px}
.layer-slider input{min-width:0;width:100%;accent-color:var(--layer-color);height:20px;margin:0;cursor:pointer}
.layer-slider output{font:11px ui-monospace,monospace;color:var(--mut);min-width:34px;text-align:right}
.layer-off .layer-heading{opacity:.5}.layer-off .layer-slider{opacity:.35}
.comparison-reading h4{font-size:13px;color:var(--ink);font-weight:600;margin:24px 0 8px}
.comparison-reading p{font-size:12px;color:var(--mut);line-height:1.7;margin:0 0 14px}
.comparison-download{width:100%;margin-top:12px;display:flex;justify-content:space-between;gap:12px;color:var(--gold)}
.comparison-download:disabled{opacity:.4;cursor:default}
.comparison-footer{padding:12px 32px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;min-height:46px}
.comparison-footer p{font-size:11px;color:var(--mut);margin:0}
.comparison-methods{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:18px 32px;font-size:13px;background:transparent}
.comparison-methods p{max-width:780px;color:var(--mut)}
@media(max-width:899px){.comparison-body{grid-template-columns:1fr}.comparison-sidebar{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px}.comparison-sidebar>.eyebrow,.comparison-reading,.comparison-download{grid-column:1/-1}.comparison-sidebar>.eyebrow{margin:0}.comparison-layer{margin:0;padding-bottom:16px}.layer-heading{grid-template-columns:20px 1fr}.layer-heading strong{grid-column:2}.layer-slider{margin-left:0}.comparison-reading{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.comparison-reading h4{grid-column:1/-1;margin-top:4px}.comparison-download{max-width:280px;margin-top:0}.comparison-plot{padding:12px 0}}
@media(max-width:640px){.population-controls{margin-top:20px}.population-choices{gap:6px}.population-choices legend{font-size:12px;max-width:100%}.population-choice{display:block;min-height:122px;padding:12px 10px}.choice-symbol{display:block;font-size:29px;width:24px;margin-bottom:8px}.population-choice input{right:10px;top:12px;width:16px;height:16px}.population-choice strong{font-size:12px;padding-right:0;line-height:1.45}.population-choice small{font-size:10px;line-height:1.4}.population-assist{align-items:start;gap:8px}.population-assist p{font-size:12px;max-width:210px}.population-assist button{font-size:12px;padding:0;min-height:44px;white-space:normal;text-align:right}.population-assist button span{display:none}.comparison{border-radius:12px}.comparison-top{padding:20px;align-items:start}.comparison-snapshot{font-size:9px;padding-top:4px}.comparison-top .eyebrow{font-size:9px}.comparison-toolbar{padding:14px 20px;gap:10px}.comparison-toolbar>label{width:100%}.comparison-toolbar select{width:100%;max-width:none;flex-basis:100%;font-size:16px}.comparison-presets{margin:0}.comparison-presets button{font-size:12px;min-height:44px}.comparison-sidebar{padding:20px;gap:12px}.layer-heading{display:flex;flex-wrap:wrap;font-size:11px}.layer-heading strong{width:100%;font-size:26px;margin-top:4px}.layer-slider{flex-wrap:wrap;gap:2px}.layer-slider input{height:28px}.layer-slider output{text-align:left}.comparison-reading{display:block}.comparison-footer,.comparison-methods{padding:16px 20px}.comparison-scale{font-size:10px}.comparison-plot{padding:8px 0}.population-panel>.population-title{font-size:20px}}
@media(max-width:640px){.layer-heading{display:grid;grid-template-columns:22px 1fr;grid-template-rows:minmax(36px,auto) 36px;gap:4px;align-items:start;min-height:76px}.layer-heading strong{grid-column:1/-1;width:auto;margin:0}.layer-heading>span:not(.layer-symbol){line-height:1.5}}
/* The hunt retains the same category colors and shapes as its source maps. */
.layer-symbol svg{display:block;width:23px;height:24px}
.pipeline-key{margin:8px 24px 24px;padding:20px 0 0;border-top:1px solid var(--line)}
.pipeline-key h4{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--mut);margin:0 0 14px}
.pipeline-key ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0;padding:0}
.pipeline-key li{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;font-size:12px;line-height:1.5;margin:0;color:var(--ink)}
.pipeline-key .category-symbol{font:22px/1 system-ui;text-align:center}
.pipeline-key strong{font:13px ui-monospace,monospace;font-variant-numeric:tabular-nums;font-weight:500}
.pipeline-key p{font-size:11px;color:var(--mut);margin:16px 0 0}
.pipeline-key .category-empty{opacity:.5}
@media(max-width:640px){.pipeline-key{margin:8px 20px 20px}.pipeline-key ul{grid-template-columns:1fr;gap:12px}.pipeline-key li{font-size:12px}}

/* The selected layer already supplies the visible title; retain headings for navigation and the no-JS page. */
.population-ready .population-panel>.population-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* Snapshot counts remain in place while the maps switch between populations. */
.stage-controls{margin:20px 0 32px}
.stage-controls-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.stage-controls-head h3{font-size:16px;font-weight:600;margin:0 0 5px;color:var(--ink)}
.stage-controls-head p{font-size:12px;color:var(--mut);margin:0;font-variant-numeric:tabular-nums}
.stage-controls-head button{background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 12px;min-height:44px;white-space:nowrap;color:var(--mut);font:inherit;font-size:12px;cursor:pointer}
.stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;border:0;margin:0;padding:0;min-width:0}
.stage-card{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);transition:border-color .15s,background .15s}
.stage-toggle{position:relative;display:grid;grid-template-columns:22px 1fr;gap:5px 7px;align-items:center;padding:16px 13px 8px;cursor:pointer;min-height:96px;box-sizing:border-box}
.stage-toggle input{position:absolute;right:9px;top:10px;width:17px;height:17px;accent-color:var(--stage-color);cursor:pointer;margin:0}
.stage-symbol{font:20px/1 system-ui;color:var(--stage-color)}
.stage-toggle strong{font-size:28px;line-height:1.15;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;padding-right:12px}
.stage-name{grid-column:1/-1;font-size:12px;color:var(--ink);line-height:1.4;min-height:34px;align-self:start;margin-top:4px}
.stage-opacity{display:flex;align-items:center;gap:6px;padding:0 13px 9px}
.stage-opacity input{width:100%;min-width:0;height:32px;margin:0;accent-color:var(--stage-color);cursor:pointer}
.stage-opacity output{min-width:33px;text-align:right;color:var(--mut);font:11px ui-monospace,monospace}
.stage-card:focus-within{outline:2px solid var(--stage-color);outline-offset:3px}
.stage-off{border-color:var(--line);background:var(--bg)}
.stage-off .stage-symbol,.stage-off strong{color:var(--mut)}
.stage-off .stage-opacity{opacity:.5}
.stage-project-off .stage-grid{opacity:.6}
.stage-controls-note{font-size:12px;color:var(--mut);margin:12px 0 0;line-height:1.6}
.stages-ready #pipeline>.note,.stages-ready #pipeline>.hunt-context,.stages-ready [data-sample="pipeline"]>.sample-metrics{display:none}
.sky-reader-ready .field-info .field-count,.sky-reader-ready .field-info .field-series,.sky-reader-ready .field-info .note{display:none}
.sky-stage-key{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid var(--line)}
@media(max-width:760px){.stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-controls-head{align-items:start}.stage-toggle strong{font-size:26px}}
@media(max-width:480px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.stage-card:last-child .stage-toggle{min-height:88px}.stage-card:last-child .stage-name{min-height:0}.stage-card:last-child .stage-opacity{padding-top:14px}.stage-controls-head p{max-width:220px;line-height:1.6}.stage-toggle{min-height:96px}.stage-opacity input{height:36px}}

.stage-controls-actions{display:flex;gap:8px}
.stage-opacity-toggle{display:none}
@media(max-width:560px){
  .stage-opacity-toggle{display:block}
  .stage-controls-head{flex-wrap:wrap;gap:10px}
  .stage-controls-actions{margin-left:auto}
  .stage-grid{grid-template-columns:1fr;gap:6px}
  .stage-card:last-child{display:block;grid-column:auto}
  .stage-toggle,.stage-card:last-child .stage-toggle{grid-template-columns:18px 76px minmax(0,1fr);gap:8px;min-height:52px;padding:8px 38px 8px 12px}
  .stage-toggle input{top:17px}
  .stage-toggle strong{font-size:23px;padding:0}
  .stage-name,.stage-card:last-child .stage-name{grid-column:auto;min-height:0;margin:0;align-self:center}
  .stage-controls:not(.show-opacity) .stage-opacity{display:none}
  .stage-card:last-child .stage-opacity{padding-top:0}
}

/* The interactive map supplies its own key, counted from the objects it draws. */
.sky-reader-ready [data-comparison-pipeline-key]{display:none!important}
