.sidebar{display:flex;flex-direction:column;background-color:var(--color-cream-100);color:var(--color-text-primary);transition:width var(--transition-normal);overflow:hidden;border-right:1px solid var(--color-border)}.sidebar.expanded{width:var(--sidebar-width)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-content{padding-top:var(--space-4);flex:1;overflow-y:auto;padding:var(--space-2)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text-primary);background-color:transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:400;text-align:left;transition:background-color var(--transition-fast)}.nav-item:hover{background-color:#0000000d}.nav-item.active{background-color:#00000014}.nav-item.new-chat{font-weight:500}.nav-icon{font-size:var(--text-base);width:20px;text-align:center}.nav-label{flex:1}.sidebar-recents{margin-top:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-2)}.recents-header{font-size:var(--text-xs);font-weight:500;color:var(--color-text-tertiary);padding:var(--space-2) var(--space-3)}.recents-list{display:flex;flex-direction:column;gap:0}.recent-item{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);position:relative}.recent-item:hover{background-color:#0000000d}.recent-item.active{background-color:#00000014}.recent-title{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary);flex:1;min-width:0}.recent-menu-btn{opacity:0;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:var(--text-sm);letter-spacing:1px;transition:opacity var(--transition-fast),background-color var(--transition-fast);background:transparent;padding:0;line-height:1}.recent-item:hover .recent-menu-btn,.recent-menu-btn:focus{opacity:1}.recent-menu-btn:hover{background-color:#00000014;color:var(--color-text-primary)}.recent-menu{position:absolute;right:var(--space-2);top:100%;z-index:50;background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-1);min-width:120px}.recent-menu-item{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);background:transparent;border-radius:var(--radius-md);text-align:left;transition:background-color var(--transition-fast)}.recent-menu-item:hover{background-color:var(--color-gray-100)}.recent-menu-item.danger{color:var(--color-red-600)}.recent-menu-item.danger:hover{background-color:var(--color-red-50)}.rename-input{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);font-family:inherit;border:1px solid var(--color-border-focus);border-radius:var(--radius-sm);outline:none;background:var(--color-white);color:var(--color-text-primary)}.sidebar-recents-collapsed{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.recent-dot{font-size:var(--text-sm);padding:var(--space-2);border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.recent-dot:hover{background-color:#0000000d}.chat-input-area{flex:1;display:flex;align-items:center}.chat-input-area .chat-input-wrapper{flex:1;display:flex;align-items:center;background:transparent}.chat-input{flex:1;border:none;background:transparent;resize:none;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);min-height:24px;max-height:200px;padding:0;margin:0}.chat-input:focus{outline:none}.chat-input:disabled{cursor:not-allowed;opacity:.6}.chat-input::placeholder{color:var(--color-text-tertiary)}.chat-input-actions{display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-3)}.attach-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:transparent;border:none;cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast)}.attach-btn:hover{background-color:var(--color-bg-secondary);color:var(--color-text-primary)}.attach-btn:disabled{opacity:.3;cursor:not-allowed}.send-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-cream-200);border:none;cursor:not-allowed;color:var(--color-text-tertiary);transition:all var(--transition-fast)}.send-btn.active{background:#c4a484;color:#fff;cursor:pointer}.send-btn.active:hover{background:#b8956f}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{stroke-width:2.5}.image-uploader{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;background:transparent}.image-uploader:hover{background-color:var(--color-bg-secondary)}.image-uploader.active{background-color:var(--color-blue-50)}.image-uploader.uploading{cursor:wait;opacity:.7}.upload-icon{font-size:var(--text-lg);color:var(--color-text-tertiary)}.image-uploader:hover .upload-icon{color:var(--color-text-secondary)}.chat-input-box-container{width:100%}.chat-input-box-container .image-preview{position:relative;display:inline-block;margin-bottom:var(--space-3)}.chat-input-box-container .image-preview img{max-height:100px;border-radius:var(--radius-md)}.chat-input-box-container .pdf-preview{padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.chat-input-box-container .remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--color-gray-800);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}.chat-input-box-container .remove-image:hover{background:var(--color-red-500)}.chat-input-box-container .input-box{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);transition:opacity var(--transition-fast),background-color var(--transition-fast)}.chat-input-box-container .input-box.disabled{opacity:.6;background:var(--color-bg-secondary)}.chat-input-box-container .input-box-top{width:100%}.chat-input-box-container .input-box-top .chat-input-area{padding:0}.chat-input-box-container .input-box-top .chat-input-wrapper{border:none;background:transparent;padding:0}.chat-input-box-container .input-box-top .chat-input{border:none;background:transparent;padding:0;min-height:20px;font-size:var(--text-base)}.chat-input-box-container .input-box-top .chat-input-actions{display:none}.chat-input-box-container .input-box-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-1)}.chat-input-box-container .input-box-right{display:flex;align-items:center;gap:var(--space-2)}.chat-input-box-container .llm-selector{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer}.chat-input-box-container .llm-selector:hover{border-color:var(--color-border-focus)}.chat-input-box-container .send-btn{width:32px;height:32px;border-radius:50%;background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:none;cursor:pointer}.chat-input-box-container .send-btn.active{background-color:#c4a484;color:#fff}.chat-input-box-container .send-btn.active:hover{background-color:#b8956f}.chat-input-box-container .send-btn.loading{background-color:#e57373;color:#fff;cursor:pointer}.chat-input-box-container .send-btn.loading:hover{background-color:#ef5350}.chat-input-box-container .send-btn:disabled{opacity:.5;cursor:not-allowed}.chat-input-box-container .input-disclaimer{text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.chat-interface{display:flex;flex-direction:column;height:100%;background-color:#faf8f5;position:relative}.chat-interface.drag-over:after{content:"Drop image or video here";position:absolute;top:0;right:0;bottom:0;left:0;background:#da775626;border:3px dashed var(--color-primary, #DA7756);border-radius:var(--radius-lg, 12px);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg, 18px);font-weight:600;color:var(--color-primary, #DA7756);z-index:100;pointer-events:none}.chat-header{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.chat-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm)}.breadcrumb-link{color:var(--color-text-secondary);transition:color var(--transition-fast)}.breadcrumb-link:hover{color:var(--color-text-primary)}.breadcrumb-separator{color:var(--color-text-tertiary)}.breadcrumb-current{color:var(--color-text-primary);font-weight:500}.chat-header-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.sheet-badge,.active-tab{font-size:var(--text-xs);color:var(--color-text-secondary);background-color:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-8)}.empty-icon{font-size:4rem;margin-bottom:var(--space-4)}.chat-empty-state h2{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.chat-empty-state p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.empty-hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.messages-container{flex:1;overflow-y:auto;padding:var(--space-6);max-width:900px;margin:0 auto;width:100%}.chat-starter{text-align:center;color:var(--color-text-secondary);padding:var(--space-8)}.chat-starter ul{list-style:none;margin-top:var(--space-4)}.chat-starter li{padding:var(--space-2);margin:var(--space-2) 0;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-sm)}.message{display:flex;gap:var(--space-3);margin-bottom:var(--space-5)}.message-wrapper{flex:1;min-width:0}.message.user{flex-direction:row-reverse;justify-content:flex-start}.message.user .message-wrapper{display:flex;flex-direction:column;align-items:flex-end}.message.assistant .message-content{background-color:transparent;padding:0;border-radius:0;max-width:100%;line-height:var(--leading-relaxed)}.message.user .message-content{background-color:#f0ede8;color:var(--color-text-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);max-width:80%}.message.error .message-content{background-color:var(--color-red-50);color:var(--color-red-600);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg)}.message.loading .message-content,.message.streaming .message-content{background-color:transparent;padding:0}.message-content p{margin:0}.message-content p+p{margin-top:var(--space-3)}.message-content ul,.message-content ol{margin:var(--space-3) 0;padding-left:var(--space-5)}.message-content ul{list-style-type:disc}.message-content ol{list-style-type:decimal}.message-content li{margin:var(--space-2) 0;line-height:var(--leading-relaxed)}.message-content li>p{margin:0}.message-content ul ul,.message-content ol ol,.message-content ul ol,.message-content ol ul{margin:var(--space-1) 0}.message-content code{font-family:var(--font-mono);font-size:.9em;background-color:var(--color-bg-tertiary, rgba(0, 0, 0, .05));padding:2px 6px;border-radius:var(--radius-sm)}.message-content pre{background-color:var(--color-bg-tertiary, #f5f5f5);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-3) 0}.message-content pre code{background:none;padding:0;font-size:var(--text-sm)}.message-content blockquote{border-left:3px solid var(--color-accent);margin:var(--space-3) 0;padding:var(--space-2) var(--space-4);background-color:var(--color-bg-tertiary, rgba(0, 0, 0, .02));border-radius:0 var(--radius-sm) var(--radius-sm) 0}.message-content blockquote p{color:var(--color-text-secondary)}.message-content strong{font-weight:600}.message-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}.message-content table{border-collapse:collapse;margin:var(--space-3) 0;width:100%}.message-content th,.message-content td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left}.message-content th{background-color:var(--color-bg-tertiary, #f5f5f5);font-weight:600}.message-image{max-width:200px;border-radius:var(--radius-md);margin-bottom:var(--space-2)}.message-generated-image{max-width:400px;border-radius:var(--radius-md);margin-bottom:var(--space-2)}.message-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.message:hover .message-actions{opacity:1}.msg-action-btn{font-size:14px;padding:var(--space-1);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);border:none;cursor:pointer;transition:all var(--transition-fast);line-height:1}.msg-action-btn:hover{color:var(--color-text-secondary);background-color:#0000000d}.message.user .message-actions{justify-content:flex-end}.message.user .msg-action-btn{color:var(--color-text-tertiary)}.message.user .msg-action-btn:hover{color:var(--color-text-secondary);background-color:#0000000d}.cursor{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.thinking-dots span{animation:dots 1.4s infinite;opacity:0}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes dots{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.thinking-message{color:var(--color-text-secondary);font-style:italic;animation:pulse-opacity 2s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:.7}50%{opacity:1}}.chat-input-container{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background-color:#faf8f5;max-width:900px;margin:0 auto;width:100%}.image-preview{position:relative;display:inline-block;margin-bottom:var(--space-3)}.image-preview img{max-height:100px;border-radius:var(--radius-md)}.remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background-color:var(--color-gray-800);color:var(--color-text-inverse);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.input-box{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);transition:opacity var(--transition-fast),background-color var(--transition-fast)}.input-box.disabled{opacity:.6;background:var(--color-bg-secondary)}.input-box-top{width:100%}.input-box-top .chat-input-area{padding:0}.input-box-top .chat-input-wrapper{border:none;background:transparent;padding:0}.input-box-top .chat-input{border:none;background:transparent;padding:0;min-height:20px;font-size:var(--text-base)}.input-box-top .chat-input-actions{display:none}.input-box-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-1)}.input-box-right{display:flex;align-items:center;gap:var(--space-2)}.input-disclaimer{text-align:center;font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-2)}.input-row:focus-within{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #0000000d}.llm-selector{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background-color:transparent;color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;outline:none}.llm-selector:hover{color:var(--color-text-primary)}.input-box .send-btn{width:32px;height:32px;border-radius:50%;background-color:var(--color-bg-tertiary);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:none;cursor:pointer}.input-box .send-btn.active{background-color:#c4a484;color:#fff}.input-box .send-btn.active:hover{background-color:#b8956f}.input-box .send-btn.loading{background-color:#e57373;color:#fff;cursor:pointer}.input-box .send-btn.loading:hover{background-color:#ef5350}.input-box .send-btn:disabled{opacity:.5;cursor:not-allowed}.stop-btn{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:background-color var(--transition-fast)}.stop-btn{background-color:var(--color-red-500);color:var(--color-text-inverse)}.stop-btn:hover{background-color:var(--color-red-600)}.sheet-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0;padding-left:48px}.sheet-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.sheet-option:hover{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.sheet-icon{font-size:var(--text-lg)}.sheet-name{font-weight:500;font-size:var(--text-sm)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-6);width:90%;max-width:400px;box-shadow:var(--shadow-lg)}.modal-content h3{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-4)}.modal-content input{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);margin-bottom:var(--space-4)}.modal-content input:focus{outline:none;border-color:var(--color-accent)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.modal-cancel,.modal-create{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-weight:500;transition:all var(--transition-fast)}.modal-cancel{color:var(--color-text-secondary);background-color:var(--color-bg-secondary)}.modal-cancel:hover{background-color:var(--color-bg-tertiary)}.modal-create{background-color:var(--color-accent);color:var(--color-text-inverse)}.modal-create:hover:not(:disabled){background-color:var(--color-accent-hover)}.modal-create:disabled{opacity:.5;cursor:not-allowed}.projects-grid-container{display:flex;flex-direction:column;height:100%;width:100%;background-color:var(--color-bg-primary);padding:var(--space-6)}.projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.projects-header h1{font-size:var(--text-2xl);font-weight:600}.projects-header .new-project-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background-color:var(--color-gray-900);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;transition:background-color var(--transition-fast)}.projects-header .new-project-btn:hover{background-color:var(--color-black)}.projects-search{position:relative;margin-bottom:var(--space-4);width:100%}.projects-search .search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:var(--text-sm)}.projects-search input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:var(--text-base);background-color:var(--color-bg-primary)}.projects-search input:focus{outline:none;border-color:var(--color-border-focus)}.projects-sort{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.sort-label{font-size:var(--text-sm);color:var(--color-text-tertiary)}.sort-select{padding:var(--space-1) var(--space-2);border:none;background:transparent;font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer}.sort-select:focus{outline:none}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);flex:1;overflow-y:auto;max-width:900px}.project-card{display:flex;flex-direction:column;padding:var(--space-4);background-color:var(--color-cream-100);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);height:140px;max-height:140px;position:relative;overflow:hidden}.project-card:hover{background-color:var(--color-cream-200)}.project-card-content{flex:1;display:flex;flex-direction:column}.project-card-name{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-edit{width:100%;padding:var(--space-2);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;background:var(--color-bg-primary)}.project-card-time{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:auto;padding-top:var(--space-4)}.project-card-actions{position:absolute;top:var(--space-3);right:var(--space-3);display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.project-card:hover .project-card-actions{opacity:1}.project-card-action{padding:var(--space-1);border-radius:var(--radius-sm);font-size:var(--text-xs);transition:background-color var(--transition-fast)}.project-card-action:hover{background-color:#0000001a}.project-card-action.delete:hover{background-color:var(--color-red-100)}.no-projects{grid-column:1 / -1;text-align:center;padding:var(--space-12);color:var(--color-text-secondary)}.no-projects .hint{font-size:var(--text-sm);color:var(--color-text-tertiary);margin-top:var(--space-2)}@media (max-width: 800px){.projects-grid{grid-template-columns:1fr;max-width:none}}.project-page{display:flex;flex:1;width:100%;height:100%;background-color:var(--color-bg-primary)}.project-main{flex:1;display:flex;flex-direction:column;padding:var(--space-6);overflow-y:auto}.project-nav{margin-bottom:var(--space-4)}.back-link{color:var(--color-text-secondary);font-size:var(--text-sm);transition:color var(--transition-fast)}.back-link:hover{color:var(--color-text-primary)}.project-title{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-6)}.project-input-container{margin-bottom:var(--space-6)}.project-sessions{flex:1}.no-sessions{text-align:center;padding:var(--space-8);color:var(--color-text-tertiary);font-size:var(--text-sm)}.session-row{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.session-row:hover{background-color:var(--color-bg-secondary);margin:0 calc(-1 * var(--space-4));padding:var(--space-4)}.session-row-title{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-1)}.session-row-meta{font-size:var(--text-sm);color:var(--color-text-tertiary)}.project-sidebar{width:320px;min-width:320px;border-left:1px solid var(--color-border);background-color:var(--color-bg-secondary);overflow-y:auto;flex-shrink:0;margin-left:auto}.sidebar-section{border-bottom:1px solid var(--color-border)}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--space-4);font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;transition:background-color var(--transition-fast)}.sidebar-section-header:hover{background-color:var(--color-bg-tertiary)}.expand-icon{color:var(--color-text-tertiary);font-weight:400}.sidebar-section-content{padding:var(--space-3)}.sidebar-section-content .instructions-textarea,.sidebar-section-content .file-dropzone{width:100%;box-sizing:border-box}.instructions-textarea{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-family:var(--font-sans);background-color:var(--color-bg-primary);resize:vertical;line-height:var(--leading-normal)}.instructions-textarea:focus{outline:none;border-color:var(--color-border-focus)}.instructions-textarea::placeholder{color:var(--color-text-tertiary)}.project-sidebar .file-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-3)}.project-sidebar .file-dropzone:hover,.project-sidebar .file-dropzone.active{border-color:var(--color-accent);background-color:var(--color-bg-primary)}.project-sidebar .file-dropzone p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.project-sidebar .file-list{display:flex;flex-direction:column;gap:var(--space-2)}.project-sidebar .file-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background-color:var(--color-bg-primary);border-radius:var(--radius-md)}.project-sidebar .file-icon{font-size:var(--text-base);flex-shrink:0}.project-sidebar .file-info{flex:1;min-width:0}.project-sidebar .file-name{display:block;font-size:var(--text-xs);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-sidebar .file-meta{font-size:var(--text-xs);color:var(--color-text-tertiary)}.project-sidebar .file-remove{padding:var(--space-1);color:var(--color-text-tertiary);font-size:var(--text-sm);opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.project-sidebar .file-item:hover .file-remove{opacity:1}.project-sidebar .file-remove:hover{color:var(--color-red-500)}.project-page-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--color-text-secondary)}.project-page-empty button{color:var(--color-accent)}@media (max-width: 900px){.project-sidebar{display:none}.project-main{max-width:none}}.login-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 20px 60px #0003;text-align:center;max-width:400px;width:90%}.login-logo{font-size:4rem;margin-bottom:1rem}.login-card h1{margin:0 0 .5rem;font-size:2rem;color:#1a1a2e}.login-card>p{color:#666;margin:0 0 2rem}.login-button{display:inline-flex;align-items:center;gap:12px;padding:14px 28px;font-size:1rem;font-weight:500;color:#333;background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s}.login-button:hover{border-color:#4285f4;box-shadow:0 4px 12px #4285f433}.login-button svg{flex-shrink:0}.login-note{margin-top:1.5rem;font-size:.85rem;color:#888}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#f8f9fa}.loading-spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading p{margin-top:1rem;color:#666}.user-bar{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #e0e0e0;font-size:.9rem}.user-email{color:#666}.logout-btn{padding:6px 12px;font-size:.85rem;color:#666;background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .2s}.logout-btn:hover{color:#333;border-color:#999}:root{--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-blue-50: #eff6ff;--color-blue-100: #dbeafe;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--color-green-50: #f0fdf4;--color-green-500: #22c55e;--color-green-600: #16a34a;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-cream-50: #faf9f7;--color-cream-100: #f5f3ef;--color-cream-200: #ebe7e0;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-bg-sidebar: var(--color-gray-900);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-white);--color-border: var(--color-gray-200);--color-border-hover: var(--color-gray-300);--color-border-focus: var(--color-blue-500);--color-accent: var(--color-blue-600);--color-accent-hover: var(--color-blue-700);--color-success: var(--color-green-500);--color-error: var(--color-red-500);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--sidebar-width: 280px;--sidebar-collapsed-width: 60px;--header-height: 56px;--input-height: 120px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.app{display:flex;width:100vw;height:100vh;overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-content>*{width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}button{font-family:inherit;font-size:inherit;border:none;background:none;cursor:pointer}input,textarea{font-family:inherit;font-size:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);outline:none;transition:border-color var(--transition-fast)}input:focus,textarea:focus{border-color:var(--color-border-focus)}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:var(--space-8)}.welcome-icon{font-size:4rem;margin-bottom:var(--space-4)}.welcome-screen h2{font-size:var(--text-2xl);margin-bottom:var(--space-2)}.welcome-screen p{color:var(--color-text-secondary);margin-bottom:var(--space-2)}.welcome-hint{font-size:var(--text-sm);color:var(--color-text-tertiary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
