:root{--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--fs-caption: 12px;--fs-body: 14px;--fs-heading: 18px;--ff-sans: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--ff-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--bg-primary: #ffffff;--bg-secondary: #f9f9f9;--bg-tertiary: #f0f0f4;--canvas-bg: #ffffff;--text-primary: #213547;--text-secondary: #666666;--text-tertiary: #888888;--text-inverse: #ffffff;--border: #e0e0e0;--border-focus: #646cff;--accent-primary: #646cff;--accent-primary-hover: #535bf2;--accent-secondary: #ff9f1c;--accent-valid: #2ecc71;--accent-error: #e74c3c;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--canvas-grid: #e0e0e0}:root[class~=dark-mode]{--bg-primary: #242424;--bg-secondary: #2a2a2a;--bg-tertiary: #333333;--canvas-bg: #1a1a1a;--text-primary: rgba(255, 255, 255, .87);--text-secondary: rgba(235, 235, 235, .6);--text-tertiary: rgba(235, 235, 235, .38);--border: #444444;--canvas-grid: #333333}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--ff-sans);color:var(--text-primary);background-color:var(--bg-primary);min-width:320px;min-height:100vh}*,*:before,*:after{box-sizing:border-box}button{cursor:pointer;font-family:inherit}svg{display:block}
