*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-0: #0a0a0a;--bg-1: #111111;--bg-2: #1a1a1a;--bg-3: #222222;--bg-4: #2a2a2a;--border: #2e2e2e;--border-light: #3a3a3a;--text-0: #f5f5f5;--text-1: #c0c0c0;--text-2: #888888;--text-3: #555555;--accent: #e8ff47;--accent-dim: rgba(232, 255, 71, .12);--accent-hover: #f0ff70;--success: #4ade80;--warning: #fb923c;--danger: #f87171;--info: #60a5fa;--status-planning: #94a3b8;--status-in-progress: #60a5fa;--status-review: #a78bfa;--status-completed: #4ade80;--status-on-hold: #fb923c;--priority-low: #4ade80;--priority-medium: #fb923c;--priority-high: #f87171;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-sm: 4px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 9999px;--font-display: "Poppins", serif;--font-body: "Poppins", sans-serif;--font-mono: "Poppins", monospace;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6);--shadow-accent: 0 0 20px rgba(232,255,71,.15);--sidebar-w: 240px;--topbar-h: 60px;--t-fast: .12s ease;--t-mid: .2s ease;--t-slow: .35s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-0: #f0f2f5;--bg-1: #ffffff;--bg-2: #f7f8fa;--bg-3: #eef0f3;--bg-4: #e4e7ec;--border: #dde1e8;--border-light: #c8cdd6;--text-0: #0f1117;--text-1: #2d3340;--text-2: #5c6478;--text-3: #9aa0b0;--text-4: #ffffff;--accent: #5b6af0;--accent-dim: rgba(91,106,240,.1);--accent-hover: #4a58e0;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #2563eb;--status-planning: #64748b;--status-in-progress: #2563eb;--status-review: #7c3aed;--status-completed: #16a34a;--status-on-hold: #d97706;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--shadow-accent: 0 0 20px rgba(91,106,240,.15)}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg-0);color:var(--text-0);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--bg-4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}.mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-12px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s var(--t-slow) both}.animate-slide-in{animation:slideIn .25s ease both}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}
