:root{--node-orgao:oklch(54% .15 270);--node-dominio:oklch(60% .16 235);--node-hosting:oklch(66% .12 195);--node-dev:oklch(70% .15 160);--node-repositorio:oklch(76% .2 120);--node-credencial:oklch(80% .17 80);--node-servico:oklch(71% .18 42);--node-pessoa:oklch(62% .19 18)}[data-theme=light]{--bg:#f5f1ea;--bg-elevated:#fff;--bg-sunken:#ebe6dc;--border:#e0d9cc;--border-strong:#c9c0ad;--text:#1a1d24;--text-muted:#5e616b;--text-soft:#94939a;--accent:#c75a1a;--accent-soft:#fde8d4;--accent-fg:var(--bg);--danger:#b73a26;--danger-soft:#fde6e1;--danger-fg:var(--bg);--dot:#1a1d2414;--shadow:0 1px 0 #1a1d240a, 0 8px 24px -12px #1a1d242e;--node-tint:1;--grid-line:#1a1d240f;--tooltip-bg:#ffffffeb;--tooltip-border:#1a1d2424}[data-theme=dark]{--bg:#1a1825;--bg-elevated:#252132;--bg-sunken:#14121e;--border:#36314a;--border-strong:#4a4565;--text:#ebe6f0;--text-muted:#8b8599;--text-soft:#5a5670;--accent:#ffc28f;--accent-soft:#3a2c1e;--accent-fg:var(--bg-sunken);--danger:#ff8a7a;--danger-soft:#3a1f1c;--danger-fg:var(--bg-sunken);--dot:#ebe6f00f;--shadow:0 1px 0 #0000004d, 0 8px 24px -8px #0006;--node-tint:1.05;--grid-line:#ebe6f00d;--tooltip-bg:#000000c7;--tooltip-border:#ebe6f029}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle, var(--dot) 1px, transparent 1px);background-position:0 0;background-size:22px 22px;min-height:100vh;font-family:Fira Sans,system-ui,sans-serif;font-weight:400;line-height:1.55;transition:background-color .25s,color .25s}a{color:inherit}button{font:inherit;color:inherit}.mono{font-family:Fira Mono,monospace}.spinner{border:1.5px solid;border-top-color:#0000;border-radius:50%;flex:none;width:.85em;height:.85em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.input{background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:2px;width:100%;padding:.55rem .8rem;font-family:Fira Sans,sans-serif;font-size:.92rem;transition:border-color .15s}.input:focus{border-color:var(--accent);outline:none}.input::placeholder{color:var(--text-soft)}.field-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.4rem;font-family:Fira Mono,monospace;font-size:.7rem;display:block}
