@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
.dep{display:block;text-decoration:none;border-top:1px solid #254043;padding:15px 0}.dep span{font-size:12px}.dep p{margin:7px 0;font-size:12px;line-height:1.65}.dep small{font-size:9px;color:#78958f}.componentlink{display:inline-block;padding:12px 15px;border:1px solid #63834d;border-radius:5px;text-decoration:none;color:#c3e784;font-size:12px;margin:6px 0}.componentlayout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:28px;margin-top:30px}.componentlayout aside{border:1px solid #254043;border-radius:8px;max-height:none}.componentlayout table{background:#0d2022}.breadcrumb{margin:30px 0;color:#91aaa6;font-size:12px}.breadcrumb a{text-decoration:none}.system-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.system-list a{border:1px solid #254043;padding:14px;text-decoration:none;font-size:12px;border-radius:5px}.componentintro{max-width:900px;line-height:1.8;color:#91aaa6;font-size:16px}@media(max-width:760px){.componentlayout{grid-template-columns:1fr}.system-list{grid-template-columns:repeat(2,1fr)}}
:root{--bg:#081719;--panel:#0d2022;--border:#254043;--ink:#edf4ed;--muted:#91aaa6;--accent:#c3e784}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;padding:10px 15px}button:hover{background:#203c3b;border-color:#7e9c85}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header{height:94px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding:0 4.5vw}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;letter-spacing:2.5px;font-size:15px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:7px}.mark{font-size:40px;color:var(--accent)}.edition{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.edition i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin:0 13px}main{max-width:1700px;margin:auto;padding:0 4.5vw}.intro{display:flex;gap:50px;align-items:center;justify-content:space-between;padding:55px 0 42px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:var(--accent);margin:0 0 20px}h1{font-family:Manrope,sans-serif;font-size:clamp(36px,4.3vw,65px);line-height:1.12;letter-spacing:-2.7px;font-weight:500;margin:0}h1 em{font-style:normal;color:var(--accent)}.lede{color:var(--muted);line-height:1.7;font-size:15px;max-width:560px;margin:22px 0 0}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;min-width:390px}.summary strong{font-family:Manrope,sans-serif;font-size:35px;font-weight:500;letter-spacing:-1px}.summary sup{font-size:16px;color:var(--accent)}.summary span{display:block;color:var(--muted);font-size:11px;margin-top:10px}.summary p{grid-column:1/-1;color:var(--muted);font-size:11px;max-width:370px;line-height:1.6;margin:2px 0}nav{display:flex;border-bottom:1px solid var(--border);gap:33px}nav button{border:0;border-radius:0;color:var(--muted);padding:18px 0;font-size:10px;letter-spacing:1px}nav button span{font-size:14px;letter-spacing:0;margin-left:10px}nav .active{border-bottom:2px solid var(--accent);color:var(--accent)}.toolbar{display:flex;gap:12px;padding:23px 0}.search{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex:1;max-width:460px;padding:0 14px;color:var(--accent);font-size:23px}.search input{width:100%;background:none;border:0;color:var(--ink);padding:12px 0;font-size:13px;outline:0}.search input::placeholder{color:var(--muted)}select{background:var(--panel);color:var(--ink);padding:11px;border:1px solid var(--border);border-radius:6px;max-width:290px}.toolbar>button{margin-left:auto}.view{display:none}.view.active{display:block}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--border);border-radius:9px;overflow:hidden}.visual{position:relative;background:radial-gradient(ellipse at 48% 48%,#163438 0%,#0b2023 63%,#091b1e 100%);min-width:0}.panelheading{display:flex;justify-content:space-between;padding:22px 24px;font-size:10px;letter-spacing:1.5px;gap:10px}.muted{color:var(--muted);letter-spacing:0}svg{display:block;width:100%;height:auto;min-height:400px;max-height:680px;touch-action:none}#cellsvg{margin-top:-15px}aside{background:var(--panel);padding:26px;border-left:1px solid var(--border);overflow:auto;max-height:800px}aside h2{font:500 27px/1.25 Manrope,sans-serif;letter-spacing:-.7px;margin:13px 0 17px}aside h3{font-size:12px;margin-top:27px}aside p{font-size:13px;color:var(--muted);line-height:1.8}.tag{display:inline-block;font-size:9px;text-transform:uppercase;letter-spacing:1px;border:1px solid #4a6153;padding:5px 8px;border-radius:4px;color:var(--accent)}.detailmetric{padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;gap:27px;margin:20px 0}.detailmetric strong{font-size:24px;font-weight:500}.detailmetric small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.item{display:block;text-align:left;width:100%;border:0;border-top:1px solid var(--border);padding:13px 0;border-radius:0;font-size:12px;line-height:1.5}.item small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.mapfoot{display:flex;gap:19px;align-items:center;padding:16px 22px;border-top:1px solid #25404388;font-size:10px;color:var(--muted);flex-wrap:wrap}.mapfoot button{margin-left:auto;padding:5px 10px;font-size:10px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:6px}.network-controls{display:flex;align-items:center;gap:8px;margin:0 0 15px}.network-controls label{color:var(--muted);font-size:11px}.network-controls select{margin-left:8px}.network-controls span{margin-left:auto;font-size:11px;color:var(--muted)}.node{cursor:pointer}.node:hover .nodebody{stroke:#f0ffd9;stroke-width:2}.node text{pointer-events:none}.tablehead{display:flex;align-items:center;gap:20px;margin:16px 0 24px}.tablehead h2{font:500 25px Manrope;margin:0}.tablehead p{color:var(--muted);font-size:12px}.tablehead button{margin-left:auto}.tablewrap{overflow:auto;border:1px solid var(--border);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500;background:#10282a;padding:17px 18px;white-space:nowrap}td{padding:15px 18px;border-top:1px solid var(--border);line-height:1.5}tbody tr:hover{background:#142e2e}#rows tr{cursor:pointer}td:first-child{max-width:380px}.caption{font-size:11px!important;line-height:1.7;color:var(--muted)}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.evidence-grid article{padding:28px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.evidence-grid h2{font:500 30px/1.3 Manrope;letter-spacing:-1px}.evidence-grid h3{font-weight:500;font-size:18px}.evidence-grid p{color:var(--muted);line-height:1.8}a{color:var(--accent)}#auditstats{font-size:25px;color:var(--accent);padding:10px 0}footer{display:flex;justify-content:space-between;gap:20px;color:var(--muted);padding:30px 0;font-size:9px;letter-spacing:1px}dialog{color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:12px;max-width:650px;width:90vw;padding:35px;max-height:85vh}dialog::backdrop{background:#020d10cc;backdrop-filter:blur(5px)}dialog h2{font:500 27px Manrope}dialog p{line-height:1.8;color:var(--muted)}#close{float:right;font-size:20px;padding:4px 11px}.linkline{stroke-linecap:round}.empty{padding:50px;text-align:center;color:var(--muted)}@media(max-width:1050px){.intro{align-items:flex-start;gap:25px}.summary{min-width:290px;gap:15px}.summary strong{font-size:28px}.workspace{grid-template-columns:minmax(0,1fr) 270px}.edition{display:none}nav{gap:20px}nav button span{font-size:12px}.panelheading{padding:18px}.evidence-grid{gap:15px}}@media(max-width:760px){header{height:78px}.brand{font-size:11px;letter-spacing:1px}.brand small{font-size:7px}.mark{font-size:29px}header button{font-size:10px;padding:8px}.intro{display:block;padding:35px 0 25px}h1{font-size:42px;letter-spacing:-2px}.summary{margin-top:25px;min-width:0;gap:15px}.summary strong{font-size:28px}.summary span{font-size:9px}.summary p{font-size:10px}nav{gap:14px;overflow:auto;white-space:nowrap}nav button{font-size:9px}nav button span{margin-left:4px;font-size:11px}.toolbar{flex-wrap:wrap}.search{max-width:none;flex-basis:100%}.toolbar select{max-width:65%;font-size:11px}.toolbar>button{font-size:11px}.workspace{grid-template-columns:1fr}aside{border-left:0;border-top:1px solid var(--border);max-height:460px}svg{min-height:300px}.evidence-grid{grid-template-columns:1fr}.network-controls{flex-wrap:wrap}.network-controls select{max-width:220px}.tablehead{flex-wrap:wrap}.tablehead button{font-size:11px}.tablehead h2{font-size:22px}.panelheading{font-size:8px}footer{flex-direction:column}.mapfoot{font-size:9px}}

#cellsvg{margin-top:0;max-height:none;min-height:0;border-radius:0}.photo-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px 20px;background:#0b2023}.photo-key a{text-decoration:none;color:#b7c9bd;font-size:10px;line-height:1.5;padding:4px}.photo-key a span{color:#e7d49b;margin-right:4px}.photo-hotspot:focus{outline:none}.photo-hotspot:focus .nodebody{stroke:#fff;stroke-width:4px}@media(max-width:760px){.photo-key{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px}}

.atlas-home-link{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:10px 16px;margin-left:12px;border:1px solid #95b6b4;border-radius:6px;background:#173f49;color:#fff!important;text-decoration:none;font:600 14px/1.3 system-ui,sans-serif}.atlas-home-link:hover{background:#286372}.atlas-home-link:focus-visible{outline:3px solid #c3e784;outline-offset:3px}@media(max-width:600px){.atlas-home-link{font-size:12px;padding:8px 11px;margin-left:5px}}

.gene-expression-flow{padding:14px;margin:16px 0;border:1px solid #8ba6b866;border-radius:10px;background:#162536;color:#eef4fa}.gene-expression-flow h3{margin-top:0}.gene-flow-sequence{font-size:1.05rem;line-height:1.7;color:#c3e784;font-weight:600;overflow-wrap:anywhere}.gene-expression-flow li{margin-bottom:10px}.gene-expression-flow p{line-height:1.6}

.system-process-flow{padding:18px;margin:18px 0;border:1px solid #56756a;border-radius:10px;background:#102e30;color:#edf4ed}
.system-process-flow .flow-label{font-size:12px;letter-spacing:1.2px;color:#c3e784;font-weight:600}
.system-process-flow .flow-sequence,.flow-card-summary{color:#d0ed9e;font-size:17px;line-height:1.65;font-weight:600;overflow-wrap:anywhere}
.system-process-flow ol{padding-left:24px;margin:16px 0}.system-process-flow li{margin:0 0 14px;line-height:1.7}.system-process-flow strong{color:#edf4ed}
.system-process-flow .flow-context{border-left:3px solid #a6c979;padding-left:12px}.system-process-flow .flow-sources{font-size:14px;line-height:1.7}
.system-process-flow a{color:#d0ed9e}.flow-card-summary{font-size:15px;margin:16px 0}

.process-diagram{margin:20px 0;padding:16px 10px;background:#081f24;border:1px solid #48695e;border-radius:10px}
.process-diagram h4{font-size:20px;line-height:1.4;margin:0 6px 12px;color:#edf4ed}
.process-diagram svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;overflow:visible}
.process-diagram .process-node rect{fill:#173b3d;stroke:#8aaf83;stroke-width:1.6}
.process-diagram .process-node text{fill:#f1f7e9;font:500 19px/1.35 system-ui,sans-serif}
.process-diagram .process-arrow,.process-diagram .process-feedback{fill:none;stroke:#c3e784;stroke-width:2.5}
.process-diagram .process-feedback{stroke-dasharray:7 6}
.process-diagram figcaption,.process-diagram .process-legend{font-size:15px;line-height:1.65;color:#c1d9cd;margin:14px 6px 0}
.node-popover.visual-popover .process-diagram figcaption,.node-popover.visual-popover .process-diagram .process-legend{font-size:15px;line-height:1.65;color:#c1d9cd}

.process-diagram{margin:20px 0;padding:16px 10px;background:#081f24;border:1px solid #48695e;border-radius:10px}
.process-diagram h4{font-size:20px;line-height:1.4;margin:0 6px 12px;color:#edf4ed}
.process-diagram svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;overflow:visible}
.process-diagram .process-node rect{fill:#173b3d;stroke:#8aaf83;stroke-width:1.6}
.process-diagram .process-node text{fill:#f1f7e9;font:500 19px/1.35 system-ui,sans-serif}
.process-diagram .process-arrow,.process-diagram .process-feedback{fill:none;stroke:#c3e784;stroke-width:2.5}
.process-diagram .process-feedback{stroke-dasharray:7 6}
.process-diagram figcaption,.process-diagram .process-legend{font-size:15px;line-height:1.65;color:#c1d9cd;margin:14px 6px 0}
.node-popover.visual-popover .process-diagram figcaption,.node-popover.visual-popover .process-diagram .process-legend{font-size:15px;line-height:1.65;color:#c1d9cd}

.process-diagram-detailed .pd-source rect,.process-diagram-detailed .pd-out rect{fill:#173b3d;stroke:#8aaf83;stroke-width:1.6}
.process-diagram-detailed .pd-group rect{fill:#0d2a2c;stroke:#8aaf83;stroke-width:1.2;stroke-dasharray:5 4}
.process-diagram-detailed .pd-route rect{fill:#24365a;stroke:#9fb7e6;stroke-width:1.6}
.process-diagram-detailed .pd-or rect{fill:#e6c36a;stroke:none}.process-diagram-detailed .pd-or text{fill:#2b2006;font:700 14px system-ui,sans-serif}
.process-diagram-detailed .pd-support rect{fill:none;stroke:#c1d9cd;stroke-width:1.4;stroke-dasharray:6 5}
.process-diagram-detailed .pd-hub rect{fill:#2c4a2a;stroke:#c3e784;stroke-width:2}
.process-diagram-detailed .pd-t{fill:#f1f7e9;font:600 16px system-ui,sans-serif}
.process-diagram-detailed .pd-s{fill:#c1d9cd;font:400 14px system-ui,sans-serif}
.process-diagram-detailed a:hover rect,.process-diagram-detailed a:focus rect{stroke:#e6f7c9;stroke-width:2.4}
.component-role{display:block;margin-top:6px;font-size:14px;line-height:1.55;color:#c1d9cd;font-weight:400;max-width:42ch}

/* The cell-map svg rule caps height at 680px, which shrank tall process diagrams. */
.process-diagram svg{min-height:0;max-height:none}
.process-diagram-detailed .pd-sys{fill:#c3e784;font:600 14px system-ui,sans-serif}
.process-diagram-detailed .pd-link{fill:#e6f7c9}
.process-diagram-detailed a:hover .pd-link,.process-diagram-detailed a:focus .pd-link,.process-diagram-detailed a:hover .pd-sys{text-decoration:underline}
.process-diagram-detailed .pd-cycle path{fill:none;stroke:#9fb7e6;stroke-width:1.8}

.process-diagram-detailed .pd-step rect{fill:#1d3f45;stroke:#a9c9b4;stroke-width:1.6}
.process-diagram-detailed .pd-note{fill:#d0ed9e;font:600 14px system-ui,sans-serif}
.process-diagram-detailed .pd-loop{fill:#c1d9cd;font:italic 400 12px system-ui,sans-serif}

/* The one-column phone layout let the components table widen the page to ~550px; keep it inside the screen. */
@media(max-width:760px){.componentlayout{grid-template-columns:minmax(0,1fr)}.componentlayout>*{min-width:0}}
.component-role{font-size:13px;line-height:1.5}
/* Phones: process diagrams sit inside several padded panels; let them use the full screen width so their labels stay readable. */
@media(max-width:600px){main .process-diagram{width:100vw;max-width:100vw;margin:20px 0 20px calc(50% - 50vw);padding:14px 4px;border-radius:0;border-left:0;border-right:0}.node-popover .process-diagram{width:auto;max-width:none;margin:20px 0;padding:14px 4px}}
