.gallery-overlay.svelte-geoysn{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-modal.svelte-geoysn{background:#fff;border-radius:16px 16px 0 0;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -4px 30px #0003;animation:svelte-geoysn-slide-up-gallery .3s cubic-bezier(.25,1,.5,1)}@keyframes svelte-geoysn-slide-up-gallery{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:768px){.gallery-overlay.svelte-geoysn{align-items:center}.gallery-modal.svelte-geoysn{border-radius:12px;width:90vw;max-width:900px;height:80vh;max-height:80vh;box-shadow:0 20px 60px #0000004d;animation:none}}.drag-handle.svelte-geoysn{display:flex;justify-content:center;padding:10px 0 4px}.drag-bar.svelte-geoysn{width:36px;height:4px;border-radius:2px;background:#d1d5db}.gallery-header.svelte-geoysn{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb}@media(min-width:768px){.gallery-header.svelte-geoysn{padding:16px 20px}}.gallery-header.svelte-geoysn h2:where(.svelte-geoysn){margin:0;font-size:18px;font-weight:600}.header-controls.svelte-geoysn{display:flex;align-items:center;gap:16px}.image-count.svelte-geoysn{font-size:13px;color:#6b7280}.view-toggle.svelte-geoysn{display:flex;gap:4px;background:#f3f4f6;padding:3px;border-radius:6px}.view-toggle.svelte-geoysn button:where(.svelte-geoysn){padding:4px 12px;border:none;border-radius:4px;background:transparent;font-size:12px;cursor:pointer;transition:all .2s}.view-toggle.svelte-geoysn button.active:where(.svelte-geoysn){background:#fff;box-shadow:0 1px 3px #0000001a}.close-btn.svelte-geoysn{width:32px;height:32px;border:none;border-radius:6px;background:#f3f4f6;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn.svelte-geoysn:hover{background:#e5e7eb}.gallery-toolbar.svelte-geoysn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.gallery-toolbar.svelte-geoysn button:where(.svelte-geoysn){padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:12px;cursor:pointer;transition:all .2s}.gallery-toolbar.svelte-geoysn button:where(.svelte-geoysn):hover{background:#f3f4f6}.gallery-toolbar.svelte-geoysn .spacer:where(.svelte-geoysn){flex:1}.gallery-toolbar.svelte-geoysn .clear-btn:where(.svelte-geoysn){color:#dc2626;border-color:#fca5a5}.gallery-toolbar.svelte-geoysn .clear-btn:where(.svelte-geoysn):hover{background:#fef2f2}.gallery-toolbar.svelte-geoysn .clear-btn.confirm:where(.svelte-geoysn){background:#dc2626;color:#fff;border-color:#dc2626}.gallery-content.svelte-geoysn{flex:1;overflow-y:auto;padding:16px}.loading.svelte-geoysn,.empty-state.svelte-geoysn{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.empty-state.svelte-geoysn .hint:where(.svelte-geoysn){font-size:13px;margin-top:8px;color:#9ca3af}.tree-view.svelte-geoysn{display:flex;flex-direction:column;gap:2px}.tree-node.svelte-geoysn{display:flex;flex-direction:column}.node-content.svelte-geoysn{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;transition:background .15s}.node-content.svelte-geoysn:hover{background:#f3f4f6}.node-content.selected.svelte-geoysn{background:#eff6ff;outline:2px solid #3b82f6}.expand-btn.svelte-geoysn{width:20px;height:20px;border:none;background:transparent;font-size:10px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.expand-btn.has-children.svelte-geoysn{color:#6b7280}.expand-btn.svelte-geoysn:disabled{cursor:default}.thumbnail-wrapper.svelte-geoysn{width:48px;height:48px;border-radius:6px;overflow:hidden;flex-shrink:0;border:1px solid #e5e7eb}.thumbnail.svelte-geoysn{width:100%;height:100%;object-fit:cover}.node-info.svelte-geoysn{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.node-header.svelte-geoysn{display:flex;align-items:center;gap:8px}.type-badge.svelte-geoysn{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;color:#fff;text-transform:uppercase}.node-id.svelte-geoysn{font-size:12px;color:#6b7280;font-family:monospace}.node-meta.svelte-geoysn{display:flex;align-items:center;gap:12px}.node-name.svelte-geoysn{font-size:13px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-date.svelte-geoysn{font-size:11px;color:#9ca3af;flex-shrink:0}.node-actions.svelte-geoysn{display:flex;gap:4px;opacity:0;transition:opacity .15s}.node-content.svelte-geoysn:hover .node-actions:where(.svelte-geoysn){opacity:1}.action-btn.svelte-geoysn{padding:4px 10px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:11px;cursor:pointer;transition:all .2s}.action-btn.svelte-geoysn:hover{background:#f3f4f6}.select-btn.svelte-geoysn{color:#3b82f6;border-color:#93c5fd}.select-btn.svelte-geoysn:hover{background:#eff6ff}.delete-btn.svelte-geoysn{color:#dc2626;border-color:#fca5a5;font-size:14px;padding:2px 8px}.delete-btn.svelte-geoysn:hover{background:#fef2f2}.node-children.svelte-geoysn{display:flex;flex-direction:column;margin-left:10px;border-left:1px dashed #d1d5db}.grid-view.svelte-geoysn{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.grid-item.svelte-geoysn{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s}.grid-item.svelte-geoysn:hover{border-color:#93c5fd;transform:scale(1.02)}.grid-item.selected.svelte-geoysn{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f6}.grid-item.svelte-geoysn img:where(.svelte-geoysn){width:100%;height:100%;object-fit:cover}.grid-item-info.svelte-geoysn{position:absolute;bottom:0;left:0;right:0;padding:6px;background:linear-gradient(transparent,#000000b3);display:flex;align-items:center;gap:6px}.grid-item-id.svelte-geoysn{font-size:10px;color:#fff;font-family:monospace}.grid-delete-btn.svelte-geoysn{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:4px;background:#00000080;color:#fff;font-size:16px;cursor:pointer;opacity:0;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.grid-item.svelte-geoysn:hover .grid-delete-btn:where(.svelte-geoysn){opacity:1}.grid-delete-btn.svelte-geoysn:hover{background:#dc2626}.delete-dialog.svelte-geoysn{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center}.delete-dialog-content.svelte-geoysn{background:#fff;border-radius:12px;padding:24px;max-width:400px;text-align:center}.delete-dialog-content.svelte-geoysn h3:where(.svelte-geoysn){margin:0 0 12px}.delete-dialog-content.svelte-geoysn p:where(.svelte-geoysn){color:#6b7280;margin-bottom:20px}.delete-options.svelte-geoysn{display:flex;flex-direction:column;gap:8px}.delete-options.svelte-geoysn button:where(.svelte-geoysn){padding:10px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;transition:all .2s}.delete-options.svelte-geoysn button:where(.svelte-geoysn):hover{background:#f3f4f6}.delete-options.svelte-geoysn button.danger:where(.svelte-geoysn){background:#dc2626;color:#fff;border-color:#dc2626}.delete-options.svelte-geoysn button.danger:where(.svelte-geoysn):hover{background:#b91c1c}
