:root{--ink:#0f0f10;--ink2:#3d3f42;--mute:#696c6f;--faint:#a3a6a9;--line:#e3e6e8;--line2:#f0f1f2;--paper:#fff;--wash:#f7f7f5;--fda:#2a78d6;--co:#eb6834;
--serif:"Source Serif 4",Georgia,serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans)}
a{color:inherit}.mono{font-family:var(--mono);font-size:.86em}.muted{color:var(--mute)}
button,select,input{font:inherit;color:inherit}
.atlas{max-width:1560px;margin:0 auto;padding:0 20px}
.ah{padding:34px 4px 18px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 28px;border-bottom:1px solid var(--line)}
.ah .k{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 12px}
.ah h1{font:400 clamp(30px,3.4vw,44px)/1.08 var(--serif);letter-spacing:-.01em;margin:0}
.ah .dek{margin:10px 0 0;color:var(--ink2);max-width:62ch}
.ah .meta{font:12px/1.6 var(--mono);color:var(--mute);text-align:right}.ah .meta a{color:var(--ink2)}
.ws{display:grid;grid-template-columns:232px minmax(0,1fr) 360px;gap:0;min-height:80vh}
#rail-wrap{min-width:0;border-right:1px solid var(--line);padding:16px 14px 16px 4px}
.rk{font:500 10.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:6px 0 10px}
.study{display:grid;grid-template-columns:22px 1fr;gap:0 6px;text-align:left;width:100%;background:none;border:0;border-radius:6px;padding:9px 8px;cursor:pointer;margin-bottom:2px}
.study .sn{grid-row:span 2;color:var(--faint);padding-top:2px}.study b{font-weight:600;font-size:13.5px;line-height:1.3}.study span:last-child{font-size:12px;color:var(--mute);line-height:1.35;margin-top:2px}
.study:hover{background:var(--wash)}.study[aria-current=true]{background:#eef4fb}.study[aria-current=true] .sn{color:var(--fda)}
#views{font-size:13px}.vrow{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 8px}.vrow a{text-decoration:none}.vrow a:hover{text-decoration:underline}
#views p{padding:0 8px;font-size:12px;margin:0}
.main{min-width:0;padding:14px 18px 40px}
.filters{display:flex;flex-wrap:wrap;gap:8px}
.sl,.ms>summary{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:7px;padding:5px 9px;background:#fff;font-size:13px;cursor:pointer;min-height:34px}
.sl select,.sl input{border:0;background:none;font-size:13px;font-weight:600;padding:0;max-width:220px}.sl.q input{font-weight:400;width:200px}
.fl-l{color:var(--mute);font-size:12px}.fl-v{font-weight:600}
.ms{position:relative}.ms>summary{list-style:none}.ms>summary::-webkit-details-marker{display:none}.ms>summary::after{content:"▾";color:var(--faint);font-size:10px}
.ms[open]>summary{border-color:var(--ink2)}
.pop{position:absolute;z-index:20;top:calc(100% + 4px);left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 28px rgba(15,15,16,.12);padding:6px;min-width:230px}
.pop label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:5px;font-size:13px;cursor:pointer}.pop label:hover{background:var(--wash)}
.pop input{accent-color:var(--ink)}.pm{padding:4px 8px 8px;font-size:12px;color:var(--mute);border-bottom:1px solid var(--line2);margin-bottom:4px}.pm select{font-size:12px}
.bar2{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0 4px;padding:10px 0 0;border-top:1px solid var(--line2)}
.cmpby{display:inline-flex;align-items:center;gap:8px;font-size:13px}.cmpby select{border:1px solid var(--ink2);border-radius:7px;padding:6px 8px;font-weight:600;background:#fff}
#n{font:12.5px var(--mono);color:var(--ink2)}
.acts{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.acts button,.iact button,.cmp,.pager button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 11px;font-size:12.5px;cursor:pointer}
.acts button:hover,.iact button:hover,.cmp:hover,.pager button:hover:not(:disabled){border-color:var(--ink2)}
.idsnote{font-size:12.5px;background:#fff8e6;border:1px solid #efd9a6;border-radius:6px;padding:3px 8px}.idsnote button{border:0;background:none;text-decoration:underline;cursor:pointer;font-size:12.5px}
.canvas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.panel{border:1px solid var(--line);border-radius:10px;padding:12px 14px 10px;min-width:0;background:#fff}
.panel.wide{grid-column:1/-1}.panel.add{display:flex;align-items:center;justify-content:center;border-style:dashed;min-height:70px}
.panel.add select{border:0;background:none;font-weight:600;font-size:13.5px;cursor:pointer}
.panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.panel h3{font:500 17px/1.3 var(--serif);margin:3px 0 0}
.ptools{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{border:0;background:#fff;padding:3px 9px;font-size:12px;cursor:pointer}
.seg button[aria-pressed=true]{background:var(--ink);color:#fff}
.ic{border:1px solid transparent;background:none;border-radius:5px;padding:3px 6px;font:11.5px var(--mono);color:var(--mute);cursor:pointer;min-width:26px}
.ic:hover:not(:disabled){border-color:var(--line);color:var(--ink)}.ic:disabled{opacity:.3;cursor:default}.ic[aria-pressed=true]{color:var(--ink);border-color:var(--ink2)}
.pbody svg{display:block;width:100%;height:auto;overflow:visible}
.pbody text{font:11px var(--sans);fill:#52514e}.pbody .lab{fill:var(--ink);font-size:12px}.pbody .ax{fill:#6e6f6b}
.grid{stroke:#eef0f1}.base{stroke:#c9ced6}.hair{stroke:#3d3f42;stroke-width:1}
.cover{fill:url(#atlas-hatch-light)}.covt{font-size:10.5px!important;fill:var(--mute)!important}
.tex{fill:url(#atlas-hatch)!important}.dash{stroke-dasharray:5 3}.hollow{fill:#fff!important;stroke-width:2!important}
.dl{fill:var(--ink)!important;font-weight:600}.inl{font-size:11px;fill:var(--ink)!important}.inl.on,.cellt.on{fill:#fff!important}
.cellt{font:10.5px var(--mono)!important;fill:var(--ink)!important}
.pbody text.inl,.pbody text.dl,.pbody text.cellt,.pbody text.covt{pointer-events:none}
.life{stroke:#d5d9dd;stroke-width:2}.span{stroke:#d5d9dd;stroke-width:2}.trow.sel .life{stroke:#9ec5f4;stroke-width:6}
.hit{cursor:pointer;outline:none}.hit:hover,.hit:focus-visible{filter:brightness(1.08) drop-shadow(0 0 1.5px rgba(15,15,16,.55))}rect.hit[fill=transparent]:hover{filter:none}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--ink2);margin:8px 0 0}.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px}.legend i.dot{border-radius:50%}.legend i.dia{width:9px;height:9px;transform:rotate(45deg);border:2px solid var(--fda);border-radius:1px}
.legend em{font-style:normal;color:var(--faint);font-family:var(--mono);font-size:11px}.lnote{color:var(--mute)}
.pnote{font-size:12px;color:var(--mute);margin:8px 0 0;line-height:1.5}.empty{color:var(--mute);font-size:13.5px;padding:28px 0;text-align:center}
.scroll{overflow-x:auto}
.dt{border-collapse:collapse;width:100%;font-size:12.5px}.dt th,.dt td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line2);vertical-align:top}
.dt td.nw{white-space:nowrap}.dt td.clip{max-width:240px}.dt th{font-weight:600;color:var(--ink2);white-space:nowrap}.dt th button{border:0;background:none;font-weight:600;padding:0;cursor:pointer}
.dt.rec tbody tr{cursor:pointer}.dt.rec tbody tr:hover,.dt.rec tbody tr:focus{background:var(--wash);outline:none}.dt tr.sel{background:#eef4fb}
.pager{display:flex;gap:12px;align-items:center;justify-content:flex-end;font-size:12px;margin-top:8px}.pager button:disabled{opacity:.4}
.inspect{border-left:1px solid var(--line);padding:16px 4px 40px 18px;max-height:calc(100vh - 20px);overflow:auto;position:sticky;top:10px;align-self:start}
.inspect h2{font:500 19px/1.25 var(--serif);margin:0 0 4px}.ihead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.iact{display:flex;gap:6px;margin:6px 0 12px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;margin:14px 0}.facts dt{color:var(--mute)}.facts dd{margin:0}
.rec{border-top:1px solid var(--line);padding:12px 0}.rec h3{font:600 14.5px/1.35 var(--sans);margin:0}.rec>p{margin:2px 0;font-size:12.5px}
.status{font-weight:500}.status.s-approved{color:#1c5cab}
.let{margin:10px 0 0;padding:8px 10px;background:var(--wash);border-radius:7px}.lh{display:flex;gap:10px;align-items:baseline;font-size:12.5px;flex-wrap:wrap}.lh a{margin-left:auto;font-size:12px}
.cats{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.cat{display:inline-block;font-size:11px;line-height:1;padding:4px 6px;border-radius:4px;background:#fff;border:1px solid var(--line);color:var(--ink2)}
.cat.c-FAC{border-color:#86b6ef}.cat.c-CMC{border-color:#b7d3f6}
details summary{cursor:pointer;font-size:12px;color:var(--ink2);margin-top:8px}
blockquote{margin:8px 0;padding:0;font:13.5px/1.5 var(--serif);color:var(--ink)}blockquote q{display:block;margin:4px 0}blockquote q::before,blockquote q::after{content:""}
.cite{font-size:10.5px;color:var(--mute);text-decoration:none;word-break:break-all}.cite:hover{text-decoration:underline}
.fl{list-style:none;padding:0;margin:6px 0;font-size:12.5px}.fl li{padding:2px 0}
.cmp{margin-top:10px}
#cmp{border:1px solid var(--line);border-radius:12px;padding:18px 22px;max-width:min(1200px,94vw);width:100%;max-height:88vh}
#cmp::backdrop{background:rgba(15,15,16,.35)}#cmp .cols{display:grid;gap:22px;margin-top:10px}#cmp h3{font:600 14px var(--sans);margin:0 0 6px}
#tip{position:fixed;z-index:50;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:7px;box-shadow:0 6px 22px rgba(15,15,16,.14);padding:7px 10px;font-size:12px;max-width:320px}
#tip .tr{display:flex;gap:7px;align-items:baseline;line-height:1.45}#tip .tr i{display:inline-block;width:10px;height:2px;flex:none;transform:translateY(-3px)}#tip b{font-weight:600;font-size:12.5px;white-space:nowrap}#tip span{color:var(--mute)}
.about{border-top:1px solid var(--line);margin-top:28px;padding:34px 4px 70px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px 46px}
.about h2{font:400 24px/1.2 var(--serif);margin:0 0 10px}.about h3{font:600 14px var(--sans);margin:18px 0 6px}.about p,.about li{font-size:14px;color:var(--ink2)}
.about table{border-collapse:collapse;width:100%;font-size:13px}.about th,.about td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--line2)}.about td.r,.about th.r{text-align:right;font-family:var(--mono);font-size:12px}
.foot{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:12.5px;color:var(--mute)}
body:not(.ready) .canvas:empty::before{content:"Loading the atlas…";color:var(--mute);font-size:14px}
@media (max-width:1280px){.ws{grid-template-columns:200px minmax(0,1fr)}.inspect{grid-column:1/-1;position:static;max-height:none;border-left:0;border-top:1px solid var(--line);padding:16px 4px}}
@media (max-width:860px){.ws{grid-template-columns:1fr}#rail-wrap{border-right:0;border-bottom:1px solid var(--line);padding:10px 0}#rail{display:flex;overflow-x:auto;gap:6px}.study{min-width:210px;border:1px solid var(--line)}
.canvas{grid-template-columns:1fr}.panel.half{grid-column:1/-1}.main{padding:12px 0 30px}.ah .meta{text-align:left}.acts{margin-left:0}}
@media print{#rail-wrap,.filters,.bar2 .acts,.ptools,.inspect,.panel.add{display:none}.ws{display:block}}
