@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600&family=Space+Grotesk:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--plate:#0E141B;--panel:#121A22;--hairline:#22303C;--ink:#E8E1D2;--muted:#8FA0AC;--dim:#54646F;--sea:#3FA98E;--sea-glow:rgba(63,169,142,.45);--ember:#C46A3A;--bar:#5B7386;--arc-off:#26333E;--serif:"Fraunces",Georgia,serif;--grot:"Space Grotesk",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--plate);color:var(--ink);font-family:var(--grot);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--sea);text-decoration:none}a:hover{text-decoration:underline}header.site{display:flex;align-items:baseline;gap:18px;padding:18px 26px 10px;border-bottom:1px solid var(--hairline);flex-wrap:wrap}.wordmark{font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.5px;color:var(--ink)}.sub{color:var(--muted);font-size:13px;letter-spacing:.3px}nav.site{display:flex;gap:18px;margin-left:auto;font-size:13px;letter-spacing:.05em}nav.site a{color:var(--muted)}nav.site a.active,nav.site a:hover{color:var(--ink);text-decoration:none}.badge{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ember);border:1px solid var(--ember);padding:4px 9px;border-radius:2px}.counts{display:flex;gap:22px;padding:10px 26px;border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:11.5px;color:var(--muted);flex-wrap:wrap}.counts b{color:var(--ink);font-weight:500}.counts .cov b{color:var(--sea)}.counts .sim,.counts .warn,.counts .sim b,.counts .warn b{color:var(--ember)}.atlas-main{display:flex;flex:1;min-height:0}#chartwrap{flex:1 1 66%;display:flex;align-items:center;justify-content:center;padding:8px;min-width:0}#chartwrap svg{width:min(92vh,100%);height:auto;display:block}aside{flex:0 0 320px;border-left:1px solid var(--hairline);background:var(--panel);padding:20px 22px;display:flex;flex-direction:column;gap:14px}aside h2{font-family:var(--serif);font-weight:600;font-size:15px;letter-spacing:.4px}.readout{font-family:var(--mono);font-size:11.5px;line-height:1.75;color:var(--muted);border:1px solid var(--hairline);border-radius:3px;padding:12px 14px;min-height:168px}.readout .k{color:var(--dim)}.readout .v{color:var(--ink)}.readout .lit{color:var(--sea)}.readout .part{color:var(--sea);text-decoration:underline;text-decoration-style:dashed;text-underline-offset:3px}.readout .sim,.readout .warn{color:var(--ember)}.hint{font-size:11.5px;color:var(--dim);line-height:1.6}.notice{font-family:var(--mono);font-size:11px;line-height:1.6;color:var(--ember);border:1px solid var(--ember);border-radius:3px;padding:9px 11px}.legend{display:flex;flex-wrap:wrap;gap:5px 16px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:7px}.legend .sw{display:inline-block;width:22px;height:11px;border-radius:1px;flex:none;border:1px solid var(--hairline)}.legend .sw.dark{background:var(--arc-off)}.legend .sw.partial{background:repeating-linear-gradient(45deg,var(--sea) 0 2px,var(--arc-off) 2px 5px);border-color:var(--sea)}.legend .sw.lit{background:var(--sea);border-color:var(--sea)}.controls{display:flex;flex-direction:column;gap:8px;margin-top:auto}button{font-family:var(--grot);font-size:12.5px;letter-spacing:.04em;background:transparent;color:var(--ink);border:1px solid var(--hairline);border-radius:3px;padding:9px 12px;cursor:pointer;text-align:left;transition:border-color .15s,color .15s}button:hover{border-color:var(--sea);color:var(--sea)}button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}button.primary{border-color:var(--sea);color:var(--sea)}button.primary:hover{background:#3fa98e14}footer.site{padding:9px 26px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:10.5px;color:var(--dim);letter-spacing:.03em}.tooltip{position:fixed;pointer-events:none;background:var(--panel);border:1px solid var(--hairline);border-radius:3px;padding:7px 10px;font-family:var(--mono);font-size:11px;color:var(--ink);opacity:0;transition:opacity .12s;z-index:10;max-width:260px;line-height:1.5}.page{max-width:760px;margin:0 auto;padding:48px 26px;line-height:1.75}.page h1{font-family:var(--serif);font-weight:600;font-size:30px;margin-bottom:18px}.page h2{font-family:var(--serif);font-weight:600;font-size:19px;margin:26px 0 10px;color:var(--ink)}.page p{color:var(--muted);margin-bottom:14px;font-size:14.5px}.page .rule{border-top:1px solid var(--hairline);margin:26px 0}.empty{border:1px dashed var(--hairline);border-radius:4px;padding:26px;color:var(--dim);font-family:var(--mono);font-size:12px;line-height:1.8}.graticule{stroke:var(--hairline);stroke-width:.5;fill:none;opacity:.55}.l2arc{fill:var(--arc-off);stroke:var(--plate);stroke-width:.6;cursor:pointer;transition:fill .5s}.l2arc.lit{fill:var(--sea)}.l2arc.hovered{fill:#3a4c59}.l2arc.lit.hovered{fill:#5cc7ac}.l2arc.partial{fill:url(#partialhatch);stroke:var(--sea);stroke-width:1}.l2arc.partial.hovered{fill:url(#partialhatch-hi);stroke:#5cc7ac}.hatch-bg{fill:var(--arc-off)}.hatch-fg{fill:var(--sea)}.hatch-fg-hi{fill:#5cc7ac}.l2arc:focus{outline:none}.l2arc:focus-visible{stroke:var(--ink);stroke-width:1.6}.brancharc{fill:none;stroke:var(--dim);stroke-width:1;opacity:.8}.famlabel{font-family:var(--grot);font-size:12.5px;letter-spacing:.14em;fill:var(--muted)}.famlabel.active{fill:var(--ink)}.tick{stroke:var(--dim);stroke-width:.7;opacity:.5;transition:stroke .5s,opacity .5s}.tick.lit{stroke:var(--sea);opacity:.95}.corpusbar{fill:var(--bar);opacity:.55}.chord{fill:var(--ember);opacity:.055;stroke:none;transition:opacity .25s;pointer-events:none}.chord.on{opacity:.34}.chord.dimmed{opacity:.015}.catarc{stroke:var(--plate);stroke-width:1.2;cursor:pointer}.catlabel{font-family:var(--serif);font-size:17px;font-weight:600;fill:var(--ink);pointer-events:none}.atomtick{stroke:var(--muted);stroke-width:1;opacity:.6}.corelabel{font-family:var(--mono);fill:var(--muted);text-anchor:middle}.corelabel .big{font-size:30px;fill:var(--ink)}@media (max-width:900px){.atlas-main{flex-direction:column}aside{flex:none;border-left:none;border-top:1px solid var(--hairline)}}@media (prefers-reduced-motion: reduce){.l2arc,.tick,.chord{transition:none}}
