:root{--bg: #eef2f8;--bg-glow-1: rgba(59, 130, 246, .18);--bg-glow-2: rgba(124, 58, 237, .14);--glass: rgba(255, 255, 255, .62);--glass-strong: rgba(255, 255, 255, .82);--glass-border: rgba(15, 23, 42, .08);--ink: #0f172a;--muted: #475569;--primary: #2563eb;--primary-ink: #ffffff;--accent: #7c3aed;--ok: #059669;--warn: #d97706;--danger: #dc2626;--shadow: 0 10px 30px rgba(15, 23, 42, .08);--radius: 14px;--diagram-bg: #ffffff;--canvas-bg: #fbfcfe}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b1020;--bg-glow-1: rgba(59, 130, 246, .22);--bg-glow-2: rgba(124, 58, 237, .18);--glass: rgba(17, 24, 39, .62);--glass-strong: rgba(17, 24, 39, .86);--glass-border: rgba(148, 163, 184, .16);--ink: #e5e7eb;--muted: #94a3b8;--primary: #60a5fa;--primary-ink: #0b1020;--accent: #a78bfa;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--diagram-bg: #f8fafc;--canvas-bg: #0b1222}}:root[data-theme=dark]{--bg: #0b1020;--bg-glow-1: rgba(59, 130, 246, .22);--bg-glow-2: rgba(124, 58, 237, .18);--glass: rgba(17, 24, 39, .62);--glass-strong: rgba(17, 24, 39, .86);--glass-border: rgba(148, 163, 184, .16);--ink: #e5e7eb;--muted: #94a3b8;--primary: #60a5fa;--primary-ink: #0b1020;--accent: #a78bfa;--shadow: 0 10px 30px rgba(0, 0, 0, .35);--diagram-bg: #f8fafc;--canvas-bg: #0b1222}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font:14px/1.5 Roboto,Helvetica Neue,Arial,sans-serif;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,var(--bg-glow-1),transparent 60%),radial-gradient(900px 500px at 100% 0%,var(--bg-glow-2),transparent 55%),var(--bg);background-attachment:fixed}a{color:var(--primary)}button{font:inherit;cursor:pointer;border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-strong);color:var(--ink);padding:7px 14px}button.primary{background:var(--primary);color:var(--primary-ink);border-color:transparent;font-weight:500}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.glass{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}.muted{color:var(--muted)}.mono{font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.error{color:var(--danger)}
