*{box-sizing:border-box}:root{--bg-canvas: #08080d;--bg-panel: #101017;--surface-card: #16161f;--surface-card-hover: #1d1d28;--surface-raised: #1a1a24;--surface-root: #102621;--surface-root-top: #133427;--accent: #21c99a;--accent-strong: #1fb98d;--accent-dim: #123b34;--accent-text: #8fe0c9;--danger-text: #f09595;--text-primary: #f2f2f5;--text-secondary: #9c9ca8;--text-tertiary: #6c6c78;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .16);--border-strong: rgba(255, 255, 255, .26);--shadow-node: 0 1px 2px rgba(0, 0, 0, .35), 0 6px 16px rgba(0, 0, 0, .28);--shadow-node-hover: 0 2px 4px rgba(0, 0, 0, .4), 0 10px 24px rgba(0, 0, 0, .32);--shadow-panel: -8px 0 24px rgba(0, 0, 0, .25);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .45);--glow-focus: 0 0 0 1px rgba(33, 201, 154, .55), 0 0 22px rgba(33, 201, 154, .22);--radius-pill: 999px;--radius-card: 14px;--radius-md: 10px;--radius-sm: 7px;--space-edge: 20px;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 15px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .16s;--dur-base: .28s;--dur-slow: .55s}html,body,#root{margin:0;padding:0;height:100%;width:100%;overflow:hidden;background:var(--bg-canvas);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Yu Gothic,sans-serif;-webkit-font-smoothing:antialiased}.app-viewport{width:100vw;height:100vh;height:100dvh;height:var(--app-vh, 100dvh)}button{font-family:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.interactive{transition:filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.interactive:hover{filter:brightness(1.16)}.interactive:active{filter:brightness(.94);transform:scale(.96)}.node-pill{transition:filter var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),opacity var(--dur-base) var(--ease-out)}.node-pill:hover{filter:brightness(1.14);transform:translateY(-1px)}.node-pill:active{transform:translateY(0) scale(.97);filter:brightness(.95)}.node-badge{opacity:0;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-out)}.node-pill:hover .node-badge,.node-badge.node-badge-visible{opacity:1;pointer-events:auto}.panel-row{transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.panel-row:hover{background:var(--surface-card-hover)!important}@keyframes node-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes menu-in{0%{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes tray-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse-dot{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-14px)}}
