:root{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-tertiary:#1c1c2a;--bg-elevated:#24243a;--bg-surface:#ffffff0a;--bg-glass:#ffffff0f;--bg-glass-hover:#ffffff1a;--bg-glass-active:#ffffff24;--accent-primary:#7c5cfc;--accent-primary-glow:#7c5cfc40;--accent-secondary:#00d4aa;--accent-secondary-glow:#00d4aa33;--accent-warning:#ffb347;--accent-danger:#ff4d6a;--accent-info:#4da6ff;--text-primary:#f0f0f5;--text-secondary:#a8a8bb;--text-tertiary:#7a7a90;--text-inverse:#0a0a0f;--border-default:#ffffff1f;--border-hover:#ffffff38;--border-active:#7c5cfc80;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-glow:0 0 20px var(--accent-primary-glow);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-xs:.6875rem;--font-sm:.8125rem;--font-base:.9375rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-3xl:2.5rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--sidebar-width:260px;--header-height:60px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}a{color:var(--accent-primary);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}.loading-screen{justify-content:center;align-items:center;gap:var(--space-md);height:100vh;color:var(--text-secondary);font-size:var(--font-sm);flex-direction:column;display:flex}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--accent-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-default);z-index:100;transition:transform var(--transition-normal);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{padding:var(--space-lg);border-bottom:1px solid var(--border-default);align-items:center;gap:var(--space-sm);display:flex}.sidebar-brand svg{flex-shrink:0}.sidebar-brand h1{font-size:var(--font-lg);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.sidebar-nav{padding:var(--space-md) var(--space-sm);gap:var(--space-xs);flex-direction:column;flex:1;display:flex}.nav-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;width:100%;font-weight:500;display:flex}.nav-item:hover{background:var(--bg-glass-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-primary-glow);color:var(--accent-primary)}.nav-item svg{flex-shrink:0;width:18px;height:18px}.nav-section-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-lg) var(--space-md) var(--space-xs);font-weight:600}.sidebar-footer{padding:var(--space-md);border-top:1px solid var(--border-default)}.user-badge{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex}.user-badge:hover{background:var(--bg-glass-hover)}.user-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:32px;height:32px;font-weight:700;font-size:var(--font-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-info{overflow:hidden}.user-info .name{font-size:var(--font-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-info .role{font-size:var(--font-xs);color:var(--text-tertiary)}.main-content{margin-left:var(--sidebar-width);flex:1;min-height:100vh}.page-header{padding:var(--space-lg) var(--space-2xl);border-bottom:1px solid var(--border-default);background:var(--bg-secondary);z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.page-header-inner{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;display:flex}.page-header h2{font-size:var(--font-xl);font-weight:700}.page-header .subtitle{font-size:var(--font-sm);color:var(--text-secondary);margin-top:2px}.page-body{padding:var(--space-2xl);max-width:1400px;margin:0 auto}.card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md), 0 0 0 1px #7c5cfc1a;transform:translateY(-1px)}.card-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--font-lg);font-weight:600}.stats-row{gap:var(--space-lg);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);min-width:180px;padding:var(--space-lg);gap:var(--space-xs);transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));opacity:.8;height:3px;transition:opacity var(--transition-fast);position:absolute;top:0;left:0;right:0}.stat-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md), 0 0 16px var(--accent-primary-glow);transform:translateY(-3px)}.stat-card:hover:before{opacity:1}.stat-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-glass);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;font-weight:500;display:inline-flex}.btn:hover{background:var(--bg-glass-hover);border-color:var(--border-hover);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:0 2px 8px var(--accent-primary-glow)}.btn-primary:hover{box-shadow:0 4px 16px var(--accent-primary-glow);background:#6a4ae8;border-color:#6a4ae8}.btn-success{background:var(--accent-secondary);border-color:var(--accent-secondary);color:var(--text-inverse)}.btn-success:hover{background:#00c09a;border-color:#00c09a}.btn-danger{border-color:var(--accent-danger);color:var(--accent-danger);background:0 0}.btn-danger:hover{background:#ff4d6a1a}.btn-warning{background:var(--accent-warning);border-color:var(--accent-warning);color:var(--text-inverse)}.btn-sm{font-size:var(--font-xs);padding:4px 10px}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-base);border-radius:var(--radius-lg)}.btn-icon{padding:var(--space-sm);background:0 0;border:none}.btn-icon:hover{background:var(--bg-glass-hover)}.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none!important}.form-group{margin-bottom:var(--space-md)}.form-label{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-xs);font-weight:500;display:block}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.form-textarea{resize:vertical;min-height:100px;line-height:1.6}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.badge{border-radius:var(--radius-full);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.badge-draft{color:var(--text-secondary);background:#9898a826}.badge-approved{color:var(--accent-secondary);background:#00d4aa26}.badge-prompting{color:var(--accent-primary);background:#7c5cfc26}.badge-generating{color:var(--accent-warning);background:#ffb34726}.badge-review{color:var(--accent-info);background:#4da6ff26}.badge-revising{color:var(--accent-warning);background:#ffb34726}.badge-finalized{color:var(--accent-secondary);background:#00d4aa26}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-generating .badge-dot{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.kanban-board{gap:var(--space-md);padding-bottom:var(--space-md);display:flex;overflow-x:auto}.kanban-column{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg);flex-direction:column;flex:0 0 280px;max-height:calc(100vh - 200px);display:flex}.kanban-column-header{padding:var(--space-md);border-bottom:1px solid var(--border-default);font-weight:600;font-size:var(--font-sm);justify-content:space-between;align-items:center;display:flex}.kanban-column-header .count{background:var(--bg-glass-active);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--text-secondary);padding:2px 8px}.kanban-column-body{padding:var(--space-sm);gap:var(--space-sm);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);position:relative}.kanban-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md), 0 0 12px var(--accent-primary-glow);transform:translateY(-2px)}.kanban-card-title{font-weight:600;font-size:var(--font-sm);margin-bottom:var(--space-xs)}.kanban-card-meta{font-size:var(--font-xs);color:var(--text-tertiary);align-items:center;gap:var(--space-sm);display:flex}.ideas-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.idea-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);position:relative}.idea-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md), 0 0 12px var(--accent-primary-glow);transform:translateY(-2px)}.idea-card-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-start;display:flex}.idea-card-title{font-size:var(--font-lg);flex:1;font-weight:600}.idea-card-body{font-size:var(--font-sm);color:var(--text-secondary);margin-bottom:var(--space-md);line-height:1.7}.idea-card-footer{padding-top:var(--space-md);border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.idea-card-meta{font-size:var(--font-xs);color:var(--text-tertiary)}.idea-card-actions{gap:var(--space-xs);display:flex}.project-workspace{gap:var(--space-xl);grid-template-columns:1fr 380px;display:grid}.project-main,.project-sidebar-panel{gap:var(--space-lg);flex-direction:column;display:flex}.prompt-editor-area{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg)}.prompt-input{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);width:100%;min-height:200px;padding:var(--space-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);resize:vertical;line-height:1.7}.prompt-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.prompt-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.asset-display{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden}.asset-display-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.asset-display-body{padding:var(--space-lg);justify-content:center;align-items:center;min-height:300px;display:flex}.asset-display-body img,.asset-display-body video,.asset-display-body audio{border-radius:var(--radius-md);max-width:100%}.asset-placeholder{text-align:center;color:var(--text-tertiary)}.asset-placeholder svg{width:48px;height:48px;margin-bottom:var(--space-md);opacity:.3}.generating-indicator{align-items:center;gap:var(--space-md);padding:var(--space-2xl);flex-direction:column;display:flex}.generating-wave{align-items:center;gap:4px;display:flex}.generating-wave span{background:var(--accent-primary);border-radius:2px;width:4px;height:20px;animation:1.2s ease-in-out infinite wave;display:block}.generating-wave span:nth-child(2){height:30px;animation-delay:.1s}.generating-wave span:nth-child(3){height:24px;animation-delay:.2s}.generating-wave span:nth-child(4){height:34px;animation-delay:.3s}.generating-wave span:nth-child(5){height:18px;animation-delay:.4s}@keyframes wave{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.5)}}.generating-text{color:var(--text-secondary);font-size:var(--font-sm)}.version-timeline{padding-left:var(--space-lg);position:relative}.version-timeline:before{content:"";background:var(--border-default);width:2px;position:absolute;top:0;bottom:0;left:7px}.timeline-item{padding-bottom:var(--space-lg);position:relative}.timeline-item:before{content:"";left:calc(-1 * var(--space-lg) + 3px);background:var(--accent-primary);border:2px solid var(--bg-primary);border-radius:50%;width:10px;height:10px;position:absolute;top:4px}.timeline-item.current:before{box-shadow:0 0 0 4px var(--accent-primary-glow)}.timeline-item-time{font-size:var(--font-xs);color:var(--text-tertiary);margin-bottom:2px}.timeline-item-content{font-size:var(--font-sm);color:var(--text-secondary)}.changelog-list{flex-direction:column;display:flex}.changelog-entry{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-default);gap:var(--space-md);transition:background var(--transition-fast);align-items:flex-start;display:flex}.changelog-entry:hover{background:var(--bg-glass)}.changelog-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));width:28px;height:28px;font-size:var(--font-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.changelog-body{flex:1}.changelog-action{font-size:var(--font-sm)}.changelog-action strong{color:var(--text-primary);font-weight:600}.changelog-time{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:2px}.changelog-detail{margin-top:var(--space-xs);font-size:var(--font-xs);color:var(--text-tertiary);background:var(--bg-tertiary);padding:var(--space-sm);border-radius:var(--radius-sm);white-space:pre-wrap}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:1;transition:opacity var(--transition-normal);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay.hidden{opacity:0;display:none}.modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:90%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);animation:.3s modal-in;overflow:hidden}@keyframes modal-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{padding:var(--space-lg);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--font-lg);font-weight:700}.modal-body{padding:var(--space-lg);max-height:60vh;overflow-y:auto}.modal-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-default);justify-content:flex-end;gap:var(--space-sm);display:flex}#toast-container{top:var(--space-lg);right:var(--space-lg);z-index:999;gap:var(--space-sm);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-sm);font-size:var(--font-sm);pointer-events:auto;min-width:280px;animation:.3s toast-in;display:flex}.toast.toast-success{border-left:3px solid var(--accent-secondary)}.toast.toast-error{border-left:3px solid var(--accent-danger)}.toast.toast-info{border-left:3px solid var(--accent-info)}.toast.toast-warning{border-left:3px solid var(--accent-warning)}.toast.toast-out{animation:.3s forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}.login-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle, var(--accent-primary-glow), transparent 70%);pointer-events:none;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.login-page:after{content:"";background:radial-gradient(circle, var(--accent-secondary-glow), transparent 70%);pointer-events:none;width:400px;height:400px;position:absolute;bottom:-150px;left:-100px}.login-card{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-2xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;width:100%;max-width:420px}.login-card h1{font-size:var(--font-2xl);margin-bottom:var(--space-xs);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:800}.login-card p{color:var(--text-secondary);font-size:var(--font-sm);margin-bottom:var(--space-xl)}.empty-state{padding:var(--space-3xl);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state svg{width:64px;height:64px;color:var(--text-tertiary);opacity:.3;margin-bottom:var(--space-lg)}.empty-state h3{font-size:var(--font-lg);margin-bottom:var(--space-sm)}.empty-state p{color:var(--text-secondary);font-size:var(--font-sm);max-width:400px;margin-bottom:var(--space-lg)}.stats-row{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg)}.stat-value{font-size:var(--font-2xl);color:var(--accent-primary);font-weight:800}.stat-label{font-size:var(--font-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.filter-bar{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.filter-chip{border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-weight:500;font-family:var(--font-family);background:0 0;padding:4px 14px}.filter-chip:hover{border-color:var(--border-hover);color:var(--text-primary)}.filter-chip.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.channels-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.dashboard-channels{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.channel-card{background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-lg);cursor:pointer;transition:all var(--transition-normal);gap:var(--space-md);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.channel-card:before{content:"";background:var(--accent-primary);opacity:.6;width:4px;transition:all var(--transition-normal);position:absolute;top:0;bottom:0;left:0}.channel-card:hover{border-color:var(--border-active);box-shadow:var(--shadow-md), 0 0 16px var(--accent-primary-glow);transform:translateY(-3px)}.channel-card:hover:before{opacity:1;width:6px}.channel-card-avatar{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.channel-card-compact .channel-card-avatar{width:40px;height:40px;font-size:16px}.channel-card-body{flex-direction:column;flex:1;gap:4px;display:flex}.channel-card-name{font-size:var(--font-lg);font-weight:700}.channel-card-compact .channel-card-name{font-size:var(--font-base)}.channel-card-handle{font-size:var(--font-xs);color:var(--text-tertiary)}.channel-card-desc{font-size:var(--font-sm);color:var(--text-secondary);margin-top:4px;line-height:1.5}.channel-card-stats{gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--border-default);display:flex}.channel-card-stat-value{font-size:var(--font-lg);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:700}.channel-card-stat-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.platform-badge{border-radius:var(--radius-full);font-size:var(--font-xs);background:color-mix(in srgb, var(--platform-color,#7c5cfc) 15%, transparent);color:var(--platform-color,#7c5cfc);align-items:center;gap:4px;padding:2px 10px;font-weight:600;display:inline-flex}.platform-badge-icon{font-size:10px}.platform-handle{opacity:.8;font-weight:400}.channel-card-platforms{flex-wrap:wrap;gap:4px;display:flex}.channel-card-handles{gap:var(--space-sm);flex-wrap:wrap;margin-top:2px;display:flex}.channel-handle-item{font-size:var(--font-xs);color:var(--text-tertiary);align-items:center;gap:3px;display:flex}.platform-selector,.platform-option{gap:var(--space-sm);flex-direction:column;display:flex}.platform-check-label{cursor:pointer;align-items:center;display:flex}.platform-check-label input[type=checkbox]{display:none}.platform-check-visual{border-radius:var(--radius-md);border:1px solid var(--border-default);font-size:var(--font-sm);color:var(--text-secondary);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.platform-check-icon{font-size:14px}.platform-check-label input:checked+.platform-check-visual{border-color:var(--platform-color,var(--accent-primary));background:color-mix(in srgb, var(--platform-color,var(--accent-primary)) 15%, transparent);color:var(--platform-color,var(--accent-primary))}.platform-check-visual:hover{border-color:var(--border-hover);background:var(--bg-glass-hover)}.platform-handle-input{padding-left:32px}.platform-handle-input .form-input{max-width:200px}.form-input-sm{font-size:var(--font-xs);padding:6px 10px}.channel-header .page-header-inner{gap:var(--space-md)}.channel-header-left{align-items:center;gap:var(--space-md);display:flex}.channel-header-avatar{border-radius:var(--radius-md);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;display:flex}.channel-tabs{padding:0 var(--space-2xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-default);z-index:40;gap:0;display:flex;position:sticky;top:0}.channel-tab{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);font-family:var(--font-family);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600;display:flex}.channel-tab svg{width:16px;height:16px}.channel-tab:hover{color:var(--text-primary);background:var(--bg-glass)}.channel-tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.color-picker{gap:var(--space-sm);flex-wrap:wrap;display:flex}.color-swatch{border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);border:2px solid #0000}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary), 0 0 0 4px currentColor}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239898a8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.form-select option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}@media (width<=1024px){.project-workspace{grid-template-columns:1fr}.channels-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.page-body{padding:var(--space-lg)}.ideas-grid,.channels-grid{grid-template-columns:1fr}.kanban-board{flex-direction:column}.kanban-column{flex:none}.channel-tabs{padding:0 var(--space-lg);overflow-x:auto}}.project-lock-banner{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--font-sm);color:var(--accent-warning);background:#ffb3471f;border:1px solid #ffb3474d;font-weight:500;animation:.3s slideDown;display:flex}.project-lock-banner span:first-child{flex-shrink:0;font-size:1.2em}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.connected-users-bar{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-bottom:var(--space-md);display:flex}.project-readonly input,.project-readonly textarea,.project-readonly select{opacity:.5;pointer-events:none;cursor:not-allowed}.project-readonly .btn-primary,.project-readonly .btn-success,.project-readonly #generate-btn,.project-readonly #save-prompt-btn,.project-readonly #finalize-btn,.project-readonly #new-folder-btn{opacity:.3;pointer-events:none;cursor:not-allowed}.hidden{display:none!important}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-sm{font-size:var(--font-sm)}.text-xs{font-size:var(--font-xs)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.w-full{width:100%}.chat-fab{bottom:var(--space-xl);right:var(--space-xl);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-primary), #9b7dfc);color:#fff;cursor:pointer;z-index:150;width:56px;height:56px;box-shadow:0 4px 20px var(--accent-primary-glow), 0 2px 8px #0000004d;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;animation:.5s cubic-bezier(.34,1.56,.64,1) both fab-entrance;display:flex;position:fixed}.chat-fab svg{width:24px;height:24px;transition:transform var(--transition-normal)}.chat-fab:hover{box-shadow:0 6px 28px var(--accent-primary-glow), 0 4px 12px #0006;transform:scale(1.08)}.chat-fab:active{transform:scale(.95)}.chat-fab.active{background:linear-gradient(135deg, var(--accent-danger), #ff6b8a);box-shadow:0 4px 20px #ff4d6a4d}.chat-fab.active svg{transform:rotate(45deg)}@keyframes fab-entrance{0%{opacity:0;transform:scale(.3)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}.chat-fab:after{content:"";border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-primary), #9b7dfc);opacity:0;z-index:-1;animation:3s ease-in-out infinite fab-pulse;position:absolute;inset:-4px}@keyframes fab-pulse{0%,to{opacity:0;transform:scale(1)}50%{opacity:.15;transform:scale(1.2)}}.chat-fab.active:after{animation:none}.chat-panel{background:var(--bg-secondary);border-left:1px solid var(--border-default);z-index:160;flex-direction:column;width:420px;max-width:100vw;transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-8px 0 40px #0006}.chat-panel.open{transform:translate(0)}.chat-panel-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-default);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chat-panel-title{align-items:center;gap:var(--space-sm);font-weight:700;font-size:var(--font-base);display:flex}.chat-panel-title svg{width:20px;height:20px;color:var(--accent-primary)}.chat-panel-controls{align-items:center;gap:var(--space-sm);display:flex}.chat-close-btn svg{width:18px;height:18px}.model-selector-wrap{position:relative}.model-selector{appearance:none;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-xs);cursor:pointer;transition:all var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239898a8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding:6px 28px 6px 10px;font-weight:600}.model-selector:hover{border-color:var(--border-hover)}.model-selector:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow);outline:none}.model-selector option{background:var(--bg-secondary);color:var(--text-primary);padding:8px}.chat-messages{padding:var(--space-lg);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-message{gap:var(--space-sm);animation:.3s both message-in;display:flex}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{flex-direction:row-reverse}.chat-message-avatar{border-radius:var(--radius-full);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.chat-message-bubble{max-width:85%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);line-height:1.6;font-size:var(--font-sm)}.chat-message-user .chat-message-bubble{background:var(--accent-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-message-ai .chat-message-bubble{background:var(--bg-glass);border:1px solid var(--border-default);color:var(--text-primary);border-bottom-left-radius:var(--radius-sm)}.chat-message-content{word-break:break-word}.chat-message-content strong{color:inherit;font-weight:700}.chat-message-content em{opacity:.9;font-style:italic}.chat-message-model{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:4px}.chat-code-block{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) 0;font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--font-xs);white-space:pre-wrap;display:block;overflow-x:auto}.chat-inline-code{background:#ffffff14;border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85em}.chat-typing{gap:4px;padding:4px 0;display:flex}.chat-typing span{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite chat-typing-bounce}.chat-typing span:nth-child(2){animation-delay:.16s}.chat-typing span:nth-child(3){animation-delay:.32s}@keyframes chat-typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-input-area{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-default);background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0}.chat-input-wrap{align-items:flex-end;gap:var(--space-sm);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-sm);transition:border-color var(--transition-fast);display:flex}.chat-input-wrap:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}.chat-input{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-sm);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:120px;padding:4px 8px;line-height:1.5}.chat-input::placeholder{color:var(--text-tertiary)}.chat-send-btn{border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn svg{width:16px;height:16px}.chat-send-btn:hover{background:#6a4ae8;transform:scale(1.05)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chat-input-hint{color:var(--text-tertiary);align-items:center;gap:6px;margin-top:6px;padding-left:4px;font-size:10px;display:flex}.chat-provider-indicator{border-radius:50%;flex-shrink:0;width:6px;height:6px}.chat-welcome{text-align:center;padding:var(--space-2xl) var(--space-lg);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.chat-welcome-icon{width:48px;height:48px;margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.chat-welcome-icon svg{width:40px;height:40px;color:var(--accent-primary);opacity:.6}.chat-welcome h3{font-size:var(--font-lg);margin-bottom:var(--space-sm);font-weight:700}.chat-welcome p{font-size:var(--font-sm);color:var(--text-secondary);max-width:320px;margin-bottom:var(--space-md);line-height:1.6}.chat-suggestions{gap:var(--space-sm);flex-direction:column;width:100%;max-width:300px;display:flex}.chat-suggestion-chip{padding:var(--space-sm) var(--space-md);background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-xs);cursor:pointer;transition:all var(--transition-fast);text-align:left}.chat-suggestion-chip:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-glass-hover);transform:translate(4px)}.api-keys-list{gap:var(--space-sm);flex-direction:column;display:flex}.api-key-row{background:var(--bg-glass);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--space-md);transition:border-color var(--transition-fast)}.api-key-row:hover{border-color:var(--border-hover)}.api-key-provider{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.provider-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.api-key-provider-name{font-size:var(--font-sm);font-weight:600}.api-key-provider-desc{font-size:var(--font-xs);color:var(--text-tertiary)}.provider-configured{font-size:var(--font-xs);color:var(--accent-secondary);margin-left:auto;font-weight:600}.api-key-input-row{align-items:center;gap:var(--space-sm);display:flex}.api-key-input-wrap{flex:1;align-items:center;display:flex;position:relative}.api-key-input-wrap .form-input{font-family:JetBrains Mono,Fira Code,monospace;font-size:var(--font-xs);letter-spacing:.02em;padding-right:36px}.api-key-input-wrap .api-key-toggle{padding:6px;position:absolute;right:2px}.api-key-input-wrap .api-key-toggle svg{opacity:.5;width:14px;height:14px}@media (width<=480px){.chat-panel{width:100vw}.chat-fab{bottom:var(--space-md);right:var(--space-md);width:48px;height:48px}.chat-fab svg{width:20px;height:20px}}
