.library-panel{display:flex;flex-direction:column;height:100%;color:var(--text-primary)}.library-header{height:32px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 var(--spacing-sm);background-color:var(--bg-panel-header);font-size:11px;box-shadow:var(--shadow-inset-bottom);flex-shrink:0}.back-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);margin-right:var(--spacing-sm);padding:2px 6px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.back-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:#ffffff14}.current-view-title{font-weight:500;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions .icon-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:16px}.folder-deselect-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);padding:2px 4px;margin-right:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.folder-deselect-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.header-actions .undo-redo-btn{padding:2px 4px;opacity:.6;transition:opacity .15s;display:inline-flex;align-items:center}.header-actions .undo-redo-btn:hover:not(:disabled){opacity:1}.header-actions .undo-redo-btn:disabled{opacity:.2;cursor:default}.library-content{flex:1;overflow-y:hidden;padding:0;display:flex;flex-direction:column}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--spacing-md)}.project-card{cursor:pointer;display:flex;flex-direction:column;align-items:center}.project-card:hover .project-thumb{border-color:var(--accent-primary)}.project-thumb{width:80px;height:60px;background-color:#000;border:1px solid var(--border-color);background-size:cover;background-position:center;margin-bottom:4px;border-radius:var(--radius-sm);transition:border-color .2s}.project-name{font-size:13px;text-align:center;color:var(--text-secondary);line-height:1.2}.folder-node.drag-hidden{display:none}.folder-row{display:flex;align-items:center;padding:7px 8px 7px 6px;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.folder-row:hover{background-color:var(--bg-hover)}.folder-chevron{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:var(--spacing-xs);cursor:pointer;color:var(--text-muted);opacity:.5;transition:transform .15s ease,opacity .15s ease;flex-shrink:0}.folder-chevron:hover{opacity:1}.folder-chevron.expanded{transform:rotate(90deg);opacity:.7}.folder-icon{display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-xs);color:var(--text-secondary)}.folder-name{font-size:13px;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;white-space:normal;flex:1;min-width:0}.folder-name.file-name{font-size:10px;color:var(--text-secondary);letter-spacing:.01em}.folder-count{font-size:10px;color:var(--text-muted);margin-left:4px;flex-shrink:0}.pin-icon{font-size:13px;cursor:pointer;margin-left:auto;padding:2px 4px;border-radius:var(--radius-sm);transition:color .15s;flex-shrink:0;color:var(--text-muted);opacity:.6;display:flex;align-items:center}.pin-icon:hover{color:var(--text-secondary);opacity:1}.pin-icon.pinned{color:var(--accent-primary)}.folder-row.drag-over{background-color:var(--accent-tint-medium);border:1px solid var(--accent-primary)}.file-thumbnail{height:32px;width:auto;min-width:32px;max-width:80px;object-fit:contain;border-radius:var(--radius-sm);margin-right:8px;cursor:pointer;border:1px solid rgba(255,255,255,.06);background-color:var(--bg-panel-sunken);transition:transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.file-thumbnail:hover{transform:scale(1.08);border-color:var(--accent-primary)}.file-thumbnail-video{display:inline-flex;align-items:center;justify-content:center;height:32px;width:32px;font-size:14px;color:var(--text-secondary);background-color:var(--bg-panel-sunken)}.folder-icon.thumb-error{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.folder-icon.thumb-error:after{content:"⚠";font-size:14px;opacity:.5;color:var(--text-secondary)}.preview-modal-overlay{position:fixed;inset:0;background:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.preview-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.preview-media{max-width:100%;max-height:80vh;border-radius:8px;box-shadow:0 10px 30px #00000080}.preview-close{position:absolute;top:-40px;right:0;font-size:32px;color:#fff;background:none;border:none;cursor:pointer;opacity:.7}.preview-close:hover{opacity:1}.preview-details{margin-top:16px;color:#eee;text-align:center;background:#0009;padding:12px 20px;border-radius:20px}.preview-details h3{margin:0 0 4px;font-size:16px}.preview-prompt{font-size:13px;color:#aaa;max-width:600px;margin:0;font-style:italic}.folders-tree{flex:1;overflow-y:auto;min-height:0;padding:0 var(--spacing-sm) 20px;transition:background-color var(--duration-base) var(--ease-standard);outline:none;border:none;box-shadow:none;background-color:var(--bg-panel-sunken)}.folders-tree:focus,.folders-tree:focus-visible,.folders-tree:focus-within{outline:none;border:none;box-shadow:none}.folders-tree.drag-over-root{background-color:var(--accent-tint-subtle);box-shadow:inset 0 0 0 1px var(--accent-primary);border-radius:var(--radius-sm)}.structure-separator{height:1px;background-color:var(--border-color);margin:8px 12px;opacity:.5}.folder-row.selected{background-color:var(--accent-tint-subtle);box-shadow:inset 2px 0 0 var(--accent-primary);color:var(--text-primary)}.folder-row.selected:hover{background-color:var(--accent-tint-medium)}.folder-row.last-previewed{box-shadow:inset 2px 0 0 var(--accent-primary)}.folder-row.new-generation{box-shadow:inset 2px 0 0 var(--text-destructive);animation:new-gen-pulse 1.5s ease-in-out 2}@keyframes new-gen-pulse{0%,to{background-color:transparent}50%{background-color:#ff6b6b14}}.folder-row.reveal-highlight{box-shadow:inset 2px 0 0 var(--text-destructive);animation:reveal-pulse 1.2s ease-in-out infinite}@keyframes reveal-pulse{0%,to{background-color:#ff6b6b0f}50%{background-color:#ff6b6b29}}.selection-indicator{display:flex;align-items:center;gap:6px;background:var(--accent-tint-medium);border:1px solid rgba(74,144,226,.4);border-radius:var(--radius-sm);padding:2px 8px;margin-right:8px}.selection-count{font-size:11px;color:var(--accent-hover);font-weight:500;white-space:nowrap;letter-spacing:.02em}.clear-selection-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:10px;padding:2px 4px;border-radius:3px;line-height:1}.clear-selection-btn:hover{background:var(--bg-hover-strong);color:var(--text-primary)}.hover-preview{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080;padding:8px;max-width:300px}.hover-preview-media{width:100%;height:auto;max-height:200px;object-fit:contain;border-radius:var(--radius-sm);display:block}.hover-preview-meta{margin-top:8px;font-size:13px;color:var(--text-secondary)}.hover-preview-row{margin-bottom:4px;line-height:1.4}.hover-preview-row .label{color:var(--text-muted);margin-right:4px}.hover-preview-row .prompt-text{color:var(--text-primary)}.upload-indicator{flex-shrink:0;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--bg-panel-raised);border-top:1px solid var(--border-color);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);box-shadow:var(--shadow-inset-top)}.library-footer{flex-shrink:0;padding:var(--spacing-sm);background-color:transparent}.shared-with-me-btn,.new-project-btn{width:100%;text-align:left;padding:7px 12px;background-color:transparent;border:1px solid transparent;color:var(--text-secondary);box-shadow:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.shared-with-me-btn:hover,.new-project-btn:hover{background-color:var(--bg-hover);border-color:transparent;color:var(--text-primary);box-shadow:none}.project-selector-overlay{position:absolute;top:40px;left:10px;z-index:1000}.project-selector-menu{background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--radius-md);width:280px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000004d;animation:fadeIn .1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.project-search-header{padding:8px;border-bottom:1px solid var(--border-color)}.project-search-input{width:100%;padding:6px 10px;background-color:#0003;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;outline:none}.project-search-input:focus{border-color:var(--accent-primary)}.project-list-scroll{overflow-y:auto;flex:1;max-height:300px}.project-list-item{display:flex;align-items:center;padding:8px 10px;cursor:pointer;transition:background-color .1s}.project-list-item:nth-child(2n){background-color:#ffffff04}.project-list-item:hover{background-color:#ffffff0d}.project-list-item.active{background-color:#4a90e21a}.project-mini-thumb{width:24px;height:24px;border-radius:3px;background-size:cover;background-position:center;background-color:#333;margin-right:10px;border:1px solid rgba(255,255,255,.1)}.project-list-name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-indicator{color:var(--accent-primary);font-size:13px;margin-left:8px}.no-projects-found{padding:12px;text-align:center;color:var(--text-muted);font-size:13px;font-style:italic}.share-folder-modal .modal-content-minimal{min-height:200px;max-height:60vh;overflow-y:auto;overflow:auto;align-items:stretch;justify-content:flex-start}.share-loading,.share-error,.share-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.share-error{color:var(--text-destructive)}.share-user-list{display:flex;flex-direction:column;gap:2px}.share-user-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);text-align:left;width:100%}.share-user-row:hover{background:var(--bg-hover);color:var(--text-primary)}.share-user-row.selected{background:var(--accent-tint-subtle);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--accent-primary)}.share-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.share-avatar-fallback{width:28px;height:28px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.share-user-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.share-user-name{font-size:13px;font-weight:500}.share-user-email{font-size:11px;color:var(--text-muted, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-check{color:var(--accent-primary);flex-shrink:0;margin-left:auto}.shared-with-me-modal .modal-content-minimal{min-height:150px;max-height:400px;overflow-y:auto}.swm-loading,.swm-error,.swm-empty{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.swm-error{color:var(--text-destructive)}.swm-list{display:flex;flex-direction:column;gap:2px}.swm-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard)}.swm-row:hover{background:var(--bg-hover)}.swm-row.imported{opacity:.7}.swm-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.swm-folder-icon{flex-shrink:0;color:var(--text-muted)}.swm-details{display:flex;flex-direction:column;gap:1px;min-width:0}.swm-folder-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swm-owner{font-size:11px;color:var(--text-muted)}.swm-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:12px}.swm-add-btn{font-size:11px;padding:3px 10px;border-color:var(--accent-primary);background:var(--accent-tint-medium);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.swm-leave-btn{font-size:11px;padding:3px 8px;color:var(--text-muted);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.swm-leave-btn:hover{color:var(--text-destructive);border-color:var(--text-destructive)}.swm-imported-label{font-size:11px;color:var(--text-muted);padding:3px 10px}.export-browser-modal .modal-content-minimal{min-height:260px;max-height:60vh;overflow:hidden;align-items:stretch;justify-content:flex-start;text-align:left;gap:12px}.export-summary{font-size:12px;color:var(--text-muted);text-align:center;padding:0 4px}.export-breadcrumbs{display:flex;align-items:center;gap:2px;padding:6px 8px;background:var(--bg-panel-sunken);border-radius:var(--radius-sm);border:1px solid var(--border-color);box-shadow:var(--shadow-inset-top);overflow-x:auto;white-space:nowrap;flex-shrink:0}.export-breadcrumb{background:none;border:none;color:var(--accent-primary);font-size:12px;cursor:pointer;padding:2px 4px;border-radius:2px}.export-breadcrumb:hover{background:var(--bg-hover)}.export-breadcrumb.current{color:var(--text-primary);cursor:default}.export-breadcrumb.current:hover{background:none}.export-breadcrumb-sep{color:var(--text-muted);font-size:12px}.export-new-folder-row{display:flex;gap:8px;flex-shrink:0}.export-new-folder-input{flex:1;text-align:left!important;padding:6px 10px!important;font-size:13px!important}.export-new-folder-btn{font-size:12px!important;padding:4px 12px!important}.export-progress{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;flex:1;justify-content:center}.export-progress-label{font-size:14px;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.export-progress-track{width:100%;height:4px;background:var(--bg-panel-sunken);border:1px solid var(--border-color);border-radius:1px;overflow:hidden}.export-progress-fill{height:100%;background:var(--accent-primary);transition:width var(--duration-base) var(--ease-standard)}.export-file-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1px;min-height:120px}.export-status{padding:24px;text-align:center;color:var(--text-secondary);font-size:13px}.export-error{color:var(--text-destructive)}.export-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);border:none;background:none;width:100%;text-align:left;cursor:default}.export-row-dir{cursor:pointer;color:var(--text-primary)}.export-row-dir:hover{background:var(--bg-hover)}.export-row-icon{flex-shrink:0;opacity:.6}.export-row-dir .export-row-icon{color:var(--accent-primary);opacity:1}.export-row-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-row-chevron{flex-shrink:0;opacity:.3}.export-row-size{flex-shrink:0;font-size:11px;color:var(--text-muted)}.gallery-panel{display:flex;flex-direction:column;height:100%;background-color:var(--bg-app)}.gallery-toolbar{height:32px;background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 var(--spacing-md);flex-shrink:0;box-shadow:var(--shadow-inset-bottom)}.toolbar-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-right:var(--spacing-md)}.thumbnail-slider-container{display:flex;align-items:center;gap:6px;margin-left:var(--spacing-md)}.thumbnail-slider{width:100px;height:2px;-webkit-appearance:none;appearance:none;background:var(--border-color);border-radius:0;cursor:pointer;border:none;outline:none}.thumbnail-slider:focus{outline:none}.thumbnail-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px var(--accent-tint-medium)}.thumbnail-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px var(--accent-tint-medium)}.thumbnail-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:var(--accent-primary);border-radius:1px;cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard)}.thumbnail-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.thumbnail-slider::-moz-range-thumb{width:10px;height:10px;background:var(--accent-primary);border-radius:1px;cursor:pointer;border:none}.favorite-filter-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);font-size:12px;cursor:pointer;padding:3px 6px;border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard);margin-right:8px;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.favorite-filter-btn:hover{color:var(--text-primary);background-color:var(--bg-hover)}.favorite-filter-btn.active{color:var(--accent-primary);background-color:var(--accent-tint-subtle);border-color:var(--accent-tint-medium)}.favorite-filter-btn.active:hover{background-color:var(--accent-tint-medium)}.search-container{position:relative;display:flex;align-items:center}.search-input{background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:3px 24px 3px 10px;border-radius:var(--radius-sm);font-size:11px;width:160px;height:22px;transition:border-color var(--duration-fast) var(--ease-standard)}.search-input:focus{outline:none;border-color:var(--accent-primary)}.search-clear-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%}.search-clear-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.gallery-scroll-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;transition:background-color .2s,box-shadow .2s}.gallery-scroll-container.drag-over-target{background-color:var(--accent-tint-subtle);box-shadow:inset 0 0 0 2px var(--accent-primary)}.gallery-grid{padding:var(--spacing-xs);display:flex;gap:var(--spacing-xs);align-items:flex-start}.masonry-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.gallery-item{display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow var(--duration-base) var(--ease-standard);content-visibility:auto;contain-intrinsic-size:auto 200px}.gallery-item:hover{box-shadow:inset 0 0 0 1px var(--border-active)}.media-container{width:100%;position:relative;background-color:var(--bg-input);display:flex;align-items:center;justify-content:center;overflow:hidden}.media-content{width:100%;height:auto;display:block;object-fit:contain}.media-container[data-load-error]:after{content:"";position:absolute;inset:0;opacity:.4;background-color:var(--text-secondary);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") center / 28px no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>") center / 28px no-repeat}.video-badge,.model-badge,.exr-badge{position:absolute;bottom:var(--spacing-sm);right:var(--spacing-sm);background:var(--overlay-glass-dark);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm);z-index:2;line-height:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.model-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #1a1a1a);width:100%;height:100%}.model-placeholder-icon{font-size:24px;font-weight:600;color:var(--text-muted, #666);letter-spacing:1px}.exr-badge{right:auto;left:var(--spacing-sm)}.name-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 10px;background:var(--overlay-glass-darker);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid rgba(255,255,255,.08);transform:translateY(100%);transition:transform var(--duration-base) var(--ease-standard);pointer-events:none;z-index:1;display:flex;justify-content:flex-end}.gallery-item:hover .name-overlay{transform:translateY(0)}.name-overlay span{color:var(--text-primary);font-size:10px;font-weight:500;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.favorite-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--overlay-glass-dark);border:1px solid rgba(255,255,255,.1);color:#ffffffb3;font-size:11px;cursor:pointer;width:22px;height:22px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:var(--radius-sm);line-height:1;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard);z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gallery-item:hover .favorite-btn,.favorite-btn.favorite-active{opacity:1}.favorite-btn.favorite-active{color:var(--text-primary)}.favorite-btn:hover{color:#fff;background:#000000d9;border-color:#ffffff2e}.item-meta{padding:4px 8px;font-size:13px;color:var(--text-secondary);background-color:var(--bg-panel-header);border-top:1px solid var(--border-color)}.preview-content{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;gap:24px;overflow:hidden}.preview-media{max-width:100%;height:auto;max-height:100%;object-fit:contain;border-radius:var(--radius-sm);box-shadow:0 4px 20px #00000080;flex-shrink:1;min-height:0}.preview-details{margin-top:0;width:auto;max-width:90%;flex-shrink:0;background-color:var(--bg-panel-header);padding:16px 24px;border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-color)}.preview-details h3{margin:0 0 8px;font-size:16px;color:var(--text-primary)}.preview-prompt{font-size:13px;color:var(--text-secondary);margin-top:0;margin-bottom:8px;line-height:1.4;max-height:100px;overflow-y:auto;font-style:italic}.preview-meta{font-size:13px;color:var(--text-muted);margin-top:0}.gallery-item.selected{box-shadow:0 0 0 2px var(--accent-primary)}.gallery-item.selected .media-content{opacity:.92}.gallery-item.gallery-reveal-highlight{animation:galleryRevealPulse 1.6s ease-in-out infinite}@keyframes galleryRevealPulse{0%,to{box-shadow:0 0 0 2px #e24a4a66,0 0 6px #e24a4a26}50%{box-shadow:0 0 0 2px #e24a4acc,0 0 12px #e24a4a59}}.gallery-item.placeholder{cursor:default;pointer-events:none}.gallery-item.placeholder .placeholder-media{aspect-ratio:1;background-color:var(--bg-input)}.gallery-item.placeholder .placeholder-pulse{width:100%;height:100%;animation:placeholderPulse 1.8s ease-in-out infinite}@keyframes placeholderPulse{0%,to{background-color:var(--bg-input)}50%{background-color:var(--bg-panel-raised)}}.canvas-btn{margin-left:var(--spacing-sm)}.error-boundary{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:24px}.error-boundary-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-secondary, #888)}.error-boundary-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2, #2a2a2a);color:var(--text-secondary, #888);font-size:20px;font-weight:700}.error-boundary-label{font-size:13px}.error-boundary-btn{padding:6px 16px}.progress-indicator{display:flex;flex-direction:column;gap:4px;min-width:180px;max-width:280px;padding:8px 12px;background-color:#2a2a2af2;border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-left:auto;margin-right:24px}.progress-bar-container{height:4px;background-color:var(--bg-input);border-radius:2px;overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));border-radius:2px;transition:width .3s ease-out;box-shadow:0 0 8px #4a90e266}.progress-bar-fill.complete{background:linear-gradient(90deg,#4ade80,#22c55e);box-shadow:0 0 8px #4ade8066}.progress-status{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--text-muted)}.progress-phase{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-retry{color:#f59e0b;font-size:9px}.progress-percent{color:var(--accent-primary);font-weight:600;min-width:28px;text-align:right}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.progress-indicator:has(.progress-retry:not(:empty)) .progress-bar-fill{animation:pulse 1.5s ease-in-out infinite}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-weight:400;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);white-space:nowrap}.ui-btn-sm{padding:4px 10px;font-size:12px}.ui-btn-md{padding:7px 14px;font-size:13px}.ui-btn-primary{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary)}.ui-btn-primary:hover:not(:disabled){background:#ffffff26;border-color:#ffffff38}.ui-btn-secondary{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary)}.ui-btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff2e;color:var(--text-primary)}.ui-btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.ui-btn-ghost:hover:not(:disabled){background-color:var(--bg-hover);color:var(--text-primary)}.ui-btn-icon{background:transparent;color:var(--text-muted);border:1px solid transparent;padding:4px}.ui-btn-icon:hover:not(:disabled){color:var(--text-primary);background-color:var(--bg-hover)}.ui-btn-hero{background:var(--accent-tint-subtle);border:1px solid rgba(255,255,255,.15);color:var(--text-primary);box-shadow:inset 2px 0 0 var(--accent-primary)}.ui-btn-hero:hover:not(:disabled){background:var(--accent-tint-medium);border-color:#ffffff38;box-shadow:inset 2px 0 0 var(--accent-primary)}.ui-btn:disabled{opacity:.35;cursor:not-allowed}.control-select-wrap{position:relative;width:100%}.control-select-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:4px}.control-select-trigger:disabled{cursor:not-allowed;opacity:.5}.control-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.control-select-menu{position:fixed;z-index:1000;background-color:var(--bg-panel-raised);box-shadow:0 12px 32px #0000008c,0 0 0 1px #ffffff14,var(--shadow-inset-top);border-radius:var(--radius-md);border:none;padding:4px;width:max-content;max-height:400px;overflow-y:auto;animation:controlSelectFadeIn var(--duration-fast) var(--ease-standard)}@keyframes controlSelectFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.control-select-item{padding:6px 10px;font-size:12px;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.control-select-item:hover{background-color:var(--bg-hover)}.control-select-item.active{background-color:var(--accent-tint-subtle);color:var(--accent-hover);box-shadow:inset 2px 0 0 var(--accent-primary)}.control-select-item.active:hover{background-color:var(--accent-tint-medium)}.control-select-item.disabled{opacity:.4;cursor:not-allowed}.model-dropdown{position:relative;width:100%}.model-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left;gap:4px}.model-dropdown-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.model-dropdown-menu{position:fixed;z-index:1000;background-color:var(--bg-panel-raised);box-shadow:0 12px 32px #0000008c,0 0 0 1px #ffffff14,var(--shadow-inset-top);border-radius:6px;border:none;padding:4px;width:max-content;max-height:400px;overflow-y:auto;animation:modelDropdownFadeIn var(--duration-fast) var(--ease-standard)}@keyframes modelDropdownFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.model-dropdown-group{position:relative}.model-dropdown-vendor{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:default;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.model-dropdown-vendor:hover,.model-dropdown-vendor.expanded{background-color:var(--bg-hover);color:var(--text-primary)}.model-dropdown-vendor-count{margin-left:auto;font-size:13px;font-weight:400;color:var(--text-muted)}.model-dropdown-chevron{display:flex;align-items:center;color:var(--text-muted);flex-shrink:0}.model-dropdown-submenu{position:fixed;z-index:1001;background-color:var(--bg-panel-raised);box-shadow:0 12px 32px #0000008c,0 0 0 1px #ffffff14,var(--shadow-inset-top);border-radius:6px;padding:4px;min-width:180px;animation:modelDropdownFadeIn var(--duration-fast) var(--ease-standard)}.model-dropdown-item{padding:6px 10px;font-size:12px;color:var(--text-primary);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.model-dropdown-item:hover{background-color:var(--bg-hover)}.model-dropdown-item.active{background-color:var(--accent-tint-subtle);color:var(--accent-hover);box-shadow:inset 2px 0 0 var(--accent-primary)}.model-dropdown-item.active:hover{background-color:var(--accent-tint-medium)}.controls-panel{display:flex;align-items:flex-start;height:100%;min-height:380px;color:var(--text-primary);background-color:var(--bg-panel);padding:12px;gap:12px;box-sizing:border-box}.controls-column-left{width:200px;display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0;padding:var(--spacing-md);background-color:var(--bg-panel-raised);border:1px solid var(--border-color);border-radius:var(--radius-sm);align-self:stretch;overflow-y:auto;box-shadow:var(--shadow-inset-top)}.controls-column-right{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;padding:0;height:100%}.progress-overlay{position:absolute;top:0;right:0;z-index:5;pointer-events:none}.progress-overlay .progress-indicator{pointer-events:auto;max-width:280px;margin:0}.controls-slots-row{display:flex;align-items:flex-start;gap:12px;flex-shrink:0}.controls-naming-bar{display:flex;flex-direction:column;width:100%}.naming-input-wrapper{position:relative;width:100%}.naming-input-wrapper .generation-name-input{width:100%;height:30px;padding:0 36px 0 22px;font-size:13px;font-weight:500;box-sizing:border-box}.naming-input-wrapper .name-lock-btn{position:absolute;right:12px;top:50%;transform:translate(50%,-50%);padding:0;width:18px;height:18px}.naming-var-dropdown{position:relative;width:100%;margin-top:4px}button.naming-var-trigger{width:100%;height:26px;font-size:13px;font-weight:500;display:flex;align-items:center;text-align:left;cursor:pointer;padding-left:22px;position:relative}.naming-var-trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.naming-var-menu{position:absolute;top:100%;left:0;right:0;z-index:100;background:var(--bg-panel-raised);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin-top:2px;padding:2px 0;box-shadow:0 8px 24px #00000080,var(--shadow-inset-top)}.naming-var-item{display:flex;align-items:center;width:100%;padding:5px 10px 5px 22px;font-size:12px;font-weight:400;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.naming-var-item:hover{background:var(--bg-hover);color:var(--text-primary)}.naming-var-label{text-align:left}.naming-var-preview{margin-left:auto;color:var(--text-muted);font-family:var(--ag-font-mono);font-size:10px}.controls-slots-and-actions{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0}.controls-actions-column{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-left:auto;flex-shrink:0}.naming-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.cards-slots-horizontal{display:flex;flex-direction:row;height:68px;gap:8px;flex-wrap:nowrap}.controls-header-row,.controls-actions-grid,.controls-actions-left,.controls-actions-right{display:none}.control-group{display:flex;flex-direction:column;gap:0;margin-top:8px}.control-group label{font-size:10px;font-weight:600;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;line-height:1}.label-hint{font-weight:400;font-size:9px;color:var(--text-muted);text-transform:none;letter-spacing:0}.control-select,.control-input{background-color:transparent;background-image:none;border:1px solid transparent;border-bottom:1px solid var(--border-active);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--text-primary);padding:5px 10px 5px 0;font-size:12px;outline:none;width:100%;font-family:inherit;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-bottom-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}select.control-select,.control-select-trigger,.naming-var-trigger,.model-dropdown-trigger{padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}.control-select:hover,.control-input:hover{background-image:linear-gradient(to bottom,transparent 5px,var(--bg-hover) 5px,var(--bg-hover) calc(100% - 5px),transparent calc(100% - 5px));border-bottom-color:var(--accent-primary)}select.control-select:hover,.control-select-trigger:hover,.naming-var-trigger:hover,.model-dropdown-trigger:hover{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234a90e2' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"),linear-gradient(to bottom,transparent 5px,var(--bg-hover) 5px,var(--bg-hover) calc(100% - 5px),transparent calc(100% - 5px));background-repeat:no-repeat,no-repeat;background-position:right 4px center,0 0}.control-select:focus,.control-input:focus{border-bottom-color:var(--accent-primary)}.slot-item{width:68px;border:1px solid rgba(255,255,255,.08);background-color:var(--bg-panel-sunken);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard);position:relative}.slot-item:hover{background-color:var(--bg-hover);border-color:#ffffff2e}.slot-item.drag-over{border-color:var(--accent-primary);background-color:var(--accent-tint-subtle)}.slot-placeholder{font-size:9px;color:var(--text-muted);text-align:center;pointer-events:none;text-transform:uppercase;letter-spacing:.05em;display:flex;flex-direction:column;gap:1px;line-height:1.2;padding:0 4px}.slot-placeholder span{display:block}.remove-slot-btn{position:absolute;top:-6px;right:-6px;background-color:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-muted);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;cursor:pointer;line-height:1;z-index:10;transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.remove-slot-btn:hover{color:var(--text-destructive);border-color:#ff6b6b66;background-color:var(--bg-panel-raised)}.slot-audio-preview{background-color:var(--bg-panel);border-radius:4px;color:var(--text-secondary)}.roto-edit-slot-btn{position:absolute;bottom:4px;left:50%;transform:translate(-50%);background-color:var(--accent-tint-medium);border:1px solid var(--accent-primary);color:var(--text-primary);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-sm);cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:background-color var(--duration-fast) var(--ease-standard)}.roto-edit-slot-btn:hover{background-color:var(--accent-tint-strong)}.generation-name-wrapper{display:flex;align-items:center;gap:4px;height:30px}.generation-name-wrapper .generation-name-input{flex:1;min-width:0}.generation-name-input{height:30px;font-size:13px;box-sizing:border-box;width:100%}.name-lock-btn{background:transparent;border:1px solid transparent;padding:3px;cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.name-lock-btn:hover{color:var(--text-secondary);background-color:var(--bg-hover)}.name-lock-btn.locked{color:var(--accent-primary);background-color:transparent;border-color:transparent}.name-lock-btn.locked:hover{color:var(--accent-hover);background-color:var(--bg-hover)}.spacer{flex:1}.prompt-fieldset .prompt-textarea,.system-instruction-section .prompt-textarea{border:none;padding:4px}.prompt-fieldset .prompt-textarea:focus,.system-instruction-section .prompt-textarea:focus{border:none}.prompt-textarea{flex:1;background-color:var(--bg-input);border:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px;resize:none;font-size:13px;border-radius:var(--radius-sm);font-family:inherit;line-height:1.55;display:block;scrollbar-width:thin;scrollbar-color:var(--border-active) transparent;transition:border-color var(--duration-fast) var(--ease-standard)}.prompt-textarea::-webkit-scrollbar{width:6px}.prompt-textarea::-webkit-scrollbar-track{background:transparent}.prompt-textarea::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.prompt-textarea::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.prompt-textarea:focus{outline:none;border-color:var(--accent-primary)}.prompt-textarea.prompt-disabled{opacity:.4;cursor:not-allowed;color:var(--text-muted)}.prompt-textarea.prompt-disabled::placeholder{color:var(--text-muted)}.prompt-textarea.prompt-vision{opacity:.7;border-style:dashed}.prompt-textarea.prompt-vision::placeholder{font-style:italic;color:var(--text-muted)}.slot-color-swatch{width:100%;height:100%;border-radius:1px}.slot-item-bg{margin-left:4px;border-left:1px solid var(--border-color);padding-left:0}.color-picker-modal{width:340px}.color-picker-modal .modal-footer-minimal{gap:8px}.color-picker-modal .modal-footer-left .btn{white-space:nowrap;min-width:90px}.color-picker-body{display:flex;flex-direction:column;align-items:center;gap:12px}.color-picker-input{width:200px;height:200px;border:none;background:none;cursor:pointer;padding:0}.color-picker-input::-webkit-color-swatch-wrapper{padding:0}.color-picker-input::-webkit-color-swatch{border:1px solid var(--border-color);border-radius:var(--radius-sm)}.color-picker-hex{display:flex;align-items:center;gap:8px;width:100%}.color-picker-hex label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;flex-shrink:0}.color-picker-hex .control-input{flex:1;font-family:monospace;text-transform:uppercase}.color-picker-preview{width:100%;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.error-modal{width:600px;min-width:600px;max-width:600px;text-align:left}.error-modal-content{display:flex;flex-direction:column;gap:0}.error-modal-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.error-modal-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.error-modal-value{color:var(--text-primary);font-size:12px}.error-modal-message{margin-top:12px;padding:12px;background-color:var(--bg-panel-sunken);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-destructive);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,monospace}.app-layout.debug-mode .controls-column-left{outline:1px solid rgba(255,165,0,.5)}.app-layout.debug-mode .controls-column-right{outline:1px solid rgba(0,255,255,.5)}.app-layout.debug-mode .controls-slots-row{outline:1px solid rgba(255,255,255,.3)}.app-layout.debug-mode .controls-slots-and-actions{outline:1px solid rgba(255,0,0,.5)}.app-layout.debug-mode .cards-slots-horizontal{outline:1px solid rgba(255,0,255,.5)}.app-layout.debug-mode .controls-actions-column{outline:1px solid rgba(0,255,0,.5)}.app-layout.debug-mode .naming-actions{outline:1px solid rgba(0,0,255,.5)}.app-layout.debug-mode .controls-naming-bar{outline:1px solid rgba(255,255,0,.5)}.app-layout.debug-mode .progress-overlay{outline:1px solid rgba(128,0,255,.5)}.app-layout.debug-mode .control-group{outline:1px solid rgba(255,128,0,.3)}.app-layout.debug-mode .prompt-textarea{outline:1px solid rgba(0,128,255,.5)}.app-layout.debug-mode .prompt-fieldset{outline:1px solid rgba(128,255,0,.5)}.app-layout.debug-mode .prompt-split-container{outline:1px solid rgba(255,0,128,.5)}.app-layout.debug-mode .system-instruction-section{outline:1px solid rgba(0,255,128,.5)}.app-layout.debug-mode .slot-item{outline:1px solid rgba(200,200,200,.3)}.loupe-container{position:absolute;width:250px;height:250px;border-radius:50%;border:3px solid rgba(255,255,255,.8);box-shadow:0 10px 25px #00000080,inset 0 0 20px #0003;overflow:hidden;cursor:none;pointer-events:auto;z-index:1000;background-repeat:no-repeat;background-color:#000}.loupe-crosshair{position:absolute;top:50%;left:50%;width:20px;height:20px;transform:translate(-50%,-50%);pointer-events:none}.loupe-crosshair:before,.loupe-crosshair:after{content:"";position:absolute;background:#ffffff80}.loupe-crosshair:before{top:9px;left:0;width:100%;height:2px}.loupe-crosshair:after{left:9px;top:0;height:100%;width:2px}.loupe-resolution{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:#000000bf;color:#fff;font-size:13px;font-weight:600;padding:3px 8px;border-radius:3px;white-space:nowrap;font-family:Inter,-apple-system,sans-serif;letter-spacing:.5px;pointer-events:none}.app-layout{display:flex;width:100%;height:100vh;overflow:hidden;background-color:var(--bg-app)}.panel{display:flex;flex-direction:column;background-color:var(--bg-panel);overflow:hidden;box-shadow:var(--shadow-inset-top)}.panel-header{height:var(--header-height);background-color:var(--bg-panel-header);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 var(--spacing-md);font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none;justify-content:space-between;box-shadow:var(--shadow-inset-bottom)}.panel-header.controls-panel-header{gap:4px}.details-naming-section{padding:var(--spacing-md) var(--spacing-sm) 0}.controls-model-label{font-size:11px;font-weight:400;color:var(--text-secondary);text-transform:none;letter-spacing:0}.header-username{font-size:10px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px}.header-disk-usage{font-size:10px;font-weight:400;color:var(--text-muted);opacity:.7;cursor:pointer;transition:opacity .2s,color .2s}.header-disk-usage:hover{opacity:1;color:var(--text-secondary)}.header-disk-usage.reconciling{cursor:wait;opacity:.5}.header-controls{display:flex;gap:8px;align-items:center}.header-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);width:22px;height:22px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.header-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:var(--border-color)}.header-btn:focus{outline:none}.header-btn:focus-visible{outline:1px solid var(--accent-primary);outline-offset:1px}.header-btn-help{font-size:13px;font-style:italic;opacity:.5}.header-btn-help:hover{opacity:1}.header-btn.logout-btn:hover{color:var(--text-destructive);border-color:currentColor}.panel-content{flex:1;overflow:auto;position:relative}.placeholder-content{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:14px;font-style:italic}.left-container{flex-shrink:0;display:flex;flex-direction:column;min-width:0;overflow:hidden}.library-floating{position:fixed;z-index:2100;border-radius:var(--radius-md);box-shadow:0 8px 32px #00000080;border:1px solid var(--border-color);resize:both;overflow:hidden;min-width:260px;min-height:300px;max-width:90vw;max-height:90vh;background-color:var(--bg-panel)}.library-floating .panel-header{cursor:grab}.library-floating .panel-header:active{cursor:grabbing}.header-btn-detach{font-size:13px;opacity:.5}.header-btn-detach:hover{opacity:1}.header-btn-detach.active{opacity:.8;color:var(--accent-primary)}.library-content{flex:1;min-height:0}.details-wrapper,.bottom-panel{flex-shrink:0}.details-wrapper{transition:height var(--duration-base) var(--ease-standard)}.details-header{flex-shrink:0}.details-content{flex:1;overflow:auto;display:flex;flex-direction:column}.details-mode-buttons{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm)}.details-mode-btn{width:100%;justify-content:flex-start;text-align:left;background-color:transparent;border:1px solid transparent;color:var(--text-secondary);padding:7px 12px;border-radius:var(--radius-sm);font-size:13px;position:relative;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.details-mode-btn:hover{background-color:var(--bg-hover);color:var(--text-primary);border-color:transparent}.details-mode-btn:focus{outline:none}.details-mode-btn:focus-visible{outline:1px solid var(--accent-primary);outline-offset:-1px}.details-mode-btn.active{background:var(--accent-tint-subtle);color:var(--text-primary);border-color:transparent;box-shadow:inset 2px 0 0 var(--accent-primary)}.details-mode-btn.active:hover{background:var(--accent-tint-medium)}.details-download-section{padding:12px;border-top:1px solid var(--border-color);margin-top:auto}.download-project-btn{width:100%;justify-content:center}.download-project-btn:disabled{opacity:.7;cursor:wait}.import-dropzone{height:40px;margin-top:8px;border:1px dashed var(--border-color);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;font-size:13px;color:var(--text-muted)}.import-dropzone:hover{background-color:var(--accent-tint-subtle);border-color:#4a90e24d;color:var(--text-secondary)}.import-dropzone.drag-over{background-color:var(--accent-tint-medium);border-style:solid;border-color:var(--accent-primary);color:var(--text-primary)}.import-dropzone.importing{opacity:.7;cursor:wait}.import-icon{font-size:14px}.import-text{font-size:13px}.right-container{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.resizer-vertical{width:4px;background-color:var(--bg-app);cursor:col-resize;flex-shrink:0;transition:background-color var(--duration-base) var(--ease-standard)}.resizer-vertical:hover{background-color:var(--accent-tint-strong)}.resizer-vertical:active{background-color:var(--accent-primary)}.resizer-horizontal{height:4px;background-color:var(--bg-app);cursor:row-resize;flex-shrink:0;transition:background-color var(--duration-base) var(--ease-standard)}.resizer-horizontal:hover{background-color:var(--accent-tint-strong)}.resizer-horizontal:active{background-color:var(--accent-primary)}.top-panel,.bottom-panel{transition:height .2s ease}.bottom-panel-minimized{border-top:1px solid var(--border-color)}.controls-debug-btn{opacity:.2;margin-left:auto;padding:2px}.controls-debug-btn:hover{opacity:.6}.controls-minimize-btn{font-size:10px;opacity:.4}.controls-minimize-btn:hover{opacity:1}.preview-modal-overlay{position:fixed;inset:0;background:#0006;z-index:3000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.preview-overlay-close{position:fixed;top:16px;right:16px;z-index:3001;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#0009;color:#fff;font-size:22px;cursor:pointer;transition:all .15s;line-height:1}.preview-overlay-close:hover{background:#ffffff26;border-color:#fff6}.preview-content{position:relative;width:fit-content;height:auto;max-width:95vw;max-height:95vh;background-color:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 0 50px #00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 40px;box-sizing:border-box;overflow:hidden}.loupe-toggle-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#0009;color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;z-index:2000;transition:all .2s ease;font-size:14px}.loupe-toggle-btn:hover{background:#000c;border-color:#fffc;transform:scale(1.1)}.loupe-toggle-btn:active{transform:scale(.95)}.preview-details{margin-top:40px;color:var(--text-primary);text-align:center;background:transparent;padding:0;border:none;box-shadow:none;min-width:300px;width:100%;display:flex;flex-direction:column;align-items:center;flex-shrink:0;z-index:10}.preview-media-wrapper{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.preview-frame{display:flex;align-items:center;justify-content:center;padding:32px;border:1px solid var(--border-color);border-radius:8px;background-color:#0003;box-shadow:0 4px 20px #0000004d;max-width:100%;max-height:100%;min-width:0;min-height:0;flex-shrink:1;box-sizing:border-box}.preview-image-container{position:relative;display:flex;justify-content:center;align-items:center;width:auto;height:auto;max-width:100%;max-height:100%;box-sizing:border-box}.preview-media{display:block;max-height:55vh;height:auto;width:auto;max-width:100%;transition:opacity .15s ease}.preview-media.loading-proxy{opacity:.85}.preview-actions{margin-top:16px;display:flex;gap:12px;justify-content:center}.preview-action-btn{font-weight:700;text-transform:uppercase;letter-spacing:1px;border-radius:var(--radius-md);height:32px;display:flex;align-items:center;justify-content:center;min-width:100px}.app-layout.debug-mode .app-layout{outline:2px solid rgba(255,0,0,.6)}.app-layout.debug-mode .left-container{outline:2px solid rgba(255,165,0,.6)}.app-layout.debug-mode .right-container{outline:2px solid rgba(0,200,255,.6)}.app-layout.debug-mode .panel{outline:1px solid rgba(255,255,0,.4);position:relative}.app-layout.debug-mode .panel:after{content:"";position:absolute;inset:0;z-index:9998;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:10px 10px}.app-layout.debug-mode .panel-header{outline:1px solid rgba(255,0,255,.4)}.app-layout.debug-mode .panel-content{outline:1px solid rgba(0,255,0,.4)}.app-layout.debug-mode .resizer-vertical,.app-layout.debug-mode .resizer-horizontal{outline:1px solid rgba(255,100,100,.8)}.app-layout.debug-mode .library-floating{outline:2px solid rgba(255,128,0,.6)}.app-layout.debug-mode .details-wrapper{outline:1px solid rgba(128,0,255,.5)}.app-layout.debug-mode .gallery-panel{outline:1px solid rgba(0,200,100,.5)}.app-layout.debug-mode .gallery-toolbar{outline:1px solid rgba(100,200,255,.5)}.app-layout.debug-mode .library-panel{outline:1px solid rgba(200,100,255,.5)}.app-layout.debug-mode .library-header{outline:1px solid rgba(255,200,0,.5)}.app-layout.debug-mode .library-content{outline:1px solid rgba(0,255,200,.5)}.app-layout.debug-mode .projects-grid{outline:1px solid rgba(255,0,128,.4)}.app-layout.debug-mode .header-controls{outline:1px solid rgba(128,255,0,.5)}.app-layout.debug-mode #controls-naming-slot{outline:1px solid rgba(255,255,0,.6)}.login-page{min-height:100vh;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-container{width:100%;max-width:400px;padding:48px 32px;background:#232323;border:1px solid #333;border-radius:2px;text-align:center}.login-brand{margin-bottom:40px}.login-logo-img{max-width:280px;height:auto;margin-bottom:24px}.login-title{font-size:28px;font-weight:600;color:#fff;margin:0 0 8px;letter-spacing:-.5px}.login-subtitle{font-size:14px;color:#888;margin:0}.login-section{margin-bottom:32px}.login-instruction{font-size:13px;color:#999;margin:0 0 24px;line-height:1.5}.google-signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 24px;background:#fff;border:none;border-radius:2px;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:all .15s ease}.google-signin-btn:hover:not(:disabled){background:#f5f5f5;box-shadow:0 2px 8px #0003}.google-signin-btn:active:not(:disabled){background:#eee}.google-signin-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{width:20px;height:20px}.loading-spinner{width:20px;height:20px;border:2px solid #ddd;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-error{margin-top:16px;padding:12px;background:#dc354526;border:1px solid rgba(220,53,69,.3);border-radius:2px;color:#ff6b6b;font-size:13px}.login-footer{padding-top:24px;border-top:1px solid #333}.login-footer p{font-size:13px;color:#666;margin:0}:root{--bg-app: #1a1a1a;--bg-panel: #232323;--bg-panel-header: #2a2a2a;--bg-input: #151515;--bg-panel-raised: #262626;--bg-panel-sunken: #1d1d1d;--bg-hover: rgba(255, 255, 255, .06);--bg-hover-strong: rgba(255, 255, 255, .1);--border-color: #333333;--border-active: #555555;--text-primary: #cccccc;--text-secondary: #aaaaaa;--text-muted: #666666;--accent-primary: #4a90e2;--accent-hover: #5aa0f2;--accent-tint-subtle: rgba(74, 144, 226, .08);--accent-tint-medium: rgba(74, 144, 226, .14);--accent-tint-strong: rgba(74, 144, 226, .22);--text-destructive: #ff6b6b;--overlay-glass-dark: rgba(0, 0, 0, .72);--overlay-glass-darker: rgba(0, 0, 0, .78);--scrollbar-thumb: rgba(255, 255, 255, .15);--scrollbar-thumb-hover: rgba(255, 255, 255, .25);--shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-inset-bottom: inset 0 -1px 0 rgba(0, 0, 0, .3);--ease-standard: cubic-bezier(.2, 0, 0, 1);--duration-fast: .12s;--duration-base: .18s;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--radius-sm: 2px;--radius-md: 4px;--header-height: 32px}.meta-label{font-size:10px;font-weight:600;line-height:1;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;-webkit-user-select:none;user-select:none}.panel-divider{height:1px;background-color:var(--border-color);margin:var(--spacing-sm) var(--spacing-sm);flex-shrink:0}*{box-sizing:border-box}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:var(--text-primary);padding:6px 20px;border-radius:var(--radius-sm);font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s}.btn:hover{background:#ffffff26}.btn:disabled{opacity:.4;cursor:default}.btn-default{border-color:var(--accent-primary);background:#4a90e21f}.btn-default:hover{background:#4a90e233}body{margin:0;padding:0;background-color:var(--bg-app);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400;height:100vh;width:100vw;overflow:hidden;-webkit-font-smoothing:antialiased}#root{height:100%;width:100%;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}:root{--ag-bg-app: #1a1a1a;--ag-bg-panel: #232323;--ag-bg-elevated: #2a2a2a;--ag-bg-input: #151515;--ag-bg-hover: rgba(255, 255, 255, .05);--ag-bg-active: rgba(255, 255, 255, .08);--ag-border-default: #333333;--ag-border-subtle: #2a2a2a;--ag-border-strong: #444444;--ag-border-interactive: #555555;--ag-text-primary: #e0e0e0;--ag-text-secondary: #aaaaaa;--ag-text-muted: #666666;--ag-text-disabled: #444444;--ag-accent-primary: #4a90e2;--ag-accent-hover: #5aa0f2;--ag-accent-subtle: rgba(74, 144, 226, .15);--ag-success: #4caf50;--ag-warning: #ff9800;--ag-error: #e57373;--ag-info: #64b5f6;--ag-space-1: 4px;--ag-space-2: 8px;--ag-space-3: 12px;--ag-space-4: 16px;--ag-space-5: 24px;--ag-space-6: 32px;--ag-font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--ag-font-mono: "JetBrains Mono", "Menlo", monospace;--ag-font-size-xs: 9px;--ag-font-size-sm: 11px;--ag-font-size-md: 13px;--ag-font-size-lg: 15px;--ag-font-size-xl: 18px;--ag-line-height-tight: 1.2;--ag-line-height-normal: 1.4;--ag-line-height-relaxed: 1.6;--ag-font-weight-normal: 400;--ag-font-weight-medium: 500;--ag-font-weight-semibold: 600;--ag-radius-sm: 2px;--ag-radius-md: 4px;--ag-radius-lg: 8px;--ag-radius-full: 9999px;--ag-border-width: 1px;--ag-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--ag-shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--ag-shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--ag-transition-fast: .1s ease;--ag-transition-normal: .2s ease;--ag-transition-slow: .3s ease;--ag-z-dropdown: 100;--ag-z-sticky: 200;--ag-z-modal-backdrop: 300;--ag-z-modal: 400;--ag-z-popover: 500;--ag-z-tooltip: 600}.ag-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ag-space-2);font-family:var(--ag-font-family);font-size:var(--ag-font-size-sm);font-weight:var(--ag-font-weight-semibold);line-height:1;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;padding:0 var(--ag-space-4);height:32px;min-width:64px;border:var(--ag-border-width) solid transparent;border-radius:var(--ag-radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:all var(--ag-transition-normal)}.ag-btn:focus-visible{box-shadow:0 0 0 2px var(--ag-accent-primary)}.ag-btn:disabled,.ag-btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.ag-btn-sm{height:24px;padding:0 var(--ag-space-2);font-size:var(--ag-font-size-xs);min-width:48px}.ag-btn-lg{height:40px;padding:0 var(--ag-space-5);font-size:var(--ag-font-size-md);min-width:80px}.ag-btn-primary{background-color:#444;color:var(--ag-text-primary);border-color:var(--ag-border-interactive)}.ag-btn-primary:hover{background-color:#555;border-color:var(--ag-accent-primary)}.ag-btn-primary:active{background-color:#3a3a3a}.ag-btn-secondary{background-color:transparent;color:var(--ag-text-secondary);border-color:var(--ag-border-default)}.ag-btn-secondary:hover{background-color:var(--ag-bg-hover);color:var(--ag-text-primary);border-color:var(--ag-accent-primary)}.ag-btn-ghost{background-color:transparent;color:var(--ag-text-secondary);border-color:transparent}.ag-btn-ghost:hover{background-color:var(--ag-bg-hover);color:var(--ag-text-primary)}.ag-btn-accent{background-color:var(--ag-accent-primary);color:#fff;border-color:var(--ag-accent-primary)}.ag-btn-accent:hover{background-color:var(--ag-accent-hover);border-color:var(--ag-accent-hover)}.ag-btn-danger{background-color:transparent;color:var(--ag-error);border-color:var(--ag-error)}.ag-btn-danger:hover{background-color:var(--ag-error);color:#fff}.ag-btn-icon{min-width:auto;width:32px;padding:0}.ag-btn-icon.ag-btn-sm{width:24px}.ag-btn-icon.ag-btn-lg{width:40px}.ag-input{display:block;width:100%;height:32px;padding:0 var(--ag-space-3);font-family:var(--ag-font-family);font-size:var(--ag-font-size-md);color:var(--ag-text-primary);background-color:var(--ag-bg-input);border:var(--ag-border-width) solid var(--ag-border-default);border-radius:var(--ag-radius-sm);outline:none;transition:border-color var(--ag-transition-normal)}.ag-input::placeholder{color:var(--ag-text-muted)}.ag-input:hover{border-color:var(--ag-border-interactive)}.ag-input:focus{border-color:var(--ag-accent-primary)}.ag-input:disabled{opacity:.5;cursor:not-allowed}.ag-input-error{border-color:var(--ag-error)}.ag-input-sm{height:24px;padding:0 var(--ag-space-2);font-size:var(--ag-font-size-sm)}.ag-input-lg{height:40px;padding:0 var(--ag-space-4)}.ag-textarea{display:block;width:100%;min-height:80px;padding:var(--ag-space-3);font-family:var(--ag-font-family);font-size:var(--ag-font-size-md);line-height:var(--ag-line-height-normal);color:var(--ag-text-primary);background-color:var(--ag-bg-input);border:var(--ag-border-width) solid var(--ag-border-default);border-radius:var(--ag-radius-sm);resize:vertical;outline:none;transition:border-color var(--ag-transition-normal)}.ag-textarea:hover{border-color:var(--ag-border-interactive)}.ag-textarea:focus{border-color:var(--ag-accent-primary)}.ag-select{display:block;width:100%;height:32px;padding:0 var(--ag-space-3);padding-right:28px;font-family:var(--ag-font-family);font-size:var(--ag-font-size-sm);color:var(--ag-text-primary);background-color:var(--ag-bg-input);border:var(--ag-border-width) solid var(--ag-border-default);border-radius:var(--ag-radius-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;cursor:pointer;outline:none;transition:border-color var(--ag-transition-normal)}.ag-select:hover{border-color:var(--ag-border-interactive)}.ag-select:focus{border-color:var(--ag-accent-primary)}.ag-select:disabled{opacity:.5;cursor:not-allowed}.ag-select option{background-color:var(--ag-bg-elevated);color:var(--ag-text-primary)}.ag-label{display:block;font-size:var(--ag-font-size-xs);font-weight:var(--ag-font-weight-semibold);color:var(--ag-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--ag-space-1)}.ag-form-group{display:flex;flex-direction:column;gap:var(--ag-space-1);margin-bottom:var(--ag-space-3)}.ag-help-text{font-size:var(--ag-font-size-xs);color:var(--ag-text-muted);font-style:italic}.ag-error-text{font-size:var(--ag-font-size-xs);color:var(--ag-error)}.ag-card{background-color:var(--ag-bg-elevated);border:var(--ag-border-width) solid var(--ag-border-default);border-radius:var(--ag-radius-md);padding:var(--ag-space-4)}.ag-card-header{font-size:var(--ag-font-size-sm);font-weight:var(--ag-font-weight-semibold);color:var(--ag-text-primary);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--ag-space-2);margin-bottom:var(--ag-space-3);border-bottom:var(--ag-border-width) solid var(--ag-border-default)}.ag-divider{height:1px;background-color:var(--ag-border-default);margin:var(--ag-space-4) 0}.ag-badge{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 var(--ag-space-2);font-size:var(--ag-font-size-xs);font-weight:var(--ag-font-weight-medium);text-transform:uppercase;letter-spacing:.3px;background-color:var(--ag-bg-hover);border-radius:var(--ag-radius-sm);color:var(--ag-text-secondary)}.ag-badge-accent{background-color:var(--ag-accent-subtle);color:var(--ag-accent-primary)}.ag-badge-success{background-color:#4caf5026;color:var(--ag-success)}.ag-badge-warning{background-color:#ff980026;color:var(--ag-warning)}.ag-badge-error{background-color:#e5737326;color:var(--ag-error)}.ag-slot{display:flex;align-items:center;justify-content:center;min-width:60px;min-height:60px;background-color:#ffffff05;border:var(--ag-border-width) dashed var(--ag-border-interactive);border-radius:var(--ag-radius-sm);cursor:pointer;transition:all var(--ag-transition-normal);position:relative;overflow:hidden}.ag-slot:hover{background-color:var(--ag-bg-hover);border-color:var(--ag-accent-primary)}.ag-slot-active{border-style:solid;border-color:var(--ag-accent-primary)}.ag-slot-placeholder{font-size:var(--ag-font-size-xs);color:var(--ag-text-muted);text-transform:uppercase;text-align:center;pointer-events:none}.ag-flex{display:flex}.ag-flex-col{flex-direction:column}.ag-flex-row{flex-direction:row}.ag-items-center{align-items:center}.ag-justify-center{justify-content:center}.ag-justify-between{justify-content:space-between}.ag-gap-1{gap:var(--ag-space-1)}.ag-gap-2{gap:var(--ag-space-2)}.ag-gap-3{gap:var(--ag-space-3)}.ag-gap-4{gap:var(--ag-space-4)}.ag-m-0{margin:0}.ag-mb-1{margin-bottom:var(--ag-space-1)}.ag-mb-2{margin-bottom:var(--ag-space-2)}.ag-mb-3{margin-bottom:var(--ag-space-3)}.ag-mb-4{margin-bottom:var(--ag-space-4)}.ag-text-primary{color:var(--ag-text-primary)}.ag-text-secondary{color:var(--ag-text-secondary)}.ag-text-muted{color:var(--ag-text-muted)}.ag-text-sm{font-size:var(--ag-font-size-sm)}.ag-text-xs{font-size:var(--ag-font-size-xs)}.ag-text-uppercase{text-transform:uppercase}.ag-font-semibold{font-weight:var(--ag-font-weight-semibold)}.ag-w-full{width:100%}.ag-flex-1{flex:1}.ag-flex-shrink-0{flex-shrink:0}
