:root{color-scheme:light;--sans:"Avenir Next","Segoe UI Variable","Segoe UI",Inter,system-ui,-apple-system,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--max:1500px;--exploratory:#8b72d9;--development:#4888c7;--approval:#d38a20;--final:#3d9b72;--inactive:#8a929a}
:root{--bg:#f5f5f2;--surface:#fff;--surface-2:#f0f1ee;--surface-3:#e7e9e5;--text:#171a1e;--muted:#5e6670;--quiet:#747d86;--line:#dfe2dd;--line-strong:#c9cec7;--accent:#9b620d;--warn:#a3441f;--shadow:0 18px 50px rgb(22 28 34/10%)}
:root[data-theme="dark"]{color-scheme:dark;--bg:#0d1014;--surface:#13171c;--surface-2:#191e24;--surface-3:#20262d;--text:#f1f3f5;--muted:#a0a8b2;--quiet:#727b86;--line:#29313a;--line-strong:#3a444f;--accent:#e6a33d;--warn:#e0805c;--shadow:0 18px 50px rgb(0 0 0/22%)}
:root[data-theme="light"]{color-scheme:light}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip{position:fixed;z-index:20;top:-70px;left:14px;padding:8px 12px;background:var(--text);color:var(--bg);border-radius:6px}.skip:focus{top:12px}
.site-head,main,footer{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.site-head{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:650}.brand>span:last-child{display:flex;flex-wrap:wrap;gap:0 .28em;align-items:baseline}.brand b,.eyebrow{color:var(--accent)}.brand small{flex-basis:100%;color:var(--quiet);font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.bars{width:22px;height:23px;display:flex;align-items:end;gap:2px}.bars i{width:4px;border-radius:3px 3px 0 0;background:var(--accent)}.bars i:nth-child(1){height:6px;opacity:.4}.bars i:nth-child(2){height:11px;opacity:.58}.bars i:nth-child(3){height:17px;opacity:.78}.bars i:nth-child(4){height:23px}.head-meta{display:flex;align-items:center;gap:15px;color:var(--quiet);font-size:12px}.head-meta time{color:var(--muted);font-family:var(--mono)}#theme{width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface-2);cursor:pointer}
.hero{display:grid;grid-template-columns:minmax(330px,.72fr) 1.28fr;gap:40px;align-items:end;padding:42px 0 30px}.eyebrow{margin:0 0 7px;font-size:11px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}.hero h1{margin:0;white-space:nowrap;font-size:clamp(38px,4vw,54px);line-height:1;letter-spacing:-.04em;font-weight:650}.hero>p{margin:0 0 2px;max-width:74ch;color:var(--muted);font-size:15px}
.filters{display:grid;grid-template-columns:minmax(220px,1.05fr) 1.95fr 1.15fr 1.3fr auto;gap:22px;align-items:start;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.search{position:relative;display:grid;gap:7px}.search>span{color:var(--quiet);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.search input{width:100%;padding:8px 34px 8px 11px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface-2);color:var(--text);font:inherit;font-size:13px}.search input::placeholder{color:var(--quiet)}.search input::-webkit-search-cancel-button{cursor:pointer}.search kbd{position:absolute;right:9px;bottom:9px;padding:1px 6px;border:1px solid var(--line-strong);border-radius:4px;color:var(--quiet);font:11px var(--mono)}.search input:focus+kbd,.search input:not(:placeholder-shown)+kbd{display:none}.filters fieldset{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;border:0}.filters legend{width:100%;margin-bottom:7px;color:var(--quiet);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.filters button,.section-actions button{padding:6px 10px;border:1px solid var(--line-strong);border-radius:99px;background:var(--surface-2);font-size:12px;cursor:pointer}.filters button[aria-pressed="true"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.filter-end{display:grid;align-content:end;justify-items:end;gap:8px}#clear{border-radius:6px;background:transparent;color:var(--quiet);white-space:nowrap}
.pipeline-section{padding:38px 0 8px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:14px}.section-title h2{margin:0;font-size:25px;letter-spacing:-.025em}.section-title>p,.section-actions p{max-width:560px;margin:0;color:var(--quiet);font-size:13px;text-align:right}.section-actions{display:flex;align-items:center;gap:14px}.section-actions button{border-radius:7px;color:var(--accent);white-space:nowrap}.section-actions button[hidden]{display:none}
.pipeline{position:relative;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.pipeline .empty{margin:0;padding:28px;color:var(--quiet)}
.pipeline-head,.algorithm-row,.capability-row{display:grid}#algorithm-pipeline .pipeline-head,.algorithm-row{grid-template-columns:300px repeat(5,minmax(220px,1fr));min-width:1400px}#algorithm-pipeline.no-off-track .pipeline-head,.no-off-track .algorithm-row{grid-template-columns:300px repeat(4,minmax(220px,1fr));min-width:1180px}#protocol-pipeline .pipeline-head,.capability-row{grid-template-columns:46px repeat(5,minmax(220px,1fr));min-width:1146px}#protocol-pipeline.no-off-track .pipeline-head,.no-off-track .capability-row{grid-template-columns:46px repeat(4,minmax(220px,1fr));min-width:926px}.no-off-track .off-track{display:none}.no-off-track .protocol-group{min-width:926px}.pipeline-head>div{background:var(--surface-2);border-bottom:1px solid var(--line)}.pipeline-head>div:not(:last-child),.algorithm-row>div:not(:last-child){border-right:1px solid var(--line)}.head-label{display:flex;align-items:end;padding:13px 16px;color:var(--muted);font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.stage-head{display:grid;align-content:center;gap:3px;padding:12px 14px;border-top:3px solid var(--stage)}.stage-head b{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--stage)}.stage-head span{color:var(--quiet);font-size:10px}
.exploratory{--stage:var(--exploratory)}.development{--stage:var(--development)}.approval{--stage:var(--approval)}.final{--stage:var(--final)}.inactive{--stage:var(--inactive)}
.stage-head.off-track,.stage-cell.off-track{border-left:1px dashed var(--line-strong)}.stage-head.off-track{border-top-style:dashed}
.head-label,.row-label,.capability-label{position:sticky;left:0;z-index:2}.protocol-name-inner{z-index:2}.pipeline-head .head-label{z-index:3}
.algorithm-row{border-bottom:1px solid var(--line)}.algorithm-row[hidden],.capability-row[hidden],.protocol-group[hidden]{display:none}.row-label{padding:18px 20px 18px 39px;background:var(--surface-2)}.row-label>strong{display:block;font-size:16px}.row-label small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.row-description{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.function-mark{position:absolute;width:9px;height:9px}.row-label .function-mark{left:19px;top:23px}.function-mark.kex{border-radius:50%;background:#4b93d2}.function-mark.auth{border-radius:2px;background:#c77891;transform:rotate(45deg)}.function-mark.mig{border-radius:2px;background:#6fa88b}.function-mark.other{border-radius:50%;background:var(--quiet)}
.protocol-group{min-width:1146px;border-bottom:2px solid var(--line-strong)}.protocol-name{background:var(--surface-3);border-bottom:1px solid var(--line)}.protocol-name-inner{position:sticky;left:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;width:min(100%,940px);padding:13px 20px}.protocol-name strong{font-size:17px;letter-spacing:-.01em}.protocol-name span{flex:1 1 460px;color:var(--muted);font-size:12px;line-height:1.45}.capability-row:not(:last-child){border-bottom:1px solid var(--line)}.capability-label,#protocol-pipeline .head-label{position:sticky;left:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 0;writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;background:var(--surface-2);border-right:1px solid var(--line)}.capability-label .function-mark{position:static;flex:none}.capability-label>strong{font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}#protocol-pipeline .head-label{padding:0;color:var(--muted)}.capability-row>div:not(:last-child){border-right:1px solid var(--line)}
.stage-cell{position:relative;min-height:100px;padding:9px;background:linear-gradient(180deg,color-mix(in srgb,var(--stage) 4%,transparent),transparent 60%)}.stage-cell.filtered-out{opacity:.18}.gap-cell{grid-column:2/-1;display:flex;align-items:center;background:none}.gap{margin:0;color:var(--quiet);font-size:12px}.no-evidence .capability-label>strong{color:var(--muted)}
.evidence-card{padding:11px;border:1px solid var(--line);border-left:3px solid var(--stage);border-radius:7px;background:var(--surface-2)}.evidence-card+.evidence-card{margin-top:8px}.card-title{display:block;font-size:13px;line-height:1.3}.card-note{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.45}
.docs{display:grid;gap:9px;margin:9px 0 0;padding:0;list-style:none}.evidence-card .docs:first-child{margin-top:0}.doc{display:grid;gap:2px;padding-top:8px;border-top:1px solid var(--line)}.evidence-card .docs:first-child>.doc:first-child{padding-top:0;border-top:0}.doc>a{color:var(--accent);font-size:12px;line-height:1.35;text-decoration:none}.doc>a:hover{text-decoration:underline}.doc-id{color:var(--muted);font:10px var(--mono);overflow-wrap:anywhere}.doc-status{color:var(--quiet);font-size:10px}.doc-dates{color:var(--quiet);font-size:10px}.doc-dates time{color:var(--muted);font-family:var(--mono)}.flag{margin-top:2px;color:var(--warn);font-size:10px;font-weight:700}.flag time{font-family:var(--mono)}
.unmapped-list{gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.unmapped-list .doc{max-width:80ch}
.scope-note{margin:12px 0 35px;color:var(--quiet);font-size:12px}.scope-note b{color:var(--muted)}.load-error{padding:15px;border:1px solid #9f4b4b;background:#9f4b4b22}
footer{min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:35px;border-top:1px solid var(--line);color:var(--quiet);font-size:12px}footer nav{display:flex;flex-wrap:wrap;gap:17px}footer a{color:var(--muted);text-decoration:none}footer a:hover{color:var(--text)}
@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.filter-end{justify-items:start}.hero{grid-template-columns:1fr;gap:20px}.section-title{align-items:flex-start;flex-direction:column;gap:9px}.section-title>p,.section-actions p{text-align:left}}
@media(max-width:760px){#algorithm-pipeline .pipeline-head,.algorithm-row{grid-template-columns:200px repeat(5,minmax(190px,1fr));min-width:1150px}#algorithm-pipeline.no-off-track .pipeline-head,.no-off-track .algorithm-row{grid-template-columns:200px repeat(4,minmax(190px,1fr));min-width:960px}#protocol-pipeline .pipeline-head,.capability-row{grid-template-columns:42px repeat(5,minmax(190px,1fr));min-width:992px}#protocol-pipeline.no-off-track .pipeline-head,.no-off-track .capability-row{grid-template-columns:42px repeat(4,minmax(190px,1fr));min-width:802px}.protocol-group{min-width:992px}.no-off-track .protocol-group{min-width:802px}.row-label{padding:14px 12px 14px 28px}.row-label .function-mark{left:12px;top:19px}.protocol-name-inner{padding:11px 14px}}
@media(max-width:620px){.site-head,main,footer{width:min(calc(100% - 28px),var(--max))}.head-meta>span{display:none}.hero{padding-top:32px}.filters{grid-template-columns:1fr}.section-actions{align-items:flex-start;flex-direction:column}.pipeline-section{padding-top:30px}footer{align-items:flex-start;flex-direction:column;justify-content:center}}
