:root{--bg0:#0b0d12;--bg1:#12151c;--bg2:#1a1f2a;--text:#e8ecf4;--muted:#8b93a7;--shared:#3dd68c;--core:#f7931a;--knots:#3ecfcf;--block-fill:#161b24;--danger:#ff6b6b;--border:#ffffff0f;--card-shadow:0 24px 80px #00000073;color:var(--text);background:var(--bg0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,system-ui,sans-serif;line-height:1.4}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%, #3dd68c14, transparent 55%), radial-gradient(900px 500px at 90% 0%, #f7931a12, transparent 50%), radial-gradient(800px 500px at 70% 100%, #3ecfcf0f, transparent 45%), var(--bg0);min-width:320px;margin:0}.app{flex-direction:column;gap:1.25rem;max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:flex}.app-brand{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.app-brand h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:700}.app-brand p{color:var(--muted);max-width:36rem;margin:.2rem 0 0;font-size:.95rem}.status-bar{background:color-mix(in srgb, var(--bg1) 90%, transparent);border:1px solid var(--border);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.85rem 1rem;display:grid}.stat-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.2rem;font-size:.68rem;display:block}.stat-value{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.92rem;font-weight:500}.status-error{color:var(--danger);grid-column:1/-1;margin:0;font-size:.85rem}.topology-card{border:1px solid var(--border);box-shadow:var(--card-shadow);background:linear-gradient(#151922 0%,#10141b 100%);border-radius:18px;padding:1.1rem 1.15rem .9rem}.topology-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-bottom:.5rem;display:grid}.topology-titles h1{margin:0;font-size:1.35rem;font-weight:650}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.68rem}.topology-status{text-align:center;color:var(--muted);margin:0;font-size:.92rem}.delta-badge{letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--core) 45%, transparent);color:var(--core);background:color-mix(in srgb, var(--core) 12%, transparent);border-radius:999px;justify-self:end;padding:.4rem .7rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;font-weight:600}.delta-badge--muted{border-color:var(--border);color:var(--muted);background:0 0}.topology-canvas{scrollbar-color:#2a3344 transparent;width:100%;padding:.5rem 0 .35rem;overflow-x:auto}.topology-canvas--vertical{justify-content:center;display:flex;overflow:visible}.topology-canvas svg{flex-shrink:0;max-width:none;display:block}.link{stroke-width:1.75px;opacity:.85}.link--shared{stroke:var(--shared)}.link--core{stroke:var(--core)}.link--knots{stroke:var(--knots)}.link--dashed{stroke-dasharray:5 4;opacity:.7}.omit-toggle{cursor:pointer}.omit-gap{cursor:help}.omit-toggle rect,.omit-gap rect{transition:fill .12s,stroke-width .12s}.omit-toggle:hover rect{fill:#1c2330;stroke-width:2.25px}.omit-toggle:focus{outline:none}.omit-toggle:focus-visible rect{stroke-width:2.75px}.omit-toggle-label{pointer-events:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px;font-weight:600}.block-height{fill:var(--text);pointer-events:none;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:13px;font-weight:500}.block-miner{fill:var(--muted);pointer-events:none;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:11px;font-weight:500}.block-miner--inset{font-size:10px}.block-node{cursor:pointer}.block-node rect{transition:fill .12s,stroke-width .12s}.block-node:hover rect,.block-node.is-selected rect{fill:#1c2330;stroke-width:2.5px}.block-node:focus{outline:none}.block-node:focus-visible rect{stroke-width:2.75px}.lane-label{letter-spacing:.04em;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13px;font-weight:700}.lane-label--core{fill:var(--core)}.lane-label--knots{fill:var(--knots)}.main-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.main-row.has-details{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.block-details{background:var(--bg1);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem}.block-details header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.block-details h2{margin:0;font-size:1rem}.icon-btn{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:1.4rem;line-height:1}.icon-btn:hover{color:var(--text)}.block-details dl{gap:.55rem;margin:0;display:grid}.block-details dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.65rem}.block-details dd{word-break:break-all;margin:.1rem 0 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.block-details a{color:var(--knots)}.side--core{color:var(--core);text-transform:uppercase}.side--knots{color:var(--knots);text-transform:uppercase}.side--shared{color:var(--shared);text-transform:uppercase}.loading{text-align:center;color:var(--muted);padding:3rem 1rem}.topology-skeleton .skeleton-line--status{background:#1c2330;border-radius:4px;width:min(280px,50%);height:.85rem;margin:.35rem auto 0}.topology-skeleton .skeleton-badge{border-style:dashed;width:5.5rem;height:1.7rem}.skeleton-canvas{align-items:center;gap:1.25rem;min-height:200px;padding:1.25rem .5rem .75rem;display:flex}.skeleton-lane--shared{align-items:center;display:flex}.skeleton-fork{flex-direction:column;flex:1;gap:2.25rem;min-width:0;display:flex}.skeleton-lane{align-items:center;gap:.85rem;display:flex}.skeleton-block{background:#1c2330cc;border:1.75px solid #2a3344;border-radius:10px;width:92px;height:70px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-block--ghost{opacity:.55;border-style:dashed}.skeleton-label{background:#1c2330;border-radius:4px;width:5.5rem;height:.7rem;animation:1.4s ease-in-out .15s infinite skeleton-pulse}.skeleton-caption{color:var(--muted);margin:.15rem 0 0;font-size:.8rem}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.skeleton-block,.skeleton-label{animation:none}}.app-footer{color:var(--muted);flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.5rem;font-size:.75rem;display:flex}.app-footer a{color:color-mix(in srgb, var(--text) 75%, var(--muted))}@media (width<=840px){.status-bar{grid-template-columns:1fr 1fr}.topology-header{grid-template-columns:1fr;justify-items:start}.topology-status{text-align:left}.delta-badge{justify-self:start}.main-row.has-details{grid-template-columns:1fr}.skeleton-canvas{flex-direction:column;align-items:center;min-height:280px}.skeleton-lane--shared{flex-direction:column}.skeleton-fork{flex-direction:row;justify-content:center;gap:2.5rem;width:100%}.skeleton-lane{flex-direction:column}}
