.layout{min-height:100vh;display:flex;flex-direction:column}.header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-content{max-width:1600px;margin:0 auto;padding:var(--space-16) var(--space-24);display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:20px;font-weight:600;color:var(--color-text)}.logo:hover{text-decoration:none}.nav{display:flex;gap:var(--space-16);align-items:center}.nav a{color:var(--color-text-secondary);font-size:14px;font-weight:500;transition:color .15s}.nav a:hover{color:var(--color-text);text-decoration:none}.btn-primary{background-color:var(--color-primary);color:#fff;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-weight:500}.btn-primary:hover{background-color:var(--color-primary-hover);text-decoration:none}.main-content{flex:1;max-width:1600px;margin:0 auto;padding:var(--space-24);width:100%}.footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-24);text-align:center;color:var(--color-text-secondary);font-size:12px}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);background:none;border:1px solid var(--color-border);border-radius:var(--radius-base);color:var(--color-text);cursor:pointer;transition:all .2s}.user-menu-trigger:hover{background:var(--color-background);border-color:var(--color-primary)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff}.user-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);box-shadow:0 4px 12px #0000001a;z-index:1000;overflow:hidden}.menu-item{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);width:100%;background:none;border:none;text-align:left;color:var(--color-text);font-size:14px;cursor:pointer;transition:background .2s}.menu-item:hover{background:#32808d0d;text-decoration:none}.menu-divider{height:1px;background:var(--color-border);margin:var(--space-4) 0}.home-page{max-width:1200px;margin:0 auto}.hero{text-align:center;padding:var(--space-32) 0;margin-bottom:var(--space-32)}.hero h1{font-size:48px;font-weight:700;margin-bottom:var(--space-16);color:var(--color-text)}.hero p{font-size:18px;color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--space-24);line-height:1.6}.hero-actions{display:flex;gap:var(--space-16);justify-content:center}.btn-primary-large,.btn-secondary-large{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-24);border-radius:var(--radius-base);font-size:16px;font-weight:500;transition:all .15s}.btn-primary-large{background-color:var(--color-primary);color:#fff}.btn-primary-large:hover{background-color:var(--color-primary-hover);text-decoration:none}.btn-secondary-large{background-color:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary-large:hover{border-color:var(--color-primary);text-decoration:none}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-24);margin-bottom:var(--space-32)}.feature-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-24);text-align:center}.feature-icon{width:64px;height:64px;margin:0 auto var(--space-16);display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#21808d1a;color:var(--color-primary)}.feature-card h3{font-size:18px;font-weight:600;margin-bottom:var(--space-8)}.feature-card p{font-size:14px;color:var(--color-text-secondary);line-height:1.5}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-24);padding:var(--space-32) 0;border-top:1px solid var(--color-border)}.stat{text-align:center}.stat-value{font-size:36px;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-4)}.stat-label{font-size:14px;color:var(--color-text-secondary)}.design-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-16);transition:all .15s;display:block;color:inherit}.design-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #00000014;text-decoration:none;transform:translateY(-2px)}.design-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-12)}.design-card h3{font-size:16px;font-weight:600;color:var(--color-text)}.status-badge{padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase}.status-draft{background-color:#a84b2f26;color:var(--color-orange-500)}.status-published{background-color:#21808d26;color:var(--color-teal-500)}.status-archived{background-color:#777c7c26;color:var(--color-gray-400)}.design-description{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-12);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.design-metadata{display:flex;gap:var(--space-8);margin-bottom:var(--space-12)}.module-type,.license{padding:var(--space-4) var(--space-8);background-color:var(--color-background);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary)}.design-stats{display:flex;gap:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--color-border);margin-bottom:var(--space-8);font-size:12px;color:var(--color-text-secondary)}.design-stats span{display:flex;align-items:center;gap:var(--space-4)}.star-button{display:flex;align-items:center;gap:var(--space-4);background:none;border:none;padding:0;font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.star-button:hover{color:var(--color-warning);transform:scale(1.1)}.star-button.starred{color:var(--color-warning);font-weight:600}.star-button svg{transition:all .15s}.star-button.starred svg{fill:currentColor}.design-author{font-size:12px;color:var(--color-text-secondary)}.design-list-page{max-width:1400px;margin:0 auto;padding:var(--space-24)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-24);padding-bottom:var(--space-16);border-bottom:2px solid var(--color-border)}.header-content h1{font-size:28px;font-weight:700;margin:0 0 var(--space-8) 0;color:var(--color-text-primary)}.header-content p{font-size:14px;color:var(--color-text-secondary);margin:0}.btn-create{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-20);white-space:nowrap}.category-tabs{display:flex;gap:var(--space-8);margin-bottom:var(--space-24);padding:var(--space-4);background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow-x:auto}.tab-button{padding:var(--space-10) var(--space-20);border:none;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;border-radius:var(--radius-md);transition:all .2s;white-space:nowrap}.tab-button:hover{background:var(--color-bg-primary);color:var(--color-text-primary)}.tab-button.active{background:var(--color-primary);color:#fff}.filters-panel{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-20);margin-bottom:var(--space-24)}.search-bar{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-16);position:relative}.search-icon{position:absolute;left:var(--space-12);color:var(--color-text-secondary);pointer-events:none}.search-bar input{flex:1;padding:var(--space-10) var(--space-12) var(--space-10) var(--space-40);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px}.search-bar input:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.filter-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-16);align-items:end}.filter-group{display:flex;flex-direction:column;gap:var(--space-6)}.filter-group label{font-size:13px;font-weight:500;color:var(--color-text-secondary)}.filter-group select,.filter-group input[type=number]{padding:var(--space-8) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-size:14px}.filter-group select:focus,.filter-group input:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.btn-reset{padding:var(--space-8) var(--space-16);border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:14px;cursor:pointer;transition:all .2s}.btn-reset:hover{background:var(--color-bg-primary);border-color:var(--color-text-secondary);color:var(--color-text-primary)}display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: var(--space-12); } .filter-group{display:flex;flex-direction:column;gap:var(--space-4)}.filter-group label{font-size:12px;font-weight:500;color:var(--color-text)}.filter-group select{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-background);color:var(--color-text);font-size:14px}.btn-primary,.btn-secondary{padding:var(--space-8) var(--space-16);border:none;border-radius:var(--radius-base);font-size:14px;font-weight:500;display:flex;align-items:center;gap:var(--space-4);transition:all .15s}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-primary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.results-info{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-16)}.designs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-16);margin-bottom:var(--space-24)}.loading,.no-results{text-align:center;padding:var(--space-32);color:var(--color-text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-16);padding:var(--space-24) 0}.pagination span{font-size:14px;color:var(--color-text-secondary)}.object-tree-selector{position:relative}.tree-selector-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#374151;transition:all .2s}.tree-selector-toggle:hover{background:#f9fafb;border-color:#9ca3af}.tree-selector-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:320px;max-height:400px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.tree-selector-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e7eb;font-weight:600;font-size:13px;color:#111827;background:#f9fafb}.tree-selector-clear{padding:4px 8px;font-size:12px;color:#6b7280;background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.tree-selector-clear:hover{color:#111827;background:#e5e7eb}.tree-selector-content{overflow-y:auto;max-height:340px;padding:4px}.tree-selector-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}.tree-node{-webkit-user-select:none;user-select:none}.tree-node-content{display:flex;align-items:center;gap:6px;padding:6px 8px;cursor:pointer;border-radius:4px;transition:all .15s;font-size:13px;color:#374151}.tree-node-content:hover{background:#f3f4f6}.tree-node-content.selected{background:#dbeafe;color:#1e40af;font-weight:500}.tree-node-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer;color:#6b7280;border-radius:3px;transition:all .15s}.tree-node-toggle:hover{background:#e5e7eb;color:#111827}.tree-node-spacer{width:20px;height:20px;flex-shrink:0}.tree-node-icon{display:flex;align-items:center;color:#6b7280;flex-shrink:0}.tree-node-content.selected .tree-node-icon{color:#1e40af}.tree-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node-dimensions{font-size:11px;color:#9ca3af;font-family:Courier New,monospace;flex-shrink:0}.tree-node-content.selected .tree-node-dimensions{color:#60a5fa}.tree-node-children{margin-left:0}.cad-viewer{width:100%;height:600px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.cad-viewer canvas{width:100%!important;height:100%!important}.design-detail-page{max-width:1400px;margin:0 auto}.design-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-24);padding-bottom:var(--space-24);border-bottom:1px solid var(--color-border)}.design-title-section h1{font-size:32px;font-weight:700;margin-bottom:var(--space-8)}.design-meta{display:flex;gap:var(--space-8);align-items:center;font-size:14px;color:var(--color-text-secondary)}.design-actions{display:flex;gap:var(--space-8)}.design-content{display:grid;gap:var(--space-24)}.viewer-section{width:100%}.tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.tabs button{padding:var(--space-12) var(--space-16);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;display:flex;align-items:center;gap:var(--space-4);transition:all .15s}.tabs button:hover{color:var(--color-text)}.tabs button.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{padding:var(--space-24) 0}.details-panel section{margin-bottom:var(--space-24)}.details-panel h3{font-size:16px;font-weight:600;margin-bottom:var(--space-12)}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-16)}.info-item{display:flex;flex-direction:column;gap:var(--space-4)}.info-item label{font-size:12px;font-weight:500;color:var(--color-text-secondary)}.info-item span{font-size:14px;color:var(--color-text)}.tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-12);gap:var(--space-16)}.tag-input-form{display:flex;gap:var(--space-4);align-items:center}.tag-input{padding:var(--space-6) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;width:200px;background-color:var(--color-surface);color:var(--color-text)}.tag-input:focus{outline:none;border-color:var(--color-primary)}.tags-list{display:flex;flex-wrap:wrap;gap:var(--space-8)}.no-tags{color:var(--color-text-secondary);font-size:14px;font-style:italic}.tag{padding:var(--space-4) var(--space-12);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);display:inline-flex;align-items:center;gap:var(--space-4)}.tag-remove{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;transition:color .15s}.tag-remove:hover{color:var(--color-danger)}.versions-panel{display:flex;flex-direction:column;gap:var(--space-16)}.version-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-16)}.version-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-8)}.version-header h4{font-size:16px;font-weight:600}.version-date{font-size:12px;color:var(--color-text-secondary)}.approval-badge{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:11px;font-weight:500;text-transform:uppercase}.approval-approved{background-color:#21808d26;color:var(--color-teal-500)}.approval-pending{background-color:#a84b2f26;color:var(--color-orange-500)}.approval-rejected{background-color:#c0152f26;color:var(--color-red-500)}.version-changelog{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-12)}.version-actions{display:flex;gap:var(--space-8)}.version-actions a,.version-actions button{display:flex;align-items:center;gap:4px;font-size:12px;padding:6px 12px;border-radius:var(--radius-base);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);cursor:pointer;transition:all .2s}.version-actions button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.version-actions button.btn-danger{color:#e53e3e;border-color:#e53e3e}.version-actions button.btn-danger:hover{background:#e53e3e;color:#fff;border-color:#e53e3e}.comments-panel{display:flex;flex-direction:column;gap:var(--space-24)}.comment-form{display:flex;flex-direction:column;gap:var(--space-8)}.comment-form textarea{padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-background);color:var(--color-text);font-size:14px;resize:vertical}.comments-list{display:flex;flex-direction:column;gap:var(--space-16);margin-top:var(--space-24)}.no-comments{color:var(--color-text-secondary);font-size:14px;font-style:italic;text-align:center;padding:var(--space-24)}.comment{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-16)}.comment-header{display:flex;justify-content:space-between;margin-bottom:var(--space-8);font-size:12px}.comment-header strong{color:var(--color-text)}.comment-header span{color:var(--color-text-secondary)}.comment p{font-size:14px;color:var(--color-text)}.no-cad-placeholder{min-height:400px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-32)}.placeholder-content{text-align:center;max-width:400px}.placeholder-content svg{color:var(--color-text-secondary);margin-bottom:var(--space-16)}.placeholder-content h3{font-size:20px;margin-bottom:var(--space-8)}.placeholder-content p{color:var(--color-text-secondary);margin-bottom:var(--space-20)}.placeholder-actions{display:flex;gap:var(--space-12);justify-content:center}.features-list{list-style:none;padding:0;margin:0}.features-list li{padding:var(--space-8) 0;padding-left:var(--space-20);position:relative}.features-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.specs-panel section{margin-bottom:var(--space-32)}.specs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-20)}.spec-item{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-12);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.spec-item label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.spec-item span{font-size:15px;color:var(--color-text-primary);font-weight:500}.links-grid{display:flex;flex-direction:column;gap:var(--space-12)}.resource-link{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-16);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);text-decoration:none;transition:all .2s;width:fit-content}.resource-link:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.badge-production{color:#059669;background:#d1fae5;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-research{color:#7c3aed;background:#ede9fe;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-32);max-width:500px;width:90%;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-content h2{margin:0 0 var(--space-8) 0;font-size:24px}.modal-content p{color:var(--color-text-secondary);margin-bottom:var(--space-24)}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-40);text-align:center;margin-bottom:var(--space-24);transition:all .2s;cursor:pointer}.upload-area:hover{border-color:var(--color-primary);background:var(--color-bg-secondary)}.upload-area svg{color:var(--color-text-secondary);margin-bottom:var(--space-12)}.upload-area p{margin:0;color:var(--color-text-secondary);font-size:14px}.upload-area input[type=file]{display:none}.modal-actions{display:flex;gap:var(--space-12);justify-content:flex-end}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.design-editor-page{max-width:1600px;margin:0 auto}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-24);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.editor-header h1{font-size:24px;font-weight:600}.editor-layout{display:grid;grid-template-columns:400px 1fr;gap:var(--space-24);align-items:start}.editor-panel{display:flex;flex-direction:column;gap:var(--space-24)}.conversation-history{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-16)}.conversation-history h3{font-size:14px;font-weight:600;margin-bottom:var(--space-12);color:var(--color-text)}.history-messages{display:flex;flex-direction:column;gap:var(--space-12);max-height:300px;overflow-y:auto}.history-message{padding:var(--space-8) var(--space-12);border-radius:var(--radius-base);font-size:13px;line-height:1.5}.history-message.user{background-color:var(--color-primary-muted);border-left:3px solid var(--color-primary)}.history-message.assistant{background-color:var(--color-background);border-left:3px solid var(--color-border)}.history-message strong{font-weight:600;margin-right:var(--space-4)}.prompt-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-16)}.prompt-section label{display:flex;align-items:center;gap:var(--space-8);font-size:14px;font-weight:600;margin-bottom:var(--space-8);color:var(--color-text)}.prompt-section textarea{width:100%;padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-background);color:var(--color-text);font-size:14px;font-family:inherit;resize:vertical;margin-bottom:var(--space-12)}.prompt-section textarea:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.changes-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-16)}.changes-section h3{font-size:14px;font-weight:600;margin-bottom:var(--space-12)}.changes-section pre{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-12);font-size:12px;font-family:Courier New,monospace;overflow-x:auto;margin-bottom:var(--space-12);white-space:pre-wrap;word-wrap:break-word}.error-section{background-color:#fef2f2;border:1px solid #fca5a5;border-radius:var(--radius-lg);padding:var(--space-16)}.error-section h3{font-size:14px;font-weight:600;margin-bottom:var(--space-12);color:#dc2626}.error-message{background-color:#fff;border:1px solid #fca5a5;border-radius:var(--radius-base);padding:var(--space-12);font-size:12px;font-family:Courier New,monospace;overflow-x:auto;color:#991b1b;white-space:pre-wrap;word-wrap:break-word}.script-section{margin-top:var(--space-12)}.btn-small{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-12);font-size:13px;margin-bottom:var(--space-8)}.code-block{background-color:#1e1e1e;color:#d4d4d4;border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-12);font-size:12px;font-family:Courier New,Monaco,monospace;overflow-x:auto;white-space:pre;max-height:400px;overflow-y:auto}.changes-actions{display:flex;gap:var(--space-8)}.preview-panel{position:sticky;top:80px}.preview-panel h3{font-size:14px;font-weight:600;margin-bottom:var(--space-12);color:var(--color-text)}@media (max-width: 1024px){.editor-layout{grid-template-columns:1fr}.preview-panel{position:relative;top:0}}.design-create-page{max-width:800px;margin:0 auto;padding:var(--space-24)}.create-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-32);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.create-header h1{margin:0;font-size:var(--font-size-2xl)}.create-form{display:flex;flex-direction:column;gap:var(--space-32)}.form-section{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-24)}.form-section h2{margin:0 0 var(--space-20) 0;font-size:var(--font-size-lg);color:var(--color-text-primary)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:var(--space-8);font-weight:500;color:var(--color-text-primary)}.form-group .required{color:var(--color-error)}.form-group input[type=text],.form-group input[type=url],.form-group textarea,.form-group select{width:100%;padding:var(--space-10) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--color-bg-primary);color:var(--color-text-primary);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:100px}.form-group small{display:block;margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;gap:var(--space-12);padding-top:var(--space-24);border-top:1px solid var(--color-border)}.error-message{padding:var(--space-12);background:#fee;border:1px solid #fcc;border-radius:var(--radius-md);color:var(--color-error);margin-top:var(--space-16)}.btn-primary,.btn-secondary{padding:var(--space-10) var(--space-20);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-bg-secondary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--space-24)}.login-container{width:100%;max-width:450px;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;overflow:hidden}.login-header{padding:var(--space-32) var(--space-24);text-align:center;background:linear-gradient(135deg,#32808d,#2a6a75);color:#fff}.login-header h1{font-size:28px;font-weight:700;margin-bottom:var(--space-8)}.login-header p{font-size:14px;opacity:.9}.login-content{padding:var(--space-32) var(--space-24)}.google-signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-12);padding:var(--space-16);background:#fff;border:2px solid #e0e0e0;border-radius:var(--radius-base);font-size:16px;font-weight:600;color:#333;cursor:pointer;transition:all .2s}.google-signin-btn:hover:not(:disabled){background:#f8f8f8;border-color:#ccc;box-shadow:0 2px 8px #0000001a}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.divider{display:flex;align-items:center;gap:var(--space-12);margin:var(--space-24) 0;color:#999;font-size:14px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.demo-notice{padding:var(--space-16);background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--radius-base)}.demo-notice p{margin:0;font-size:14px;color:#0c4a6e;line-height:1.5}.demo-notice strong{display:block;margin-bottom:var(--space-4);color:#075985}.login-footer{padding:var(--space-16) var(--space-24);background:#f8f8f8;text-align:center}.login-footer p{margin:0;font-size:12px;color:#666}.user-profile-page{max-width:1000px;margin:0 auto;padding:var(--space-24)}.profile-header{display:flex;align-items:center;gap:var(--space-24);padding:var(--space-24);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base);margin-bottom:var(--space-24)}.profile-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden}.avatar-placeholder{width:100%;height:100%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;color:#fff}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1}.profile-info h1{font-size:24px;font-weight:600;margin-bottom:var(--space-4)}.profile-info p{color:var(--color-text-secondary);font-size:14px}.profile-tabs{display:flex;gap:var(--space-8);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-24)}.profile-tabs button{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.profile-tabs button:hover{color:var(--color-text)}.profile-tabs button.tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.profile-content{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-24)}.profile-section h2,.llm-settings-section h2,.api-keys-section h2{font-size:20px;font-weight:600;margin-bottom:var(--space-16)}.section-description{color:var(--color-text-secondary);margin-bottom:var(--space-24)}.form-group{margin-bottom:var(--space-16)}.form-group label{display:block;font-weight:500;margin-bottom:var(--space-8)}.form-group input{width:100%;padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-background);color:var(--color-text);font-size:14px}.form-group small{display:block;margin-top:var(--space-4);color:var(--color-text-secondary);font-size:12px}.form-group small a{color:var(--color-primary);text-decoration:none}.info-text{color:var(--color-text-secondary);font-size:14px;margin-top:var(--space-16)}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-16);margin-bottom:var(--space-24)}.provider-card{padding:var(--space-20);border:2px solid var(--color-border);border-radius:var(--radius-base);cursor:pointer;transition:all .2s;text-align:center}.provider-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.provider-card.active{border-color:var(--color-primary);background:#32808d0d}.provider-icon{font-size:48px;margin-bottom:var(--space-12)}.provider-card h3{font-size:16px;font-weight:600;margin-bottom:var(--space-8)}.provider-card p{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-8)}.requires-key{display:inline-block;padding:4px 8px;background:#ffc1071a;color:#ffc107;font-size:12px;border-radius:var(--radius-sm)}.model-selection{margin-bottom:var(--space-24)}.model-selection h3{font-size:16px;font-weight:600;margin-bottom:var(--space-12)}.model-options{display:flex;flex-direction:column;gap:var(--space-8)}.model-option{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);cursor:pointer;transition:all .2s}.model-option:hover{background:#32808d0d}.model-option input[type=radio]{width:auto;margin:0}.settings-actions{display:flex;gap:var(--space-12);margin-top:var(--space-24)}.security-notice{margin-top:var(--space-24);padding:var(--space-16);background:#32808d0d;border-left:4px solid var(--color-primary);border-radius:var(--radius-base)}.security-notice p{margin:0;font-size:14px;color:var(--color-text-secondary)}.billing-page{max-width:1200px;margin:0 auto;padding:var(--space-24)}.billing-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:var(--space-24)}.billing-header h1{font-size:32px;font-weight:700;margin-bottom:var(--space-8)}.billing-header p{color:var(--color-text-secondary)}.header-actions{display:flex;gap:var(--space-12);align-items:center}.time-range-select{padding:var(--space-8) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-background);color:var(--color-text);cursor:pointer}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-16);margin-bottom:var(--space-32)}.stat-card{display:flex;gap:var(--space-16);padding:var(--space-20);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base)}.stat-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#32808d1a;border-radius:var(--radius-base);color:var(--color-primary)}.stat-content{flex:1}.stat-label{font-size:14px;color:var(--color-text-secondary);margin-bottom:var(--space-4)}.stat-value{font-size:28px;font-weight:700;margin-bottom:var(--space-4)}.stat-change{font-size:12px}.stat-change.positive{color:#22c55e}.stat-change.neutral{color:#ffc107}.stat-change.negative{color:#e53e3e}.billing-section{margin-bottom:var(--space-32)}.billing-section h2{font-size:20px;font-weight:600;margin-bottom:var(--space-16)}.provider-breakdown{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-16)}.provider-usage-card{padding:var(--space-20);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base)}.provider-name{font-size:16px;font-weight:600;margin-bottom:var(--space-12)}.provider-stats{display:flex;gap:var(--space-24)}.provider-stat{display:flex;flex-direction:column;gap:var(--space-4)}.provider-stat .label{font-size:12px;color:var(--color-text-secondary)}.provider-stat .value{font-size:18px;font-weight:600}.usage-table-container{overflow-x:auto;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-base)}.usage-table{width:100%;border-collapse:collapse}.usage-table thead{background:#32808d0d}.usage-table th{padding:var(--space-12) var(--space-16);text-align:left;font-weight:600;font-size:14px;border-bottom:1px solid var(--color-border)}.usage-table td{padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--color-border);font-size:14px}.usage-table tbody tr:hover{background:#32808d05}.usage-table code{padding:2px 6px;background:#32808d1a;border-radius:var(--radius-sm);font-size:12px;font-family:Courier New,monospace}.free-badge{padding:4px 8px;background:#22c55e1a;color:#22c55e;border-radius:var(--radius-sm);font-size:12px;font-weight:600}.billing-info{padding:var(--space-20);background:#32808d0d;border-left:4px solid var(--color-primary);border-radius:var(--radius-base)}.billing-info h3{font-size:16px;font-weight:600;margin-bottom:var(--space-12)}.billing-info ul{list-style:none;padding:0;margin:0}.billing-info li{padding:var(--space-8) 0;font-size:14px;color:var(--color-text-secondary)}.billing-info strong{color:var(--color-text)}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-border: rgba(94, 82, 64, .2);--radius-sm: 6px;--radius-base: 8px;--radius-lg: 12px;--space-2: 2px;--space-4: 4px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-24: 24px;--space-32: 32px}@media (prefers-color-scheme: dark){:root{--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(167, 169, 169, .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-border: rgba(119, 124, 124, .3)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-background);color:var(--color-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}
