@font-face{font-family:DM;src:url('assets/dm-sans-latin.woff2') format('woff2');font-weight:100 1000;font-display:swap}*{box-sizing:border-box}html{color-scheme:light;--page:#f2f3f5;--surface:#fff;--soft:#f7f8fa;--ink:#141a24;--secondary:#4a5362;--muted:#667181;--line:#dde2e9;--accent:#246bbf;--orange:#c55425;--aqua:#087c61;--age1:#c7def8;--age2:#99c1ee;--age3:#6da3e0;--age4:#367dcf;--age5:#1c5cab;--age6:#12437e;--age7:#0b2b53;--unknown:#bbc1ca;--ready:#1c5cab;--conditional:#6da7ec;--clarification:#ce5d29;--missing:#b9bdc4}html[data-theme=dark]{color-scheme:dark;--page:#0e1014;--surface:#15181d;--soft:#1b1f26;--ink:#eceef1;--secondary:#b4bac4;--muted:#9ba4b2;--line:#303640;--accent:#75b3ff;--orange:#ed956c;--aqua:#53cfac;--age1:#17375f;--age2:#20518b;--age3:#296cb8;--age4:#408be2;--age5:#70a8eb;--age6:#9cc4f5;--age7:#c4ddfa;--unknown:#555e6c;--ready:#4a95ea;--conditional:#1b5aa8;--clarification:#d87849;--missing:#626b79}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.5 DM,system-ui,sans-serif}a{color:var(--accent);text-underline-offset:3px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,select,input{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:9px 12px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button[aria-pressed=true],.active-filter{background:var(--accent);color:var(--page);border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:16px;top:-80px;background:var(--surface);padding:12px;z-index:10}.skip:focus{top:10px}header{border-bottom:1px solid var(--line);background:var(--surface)}.topbar{max-width:1280px;margin:auto;display:flex;align-items:center;gap:28px;padding:18px 32px;flex-wrap:wrap}.brand{font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.5px;font-size:19px;white-space:nowrap}.brand span{background:var(--accent);color:var(--page);padding:3px 7px;border-radius:3px;margin-right:8px}nav{display:flex;gap:5px;flex:1;flex-wrap:wrap}nav a{padding:8px 11px;text-decoration:none;color:var(--secondary);border-radius:5px;font-size:14px}nav a[aria-current=page]{color:var(--ink);background:var(--soft);font-weight:600}.theme{font-size:13px}.snapshot{font-size:12px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:42px 32px 80px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:.07em;text-transform:uppercase;margin-bottom:8px}h1,h2,h3,p{margin:0}h1{font-size:40px;line-height:1.12;letter-spacing:-1.3px;font-weight:600}h2{font-size:23px;line-height:1.25;letter-spacing:-.5px;font-weight:600}h3{font-size:16px;font-weight:600}.intro{max-width:72ch;color:var(--secondary);margin-top:12px}.page-head{margin-bottom:30px}.section{margin-top:48px;padding-top:32px;border-top:1px solid var(--line)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head p{font-size:13px;color:var(--secondary);margin-top:5px}.info{font-size:12px;font-weight:600;border:1px solid var(--line);border-radius:50%;padding:1px 7px;text-decoration:none;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:26px 0}.metric{border-left:2px solid var(--line);padding-left:18px}.metric .value{font-size:48px;line-height:1.1;letter-spacing:-2px;font-weight:600}.metric .label{color:var(--secondary);font-size:13px;margin-top:8px}.metric .sub{color:var(--muted);font-size:12px;margin-top:3px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:22px;min-width:0}.split{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,1fr);gap:24px}.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}.controls,.legend,.chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.controls{margin-bottom:20px}.controls button,.legend button{font-size:12px;padding:7px 10px}.legend{margin-top:14px}.legend button{display:flex;align-items:center;gap:7px}.swatch{width:9px;height:9px;display:inline-block;background:var(--c,var(--accent));border-radius:2px}.number{font-variant-numeric:tabular-nums}.muted,.note{color:var(--muted)}.note{font-size:12px;line-height:1.5;margin-top:14px;max-width:90ch}.big{font-size:64px;letter-spacing:-2px;line-height:1.1;margin:10px 0}.rail{padding-left:24px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.rail p{font-size:13px;color:var(--secondary);margin:8px 0}.field{width:100%;display:block}.field rect{transition:opacity .15s}.bars{display:grid;gap:14px}.bar-row{display:grid;grid-template-columns:140px minmax(40px,1fr) 55px;align-items:center;gap:12px;font-size:13px}.bar-track{height:9px;border-radius:2px;background:var(--soft);overflow:hidden;display:flex}.bar-fill{height:100%;background:var(--accent);min-width:0}.bar-num{text-align:right;font-variant-numeric:tabular-nums}.stack{display:flex;height:15px;overflow:hidden;border-radius:2px;background:var(--soft)}.stack span{min-width:0}.age-0{background:var(--age1);fill:var(--age1)}.age-1{background:var(--age2);fill:var(--age2)}.age-2{background:var(--age3);fill:var(--age3)}.age-3{background:var(--age4);fill:var(--age4)}.age-4{background:var(--age5);fill:var(--age5)}.age-5{background:var(--age6);fill:var(--age6)}.age-6{background:var(--age7);fill:var(--age7)}.age-7{background:var(--unknown);fill:var(--unknown)}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-size:13px}.filter-panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.filter-panel label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--secondary)}.filter-panel select,.filter-panel input{width:100%;min-width:0}.filter-actions{display:flex;align-items:end;gap:8px}.filter-actions button{font-size:13px}.filter-summary{font-size:13px;margin-top:12px;color:var(--secondary)}.error{background:var(--surface);border-left:3px solid var(--orange);padding:14px;margin:16px 0;color:var(--ink)}.loading{color:var(--muted);padding:60px 0}.empty{text-align:center;padding:40px;color:var(--secondary)}.chart-scroll,.table-wrap{overflow-x:auto;max-width:100%}.milestone-chart{min-width:770px;width:100%;display:block}.milestone-chart text,.bubble-chart text{font-family:DM,system-ui;fill:var(--ink);font-size:12px}.milestone-chart .axis,.bubble-chart .axis{fill:var(--muted);font-size:10px}.milestone-chart [role=button]{cursor:pointer}.milestone-chart [role=button]:hover .halo,.milestone-chart [role=button]:focus .halo{stroke:var(--accent);stroke-width:2}.halo{fill:transparent;stroke:transparent}.intervals{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.interval{border-top:2px solid var(--accent);padding-top:10px}.interval strong{font-size:30px;font-weight:600}.interval small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.interval h3{font-size:12px;margin-bottom:8px}.interval .day{font-size:13px;color:var(--secondary)}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{font-size:11px;color:var(--muted);font-weight:500;background:var(--soft);white-space:nowrap}td,th{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td .stack{min-width:180px}caption{text-align:left;color:var(--muted);font-size:12px;padding-bottom:10px}.heat{min-width:780px}.heat td{text-align:center;border:4px solid var(--surface);background:color-mix(in srgb,var(--accent) var(--intensity),var(--surface));font-variant-numeric:tabular-nums}.heat th{background:none;max-width:110px;white-space:normal}.anon-table{min-width:850px}.pager{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:16px;font-size:13px}.workflow{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0}.system{text-align:center;border:1px solid var(--line);padding:20px;min-width:140px;border-radius:5px}.system strong{display:block}.system small{color:var(--muted);font-size:11px}.exchange{color:var(--muted);font-size:22px;border-top:1px dashed var(--muted);width:65px;text-align:center;height:0}.workflow-caption{font-size:12px;text-align:center;color:var(--muted)}.waffle{display:grid;grid-template-columns:repeat(14,1fr);gap:5px;max-width:600px;margin:20px 0}.waffle a{aspect-ratio:1;border-radius:2px;display:block;background:var(--c)}.ready{--c:var(--ready)}.conditional{--c:var(--conditional)}.clarification{--c:var(--clarification)}.missing{--c:var(--missing);background-image:repeating-linear-gradient(45deg,transparent 0 3px,#0003 3px 4px)!important}.status-tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--secondary)}.status-tag:before{content:'';width:8px;height:8px;background:var(--c);display:inline-block}.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:step}.step{padding:24px;border-top:2px solid var(--accent);background:var(--surface);text-decoration:none;color:var(--ink);display:block;border-radius:0 0 7px 7px}.step-number{font-size:32px;color:var(--accent);margin-bottom:22px;display:block}.step p{font-size:13px;color:var(--secondary);margin-top:8px}.proposed{font-size:10px;color:var(--muted);border:1px solid var(--line);padding:2px 6px;border-radius:3px}.step-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.step-details{scroll-margin-top:20px;margin-top:30px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.detail-grid h3{font-size:12px;color:var(--muted);margin-bottom:6px}.detail-grid p{font-size:14px;max-width:65ch}.source{font-size:11px;color:var(--muted);margin-top:20px;overflow-wrap:anywhere}.req-table{min-width:780px}.req-table details{max-width:70ch}.req-table summary{cursor:pointer;color:var(--accent);margin-top:5px;font-size:12px}.req-table dl{margin:14px 0}.req-table dt{font-size:11px;color:var(--muted);margin-top:12px}.req-table dd{margin:3px 0;font-size:12px}.req-table tr:target{outline:2px solid var(--accent);outline-offset:-2px}details>summary{cursor:pointer;font-size:13px;color:var(--secondary)}details p{margin-top:12px;font-size:13px}.evidence-list{display:grid;gap:12px}.evidence-list details{border-bottom:1px solid var(--line);padding:12px 0}.evidence-list summary{font-size:15px;color:var(--ink)}.evidence-list p{color:var(--secondary);max-width:85ch}.bubble-chart{width:100%;min-width:620px;display:block}.bubble{fill:#286bb7;fill-opacity:.8;stroke:var(--surface);stroke-width:1.5;cursor:pointer}.bubble:hover,.bubble:focus{stroke:var(--ink);stroke-width:2}.gridline{stroke:var(--line);stroke-width:1}.legend-link{background:none;border:0;text-align:left;padding:4px;color:var(--accent);text-decoration:underline;cursor:pointer}.footer{border-top:1px solid var(--line);margin-top:56px;padding-top:18px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.chart-summary{display:flex;gap:24px;flex-wrap:wrap;margin:15px 0;font-size:13px}.chart-summary strong{font-size:20px;font-weight:600}.datum{font-size:12px;color:var(--muted)}@media(max-width:850px){.topbar{gap:12px;padding:16px 20px}nav{order:3;flex-basis:100%}.snapshot{margin-left:auto}main{padding:30px 20px 60px}.metrics{grid-template-columns:repeat(2,1fr)}.split,.two{grid-template-columns:1fr}.rail{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.filter-panel{grid-template-columns:repeat(2,1fr)}.roadmap{grid-template-columns:repeat(2,1fr)}.intervals{grid-template-columns:repeat(3,1fr)}h1{font-size:34px}.big{font-size:48px}}@media(max-width:520px){.topbar{padding:14px 16px}.brand{font-size:17px}.snapshot{display:none}.theme{margin-left:auto}nav{gap:0;justify-content:space-between}nav a{font-size:12px;padding:7px}main{padding:26px 16px 50px}h1{font-size:30px}.metrics{gap:18px}.metric .value{font-size:38px}.metric{padding-left:12px}.panel{padding:16px}.filter-panel{gap:10px;padding:14px}.filter-panel label{font-size:11px}.filter-panel select,.filter-panel input{font-size:13px;padding:8px}.section{margin-top:34px;padding-top:26px}.section-head{align-items:flex-start}.section-head h2{font-size:21px}.roadmap,.detail-grid{grid-template-columns:1fr}.intervals{grid-template-columns:repeat(2,1fr)}.workflow{gap:8px;flex-wrap:wrap}.system{min-width:110px;padding:13px;font-size:13px}.exchange{width:22px}.bar-row{grid-template-columns:110px 1fr 40px;gap:8px;font-size:12px}.waffle{grid-template-columns:repeat(10,1fr)}.toolbar{align-items:flex-start;flex-direction:column}.note{font-size:11px}.controls button{padding:7px 9px}.metric .label{font-size:12px}.chart-scroll{border-right:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.journey-filters{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:16px}.journey-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--secondary)}.journey-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.journey-canvas{overflow:auto;max-width:100%;cursor:grab;border:1px solid var(--line);border-radius:5px;background:var(--soft);touch-action:pan-x pan-y}.journey-canvas:active{cursor:grabbing}.journey-canvas svg{display:block;max-width:none}.journey-svg text{font-family:DM,system-ui;fill:var(--ink);font-size:12px}.journey-svg .node-box{fill:var(--surface);stroke:var(--line);stroke-width:1.5}.journey-svg [aria-pressed=true] .node-box,.journey-svg [role=button]:hover .node-box{stroke:var(--accent);stroke-width:2}.journey-svg [role=button]{cursor:pointer}.journey-svg .node-title{font-size:16px;font-weight:600}.journey-svg .node-small{font-size:11px;fill:var(--secondary)}.journey-svg .edge{fill:none;stroke:var(--accent);stroke-width:1.6}.journey-svg .edge-label{font-size:10px;fill:var(--secondary);paint-order:stroke;stroke:var(--soft);stroke-width:5;stroke-linejoin:round}.graph-legend{display:flex;gap:20px;flex-wrap:wrap;color:var(--secondary);font-size:12px;margin-top:12px}.candidate-route{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:16px 0}.candidate-route span{border:1px dashed var(--muted);padding:7px;font-size:12px;border-radius:4px}.node-detail{margin-top:22px}.journey-records{min-width:700px}.journey-empty{padding:35px;border:1px dashed var(--line);border-radius:8px}.journey-status{margin:14px 0;font-size:13px;color:var(--secondary)}@media(max-width:650px){.journey-filters{grid-template-columns:1fr 1fr}.journey-filters label:last-child{grid-column:1/-1}.journey-canvas{max-height:450px}.journey-toolbar button{font-size:12px;padding:7px 10px}}
.flow-matrix{min-width:1080px;table-layout:fixed;margin-top:20px}.flow-matrix th:first-child{width:150px}.flow-matrix th{white-space:normal}.flow-matrix th strong{display:block;font-size:30px;line-height:1.2;font-weight:600;margin-top:12px;color:var(--ink)}.flow-matrix small{font-size:11px;color:var(--muted)}.flow-matrix td{padding:10px 6px}.flow-cell{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);padding:10px 8px;border:1px solid transparent;border-radius:5px}.flow-cell:hover{border-color:var(--accent);background:var(--soft)}.flow-cell strong{font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-1px}.flow-cell>span{font-size:10px;color:var(--muted)}.flow-cell .stack{height:11px;min-width:0}.flow-matrix caption{max-width:85ch}.flow-matrix th a{font-size:12px}.flow-matrix .stack span{flex-shrink:0}
.population-svg .population-count{font-size:28px;font-weight:600;letter-spacing:-.7px}.population-svg .edge-hit{fill:none;stroke:transparent;stroke-width:22;pointer-events:stroke;cursor:pointer}.population-edge{cursor:pointer}.population-edge:hover .edge,.population-edge[aria-pressed=true] .edge,.population-edge:focus .edge{stroke:var(--ink);stroke-width:2}.population-svg .edge-label{pointer-events:none}.population-patterns{margin-top:18px}.population-viewport{max-height:650px;min-height:220px}.population-svg [role=button]:focus-visible .node-box{stroke:var(--accent);stroke-width:3}.population-cohort-body h3{margin:16px 0}.population-viewport .edge{pointer-events:none}@media(max-width:650px){.population-viewport{max-height:440px;min-height:200px}.population-cohort table{min-width:700px}}

.cohort-bubbles{display:grid;grid-template-columns:repeat(var(--groups),minmax(0,1fr));gap:8px;align-items:start;margin:8px 0 24px}.cohort-bubble{display:flex;flex-direction:column;align-items:center;min-width:0;padding:8px 4px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);font-variant-numeric:tabular-nums}.cohort-bubble svg{display:block;width:100%;max-width:180px;aspect-ratio:1}.cohort-label{font-size:12px;color:var(--secondary);min-height:36px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4}.cohort-bubble strong{font-size:24px;font-weight:600;letter-spacing:-.5px;line-height:1.4}.cohort-share{font-size:12px;color:var(--muted)}.cohort-bubble[aria-pressed=true]{background:var(--soft);border-color:var(--accent);color:var(--ink)}.cohort-bubble.is-muted svg{opacity:.25}.field-caption{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--secondary)}.field-caption strong{color:var(--ink);font-weight:600}.field-caption a{white-space:nowrap}.field-table{margin-top:16px}.field-table table{margin-top:12px}@media(max-width:850px){.cohort-bubbles{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}}@media(max-width:520px){.cohort-bubbles{grid-template-columns:repeat(2,minmax(0,1fr))}.cohort-bubble svg{max-width:130px}.cohort-label{min-height:34px}.field-caption{align-items:flex-start;flex-direction:column;gap:10px}}

.inquiry-rows>.table-wrap{margin-top:18px}

.population-selection{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:16px 0;background:var(--soft);border:1px solid var(--accent);border-radius:6px;font-size:13px}.population-selection button{font-size:12px;white-space:nowrap}@media(max-width:520px){.population-selection{align-items:flex-start;flex-direction:column}}

/* Tables are retained and populated. Restore with SHOW_TABLES in common.js. */
body[data-show-tables="false"] .table-wrap,
body[data-show-tables="false"] details:has(.table-wrap),
body[data-show-tables="false"] :is(#anonymous,#status-ageing,#status-records,#population-flow,#population-status,#population-rules,#journey-records) {
 display: none !important;
}
