:root{--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef2ff;--accent-ink: #3730a3;--ink-900: #0b0d12;--ink-800: #1a1d24;--ink-700: #2c313a;--ink-600: #4a505c;--ink-500: #6b7280;--ink-400: #9aa1ad;--ink-300: #c8cdd5;--ink-200: #e5e7eb;--ink-100: #f1f2f5;--ink-50: #f7f8fa;--bg: #ffffff;--bg-elev: #ffffff;--bg-muted:#fafbfc;--success: #16a34a;--success-soft:#dcfce7;--warning: #d97706;--warning-soft:#fef3c7;--danger: #dc2626;--danger-soft:#fee2e2;--info: #2563eb;--info-soft:#dbeafe;--col-backlog:#6b7280;--col-plan: #7c3aed;--col-exec: #0ea5e9;--col-qa: #d97706;--col-result: #16a34a;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-2xl: 20px;--shadow-sm: 0 1px 2px rgba(16,24,40,.04), 0 1px 1px rgba(16,24,40,.03);--shadow-md: 0 4px 10px -2px rgba(16,24,40,.06), 0 2px 4px -2px rgba(16,24,40,.04);--shadow-lg: 0 16px 32px -8px rgba(16,24,40,.1), 0 4px 12px -4px rgba(16,24,40,.06);--shadow-xl: 0 24px 48px -12px rgba(16,24,40,.18);--font-sans: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--ease: cubic-bezier(.22,.61,.36,1);--ease-out: cubic-bezier(.16,1,.3,1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-feature-settings:"cv11","ss01";color:var(--ink-900);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:14px;line-height:1.5}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--accent-soft);color:var(--accent-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-300);background-clip:padding-box;border:2px solid transparent}.card{background:var(--bg-elev);border:1px solid var(--ink-200);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--ink-100);color:var(--ink-700);border:1px solid var(--ink-200);white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-500)}.kbd{font-family:var(--font-mono);font-size:11px;padding:1px 6px;border-radius:4px;background:var(--ink-100);border:1px solid var(--ink-200);color:var(--ink-600)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-md);font-size:13px;font-weight:500;border:1px solid transparent;transition:background .12s var(--ease),border-color .12s var(--ease),color .12s var(--ease),box-shadow .12s var(--ease);white-space:nowrap}.btn-primary{background:var(--ink-900);color:#fff}.btn-primary:hover{background:var(--ink-800)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--ink-700);border-color:var(--ink-200)}.btn-ghost:hover{background:var(--ink-50);border-color:var(--ink-300)}.btn-subtle{background:var(--ink-100);color:var(--ink-800)}.btn-subtle:hover{background:var(--ink-200)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--ink-200)}.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.btn-sm{height:26px;padding:0 8px;font-size:12px;border-radius:var(--r-sm)}.btn-lg{height:40px;padding:0 16px;font-size:14px;border-radius:var(--r-md)}.btn:disabled{opacity:.5;cursor:not-allowed}.input,.textarea,.select{width:100%;height:36px;padding:0 12px;border-radius:var(--r-md);border:1px solid var(--ink-200);background:var(--bg);color:var(--ink-900);transition:border-color .12s var(--ease),box-shadow .12s var(--ease)}.input:hover,.textarea:hover,.select:hover{border-color:var(--ink-300)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #4f46e51f}.textarea{height:auto;min-height:80px;padding:10px 12px;resize:vertical;line-height:1.5}.label{display:block;font-size:12px;font-weight:500;color:var(--ink-700);margin-bottom:6px}.help{font-size:12px;color:var(--ink-500);margin-top:4px}.dot-backlog{background:var(--col-backlog)}.dot-plan{background:var(--col-plan)}.dot-exec{background:var(--col-exec)}.dot-qa{background:var(--col-qa)}.dot-result{background:var(--col-result)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-ring{0%{box-shadow:0 0 #7c3aed59}70%{box-shadow:0 0 0 8px #7c3aed00}to{box-shadow:0 0 #7c3aed00}}@keyframes attention-glow{0%,to{box-shadow:0 0 #d9770600;border-color:var(--warning)}50%{box-shadow:0 0 0 6px #d977062e;border-color:var(--warning)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.spinner{width:14px;height:14px;border:2px solid var(--ink-200);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.shimmer-bar{height:2px;border-radius:999px;background:linear-gradient(90deg,var(--ink-100) 0%,var(--accent) 50%,var(--ink-100) 100%);background-size:200% 100%;animation:shimmer 1.6s linear infinite}.mono{font-family:var(--font-mono)}
