.image-preview-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.image-preview-modal-container{width:100vw;height:100vh;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.image-preview-modal-content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;max-width:100vw;max-height:100vh}.image-preview-modal-close{position:absolute;top:2rem;right:2rem;z-index:20;padding:.75rem;background-color:#000c;color:#fff;border-radius:50%;transition:all .2s ease-in-out;border:2px solid rgba(255,255,255,.2)}.image-preview-modal-close:hover{background-color:#000000e6;border-color:#fff6;transform:scale(1.1)}.image-preview-modal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:20;padding:1rem;background-color:#0009;color:#fff;border-radius:50%;transition:all .2s ease-in-out;border:2px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer}.image-preview-modal-nav:hover{background-color:#000c;border-color:#fff6;transform:translateY(-50%) scale(1.1)}.image-preview-modal-nav-left{left:2rem}.image-preview-modal-nav-right{right:2rem}.image-preview-modal-image{max-width:85vw;max-height:65vh;-o-object-fit:contain;object-fit:contain;border-radius:.75rem;box-shadow:0 25px 50px -12px #00000080}.image-preview-modal-info{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);text-align:center;color:#fff;width:100%;max-width:500px;padding:0 2rem;border-radius:.75rem;backdrop-filter:blur(8px)}.image-preview-modal-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem;word-break:break-word}.image-preview-modal-counter{font-size:.85rem;color:#d1d5db;margin-bottom:.5rem;font-weight:500}.image-preview-modal-description{color:#d1d5db;margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.image-preview-modal-details{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.85rem;color:#d1d5db;margin-bottom:.75rem;flex-wrap:wrap}.image-preview-modal-detail-item{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.image-preview-modal-actions{display:flex;align-items:center;justify-content:center;gap:.75rem}.image-preview-modal-action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:500;border-radius:.5rem;transition:all .2s ease-in-out;min-width:100px;justify-content:center}.image-preview-modal-action-button-primary{background-color:#2563eb;color:#fff}.image-preview-modal-action-button-primary:hover{background-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.image-preview-modal-action-button-secondary{background-color:#059669;color:#fff}.image-preview-modal-action-button-secondary:hover{background-color:#047857;transform:translateY(-1px);box-shadow:0 4px 12px #05966966}@media (max-width: 768px){.image-preview-modal-container{width:100vw;height:100vh;padding:0}.image-preview-modal-image{max-width:90vw;max-height:55vh}.image-preview-modal-close{top:1rem;right:1rem;padding:.5rem}.image-preview-modal-nav{padding:.75rem}.image-preview-modal-nav-left{left:1rem}.image-preview-modal-nav-right{right:1rem}.image-preview-modal-info{bottom:.5rem;padding:0 1rem;max-width:90vw}.image-preview-modal-details{flex-direction:column;gap:.5rem}.image-preview-modal-actions{flex-direction:column;gap:.75rem;width:100%}.image-preview-modal-action-button{width:100%;max-width:200px}}@media (max-width: 480px){.image-preview-modal-container{width:100vw;height:100vh;padding:0}.image-preview-modal-image{max-width:90vw;max-height:45vh}.image-preview-modal-close{top:.5rem;right:.5rem;padding:.5rem}.image-preview-modal-nav{padding:.5rem}.image-preview-modal-nav-left{left:.5rem}.image-preview-modal-nav-right{right:.5rem}.image-preview-modal-info{bottom:.25rem;padding:0 .5rem;max-width:95vw}.image-preview-modal-title{font-size:1rem}.image-preview-modal-details{font-size:.75rem}}.image-batch-delete-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.image-batch-delete-modal-container{background-color:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.image-batch-delete-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.image-batch-delete-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.image-batch-delete-modal-close{padding:.5rem;color:#6b7280;background:none;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s}.image-batch-delete-modal-close:hover{background-color:#f3f4f6;color:#111827}.image-batch-delete-modal-content{flex:1;overflow-y:auto;padding:1.5rem}.image-batch-delete-modal-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.image-batch-delete-modal-select-all{padding:.5rem 1rem;font-size:.875rem;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .2s}.image-batch-delete-modal-select-all:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.image-batch-delete-modal-select-all:disabled{opacity:.5;cursor:not-allowed}.image-batch-delete-modal-count{font-size:.875rem;color:#6b7280}.image-batch-delete-modal-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.image-batch-delete-modal-image-item{display:flex;flex-direction:column;border:2px solid #e5e7eb;border-radius:.5rem;overflow:hidden;cursor:pointer;transition:all .2s;position:relative}.image-batch-delete-modal-image-item:hover:not(.disabled){border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.image-batch-delete-modal-image-item.checked{border-color:#3b82f6;background-color:#eff6ff}.image-batch-delete-modal-image-item.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.image-batch-delete-modal-checkbox{position:absolute;top:.5rem;left:.5rem;z-index:10;background-color:#ffffffe6;border-radius:.25rem;padding:.25rem;cursor:pointer}.image-batch-delete-modal-thumbnail{width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;background-color:#f3f4f6}.image-batch-delete-modal-image-info{padding:.75rem;flex:1}.image-batch-delete-modal-image-name{font-size:.875rem;color:#374151;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-batch-delete-modal-empty{text-align:center;padding:3rem;color:#6b7280}.image-batch-delete-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.image-batch-delete-modal-cancel{padding:.5rem 1rem;font-size:.875rem;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;transition:all .2s}.image-batch-delete-modal-cancel:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.image-batch-delete-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.image-batch-delete-modal-confirm{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;color:#fff;background-color:#dc2626;border:1px solid #dc2626;border-radius:.375rem;cursor:pointer;transition:all .2s}.image-batch-delete-modal-confirm:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.image-batch-delete-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.image-batch-delete-modal-confirm .animate-spin{animation:spin 1s linear infinite}.image-browser{display:flex;flex-direction:column}.image-browser-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:0 1rem}.image-browser-header{display:flex;align-items:center;gap:1rem}.image-browser-title{font-size:1.25rem;font-weight:600;color:#111827}.image-browser-count{font-size:.875rem;color:#6b7280}.image-browser-filter-count{margin-left:.5rem;color:#3b82f6}.image-browser-controls{display:flex;align-items:center;gap:1rem}.image-browser-filter-section{margin-bottom:1.5rem}.image-browser-content{flex:1;min-height:0;display:flex;flex-direction:column}.image-browser-view{display:flex;flex-direction:column;flex:1;min-height:0}.image-browser-view.visible{display:flex}.image-browser-view.hidden{display:none}@media (max-width: 768px){.image-browser-toolbar{flex-direction:column;gap:1rem;align-items:stretch}.image-browser-header{justify-content:center;text-align:center}.image-browser-controls{justify-content:center;flex-wrap:wrap}}@media (max-width: 640px){.image-browser-toolbar{padding:0 .5rem}.image-browser-title{font-size:1.125rem}.image-browser-controls{gap:.5rem}}.image-browser-loading{display:flex;justify-content:center;align-items:center;min-height:200px}.image-browser-loading-spinner{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.image-browser-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center;color:#6b7280}.image-browser-empty-icon{width:4rem;height:4rem;margin-bottom:1rem;opacity:.5}.image-browser-empty-title{font-size:1.25rem;font-weight:500;margin-bottom:.5rem;color:#374151}.image-browser-empty-description{font-size:.875rem;max-width:24rem}.image-browser-tooltip{position:relative}.image-browser-tooltip:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;white-space:nowrap;z-index:50;margin-bottom:.25rem}.image-browser-tooltip:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#1f2937;z-index:50}.image-browser-transition{transition:all .2s ease-in-out}.image-browser-focusable:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-reduced-motion: reduce){.image-browser-transition,.image-browser-loading-spinner{animation:none;transition:none}}@media (prefers-contrast: high){.image-browser-title{color:#000}.image-browser-count{color:#404040}.image-browser-filter-count{color:#00f}}.image-edit-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.image-edit-modal-content{background-color:#fff;border-radius:.5rem;padding:1.5rem;width:100%;max-width:28rem;margin:0 1rem}.image-edit-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.image-edit-modal-title{font-size:1.125rem;font-weight:600;color:#1f2937}.image-edit-modal-close{color:#9ca3af;transition:color .2s ease-in-out;padding:.25rem;border-radius:.5rem;background:none;border:none;cursor:pointer}.image-edit-modal-close:hover{color:#6b7280}.image-edit-modal-close-icon{width:1.25rem;height:1.25rem}.image-edit-file-info{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:#f9fafb;border-radius:.5rem;margin-bottom:1rem}.image-edit-file-thumbnail{width:4rem;height:4rem;-o-object-fit:cover;object-fit:cover;border-radius:.25rem}.image-edit-file-details{flex:1;min-width:0}.image-edit-file-name{font-size:.875rem;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-edit-file-size{font-size:.75rem;color:#6b7280}.image-edit-form-group{margin-bottom:1rem}.image-edit-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.image-edit-form-optional{color:#9ca3af;font-size:.75rem}.image-edit-form-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease-in-out}.image-edit-form-input:focus{ring:2px;ring-color:#3b82f6;border-color:#3b82f6}.image-edit-form-textarea{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:all .2s ease-in-out;resize:none}.image-edit-form-textarea:focus{ring:2px;ring-color:#3b82f6;border-color:#3b82f6}.image-edit-form-description{font-size:.75rem;color:#6b7280;margin-top:.25rem}.image-edit-tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;padding:.5rem;min-height:2.5rem;border:1px solid #e5e7eb;border-radius:.375rem;background-color:#f9fafb}.image-edit-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background-color:#3b82f6;color:#fff;border-radius:.25rem;font-size:.875rem;font-weight:500}.image-edit-tag-remove{display:flex;align-items:center;justify-content:center;padding:0;margin-left:.25rem;background:none;border:none;color:#fff;cursor:pointer;border-radius:50%;width:1rem;height:1rem;transition:background-color .2s ease-in-out}.image-edit-tag-remove:hover{background-color:#fff3}.image-edit-tag-remove-icon{width:.75rem;height:.75rem}.image-edit-button-group{display:flex;gap:.75rem;padding-top:1rem}.image-edit-button{flex:1;padding:1rem;border-radius:.375rem;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500}.image-edit-button-secondary{border:1px solid #d1d5db;color:#374151;background-color:transparent}.image-edit-button-secondary:hover{background-color:#f9fafb}.image-edit-button-primary{background-color:#2563eb;color:#fff}.image-edit-button-primary:hover{background-color:#1d4ed8}.image-edit-button-primary:disabled{opacity:.5;cursor:not-allowed}.image-edit-button-icon{width:1rem;height:1rem}@media (max-width: 640px){.image-edit-modal-content{margin:0 .5rem;padding:1rem}.image-edit-button-group{flex-direction:column}.image-edit-button{width:100%}}.image-browser-container{width:100%}.image-browser-item{transition:all .2s ease-in-out;background-color:#fff;border-radius:.5rem;box-shadow:0 1px 2px #0000000d;border:1px solid;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;height:100%;contain:style paint;will-change:transform}.image-browser-item.unselected{border-color:#e5e7eb}.image-browser-item.unselected:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.image-browser-item.selected{border-color:#3b82f6;outline:2px solid #3b82f6;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.image-grid-preview{position:relative;width:100%;aspect-ratio:1;max-height:400px;background-color:#f8fafc;flex-shrink:0;overflow:hidden}.image-grid-selected-indicator{position:absolute;top:.5rem;right:.5rem;z-index:10;background-color:#3b82f6;color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 1px 2px #0000000d}.image-grid-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-grid-overlay{position:absolute;inset:0;background-color:#0000;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;opacity:0}.image-grid-overlay:hover{background-color:#0000004d;opacity:1}.image-grid-actions{display:flex;gap:.5rem}.image-action-icon{width:1rem;height:1rem;color:#111827}.image-info-section{padding:.75rem;flex:0 0 auto;display:flex;flex-direction:column;min-height:160px;max-height:180px;overflow:hidden}.image-info-content{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:.25rem}.image-grid-title{font-weight:500;color:#111827;font-size:.875rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4;flex-shrink:0}.image-grid-description{color:#6b7280;font-size:.75rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:1.4;flex-shrink:0;word-break:break-word}.image-info-footer{margin-top:auto;padding-top:.5rem;display:flex;flex-direction:column;gap:.25rem;flex-shrink:0;min-height:-moz-fit-content;min-height:fit-content}.image-grid-tags{display:flex;flex-wrap:wrap;gap:.25rem;max-height:2.5rem;overflow:hidden}.image-tag-primary{background-color:#dbeafe;color:#1e40af}.image-tag-secondary{background-color:#f3f4f6;color:#6b7280}.image-grid-meta{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:#6b7280}.image-grid-size{display:flex;align-items:center;gap:.25rem}.image-grid-meta-icon{width:.75rem;height:.75rem}.image-grid-date{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280}.image-grid-container{height:100%;overflow-y:auto}.image-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem;padding:1rem;align-items:stretch}@media (min-width: 640px){.image-grid{grid-template-columns:repeat(2,1fr)}.image-grid-preview{max-height:300px}}@media (min-width: 768px){.image-grid{grid-template-columns:repeat(3,1fr)}.image-grid-preview{max-height:280px}}@media (min-width: 1024px){.image-grid{grid-template-columns:repeat(4,1fr)}.image-grid-preview{max-height:260px}}@media (min-width: 1280px){.image-grid{grid-template-columns:repeat(5,1fr)}.image-grid-preview{max-height:240px}}@media (min-width: 1536px){.image-grid{grid-template-columns:repeat(6,1fr)}.image-grid-preview{max-height:220px}}.image-grid-loading{display:flex;align-items:center;justify-content:center;padding:2rem 0}.image-grid-loading-content{display:flex;align-items:center;gap:.5rem;color:#6b7280}.image-grid-loading-spinner{width:1.25rem;height:1.25rem;animation:spin 1s linear infinite}.image-grid-load-more-button{padding:.75rem 1.5rem;background-color:#2563eb;color:#fff;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out}.image-grid-load-more-button:hover{background-color:#1d4ed8}.image-grid-all-loaded{text-align:center;padding:2rem 0;color:#6b7280}.image-grid-empty{text-align:center;padding:4rem 0;color:#6b7280}.lazy-load-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.image-loading-spinner{border:2px solid #e2e8f0;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.image-tag{display:inline-block;padding:2px 8px;font-size:.75rem;font-weight:500;border-radius:9999px;transition:all .2s ease-in-out}.image-tag:hover{transform:scale(1.05)}.image-action-button{padding:8px;background:#ffffffe6;border-radius:50%;transition:all .2s ease-in-out;backdrop-filter:blur(4px)}.image-action-button:hover{background:#fff;transform:scale(1.1);box-shadow:0 4px 12px #00000026}@media (min-width: 640px){.image-browser-item{min-height:320px}}@media (min-width: 768px){.image-browser-item{min-height:340px}}@media (min-width: 1024px){.image-browser-item{min-height:360px}}@media (min-width: 1280px){.image-browser-item{min-height:380px}}@media (min-width: 1536px){.image-browser-item{min-height:400px}}.image-url-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.image-url-modal-container{background-color:#fff;border-radius:.5rem;box-shadow:0 25px 50px -12px #00000040;max-width:32rem;width:100%;margin:1rem}.image-url-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.image-url-modal-title{font-size:1.125rem;font-weight:500;color:#111827}.image-url-modal-close{color:#9ca3af;transition:color .2s ease-in-out}.image-url-modal-close:hover{color:#6b7280}.image-url-modal-content{padding:1.5rem}.image-url-modal-image-info{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.image-url-modal-thumbnail{width:4rem;height:4rem;-o-object-fit:cover;object-fit:cover;border-radius:.5rem}.image-url-modal-image-details{flex:1}.image-url-modal-image-name{font-weight:500;color:#111827;margin-bottom:.25rem}.image-url-modal-image-dimensions{font-size:.875rem;color:#6b7280}.image-url-modal-url-section{margin-bottom:1rem}.image-url-modal-url-section:last-child{margin-bottom:0}.image-url-modal-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.image-url-modal-input-group{display:flex;align-items:center;gap:.5rem}.image-url-modal-input{flex:1;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;background-color:#f9fafb;font-size:.875rem;color:#374151}.image-url-modal-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.image-url-modal-button{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out;white-space:nowrap}.image-url-modal-button-primary{background-color:#2563eb;color:#fff}.image-url-modal-button-primary:hover{background-color:#1d4ed8}.image-url-modal-button-secondary{background-color:#059669;color:#fff}.image-url-modal-button-secondary:hover{background-color:#047857}@media (max-width: 640px){.image-url-modal-container{margin:.5rem}.image-url-modal-header,.image-url-modal-content{padding:1rem}.image-url-modal-input-group{flex-direction:column;align-items:stretch}.image-url-modal-button{justify-content:center}.image-url-modal-image-info{flex-direction:column;align-items:flex-start;text-align:left}.image-url-modal-thumbnail{width:3rem;height:3rem}}.image-list-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);background-color:#fffffff2}.image-list-content{background-color:#f9fafb;display:flex;flex-direction:column;min-height:0;flex:1}.image-list-item{transition:all .2s ease-in-out;cursor:pointer}.image-list-item.unselected{background-color:#fff;border-bottom:1px solid #f3f4f6}.image-list-item.unselected:hover{background-color:#f9fafb;box-shadow:0 2px 8px #0000001a}.image-list-item.selected{background-color:#dbeafe;border-left:4px solid #2563eb;border-bottom:1px solid #93c5fd;box-shadow:0 4px 6px -1px #0000001a,0 0 0 2px #60a5fa;position:relative;z-index:1}.image-list-action-button{padding:.5rem;color:#6b7280;border-radius:.5rem;transition:all .2s ease-in-out;border:none;background:none;cursor:pointer}.image-list-action-button:hover{color:#111827;background-color:#f3f4f6}.image-list-secondary-button{display:inline-flex;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;color:#374151;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;transition:all .2s ease-in-out;cursor:pointer}.image-list-secondary-button:hover{background-color:#f9fafb;border-color:#9ca3af}.image-list-main-content{flex:1;min-width:0}.image-list-info-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.image-list-title{font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-list-title.unselected{color:#111827}.image-list-title.selected{color:#1e3a8a;font-weight:600}.image-list-selected-indicator{margin-left:.5rem;color:#2563eb;font-size:.75rem}.image-list-tags{display:flex;align-items:center;gap:.25rem}.image-list-tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500}.image-list-tag-primary{background-color:#dbeafe;color:#1e40af}.image-list-tag-secondary{background-color:#f3f4f6;color:#6b7280}.image-list-description{font-size:.875rem;color:#6b7280;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.image-list-meta{display:flex;align-items:center;gap:1rem;font-size:.75rem;color:#6b7280}.image-list-meta-item{display:flex;align-items:center;gap:.25rem}.image-list-meta-icon{width:.75rem;height:.75rem}.image-list-actions{display:flex;align-items:center;gap:.5rem}.image-list-button-icon{width:1rem;height:1rem;margin-right:.25rem}.image-list-expanded{padding:.75rem 1.5rem;background-color:#f9fafb;border-top:1px solid #f3f4f6}.image-list-expanded-content{display:flex;align-items:center;justify-content:space-between}.image-list-expanded-actions{display:flex;align-items:center;gap:.75rem}.image-list-delete-button{color:#dc2626}.image-list-delete-button:hover{background-color:#fef2f2}.image-list-empty{flex:1;display:flex;align-items:center;justify-content:center}.image-list-empty-content{text-align:center;padding:3rem 0}.image-list-empty-icon{margin:0 auto 1rem;width:4rem;height:4rem;background-color:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center}.image-list-empty-icon-svg{width:2rem;height:2rem;color:#9ca3af}.image-list-empty-title{font-size:1.125rem;font-weight:500;color:#111827;margin-bottom:.5rem}.image-list-empty-description{color:#6b7280}.image-list-header-content{display:flex;align-items:center;justify-content:space-between}.image-list-header-title{font-size:1.125rem;font-weight:500;color:#111827}.image-list-header-count{font-size:.875rem;color:#6b7280}.image-list-loading{display:flex;align-items:center;justify-content:center;padding:2rem 0}.image-list-loading-content{display:flex;align-items:center;gap:.5rem;color:#6b7280}.image-list-loading-spinner{width:1.25rem;height:1.25rem;animation:spin 1s linear infinite}.image-list-load-more-button{padding:.75rem 1.5rem;background-color:#2563eb;color:#fff;border-radius:.5rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out}.image-list-load-more-button:hover{background-color:#1d4ed8}.image-list-all-loaded{text-align:center;padding:2rem 0;color:#6b7280}.image-list-no-images{text-align:center;padding:4rem 0;color:#6b7280}.image-list-main-row{display:flex;align-items:center;gap:1rem}.image-list-thumbnail-container{flex-shrink:0;position:relative}.image-list-thumbnail{width:4rem;height:4rem;background-color:#f3f4f6;border-radius:.5rem;overflow:hidden}.image-list-thumbnail-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-list-thumbnail-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-list-selected-badge{position:absolute;top:-.25rem;right:-.25rem;background-color:#2563eb;color:#fff;border-radius:50%;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;box-shadow:0 4px 6px -1px #0000001a}.image-list-action-icon{width:1rem;height:1rem}.image-list-scroll-container{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.image-loading-spinner{border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.image-list-item .px-6{padding-left:1rem;padding-right:1rem}.image-list-item .w-16{width:3rem}.image-list-item .h-16{height:3rem}.image-list-header .px-6{padding-left:1rem;padding-right:1rem}}@media (max-width: 640px){.image-list-item .px-6,.image-list-header .px-6{padding-left:.75rem;padding-right:.75rem}}.image-sorter-container{display:flex;align-items:center;gap:.5rem}.image-sorter-label{font-size:.875rem;color:#6b7280;margin-right:.5rem}.sort-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;transition:all .2s ease-in-out;font-size:.875rem;font-weight:500;border:1px solid;cursor:pointer}.sort-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.sort-button.active{background-color:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.sort-button.inactive{background-color:transparent;color:#4b5563;border-color:#d1d5db}.sort-button.inactive:hover{background-color:#f9fafb;color:#111827;border-color:#9ca3af}.sort-icon{width:1rem;height:1rem;transition:transform .2s ease-in-out}.sort-button:hover .sort-icon{transform:scale(1.1)}.sort-label{font-weight:500;white-space:nowrap}@media (max-width: 768px){.image-sorter-container{flex-direction:column;align-items:flex-start;gap:.75rem}.sort-button{width:100%;justify-content:center}}@media (max-width: 640px){.image-sorter-container{margin-top:.5rem}.sort-button{padding:.375rem .5rem;font-size:.75rem}.sort-icon{width:.875rem;height:.875rem}}@keyframes sortPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.sort-button:active{animation:sortPulse .2s ease-in-out}.sort-status{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280;margin-left:.5rem}.sort-status.active{color:#1d4ed8;font-weight:500}.image-sorter-icon{width:1rem;height:1rem}.image-view-toggle-container{display:flex;align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:.25rem}.image-view-toggle-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease-in-out;font-size:.875rem;font-weight:500}.image-view-toggle-button.active{background-color:#dbeafe;color:#1d4ed8;border:1px solid #bfdbfe}.image-view-toggle-button.inactive{color:#6b7280}.image-view-toggle-button.inactive:hover{color:#111827;background-color:#f9fafb}.image-view-toggle-icon{width:1rem;height:1rem}.image-view-toggle-text{font-size:.875rem;font-weight:500}.image-crop-modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.image-crop-modal-content{background-color:#fff;border-radius:.75rem;width:100%;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040}.image-crop-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.5rem 0;border-bottom:1px solid #e5e7eb;margin-bottom:1rem}.image-crop-modal-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.image-crop-modal-close{color:#9ca3af;transition:all .2s ease-in-out;padding:.5rem;border-radius:50%;background:none;border:none;cursor:pointer}.image-crop-modal-close:hover{color:#6b7280;background-color:#f3f4f6}.image-crop-modal-close-icon{width:1.25rem;height:1.25rem}.image-crop-modal-body{flex:1;display:flex;flex-direction:column;padding:0 1.5rem;overflow:hidden}.image-crop-container{flex:1;display:flex;align-items:center;justify-content:center;min-height:400px;max-height:60vh;overflow:hidden;background-color:#f9fafb;border-radius:.5rem;position:relative}.image-crop-react-crop{max-width:100%;max-height:100%}.image-crop-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.image-crop-controls{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid #e5e7eb;margin-top:1rem}.image-crop-controls-group{display:flex;gap:.75rem}.image-crop-control-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.image-crop-control-button:hover{background-color:#e5e7eb;border-color:#9ca3af}.image-crop-control-button:focus{outline:none;box-shadow:0 0 0 2px #3b82f61a}.image-crop-control-icon{width:1rem;height:1rem}.image-crop-info{text-align:right}.image-crop-filename{font-size:.875rem;font-weight:500;color:#111827;margin:0 0 .25rem}.image-crop-dimensions{font-size:.75rem;color:#6b7280;margin:0}.image-crop-modal-footer{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;justify-content:flex-end}.image-crop-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;border:1px solid}.image-crop-button:focus{outline:none;box-shadow:0 0 0 2px}.image-crop-button-secondary{background-color:#fff;color:#374151;border-color:#d1d5db}.image-crop-button-secondary:hover{background-color:#f9fafb;border-color:#9ca3af}.image-crop-button-secondary:focus{box-shadow:0 0 0 2px #3b82f61a}.image-crop-button-skip{background-color:#f59e0b;color:#fff;border-color:#f59e0b}.image-crop-button-skip:hover{background-color:#d97706;border-color:#d97706}.image-crop-button-skip:focus{box-shadow:0 0 0 2px #f59e0b1a}.image-crop-button-primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.image-crop-button-primary:hover{background-color:#2563eb;border-color:#2563eb}.image-crop-button-primary:focus{box-shadow:0 0 0 2px #3b82f61a}.image-crop-button-primary:disabled{opacity:.5;cursor:not-allowed}.image-crop-button-icon{width:1rem;height:1rem}@media (max-width: 768px){.image-crop-modal-content{max-width:95vw;max-height:95vh}.image-crop-modal-header{padding:1rem 1rem 0}.image-crop-modal-body{padding:0 1rem}.image-crop-modal-footer{padding:1rem;flex-direction:column}.image-crop-button{width:100%;justify-content:center}.image-crop-controls{flex-direction:column;gap:1rem;align-items:stretch}.image-crop-controls-group{justify-content:center}.image-crop-info{text-align:center}.image-crop-container{min-height:300px;max-height:50vh}}.ReactCrop{display:inline-block;position:relative;width:100%;height:100%;overflow:hidden}.ReactCrop__crop-selection{border:2px solid #3b82f6;box-shadow:0 0 0 1px #3b82f64d}.ReactCrop__drag-handle{background-color:#3b82f6;border:2px solid #ffffff;width:12px;height:12px}.ReactCrop__drag-handle:hover{background-color:#2563eb}.ReactCrop__crop-selection:focus{outline:none;box-shadow:0 0 0 2px #3b82f680}.image-upload-dropzone{border:2px dashed;border-radius:1rem;padding:3rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;min-height:280px;display:flex;align-items:center;justify-content:center}.image-upload-dropzone:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f60d,#9333ea0d);opacity:0;transition:opacity .3s ease}.image-upload-dropzone.active:before{opacity:1}.image-upload-dropzone.active{border-color:#3b82f6;background-color:#eff6ff;border-width:3px;transform:scale(1.02);box-shadow:0 10px 25px -5px #3b82f633,0 4px 6px -2px #3b82f61a}.image-upload-dropzone.inactive{border-color:#d1d5db;background-color:#fff}.image-upload-dropzone.inactive:hover{border-color:#3b82f6;background-color:#f8fafc;border-width:2.5px;box-shadow:0 4px 12px #3b82f61a}.image-upload-content{display:flex;flex-direction:column;align-items:center;gap:1.25rem;position:relative;z-index:1}.image-upload-icon-container{padding:1.25rem;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.image-upload-icon-container.active{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:scale(1.1);box-shadow:0 8px 16px #3b82f64d}.image-upload-icon-container.inactive{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.image-upload-icon-container.inactive:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);transform:translateY(-2px)}.image-upload-icon{width:2.5rem;height:2.5rem;transition:all .3s ease}.image-upload-icon.active{color:#fff;animation:bounce .6s ease}.image-upload-icon.inactive{color:#64748b}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.image-upload-text{font-size:1.125rem;font-weight:600;line-height:1.5;transition:color .3s ease}.image-upload-text.active{color:#1e40af}.image-upload-text.inactive{color:#1f2937}.image-upload-description{font-size:.875rem;color:#6b7280;margin-top:.5rem;line-height:1.6;max-width:500px}.image-upload-crop-hint{color:#3b82f6;font-weight:600;display:inline-block;margin-left:.25rem}.image-upload-formats{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem}.image-upload-format-tag{display:inline-flex;align-items:center;padding:.375rem .75rem;background-color:#f3f4f6;color:#4b5563;border-radius:.5rem;font-size:.75rem;font-weight:500;transition:all .2s ease}.image-upload-format-tag:hover{background-color:#e5e7eb;transform:translateY(-1px)}@media (max-width: 640px){.image-upload-dropzone{padding:2rem 1.5rem;min-height:240px}.image-upload-icon{width:2rem;height:2rem}.image-upload-icon-container{padding:1rem}.image-upload-text{font-size:1rem}.image-upload-description{font-size:.8125rem;max-width:100%}.image-upload-formats{margin-top:.75rem;gap:.375rem}.image-upload-format-tag{font-size:.6875rem;padding:.25rem .5rem}}@media (max-width: 480px){.image-upload-dropzone{padding:1.5rem 1rem;min-height:200px}.image-upload-content{gap:1rem}.image-upload-icon{width:1.75rem;height:1.75rem}.image-upload-icon-container{padding:.875rem}.image-upload-text{font-size:.9375rem}.image-upload-description{font-size:.75rem}}.image-upload-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.image-upload-modal-content{background-color:#fff;border-radius:.5rem;padding:1.5rem;width:100%;margin:0 1rem;max-height:90vh;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.image-upload-modal-content.single{max-width:28rem}.image-upload-modal-content.multiple{max-width:42rem}.image-upload-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.image-upload-modal-title{font-size:1.125rem;font-weight:600;color:#111827}.image-upload-modal-close{color:#9ca3af;transition:all .2s ease-in-out;padding:.25rem;border-radius:50%}.image-upload-modal-close:hover{color:#6b7280;background-color:#f8fafc}.image-upload-modal-close-icon{width:1.25rem;height:1.25rem}.image-upload-form{display:flex;flex-direction:column;gap:1.5rem}.image-upload-file-list{display:flex;flex-direction:column;gap:.5rem;max-height:10rem;overflow-y:auto}.image-upload-file-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:.75rem;border:1.5px solid #e2e8f0;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.image-upload-file-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.image-upload-file-icon{width:2rem;height:2rem;color:#64748b;flex-shrink:0;padding:.5rem;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:.5rem;border:1px solid #e2e8f0}.image-upload-file-info{flex:1;min-width:0}.image-upload-file-name{font-size:.9375rem;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.25rem}.image-upload-file-size{font-size:.8125rem;color:#64748b;font-weight:500}.image-upload-file-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.image-upload-file-dimensions{font-size:.8125rem;color:#64748b;font-weight:500}.image-upload-form-group{display:flex;flex-direction:column;gap:.5rem}.image-upload-form-label{display:block;font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.5rem;letter-spacing:-.01em}.image-upload-form-optional{color:#9ca3af;font-size:.75rem}.image-upload-form-input{width:100%;padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:.625rem;font-size:.875rem;background-color:#fff;color:#1e293b;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.image-upload-form-input:hover{border-color:#cbd5e1}.image-upload-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d;background-color:#fff}.image-upload-form-textarea{width:100%;padding:.75rem 1rem;border:1.5px solid #e2e8f0;border-radius:.625rem;font-size:.875rem;background-color:#fff;color:#1e293b;transition:all .2s cubic-bezier(.4,0,.2,1);resize:none;box-shadow:0 1px 2px #0000000d;line-height:1.5;font-family:inherit}.image-upload-form-textarea:hover{border-color:#cbd5e1}.image-upload-form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d;background-color:#fff}.image-upload-tags-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;padding:.75rem;min-height:3rem;border:1.5px solid #e2e8f0;border-radius:.625rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);transition:all .2s ease}.image-upload-tags-container:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.image-upload-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:.5rem;font-size:.8125rem;font-weight:600;box-shadow:0 1px 2px #3b82f633;transition:all .2s ease}.image-upload-tag:hover{transform:translateY(-1px);box-shadow:0 2px 4px #3b82f64d}.image-upload-tag-remove{display:flex;align-items:center;justify-content:center;padding:0;margin-left:.125rem;background:#fff3;border:none;color:#fff;cursor:pointer;border-radius:50%;width:1.125rem;height:1.125rem;transition:all .2s ease}.image-upload-tag-remove:hover{background-color:#ffffff4d;transform:scale(1.1)}.image-upload-tag-remove-icon{width:.75rem;height:.75rem}.image-upload-button-group{display:flex;gap:.75rem;padding-top:.5rem;margin-top:.5rem}.image-upload-button{flex:1;padding:.75rem 1.5rem;border-radius:.625rem;font-size:.875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1.5px solid;display:flex;align-items:center;justify-content:center;gap:.5rem;letter-spacing:-.01em;box-shadow:0 1px 2px #0000000d}.image-upload-button:focus{outline:none;box-shadow:0 0 0 2px}.image-upload-button-secondary{background-color:#fff;color:#475569;border-color:#e2e8f0}.image-upload-button-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#334155;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.image-upload-button-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.image-upload-button-secondary:focus{box-shadow:0 0 0 3px #3b82f61a,0 1px 2px #0000000d}.image-upload-button-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-color:#3b82f6}.image-upload-button-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#2563eb;transform:translateY(-1px);box-shadow:0 10px 15px -3px #3b82f64d,0 4px 6px -2px #3b82f633}.image-upload-button-primary:active{transform:translateY(0);box-shadow:0 4px 6px -1px #3b82f633,0 2px 4px -1px #3b82f61a}.image-upload-button-primary:focus{box-shadow:0 0 0 3px #3b82f64d,0 1px 2px #0000000d}.image-upload-button-primary:disabled{opacity:.5;cursor:not-allowed}.image-upload-button-icon{width:1rem;height:1rem}.image-upload-spinner{width:1rem;height:1rem;border:2px solid white;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.image-upload-form-container{width:100%;padding:0;animation:formSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes formSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.image-upload-progress-container{width:100%;padding:1.5rem 0}.image-upload-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.image-upload-progress-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.image-upload-progress-count{font-size:.875rem;color:#6b7280;font-weight:500}.image-upload-progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.image-upload-progress-title{font-size:1.125rem;font-weight:600;color:#1f2937}.image-upload-progress-count{font-size:.875rem;color:#6b7280}.image-upload-progress-overall{margin-bottom:1.5rem}.image-upload-progress-overall-header{display:flex;justify-content:space-between;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.image-upload-progress-bar{width:100%;background-color:#e5e7eb;border-radius:9999px;height:.5rem}.image-upload-progress-bar-fill{background-color:#2563eb;height:.5rem;border-radius:9999px;transition:all .3s ease-in-out}.image-upload-progress-stats{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-top:.5rem}.image-upload-progress-current{margin-bottom:1rem;padding:.75rem;background-color:#eff6ff;border-radius:.5rem}.image-upload-progress-current-content{display:flex;align-items:center;gap:.5rem}.image-upload-progress-current-spinner{width:1rem;height:1rem;border:2px solid #2563eb;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.image-upload-progress-current-text{font-size:.875rem;color:#1d4ed8}.image-upload-progress-list{display:flex;flex-direction:column;gap:.75rem;max-height:20rem;overflow-y:auto;margin-top:1rem;padding-right:.5rem}.image-upload-progress-list::-webkit-scrollbar{width:6px}.image-upload-progress-list::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.image-upload-progress-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.image-upload-progress-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.image-upload-progress-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:.5rem;background-color:#f9fafb}.image-upload-progress-item-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.image-upload-progress-item-icon.success{color:#10b981}.image-upload-progress-item-icon.error{color:#ef4444}.image-upload-progress-item-icon.uploading{color:#3b82f6;animation:spin 1s linear infinite}.image-upload-progress-item-info{flex:1;min-width:0}.image-upload-progress-item-name{font-size:.875rem;font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-upload-progress-item-message{font-size:.75rem;color:#6b7280}.image-upload-progress-item-progress{font-size:.75rem;color:#9ca3af}.photo-wall-container{width:100%;min-height:100vh;padding:20px;position:relative}.photo-wall-fullscreen{position:fixed;inset:0;background-color:#000;z-index:1000;display:flex;flex-direction:column;overflow:hidden;padding:0}.photo-wall-header{position:absolute;top:1rem;left:1rem;right:1rem;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.photo-wall-count{color:#fff;font-size:.875rem;font-weight:500;background-color:#0009;padding:.5rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);pointer-events:auto}.photo-wall-close-button{margin-left:auto;padding:.75rem;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;pointer-events:auto}.photo-wall-close-button:hover{background-color:#000c;border-color:#fff6;transform:scale(1.1)}.photo-wall-close-icon{width:1.25rem;height:1.25rem;color:#fff}.photo-wall-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:1.25rem;opacity:.7}.photo-wall-grid{display:grid;grid-template-columns:repeat(var(--columns),1fr);gap:10px;width:100%;flex:1;overflow-y:auto;padding:1.5rem;min-height:0}.photo-wall-grid::-webkit-scrollbar{width:6px}.photo-wall-grid::-webkit-scrollbar-track{background:#ffffff0d}.photo-wall-grid::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.photo-wall-grid::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.photo-wall-column{display:flex;flex-direction:column;gap:10px}.photo-wall-item{position:relative;width:100%;overflow:hidden;border-radius:.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background-color:#ffffff0d}.photo-wall-item:hover{transform:translateY(-4px);box-shadow:0 10px 25px #00000026;z-index:10}.photo-wall-item-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.photo-wall-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s ease}.photo-wall-item:hover .photo-wall-image{transform:scale(1.05)}.photo-wall-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:12px;opacity:0;transition:opacity .2s ease}.photo-wall-item:hover .photo-wall-overlay{opacity:1}.photo-wall-overlay-content{display:flex;align-items:center;gap:8px;color:#fff}.photo-wall-icon{width:18px;height:18px;flex-shrink:0}.photo-wall-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.photo-wall-container{padding:10px}.photo-wall-grid,.photo-wall-column{gap:8px}}.gallery-3d-container{width:100%;height:100vh;position:relative;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);perspective:2000px;cursor:grab}.gallery-3d-fullscreen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.gallery-3d-close-button{position:absolute;top:1rem;right:1rem;z-index:20;padding:.75rem;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.gallery-3d-close-button:hover{background-color:#000c;border-color:#fff6;transform:scale(1.1)}.gallery-3d-close-icon{width:1.25rem;height:1.25rem;color:#fff}.gallery-3d-container:active{cursor:grabbing}.gallery-3d-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:1.25rem;opacity:.7}.gallery-3d-scene{width:100%;height:100%;position:relative;transform-style:preserve-3d}.gallery-3d-carousel{width:100%;height:100%;position:absolute;transform-style:preserve-3d;transition:transform .5s ease;display:flex;align-items:center;justify-content:center}.gallery-3d-item{position:absolute;width:300px;height:400px;transform-style:preserve-3d;cursor:pointer;transition:transform .3s ease}.gallery-3d-item:hover{transform:scale(1.1)!important;z-index:10}.gallery-3d-item-wrapper{width:100%;height:100%;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0000004d;background-color:#fff}.gallery-3d-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.gallery-3d-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:16px;display:flex;align-items:center;gap:10px;color:#fff;opacity:0;transition:opacity .3s ease}.gallery-3d-item:hover .gallery-3d-overlay{opacity:1}.gallery-3d-icon{width:20px;height:20px;flex-shrink:0}.gallery-3d-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-3d-controls{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;z-index:100}.gallery-3d-control-button{width:50px;height:50px;border-radius:50%;background:#ffffffe6;border:none;font-size:24px;color:#333;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.gallery-3d-control-button:hover{background:#fff;transform:scale(1.1);box-shadow:0 6px 20px #0003}.gallery-3d-control-button:active{transform:scale(.95)}.gallery-3d-counter{padding:10px 20px;background:#ffffffe6;border-radius:20px;font-size:16px;font-weight:600;color:#333;box-shadow:0 4px 12px #00000026}@media (max-width: 768px){.gallery-3d-item{width:200px;height:300px}.gallery-3d-controls{bottom:20px}.gallery-3d-control-button{width:40px;height:40px;font-size:20px}.gallery-3d-counter{padding:8px 16px;font-size:14px}}.timeline-container{width:100%;min-height:100vh;position:relative;background-color:#000}.timeline-embedded{position:absolute;inset:0;z-index:1;min-height:100%;display:flex;flex-direction:column;overflow:hidden}.timeline-fullscreen{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.timeline-header{position:absolute;top:1rem;left:1rem;right:1rem;z-index:20;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.timeline-count{color:#fff;font-size:.875rem;font-weight:500;background-color:#0009;padding:.5rem 1rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.2);pointer-events:auto}.timeline-close-button{margin-left:auto;padding:.75rem;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;pointer-events:auto}.timeline-close-button:hover{background-color:#000c;border-color:#fff6;transform:scale(1.1)}.timeline-close-icon{width:1.25rem;height:1.25rem;color:#fff}.timeline-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:1.25rem;opacity:.7}.timeline-content{flex:1;display:flex;overflow:hidden;padding-top:5rem;padding-bottom:2rem;position:relative}.timeline-photos{flex:1;overflow-y:auto;padding:2rem 8rem 2rem 2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;align-content:start}.timeline-photos::-webkit-scrollbar{width:6px}.timeline-photos::-webkit-scrollbar-track{background:#ffffff0d}.timeline-photos::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.timeline-photos::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.timeline-photo-item{position:relative;display:flex;flex-direction:column;gap:.5rem}.timeline-photo-wrapper{position:relative;width:100%;overflow:hidden;border-radius:.5rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background-color:#ffffff0d;aspect-ratio:1}.timeline-photo-wrapper:hover{transform:translateY(-4px);box-shadow:0 10px 25px #00000080;z-index:10}.timeline-photo-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .3s ease}.timeline-photo-wrapper:hover .timeline-photo-image{transform:scale(1.05)}.timeline-photo-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:12px;opacity:0;transition:opacity .2s ease}.timeline-photo-wrapper:hover .timeline-photo-overlay{opacity:1}.timeline-photo-overlay-content{display:flex;align-items:center;gap:8px;color:#fff}.timeline-photo-icon{width:18px;height:18px;flex-shrink:0}.timeline-photo-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-photo-date{color:#ffffffb3;font-size:.875rem;text-align:center;padding:.25rem 0}.timeline-axis{position:absolute;right:2rem;top:5rem;bottom:2rem;width:100px;pointer-events:none}.timeline-line{position:absolute;right:50px;top:0;bottom:0;width:2px;background:#ffffff4d}.timeline-year-marker{position:absolute;right:0;display:flex;align-items:center;gap:.75rem}.timeline-year-dot{width:8px;height:8px;border-radius:50%;background:#fff;border:2px solid #000;box-shadow:0 0 0 2px #ffffff4d}.timeline-year-label{color:#fff;font-size:.875rem;font-weight:500;white-space:nowrap}@media (max-width: 1024px){.timeline-photos{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));padding-right:6rem}.timeline-axis{width:80px;right:1rem}.timeline-year-label{font-size:.75rem}}@media (max-width: 640px){.timeline-photos{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;padding:1rem 5rem 1rem 1rem}.timeline-axis{width:60px;right:.5rem}.timeline-year-label{font-size:.7rem}.timeline-photo-date{font-size:.75rem}}.sidebar{width:240px;min-width:240px;max-width:240px;height:100vh;background:var(--sidebar-bg, #fafafa);border-right:1px solid var(--border-color, #e5e7eb);display:flex;flex-direction:column;position:relative;flex-shrink:0;z-index:10;will-change:width,max-width,min-width;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1);overflow-y:auto;overflow-x:hidden;contain:layout style paint;transform:translateZ(0);backface-visibility:hidden}.sidebar.collapsed{width:72px;min-width:72px;max-width:72px;align-items:center;padding:.5rem 0}.sidebar.collapsed .sidebar-nav-label,.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .sidebar-source-name,.sidebar.collapsed .sidebar-source-path{opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .2s ease .1s,max-width .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.sidebar:not(.collapsed) .sidebar-nav-label,.sidebar:not(.collapsed) .sidebar-logo-text,.sidebar:not(.collapsed) .sidebar-section-title,.sidebar:not(.collapsed) .sidebar-source-name,.sidebar:not(.collapsed) .sidebar-source-path{opacity:1;max-width:200px;transition:opacity .2s ease .1s,max-width .3s cubic-bezier(.4,0,.2,1);pointer-events:auto}.sidebar-collapsed-header{padding:.75rem 0;display:flex;justify-content:center;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:.5rem;contain:layout}.sidebar-collapsed-logo-btn{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .3s ease;position:relative}.sidebar-collapsed-logo-btn:hover{background:var(--hover-bg, #f3f4f6);transform:scale(1.1)}.sidebar-collapsed-logo{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 2px 4px #00000014;transition:all .3s ease}.sidebar-collapsed-logo-btn:hover .sidebar-collapsed-logo{box-shadow:0 4px 8px #0000001f;transform:rotate(5deg)}.sidebar-collapsed-nav{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;flex:1;contain:layout}.sidebar-collapsed-item{width:56px;height:56px;margin:0 auto;background:transparent;border:none;border-radius:12px;color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);will-change:transform,background-color;transform:translateZ(0);backface-visibility:hidden}.sidebar-collapsed-item:hover:not(.disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);transform:scale(1.1)}.sidebar-collapsed-item.active{background:var(--primary-color, #3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.sidebar-collapsed-item.active:hover{background:var(--primary-color-dark, #2563eb);transform:scale(1.1)}.sidebar-collapsed-item.disabled{opacity:.4;cursor:not-allowed}.sidebar-collapsed-item.coming-soon{position:relative}.sidebar-collapsed-item.coming-soon:hover{opacity:.6}.sidebar-collapsed-coming-soon-icon{position:absolute;top:4px;right:4px;color:var(--warning-color, #f59e0b);background:#fff;border-radius:50%;padding:2px;box-shadow:0 1px 2px #0000001a;z-index:1}.sidebar-collapsed-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%) scale(0);background:var(--text-primary, #111827);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.75rem;white-space:nowrap;pointer-events:none;opacity:0;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 4px 12px #00000026}.sidebar-collapsed-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--text-primary, #111827)}.sidebar-collapsed-item:hover .sidebar-collapsed-tooltip,.sidebar-collapsed-source-item:hover .sidebar-collapsed-tooltip,.sidebar-collapsed-add-btn:hover .sidebar-collapsed-tooltip{opacity:1;transform:translateY(-50%) scale(1)}.sidebar-collapsed-sources{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;border-top:1px solid var(--border-color, #e5e7eb);border-bottom:1px solid var(--border-color, #e5e7eb);margin:.5rem 0}.sidebar-collapsed-source-item{width:56px;height:56px;margin:0 auto;background:transparent;border:none;border-radius:12px;color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);will-change:transform,background-color;transform:translateZ(0);backface-visibility:hidden}.sidebar-collapsed-source-item:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);transform:scale(1.1)}.sidebar-collapsed-source-item.active{background:var(--primary-color, #3b82f6);color:#fff;box-shadow:0 2px 8px #3b82f64d}.sidebar-collapsed-source-item.active:hover{background:var(--primary-color-dark, #2563eb)}.gitee-icon-small{font-size:1.125rem;font-weight:600;color:inherit}.sidebar-collapsed-more{width:56px;height:40px;margin:0 auto;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);font-size:.75rem;position:relative;opacity:.6}.sidebar-collapsed-add{padding:.5rem 0;display:flex;justify-content:center}.sidebar-collapsed-add-btn{width:56px;height:56px;background:var(--primary-color, #3b82f6);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background-color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #3b82f633;will-change:transform,background-color,box-shadow;transform:translateZ(0);backface-visibility:hidden}.sidebar-collapsed-add-btn:hover{background:var(--primary-color-dark, #2563eb);transform:scale(1.1);box-shadow:0 4px 12px #3b82f666}.sidebar-collapsed-filters{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.sidebar-collapsed-footer{padding:.5rem 0;border-top:1px solid var(--border-color, #e5e7eb);display:flex;justify-content:center;margin-top:auto}.sidebar-toggle{width:100%;height:60px;background:transparent;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-toggle:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.sidebar-logo-container{display:flex;align-items:center;gap:.75rem;flex:1}.sidebar-logo-icon{width:36px;height:36px;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 2px 4px #00000014;transition:transform .2s ease,box-shadow .2s ease}.sidebar-logo-container:hover .sidebar-logo-icon{transform:scale(1.05);box-shadow:0 4px 8px #0000001f}.sidebar-logo-text{font-size:1.25rem;font-weight:700;color:var(--text-primary, #111827);letter-spacing:-.02em;transition:opacity .2s ease,transform .2s ease;will-change:opacity,transform}.sidebar-logo{font-size:1.25rem;font-weight:700;color:var(--text-primary, #111827);margin:0}.sidebar-collapse-btn{background:transparent;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.sidebar-collapse-btn:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827)}.sidebar-section{padding:.5rem 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.sidebar-section:last-child{border-bottom:none}.sidebar-nav{padding:.25rem 0}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;color:var(--text-secondary, #6b7280);background:transparent;border:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-left .2s ease;text-align:left;position:relative;will-change:background-color,transform;transform:translateZ(0)}.sidebar-nav-item:hover:not(.disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827)}.sidebar-nav-item.active{background:var(--active-bg, #e5e7eb);color:var(--text-primary, #111827);border-left:3px solid var(--primary-color, #3b82f6)}.sidebar-nav-item.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sidebar-nav-item.coming-soon{position:relative}.sidebar-nav-item.coming-soon:hover{opacity:.7}.coming-soon-badge{background:var(--warning-color, #f59e0b);color:#fff}.sidebar-nav-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;will-change:transform;transform:translateZ(0)}.sidebar-nav-label{flex:1;font-size:.875rem;font-weight:500;transition:opacity .2s ease,transform .2s ease;will-change:opacity,transform}.sidebar-nav-badge{margin-left:auto;opacity:.6;display:flex;align-items:center}.sidebar-sources{border-top:1px solid var(--border-color, #e5e7eb);padding:.5rem 0}.sidebar-section-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;margin-bottom:.5rem;contain:layout}.sidebar-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary, #6b7280);letter-spacing:.05em;transition:opacity .2s ease;will-change:opacity}.sidebar-add-source-btn{background:transparent;border:none;color:var(--text-secondary, #6b7280);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease,color .2s ease;will-change:background-color;transform:translateZ(0)}.sidebar-add-source-btn:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827)}.sidebar-empty-state{padding:1.5rem 1rem;text-align:center;border:2px dashed var(--border-color, #e5e7eb);border-radius:8px;margin:0 1rem;background:var(--card-bg, #f9f9f9)}.sidebar-empty-icon{margin-bottom:.75rem;opacity:.5;display:flex;justify-content:center}.sidebar-empty-text{font-size:.75rem;color:var(--text-secondary, #6b7280);margin-bottom:1rem;line-height:1.4}.sidebar-add-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.5rem;background:var(--primary-color, #3b82f6);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:background .2s}.sidebar-add-button:hover{background:var(--primary-color-dark, #2563eb)}.sidebar-source-list{display:flex;flex-direction:column;gap:.25rem;padding:0 .5rem}.sidebar-source-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease,color .2s ease;text-align:left;position:relative;will-change:background-color;transform:translateZ(0)}.sidebar-source-item:hover{background:var(--hover-bg, #f3f4f6)}.sidebar-source-item.active{background:var(--active-bg, #e5e7eb)}.sidebar-source-item.active .sidebar-source-icon,.sidebar-source-item.active .sidebar-source-name{color:var(--text-primary, #111827)}.sidebar-source-item.active .sidebar-source-path{color:var(--text-secondary, #6b7280)}.sidebar-source-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #6b7280);transition:color .2s}.gitee-icon{font-size:.75rem;font-weight:600;color:#c71d23}.sidebar-source-info{flex:1;min-width:0}.sidebar-source-name{font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.sidebar-source-item:hover .sidebar-source-name,.sidebar-source-item:hover .sidebar-source-icon{color:var(--text-primary, #111827)}.sidebar-source-path{font-size:.75rem;color:var(--text-secondary, #6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.7}.sidebar-source-active-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color, #3b82f6);flex-shrink:0}.sidebar-footer{border-top:1px solid var(--border-color, #e5e7eb);padding:.5rem 0}.sidebar-context-menu{background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;padding:.25rem 0;z-index:999999;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar-context-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:transparent;border:none;color:var(--text-primary, #111827);font-size:.875rem;cursor:pointer;transition:background-color .15s ease;text-align:left}.sidebar-context-menu-item:hover{background:var(--hover-bg, #f3f4f6)}.sidebar-context-menu-item-danger{color:#dc2626}.sidebar-context-menu-item-danger:hover{background:#fef2f2;color:#b91c1c}.sidebar-context-menu-item svg{flex-shrink:0}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--border-color, #d1d5db);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary, #9ca3af)}.app-header{height:64px;background:var(--header-bg, #ffffff);border-bottom:1px solid var(--border-color, #e5e7eb);display:flex;align-items:center;padding:0 1.5rem;position:relative;flex-shrink:0;z-index:50;gap:1.5rem}.header-left{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0}.header-logo-icon{width:36px;height:36px;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 2px 4px #00000014;transition:transform .2s ease,box-shadow .2s ease}.header-left:hover .header-logo-icon{transform:scale(1.05);box-shadow:0 4px 8px #0000001f}.app-title{font-size:1.25rem;font-weight:700;color:var(--text-primary, #111827);margin:0;letter-spacing:-.02em;transition:color .2s ease}.header-center{flex:1;max-width:600px;margin:0 auto}.header-left .search-bar{max-width:600px;width:100%}.header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s;font-size:.875rem;font-weight:500}.header-button:hover:not(:disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--border-color-dark, #d1d5db)}.header-button:disabled{opacity:.5;cursor:not-allowed}.header-button.primary{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.header-button.primary:hover:not(:disabled){background:var(--primary-color-dark, #2563eb);border-color:var(--primary-color-dark, #2563eb)}.header-button.icon-only{padding:.5rem;min-width:36px;justify-content:center}.header-button-label{display:none}@media (min-width: 640px){.header-button-label{display:inline}}.header-view-toggle{display:flex;align-items:center;background:var(--view-toggle-bg, #f3f4f6);border-radius:6px;padding:.25rem;gap:.25rem}.header-view-button{display:flex;align-items:center;justify-content:center;padding:.375rem;background:transparent;border:none;border-radius:4px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s}.header-view-button:hover{background:var(--hover-bg, #e5e7eb);color:var(--text-primary, #111827)}.header-view-button.active{background:var(--primary-color, #3b82f6);color:#fff}.header-filter-wrapper{position:relative}.header-filter-button{display:flex;align-items:center;justify-content:center;padding:.5rem;min-width:36px;height:36px;background:var(--button-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s;position:relative}.header-filter-button:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--primary-color, #3b82f6)}.header-filter-button.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.header-filter-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid white}.header-filter-panel{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:280px;max-width:400px;max-height:500px;overflow-y:auto;z-index:1000}.header-filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.header-filter-panel-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.header-filter-clear{font-size:.75rem;color:var(--primary-color, #3b82f6);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.header-filter-clear:hover{background:var(--hover-bg, #f3f4f6)}.header-filter-section{padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.header-filter-section:last-child{border-bottom:none}.header-filter-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.header-filter-options{display:flex;flex-wrap:wrap;gap:.5rem}.header-filter-option{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-primary, #111827);cursor:pointer;padding:.375rem .75rem;background:var(--button-bg, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;transition:all .2s}.header-filter-option:hover{background:var(--hover-bg, #f3f4f6);border-color:var(--primary-color, #3b82f6)}.header-filter-option input[type=checkbox]{margin:0;cursor:pointer}.header-filter-option input[type=checkbox]:checked+span{color:var(--primary-color, #3b82f6);font-weight:500}.header-filter-option:has(input[type=checkbox]:checked){background:var(--primary-color-light, #dbeafe);border-color:var(--primary-color, #3b82f6)}@media (max-width: 768px){.app-header{padding:0 1rem;gap:1rem}.header-left{flex:1;min-width:0}.header-left .search-bar{max-width:none}.header-center{max-width:none;margin:0}.app-title{font-size:1rem}.header-filter-panel{min-width:240px;max-width:320px}}.empty-state-container{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:3rem 2rem;width:100%}.empty-state-content{max-width:600px;text-align:center;width:100%}.empty-state-icon{margin-bottom:2rem;display:flex;justify-content:center}.empty-state-icon-svg{color:var(--text-secondary, #9ca3af);opacity:.6}.empty-state-title{font-size:2rem;font-weight:700;color:var(--text-primary, #111827);margin-bottom:1rem}.empty-state-description{font-size:1.125rem;color:var(--text-secondary, #6b7280);margin-bottom:2rem;line-height:1.6}.empty-state-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.empty-state-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;transition:all .2s;border:none;cursor:pointer;font-size:.875rem}.empty-state-button.primary{background:var(--primary-color, #3b82f6);color:#fff}.empty-state-button.primary:hover{background:var(--primary-color-dark, #2563eb);transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.empty-state-button.secondary{background:var(--secondary-bg, #f3f4f6);color:var(--text-primary, #111827);border:1px solid var(--border-color, #e5e7eb)}.empty-state-button.secondary:hover{background:var(--hover-bg, #e5e7eb);border-color:var(--border-color-dark, #d1d5db)}.empty-state-guide{text-align:left;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:12px;padding:2rem;margin-bottom:2rem}.guide-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:var(--text-primary, #111827);text-align:center}.guide-steps{display:flex;flex-direction:column;gap:1.5rem}.guide-step{display:flex;gap:1rem;align-items:flex-start}.step-number{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--primary-color, #3b82f6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.step-content h4{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--text-primary, #111827)}.step-content p{font-size:.875rem;color:var(--text-secondary, #6b7280);line-height:1.5;margin:0}.empty-state-help{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary, #6b7280)}.help-link{color:var(--primary-color, #3b82f6);text-decoration:none;font-weight:500;transition:color .2s}.help-link:hover{color:var(--primary-color-dark, #2563eb);text-decoration:underline}@media (max-width: 640px){.empty-state-container{padding:2rem 1rem}.empty-state-title{font-size:1.5rem}.empty-state-description{font-size:1rem}.empty-state-actions{flex-direction:column}.empty-state-button{width:100%;justify-content:center}.empty-state-guide{padding:1.5rem}}.github-config-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:40}.github-config-modal-container{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.github-config-modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:42rem;max-height:90vh;overflow-y:auto}.github-config-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.github-config-modal-title{display:flex;align-items:center;gap:.5rem}.github-config-modal-title-icon{width:1.25rem;height:1.25rem;color:#6b7280}.github-config-modal-title-text{font-size:1.125rem;font-weight:600;color:#1f2937}.github-config-modal-close{color:#9ca3af;transition:all .2s ease-in-out;padding:.25rem;border-radius:9999px}.github-config-modal-close:hover{color:#6b7280;background-color:#f3f4f6}.github-config-modal-close-icon{width:1.25rem;height:1.25rem}.github-config-modal-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.github-config-modal-actions-left,.github-config-modal-actions-right{display:flex;align-items:center;gap:.5rem}.github-config-modal-action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.github-config-modal-action-button:hover{background-color:#f9fafb;border-color:#9ca3af}.github-config-modal-action-button-danger{color:#dc2626;border-color:#fecaca}.github-config-modal-action-button-danger:hover{background-color:#fef2f2;border-color:#fca5a5}.github-config-modal-body{padding:1.5rem}.github-config-form{display:flex;flex-direction:column;gap:2rem}.github-config-form-section{display:flex;flex-direction:column;gap:1rem}.github-config-form-section-title{font-size:1rem;font-weight:600;color:#374151;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.github-config-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.github-config-form-group{display:flex;flex-direction:column}.github-config-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.github-config-form-required{color:#ef4444}.github-config-form-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s ease-in-out}.github-config-form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.github-config-form-description{font-size:.75rem;color:#6b7280;margin-top:.25rem}.github-config-help{display:flex;flex-direction:column;gap:1rem}.github-config-help-item{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.github-config-help-item-title{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.github-config-help-item-list{list-style:none;padding:0;margin:0}.github-config-help-item-list li{font-size:.75rem;color:#64748b;margin-bottom:.25rem;padding-left:.5rem}.github-config-help-item-list li:before{content:"•";color:#3b82f6;font-weight:700;margin-right:.5rem}.github-config-button-group{display:flex;justify-content:center;gap:.75rem;padding-top:1rem}.github-config-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out;cursor:pointer;border:1px solid}.github-config-button:focus{outline:none;box-shadow:0 0 0 2px}.github-config-button-primary{background-color:#2563eb;color:#fff;border-color:#2563eb}.github-config-button-primary:hover{background-color:#1d4ed8;border-color:#1d4ed8}.github-config-button-primary:focus{box-shadow:0 0 0 2px #2563eb1a}.github-config-button-secondary{background-color:#fff;color:#374151;border-color:#d1d5db}.github-config-button-secondary:hover{background-color:#f9fafb}.github-config-button-secondary:focus{box-shadow:0 0 0 2px #6b72801a}.github-config-button-success{background-color:#fff;color:#059669;border-color:#86efac}.github-config-button-success:hover{background-color:#f0fdf4}.github-config-button-success:focus{box-shadow:0 0 0 2px #0596691a}.github-config-button-info{background-color:#fff;color:#2563eb;border-color:#93c5fd}.github-config-button-info:hover{background-color:#eff6ff}.github-config-button-info:focus{box-shadow:0 0 0 2px #2563eb1a}.github-config-button-danger{background-color:#fff;color:#dc2626;border-color:#fca5a5}.github-config-button-danger:hover{background-color:#fef2f2}.github-config-button-danger:focus{box-shadow:0 0 0 2px #dc26261a}.github-config-button-icon{width:1rem;height:1rem}.github-config-help-section{margin-top:1.5rem}.github-config-help-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 1024px){.github-config-help-grid{grid-template-columns:repeat(2,1fr)}}.github-config-help-card{padding:1rem;border-radius:.375rem}.github-config-help-card-blue{background-color:#eff6ff}.github-config-help-card-green{background-color:#f0fdf4}.github-config-help-title{font-size:.875rem;font-weight:500;margin-bottom:.75rem}.github-config-help-title-blue{color:#1e40af}.github-config-help-title-green{color:#166534}.github-config-help-list{font-size:.75rem;display:flex;flex-direction:column;gap:.25rem}.github-config-help-list-blue{color:#1d4ed8}.github-config-help-list-green{color:#15803d}.github-config-help-bullet{display:inline-block;width:.375rem;height:.375rem;border-radius:50%;margin-top:.375rem;flex-shrink:0}.github-config-help-bullet-blue{background-color:#60a5fa}.github-config-help-bullet-green{background-color:#4ade80}.github-config-help-text{font-weight:500}.github-config-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.github-config-form-cancel-button{padding:.5rem 1rem;background-color:transparent;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.github-config-form-cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.github-config-form-save-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.github-config-form-save-button:hover{background-color:#2563eb}@media (max-width: 768px){.github-config-modal-content{max-width:100%;margin:.5rem}.github-config-form-row{grid-template-columns:1fr}.github-config-modal-actions{flex-direction:column;gap:.75rem}.github-config-modal-actions-left,.github-config-modal-actions-right{width:100%;justify-content:center}}.gitee-config-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:40}.gitee-config-modal-container{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.gitee-config-modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:42rem;max-height:90vh;overflow-y:auto}.gitee-config-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.gitee-config-modal-title{display:flex;align-items:center;gap:.5rem}.gitee-config-modal-title-icon{font-size:1.25rem;font-weight:600;color:#c73e1d}.gitee-config-modal-title-text{font-size:1.125rem;font-weight:600;color:#1f2937}.gitee-config-modal-close{color:#9ca3af;transition:all .2s ease-in-out;padding:.25rem;border-radius:9999px}.gitee-config-modal-close:hover{color:#6b7280;background-color:#f3f4f6}.gitee-config-modal-close-icon{width:1.25rem;height:1.25rem}.gitee-config-modal-actions{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.gitee-config-modal-actions-left,.gitee-config-modal-actions-right{display:flex;align-items:center;gap:.5rem}.gitee-config-modal-action-button{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.gitee-config-modal-action-button:hover{background-color:#f9fafb;border-color:#9ca3af}.gitee-config-modal-action-button-danger{color:#dc2626;border-color:#fecaca}.gitee-config-modal-action-button-danger:hover{background-color:#fef2f2;border-color:#fca5a5}.gitee-config-modal-body{padding:1.5rem}.gitee-config-form{display:flex;flex-direction:column;gap:2rem}.gitee-config-form-section{display:flex;flex-direction:column;gap:1rem}.gitee-config-form-section-title{font-size:1rem;font-weight:600;color:#374151;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.gitee-config-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.gitee-config-form-group{display:flex;flex-direction:column}.gitee-config-form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem}.gitee-config-form-required{color:#ef4444}.gitee-config-form-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:all .2s ease-in-out}.gitee-config-form-input:focus{outline:none;border-color:#c73e1d;box-shadow:0 0 0 2px #c73e1d1a}.gitee-config-form-description{font-size:.75rem;color:#6b7280;margin-top:.25rem}.gitee-config-help{display:flex;flex-direction:column;gap:1rem}.gitee-config-help-item{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.gitee-config-help-item-title{font-size:.875rem;font-weight:600;color:#1e293b;margin-bottom:.5rem}.gitee-config-help-item-list{list-style:none;padding:0;margin:0}.gitee-config-help-item-list li{font-size:.75rem;color:#64748b;margin-bottom:.25rem;padding-left:.5rem}.gitee-config-help-item-list li:before{content:"•";color:#c73e1d;font-weight:700;margin-right:.5rem}.gitee-config-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid #e5e7eb}.gitee-config-form-cancel-button{padding:.5rem 1rem;background-color:transparent;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.gitee-config-form-cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.gitee-config-form-save-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#c73e1d;border:none;border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out}.gitee-config-form-save-button:hover{background-color:#a8321a}@media (max-width: 768px){.gitee-config-modal-content{max-width:100%;margin:.5rem}.gitee-config-form-row{grid-template-columns:1fr}.gitee-config-modal-actions{flex-direction:column;gap:.75rem}.gitee-config-modal-actions-left,.gitee-config-modal-actions-right{width:100%;justify-content:center}}.search-bar{display:flex;align-items:center;background:var(--search-bg, #f3f4f6);border-radius:8px;padding:.5rem 1rem;border:1px solid var(--border-color, #e5e7eb);transition:all .2s;position:relative;max-width:600px;width:100%}.search-bar.focused{background:var(--search-bg-focused, #ffffff);border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.search-bar.disabled{opacity:.6;cursor:not-allowed;background:var(--search-bg-disabled, #f9fafb)}.search-icon{color:var(--text-secondary, #9ca3af);flex-shrink:0;margin-right:.5rem}.search-input{flex:1;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--text-primary, #111827);padding:0}.search-input::-moz-placeholder{color:var(--text-secondary, #9ca3af)}.search-input::placeholder{color:var(--text-secondary, #9ca3af)}.search-input:disabled{cursor:not-allowed}.search-clear{background:transparent;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-left:.5rem}.search-clear:hover{background:var(--hover-bg, #e5e7eb);color:var(--text-primary, #111827)}.search-shortcut-hint{margin-left:.5rem;display:flex;align-items:center}.search-shortcut-hint kbd{background:var(--kbd-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:4px;padding:.125rem .375rem;font-size:.75rem;font-family:monospace;color:var(--text-secondary, #6b7280);box-shadow:0 1px 2px #0000000d}.search-bar-wrapper{position:relative;width:100%}.search-history-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000;margin-top:4px}.search-history-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.search-history-title{font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.search-history-clear-all{font-size:.75rem;color:var(--primary-color, #3b82f6);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.search-history-clear-all:hover{background:var(--hover-bg, #f3f4f6)}.search-history-list{padding:.25rem 0}.search-history-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;cursor:pointer;transition:background .15s;position:relative}.search-history-item:hover,.search-history-item.selected{background:var(--hover-bg, #f3f4f6)}.search-history-icon{color:var(--text-secondary, #9ca3af);flex-shrink:0}.search-history-query{flex:1;font-size:.875rem;color:var(--text-primary, #111827);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-history-delete{background:transparent;border:none;color:var(--text-secondary, #9ca3af);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s;flex-shrink:0}.search-history-item:hover .search-history-delete{opacity:1}.search-history-delete:hover{background:var(--error-bg, #fee2e2);color:var(--error-color, #dc2626)}.search-wrapper{display:flex;flex-direction:column;gap:.75rem}.search-wrapper--header{flex-direction:row;align-items:center;gap:.75rem;min-width:0;flex:1}.search-wrapper--image{margin-bottom:1rem}.search-input-container{position:relative}.search-filter-wrapper{position:relative;flex-shrink:0}.search-filter-button{display:flex;align-items:center;justify-content:center;padding:.5rem;min-width:36px;height:36px;background:var(--button-bg, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s;position:relative}.search-filter-button:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--primary-color, #3b82f6)}.search-filter-button.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.search-filter-badge{position:absolute;top:4px;right:4px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid white}.search-filter-panel{position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:280px;max-width:400px;max-height:500px;overflow-y:auto;z-index:1000}.search-filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.search-filter-panel-title{font-size:.875rem;font-weight:600;color:var(--text-primary, #111827)}.search-filter-clear{font-size:.75rem;color:var(--primary-color, #3b82f6);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background .2s}.search-filter-clear:hover{background:var(--hover-bg, #f3f4f6)}.search-filter-section{padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.search-filter-section:last-child{border-bottom:none}.search-filter-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.search-filter-options{display:flex;flex-wrap:wrap;gap:.5rem}.search-filter-option{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--text-primary, #111827);cursor:pointer;padding:.375rem .75rem;background:var(--button-bg, #f9fafb);border:1px solid var(--border-color, #e5e7eb);border-radius:6px;transition:all .2s}.search-filter-option:hover{background:var(--hover-bg, #f3f4f6);border-color:var(--primary-color, #3b82f6)}.search-filter-option input[type=checkbox]{margin:0;cursor:pointer}.search-filter-option input[type=checkbox]:checked+span{color:var(--primary-color, #3b82f6);font-weight:500}.search-filter-option:has(input[type=checkbox]:checked){background:var(--primary-color-light, #dbeafe);border-color:var(--primary-color, #3b82f6)}.search-tags-container{display:flex;flex-direction:column;gap:.5rem}@media (min-width: 640px){.search-tags-container{flex-direction:row;align-items:center;gap:.5rem}}.search-tags-label{display:flex;align-items:center;gap:.5rem}.search-tags-icon{width:1rem;height:1rem;color:#9ca3af}.search-tags-text{font-size:.875rem;color:#6b7280}.search-tags{display:flex;flex-wrap:wrap;gap:.5rem}.search-tags-clear-button{padding:.25rem .75rem;font-size:.75rem;background-color:#fee2e2;color:#b91c1c;border-radius:9999px;border:none;cursor:pointer;transition:background-color .2s ease-in-out}.search-tags-clear-button:hover{background-color:#fecaca}.search-tag-button{padding:.25rem .75rem;font-size:.75rem;border-radius:9999px;border:none;cursor:pointer;transition:all .2s ease-in-out;outline:none}.search-tag-button:focus{box-shadow:0 0 0 2px #3b82f61a}.search-tag-button.selected{background-color:#2563eb;color:#fff}.search-tag-button.unselected{background-color:#f3f4f6;color:#374151}.search-tag-button.unselected:hover{background-color:#e5e7eb}.refresh-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.refresh-button:hover:not(:disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--border-color-dark, #d1d5db)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.refresh-button.icon-only{padding:.5rem;min-width:36px;justify-content:center}.refresh-button .animate-spin{animation:spin 1s linear infinite}.image-upload-modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.image-upload-modal-content{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.image-upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;border-bottom:1px solid var(--border-color, #e5e7eb);background:linear-gradient(to bottom,#fff,#f9fafb)}.image-upload-modal-title{font-size:1.375rem;font-weight:700;color:var(--text-primary, #111827);margin:0;letter-spacing:-.025em}.image-upload-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.image-upload-modal-close:hover{background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);transform:rotate(90deg)}.image-upload-modal-close:active{transform:rotate(90deg) scale(.95)}.image-upload-modal-body{padding:2rem;overflow-y:auto;flex:1;background:#fff}@media (max-width: 640px){.image-upload-modal-overlay{padding:0}.image-upload-modal-content{max-width:100%;max-height:100vh;border-radius:0;height:100vh}.image-upload-modal-header{padding:1.25rem 1rem}.image-upload-modal-title{font-size:1.25rem}.image-upload-modal-body{padding:1.5rem 1rem}}@media (max-width: 480px){.image-upload-modal-header,.image-upload-modal-body{padding:1rem}}.upload-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.upload-button:hover:not(:disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--border-color-dark, #d1d5db)}.upload-button:disabled{opacity:.5;cursor:not-allowed}.upload-button.icon-only{padding:.5rem;min-width:36px;justify-content:center}.upload-button-label{white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.keyboard-help-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.keyboard-help-modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:64rem;max-height:90vh;overflow:hidden}.keyboard-help-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.keyboard-help-modal-title-section{display:flex;align-items:center;gap:.75rem}.keyboard-help-modal-icon-container{width:2.5rem;height:2.5rem;background-color:#dbeafe;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.keyboard-help-modal-icon{width:1.5rem;height:1.5rem;color:#2563eb}.keyboard-help-modal-title-text{font-size:1.25rem;font-weight:700;color:#111827}.keyboard-help-modal-subtitle{font-size:.875rem;color:#6b7280}.keyboard-help-modal-close{padding:.5rem;color:#9ca3af;transition:color .2s ease-in-out;border-radius:.5rem;background:none;border:none;cursor:pointer}.keyboard-help-modal-close:hover{color:#6b7280;background-color:#f3f4f6}.keyboard-help-modal-close-icon{width:1.5rem;height:1.5rem}.keyboard-help-modal-body{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 120px)}.keyboard-help-categories{display:flex;flex-direction:column;gap:1.5rem}.keyboard-help-category{display:flex;flex-direction:column;gap:.75rem}.keyboard-help-category-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid #f3f4f6}.keyboard-help-category-icon{width:1.25rem;height:1.25rem}.keyboard-help-category-title{font-size:1.125rem;font-weight:600;color:#111827}.keyboard-help-shortcuts-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:.75rem}@media (min-width: 768px){.keyboard-help-shortcuts-grid{grid-template-columns:repeat(2,1fr)}}.keyboard-help-shortcut-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:#f9fafb;border-radius:.5rem;transition:background-color .2s ease-in-out}.keyboard-help-shortcut-item:hover{background-color:#f3f4f6}.keyboard-help-shortcut-description{font-size:.875rem;color:#374151}.keyboard-help-shortcut-keys{display:flex;align-items:center;gap:.25rem}.keyboard-help-key{padding:.25rem .5rem;font-size:.75rem;font-family:monospace;background-color:#fff;border:1px solid #d1d5db;border-radius:.25rem;box-shadow:0 1px 2px #0000000d}.keyboard-help-key-separator{color:#9ca3af}.keyboard-help-tips{margin-top:2rem;padding:1rem;background-color:#eff6ff;border-radius:.5rem;border:1px solid #bfdbfe}.keyboard-help-tips-title{font-weight:500;color:#1e40af;margin-bottom:.5rem}.keyboard-help-tips-content{font-size:.875rem;color:#1e40af;display:flex;flex-direction:column;gap:.25rem}.keyboard-help-tip-item{display:flex;align-items:flex-start}.keyboard-help-tip-bullet{display:inline-block;width:.375rem;height:.375rem;background-color:#60a5fa;border-radius:50%;margin-top:.5rem;margin-right:.5rem;flex-shrink:0}@media (max-width: 768px){.keyboard-help-modal-overlay{padding:.5rem}.keyboard-help-modal-header,.keyboard-help-modal-body{padding:1rem}.keyboard-help-shortcuts-grid{grid-template-columns:1fr}.keyboard-help-shortcut-item{flex-direction:column;align-items:flex-start;gap:.5rem}.keyboard-help-shortcut-keys{align-self:flex-end}}@media (max-width: 640px){.keyboard-help-modal-title-section{flex-direction:column;align-items:flex-start;gap:.5rem}.keyboard-help-modal-title-text{font-size:1.125rem}.keyboard-help-modal-subtitle{font-size:.75rem}}.keyboard-help-modal-overlay{animation:keyboardHelpFadeIn .2s ease-out}.keyboard-help-modal-content{animation:keyboardHelpSlideIn .3s ease-out}@keyframes keyboardHelpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes keyboardHelpSlideIn{0%{opacity:0;transform:translateY(-1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.keyboard-help-modal-overlay,.keyboard-help-modal-content{animation:none}.keyboard-help-shortcut-item{transition:none}}@media (prefers-contrast: high){.keyboard-help-modal-title-text{color:#000}.keyboard-help-modal-subtitle{color:#404040}.keyboard-help-shortcut-description{color:#000}.keyboard-help-key{border-color:#000;background-color:#fff}}.language-switcher{position:relative;display:inline-block}.language-switcher__trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;color:#6b7280;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.language-switcher__trigger:hover{color:#111827;background-color:#f3f4f6}.language-switcher__trigger:focus{outline:2px solid #3b82f6;outline-offset:2px}.language-switcher__globe-icon{width:16px;height:16px;flex-shrink:0}.language-switcher__flag{font-size:14px;font-weight:500;line-height:1}.language-switcher__backdrop{position:fixed;inset:0;z-index:10;background:transparent}.language-switcher__dropdown{position:absolute;right:0;top:100%;margin-top:4px;width:192px;background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border:1px solid #e5e7eb;z-index:20}.language-switcher__content{padding:8px}.language-switcher__current-title{padding:8px 12px;font-size:12px;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.language-switcher__option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:14px;color:#374151;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.language-switcher__option:hover{background-color:#f3f4f6}.language-switcher__option:focus{outline:2px solid #3b82f6;outline-offset:2px}.language-switcher__option--active{background-color:#eff6ff;color:#1d4ed8}.language-switcher__option-content{display:flex;align-items:center;gap:12px}.language-switcher__option-flag{font-size:18px;line-height:1}.language-switcher__option-name{font-weight:400;line-height:1.25}.language-switcher__check-icon{width:16px;height:16px;color:#2563eb;flex-shrink:0}.language-switcher__dropdown{animation:language-switcher-fade-in .15s ease-out}@keyframes language-switcher-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.language-switcher__dropdown{width:160px}.language-switcher__option{padding:6px 10px;font-size:13px}.language-switcher__option-flag{font-size:16px}}.fullscreen-loading{position:fixed;inset:0;width:100vw;height:100vh;background:#fffffff2;backdrop-filter:blur(4px);z-index:99999;display:flex;align-items:center;justify-content:center;pointer-events:auto;animation:fadeIn .2s ease-in;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}body.fullscreen-loading-active{overflow:hidden!important;position:fixed;width:100%;height:100%}.fullscreen-loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.fullscreen-loading-spinner{width:48px;height:48px;color:var(--primary-color, #3b82f6);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fullscreen-loading-text{font-size:.875rem;font-weight:500;color:var(--text-secondary, #6b7280);margin:0;text-align:center}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;font-family:inherit;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-button--icon-only{padding:.5rem;min-width:36px;min-height:36px}.action-button--icon-text,.action-button--text-only{padding:.5rem 1rem}.action-button--small{padding:.375rem .75rem;font-size:.75rem;min-height:28px}.action-button--small.action-button--icon-only{padding:.375rem;min-width:28px;min-height:28px}.action-button--medium{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.action-button--medium.action-button--icon-only{padding:.5rem;min-width:36px;min-height:36px}.action-button--large{padding:.625rem 1.25rem;font-size:1rem;min-height:44px}.action-button--large.action-button--icon-only{padding:.625rem;min-width:44px;min-height:44px}.action-button:hover:not(:disabled){background:var(--hover-bg, #f3f4f6);color:var(--text-primary, #111827);border-color:var(--border-color-dark, #d1d5db)}.action-button:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.action-button:active:not(:disabled){transform:scale(.98)}.action-button--disabled,.action-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.action-button--loading{cursor:wait}.action-button-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-button-label{white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-button-spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border-color, #e5e7eb);border-top-color:var(--text-secondary, #6b7280);border-radius:50%;animation:action-button-spin 1s linear infinite}@keyframes action-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.action-button--icon-text .action-button-label{display:none}.action-button--icon-text{padding:.5rem;min-width:36px}}.slide-show-player{position:fixed;inset:0;background-color:#000;z-index:1000;display:flex;flex-direction:column;overflow:hidden}.slide-show-player.embedded{position:absolute;inset:0;z-index:1}.slide-show-player.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh}.slide-show-image-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:margin-left .3s ease-in-out}.slide-show-image-container.with-image-list{margin-left:280px}.slide-show-image-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.slide-show-current-image{position:absolute;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;transition:opacity .5s ease-in-out}.slide-show-next-image{position:absolute;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;opacity:0}.slide-show-transition-fade{transition:opacity var(--transition-duration, .5s) ease-in-out}.slide-show-transition-slide-left,.slide-show-transition-slide-right{transition:transform var(--transition-duration, .5s) ease-in-out;transform:translate(0)}.slide-show-transition-zoom{transition:transform var(--transition-duration, .5s) ease-in-out;transform:scale(1)}.slide-show-transition-blur{transition:filter var(--transition-duration, .5s) ease-in-out;filter:blur(0)}.slide-show-transition-rotate{transition:transform var(--transition-duration, .5s) ease-in-out;transform:rotate(0)}.slide-show-controls{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;z-index:10}.slide-show-control-buttons{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.slide-show-control-button{padding:.75rem 1rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;gap:.5rem;font-size:.875rem}.slide-show-control-button:hover{background-color:#fff3;border-color:#fff6}.slide-show-control-button:active{transform:scale(.95)}.slide-show-control-button:disabled{opacity:.5;cursor:not-allowed}.slide-show-progress{width:100%;height:4px;background-color:#fff3;border-radius:2px;overflow:hidden;position:relative}.slide-show-progress-bar{height:100%;background-color:#3b82f6;transition:width .1s linear}.slide-show-image-info-panel{position:absolute;top:4rem;right:1rem;width:320px;max-width:calc(100vw - 2rem);background-color:#000000d9;color:#fff;border-radius:.75rem;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 25px #00000080;z-index:15;overflow:hidden;animation:slideInRight .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out}.slide-show-image-info-panel-closing{animation:slideOutRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(20px)}}.slide-show-image-info-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.slide-show-image-info-panel-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.slide-show-image-info-close{padding:.25rem;background-color:transparent;color:#ffffffb3;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.slide-show-image-info-close:hover{background-color:#ffffff1a;color:#fff}.slide-show-image-info-title{font-weight:600;font-size:1rem;color:#fff}.slide-show-image-info-item{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem}.slide-show-image-info-item:has(.slide-show-image-info-url-container){flex-direction:column;align-items:flex-start;gap:.5rem}.slide-show-image-info-label{color:#ffffffb3;flex-shrink:0}.slide-show-image-info-value{color:#fff;font-weight:500;text-align:right;word-break:break-word}.slide-show-image-info-url-container{display:flex;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem;background-color:#ffffff0d;border-radius:.375rem;border:1px solid rgba(255,255,255,.1)}.slide-show-image-info-url-value{color:#ffffffe6;font-weight:400;word-break:break-all;flex:1;min-width:0;font-size:.75rem;line-height:1.5;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.slide-show-image-info-copy-button{padding:.375rem;background-color:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:.375rem;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:2rem;height:2rem}.slide-show-image-info-copy-button:hover{background-color:#fff3;border-color:#fff6;transform:scale(1.05)}.slide-show-image-info-copy-button:active{transform:scale(.95)}.slide-show-image-info-copy-success{font-size:.75rem;color:#4ade80;font-weight:500;white-space:nowrap}.slide-show-top-buttons{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:20}.slide-show-info-button{padding:.75rem;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.slide-show-info-button:hover{background-color:#000c;border-color:#fff6;transform:scale(1.1)}.slide-show-info-button.active{background-color:#3b82f6cc;border-color:#3b82f6}.slide-show-close-button{padding:.75rem;background-color:#0009;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:50%;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.slide-show-close-button:hover{background-color:#000c;border-color:#fff6;transform:scale(1.1)}.slide-show-no-images{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;gap:1rem}.slide-show-no-images-icon{width:4rem;height:4rem;opacity:.5}.slide-show-no-images-text{font-size:1.25rem;opacity:.7}.slide-show-settings-modal{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000}.slide-show-settings-content{background-color:#fff;border-radius:.75rem;padding:2rem;max-width:600px;max-height:90vh;overflow-y:auto;width:90%;box-shadow:0 25px 50px -12px #00000080}.slide-show-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.slide-show-settings-title{font-size:1.5rem;font-weight:600;color:#111827}.slide-show-settings-close{padding:.5rem;background-color:transparent;border:none;cursor:pointer;color:#6b7280;transition:color .2s}.slide-show-settings-close:hover{color:#111827}.slide-show-settings-section{margin-bottom:2rem}.slide-show-settings-section-title{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:1rem}.slide-show-settings-field{margin-bottom:1rem}.slide-show-settings-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.slide-show-settings-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;transition:border-color .2s}.slide-show-settings-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.slide-show-settings-select{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background-color:#fff;transition:border-color .2s}.slide-show-settings-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.slide-show-settings-checkbox{display:flex;align-items:center;gap:.5rem}.slide-show-settings-checkbox input{width:1rem;height:1rem;cursor:pointer}.slide-show-settings-checkbox label{font-size:.875rem;color:#374151;cursor:pointer}.slide-show-settings-range{width:100%;margin-top:.5rem}.slide-show-settings-range-value{display:inline-block;margin-left:.5rem;font-size:.875rem;color:#6b7280}.slide-show-settings-file-input{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.slide-show-settings-file-button{padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;transition:background-color .2s}.slide-show-settings-file-button:hover{background-color:#2563eb}.slide-show-settings-file-info{font-size:.875rem;color:#6b7280;flex:1}.slide-show-settings-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.slide-show-settings-button{padding:.5rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.slide-show-settings-button-primary{background-color:#3b82f6;color:#fff}.slide-show-settings-button-primary:hover{background-color:#2563eb}.slide-show-settings-button-secondary{background-color:#f3f4f6;color:#374151}.slide-show-settings-button-secondary:hover{background-color:#e5e7eb}.slide-show-image-list-panel{position:absolute;top:0;left:0;width:280px;height:100vh;max-height:100%;background-color:#000000e6;color:#fff;border-right:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);z-index:15;display:flex;flex-direction:column;animation:slideInLeft .3s ease-out;overflow:hidden}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-show-image-list-panel-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.slide-show-image-list-title{font-weight:600;font-size:1rem;color:#fff}.slide-show-image-list-close{padding:.25rem;background-color:transparent;color:#ffffffb3;border:none;border-radius:.25rem;cursor:pointer;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}.slide-show-image-list-close:hover{background-color:#ffffff1a;color:#fff}.slide-show-image-list-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;min-height:0;height:100%}.slide-show-image-list-content::-webkit-scrollbar{width:6px}.slide-show-image-list-content::-webkit-scrollbar-track{background:#ffffff0d}.slide-show-image-list-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.slide-show-image-list-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.slide-show-image-list-item{position:relative;width:100%;min-height:120px;height:120px;border-radius:.5rem;overflow:hidden;cursor:pointer;transition:all .2s ease-in-out;border:2px solid transparent;background-color:#ffffff0d;flex-shrink:0}.slide-show-image-list-item:hover{border-color:#ffffff4d;transform:scale(1.02)}.slide-show-image-list-item.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d,0 4px 12px #3b82f633;transform:scale(1.05)}.slide-show-image-list-thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;background-color:#ffffff0d}.slide-show-image-list-item-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.6) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.6) 100%);display:flex;align-items:flex-start;justify-content:flex-start;padding:.5rem;opacity:0;transition:opacity .2s ease-in-out}.slide-show-image-list-item:hover .slide-show-image-list-item-overlay,.slide-show-image-list-item.active .slide-show-image-list-item-overlay{opacity:1}.slide-show-image-list-item-number{background-color:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600}.slide-show-image-list-item.active .slide-show-image-list-item-number{background-color:#3b82f6e6}.slide-show-export-dialog-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-show-export-dialog{background-color:#fff;border-radius:.75rem;padding:0;max-width:500px;width:90%;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-show-export-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.slide-show-export-dialog-header h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.slide-show-export-dialog-close{padding:.5rem;background-color:transparent;border:none;cursor:pointer;color:#6b7280;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:.25rem}.slide-show-export-dialog-close:hover:not(:disabled){background-color:#f3f4f6;color:#111827}.slide-show-export-dialog-close:disabled{opacity:.5;cursor:not-allowed}.slide-show-export-dialog-content{padding:1.5rem}.slide-show-export-format-group{display:flex;flex-direction:column;gap:1rem}.slide-show-export-format-group label{font-size:.875rem;font-weight:500;color:#374151}.slide-show-export-format-options{display:flex;flex-direction:column;gap:.75rem}.slide-show-export-format-option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid #d1d5db;border-radius:.5rem;cursor:pointer;transition:all .2s}.slide-show-export-format-option:hover:not(:has(input:disabled)){border-color:#3b82f6;background-color:#f0f9ff}.slide-show-export-format-option:has(input:checked){border-color:#3b82f6;background-color:#eff6ff}.slide-show-export-format-option:has(input:disabled){opacity:.5;cursor:not-allowed}.slide-show-export-format-option input[type=radio]{width:1rem;height:1rem;cursor:pointer;margin:0}.slide-show-export-format-option span{font-size:.875rem;color:#374151;flex:1}.slide-show-export-dialog-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb}.slide-show-export-dialog-button{padding:.5rem 1.5rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.slide-show-export-dialog-button:disabled{opacity:.5;cursor:not-allowed}.slide-show-export-dialog-button.cancel{background-color:#f3f4f6;color:#374151}.slide-show-export-dialog-button.cancel:hover:not(:disabled){background-color:#e5e7eb}.slide-show-export-dialog-button.primary{background-color:#3b82f6;color:#fff}.slide-show-export-dialog-button.primary:hover:not(:disabled){background-color:#2563eb}@media (max-width: 768px){.slide-show-image-container.with-image-list{margin-left:0}.slide-show-image-list-panel{width:100%;height:50%;top:auto;bottom:0;left:0;border-right:none;border-top:1px solid rgba(255,255,255,.1);animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-show-image-list-content{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:.5rem}.slide-show-image-list-item{flex-shrink:0;width:120px;height:80px;aspect-ratio:auto}.slide-show-controls{padding:1rem}.slide-show-control-buttons{gap:.5rem}.slide-show-control-button{padding:.5rem .75rem;font-size:.75rem}.slide-show-image-info-panel{width:calc(100vw - 2rem);max-width:320px;right:1rem;top:4rem}.slide-show-image-info-panel-content{padding:.75rem;font-size:.75rem}.slide-show-settings-content{padding:1.5rem;max-width:100%}}.browse-mode-switcher{position:relative;display:inline-block}.browse-mode-select-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#374151;font-size:14px;font-weight:500;min-width:160px;width:100%}.browse-mode-select-button:hover{border-color:#9ca3af;background:#f9fafb}.browse-mode-select-button:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.browse-mode-select-content{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.browse-mode-select-content .browse-mode-icon{transition:transform .3s ease,color .2s ease}.browse-mode-select-button:hover .browse-mode-select-content .browse-mode-icon{transform:scale(1.1)}.browse-mode-select-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.browse-mode-chevron{width:16px;height:16px;flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1);color:#6b7280}.browse-mode-chevron.open{transform:rotate(180deg)}.browse-mode-select-button:hover .browse-mode-chevron{color:#374151}.browse-mode-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1000;overflow:hidden;min-width:100%;width:-moz-max-content;width:max-content;white-space:nowrap;animation:dropdownFadeIn .2s ease forwards}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.browse-mode-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;cursor:pointer;transition:all .2s ease;color:#374151;font-size:14px;font-weight:500;text-align:left;min-width:-moz-max-content;min-width:max-content;opacity:0;transform:translate(-8px);animation:slideInItem .3s ease forwards;position:relative}@keyframes slideInItem{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.browse-mode-dropdown-item:hover{background:#f3f4f6;color:#111827;transform:translate(4px)}.browse-mode-dropdown-item:hover .browse-mode-icon{transform:scale(1.15);color:#2563eb}.browse-mode-dropdown-item.active{background:#eff6ff;color:#2563eb;position:relative}.browse-mode-dropdown-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:#2563eb;border-radius:0 2px 2px 0;animation:slideInActive .3s ease}@keyframes slideInActive{0%{width:0;opacity:0}to{width:3px;opacity:1}}.browse-mode-dropdown-item.active .browse-mode-icon{color:#2563eb;transform:scale(1.1);transition:transform .2s ease,color .2s ease}.browse-mode-icon{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease,color .2s ease}.browse-mode-dropdown-label{white-space:nowrap;overflow:visible;text-overflow:clip;transition:color .2s ease}@media (max-width: 640px){.browse-mode-select-button{min-width:120px;padding:6px 10px}.browse-mode-select-label{font-size:13px}}.browse-mode-file-container{opacity:1;transition:opacity .3s ease-in-out;width:100%;height:100%}.browse-mode-file-container.fade-out{opacity:0;pointer-events:none}.browse-mode-file-container.fade-in{opacity:1}.browse-mode-slide-container{position:fixed;inset:0;z-index:1000;opacity:0;transition:opacity .3s ease-in-out;pointer-events:none}.browse-mode-slide-container.fade-in{opacity:1;pointer-events:auto}.browse-mode-slide-container.fade-out{opacity:0;pointer-events:none}.browse-mode-slide-container.fade-in .slide-show-player{opacity:1}.version-info-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}.version-info-modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;width:100%;max-width:42rem;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.version-info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.version-info-modal-title-section{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.version-info-modal-icon-container{width:2.5rem;height:2.5rem;background-color:#dbeafe;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.version-info-modal-icon{width:1.5rem;height:1.5rem;color:#2563eb}.version-info-modal-title-text{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.version-info-modal-subtitle{font-size:.875rem;color:#6b7280;margin:0;margin-top:.25rem}.version-info-modal-close{padding:.5rem;color:#9ca3af;transition:color .2s ease-in-out,background-color .2s ease-in-out;border-radius:.5rem;background:none;border:none;cursor:pointer;flex-shrink:0;margin-left:.5rem}.version-info-modal-close:hover{color:#6b7280;background-color:#f3f4f6}.version-info-modal-close-icon{width:1.25rem;height:1.25rem}.version-info-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.version-info-modal-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;background-color:#f3f4f6;border-radius:.5rem;padding:.25rem}.version-info-modal-tab{flex:1;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:.5rem;border:none;background:none;cursor:pointer;color:#6b7280}.version-info-modal-tab:hover{color:#111827}.version-info-modal-tab.active{background-color:#fff;color:#2563eb;box-shadow:0 1px 2px #0000000d}.version-info-modal-tab-icon{width:1rem;height:1rem;flex-shrink:0}.version-info-modal-tab-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-info-modal-card{background-color:#f9fafb;border-radius:.5rem;padding:1rem}.version-info-modal-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.version-info-modal-card-icon{width:1rem;height:1rem;flex-shrink:0}.version-info-modal-card-label{font-weight:500;color:#111827}.version-info-modal-card-value{font-size:.875rem;color:#6b7280;word-break:break-word}.version-info-modal-card-value.mono{font-family:monospace}.version-info-modal-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media (min-width: 640px){.version-info-modal-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.version-info-modal-grid{grid-template-columns:repeat(3,1fr)}}.version-info-modal-framework-item{background-color:#f9fafb;border-radius:.5rem;padding:1rem}.version-info-modal-framework-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.version-info-modal-framework-name{font-weight:500;color:#111827;text-transform:capitalize}.version-info-modal-framework-version{font-size:.75rem;background-color:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:.25rem}.version-info-modal-progress-bar{width:100%;height:.5rem;background-color:#e5e7eb;border-radius:9999px;overflow:hidden}.version-info-modal-progress-fill{height:100%;background-color:#2563eb;border-radius:9999px;transition:width .3s ease-in-out}.version-info-modal-dependency-item{background-color:#f9fafb;border-radius:.5rem;padding:1rem;display:flex;align-items:center;justify-content:space-between}.version-info-modal-dependency-left{display:flex;align-items:center;gap:.75rem}.version-info-modal-dependency-dot{width:.5rem;height:.5rem;background-color:#10b981;border-radius:50%;flex-shrink:0}.version-info-modal-dependency-name{font-weight:500;color:#111827}.version-info-modal-dependency-version{font-size:.875rem;color:#6b7280;font-family:monospace}.version-info-modal-info-box{background-color:#eff6ff;border-radius:.5rem;padding:1rem;border:1px solid #bfdbfe}.version-info-modal-info-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.version-info-modal-info-icon{width:1rem;height:1rem;color:#2563eb}.version-info-modal-info-title{font-weight:500;color:#1e40af}.version-info-modal-info-text{font-size:.875rem;color:#1e3a8a}.version-info-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}.version-info-modal-footer-text{font-size:.75rem;color:#6b7280;display:flex;align-items:center}.version-info-modal-footer-button{padding:.5rem 1rem;background-color:#2563eb;color:#fff;border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s ease-in-out;border:none;cursor:pointer;flex-shrink:0}.version-info-modal-footer-button:hover{background-color:#1d4ed8}@media (max-width: 768px){.version-info-modal-overlay{padding:.5rem}.version-info-modal-header,.version-info-modal-body{padding:1rem}.version-info-modal-tabs{margin-bottom:1rem}.version-info-modal-tab{padding:.5rem;font-size:.75rem}.version-info-modal-tab-icon{width:.875rem;height:.875rem}.version-info-modal-footer{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}.version-info-modal-footer-button{width:100%}}@media (max-width: 640px){.version-info-modal-title-section{flex-direction:column;align-items:flex-start;gap:.5rem}.version-info-modal-title-text{font-size:1.125rem}.version-info-modal-subtitle{font-size:.75rem}.version-info-modal-grid{grid-template-columns:1fr}}.version-info-modal-overlay{animation:versionInfoFadeIn .2s ease-out}.version-info-modal-content{animation:versionInfoSlideIn .3s ease-out}@keyframes versionInfoFadeIn{0%{opacity:0}to{opacity:1}}@keyframes versionInfoSlideIn{0%{opacity:0;transform:translateY(-1rem) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.version-info-modal-overlay,.version-info-modal-content{animation:none}.version-info-modal-tab,.version-info-modal-progress-fill{transition:none}}@media (prefers-contrast: high){.version-info-modal-title-text{color:#000}.version-info-modal-subtitle{color:#404040}.version-info-modal-card-label,.version-info-modal-card-value{color:#000}}.demo-banner{position:relative;margin-bottom:1.5rem;border-radius:12px;border:1px solid rgba(147,112,219,.4);background:linear-gradient(90deg,#f5f3ff,#eef2ff,#f5f3ff);box-shadow:0 4px 12px #0f172a0a}.demo-banner-inner{position:relative;padding:20px}.demo-banner:before,.demo-banner:after{content:"";position:absolute;border-radius:9999px;filter:blur(28px);pointer-events:none}.demo-banner:before{top:-40px;right:-40px;width:120px;height:120px;background:#c4b5fd99}.demo-banner:after{bottom:-32px;left:-32px;width:96px;height:96px;background:#bfdbfe99}.demo-banner-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.demo-banner-header-left{display:flex;align-items:center;-moz-column-gap:10px;column-gap:10px}.demo-banner-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#4f46e5);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #4f46e559}.demo-banner-icon-svg{width:20px;height:20px;color:#fff}.demo-banner-title-block{display:flex;flex-direction:column}.demo-banner-title{display:flex;align-items:center;-moz-column-gap:8px;column-gap:8px;margin:0;font-size:16px;font-weight:600;color:#0f172a}.demo-banner-badge{padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500;background-color:#e9d5ff;color:#6b21a8}.demo-banner-desc{margin:4px 0 0;font-size:13px;line-height:1.5;color:#4b5563}.demo-banner-warning{display:flex;align-items:center;-moz-column-gap:6px;column-gap:6px;margin-top:10px;padding:6px 10px;border-radius:8px;border:1px solid #fed7aa;background-color:#fffbeb}.demo-banner-warning-icon{color:#f97316;flex-shrink:0}.demo-banner-warning-text{font-size:13px;color:#9a3412}.demo-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.demo-banner-dropdown{position:relative}.demo-banner-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:9999px;border:0;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s ease-out}.demo-banner-btn-primary{background:linear-gradient(90deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 4px 10px #4f46e559}.demo-banner-btn-primary:hover{background:linear-gradient(90deg,#6d28d9,#4338ca);transform:translateY(-1px);box-shadow:0 6px 14px #4f46e573}.demo-banner-btn-disabled{background:#e5e7eb;color:#9ca3af;box-shadow:none;cursor:not-allowed}.demo-banner-btn-disabled:hover{transform:none;box-shadow:none}.demo-banner-btn-secondary{border:2px solid #e9d5ff;background-color:transparent;color:#6b21a8}.demo-banner-btn-secondary:hover{background-color:#f5f3ff;border-color:#c4b5fd;box-shadow:0 2px 6px #94a3b84d}.demo-banner-btn-icon{width:16px;height:16px;margin-right:6px}.demo-banner-btn-text{white-space:nowrap}.demo-banner-btn-chevron{width:16px;height:16px;margin-left:4px;transition:transform .18s ease-out}.demo-banner-btn-chevron-open{transform:rotate(180deg)}.demo-banner-menu{position:absolute;top:100%;left:0;margin-top:8px;width:280px;background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a2e;overflow:hidden;z-index:50;animation:demo-fade-in .18s ease-out}.demo-banner-menu-item{width:100%;padding:12px 14px;display:flex;align-items:center;-moz-column-gap:10px;column-gap:10px;background-color:#fff;border:0;cursor:pointer;transition:background-color .16s ease-out}.demo-banner-menu-item:hover{background-color:#f9fafb}.demo-banner-menu-item--bordered{border-top:1px solid #f1f5f9}.demo-banner-menu-icon{width:40px;height:40px;border-radius:10px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.demo-banner-menu-icon-svg{width:20px;height:20px;color:#374151}.demo-banner-menu-gitee{font-size:14px;font-weight:600;color:#374151}.demo-banner-menu-text{min-width:0;flex:1}.demo-banner-menu-title{font-size:13px;font-weight:500;color:#111827}.demo-banner-menu-desc{margin-top:2px;font-size:11px;color:#6b7280}@keyframes demo-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.demo-icon-wrapper{position:relative}.demo-icon-button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:auto;height:36px;padding:0 10px;border-radius:8px;border:0;background-color:transparent;color:#8b5cf6;cursor:pointer;transition:all .2s ease;position:relative;flex-shrink:0;margin:0}.demo-icon-button *{pointer-events:none}.demo-icon-button:hover{background-color:#f3f4f6;color:#7c3aed}.demo-icon-svg{width:18px;height:18px;color:inherit;flex-shrink:0;display:block}.demo-icon-button svg{width:18px;height:18px;color:inherit;display:block;flex-shrink:0}.demo-icon-text{font-size:13px;font-weight:500;color:inherit;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.demo-icon-warning-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background-color:#f97316;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid #ffffff;box-shadow:0 2px 4px #0000001a}.demo-icon-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:320px;background-color:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a2e;overflow:hidden;z-index:1000;animation:demo-icon-fade-in .2s ease-out}@keyframes demo-icon-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.demo-icon-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f1f5f9;background:linear-gradient(90deg,#f5f3ff,#eef2ff)}.demo-icon-dropdown-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#0f172a}.demo-icon-badge{padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500;background-color:#e9d5ff;color:#6b21a8}.demo-icon-dropdown-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;border:0;background-color:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease}.demo-icon-dropdown-close:hover{background-color:#f3f4f6;color:#111827}.demo-icon-dropdown-warning{display:flex;align-items:center;gap:8px;padding:10px 16px;background-color:#fffbeb;border-bottom:1px solid #fed7aa;color:#9a3412;font-size:12px}.demo-icon-dropdown-content{padding:8px}.demo-icon-dropdown-item{width:100%;padding:12px;display:flex;align-items:flex-start;gap:12px;background-color:#fff;border:0;border-radius:8px;cursor:pointer;transition:background-color .16s ease-out;text-align:left}.demo-icon-dropdown-item:hover{background-color:#f9fafb}.demo-icon-dropdown-item-exit{margin-top:4px;border-top:1px solid #f1f5f9;padding-top:12px;color:#dc2626}.demo-icon-dropdown-item-exit:hover{background-color:#fef2f2}.demo-icon-dropdown-item-icon{width:32px;height:32px;border-radius:8px;background-color:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#374151;font-size:14px;font-weight:600}.demo-icon-dropdown-item-text{min-width:0;flex:1}.demo-icon-dropdown-item-title{font-size:13px;font-weight:500;color:#111827;margin-bottom:2px}.demo-icon-dropdown-item-desc{font-size:11px;color:#6b7280;line-height:1.4}.devtools-float-button{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;cursor:pointer;box-shadow:0 4px 12px #00000026,0 0 #667eea66;display:flex;align-items:center;justify-content:center;z-index:40;transition:all .3s ease}.devtools-float-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #667eea66,0 0 0 4px #667eea1a}.devtools-float-button:active{transform:scale(.95)}.devtools-float-button.dragging{cursor:ns-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:none}.devtools-float-button.dragging:hover{transform:scale(1)}.devtools-panel{position:fixed;top:0;right:0;width:600px;max-width:calc(100vw - 48px);height:100vh;max-height:100vh;background:linear-gradient(to bottom,#fff,#f8fafc);border-radius:0;border-left:1px solid #e2e8f0;box-shadow:-4px 0 24px #0000001f,-8px 0 48px #00000014;display:flex;flex-direction:column;z-index:60;overflow:hidden;backdrop-filter:blur(10px)}.devtools-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#fff,#f8fafc);box-shadow:0 2px 8px #0000000a}.devtools-title{font-size:18px;font-weight:700;color:#1e293b;letter-spacing:-.02em;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devtools-header-actions{display:flex;gap:8px;align-items:center}.devtools-icon-button{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative}.devtools-icon-button svg{display:block;flex-shrink:0}.devtools-icon-button:hover{background:#f1f5f9;color:#1e293b}.devtools-icon-button:hover svg{color:#1e293b}.devtools-tabs{display:flex;border-bottom:1px solid #e2e8f0;background:linear-gradient(to bottom,#fff,#f8fafc);padding:0 12px;gap:4px}.devtools-tab{position:relative;padding:14px 24px;border:none;background:transparent;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;border-radius:8px 8px 0 0;margin-top:4px}.devtools-tab:hover{color:#334155;background:#f1f5f9}.devtools-tab.active{color:#667eea;font-weight:600;background:#fff;box-shadow:0 -2px 8px #0000000a}.devtools-tab.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:2px 2px 0 0}.devtools-tab:disabled{opacity:.5;cursor:not-allowed}.devtools-tab-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:11px;padding:2px 8px;border-radius:12px;font-weight:600;box-shadow:0 2px 4px #667eea4d;min-width:20px;text-align:center}.devtools-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.devtools-logs-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.devtools-logs-toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to bottom,#fff,#f8fafc);flex-wrap:wrap;box-shadow:0 2px 4px #00000005}.devtools-filter-group{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.devtools-filter-group label{white-space:nowrap}.devtools-select{padding:4px 8px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#111827;cursor:pointer}.devtools-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.devtools-toolbar-actions{display:flex;gap:8px;margin-left:auto}.devtools-button{padding:8px 16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#334155;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0000000d}.devtools-button:hover{background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border-color:#cbd5e1;box-shadow:0 2px 4px #00000014;transform:translateY(-1px)}.devtools-button:active{background:#e2e8f0;transform:translateY(0);box-shadow:0 1px 2px #0000000d}.devtools-logs-list{flex:1;overflow-y:auto;padding:8px;background:#fff}.devtools-empty{display:flex;align-items:center;justify-content:center;height:200px;color:#9ca3af;font-size:14px}.devtools-log-item{padding:12px 16px;margin-bottom:10px;border-radius:8px;border-left:4px solid #cbd5e1;background:#fff;font-size:13px;line-height:1.6;box-shadow:0 1px 3px #0000000d;transition:all .2s}.devtools-log-item:hover{box-shadow:0 2px 6px #0000001a;transform:translate(2px)}.devtools-log-item.devtools-log-error{background:linear-gradient(to right,#fef2f2,#fff);border-left-color:#ef4444;box-shadow:0 1px 3px #ef444426}.devtools-log-item.devtools-log-warn{background:linear-gradient(to right,#fffbeb,#fff);border-left-color:#f59e0b;box-shadow:0 1px 3px #f59e0b26}.devtools-log-item.devtools-log-info{background:linear-gradient(to right,#eff6ff,#fff);border-left-color:#3b82f6;box-shadow:0 1px 3px #3b82f626}.devtools-log-item.devtools-log-debug{background:linear-gradient(to right,#f5f3ff,#fff);border-left-color:#8b5cf6;box-shadow:0 1px 3px #8b5cf626}.devtools-log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:12px}.devtools-log-level{font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.devtools-log-time{color:#9ca3af;font-size:11px}.devtools-log-message{color:#111827;word-break:break-word;white-space:pre-wrap;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.devtools-log-stack{margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.devtools-log-stack summary{cursor:pointer;color:#6b7280;font-size:12px;margin-bottom:4px}.devtools-log-stack summary:hover{color:#111827}.devtools-log-stack pre{margin:0;padding:8px;background:#1f2937;color:#e5e7eb;border-radius:4px;font-size:11px;overflow-x:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.devtools-performance-container{padding:16px;overflow-y:auto}.devtools-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.devtools-metric-card{padding:20px;background:linear-gradient(to bottom,#fff,#f8fafc);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1)}.devtools-metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#cbd5e1}.devtools-metric-label{font-size:12px;color:#64748b;margin-bottom:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.devtools-metric-value{font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.2}.devtools-performance-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.devtools-analysis-container{margin-top:24px;background:linear-gradient(to bottom,#fff,#f8fafc);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000f;overflow:hidden}.devtools-analysis-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:linear-gradient(to right,#fff,#f8fafc)}.devtools-analysis-title{font-size:16px;font-weight:700;color:#1e293b;margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.devtools-analysis-content{padding:20px}.devtools-analysis-score{text-align:center;padding:24px;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:12px;margin-bottom:24px;border:2px solid #e2e8f0}.devtools-analysis-score-label{font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.devtools-analysis-score-value{font-size:48px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1;margin-bottom:8px}.devtools-analysis-score-unit{font-size:24px;color:#94a3b8;font-weight:500}.devtools-analysis-level{display:inline-block;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.devtools-analysis-level-excellent{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.devtools-analysis-level-good{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 8px #3b82f64d}.devtools-analysis-level-fair{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.devtools-analysis-level-poor{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.devtools-analysis-section{margin-bottom:24px}.devtools-analysis-section:last-child{margin-bottom:0}.devtools-analysis-section-title{font-size:14px;font-weight:700;color:#1e293b;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #e2e8f0}.devtools-analysis-list{list-style:none;padding:0;margin:0}.devtools-analysis-item{padding:12px 16px;margin-bottom:8px;border-radius:8px;font-size:13px;line-height:1.6;border-left:4px solid;background:#fff;box-shadow:0 1px 3px #0000000d}.devtools-analysis-issue{border-left-color:#ef4444;background:linear-gradient(to right,#fef2f2,#fff)}.devtools-analysis-suggestion{border-left-color:#3b82f6;background:linear-gradient(to right,#eff6ff,#fff)}.devtools-analysis-empty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}.devtools-close-button{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;border:1px solid #cbd5e1!important;width:36px!important;height:36px!important;color:#475569!important;position:relative;z-index:1}.devtools-close-button svg{position:relative;z-index:2;display:block;width:18px;height:18px}.devtools-close-button:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)!important;color:#1e293b!important;transform:scale(1.05);box-shadow:0 2px 8px #0000001a;border-color:#94a3b8!important}.devtools-close-button:hover svg{color:#1e293b!important}@media (max-width: 768px){.devtools-panel{width:100vw;max-width:100vw}.devtools-metrics-grid{grid-template-columns:1fr}}.devtools-logs-list::-webkit-scrollbar,.devtools-performance-container::-webkit-scrollbar{width:8px}.devtools-logs-list::-webkit-scrollbar-track,.devtools-performance-container::-webkit-scrollbar-track{background:#f1f1f1}.devtools-logs-list::-webkit-scrollbar-thumb,.devtools-performance-container::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.devtools-logs-list::-webkit-scrollbar-thumb:hover,.devtools-performance-container::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;width:100vw}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInSoft{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1)}.fade-in-soft{animation:fadeInSoft .3s ease-in-out}@media (max-width: 640px){.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-3xl{font-size:1.875rem}.text-lg{font-size:1.125rem}.w-20{width:5rem}.h-20{height:5rem}.w-10{width:2.5rem}.h-10{height:2.5rem}}@media (max-width: 768px){.px-6{padding-left:1.5rem;padding-right:1.5rem}.text-xl{font-size:1.125rem}}@media (max-width: 1024px){.px-8{padding-left:2rem;padding-right:2rem}}.image-loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.drag-over{border-color:#3b82f6;background-color:#eff6ff}.btn-primary{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (max-width: 640px){.btn-primary{padding-left:1rem;padding-right:1rem}}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.btn-secondary{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (max-width: 640px){.btn-secondary{padding-left:1rem;padding-right:1rem}}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.btn-danger{border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1));padding:.5rem 1rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (max-width: 640px){.btn-danger{padding-left:1rem;padding-right:1rem}}.btn-danger:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.form-input{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:.5rem .75rem}.form-input:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.form-label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.card{overflow:hidden;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.card-hover{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card-hover:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1));--tw-bg-opacity: .5}.modal-content{margin-left:1rem;margin-right:1rem;width:100%;max-width:28rem;border-radius:.5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1.5rem}.tag{border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;line-height:1rem}.tag-primary{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.tag-secondary{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.fullscreen-layout{height:100vh;width:100vw;display:flex;flex-direction:column}.fullscreen-content{flex:1;display:flex;flex-direction:column}.scrollable-content{overflow-y:auto;overflow-x:hidden}.fixed-height-layout{height:100vh;display:flex;flex-direction:column}.fixed-height-content{flex:1;overflow-y:auto}.container-responsive{width:100%;height:100%;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container-responsive{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 768px){.container-responsive{padding-left:2rem;padding-right:2rem}}@media (min-width: 1024px){.container-responsive{padding-left:2.5rem;padding-right:2.5rem}}.grid-responsive{display:grid;gap:1rem;grid-template-columns:repeat(1,1fr)}@media (min-width: 640px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1280px){.grid-responsive{grid-template-columns:repeat(5,1fr)}}.text-responsive{font-size:1rem;line-height:1.5}@media (min-width: 640px){.text-responsive{font-size:1.125rem}}@media (min-width: 768px){.text-responsive{font-size:1.25rem}}.space-responsive{margin:1rem 0}@media (min-width: 640px){.space-responsive{margin:1.5rem 0}}@media (min-width: 768px){.space-responsive{margin:2rem 0}}.btn-responsive{padding:.5rem 1rem;font-size:.875rem}@media (min-width: 640px){.btn-responsive{padding:.75rem 1.5rem;font-size:1rem}}@media (min-width: 768px){.btn-responsive{padding:1rem 2rem;font-size:1.125rem}}.nav-responsive{padding:.75rem 1rem}@media (min-width: 640px){.nav-responsive{padding:1rem 1.5rem}}@media (min-width: 768px){.nav-responsive{padding:1.25rem 2rem}}.modal-responsive{width:90%;max-width:28rem;margin:0 1rem}@media (min-width: 640px){.modal-responsive{width:80%;max-width:32rem;margin:0 1.5rem}}@media (min-width: 768px){.modal-responsive{width:70%;max-width:36rem;margin:0 2rem}}.image-browser-responsive{display:grid;gap:.75rem;grid-template-columns:repeat(1,1fr)}@media (min-width: 640px){.image-browser-responsive{gap:1rem;grid-template-columns:repeat(2,1fr)}}@media (min-width: 768px){.image-browser-responsive{gap:1.25rem;grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.image-browser-responsive{gap:1.5rem;grid-template-columns:repeat(4,1fr)}}.search-responsive{width:100%;padding:.5rem .75rem;font-size:.875rem}@media (min-width: 640px){.search-responsive{padding:.75rem 1rem;font-size:1rem}}@media (min-width: 768px){.search-responsive{padding:1rem 1.25rem;font-size:1.125rem}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-2{left:.5rem}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-16{top:4rem}.top-2\.5{top:.625rem}.top-4{top:1rem}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-1{margin-top:.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-\[90vh\]{height:90vh}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:0px}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[90vw\]{width:90vw}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-60{--tw-bg-opacity: .6}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pl-8{padding-left:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-800{--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600{--tw-text-opacity: 1;color:rgb(202 138 4 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(133 77 14 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}code{background-color:#1a1a1a;padding:2px 4px;margin:0 4px;border-radius:4px}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button,code{background-color:#f9f9f9}}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.hover\:bg-blue-50:hover{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:bg-red-700{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}@media (min-width: 640px){.sm\:left-auto{left:auto}.sm\:right-4{right:1rem}.sm\:max-w-md{max-width:28rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width: 1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}}@media (prefers-color-scheme: dark){.dark\:text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}}
