*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}*,*:before,*:after{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}:root,:root[data-theme=dark]{--bg-canvas: #0f172a;--bg-surface: #1e293b;--bg-inset: #0f172a;--bg-hover: #334155;--border: #334155;--border-strong: #475569;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--accent-primary: #3b82f6;--accent-primary-text: #93c5fd;--accent-primary-bg: #1e3a8a;--on-accent-primary: #fff;--accent-success: #16a34a;--accent-success-text: #34d399;--accent-success-bg: #052e16;--accent-success-border: #166534;--on-accent-success: #fff;--accent-danger: #ef4444;--accent-danger-text: #f87171;--accent-danger-bg: #450a0a;--accent-danger-border: #7f1d1d;--on-accent-danger: #fff;--accent-warning: #f59e0b;--accent-warning-text: #fbbf24;--accent-warning-bg: #451a03;--accent-warning-border: #f59e0b;--on-accent-warning: #000}:root[data-theme=light]{--bg-canvas: #f8fafc;--bg-surface: #ffffff;--bg-inset: #f1f5f9;--bg-hover: #e2e8f0;--border: #cbd5e1;--border-strong: #94a3b8;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--accent-primary: #2563eb;--accent-primary-text: #1d4ed8;--accent-primary-bg: #dbeafe;--on-accent-primary: #fff;--accent-success: #16a34a;--accent-success-text: #15803d;--accent-success-bg: #dcfce7;--accent-success-border: #15803d;--on-accent-success: #fff;--accent-danger: #dc2626;--accent-danger-text: #b91c1c;--accent-danger-bg: #fee2e2;--accent-danger-border: #ef4444;--on-accent-danger: #fff;--accent-warning: #d97706;--accent-warning-text: #b45309;--accent-warning-bg: #fef3c7;--accent-warning-border: #d97706;--on-accent-warning: #fff}:root[data-theme=bright]{--bg-canvas: #ffffff;--bg-surface: #ffffff;--bg-inset: #f4f6f8;--bg-hover: #e3edff;--border: #1a1a1a;--border-strong: #0057ff;--text-primary: #000000;--text-secondary: #1f2937;--text-muted: #4b5563;--accent-primary: #0057ff;--accent-primary-text: #0044cc;--accent-primary-bg: #dceaff;--on-accent-primary: #fff;--accent-success: #00a34a;--accent-success-text: #00873d;--accent-success-bg: #d6f7e3;--accent-success-border: #00a34a;--on-accent-success: #fff;--accent-danger: #e0281f;--accent-danger-text: #c0201a;--accent-danger-bg: #ffe0dd;--accent-danger-border: #e0281f;--on-accent-danger: #fff;--accent-warning: #ff8800;--accent-warning-text: #b35900;--accent-warning-bg: #fff0d9;--accent-warning-border: #ff8800;--on-accent-warning: #000}:root[data-theme=hc-dark]{--bg-canvas: #000000;--bg-surface: #000000;--bg-inset: #000000;--bg-hover: #262626;--border: #ffffff;--border-strong: #ffd600;--text-primary: #ffffff;--text-secondary: #e5e5e5;--text-muted: #b3b3b3;--accent-primary: #00d9ff;--accent-primary-text: #00d9ff;--accent-primary-bg: #003544;--on-accent-primary: #000;--accent-success: #00e676;--accent-success-text: #00e676;--accent-success-bg: #003d1f;--accent-success-border: #00e676;--on-accent-success: #000;--accent-danger: #ff5252;--accent-danger-text: #ff5252;--accent-danger-bg: #4a0000;--accent-danger-border: #ff5252;--on-accent-danger: #000;--accent-warning: #ffd600;--accent-warning-text: #ffd600;--accent-warning-bg: #4a3f00;--accent-warning-border: #ffd600;--on-accent-warning: #000}:root[data-theme=hc-light]{--bg-canvas: #ffffff;--bg-surface: #ffffff;--bg-inset: #ffffff;--bg-hover: #e6e6e6;--border: #000000;--border-strong: #0000ee;--text-primary: #000000;--text-secondary: #1a1a1a;--text-muted: #333333;--accent-primary: #0000ee;--accent-primary-text: #0000ee;--accent-primary-bg: #dbe4ff;--on-accent-primary: #fff;--accent-success: #006400;--accent-success-text: #006400;--accent-success-bg: #d7f2d7;--accent-success-border: #006400;--on-accent-success: #fff;--accent-danger: #b30000;--accent-danger-text: #b30000;--accent-danger-bg: #ffd9d9;--accent-danger-border: #b30000;--on-accent-danger: #fff;--accent-warning: #7a5900;--accent-warning-text: #7a5900;--accent-warning-bg: #fff0c2;--accent-warning-border: #7a5900;--on-accent-warning: #fff}:root[data-theme=colorblind]{--bg-canvas: #10151f;--bg-surface: #1c2333;--bg-inset: #10151f;--bg-hover: #2a3348;--border: #3a4359;--border-strong: #556080;--text-primary: #f4f6fa;--text-secondary: #a8b2c4;--text-muted: #7a8399;--accent-primary: #0072b2;--accent-primary-text: #56b4e9;--accent-primary-bg: #123a52;--on-accent-primary: #fff;--accent-success: #009e73;--accent-success-text: #4dd6b0;--accent-success-bg: #063d30;--accent-success-border: #009e73;--on-accent-success: #fff;--accent-danger: #d55e00;--accent-danger-text: #e69f00;--accent-danger-bg: #4a2100;--accent-danger-border: #d55e00;--on-accent-danger: #fff;--accent-warning: #f0e442;--accent-warning-text: #f0e442;--accent-warning-bg: #4a4200;--accent-warning-border: #f0e442;--on-accent-warning: #000}:root[data-theme=warm]{--bg-canvas: #1c1410;--bg-surface: #2a201a;--bg-inset: #1c1410;--bg-hover: #3a2d24;--border: #4a3b30;--border-strong: #6b5644;--text-primary: #f0e6da;--text-secondary: #c9b8a8;--text-muted: #93816f;--accent-primary: #d68c45;--accent-primary-text: #e8ab73;--accent-primary-bg: #4a2f10;--on-accent-primary: #000;--accent-success: #8a9a5b;--accent-success-text: #b0c17e;--accent-success-bg: #2c3318;--accent-success-border: #8a9a5b;--on-accent-success: #fff;--accent-danger: #c1633f;--accent-danger-text: #d88a68;--accent-danger-bg: #3d1f12;--accent-danger-border: #c1633f;--on-accent-danger: #fff;--accent-warning: #cc9a3d;--accent-warning-text: #e0b866;--accent-warning-bg: #3d2c0c;--accent-warning-border: #cc9a3d;--on-accent-warning: #000}html,body{height:100%;overflow:hidden;background:var(--bg-canvas)}body{font-family:system-ui,-apple-system,sans-serif;color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:transform .2s ease}input,select,button,textarea{font-family:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
