@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--bg: #070b11;--panel: #0d141d;--panel-2: #121b26;--line: #1e2a38;--cyan: #22d3ee;--amber: #f59e0b;--txt: #cdd8e5;--dim: #64788f}*{box-sizing:border-box}body{margin:0;background:radial-gradient(900px 500px at 85% -10%,rgba(34,211,238,.1),transparent 60%),radial-gradient(700px 500px at 8% 110%,rgba(245,158,11,.06),transparent 60%),var(--bg);color:var(--txt);font-family:Space Grotesk,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app{max-width:1120px;margin:0 auto;padding:20px 16px 44px}header{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.mark{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-size:26px;background:linear-gradient(145deg,#0f2a33,#0b1220);border:1px solid var(--cyan);color:var(--cyan);box-shadow:0 0 20px #22d3ee59}h1{margin:0;font-size:23px;letter-spacing:2.5px;color:#fff;font-weight:700}header p{margin:3px 0 0;color:var(--dim);font-size:12.5px}.src{margin-left:auto;color:var(--dim);font-size:12px;border:1px solid var(--line);padding:6px 12px;border-radius:20px;white-space:nowrap}.palette{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:16px 0}.p-label{font-size:10.5px;letter-spacing:1.5px;color:var(--dim);margin-right:2px}.palette button{font-family:inherit;font-size:12px;cursor:pointer;background:var(--panel-2);color:var(--txt);border:1px solid var(--line);padding:7px 12px;border-radius:7px;transition:.12s}.palette button:hover{border-color:var(--cyan);color:#fff}.palette .in{color:#7dd3fc}.palette .out{color:#fca5a5}.palette .preset{background:#10202b;color:var(--cyan)}.palette .clear{color:#f87171;border-color:#3a1a1a}.sep{width:1px;height:22px;background:var(--line);margin:0 4px}.stage{display:grid;grid-template-columns:1fr 280px;gap:14px}.board{width:100%;height:auto;background:#0a0f16;border:1px solid var(--line);border-radius:12px;touch-action:none;-webkit-user-select:none;user-select:none}.node{cursor:grab}.node.sel rect{stroke:var(--amber);stroke-width:2.5}.c-gate{fill:#182636;stroke:#33465a;stroke-width:1.5}.c-in{fill:#14202b;stroke:#33465a;stroke-width:1.5}.c-in.on{fill:#0e3a4a;stroke:var(--cyan)}.c-out{fill:#1c1414;stroke:#4a3333;stroke-width:1.5}.c-out.on{fill:#3a1420;stroke:#f472b6}.glabel{fill:#e6eef7;font-size:14px;font-weight:600;text-anchor:middle;dominant-baseline:central;font-family:Space Grotesk;pointer-events:none}.obit{fill:#f472b6;font-size:11px;text-anchor:middle;font-family:ui-monospace,monospace;pointer-events:none}.port{fill:#0a0f16;stroke:#4a6076;stroke-width:2;cursor:crosshair}.in-port:hover{stroke:var(--amber);fill:#2a1e08}.out-port{cursor:crosshair}.out-port.hot{fill:var(--cyan);stroke:var(--cyan)}.wire{cursor:pointer}.wire:hover{stroke:#f87171!important}.tt{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;align-self:start}.tt-head{font-size:12px;letter-spacing:2px;color:var(--cyan);font-weight:600}.tt-note{font-size:11.5px;color:var(--dim);margin:6px 0 10px;font-family:ui-monospace,monospace}.tt table{width:100%;border-collapse:collapse;font-family:ui-monospace,monospace;font-size:13px}.tt th{padding:5px;border-bottom:1px solid var(--line);font-size:12px}.th-in{color:var(--cyan)}.th-out{color:#f472b6}.tt td{text-align:center;padding:4px 5px}.tt td.one{color:#e6eef7}.tt td.zero{color:#3f4f61}.tt td.o{border-left:1px solid var(--line);font-weight:700}.tt tbody tr:hover{background:var(--panel-2)}.tt-empty{color:var(--dim);font-size:12px;line-height:1.5}.hint{color:var(--dim);font-size:12.5px;line-height:1.6;margin:14px 2px 0}.hint b{color:var(--cyan);font-weight:600}footer{text-align:center;color:var(--dim);font-size:11.5px;margin-top:16px;border-top:1px solid var(--line);padding-top:12px}@media (max-width: 820px){.stage{grid-template-columns:1fr}.src{display:none}}
