:root{--color-primary:#5b6bff;--color-primary-dark:#8b5cf6;--color-surface:#fff;--color-bg:#f4f5f7;--color-border:#e4e7eb;--color-text:#1a1d29;--color-muted:#6b7280;--color-muted-light:#9ca3af;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-tag-must:#fee2e2;--color-tag-must-text:#b91c1c;--color-tag-should:#fef3c7;--color-tag-should-text:#92400e;--color-tag-could:#d1fae5;--color-tag-could-text:#065f46}*{box-sizing:border-box;margin:0;padding:0}nextjs-portal{display:none!important}body,html{height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e4e7eb;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#c4c9d4}.btn{border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;transition:all .2s;box-shadow:0 1px 2px rgba(0,0,0,.02)}.btn-primary{background:var(--color-primary);color:#fff}.btn-secondary{background:#fff;color:var(--color-text);border:1px solid var(--color-border)}.btn-ghost{background:transparent;color:var(--color-primary)}.btn-ai{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);opacity:.95}.btn:active{transform:translateY(0)}.bg-primary{background-color:var(--color-primary)}.bg-primary-light{background-color:#eef0ff}.bg-primary-dark{background-color:var(--color-primary-dark)}.bg-surface{background-color:var(--color-surface)}.bg-bg{background-color:var(--color-bg)}.bg-muted{background-color:#f9fafb}.bg-border-light{background-color:#f0f1f4}.bg-faded{background-color:#fafbfc}.text-primary{color:var(--color-primary)}.text-primary-dark{color:var(--color-primary-dark)}.text-text{color:var(--color-text)}.text-muted{color:var(--color-muted)}.canvas-left{background:white;border-right:1px solid var(--color-border)}.msg{max-width:85%;padding:12px 14px;border-radius:16px;font-size:14px;line-height:1.55;word-wrap:break-word;margin-bottom:4px}.msg-ai{align-self:flex-start;background:#f0f2f5;color:#374151;border-bottom-left-radius:4px}.msg-user{align-self:flex-end;background:linear-gradient(135deg,#5b6bff,#7c6fff);color:#fff;border-bottom-right-radius:4px;font-weight:500}.tool-chip{background:#f3f4f6;padding:6px 10px;color:#4b5563;gap:6px}.tool-chip:hover{background:#e5e7eb;color:#1a1d29}.quick-action{gap:12px;padding:12px;border-radius:12px;transition:all .2s}.quick-action:hover{box-shadow:0 4px 12px rgba(91,107,255,.08)}.quick-action-label{font-size:14px;font-weight:600;color:#1a1d29;margin-bottom:2px}.quick-action-sub{font-size:11px;color:#6b7280}.text-muted-light{color:var(--color-muted-light)}.border-primary{border-color:var(--color-primary)}.border-border{border-color:var(--color-border)}.border-border-light{border-color:#f0f1f4}.border-border-lighter{border-color:#d1d5db}.flex{display:flex!important}.flex-col{flex-direction:column!important}.flex-1{flex:1 1!important}.flex-shrink-0{flex-shrink:0!important}.items-center{align-items:center!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.w-full{width:100%!important}.w-\[440px\]{width:440px!important}.min-w-0{min-width:0!important}.overflow-hidden{overflow:hidden!important}.overflow-y-auto{overflow-y:auto!important}.gap-1{gap:.25rem!important}.gap-1\.5{gap:.375rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:.75rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.border-b{border-bottom:1px solid var(--color-border)!important}.border-r{border-right:1px solid var(--color-border)!important}.bg-white{background-color:#fff!important}.bg-\[\#f4f5f7\]{background-color:#f4f5f7!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-3\.5{padding-left:.875rem!important;padding-right:.875rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-2\.5{padding-top:.625rem!important;padding-bottom:.625rem!important}.h-12{height:3rem!important}.w-7{width:1.75rem!important}.h-7{height:1.75rem!important}.w-8{width:2rem!important}.h-8{height:2rem!important}.font-bold{font-weight:700!important}.font-semibold{font-weight:600!important}.text-xs{font-size:.75rem!important}.text-sm{font-size:.875rem!important}.text-\[10px\]{font-size:10px!important}.text-\[11px\]{font-size:11px!important}.text-\[12px\]{font-size:12px!important}.text-\[13px\]{font-size:13px!important}.text-\[\#6b7280\]{color:#6b7280!important}.text-\[\#1a1d29\]{color:#1a1d29!important}.rounded-md{border-radius:.375rem!important}.rounded{border-radius:.25rem!important}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)!important}.transition-all{transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.disabled\:opacity-50:disabled{opacity:.5!important}.cursor-pointer{cursor:pointer!important}.canvas-main{display:flex;flex:1 1;overflow:hidden}.canvas-sidebar{width:440px;flex-shrink:0;border-right:1px solid var(--color-border);background:#fff;flex-direction:column}.canvas-content,.canvas-sidebar{display:flex;height:100%;overflow:hidden}.canvas-content{flex:1 1;min-width:0;flex-direction:column}.artifact-header{height:48px;background:#fff;border-bottom:1px solid var(--color-border);justify-content:space-between;padding:0 14px;flex-shrink:0}.artifact-header,.artifact-nav{display:flex;align-items:center}.artifact-nav{height:100%}.topbar-conv{height:56px;background:#fff;border-bottom:1px solid var(--color-border);justify-content:space-between!important;padding:0 20px!important;flex-shrink:0}.topbar-conv,.topbar-left-group{display:flex!important;align-items:center!important}.topbar-left-group{gap:24px!important}.topbar-breadcrumb,.topbar-btn-back{display:flex!important;align-items:center!important;gap:8px!important}.topbar-btn-back{padding:6px 16px!important;border:1px solid #e4e7eb!important;border-radius:8px!important;background:white!important;font-size:14px!important;font-weight:500!important;color:#4b5563!important;cursor:pointer!important;transition:all .2s!important}.topbar-btn-back:hover{background:#f8fafc!important;color:#1a1d29!important;border-color:#d1d5db!important}.topbar-logo-p{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#5b6bff,#8b5cf6);display:flex;align-items:center;justify-content:center;color:white;font-size:12px;font-weight:800;flex-shrink:0}.topbar-right-group{display:flex!important;align-items:center!important;gap:8px!important}.prd-section{border:1px solid #e4e7eb;padding:16px;margin-bottom:12px}.prd-section-head{margin-bottom:10px}.prd-section h3{font-size:14px;font-weight:600;color:#1a1d29}.prd-section p{color:#374151;font-size:13px;line-height:1.6}.prd-section ul{margin-top:6px;padding-left:20px;color:#374151}.prd-section li{margin-bottom:4px}.us-card{background:#fff;border-radius:8px;padding:14px;margin-bottom:10px;border:1px solid #e4e7eb;border-left:3px solid #5b6bff}.us-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}.us-id{background:#f4f5f7;color:#4b5563;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;font-family:monospace}.us-title{font-weight:600;font-size:14px;margin:4px 0}.us-story{color:#4b5563;font-size:12px;font-style:italic;background:#f9fafb;margin:8px 0}.us-criteria,.us-story{padding:8px 10px;border-radius:5px}.us-criteria{margin-top:8px;background:#fafbfc;font-size:11px;border:1px dashed #e4e7eb}.us-criteria-title{font-size:10px;text-transform:uppercase;color:#6b7280;font-weight:600;margin-bottom:4px;letter-spacing:.3px}.gherkin{font-family:monospace;font-size:11px;color:#374151;line-height:1.6}.gherkin .kw{color:#5b6bff;font-weight:600}.tag{padding:2px 7px;border-radius:3px;font-size:10px;font-weight:500}.tag-must{background:#fee2e2;color:#b91c1c}.tag-should{background:#fef3c7;color:#92400e}.tag-could{background:#d1fae5;color:#065f46}.tag-persona{background:#ede9fe;color:#6d28d9}.tag-est{background:#f3f4f6;color:#4b5563}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;border:1px solid #e4e7eb}th{background:#f9fafb;text-align:left;padding:8px 12px;font-size:11px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e4e7eb}td{padding:10px 12px;border-bottom:1px solid #f0f1f4;font-size:12px;vertical-align:top}.test-group{margin-bottom:16px}.test-group-header{background:#1a1d29;color:#fff;padding:10px 14px;border-radius:6px 6px 0 0;font-weight:600;font-size:12px;display:flex;justify-content:space-between;align-items:center}.test-case{background:#fff;border:1px solid #e4e7eb;border-top:none;padding:14px}.test-case:last-child{border-radius:0 0 6px 6px}.test-case+.test-case{border-top:1px solid #f0f1f4}.topbar-home{height:56px;background:#fff;border-bottom:1px solid #e4e7eb;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.topbar-home,.topbar-left{display:flex;align-items:center}.topbar-left{gap:24px}.logo{font-size:16px;gap:8px;cursor:pointer;text-decoration:none;color:inherit}.logo,.logo-icon{font-weight:700;display:flex;align-items:center}.logo-icon{width:28px;height:28px;background:linear-gradient(135deg,#5b6bff,#8b5cf6);border-radius:6px;justify-content:center;color:#fff;font-size:13px}.nav-links{display:flex;gap:4px}.nav-link{padding:6px 12px;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;text-decoration:none;transition:all .2s}.nav-link:hover{background:#f4f5f7;color:#1a1d29}.nav-link.active{background:#eef0ff;color:#5b6bff}.topbar-right{display:flex;align-items:center;gap:12px}.search-bar{background:#f4f5f7;border:1px solid transparent;border-radius:8px;padding:6px 12px;width:240px;font-size:12px;font-family:inherit;color:#1a1d29;transition:all .2s}.search-bar:focus{outline:none;background:#fff;border-color:#5b6bff}.icon-btn-top{background:transparent;border:none;width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:14px;color:#6b7280;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:all .2s}.icon-btn-top:hover{background:#f4f5f7;color:#1a1d29}.notification-dot{position:relative}.notification-dot:after{content:"";position:absolute;top:6px;right:8px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid #fff}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#5b6bff,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;cursor:pointer}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px;position:relative}.project-meta{display:flex;align-items:center;gap:5px;font-size:11px;color:#9ca3af}.project-status{padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.project-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #f0f1f4}.project-date{font-size:11px;color:#9ca3af}.project-team,.team-avatar{display:flex;align-items:center}.team-avatar{width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#5b6bff;color:#fff;justify-content:center;font-size:9px;font-weight:700;cursor:pointer}.team-avatar.more{background:#f4f5f7;color:#6b7280;font-size:9px;border-color:#fff}.section-counter{padding:2px 8px;font-size:11px;margin-left:8px}.new-project-card{border:2px dashed #e4e7eb;height:200px;background:#fafbfc;transition:all .2s;padding:20px}.new-project-card:hover{background:#fff}.new-project-card:hover .new-project-icon{background:#eef0ff}.new-project-title{font-weight:600;font-size:14px;margin-bottom:4px}.new-project-sub{font-size:11px;color:#6b7280;text-align:center}.hero{background:linear-gradient(180deg,#fff,#fafbfc);padding:48px 24px 56px}.hero-content{max-width:760px;margin:0 auto;text-align:center}.greeting{color:#6b7280;font-size:14px;margin-bottom:6px}.hero-title{font-size:32px;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#1a1d29,#5b6bff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{color:#6b7280;font-size:15px;margin-bottom:32px}.prompt-box{background:#fff;border:2px solid #e4e7eb;border-radius:16px;padding:16px;box-shadow:0 4px 24px rgba(0,0,0,.04);transition:all .2s}.prompt-box:focus-within{border-color:#5b6bff;box-shadow:0 4px 32px rgba(91,107,255,.12)}.prompt-textarea{width:100%;border:none;resize:none;font-family:inherit;font-size:15px;outline:none;min-height:80px;color:#1a1d29;line-height:1.6}.prompt-textarea::placeholder{color:#9ca3af}.prompt-tools{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f1f4}.prompt-tools-left{display:flex;gap:6px}.tool-chip{background:#f4f5f7;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;color:#6b7280;font-family:inherit;display:flex;align-items:center;gap:5px;font-weight:500;transition:all .2s}.tool-chip:hover{background:#eef0ff;color:#5b6bff}.send-prompt-btn{background:linear-gradient(135deg,#5b6bff,#8b5cf6);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:6px;transition:all .2s}.send-prompt-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(91,107,255,.3)}.send-prompt-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.projects-section{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.section-header{justify-content:space-between;margin-bottom:20px}.section-header,.section-title{display:flex;align-items:center}.section-title{font-size:18px;font-weight:600;gap:8px}.section-counter{background:#eef0ff;color:#5b6bff;padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600}.filter-tabs{display:flex;gap:4px;background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:3px}.filter-tab{border:none;background:transparent;padding:5px 12px;border-radius:5px;font-size:12px;cursor:pointer;color:#6b7280;font-weight:500;font-family:inherit}.filter-tab.active{background:#5b6bff;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;transition:all .3s ease}.projects-grid.view-list{grid-template-columns:1fr;gap:12px}.projects-grid.view-list .project-card{flex-direction:row;align-items:center;gap:20px;padding:12px 18px}.projects-grid.view-list .project-card-header{margin-bottom:0;flex-shrink:0}.projects-grid.view-list .project-card-header .project-menu{display:none}.projects-grid.view-list .project-title{margin-bottom:2px;white-space:nowrap}.projects-grid.view-list .project-desc{-webkit-line-clamp:1;line-clamp:1}.projects-grid.view-list .project-stats{margin-left:auto;gap:16px;flex-wrap:nowrap}.projects-grid.view-list .project-footer{width:180px;border-top:none;padding-top:0;margin-top:0;flex-direction:column;align-items:flex-end;gap:4px}.project-card{background:#fff;border:1px solid #e4e7eb;border-radius:12px;padding:18px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:12px;position:relative}.project-card:hover{border-color:#5b6bff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.06)}.project-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.icon-blue{background:#dbeafe;color:#1e40af}.icon-purple{background:#ede9fe;color:#6d28d9}.icon-green{background:#d1fae5;color:#065f46}.icon-amber{background:#fef3c7;color:#92400e}.icon-pink{background:#fce7f3;color:#9d174d}.icon-teal{background:#ccfbf1;color:#115e59}.project-menu{background:transparent;border:none;color:#9ca3af;cursor:pointer;width:28px;height:28px;border-radius:6px;font-size:16px;line-height:1;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:all .2s}.project-menu:hover{background:#f4f5f7;color:#1a1d29}.project-title{font-weight:600;font-size:15px;color:#1a1d29;line-height:1.3;margin-bottom:4px}.project-desc{font-size:12px;color:#6b7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-stats{display:flex;gap:10px;flex-wrap:wrap}.stat-mini{display:flex;align-items:center;gap:4px;font-size:11px;color:#6b7280}.stat-mini strong{color:#1a1d29;font-weight:600}.status-active{background:#d1fae5;color:#065f46}.status-draft{background:#f3f4f6;color:#4b5563}.status-archived{background:#fef3c7;color:#92400e}.status-shared{background:#ede9fe;color:#6d28d9}.section-actions{display:flex;gap:8px;align-items:center}.view-toggle{display:flex;background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:3px}.view-toggle button{border:none;background:transparent;padding:5px 8px;border-radius:4px;cursor:pointer;color:#6b7280;font-size:14px;font-family:inherit;line-height:1}.view-toggle button.active{background:#f4f5f7;color:#1a1d29}.new-project-card{background:#fff;border:2px dashed #d1d5db;border-radius:12px;padding:28px 18px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#6b7280;min-height:220px}.new-project-card:hover{color:#5b6bff}.new-project-icon{width:44px;height:44px;background:#f4f5f7;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#6b7280;margin-bottom:12px;transition:all .2s}.new-project-card:hover{background:#eef0ff;border-color:#5b6bff}.new-project-card:hover .new-project-icon{background:#fff;color:#5b6bff}.canvas-left{width:440px;height:100%;background:#fff;border-right:1px solid #e4e7eb;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.canvas-title{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}.chat-ai-badge{background:linear-gradient(135deg,#5b6bff,#8b5cf6);color:#fff;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600}.quick-action{background:#fff;border:1px solid #e4e7eb;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;gap:8px;font-family:inherit;font-size:12px;color:#1a1d29;text-align:left;transition:all .15s}.quick-action:hover{border-color:#5b6bff;background:#eef0ff;transform:translateY(-1px);box-shadow:0 2px 6px rgba(91,107,255,.1)}.quick-action-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.quick-action-icon.prd{background:#dbeafe;color:#1e40af}.quick-action-icon.us{background:#ede9fe;color:#6d28d9}.quick-action-icon.exg{background:#fef3c7;color:#92400e}.quick-action-icon.test{background:#d1fae5;color:#065f46}.artifact-tab{background:transparent;border:none;border-bottom:2px solid transparent;padding:0 16px;font-size:13px;cursor:pointer;color:#6b7280;font-weight:500;font-family:inherit;display:flex;align-items:center;gap:6px;height:100%;transition:all .2s}.artifact-tab.active{color:#5b6bff;border-bottom-color:#5b6bff}.artifact-tab .count{background:#eef0ff;color:#5b6bff;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.artifact-tab.active .count{background:#5b6bff;color:#fff}.artifact-content{flex:1 1;overflow-y:auto;padding:16px 20px}.prd-section{background:#fff;border:1px solid #eef0ff;border-radius:8px;overflow:hidden;transition:all .2s}.prd-section:hover{border-color:#e4e7eb}.prd-section-head{padding:9px 12px 4px;display:flex;align-items:center;justify-content:space-between}.prd-section-content{padding:3px 12px 9px}.section-action-btn{background:#f8fafc;border:1px solid #f1f5f9;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-family:inherit;transition:all .15s}.section-action-btn.regen{color:#8b5cf6}.section-action-btn.regen:hover{background:#f5f3ff;border-color:#ddd6fe}.section-action-btn.edit{color:#f59e0b}.section-action-btn.edit:hover{background:#fffbeb;border-color:#fef3c7}.prd-section-content ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1px}.prd-section-content li{list-style-type:none;position:relative;padding-left:1.1rem;font-size:13px;color:#374151;line-height:1.4}.prd-section-content li:before{content:"•";position:absolute;left:.2rem;color:#1a1d29;font-weight:700}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(.95)}}@keyframes dotPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}@keyframes streamProgress{0%{width:0;margin-left:0}50%{width:60%;margin-left:20%}to{width:0;margin-left:100%}}