:root{--navy:#0f1f3d;--navy-mid:#162747;--blue:#2563eb;--blue-bright:#3b82f6;--blue-pale:#93c5fd;--sl100:#f1f5f9;--sl200:#e2e8f0;--sl300:#cbd5e1;--sl400:#94a3b8;--sl500:#64748b;--sl600:#475569;--sl700:#334155;--sl800:#1e293b;--bg:#f8fafc;--card:#ffffff;--fg:#1e293b;--muted:#475569;--line:#e2e8f0;--accent:#2563eb;--done:#15803d;--donebg:#f0fdf4;--ready:#2563eb;--readybg:#eff6ff;--locked:#94a3b8;--lockedbg:#f1f5f9;--fail:#b91c1c;--failbg:#fef2f2;--warn:#b45309;--warnbg:#fef3c7;--rail:#0f1f3d;--rail-fg:#ffffff;--rail-muted:#93c5fd;--brand-arc:#93c5fd;--shadow:0 1px 2px rgba(15,31,61,.06), 0 1px 1px rgba(15,31,61,.04);--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0b1420;--card:#121d2c;--fg:#e6ecf4;--muted:#9fafc2;--line:#243346;--accent:#6c9bff;--done:#5bc98a;--donebg:#142a1f;--ready:#6c9bff;--readybg:#182742;--locked:#8494a8;--lockedbg:#1b2637;--fail:#f08c86;--failbg:#2d1717;--warn:#e0a265;--warnbg:#2c2114;--rail:#060e19;--rail-muted:#7e93b4;--brand-arc:#93c5fd;--shadow:0 1px 2px rgba(0,0,0,.4)}}:root[data-theme=dark]{color-scheme:dark;--bg:#0b1420;--card:#121d2c;--fg:#e6ecf4;--muted:#9fafc2;--line:#243346;--accent:#6c9bff;--done:#5bc98a;--donebg:#142a1f;--ready:#6c9bff;--readybg:#182742;--locked:#8494a8;--lockedbg:#1b2637;--fail:#f08c86;--failbg:#2d1717;--warn:#e0a265;--warnbg:#2c2114;--rail:#060e19;--rail-muted:#7e93b4;--brand-arc:#93c5fd;--shadow:0 1px 2px rgba(0,0,0,.4)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.6 var(--sans);-webkit-font-smoothing:antialiased}.wrap{max-width:1240px;margin:0 auto;padding:28px 20px 80px}header{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}h1{font-size:22px;margin:0;letter-spacing:-.02em;font-weight:700}.sub{color:var(--muted);font-size:13px}.note{margin:0 0 10px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}.filters{margin-top:0;margin-bottom:12px}select,button{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:7px;padding:7px 11px;cursor:pointer}select:hover,button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button+button{margin-left:6px}.pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.p-done{background:var(--donebg);color:var(--done)}.p-ready{background:var(--readybg);color:var(--ready)}.p-locked{background:var(--lockedbg);color:var(--locked)}.p-failed{background:var(--failbg);color:var(--fail)}.p-running,.p-review{background:var(--warnbg);color:var(--warn)}.p-skipped{background:var(--lockedbg);color:var(--locked)}.phase{margin-top:26px}.phase h2{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 10px;font-weight:600}.cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:9px;padding:13px 15px;cursor:pointer;transition:.12s;text-align:left;width:100%;font:inherit;color:inherit;display:block}.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card.done{border-left-color:var(--done)}.card.ready{border-left-color:var(--ready)}.card.running,.card.review{border-left-color:var(--warn)}.card.locked{border-left-color:var(--locked);opacity:.62}.card.skipped{border-left-color:var(--line);opacity:.5}.card.problem{border-left-color:var(--fail)}.card h3{margin:0 0 3px;font-size:14px;font-weight:600}.card .no{color:var(--muted);font-weight:400}.card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:9px;font-size:11px;color:var(--muted);gap:8px}.checkline{font-size:11px;margin-top:7px;color:var(--muted)}.checkline .bad,.bad{color:var(--fail)}.checkline .bad{font-weight:600}.cardnote{font-size:11px;color:var(--muted);margin-top:6px;font-style:italic}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-top:20px}.panel h2{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 12px;font-weight:600}.chart{height:320px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line)}th{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.scroll{overflow-x:auto}tbody tr:hover{background:var(--bg)}.checks{padding:0;margin:0;list-style:none}.checks li{margin:3px 0;font-size:13px}.checks .ok:before{content:"ok ";color:var(--done);font-weight:700}.checks .bad:before{content:"fail ";color:var(--fail);font-weight:700}.stats .stat{display:inline-block;margin-right:26px}.stat b{display:block;font-size:21px;font-weight:650}.stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}dialog{border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg);max-width:620px;width:92%;padding:22px 24px}dialog::backdrop{background:#00000073}dialog h2{margin:0 0 4px;font-size:18px}dialog h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px}dialog .gate{margin-top:12px}.dialog-actions{margin-top:18px;text-align:right}.banner{border-radius:8px;padding:11px 15px;margin-top:16px;font-size:13px}.banner.bad{background:var(--failbg);color:var(--fail)}.banner.good{background:var(--donebg);color:var(--done)}.banner.warn{background:var(--warnbg);color:var(--warn)}code{background:var(--bg);padding:1px 5px;border-radius:3px;font-size:12px}@media (max-width: 640px){.wrap{padding:20px 14px 60px}.cards{grid-template-columns:1fr}.stats .stat{margin-right:18px}}.stamp{font-size:11px;opacity:.75}.legend{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.s-done{background:var(--done)}.s-ready{background:var(--ready)}.s-running{background:var(--warn)}.s-locked{background:var(--locked)}.s-failed{background:var(--fail)}.legend-note{flex-basis:100%;font-style:italic;opacity:.8}.warnings{border-left:3px solid var(--warn)}.warnings h2{color:var(--warn)}.warnings ul{margin:0;padding-left:18px;font-size:13px}.warnings li{margin:5px 0}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}dialog.wide{max-width:720px;width:92vw}dialog label{display:block;margin:.9rem 0;font-size:.82rem;color:var(--muted)}dialog label input,dialog label select,dialog label textarea{display:block;width:100%;margin-top:.3rem;padding:.45rem .55rem;font:inherit;font-size:.9rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:5px}dialog label input:focus,dialog label select:focus,dialog label textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}dialog label small{display:block;margin-top:.25rem;color:var(--muted);font-size:.74rem;line-height:1.35}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media (max-width: 620px){.field-row{grid-template-columns:1fr}}label.narrow{max-width:180px}.link-btn{background:none;border:none;color:var(--accent);padding:0;font-size:.82rem;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.created-grid{display:flex;gap:1.75rem;margin:1rem 0}.created-grid div{display:flex;flex-direction:column}.created-grid b{font-size:1.5rem}.created-grid span{color:var(--muted);font-size:.78rem}.next-steps{margin:.5rem 0 0;padding-left:1.2rem}.next-steps li{margin:.45rem 0;font-size:.85rem}.next-steps code{font-size:.8rem}.card.unverified{border-color:var(--muted);background:var(--bg)}.card.unverified h3{opacity:.75}.pill.p-unverified{background:var(--lockedbg);color:var(--muted)}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.2rem 1rem;margin:.5rem 0 1rem}.model-grid .checkline{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--fg);margin:0}.model-grid input[type=checkbox]{width:auto;margin:0}.sub.example{margin:-.3rem 0 .9rem;font-size:.78rem}.sub.example a{color:var(--accent)}dialog table.results{width:100%;border-collapse:collapse;font-size:.82rem}dialog table.results th,dialog table.results td{padding:.3rem .5rem;text-align:left;border-bottom:1px solid var(--line)}dialog table.results th{color:var(--muted);font-weight:600}dialog table.results td.bad-cell{color:var(--fail);font-weight:600}dialog .scroll{max-height:220px;overflow:auto;margin-bottom:.8rem}dialog.report-dialog{max-width:900px}.provenance-links{display:grid;gap:.4rem;margin:.5rem 0 1rem}.provenance-links a{display:block;padding:.5rem .7rem;border:1px solid var(--line);border-radius:5px;color:var(--accent);text-decoration:none;font-size:.85rem}.provenance-links a:hover{border-color:var(--accent)}.provenance-links a span{display:block;color:var(--muted);font-size:.76rem;margin-top:.1rem}.tabs{display:flex;gap:.3rem;margin:.5rem 0}.tabs button{font-size:.8rem;padding:.25rem .7rem}.tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}.report-preview{width:100%;height:460px;border:1px solid var(--line);border-radius:5px;background:#fff}dialog textarea.mono{font-family:var(--mono);font-size:.75rem}.what-happened{margin:.7rem 0 .2rem;font-size:.88rem;line-height:1.5;color:var(--fg)}.provenance-links button.link-card{display:block;width:100%;text-align:left;padding:.5rem .7rem;border:1px solid var(--line);border-radius:5px;background:none;color:var(--accent);font:inherit;font-size:.85rem;cursor:pointer}.provenance-links button.link-card:hover{border-color:var(--accent)}.provenance-links button.link-card span{display:block;color:var(--muted);font-size:.76rem;margin-top:.1rem}.plain-english{border-left:3px solid var(--accent);padding:.1rem 0 .1rem .9rem;margin:.6rem 0 1.2rem}.plain-english p{margin:.5rem 0;font-size:.88rem;line-height:1.55}.plain-english b{color:var(--fg)}.chart-block{background:#fff;border:1px solid var(--line);border-radius:6px;padding:.9rem 1rem;margin:.8rem 0 1.2rem;overflow-x:auto}.chart-block svg{display:block}dialog table.results td .means{display:block;color:var(--muted);font-size:.72rem;line-height:1.35;margin-top:.2rem;max-width:340px}.dataset-block{border:1px solid var(--line);border-radius:6px;padding:.7rem .9rem;margin:.6rem 0}.dataset-block p{margin:.3rem 0;font-size:.85rem}pre.sample{background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:.6rem .8rem;font-size:.72rem;line-height:1.45;max-height:260px;overflow:auto;white-space:pre-wrap}.hint-mark{margin-left:2px;font-size:9px;opacity:.55;cursor:help}th[title]{cursor:help}.optional{font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-left:6px;vertical-align:middle}.example-box{border:1px solid var(--line);border-radius:4px;padding:10px 12px;margin:8px 0 14px;background:var(--bg)}.example-box>summary{cursor:pointer;font-size:12px;font-weight:600;-webkit-user-select:none;user-select:none}.example-box>summary:focus-visible{outline:2px solid var(--ready)}.example-box[open]>summary{margin-bottom:8px}.example-box .sample{margin:8px 0}.example-box .next-steps{margin:6px 0}.doc{max-width:68ch;line-height:1.55}.doc h2,.doc h3,.doc h4,.doc h5{margin:18px 0 6px;line-height:1.25}.doc h2{font-size:17px}.doc h3{font-size:15px}.doc h4,.doc h5{font-size:13px}.doc p{margin:0 0 10px}.doc ul,.doc ol{margin:0 0 10px;padding-left:20px}.doc li{margin-bottom:3px}.doc blockquote{margin:0 0 10px;padding:6px 12px;border-left:2px solid var(--line-strong, #ccc);color:var(--muted)}.doc hr{border:0;border-top:1px solid var(--line);margin:16px 0}.doc table{width:100%}.doc-scroll{overflow-x:auto;margin-bottom:12px;max-width:100%}.doc-code{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:10px 12px;overflow-x:auto;font-size:12px;line-height:1.45;white-space:pre;margin:0 0 12px}.keep-list{margin:4px 0 12px;padding-left:18px;font-size:12px}.keep-list li{margin-bottom:3px}.report-sections section{margin-bottom:16px}.report-sections h4{margin:0 0 6px;font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.report-sections p{margin:0 0 8px}.report-sections .dataset-block p{margin:0 0 5px;font-size:13px}.rail{background:var(--rail);color:var(--rail-fg);padding:13px 0 0;position:sticky;top:0;z-index:30}.rail-in{max-width:1240px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.wm{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:700;letter-spacing:-.01em;color:#fff}.wm svg{flex-shrink:0}.wm-sub{color:var(--rail-muted);font-weight:400;font-size:13px;padding-left:10px;margin-left:2px;border-left:1px solid rgba(255,255,255,.22)}.rail .sync{color:var(--rail-muted);font-size:11px;letter-spacing:.04em}.rail-tabs{max-width:1240px;margin:10px auto 0;padding:0 20px;display:flex;gap:2px}.rail-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--rail-muted);font:inherit;font-size:13px;font-weight:500;padding:9px 14px;cursor:pointer;border-radius:5px 5px 0 0}.rail-tabs button:hover{color:#fff}.rail-tabs button.on{color:#fff;border-bottom-color:var(--blue-bright);background:#ffffff12}.crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;padding:16px 0 0;color:var(--locked)}.crumbs button{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.crumbs .cur{color:var(--muted)}.ph{padding:18px 0 2px}.ph h1{font-size:23px}.ph .sub{margin:5px 0 0;max-width:76ch;font-size:13.5px}.tiny{font-size:11.5px;color:var(--muted)}.picker{position:relative}.picker-button{display:flex;align-items:center;gap:14px;min-width:320px;max-width:min(460px,100%);text-align:left;padding:7px 12px;background:var(--card);border:1px solid var(--line);border-radius:7px;cursor:pointer}.picker-button:hover{border-color:var(--accent)}.picker-label{display:flex;flex-direction:column;gap:1px;min-width:0}.picker-label b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-label .eyebrow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-caret{margin-left:auto;color:var(--muted);font-size:11px}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.picker-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:25;width:min(460px,92vw);background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px #0f1f3d29;overflow:hidden}.picker-search{width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 13px;font:inherit;font-size:13px;background:var(--card);color:var(--fg);border-radius:0}.picker-search:focus{outline:2px solid var(--accent);outline-offset:-2px}.picker-scroll{max-height:58vh;overflow-y:auto;overflow-x:hidden;padding:6px 0 8px}.picker-empty{margin:14px 16px;font-size:13px;color:var(--muted)}.picker-family h4{margin:10px 0 2px;padding:0 13px;font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:500}.picker-section{padding:4px 13px 0;font-size:11.5px;color:var(--locked)}.picker-block{padding:2px 0 4px}.picker-block-name{padding:3px 13px 2px;font-size:12px;font-weight:600;color:var(--fg)}.picker-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;border-radius:0;padding:5px 13px 5px 24px;font:inherit;cursor:pointer;color:var(--fg)}.picker-row:hover{background:var(--readybg)}.picker-row.on{background:var(--readybg);box-shadow:inset 2px 0 0 var(--accent)}.picker-row-name{font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row-meta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:11px;color:var(--muted);white-space:nowrap}.picker-row-meta b{font-weight:500}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.map .panel h2{margin-bottom:10px}.map-toggle{display:inline-flex;align-items:center;gap:7px;margin:14px 0 0;font-size:12.5px;color:var(--muted);cursor:pointer}.map-toggle input{width:auto;margin:0}.fams{display:grid;gap:12px;margin-top:14px;grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}.fam{display:flex;flex-direction:column;gap:9px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:15px 16px;cursor:pointer;font:inherit;color:inherit}.fam:hover{border-color:var(--accent)}.fam h3{margin:0;font-size:16px;font-weight:600}.fam-counts{display:flex;gap:14px;font-size:12px;color:var(--muted)}.fam-counts b{color:var(--fg);font-weight:600;font-family:var(--mono)}.fam ul{margin:0;padding:0;list-style:none;display:grid;gap:5px}.fam li{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.pbar{display:flex;height:8px;min-width:150px;border-radius:4px;overflow:hidden;background:var(--lockedbg)}.pbar i{display:block;height:100%}.plegend{display:flex;flex-wrap:wrap;gap:13px;margin-top:9px;font-size:11.5px;color:var(--muted)}.plegend span{display:inline-flex;align-items:center;gap:5px}.plegend i{width:8px;height:8px;border-radius:2px;display:block}.plegend b{color:var(--fg);font-weight:600;font-family:var(--mono)}.phase-pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;white-space:nowrap}.phase-pill i{width:6px;height:6px;border-radius:50%;display:block}.meter{display:flex;align-items:center;gap:8px;min-width:120px}.meter .track{flex:1;height:6px;border-radius:3px;background:var(--lockedbg);overflow:hidden}.meter .fill{height:100%;background:var(--accent)}.meter .fill.ok{background:var(--done)}.meter .v{width:42px;text-align:right;font-size:11.5px;color:var(--muted)}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--readybg)}tr.clickable.on td{box-shadow:inset 2px 0 0 var(--accent)}tr.empty-row td{opacity:.5}@media (max-width: 640px){.rail-tabs{padding:0 12px;overflow-x:auto}.picker-button{min-width:0;width:100%}.picker{width:100%}}.delta{font-size:11.5px;font-weight:600;font-family:var(--mono);white-space:nowrap}.delta.up{color:var(--done)}.delta.down{color:var(--fail)}.delta.warnish{color:var(--warn);font-weight:600;font-family:var(--sans)}td .dim,.dim{color:var(--muted)}tr.dropped td{opacity:.6}th.r,td.r{text-align:right}.nw{white-space:nowrap}.bar-stack{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--lockedbg);margin:4px 0 14px}.bar-stack i{display:block;height:100%}.sectitle{display:flex;align-items:baseline;gap:10px;margin:26px 0 8px;flex-wrap:wrap}.sectitle h2{font-size:15px;font-weight:600;margin:0}.sectitle .hint{font-size:12px;color:var(--locked)}.sectitle select{margin-left:auto;font-size:12.5px}.ladder{display:grid;gap:7px}.rung{display:grid;align-items:center;gap:10px;grid-template-columns:minmax(130px,200px) 1fr 70px 90px}.rung-name{font-size:13px;font-weight:500}.rung-track{height:14px;border-radius:3px;background:var(--lockedbg);overflow:hidden}.rung-track i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--done),var(--warn))}.rung-v{text-align:right;font-size:12.5px;font-weight:600}.rung-n{text-align:right}@media (max-width: 640px){.rung{grid-template-columns:1fr 60px}.rung-track,.rung-n{display:none}}.panel.stats{display:flex;flex-wrap:wrap;gap:8px 26px}.panel.stats .stat{margin-right:0}.loading-strip{border-left:3px solid var(--accent)}.spinner{display:inline-block;width:11px;height:11px;margin-right:7px;vertical-align:-1px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.85;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.25}}}button.busy[disabled]{opacity:.8;cursor:progress}.sectitle.span{margin-top:34px;padding-top:18px;border-top:1px solid var(--line)}.sectitle-action{margin-left:auto}.sectitle-action{display:inline-flex;align-items:baseline;gap:10px}
