*,:after,:before{box-sizing:border-box}:root{--color-bg:#f5f6f8;--color-surface:#ffffff;--color-border:#dee2e6;--color-text:#212529;--color-text-muted:#6c757d;--color-primary:#4361ee;--color-primary-hover:#3a56d4;--color-danger:#dc3545;--color-success:#198754;--color-warning:#ffc107;--radius:6px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow:0 1px 3px rgba(0,0,0,0.1),0 1px 2px rgba(0,0,0,0.06);--color-hover:#f0f0f0;--color-surface-secondary:#f8f9fa;--color-border-subtle:#f0f0f0;--color-row-hover:#f8f9ff;--color-error-bg:#fff3f3;--color-error-border:#ffcdd2;--color-canvas-bg:#f0f2f5;--color-canvas-dot:#d0d4db;--color-control-border:#c8cdd3;--color-block-border:#8c959d;--color-tab-bar-bg:#e9ecef;--color-active-tint:#e8ecff;--color-selected-tint:#e0e7ff;--color-field-hover:#eef1ff;--color-success-tint:#f0fdf4;--color-purple-tint:#f5f0ff;--color-danger-tint:#fef2f2;--color-info-tint:#f0f7ff}[data-theme=dark]{--color-bg:#1a1b1e;--color-surface:#25262b;--color-border:#373a40;--color-text:#c1c2c5;--color-text-muted:#868e96;--color-primary:#4c6ef5;--color-primary-hover:#4263eb;--color-danger:#f03e3e;--color-success:#2f9e44;--color-warning:#f59f00;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow:0 1px 3px rgba(0,0,0,0.4),0 1px 2px rgba(0,0,0,0.3);--color-hover:#2c2d32;--color-surface-secondary:#1f2023;--color-border-subtle:#2c2d32;--color-row-hover:#2a2b30;--color-error-bg:#2d1a1a;--color-error-border:#5a2424;--color-canvas-bg:#18191d;--color-canvas-dot:#3a3d44;--color-control-border:#4a4e58;--color-block-border:#555c68;--color-tab-bar-bg:#1a1b1e;--color-active-tint:rgba(76,110,245,0.2);--color-selected-tint:rgba(76,110,245,0.25);--color-field-hover:rgba(76,110,245,0.12);--color-success-tint:rgba(47,158,68,0.15);--color-purple-tint:rgba(155,89,182,0.15);--color-danger-tint:rgba(240,62,62,0.12);--color-info-tint:rgba(76,110,245,0.12)}#root,body,html{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg)}button{cursor:pointer}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}