*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{--bg: #F4F3EF;--bg-card: #FFFFFF;--bg-card-hover: #FAFAF8;--bg-input: #F4F3EF;--bg-sidebar: #1A1A1A;--bg-sidebar-hover: #2A2A2A;--bg-sidebar-active: #E63329;--text-primary: #1A1A1A;--text-secondary: #6B6B6B;--text-muted: #A0A0A0;--text-sidebar: rgba(255,255,255,.7);--text-sidebar-active: #FFFFFF;--accent: #E63329;--accent-soft: rgba(230,51,41,.08);--accent-orange: #F59E0B;--accent-green: #22C55E;--accent-blue: #3B82F6;--accent-purple: #8B5CF6;--border: #E8E7E3;--border-strong: #D1D0CC;--shadow-sm: 0 1px 3px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.07);--shadow-lg: 0 12px 40px rgba(0,0,0,.1);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 18px;--font-sans: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--font-display: "Bebas Neue", sans-serif;--sidebar-width: 240px;--header-height: 64px}[data-theme=dark]{--bg: #111113;--bg-card: #1C1C1E;--bg-card-hover: #242426;--bg-input: #2C2C2E;--bg-sidebar: #0D0D0F;--bg-sidebar-hover: #1C1C1E;--bg-sidebar-active: #E63329;--text-primary: #F5F5F7;--text-secondary: #98989F;--text-muted: #636366;--text-sidebar: rgba(255,255,255,.6);--text-sidebar-active: #FFFFFF;--accent: #FF453A;--accent-soft: rgba(255,69,58,.12);--accent-orange: #FFD60A;--accent-green: #30D158;--accent-blue: #0A84FF;--accent-purple: #BF5AF2;--border: #2C2C2E;--border-strong: #3A3A3C;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 16px rgba(0,0,0,.4);--shadow-lg: 0 12px 40px rgba(0,0,0,.5)}html,body,#root{height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}a{text-decoration:none;color:inherit}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-sans)}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:pageEnter .2s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
