.icon.svelte-186tu3i{display:inline-block;vertical-align:middle;flex-shrink:0}.login-page.svelte-1smdtwm{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card.svelte-1smdtwm{width:100%;max-width:360px;text-align:center}.login-icon.svelte-1smdtwm{font-size:48px;margin-bottom:16px}.login-title.svelte-1smdtwm{font-size:24px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.login-subtitle.svelte-1smdtwm{font-size:14px;color:var(--text-secondary);margin-bottom:32px}.login-input.svelte-1smdtwm{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:16px;outline:none;transition:border-color .2s ease;box-sizing:border-box;margin-bottom:12px}.login-input.svelte-1smdtwm:last-of-type{margin-bottom:0}.login-input.svelte-1smdtwm:focus{border-color:var(--accent)}.login-input.svelte-1smdtwm::placeholder{color:var(--text-muted)}.login-error.svelte-1smdtwm{margin-top:12px;font-size:13px;color:var(--danger)}.remember-row.svelte-1smdtwm{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:13px;color:var(--text-secondary);cursor:pointer}.remember-row.svelte-1smdtwm input[type=checkbox]:where(.svelte-1smdtwm){accent-color:var(--accent)}.login-btn.svelte-1smdtwm{width:100%;margin-top:16px;padding:12px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.login-btn.svelte-1smdtwm:hover:not(:disabled){background:var(--accent-hover)}.login-btn.svelte-1smdtwm:disabled{opacity:.5;cursor:not-allowed}.folder-list.svelte-e3l6zs{max-width:1200px;margin:0 auto;padding:20px 16px}.folder-grid.svelte-e3l6zs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}@media(min-width:641px){.folder-grid.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.folder-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}@media(min-width:641px){.folder-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(min-width:1024px){.folder-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.folder-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media(min-width:641px){.folder-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(min-width:1024px){.folder-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.folder-card.svelte-e3l6zs{display:flex;flex-direction:column;border:none;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;text-align:left}.folder-card.svelte-e3l6zs:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.folder-cover.svelte-e3l6zs{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg-secondary)}.folder-overlay.svelte-e3l6zs{position:absolute;bottom:0;left:0;right:0;padding:8px 10px;background:linear-gradient(transparent,#000000a6);display:flex;flex-direction:column;gap:1px}.folder-overlay-name.svelte-e3l6zs{font-size:13px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-overlay-count.svelte-e3l6zs{font-size:11px;color:#ffffffbf}.cover-img.svelte-e3l6zs{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}.cover-img.cover-loaded.svelte-e3l6zs{opacity:1}.skeleton-cover-inner.svelte-e3l6zs{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-card)}.folder-cover-placeholder.svelte-e3l6zs{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:48px}.skeleton-card.svelte-e3l6zs{display:flex;flex-direction:column;border:none;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.skeleton-cover.svelte-e3l6zs{width:100%;aspect-ratio:1;background:var(--bg-secondary);border-radius:var(--radius-sm, 8px);overflow:hidden}.skeleton-info.svelte-e3l6zs{padding:12px;display:flex;flex-direction:column;gap:8px}.skeleton-line.svelte-e3l6zs{height:12px;background:var(--bg-secondary);border-radius:6px}.pulse.svelte-e3l6zs{animation:svelte-e3l6zs-pulse 1.5s ease-in-out infinite}@keyframes svelte-e3l6zs-pulse{0%,to{opacity:1}50%{opacity:.4}}.folder-error.svelte-e3l6zs,.folder-empty.svelte-e3l6zs{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:var(--text-secondary)}.folder-error.svelte-e3l6zs button:where(.svelte-e3l6zs){padding:8px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.root-photos-section.svelte-e3l6zs{margin-bottom:24px}.section-title.svelte-e3l6zs{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.root-photos-grid.svelte-e3l6zs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.root-photo-card.svelte-e3l6zs{position:relative;width:100%;aspect-ratio:1;border:none;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);cursor:pointer;padding:0;transition:transform .15s ease}.root-photo-card.svelte-e3l6zs:hover{transform:scale(1.03)}.root-photo-img.svelte-e3l6zs{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s ease}.root-photo-img.cover-loaded.svelte-e3l6zs{opacity:1}.modal-overlay.svelte-2o4uwj{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-2o4uwj{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:0 20px 60px #0000004d;width:380px}.modal-header.svelte-2o4uwj{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header.svelte-2o4uwj h2:where(.svelte-2o4uwj){margin:0;font-size:16px;color:var(--text-primary)}.modal-body.svelte-2o4uwj{padding:20px}label.svelte-2o4uwj{display:block;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}.error-msg.svelte-2o4uwj{color:var(--danger);font-size:13px;margin:10px 0}.modal-actions.svelte-2o4uwj{display:flex;gap:10px;margin-top:18px}.modal-actions.svelte-2o4uwj button:where(.svelte-2o4uwj){flex:1}.modal-overlay.svelte-3xjv5t{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.modal.svelte-3xjv5t{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:0 20px 60px #0000004d;width:420px;max-height:80vh;display:flex;flex-direction:column}.modal-header.svelte-3xjv5t{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header.svelte-3xjv5t h2:where(.svelte-3xjv5t){margin:0;font-size:16px;color:var(--text-primary)}.modal-body.svelte-3xjv5t{padding:16px 20px;overflow-y:auto}.state-msg.svelte-3xjv5t{text-align:center;padding:40px 0;color:var(--text-muted);font-size:14px}.state-msg.error.svelte-3xjv5t{color:var(--danger)}.album-list.svelte-3xjv5t{display:flex;flex-direction:column;gap:4px}.album-item.svelte-3xjv5t{display:flex;align-items:center;gap:12px;padding:10px 12px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;width:100%;text-align:left;transition:background .12s}.album-item.svelte-3xjv5t:hover{background:var(--bg-hover)}.album-item-cover.svelte-3xjv5t{position:relative;width:48px;height:36px;border-radius:4px;overflow:hidden;background:var(--bg-chip);flex-shrink:0}.album-item-cover.svelte-3xjv5t img:where(.svelte-3xjv5t){width:100%;height:100%;object-fit:cover}.cover-empty.svelte-3xjv5t{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.album-item-count.svelte-3xjv5t{position:absolute;bottom:2px;right:2px;background:#0009;color:#fff;padding:1px 5px;border-radius:8px;font-size:9px}.album-item-name.svelte-3xjv5t{font-size:14px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-picker-footer.svelte-3xjv5t{margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.album-picker-footer.svelte-3xjv5t button:where(.svelte-3xjv5t){width:100%}.modal-overlay.svelte-kpx1bz{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.modal.svelte-kpx1bz{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:0 20px 60px #0000004d;width:460px;max-height:85vh;display:flex;flex-direction:column}.modal-header.svelte-kpx1bz{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header.svelte-kpx1bz h2:where(.svelte-kpx1bz){margin:0;font-size:16px;color:var(--text-primary)}.btn-icon.svelte-kpx1bz{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;border-radius:4px;display:flex;align-items:center}.btn-icon.svelte-kpx1bz:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body.svelte-kpx1bz{padding:20px;overflow-y:auto}.section.svelte-kpx1bz{margin-bottom:20px}.section-label.svelte-kpx1bz{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.photo-preview-list.svelte-kpx1bz{display:flex;flex-wrap:wrap;gap:6px}.photo-preview-item.svelte-kpx1bz{width:64px;height:64px;border-radius:6px;overflow:hidden;background:var(--bg-chip)}.photo-preview-thumb.svelte-kpx1bz{width:100%;height:100%;object-fit:cover}.photo-preview-more.svelte-kpx1bz{width:64px;height:64px;border-radius:6px;background:var(--bg-chip);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--text-muted)}.expiry-select.svelte-kpx1bz{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.expiry-select.svelte-kpx1bz:focus{border-color:var(--accent)}.error-msg.svelte-kpx1bz{font-size:13px;color:var(--danger);margin-bottom:12px;padding:8px 12px;background:var(--bg-chip);border-radius:var(--radius-sm)}.btn-generate.svelte-kpx1bz{width:100%;padding:10px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s}.btn-generate.svelte-kpx1bz:hover{opacity:.9}.btn-generate.svelte-kpx1bz:disabled{opacity:.6;cursor:not-allowed}.spinner.svelte-kpx1bz{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:svelte-kpx1bz-spin .7s linear infinite}@keyframes svelte-kpx1bz-spin{to{transform:rotate(360deg)}}.success-icon.svelte-kpx1bz{display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:#22c55e}.success-text.svelte-kpx1bz{text-align:center;font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:16px}.link-box.svelte-kpx1bz{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:12px;word-break:break-all}.link-url.svelte-kpx1bz{font-size:13px;color:var(--text-secondary);line-height:1.5}.link-actions.svelte-kpx1bz{display:flex;justify-content:center;margin-bottom:12px}.btn-copy.svelte-kpx1bz{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:background .12s}.btn-copy.svelte-kpx1bz:hover{background:var(--bg-hover)}.expiry-hint.svelte-kpx1bz{text-align:center;font-size:12px;color:var(--text-muted)}.photo-grid-page.svelte-d7oy2o{max-width:1400px;margin:0 auto;padding:16px}.grid-header.svelte-d7oy2o{display:flex;align-items:center;gap:12px;margin-bottom:16px}.back-btn.svelte-d7oy2o{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.back-btn.svelte-d7oy2o:hover{background:var(--bg-hover);color:var(--text-primary)}.grid-title.svelte-d7oy2o{font-size:20px;font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-toggle-btn.svelte-d7oy2o{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.select-toggle-btn.svelte-d7oy2o:hover{background:var(--bg-hover);color:var(--text-primary)}.folder-section.svelte-d7oy2o{margin-bottom:24px}.folder-cell.svelte-d7oy2o{display:flex;flex-direction:column;border:none;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-card);cursor:pointer;text-align:left;transition:opacity .15s ease}.folder-cell.svelte-d7oy2o:hover{opacity:.85}.folder-cell-cover.svelte-d7oy2o{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg-secondary)}.folder-cell-placeholder.svelte-d7oy2o{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--text-muted)}.folder-cell-overlay.svelte-d7oy2o{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,#000000a6);display:flex;flex-direction:column;gap:1px}.folder-cell-overlay-name.svelte-d7oy2o{font-size:12px;font-weight:500;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-cell-overlay-count.svelte-d7oy2o{font-size:10px;color:#ffffffbf}.masonry-grid.svelte-d7oy2o{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}@media(min-width:641px){.masonry-grid.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}}@media(min-width:1024px){.masonry-grid.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media(min-width:1440px){.masonry-grid.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.masonry-grid.card-small.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}@media(min-width:641px){.masonry-grid.card-small.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(min-width:1024px){.masonry-grid.card-small.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media(min-width:1440px){.masonry-grid.card-small.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.masonry-grid.card-large.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media(min-width:641px){.masonry-grid.card-large.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(min-width:1024px){.masonry-grid.card-large.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(min-width:1440px){.masonry-grid.card-large.svelte-d7oy2o{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}}.photo-cell.svelte-d7oy2o{position:relative;display:block;border:none;background:none;padding:0;cursor:pointer;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;transition:opacity .15s ease}.masonry-grid.timeline.svelte-d7oy2o .photo-cell:where(.svelte-d7oy2o){aspect-ratio:3 / 2}.photo-cell.svelte-d7oy2o:hover{opacity:.85}.photo-cell.selected.svelte-d7oy2o{outline:2px solid var(--accent);outline-offset:-2px}.photo-check.svelte-d7oy2o{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2}.photo-check.checked.svelte-d7oy2o{background:var(--accent)}.photo-check.svelte-d7oy2o svg:where(.svelte-d7oy2o){color:#fff}.img-wrapper.svelte-d7oy2o{position:absolute;top:0;right:0;bottom:0;left:0}.photo-thumb.svelte-d7oy2o{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:var(--radius-sm);opacity:0;transition:opacity .4s ease}.photo-thumb.thumb-loaded.svelte-d7oy2o{opacity:1}.skeleton-cell.svelte-d7oy2o{aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden}.masonry-grid.timeline.svelte-d7oy2o .skeleton-cell:where(.svelte-d7oy2o){aspect-ratio:3 / 2}.skeleton-img.svelte-d7oy2o{width:100%;height:100%;background:var(--bg-card);border-radius:var(--radius-sm)}.pulse.svelte-d7oy2o{animation:svelte-d7oy2o-pulse 1.5s ease-in-out infinite}@keyframes svelte-d7oy2o-pulse{0%,to{opacity:1}50%{opacity:.4}}.img-failed.svelte-d7oy2o{width:100%;height:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:var(--radius-sm)}.masonry-grid.timeline.svelte-d7oy2o .img-failed:where(.svelte-d7oy2o){aspect-ratio:3 / 2}.video-badge.svelte-d7oy2o{position:absolute;bottom:6px;right:6px;width:28px;height:28px;border-radius:50%;background:#0009;display:flex;align-items:center;justify-content:center;pointer-events:none}.grid-error.svelte-d7oy2o,.grid-empty.svelte-d7oy2o{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:var(--text-secondary)}.grid-error.svelte-d7oy2o button:where(.svelte-d7oy2o){padding:8px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.timeline-group.svelte-d7oy2o{margin-bottom:32px}.timeline-header.svelte-d7oy2o{font-size:18px;font-weight:600;color:var(--text-primary);padding:0 4px 12px;margin:0;transition:color .4s ease}.select-toolbar.svelte-d7oy2o{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--bg-surface);border-top:1px solid var(--border);box-shadow:0 -4px 12px #00000014;z-index:900}.select-toolbar-left.svelte-d7oy2o{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-primary)}.select-toolbar-left.svelte-d7oy2o .btn-link:where(.svelte-d7oy2o){border:none;background:none;color:var(--accent);cursor:pointer;font-size:13px;padding:4px}.select-toolbar-right.svelte-d7oy2o{display:flex;align-items:center;gap:8px}.select-toolbar.svelte-d7oy2o .btn-filled:where(.svelte-d7oy2o){padding:8px 20px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer}.select-toolbar.svelte-d7oy2o .btn-filled:where(.svelte-d7oy2o):disabled{background:var(--bg-chip);color:var(--text-muted);cursor:not-allowed}.select-toolbar.svelte-d7oy2o .btn-outlined:where(.svelte-d7oy2o){padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background .12s}.select-toolbar.svelte-d7oy2o .btn-outlined:where(.svelte-d7oy2o):hover{background:var(--bg-hover)}.select-toolbar.svelte-d7oy2o .btn-outlined:where(.svelte-d7oy2o):disabled{color:var(--text-muted);cursor:not-allowed}.toast.svelte-d7oy2o{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 24px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 16px #0000001f;font-size:14px;color:var(--text-primary);z-index:1000;animation:svelte-d7oy2o-toast-in .2s ease}@keyframes svelte-d7oy2o-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.load-more-sentinel.svelte-d7oy2o{display:flex;justify-content:center;align-items:center;min-height:80px;padding:24px;color:var(--text-muted)}.loading-indicator.svelte-d7oy2o{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.loading-spinner.svelte-d7oy2o{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:svelte-d7oy2o-spin .8s linear infinite}@keyframes svelte-d7oy2o-spin{to{transform:rotate(360deg)}}.scroll-prompt.svelte-d7oy2o{font-size:13px;color:var(--text-muted);text-align:center}.tag-filter-wrapper.svelte-d7oy2o{display:flex;align-items:center;gap:4px}.tag-filter-select.svelte-d7oy2o{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);font-size:13px;color:var(--text-primary);cursor:pointer;outline:none;max-width:140px;transition:border-color .15s ease}.tag-filter-select.svelte-d7oy2o:focus{border-color:var(--accent)}.tag-clear-btn.svelte-d7oy2o{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.tag-clear-btn.svelte-d7oy2o:hover{background:var(--bg-chip);color:var(--text-primary)}.tag-badge.svelte-d7oy2o{position:absolute;top:4px;right:4px;display:flex;gap:3px;padding:2px 4px;border-radius:10px;background:#00000073;z-index:2}.tag-dot.svelte-d7oy2o{width:8px;height:8px;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px #ffffff4d}.exif-panel.svelte-6qt75s{background:none;overflow:visible}.exif-header.svelte-6qt75s{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;font-size:13px;font-weight:500;color:#fff9}.exif-toggle.svelte-6qt75s{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s}.exif-toggle.svelte-6qt75s:hover{color:var(--text-primary)}.exif-loading.svelte-6qt75s,.exif-empty.svelte-6qt75s{padding:12px 14px;font-size:12px;color:var(--text-muted)}.exif-grid.svelte-6qt75s{padding:0 14px 10px;display:flex;flex-direction:column;gap:6px;max-height:400px;overflow-y:auto}.exif-item.svelte-6qt75s{display:flex;align-items:baseline;gap:8px;min-width:0}.exif-key.svelte-6qt75s{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;min-width:60px}.exif-val.svelte-6qt75s{font-size:13px;color:var(--text-primary);font-variant-numeric:tabular-nums;word-break:break-word}.exif-more.svelte-6qt75s{padding:4px 14px 8px;font-size:11px;color:var(--text-muted);text-align:center}.lightbox.svelte-11o8oez{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:var(--bg-overlay);animation:svelte-11o8oez-fadeIn .2s ease}@keyframes svelte-11o8oez-fadeIn{0%{opacity:0}to{opacity:1}}.lightbox.swiping.svelte-11o8oez{transition:none}.lightbox.settling.svelte-11o8oez{transition:opacity .3s ease}.lightbox-image-area.svelte-11o8oez{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:0}.image-container.svelte-11o8oez{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;transition:transform .3s ease}.lightbox-thumb.svelte-11o8oez{max-width:100%;max-height:80vh;object-fit:contain;filter:blur(20px);transform:scale(1.1);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:opacity .3s ease;position:absolute}.lightbox-img.svelte-11o8oez{max-width:100%;max-height:80vh;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:opacity .4s ease;position:relative}.lightbox-img.img-visible.svelte-11o8oez{opacity:1}.img-failed-lightbox.svelte-11o8oez{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted);font-size:14px}.nav-btn.svelte-11o8oez{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#ffffff1f;color:#fff;display:flex;align-items:center;justify-content:center;transition:background var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-btn.svelte-11o8oez:hover{background:#ffffff38}.nav-prev.svelte-11o8oez{left:16px}.nav-next.svelte-11o8oez{right:16px}.lightbox-toolbar.svelte-11o8oez{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;background:#00000073;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0;-webkit-user-select:none;user-select:none}.toolbar-left.svelte-11o8oez,.toolbar-right.svelte-11o8oez{display:flex;align-items:center;gap:6px}.photo-counter.svelte-11o8oez{font-size:13px;font-weight:500;color:#ffffffb3;font-variant-numeric:tabular-nums}.video-badge.svelte-11o8oez{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;border-radius:10px;background:#ffffff1a;color:#ffffffb3;font-size:12px;font-weight:500}.lightbox-action-btn.svelte-11o8oez{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:#ffffffb3;cursor:pointer;transition:background .15s ease,color .15s ease}.lightbox-action-btn.svelte-11o8oez:hover:not(:disabled){background:#ffffff1f;color:#fff}.lightbox-action-btn.active.svelte-11o8oez{background:#ffffff26;color:#fff}.lightbox-action-btn.svelte-11o8oez:disabled{opacity:.4;cursor:not-allowed}.lightbox-close-btn.svelte-11o8oez{margin-left:6px}.lightbox-close-btn.svelte-11o8oez:hover:not(:disabled){background:#ff3b3033;color:var(--danger, #FF3B30)}.btn-spinner.svelte-11o8oez{display:inline-block;width:14px;height:14px;border:2px solid var(--text-muted);border-top-color:var(--text-primary);border-radius:50%;animation:svelte-11o8oez-spin .8s linear infinite}@keyframes svelte-11o8oez-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.lightbox.svelte-11o8oez{padding:0}.nav-btn.svelte-11o8oez{width:44px;height:44px}.nav-prev.svelte-11o8oez{left:8px}.nav-next.svelte-11o8oez{right:8px}.lightbox-toolbar.svelte-11o8oez{padding:10px 12px}.lightbox-action-btn.svelte-11o8oez{min-width:44px;min-height:44px}}.lightbox-image-area.svelte-11o8oez{transition:margin-right .3s ease}.lightbox.has-info.svelte-11o8oez .lightbox-image-area:where(.svelte-11o8oez){margin-right:var(--detail-width)}.info-overlay.svelte-11o8oez{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:transparent;cursor:default}.info-panel.svelte-11o8oez{position:fixed;top:48px;right:0;bottom:0;width:var(--detail-width);z-index:1002;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md) 0 0 var(--radius-md);transform:translate(100%);opacity:0;transition:transform .3s ease,opacity .3s ease;display:flex;flex-direction:column;overflow-y:auto}.info-panel.info-panel-visible.svelte-11o8oez{transform:translate(0);opacity:1}.info-panel-inner.svelte-11o8oez{display:flex;flex-direction:column;padding:24px 20px;gap:20px;flex:1}.info-thumb.svelte-11o8oez{border-radius:var(--radius-sm, 8px);overflow:hidden;background:#ffffff0d;aspect-ratio:3 / 2;display:flex;align-items:center;justify-content:center}.info-thumb-img.svelte-11o8oez{width:100%;height:100%;object-fit:cover}.info-meta.svelte-11o8oez{display:flex;flex-direction:column;gap:12px}.info-row.svelte-11o8oez{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.info-label.svelte-11o8oez{font-size:13px;color:#ffffff80;flex-shrink:0}.info-value.svelte-11o8oez{font-size:13px;color:#fff;text-align:right;word-break:break-all}.info-filename.svelte-11o8oez{font-family:var(--font-mono, monospace);font-size:12px}.info-exif-section.svelte-11o8oez,.info-section.svelte-11o8oez{border-top:1px solid rgba(255,255,255,.08);padding-top:16px}.info-section-header.svelte-11o8oez{display:flex;align-items:center;gap:8px;font-size:13px;color:#fff9;margin-bottom:12px}.info-hash.svelte-11o8oez,.info-path.svelte-11o8oez{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.info-mono-label.svelte-11o8oez{font-size:11px;color:#ffffff59;text-transform:uppercase;letter-spacing:.5px}.info-mono-value.svelte-11o8oez{font-family:var(--font-mono, "SF Mono", "Cascadia Code", monospace);font-size:12px;color:#ffffffbf;word-break:break-all;background:#ffffff0d;padding:6px 8px;border-radius:6px;line-height:1.4}.info-path-value.svelte-11o8oez{font-size:11px;color:#fff9}.info-download-btn.svelte-11o8oez{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border-radius:var(--radius-sm, 8px);background:#ffffff1f;color:#fff;font-size:14px;font-weight:500;transition:background var(--transition);margin-top:auto}.info-download-btn.svelte-11o8oez:hover:not(:disabled){background:#fff3}.info-download-btn.svelte-11o8oez:disabled{opacity:.5;cursor:not-allowed}.info-tag-placeholder.svelte-11o8oez{font-size:13px;color:#ffffff59;margin:0;font-style:italic}.tag-list.svelte-11o8oez{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tag-chip.svelte-11o8oez{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:12px;border:1px solid;font-size:12px;color:#ffffffd9;line-height:1}.tag-chip-dot.svelte-11o8oez{width:7px;height:7px;border-radius:50%;flex-shrink:0}.tag-chip-remove.svelte-11o8oez{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:2px;border:none;border-radius:50%;background:#ffffff1a;color:#ffffff80;cursor:pointer;padding:0;transition:background .15s,color .15s}.tag-chip-remove.svelte-11o8oez:hover{background:#ff50504d;color:#ff6b6b}.tag-add-row.svelte-11o8oez{margin-top:4px}.tag-add-select.svelte-11o8oez{width:100%;padding:6px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#ffffffb3;font-size:13px;cursor:pointer;outline:none}.tag-add-select.svelte-11o8oez:focus{border-color:#ffffff4d}.tag-add-select.svelte-11o8oez option:where(.svelte-11o8oez){background:#1a1a2e;color:#fff}@media(max-width:640px){.lightbox.has-info.svelte-11o8oez .lightbox-image-area:where(.svelte-11o8oez){margin-right:0}.info-panel.svelte-11o8oez{width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0;top:auto;bottom:0;height:60vh;transform:translateY(100%)}.info-panel.info-panel-visible.svelte-11o8oez{transform:translateY(0)}}.toast-wrapper.svelte-1ig2a9j{display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius);font-size:14px;color:#fff;pointer-events:auto;opacity:0;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease;max-width:400px;box-shadow:0 4px 20px #0006}.toast-wrapper.visible.svelte-1ig2a9j{opacity:1;transform:translateY(0)}.toast-wrapper.error.svelte-1ig2a9j{background:var(--danger)}.toast-wrapper.success.svelte-1ig2a9j{background:var(--success)}.toast-wrapper.warning.svelte-1ig2a9j{background:var(--warning)}.toast-icon.svelte-1ig2a9j{font-size:16px;flex-shrink:0}.toast-msg.svelte-1ig2a9j{line-height:1.4}.sidebar.svelte-181dlmc{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s ease,min-width .3s ease,background-color .4s ease,border-color .4s ease;overflow:hidden;z-index:20}.sidebar.collapsed.svelte-181dlmc{width:var(--sidebar-collapsed);min-width:var(--sidebar-collapsed)}.sidebar-brand.svelte-181dlmc{padding:14px 16px;font-weight:600;font-size:20px;letter-spacing:.02em;color:var(--text-primary);white-space:nowrap;overflow:hidden;transition:color .4s ease;height:48px;display:flex;align-items:center}.sidebar-brand.svelte-181dlmc .brand-full:where(.svelte-181dlmc){transition:opacity .2s ease}.sidebar-brand.svelte-181dlmc .brand-icon:where(.svelte-181dlmc){display:none;font-weight:600;font-size:20px;letter-spacing:.02em}.sidebar.collapsed.svelte-181dlmc .brand-full:where(.svelte-181dlmc){opacity:0;width:0}.sidebar.collapsed.svelte-181dlmc .brand-icon:where(.svelte-181dlmc){display:inline}.sidebar-nav.svelte-181dlmc{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.nav-section-label.svelte-181dlmc{padding:6px 16px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:8px;transition:color .4s ease}.nav-section-label.svelte-181dlmc:first-child{margin-top:0}.album-add-btn.svelte-181dlmc{background:none;border:none;color:var(--accent);font-size:10px;font-weight:600;cursor:pointer;padding:0;margin-left:auto}.album-add-btn.svelte-181dlmc:hover{text-decoration:underline}.nav-item.muted.svelte-181dlmc{color:var(--text-muted);font-size:12px;padding:6px 16px;cursor:default;background:none}.nav-item.svelte-181dlmc{display:flex;align-items:center;gap:10px;width:100%;padding:7px 16px;cursor:pointer;color:var(--text-secondary);font-weight:400;font-size:13px;letter-spacing:.01em;white-space:nowrap;border:none;background:transparent;border-left:2px solid transparent;font-family:Inter,system-ui,sans-serif;transition:background-color .15s ease,color .15s ease,border-color .15s ease;text-align:left}.nav-item.svelte-181dlmc:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active.svelte-181dlmc{border-left-color:var(--accent);background:var(--bg-hover);color:var(--text-primary)}.nav-item.svelte-181dlmc svg:where(.svelte-181dlmc){width:20px;height:20px;flex-shrink:0}.nav-item.svelte-181dlmc .nav-label:where(.svelte-181dlmc){transition:opacity .2s ease}.sidebar.collapsed.svelte-181dlmc .nav-item:where(.svelte-181dlmc) .nav-label:where(.svelte-181dlmc){opacity:0;width:0;overflow:hidden}.nav-badge.svelte-181dlmc{margin-left:auto;font-size:11px;font-weight:500;padding:1px 6px;border-radius:10px;background:var(--bg-chip);color:var(--text-secondary);transition:opacity .2s ease,background-color .4s ease}.sidebar.collapsed.svelte-181dlmc .nav-badge:where(.svelte-181dlmc){opacity:0;width:0;padding:0;overflow:hidden}.sidebar-bottom-area.svelte-181dlmc{padding:0;border-top:1px solid var(--border);transition:border-color .4s ease}.sidebar-sync-status.svelte-181dlmc{display:flex;align-items:center;gap:6px;width:100%;padding:10px 16px;cursor:pointer;font-size:11px;color:var(--text-secondary);border:none;background:transparent;font-family:Inter,system-ui,sans-serif;transition:background-color .15s ease,color .4s ease}.sidebar-sync-status.svelte-181dlmc:hover{background:var(--bg-hover);color:var(--text-primary)}.sync-dot-sidebar.svelte-181dlmc{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--success)}.sync-dot-sidebar.warning.svelte-181dlmc{background:var(--warning)}.sync-dot-sidebar.danger.svelte-181dlmc{background:var(--danger)}.sync-count-sidebar.svelte-181dlmc{font-weight:600;font-size:12px;color:var(--text-primary)}.sync-time-sidebar.svelte-181dlmc{font-size:10px;color:var(--text-muted)}.sidebar-user-row.svelte-181dlmc{position:relative;display:flex;align-items:center;gap:8px;padding:8px 16px}.user-avatar.svelte-181dlmc{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;transition:background-color .15s ease;padding:0;flex-shrink:0}.user-avatar.svelte-181dlmc:hover{background:var(--accent-hover)}.user-avatar.svelte-181dlmc svg:where(.svelte-181dlmc){width:16px;height:16px}.user-name.svelte-181dlmc{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .4s ease,opacity .2s ease}.theme-toggle.svelte-181dlmc{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.theme-toggle.svelte-181dlmc:hover{background:var(--bg-hover);color:var(--text-primary)}.theme-toggle.svelte-181dlmc svg:where(.svelte-181dlmc){width:18px;height:18px}[data-theme=dark] .theme-toggle.svelte-181dlmc .icon-sun{display:inline}[data-theme=dark] .theme-toggle.svelte-181dlmc .icon-moon,.theme-toggle.svelte-181dlmc .icon-sun{display:none}.theme-toggle.svelte-181dlmc .icon-moon{display:inline}.sidebar-dropdown.svelte-181dlmc{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 0;margin:0 8px 4px;box-shadow:0 4px 16px #00000014;transition:background-color .4s ease,border-color .4s ease}.user-dropdown.svelte-181dlmc{position:absolute;bottom:calc(100% + 4px);left:8px;right:52px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 0;box-shadow:0 4px 20px #0000001f;z-index:30;animation:dropdownIn .12s ease;transition:background-color .4s ease,border-color .4s ease}.ud-header.svelte-181dlmc{display:flex;align-items:center;gap:10px;padding:8px 12px}.ud-avatar.svelte-181dlmc{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ud-avatar.svelte-181dlmc svg:where(.svelte-181dlmc){width:18px;height:18px}.ud-user-info.svelte-181dlmc{display:flex;flex-direction:column;gap:1px}.ud-display-name.svelte-181dlmc{font-size:13px;font-weight:600;color:var(--text-primary);transition:color .4s ease}.ud-role.svelte-181dlmc{font-size:11px;color:var(--text-muted);transition:color .4s ease}.dropdown-section.svelte-181dlmc{padding:2px 0}.dropdown-btn.svelte-181dlmc{display:flex;align-items:center;width:100%;padding:7px 12px;border:none;background:transparent;font-family:Inter,system-ui,sans-serif;font-size:12px;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,color .4s ease;text-align:left;border-radius:0}.dropdown-btn.svelte-181dlmc:hover{background:var(--bg-hover)}.dropdown-btn.danger.svelte-181dlmc{color:var(--danger)}.dropdown-btn.danger.svelte-181dlmc:hover{background:#ff3b3014}.dropdown-item.svelte-181dlmc{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;color:var(--text-primary);transition:color .4s ease}.dropdown-label.svelte-181dlmc{color:var(--text-secondary);font-size:11px;transition:color .4s ease}.dropdown-value.svelte-181dlmc{font-weight:500}.dropdown-divider.svelte-181dlmc{height:1px;background:var(--border);margin:4px 0;transition:background-color .4s ease}.status-ok.svelte-181dlmc{color:var(--success)}.status-warn.svelte-181dlmc{color:var(--warning)}.status-err.svelte-181dlmc{color:var(--danger)}.sync-progress-bar.svelte-181dlmc{height:3px;background:var(--bg-chip);margin:4px 12px;border-radius:2px;overflow:hidden;transition:background-color .4s ease}.sync-progress-fill.svelte-181dlmc{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.sidebar.collapsed.svelte-181dlmc .sidebar-sync-status:where(.svelte-181dlmc){gap:0;justify-content:center;padding:10px 8px}.sidebar.collapsed.svelte-181dlmc .sidebar-sync-status:where(.svelte-181dlmc) .sync-count-sidebar:where(.svelte-181dlmc),.sidebar.collapsed.svelte-181dlmc .sidebar-sync-status:where(.svelte-181dlmc) .sync-time-sidebar:where(.svelte-181dlmc){display:none}.sidebar.collapsed.svelte-181dlmc .sidebar-user-row:where(.svelte-181dlmc){justify-content:center;padding:8px}.sidebar.collapsed.svelte-181dlmc .sidebar-user-row:where(.svelte-181dlmc) .user-name:where(.svelte-181dlmc),.sidebar.collapsed.svelte-181dlmc .sidebar-user-row:where(.svelte-181dlmc) .theme-toggle:where(.svelte-181dlmc){display:none}.sidebar.collapsed.svelte-181dlmc .sidebar-dropdown:where(.svelte-181dlmc),.sidebar.collapsed.svelte-181dlmc .user-dropdown:where(.svelte-181dlmc){display:none!important}.sidebar-settings-link.svelte-181dlmc{display:block;padding:6px 12px;font-size:12px;color:var(--text-secondary);text-decoration:none;border-radius:6px;transition:background-color .15s,color .4s}.sidebar-settings-link.svelte-181dlmc:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar.collapsed.svelte-181dlmc .sidebar-settings-link:where(.svelte-181dlmc){text-align:center;padding:8px}.pwd-overlay.svelte-181dlmc{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100}.pwd-dialog.svelte-181dlmc{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:360px;max-width:90vw;z-index:101;box-shadow:0 8px 30px #00000026}.pwd-dialog.svelte-181dlmc h3:where(.svelte-181dlmc){margin:0 0 16px;font-size:16px;color:var(--text-primary)}.pwd-dialog.svelte-181dlmc label:where(.svelte-181dlmc){display:block;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.pwd-dialog.svelte-181dlmc input:where(.svelte-181dlmc){display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box}.pwd-dialog.svelte-181dlmc input:where(.svelte-181dlmc):focus{outline:none;border-color:var(--accent)}.pwd-error.svelte-181dlmc{color:var(--danger);font-size:12px;margin:0 0 8px}.pwd-actions.svelte-181dlmc{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.toolbar.svelte-1b5lykn{height:var(--toolbar-height);min-height:var(--toolbar-height);background:var(--bg-toolbar);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:0 16px;transition:background-color .4s ease,border-color .4s ease}.toolbar-btn.svelte-1b5lykn{width:32px;height:32px;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.toolbar-btn.svelte-1b5lykn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.svelte-1b5lykn svg:where(.svelte-1b5lykn){width:18px;height:18px}.breadcrumb.svelte-1b5lykn{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;transition:color .4s ease}.crumb-sep.svelte-1b5lykn{color:var(--text-muted);font-weight:300}.crumb-link.svelte-1b5lykn{border:none;background:transparent;color:var(--text-secondary);font-size:13px;font-weight:400;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm);font-family:inherit;transition:color .15s ease,background-color .15s ease}.crumb-link.svelte-1b5lykn:hover{color:var(--accent);background:var(--bg-hover)}.crumb-current.svelte-1b5lykn{color:var(--text-primary);font-weight:500}.toolbar-spacer.svelte-1b5lykn{flex:1}.toolbar-search.svelte-1b5lykn{height:36px;width:200px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);padding:0 10px;font-family:Inter,system-ui,sans-serif;font-size:13px;color:var(--text-primary);outline:none;transition:border-color .2s ease,background-color .4s ease,color .4s ease}.toolbar-search.svelte-1b5lykn::placeholder{color:var(--text-muted)}.toolbar-search.svelte-1b5lykn:focus{border-color:var(--accent)}.tb-view-group.svelte-1b5lykn{display:flex;align-items:center;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--border);transition:background-color .4s ease,border-color .4s ease}.tb-view-btn.svelte-1b5lykn{width:32px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.tb-view-btn.svelte-1b5lykn:hover{background:var(--bg-hover);color:var(--text-primary)}.tb-view-btn.active.svelte-1b5lykn{background:var(--bg-primary);color:var(--accent);box-shadow:0 1px 2px #0000000f}.tb-view-btn.svelte-1b5lykn svg:where(.svelte-1b5lykn){width:16px;height:16px}.tb-sort-wrapper.svelte-1b5lykn{position:relative}.tb-sort-btn.svelte-1b5lykn{height:28px;display:flex;align-items:center;gap:4px;margin-left:6px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);font-family:Inter,system-ui,sans-serif;font-size:12px;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,border-color .4s ease,color .4s ease}.tb-sort-btn.svelte-1b5lykn:hover{background:var(--bg-hover)}.chevron-open.svelte-1b5lykn{transform:rotate(180deg)}.tb-sort-dropdown.svelte-1b5lykn{position:absolute;top:calc(100% + 4px);left:0;min-width:132px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm, 8px);box-shadow:0 4px 16px #0000001f;padding:4px;z-index:100;animation:svelte-1b5lykn-dropdownIn .12s ease}@keyframes svelte-1b5lykn-dropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tb-sort-option.svelte-1b5lykn{width:100%;display:flex;align-items:center;gap:8px;padding:6px 10px;border:none;border-radius:6px;background:transparent;font-family:Inter,system-ui,sans-serif;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease}.tb-sort-option.svelte-1b5lykn:hover{background:var(--bg-hover)}.tb-sort-option.active.svelte-1b5lykn{color:var(--accent);font-weight:500}.option-check-placeholder.svelte-1b5lykn{width:14px;height:14px;flex-shrink:0}.tb-sort-backdrop.svelte-1b5lykn{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.btn-outlined.svelte-1b5lykn{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease,border-color .4s ease,color .4s ease}.btn-outlined.svelte-1b5lykn:hover{background:var(--bg-hover)}.btn-primary.svelte-1b5lykn{height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:var(--accent);font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:background-color .15s ease}.btn-primary.svelte-1b5lykn:hover{background:var(--accent-hover)}.tb-card-size-group.svelte-1b5lykn{display:flex;align-items:center;gap:2px;background:var(--bg-secondary);border-radius:var(--radius-sm);padding:2px;border:1px solid var(--border);margin-left:4px;transition:background-color .4s ease,border-color .4s ease}.tb-size-btn.svelte-1b5lykn{width:28px;height:24px;border:none;background:transparent;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background-color .15s ease,color .15s ease}.tb-size-btn.svelte-1b5lykn:hover{background:var(--bg-hover);color:var(--text-primary)}.tb-size-btn.active.svelte-1b5lykn{background:var(--bg-primary);color:var(--accent);box-shadow:0 1px 2px #0000000f}.tb-size-btn.svelte-1b5lykn svg:where(.svelte-1b5lykn){width:14px;height:14px}.setup-page.svelte-q9fw1r{padding:20px 28px;max-width:100%;color:var(--text-primary);display:flex;flex-direction:column;height:100%;box-sizing:border-box}.setup-page.mobile.svelte-q9fw1r{padding:16px}.page-topbar.svelte-q9fw1r{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-shrink:0}.btn-back.svelte-q9fw1r{padding:4px 12px;background:var(--bg-chip);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;flex-shrink:0}.btn-back.svelte-q9fw1r:hover{background:var(--bg-hover);color:var(--text-primary)}.page-topbar.svelte-q9fw1r h1:where(.svelte-q9fw1r){font-size:20px;margin:0;display:flex;align-items:center;gap:6px}.topbar-hint.svelte-q9fw1r{font-size:12px;color:var(--text-muted);margin-left:auto}.main-layout.svelte-q9fw1r{display:grid;grid-template-columns:minmax(400px,1fr) minmax(400px,1.2fr);gap:20px;flex:1;min-height:0;overflow:hidden}.setup-page.mobile.svelte-q9fw1r .main-layout:where(.svelte-q9fw1r){grid-template-columns:1fr;overflow:visible}@media(max-width:900px){.main-layout.svelte-q9fw1r{grid-template-columns:1fr;overflow:visible}}.form-panel.svelte-q9fw1r{display:flex;flex-direction:column;gap:16px;overflow-y:auto;padding-right:4px}.form-section.svelte-q9fw1r{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.section-title.svelte-q9fw1r{font-size:13px;font-weight:600;color:var(--text-secondary);display:flex;align-items:center;gap:6px;margin-bottom:14px}.field-grid.svelte-q9fw1r{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.setup-page.mobile.svelte-q9fw1r .field-grid:where(.svelte-q9fw1r){grid-template-columns:1fr}@media(max-width:600px){.field-grid.svelte-q9fw1r{grid-template-columns:1fr}}.field.svelte-q9fw1r{display:flex;flex-direction:column;gap:4px}.field-label.svelte-q9fw1r{font-size:12px;color:var(--text-secondary);font-weight:500}.field-hint.svelte-q9fw1r{font-size:11px;color:var(--text-muted)}input.svelte-q9fw1r{display:block;width:100%;padding:7px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;box-sizing:border-box}input.svelte-q9fw1r:focus{border-color:var(--accent);outline:none}.users-list.svelte-q9fw1r{display:flex;flex-direction:column;gap:8px}.user-row.svelte-q9fw1r{display:flex;gap:8px;align-items:center}.user-row.svelte-q9fw1r input:where(.svelte-q9fw1r){flex:1}.btn-remove.svelte-q9fw1r{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:7px 10px;cursor:pointer;font-size:14px;flex-shrink:0}.btn-remove.svelte-q9fw1r:hover{color:var(--danger);border-color:var(--danger)}.btn-add.svelte-q9fw1r{margin-top:8px;padding:7px 14px;background:var(--bg-chip);border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;width:fit-content}.btn-add.svelte-q9fw1r:hover{background:var(--bg-hover);color:var(--text-primary)}.errors.svelte-q9fw1r{background:#ff64641a;border:1px solid var(--danger);border-radius:8px;padding:10px 14px}.errors.svelte-q9fw1r p:where(.svelte-q9fw1r){margin:2px 0;font-size:13px;color:var(--danger)}.actions.svelte-q9fw1r{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.btn-primary.svelte-q9fw1r,.btn-secondary.svelte-q9fw1r{padding:8px 18px;border-radius:8px;border:none;font-size:14px;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:6px}.btn-primary.svelte-q9fw1r{background:var(--accent);color:#fff}.btn-primary.svelte-q9fw1r:hover{opacity:.85}.btn-secondary.svelte-q9fw1r{background:var(--bg-chip);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary.svelte-q9fw1r:hover:not(:disabled){background:var(--bg-hover)}.btn-secondary.svelte-q9fw1r:disabled{opacity:.4;cursor:not-allowed}.output-panel.svelte-q9fw1r{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;min-height:300px}.output-tabs.svelte-q9fw1r{display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.output-tab.svelte-q9fw1r{display:flex;align-items:center;gap:6px;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:color .15s,border-color .15s}.output-tab.svelte-q9fw1r:hover{color:var(--text-secondary)}.output-tab.active.svelte-q9fw1r{color:var(--accent);border-bottom-color:var(--accent)}.btn-copy.svelte-q9fw1r{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:var(--bg-chip);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:12px;font-weight:500}.btn-copy.svelte-q9fw1r:hover{background:var(--bg-hover)}.output-content.svelte-q9fw1r{flex:1;overflow:auto;padding:14px;min-height:0}.code-block.svelte-q9fw1r{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:14px;font-size:12px;font-family:SF Mono,Fira Code,monospace;overflow-x:auto;white-space:pre;color:var(--text-primary);margin:0;-webkit-user-select:all;user-select:all;line-height:1.5}.copy-hint.svelte-q9fw1r{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:11px;color:var(--text-muted)}.output-empty.svelte-q9fw1r{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 24px;color:var(--text-muted);text-align:center}.output-empty.svelte-q9fw1r p:where(.svelte-q9fw1r){font-size:14px;margin:0}.bottom-note.svelte-q9fw1r{display:flex;align-items:flex-start;gap:8px;background:#ffc86414;border:1px solid rgba(255,200,100,.3);border-radius:8px;padding:10px 14px;font-size:12px;color:var(--text-secondary);margin-top:16px;flex-shrink:0}.bottom-note.svelte-q9fw1r code:where(.svelte-q9fw1r){background:var(--bg-chip);padding:1px 5px;border-radius:3px;font-size:11px}.album-view.svelte-hawz4i{padding:24px;max-width:1200px}.album-header.svelte-hawz4i{display:flex;gap:20px;margin-bottom:16px;align-items:flex-start}.album-info.svelte-hawz4i h1:where(.svelte-hawz4i){margin:0 0 4px;font-size:24px;color:var(--text-primary)}.desc.svelte-hawz4i{margin:0 0 8px;color:var(--text-secondary);font-size:14px}.meta.svelte-hawz4i{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text-muted)}.vis-badge.svelte-hawz4i{padding:2px 8px;border-radius:var(--radius-sm);font-size:11px}.vis-visible.svelte-hawz4i{background:var(--success-bg);color:var(--success)}.vis-hidden.svelte-hawz4i{background:var(--warning-bg);color:var(--warning)}.vis-archived.svelte-hawz4i{background:var(--bg-chip);color:var(--text-muted)}.album-actions.svelte-hawz4i{margin-left:auto;display:flex;gap:8px}.vis-menu.svelte-hawz4i{display:flex;gap:4px}.select-toolbar.svelte-hawz4i{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:12px;background:var(--accent);color:#fff;border-radius:var(--radius-sm);font-size:13px}.select-actions.svelte-hawz4i{display:flex;gap:6px}.select-toolbar.svelte-hawz4i .btn-outlined:where(.svelte-hawz4i){border-color:#ffffff4d;color:#fff;background:#ffffff26}.select-toolbar.svelte-hawz4i .btn-outlined:where(.svelte-hawz4i):hover{background:#ffffff40}.photo-grid.svelte-hawz4i{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.photo-card.svelte-hawz4i{position:relative;aspect-ratio:1;overflow:hidden;border-radius:var(--radius-sm);cursor:pointer;transition:transform .15s}.photo-card.svelte-hawz4i:hover{transform:scale(1.02)}.photo-card.selected.svelte-hawz4i{outline:3px solid var(--accent);outline-offset:-3px}.photo-card.svelte-hawz4i img:where(.svelte-hawz4i){width:100%;height:100%;object-fit:cover}.photo-check.svelte-hawz4i{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.photo-card.selected.svelte-hawz4i .photo-check:where(.svelte-hawz4i),.photo-card.svelte-hawz4i:hover .photo-check:where(.svelte-hawz4i){opacity:1}.photo-card.is-cover.svelte-hawz4i{outline:2px solid var(--accent);outline-offset:-2px}.photo-card.svelte-hawz4i:hover .photo-actions:where(.svelte-hawz4i){opacity:1}.photo-actions.svelte-hawz4i{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .15s;z-index:2}.photo-btn.svelte-hawz4i{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#0000008c;border:none;border-radius:50%;cursor:pointer;color:#fff}.photo-btn.svelte-hawz4i:hover{background:#000000bf}.photo-remove-btn.svelte-hawz4i:hover{background:#c81e1ecc}.cover-badge.svelte-hawz4i{position:absolute;bottom:4px;left:4px;background:var(--accent);color:#fff;padding:2px 6px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;z-index:2}.select-toggle-row.svelte-hawz4i{grid-column:1/-1;display:flex;justify-content:center;padding:16px}.empty.svelte-hawz4i{grid-column:1/-1;text-align:center;padding:60px;color:var(--text-muted)}.loading.svelte-hawz4i,.error.svelte-hawz4i{padding:60px;text-align:center;color:var(--text-muted)}.modal-overlay.svelte-hawz4i{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-hawz4i{background:var(--bg-surface);border-radius:var(--radius-md);box-shadow:0 20px 60px #0000004d;width:380px}.modal-sm.svelte-hawz4i{width:340px}.modal-header.svelte-hawz4i{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header.svelte-hawz4i h2:where(.svelte-hawz4i){margin:0;font-size:16px;color:var(--text-primary)}.modal-body.svelte-hawz4i{padding:20px}.modal-body.svelte-hawz4i p:where(.svelte-hawz4i){color:var(--text-primary);font-size:14px;margin-bottom:8px}.hint.svelte-hawz4i{color:var(--text-muted)!important;font-size:12px!important}label.svelte-hawz4i{display:block;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}.modal-actions.svelte-hawz4i,.actions.svelte-hawz4i{display:flex;gap:10px;margin-top:18px}.modal-actions.svelte-hawz4i button:where(.svelte-hawz4i),.actions.svelte-hawz4i button:where(.svelte-hawz4i){flex:1}.danger-zone.svelte-hawz4i{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.danger-zone.svelte-hawz4i .btn-danger-outlined:where(.svelte-hawz4i){width:100%}.albums-list.svelte-1qchd5w{padding:24px}.albums-list.mobile.svelte-1qchd5w{padding:12px}.albums-header.svelte-1qchd5w{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.albums-list.mobile.svelte-1qchd5w .albums-header:where(.svelte-1qchd5w){margin-bottom:16px}.albums-header.svelte-1qchd5w h1:where(.svelte-1qchd5w){margin:0;font-size:22px;color:var(--text-primary)}.albums-list.mobile.svelte-1qchd5w .albums-header:where(.svelte-1qchd5w) h1:where(.svelte-1qchd5w){font-size:18px}.albums-grid.svelte-1qchd5w{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.albums-grid.mobile.svelte-1qchd5w{grid-template-columns:repeat(2,1fr);gap:8px}.album-card.svelte-1qchd5w{border-radius:var(--radius-md);overflow:hidden;background:var(--bg-surface);cursor:pointer;transition:transform .15s,box-shadow .15s}.album-card.svelte-1qchd5w:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.album-cover.svelte-1qchd5w{position:relative;aspect-ratio:4/3;background:var(--bg-chip);overflow:hidden}.album-cover.svelte-1qchd5w img:where(.svelte-1qchd5w){width:100%;height:100%;object-fit:cover}.cover-placeholder.svelte-1qchd5w{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.album-count.svelte-1qchd5w{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px}.album-meta.svelte-1qchd5w{padding:12px 14px 14px}.albums-grid.mobile.svelte-1qchd5w .album-meta:where(.svelte-1qchd5w){padding:8px 10px 10px}.album-name.svelte-1qchd5w{font-size:15px;font-weight:600;color:var(--text-primary)}.albums-grid.mobile.svelte-1qchd5w .album-name:where(.svelte-1qchd5w){font-size:13px}.album-desc.svelte-1qchd5w{font-size:12px;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-badges.svelte-1qchd5w{margin-top:6px}.vis-badge.svelte-1qchd5w{padding:2px 6px;border-radius:var(--radius-sm);font-size:10px}.vis-visible.svelte-1qchd5w{background:var(--success-bg);color:var(--success)}.vis-hidden.svelte-1qchd5w{background:var(--warning-bg);color:var(--warning)}.vis-archived.svelte-1qchd5w{background:var(--bg-chip);color:var(--text-muted)}.empty.svelte-1qchd5w{grid-column:1/-1;text-align:center;padding:60px;color:var(--text-muted);font-size:15px}.loading.svelte-1qchd5w,.error.svelte-1qchd5w{text-align:center;padding:60px;color:var(--text-muted)}.modal-overlay.svelte-12rmzzv{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-12rmzzv{background:var(--bg-surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:480px;max-height:80vh;overflow-y:auto}.modal-header.svelte-12rmzzv{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header.svelte-12rmzzv h2:where(.svelte-12rmzzv){margin:0;font-size:16px;color:var(--text-primary)}.close-btn.svelte-12rmzzv{background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer}.close-btn.svelte-12rmzzv:hover{color:var(--text-primary)}.import-form.svelte-12rmzzv,.import-result.svelte-12rmzzv{padding:20px}label.svelte-12rmzzv{display:block;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}.label-hint.svelte-12rmzzv{float:right;font-size:11px;color:var(--text-muted)}.label-hint.svelte-12rmzzv a:where(.svelte-12rmzzv){color:var(--accent);text-decoration:none}.label-hint.svelte-12rmzzv a:where(.svelte-12rmzzv):hover{text-decoration:underline}.label-hint[title].svelte-12rmzzv{cursor:help;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:var(--bg-chip);border-radius:50%;font-size:10px;font-weight:600}select.svelte-12rmzzv,input.svelte-12rmzzv{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px}.folder-title.svelte-12rmzzv{font-size:14px;color:var(--text-primary);margin:20px 0 10px}.loading-text.svelte-12rmzzv{font-size:12px;color:var(--text-muted)}.folder-list.svelte-12rmzzv{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:4px}.folder-item.svelte-12rmzzv{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:5px;cursor:pointer;margin-bottom:0}.folder-item.svelte-12rmzzv:hover{background:var(--bg-hover)}.folder-item.svelte-12rmzzv input[type=checkbox]:where(.svelte-12rmzzv){display:inline-block;width:auto;margin-top:0;flex-shrink:0;width:16px;height:16px;cursor:pointer}.folder-name.svelte-12rmzzv{flex:1;font-size:13px;color:var(--text-primary);word-break:break-word}.folder-count.svelte-12rmzzv{font-size:12px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.actions.svelte-12rmzzv{display:flex;gap:10px;margin-top:18px}.btn-primary.svelte-12rmzzv,.btn-secondary.svelte-12rmzzv{flex:1;padding:10px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer}.btn-primary.svelte-12rmzzv{background:var(--accent);color:#fff}.btn-primary.svelte-12rmzzv:disabled{opacity:.5;cursor:default}.btn-primary.svelte-12rmzzv:hover:not(:disabled){opacity:.9}.btn-secondary.svelte-12rmzzv{background:var(--bg-chip);color:var(--text-primary)}.btn-secondary.svelte-12rmzzv:hover{background:var(--bg-hover)}.error-msg.svelte-12rmzzv{color:var(--danger);font-size:13px;margin:10px 0}.import-result.svelte-12rmzzv h3:where(.svelte-12rmzzv){margin:0 0 12px;color:var(--success)}table.svelte-12rmzzv{width:100%;font-size:13px;color:var(--text-primary)}td.svelte-12rmzzv{padding:4px 0}td.svelte-12rmzzv:last-child{text-align:right}.green.svelte-12rmzzv{color:var(--success)}.muted.svelte-12rmzzv{color:var(--text-muted)}.error-list.svelte-12rmzzv{color:var(--danger);font-size:12px;margin:10px 0}.device-wrapper.svelte-sqlcqp{position:relative}.device-btn.svelte-sqlcqp{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;margin-bottom:4px;background:var(--bg-chip);border:1px solid var(--border-muted);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;transition:background .15s}.device-btn.svelte-sqlcqp:hover{background:var(--bg-hover)}.device-label.svelte-sqlcqp{flex:1;text-align:left}.device-caret.svelte-sqlcqp{font-size:10px;transition:transform .15s}.device-caret.open.svelte-sqlcqp{transform:rotate(180deg)}.device-dropdown.svelte-sqlcqp{position:absolute;left:0;right:auto;min-width:240px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000040;z-index:1000;overflow:hidden}.device-dropdown.drop-up.svelte-sqlcqp{bottom:100%;margin-bottom:6px}.device-dropdown.svelte-sqlcqp:not(.drop-up){top:100%;margin-top:6px}.device-item.svelte-sqlcqp{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;border:none;background:none;color:var(--text-primary);cursor:pointer;font-size:13px;transition:background .1s}.device-item.svelte-sqlcqp:hover{background:var(--bg-hover)}.device-item.active.svelte-sqlcqp{color:var(--accent);font-weight:600}.device-item-left.svelte-sqlcqp{display:flex;align-items:center;gap:8px}.check.svelte-sqlcqp{color:var(--accent);font-size:12px}.dropdown-divider.svelte-sqlcqp{height:1px;background:var(--border);margin:4px 0}.device-link.svelte-sqlcqp{display:flex;align-items:center;gap:8px;padding:9px 12px;color:var(--text-muted);font-size:13px;text-decoration:none;transition:background .1s,color .15s}.device-link.svelte-sqlcqp:hover{background:var(--bg-hover);color:var(--text-secondary)}.device-empty.svelte-sqlcqp{padding:9px 12px;color:var(--text-muted);font-size:13px}.sync-dot.svelte-sqlcqp{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.sync-dot.online.svelte-sqlcqp{background:var(--success);box-shadow:0 0 4px color-mix(in srgb,var(--success) 40%,transparent)}.sync-dot.offline.svelte-sqlcqp{background:var(--text-muted)}.sync-dot.syncing.svelte-sqlcqp{background:var(--warning);box-shadow:0 0 4px color-mix(in srgb,var(--warning) 40%,transparent);animation:svelte-sqlcqp-pulse 1.5s ease-in-out infinite}@keyframes svelte-sqlcqp-pulse{0%,to{opacity:1}50%{opacity:.4}}.syno-admin-bar.svelte-mqqhkl{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);margin:-16px -16px 16px;flex-wrap:wrap}.syno-admin-link.svelte-mqqhkl{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:14px;text-decoration:none}.syno-admin-link.svelte-mqqhkl:hover{color:var(--text-secondary)}.syno-sync-summary.svelte-mqqhkl{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:12px;color:var(--text-muted)}.syno-sync-summary.svelte-mqqhkl .sync-dot:where(.svelte-mqqhkl){width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--success)}.syno-sync-summary.svelte-mqqhkl .sync-dot.warning:where(.svelte-mqqhkl){background:var(--warning)}.syno-sync-summary.svelte-mqqhkl .sync-dot.danger:where(.svelte-mqqhkl){background:var(--danger)}.syno-sync-summary.svelte-mqqhkl .sync-phase:where(.svelte-mqqhkl){font-weight:500;color:var(--text-secondary)}.syno-sync-summary.svelte-mqqhkl .sync-progress:where(.svelte-mqqhkl){color:var(--accent);font-weight:600}.syno-device-info.svelte-mqqhkl{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--bg-secondary);border-radius:var(--radius-sm);margin-bottom:16px;font-size:13px;color:var(--text-secondary)}.syno-device-info.svelte-mqqhkl .device-name:where(.svelte-mqqhkl){font-weight:500;color:var(--text-primary)}.syno-device-info.svelte-mqqhkl .sync-time:where(.svelte-mqqhkl){margin-left:auto;font-size:12px;color:var(--text-muted)}.syno-albums-page.svelte-mqqhkl{padding:16px;max-width:1200px;margin:0 auto}.album-header.svelte-mqqhkl{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.album-count-total.svelte-mqqhkl{font-size:13px;color:var(--text-secondary)}.sync-info.svelte-mqqhkl{font-size:12px;color:var(--text-muted);margin-left:auto}.album-grid.svelte-mqqhkl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.album-card.svelte-mqqhkl{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:var(--bg-primary);transition:box-shadow .2s,transform .15s;padding:0;font-family:inherit;text-align:left;display:flex;flex-direction:column}.album-card.svelte-mqqhkl:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.album-cover.svelte-mqqhkl{width:100%;aspect-ratio:3/2;overflow:hidden;background:var(--bg-chip);display:flex;align-items:center;justify-content:center}.album-cover.svelte-mqqhkl img:where(.svelte-mqqhkl){width:100%;height:100%;object-fit:cover}.cover-placeholder.svelte-mqqhkl{font-size:36px;color:var(--text-muted)}.album-info.svelte-mqqhkl{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.album-name.svelte-mqqhkl{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-count.svelte-mqqhkl{font-size:11px;color:var(--text-muted)}.skeleton-card.svelte-mqqhkl{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary)}.skeleton-cover.svelte-mqqhkl{width:100%;aspect-ratio:3/2;background:var(--bg-secondary);animation:svelte-mqqhkl-shimmer 1.5s ease-in-out infinite}.skeleton-info.svelte-mqqhkl{padding:10px 12px;display:flex;flex-direction:column;gap:4px}.skeleton-line.svelte-mqqhkl{height:10px;border-radius:4px;background:var(--bg-secondary);animation:svelte-mqqhkl-shimmer 1.5s ease-in-out infinite}.skeleton-line-wide.svelte-mqqhkl{width:80%}.skeleton-line-narrow.svelte-mqqhkl{width:40%}@keyframes svelte-mqqhkl-shimmer{0%,to{opacity:1}50%{opacity:.5}}.empty-state.svelte-mqqhkl{text-align:center;padding:48px 24px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state.svelte-mqqhkl svg{color:var(--text-muted);margin-bottom:8px}.empty-state.svelte-mqqhkl h2:where(.svelte-mqqhkl){font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.empty-state.svelte-mqqhkl p:where(.svelte-mqqhkl){font-size:14px;color:var(--text-secondary);max-width:360px;margin:0;line-height:1.6}.error-reason.svelte-mqqhkl{color:var(--danger)!important;font-weight:500}.error-checklist.svelte-mqqhkl{text-align:left;margin:12px 0}.error-checklist.svelte-mqqhkl p:where(.svelte-mqqhkl){font-size:13px;color:var(--text-secondary);margin:0 0 4px}.error-checklist.svelte-mqqhkl ul:where(.svelte-mqqhkl){margin:0;padding-left:20px;font-size:13px;color:var(--text-muted);line-height:1.8}.empty-actions.svelte-mqqhkl{display:flex;gap:12px;margin-top:16px}.btn-filled.svelte-mqqhkl{padding:8px 20px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background-color .15s}.btn-filled.svelte-mqqhkl:hover{background:var(--accent-hover)}.btn-outlined.svelte-mqqhkl{padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;font-family:inherit;transition:background-color .15s}.btn-outlined.svelte-mqqhkl:hover{background:var(--bg-hover)}.syno-admin-bar.svelte-rjzkwo{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border);margin:-16px -16px 16px}.album-view.svelte-rjzkwo{padding:16px;max-width:1200px;margin:0 auto}.view-header.svelte-rjzkwo{display:flex;align-items:center;gap:12px;margin-bottom:20px}.view-header.svelte-rjzkwo h1:where(.svelte-rjzkwo){margin:0;font-size:20px;font-weight:600;color:var(--text-primary);flex:1}.photo-count.svelte-rjzkwo{font-size:12px;color:var(--text-muted)}.back-btn.svelte-rjzkwo{background:none;border:1px solid var(--border);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);padding:0;flex-shrink:0}.back-btn.svelte-rjzkwo:hover{background:var(--bg-hover);color:var(--text-primary)}.back-btn.svelte-rjzkwo svg:where(.svelte-rjzkwo){width:18px;height:18px}.loading.svelte-rjzkwo,.error.svelte-rjzkwo,.empty.svelte-rjzkwo{text-align:center;padding:40px;color:var(--text-muted)}.error.svelte-rjzkwo{color:var(--danger)}.data-missing-card.svelte-rjzkwo{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;text-align:center;max-width:480px;margin:24px auto}.data-missing-icon.svelte-rjzkwo{color:var(--warning);margin-bottom:12px}.data-missing-card.svelte-rjzkwo h3:where(.svelte-rjzkwo){font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.data-missing-card.svelte-rjzkwo p:where(.svelte-rjzkwo){font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0}.photo-list.svelte-rjzkwo{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.photo-row.svelte-rjzkwo{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-primary);transition:background-color .15s}.photo-row.svelte-rjzkwo:hover{background:var(--bg-hover)}.photo-icon.svelte-rjzkwo{font-size:16px;flex-shrink:0;width:24px;text-align:center}.photo-filename.svelte-rjzkwo{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-size.svelte-rjzkwo{font-size:12px;color:var(--text-muted);width:60px;text-align:right}.photo-date.svelte-rjzkwo{font-size:12px;color:var(--text-muted);width:90px;text-align:right}.modal-overlay.svelte-1k3phvb{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.wizard-modal.svelte-1k3phvb{background:var(--bg-surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:520px;max-height:85vh;overflow-y:auto}.wizard-header.svelte-1k3phvb{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.wizard-header.svelte-1k3phvb h2:where(.svelte-1k3phvb){margin:0;font-size:16px;color:var(--text-primary)}.close-btn.svelte-1k3phvb{background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:4px}.close-btn.svelte-1k3phvb:hover{color:var(--text-primary)}.step-indicator.svelte-1k3phvb{display:flex;gap:8px;justify-content:center;padding:16px 0 8px}.step-dot.svelte-1k3phvb{width:24px;height:4px;border-radius:2px;background:var(--border);transition:background .2s}.step-dot.active.svelte-1k3phvb{background:var(--accent)}.step-dot.current.svelte-1k3phvb{background:var(--accent);box-shadow:0 0 4px var(--accent)}.wizard-body.svelte-1k3phvb{padding:8px 20px 20px}.wizard-body.svelte-1k3phvb h3:where(.svelte-1k3phvb){font-size:14px;color:var(--text-secondary);margin:0 0 16px}.step-desc.svelte-1k3phvb{font-size:13px;color:var(--text-muted);margin:0 0 16px}label.svelte-1k3phvb{display:block;margin-bottom:14px;font-size:13px;color:var(--text-secondary)}input.svelte-1k3phvb{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;box-sizing:border-box}input.svelte-1k3phvb:focus{border-color:var(--accent);outline:none}small.svelte-1k3phvb{display:block;margin-top:3px;font-size:11px;color:var(--text-muted)}.field-error.svelte-1k3phvb{display:block;margin-top:3px;font-size:11px;color:var(--danger)}.mapping-section.svelte-1k3phvb{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:16px}.mapping-title.svelte-1k3phvb{font-size:13px;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.user-row.svelte-1k3phvb{display:flex;gap:8px;margin-bottom:8px}.user-row.svelte-1k3phvb input:where(.svelte-1k3phvb){margin-top:0;flex:1}.btn-icon.svelte-1k3phvb{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:6px 10px;cursor:pointer;flex-shrink:0}.btn-icon.svelte-1k3phvb:hover{color:var(--danger);border-color:var(--danger)}.btn-small.svelte-1k3phvb{padding:4px 12px;font-size:12px}.deploy-checklist.svelte-1k3phvb{margin-bottom:16px}.checklist-item.svelte-1k3phvb{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;color:var(--text-primary)}.check-num.svelte-1k3phvb{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--bg-chip);color:var(--text-secondary);font-size:11px;font-weight:600;flex-shrink:0}code.svelte-1k3phvb{background:var(--bg-input);padding:2px 6px;border-radius:4px;font-size:12px;font-family:SF Mono,monospace}.download-actions.svelte-1k3phvb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.wizard-actions.svelte-1k3phvb{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.btn-primary.svelte-1k3phvb,.btn-secondary.svelte-1k3phvb{padding:8px 18px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer}.btn-primary.svelte-1k3phvb{background:var(--accent);color:#fff}.btn-primary.svelte-1k3phvb:disabled{opacity:.5;cursor:default}.btn-primary.svelte-1k3phvb:hover:not(:disabled){opacity:.9}.btn-secondary.svelte-1k3phvb{background:var(--bg-chip);color:var(--text-primary)}.btn-secondary.svelte-1k3phvb:hover{background:var(--bg-hover)}.docker-run-section.svelte-1k3phvb{margin-bottom:16px}.docker-run-header.svelte-1k3phvb{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.docker-run-label.svelte-1k3phvb{font-size:12px;color:var(--text-muted)}.command-preview.svelte-1k3phvb{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:12px 14px;font-family:SF Mono,Menlo,monospace;font-size:11px;line-height:1.5;color:var(--text-secondary);overflow-x:auto;white-space:pre;margin:0;max-height:240px;overflow-y:auto}.modal-overlay.svelte-195pxqc{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.detail-modal.svelte-195pxqc{background:var(--bg-surface);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:560px;max-height:85vh;overflow-y:auto}.detail-header.svelte-195pxqc{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.header-left.svelte-195pxqc{display:flex;align-items:center;gap:12px}.detail-header.svelte-195pxqc h2:where(.svelte-195pxqc){margin:0;font-size:18px;color:var(--text-primary)}.close-btn.svelte-195pxqc{background:none;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;padding:4px}.close-btn.svelte-195pxqc:hover{color:var(--text-primary)}.lifecycle-badge.svelte-195pxqc{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:10px}.lifecycle-dot.svelte-195pxqc{width:6px;height:6px;border-radius:50%}.lifecycle-badge.online.svelte-195pxqc{background:var(--success-bg);color:var(--success)}.lifecycle-badge.online.svelte-195pxqc .lifecycle-dot:where(.svelte-195pxqc){background:var(--success)}.lifecycle-badge.offline.svelte-195pxqc{background:var(--danger-bg);color:var(--danger)}.lifecycle-badge.offline.svelte-195pxqc .lifecycle-dot:where(.svelte-195pxqc){background:var(--danger)}.lifecycle-badge.syncing.svelte-195pxqc{background:var(--warning-bg);color:var(--warning)}.lifecycle-badge.syncing.svelte-195pxqc .lifecycle-dot:where(.svelte-195pxqc){background:var(--warning);animation:svelte-195pxqc-pulse 1.5s ease-in-out infinite}.lifecycle-badge.pending.svelte-195pxqc{background:var(--bg-chip);color:var(--text-muted)}.lifecycle-badge.pending.svelte-195pxqc .lifecycle-dot:where(.svelte-195pxqc){background:var(--text-muted)}@keyframes svelte-195pxqc-pulse{0%,to{opacity:1}50%{opacity:.3}}.detail-body.svelte-195pxqc{padding:20px}.detail-section.svelte-195pxqc{margin-bottom:24px}.detail-section.svelte-195pxqc h3:where(.svelte-195pxqc){font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin:0 0 12px}.info-grid.svelte-195pxqc,.sync-grid.svelte-195pxqc{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item.svelte-195pxqc{display:flex;flex-direction:column;gap:2px}.info-label.svelte-195pxqc{font-size:11px;color:var(--text-muted)}.info-value.svelte-195pxqc{font-size:14px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.mono.svelte-195pxqc{font-family:SF Mono,monospace;font-size:12px}.field-warning.svelte-195pxqc{display:block;margin-top:3px;font-size:11px;color:var(--accent-yellow, var(--warning))}.status-dot.svelte-195pxqc{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online.svelte-195pxqc{background:var(--success);box-shadow:0 0 4px color-mix(in srgb,var(--success) 40%,transparent)}.status-dot.offline.svelte-195pxqc{background:var(--danger)}.status-dot.syncing.svelte-195pxqc{background:var(--warning);animation:svelte-195pxqc-pulse 1.5s ease-in-out infinite}.status-dot.pending.svelte-195pxqc{background:var(--text-muted)}.progress-bar-container.svelte-195pxqc{position:relative;margin-top:12px;height:24px;background:var(--bg-input);border-radius:6px;overflow:hidden;border:1px solid var(--border)}.progress-bar.svelte-195pxqc{height:100%;background:var(--accent);transition:width .3s;border-radius:5px}.progress-text.svelte-195pxqc{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;color:var(--text-primary);font-weight:600}.totp-section.svelte-195pxqc{margin-top:12px}.totp-notice.svelte-195pxqc{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:8px;background:#f57c0014;border:1px solid rgba(245,124,0,.3);font-size:13px;color:var(--text-secondary)}.mappings-list.svelte-195pxqc{display:flex;flex-direction:column;gap:8px}.mapping-row.svelte-195pxqc{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.mapping-user.svelte-195pxqc{font-size:13px;color:var(--text-primary);font-weight:500;min-width:80px}.mapping-arrow.svelte-195pxqc{color:var(--text-muted);font-size:12px}.mapping-path.svelte-195pxqc{font-size:12px;color:var(--text-secondary);flex:1}label.svelte-195pxqc{display:block;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}input.svelte-195pxqc{display:block;width:100%;margin-top:4px;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:13px;box-sizing:border-box}input.svelte-195pxqc:focus{border-color:var(--accent);outline:none}.edit-actions.svelte-195pxqc{display:flex;gap:8px;margin-top:8px}.detail-actions.svelte-195pxqc{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btn-primary.svelte-195pxqc,.btn-secondary.svelte-195pxqc,.btn-danger.svelte-195pxqc{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:none;font-size:13px;font-weight:500;cursor:pointer;text-decoration:none}.btn-primary.svelte-195pxqc{background:var(--accent);color:#fff}.btn-primary.svelte-195pxqc:disabled{opacity:.5;cursor:default}.btn-primary.svelte-195pxqc:hover:not(:disabled){opacity:.9}.btn-secondary.svelte-195pxqc{background:var(--bg-chip);color:var(--text-primary)}.btn-secondary.svelte-195pxqc:hover{background:var(--bg-hover)}.btn-danger.svelte-195pxqc{background:#f443361a;color:var(--danger)}.btn-danger.svelte-195pxqc:hover{background:#f443362e}.admin-page.svelte-1piq9ld{padding:0 16px 32px;max-width:900px}.admin-header.svelte-1piq9ld{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 0}.admin-back.svelte-1piq9ld{background:none;border:none;color:var(--accent);cursor:pointer;font-size:14px;font-family:inherit;padding:4px 8px;border-radius:var(--radius-sm)}.admin-back.svelte-1piq9ld:hover{background:var(--bg-hover)}.admin-title.svelte-1piq9ld{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;flex:1}.admin-role.svelte-1piq9ld{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-chip);color:var(--text-secondary)}.admin-tabs.svelte-1piq9ld{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tab-btn.svelte-1piq9ld{padding:8px 16px;border:none;background:none;font-family:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.tab-btn.svelte-1piq9ld:hover{color:var(--text-primary)}.tab-btn.active.svelte-1piq9ld{color:var(--accent);border-bottom-color:var(--accent)}.section-header.svelte-1piq9ld{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-count.svelte-1piq9ld{font-size:12px;color:var(--text-muted)}.btn-primary.svelte-1piq9ld{padding:6px 14px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-size:13px;font-family:inherit;cursor:pointer}.btn-primary.svelte-1piq9ld:hover{background:var(--accent-hover)}.btn-secondary.svelte-1piq9ld{padding:6px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;font-family:inherit}.loading-text.svelte-1piq9ld,.empty-text.svelte-1piq9ld{text-align:center;color:var(--text-muted);padding:32px;font-size:14px}.empty-state.svelte-1piq9ld{text-align:center;padding:32px}.empty-state.svelte-1piq9ld .btn-primary:where(.svelte-1piq9ld){margin-top:12px}.table-wrap.svelte-1piq9ld{overflow-x:auto}.admin-table.svelte-1piq9ld{width:100%;border-collapse:collapse;font-size:13px}.admin-table.svelte-1piq9ld th:where(.svelte-1piq9ld){text-align:left;padding:8px 12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border);font-size:11px;text-transform:uppercase;letter-spacing:.03em}.admin-table.svelte-1piq9ld td:where(.svelte-1piq9ld){padding:8px 12px;border-bottom:1px solid var(--border-dim);color:var(--text-primary)}.admin-table.svelte-1piq9ld tbody:where(.svelte-1piq9ld) tr:where(.svelte-1piq9ld):hover{background:var(--bg-hover)}.device-row.svelte-1piq9ld{cursor:pointer}.mono.svelte-1piq9ld{font-family:SF Mono,monospace;font-size:12px}.date-cell.svelte-1piq9ld{font-size:12px;color:var(--text-muted);white-space:nowrap}.actions-cell.svelte-1piq9ld{white-space:nowrap;display:flex;gap:4px}.btn-sm.svelte-1piq9ld{padding:3px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:12px;cursor:pointer;font-family:inherit}.btn-sm.svelte-1piq9ld:hover{background:var(--bg-hover)}.btn-sm.btn-danger.svelte-1piq9ld{color:var(--danger);border-color:var(--danger)}.btn-sm.btn-danger.svelte-1piq9ld:hover{background:#ff3b3014}.role-badge.svelte-1piq9ld{font-size:11px;padding:1px 8px;border-radius:10px}.role-superadmin.svelte-1piq9ld{background:#fce4ec;color:var(--danger)}.role-admin.svelte-1piq9ld{background:#e3f2fd;color:#1565c0}.role-device-manager.svelte-1piq9ld{background:#e8f5e9;color:var(--success)}.role-viewer.svelte-1piq9ld{background:var(--bg-chip);color:var(--text-secondary)}.sync-cell.svelte-1piq9ld{display:flex;align-items:center;gap:6px}.sync-dot.svelte-1piq9ld{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.sync-dot.online.svelte-1piq9ld{background:var(--success);box-shadow:0 0 4px color-mix(in srgb,var(--success) 40%,transparent)}.sync-dot.offline.svelte-1piq9ld{background:var(--danger)}.sync-dot.syncing.svelte-1piq9ld{background:var(--warning);box-shadow:0 0 4px color-mix(in srgb,var(--warning) 40%,transparent);animation:svelte-1piq9ld-pulse 1.5s ease-in-out infinite}.sync-dot.pending.svelte-1piq9ld{background:var(--text-muted)}@keyframes svelte-1piq9ld-pulse{0%,to{opacity:1}50%{opacity:.4}}.sync-text.svelte-1piq9ld{font-size:12px;color:var(--text-primary);white-space:nowrap}.sync-time.svelte-1piq9ld{font-size:11px;color:var(--text-muted);white-space:nowrap}.modal-overlay.svelte-1piq9ld{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1piq9ld{background:var(--bg-primary);border-radius:var(--radius-lg);padding:24px;min-width:360px;max-width:440px;box-shadow:0 8px 32px #00000026}.modal.svelte-1piq9ld h3:where(.svelte-1piq9ld){margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.modal.svelte-1piq9ld label:where(.svelte-1piq9ld){display:block;margin-bottom:12px;font-size:12px;color:var(--text-secondary);font-weight:500}.modal.svelte-1piq9ld input:where(.svelte-1piq9ld),.modal.svelte-1piq9ld select:where(.svelte-1piq9ld){display:block;width:100%;margin-top:4px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.modal-error.svelte-1piq9ld{color:var(--danger);font-size:12px;margin:0 0 8px}.modal-actions.svelte-1piq9ld{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.filter-label.svelte-x10slk{font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.option-count.svelte-x10slk{font-size:10px;color:var(--text-muted);background:var(--bg-chip);padding:1px 6px;border-radius:8px;margin-left:auto}.filter-panel.svelte-x10slk{padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:8px}.active-chips.svelte-x10slk{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.chip.svelte-x10slk{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:12px;cursor:pointer;font-family:inherit;transition:opacity .15s}.chip.svelte-x10slk:hover{opacity:.85}.chip.clear-all.svelte-x10slk{border-color:var(--border);background:transparent;color:var(--text-muted)}.chip-x.svelte-x10slk{font-size:10px;opacity:.8}.filter-row.svelte-x10slk{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filter-section.svelte-x10slk{display:flex;align-items:center;gap:6px;position:relative}.filter-btn.svelte-x10slk{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s;min-width:100px;justify-content:space-between}.filter-btn.svelte-x10slk:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-btn.active.svelte-x10slk{border-color:var(--accent);color:var(--accent)}.dropdown-arrow.svelte-x10slk{font-size:10px;color:var(--text-muted)}.popup-wrapper.svelte-x10slk{position:relative}.popup-menu.svelte-x10slk{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;max-height:300px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;padding:4px}.popup-option.svelte-x10slk{width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;font-family:inherit;transition:background-color .15s;text-align:left}.popup-option.svelte-x10slk:hover{background:var(--bg-hover)}.popup-option.active.svelte-x10slk{background:var(--accent);color:#fff}.popup-option.active.svelte-x10slk .option-count:where(.svelte-x10slk){background:#ffffff40;color:inherit}.mobile-filter-bar.svelte-x10slk{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border)}.mobile-filter-btn.svelte-x10slk{display:flex;align-items:center;gap:4px;padding:6px 14px;border-radius:18px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;font-family:inherit;transition:all .15s}.mobile-filter-btn.active.svelte-x10slk{border-color:var(--accent);color:var(--accent)}.filter-badge.svelte-x10slk{background:var(--accent);color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}.mobile-clear-btn.svelte-x10slk{border:none;background:none;color:var(--text-muted);font-size:13px;cursor:pointer;font-family:inherit;padding:4px 8px}.drawer-overlay.svelte-x10slk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200}.side-drawer.svelte-x10slk{position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--bg-primary);z-index:201;display:flex;flex-direction:column;box-shadow:-4px 0 24px #00000026;animation:svelte-x10slk-slideIn .25s ease-out}@keyframes svelte-x10slk-slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header.svelte-x10slk{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title.svelte-x10slk{font-size:16px;font-weight:600;color:var(--text-primary)}.drawer-close.svelte-x10slk{border:none;background:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:4px 8px}.drawer-body.svelte-x10slk{flex:1;overflow-y:auto;padding:8px 0}.drawer-chips.svelte-x10slk{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 12px;border-bottom:1px solid var(--border);margin-bottom:8px}.drawer-section.svelte-x10slk{padding:12px 16px;border-bottom:1px solid var(--border)}.drawer-section-label.svelte-x10slk{font-size:11px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.drawer-options.svelte-x10slk{display:flex;flex-direction:column;gap:2px}.drawer-option.svelte-x10slk{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font-size:14px;cursor:pointer;font-family:inherit;transition:background-color .15s;text-align:left;width:100%}.drawer-option.svelte-x10slk:hover{background:var(--bg-hover)}.drawer-option.active.svelte-x10slk{background:var(--accent);color:#fff}.drawer-option.active.svelte-x10slk .option-count:where(.svelte-x10slk){background:#ffffff40;color:inherit}.drawer-loading.svelte-x10slk{padding:12px;font-size:13px;color:var(--text-muted)}.drawer-footer.svelte-x10slk{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.drawer-clear-btn.svelte-x10slk{flex:1;padding:10px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:14px;cursor:pointer;font-family:inherit}.drawer-apply-btn.svelte-x10slk{flex:2;padding:10px;border:none;border-radius:8px;background:var(--accent);color:#fff;font-size:14px;cursor:pointer;font-family:inherit}.search-tab.svelte-skax5j{padding:16px;min-height:calc(100vh - 120px)}.search-tab.mobile.svelte-skax5j{padding:12px}.search-header.svelte-skax5j{position:sticky;top:0;background:var(--bg-primary);padding:8px 0 16px;z-index:10}.search-bar.svelte-skax5j{display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;transition:border-color .2s}.search-tab.mobile.svelte-skax5j .search-bar:where(.svelte-skax5j){height:44px}.search-bar.svelte-skax5j:focus-within{border-color:var(--accent)}.search-bar.svelte-skax5j input:where(.svelte-skax5j){flex:1;border:none;background:transparent;font-size:16px;color:var(--text-primary);outline:none}.search-bar.svelte-skax5j input:where(.svelte-skax5j)::placeholder{color:var(--text-muted)}.clear-btn.svelte-skax5j{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center}.clear-btn.svelte-skax5j:hover{color:var(--text-primary);background:var(--bg-hover)}.search-history.svelte-skax5j{margin-bottom:24px}.history-header.svelte-skax5j{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.history-title.svelte-skax5j{font-size:14px;color:var(--text-secondary);font-weight:500}.clear-history.svelte-skax5j{background:transparent;border:none;color:var(--text-muted);font-size:13px;cursor:pointer}.clear-history.svelte-skax5j:hover{color:var(--text-secondary)}.history-tags.svelte-skax5j{display:flex;flex-wrap:wrap;gap:8px}.history-tag.svelte-skax5j{padding:8px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.history-tag.svelte-skax5j:hover{background:var(--bg-hover);color:var(--text-primary)}.search-placeholder.svelte-skax5j{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:40vh}.search-icon.svelte-skax5j{font-size:64px;color:var(--text-muted);margin-bottom:20px}.search-placeholder.svelte-skax5j h2:where(.svelte-skax5j){margin:0 0 10px;color:var(--text-primary)}.search-placeholder.svelte-skax5j p:where(.svelte-skax5j){margin:5px 0;color:var(--text-secondary)}.hint.svelte-skax5j{font-size:14px;color:var(--text-muted);margin-top:15px}.loading.svelte-skax5j{text-align:center;padding:60px;color:var(--text-muted)}.no-results.svelte-skax5j{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-results-icon.svelte-skax5j{font-size:48px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.no-results.svelte-skax5j p:where(.svelte-skax5j){color:var(--text-secondary);margin-bottom:8px}.btn-link.svelte-skax5j{background:transparent;border:none;color:var(--accent);cursor:pointer;font-size:14px;margin-top:16px}.settings-page.svelte-1102y3w{padding:24px;max-width:480px;margin:0 auto;color:var(--text-primary)}.settings-page.mobile.svelte-1102y3w{padding:0;max-width:100%;margin:0}.mobile-header.svelte-1102y3w{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-surface);position:sticky;top:0;z-index:10}.mobile-header.svelte-1102y3w h1:where(.svelte-1102y3w){margin:0;font-size:18px;font-weight:600}.settings-content.svelte-1102y3w{display:flex;flex-direction:column;gap:16px;padding-top:16px}.mobile.svelte-1102y3w .settings-content:where(.svelte-1102y3w){padding:16px}.card.svelte-1102y3w{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:16px}.user-card.svelte-1102y3w{display:flex;align-items:center;gap:12px}.user-avatar.svelte-1102y3w{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.user-info.svelte-1102y3w{display:flex;flex-direction:column;gap:2px}.user-name.svelte-1102y3w{font-size:16px;font-weight:600}.user-role.svelte-1102y3w{font-size:13px;color:var(--text-secondary)}.sync-header.svelte-1102y3w{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:13px;margin-bottom:8px}.sync-status.svelte-1102y3w{display:flex;align-items:center;gap:8px;margin-bottom:4px}.status-dot.svelte-1102y3w{width:8px;height:8px;border-radius:50%}.status-dot.online.svelte-1102y3w{background:var(--success)}.status-dot.syncing.svelte-1102y3w{background:var(--accent);animation:svelte-1102y3w-pulse 1.5s infinite}.status-dot.offline.svelte-1102y3w{background:var(--text-muted)}@keyframes svelte-1102y3w-pulse{0%,to{opacity:1}50%{opacity:.5}}.status-label.svelte-1102y3w{font-size:15px;font-weight:500}.sync-details.svelte-1102y3w{font-size:13px;color:var(--text-secondary)}.photo-count.svelte-1102y3w{color:var(--text-primary)}.settings-section.svelte-1102y3w{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.settings-section.svelte-1102y3w h3:where(.svelte-1102y3w){font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px 8px;margin:0;background:var(--bg-surface)}.settings-item.svelte-1102y3w{display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:none;width:100%;text-align:left;color:var(--text-primary);font-size:15px;cursor:pointer;text-decoration:none;transition:background .15s;border-top:1px solid var(--border)}.settings-item.svelte-1102y3w:hover{background:var(--bg-hover)}.settings-item.svelte-1102y3w span:where(.svelte-1102y3w){flex:1}.chevron.svelte-1102y3w{color:var(--text-muted)}.toggle.svelte-1102y3w{width:44px;height:26px;border-radius:13px;background:var(--bg-chip);border:1px solid var(--border);cursor:pointer;position:relative;transition:background .2s}.toggle.on.svelte-1102y3w{background:var(--accent);border-color:var(--accent)}.toggle-thumb.svelte-1102y3w{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle.on.svelte-1102y3w .toggle-thumb:where(.svelte-1102y3w){transform:translate(18px)}.logout-section.svelte-1102y3w{margin-top:16px}.logout-confirm.svelte-1102y3w{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}.logout-confirm.svelte-1102y3w p:where(.svelte-1102y3w){margin:0 0 16px;font-size:15px}.logout-actions.svelte-1102y3w{display:flex;gap:12px;justify-content:center}.btn-cancel.svelte-1102y3w,.btn-logout.svelte-1102y3w{padding:10px 24px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer}.btn-cancel.svelte-1102y3w{background:var(--bg-chip);color:var(--text-primary)}.btn-cancel.svelte-1102y3w:hover{background:var(--bg-hover)}.btn-logout.svelte-1102y3w{background:var(--danger);color:#fff}.btn-logout.svelte-1102y3w:hover{opacity:.9}.btn-logout-main.svelte-1102y3w{width:100%;padding:14px;border-radius:12px;border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s}.btn-logout-main.svelte-1102y3w:hover{background:#ff64641a}.tabbar.svelte-1n51new{display:flex;justify-content:space-around;align-items:center;height:56px;background:var(--bg-primary);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;bottom:0;left:0;right:0;z-index:100}.tab-item.svelte-1n51new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1;height:100%;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);transition:color .2s ease;padding:8px 0;min-width:64px}.tab-item.svelte-1n51new:hover{color:var(--text-primary)}.tab-item.active.svelte-1n51new{color:var(--accent)}.tab-label.svelte-1n51new{font-size:12px;font-weight:500}.tab-item.active.svelte-1n51new .tab-label:where(.svelte-1n51new){font-weight:600}.offline-banner.svelte-skr994{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:var(--warning);color:#fff;font-size:14px;font-weight:500;animation:svelte-skr994-slideDown .3s ease-out;box-shadow:0 2px 8px #00000026}.offline-banner.online.svelte-skr994{background:var(--success)}.offline-banner.mobile.svelte-skr994{padding-top:calc(12px + env(safe-area-inset-top,0px))}.icon.svelte-skr994{font-size:16px}.message.svelte-skr994{flex:1;text-align:center}@keyframes svelte-skr994-slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.app-body.svelte-1n46o8q{display:flex;flex:1;height:100vh;overflow:hidden}.app-body.mobile.svelte-1n46o8q{padding-bottom:56px}.main-area.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;transition:background-color .4s ease}.main-area.has-tabbar.svelte-1n46o8q{padding-bottom:56px}.content-area.svelte-1n46o8q{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.mobile-header.svelte-1n46o8q{display:flex;align-items:center;padding:16px;background:var(--bg-primary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.mobile-header.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.back-btn-mobile.svelte-1n46o8q{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--accent);cursor:pointer;margin-right:4px;flex-shrink:0}.mobile-breadcrumb.svelte-1n46o8q{display:flex;align-items:center;gap:4px;font-size:17px;font-weight:600;overflow:hidden;flex:1}.mobile-crumb-parent.svelte-1n46o8q{color:var(--text-secondary);font-weight:400;flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.mobile-crumb-sep.svelte-1n46o8q{color:var(--text-muted);flex-shrink:0}.mobile-crumb-current.svelte-1n46o8q{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.space-switcher-trigger.svelte-1n46o8q{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:8px;transition:background-color .2s ease}.space-switcher-trigger.svelte-1n46o8q:active{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.space-switcher-trigger.svelte-1n46o8q h1:where(.svelte-1n46o8q){pointer-events:none}.space-switcher-chevron{color:var(--text-secondary, #888);transition:transform .2s ease}.space-switcher-overlay.svelte-1n46o8q{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200}.space-switcher-dropdown.svelte-1n46o8q{position:absolute;top:100%;left:16px;min-width:180px;background:var(--bg-primary, #fff);border:1px solid var(--border, #e0e0e0);border-radius:12px;box-shadow:0 8px 24px #0000001f;z-index:201;overflow:hidden;margin-top:4px}.space-switcher-item.svelte-1n46o8q{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;background:transparent;border:none;cursor:pointer;font-size:16px;color:var(--text-primary, #333);transition:background-color .15s ease;text-align:left}.space-switcher-item.svelte-1n46o8q:active{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.space-switcher-item.active.svelte-1n46o8q{color:var(--accent, #007aff);font-weight:600}.space-switcher-item.svelte-1n46o8q span:where(.svelte-1n46o8q){flex:1}.space-switcher-check{color:var(--accent, #007aff)}.toast-container.svelte-1n46o8q{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast-container.mobile-toast.svelte-1n46o8q{bottom:72px;top:auto}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #FFFFFF;--bg-secondary: #F5F5F7;--bg-sidebar: #F5F5F7;--bg-toolbar: #FFFFFF;--bg-hover: #E8E8ED;--bg-chip: #E8E8ED;--text-primary: #1D1D1F;--text-secondary: #6E6E73;--text-muted: #86868B;--accent: #0071E3;--accent-hover: #0077ED;--border: #D2D2D7;--border-photo: #E5E5EA;--danger: #FF3B30;--success: #34C759;--warning: #FF9500;--shadow: 0 1px 3px rgba(0, 0, 0, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font-stack: "Inter", system-ui, sans-serif;--radius: var(--radius-sm);--bg-card: var(--bg-secondary);--bg-overlay: rgba(0, 0, 0, .85);--transition: .2s ease;--bg-surface: var(--bg-primary);--bg-input: var(--bg-secondary);--success-bg: rgba(52, 199, 89, .12);--warning-bg: rgba(255, 149, 0, .12);--danger-bg: rgba(255, 59, 48, .12);--accent-yellow: #FFD60A;--sidebar-width: 220px;--sidebar-collapsed: 64px;--toolbar-height: 48px;--detail-width: 320px}[data-theme=dark]{--bg-primary: #0A0A0A;--bg-secondary: #141414;--bg-sidebar: #111111;--bg-toolbar: #111111;--bg-hover: #2A2520;--bg-chip: #2A2520;--text-primary: #E8E8E8;--text-secondary: #86868B;--text-muted: #6E6E73;--accent: #C9A96E;--accent-hover: #D4B87A;--border: #2A2520;--border-photo: #2A2520;--danger: #F23645;--success: #26C753;--warning: #F09A37;--shadow: none;--bg-card: var(--bg-secondary);--bg-overlay: rgba(0, 0, 0, .92);--bg-surface: #111111;--bg-input: #1C1C1E;--success-bg: rgba(38, 199, 83, .14);--warning-bg: rgba(240, 154, 55, .14);--danger-bg: rgba(242, 54, 69, .14);--accent-yellow: #FFD60A}html,body{height:100%;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-primary);transition:background-color .4s ease,color .4s ease}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.mono{font-family:SF Mono,Fira Code,monospace}.btn-filled{height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font:13px/1.5 var(--font-stack);font-weight:500;cursor:pointer;transition:background-color .15s ease}.btn-filled:hover{background:var(--accent-hover)}.btn-filled:disabled{opacity:.5;cursor:default}.btn-filled:disabled:hover{background:var(--accent)}.btn-outlined{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:13px/1.5 var(--font-stack);font-weight:500;cursor:pointer;transition:background-color .15s ease,border-color .4s ease}.btn-outlined:hover{background:var(--bg-hover)}.btn-danger{height:32px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:var(--danger);color:#fff;font:13px/1.5 var(--font-stack);font-weight:500;cursor:pointer;transition:background-color .15s ease}.btn-danger:hover{background:#cc2f26}.btn-danger:disabled{opacity:.5;cursor:default}.btn-danger-outlined{height:32px;padding:0 12px;border:1px solid var(--danger);border-radius:var(--radius-sm);background:transparent;color:var(--danger);font:13px/1.5 var(--font-stack);font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-danger-outlined:hover{background:var(--danger);color:#fff}.toolbar-btn{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.active{background:var(--bg-hover);color:var(--accent)}.btn-icon{width:32px;height:32px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-link{background:none;border:none;color:var(--accent);font-size:13px;cursor:pointer;padding:4px 0}.btn-link:hover{text-decoration:underline}.input-field{height:40px;padding:0 14px;width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font:14px/1.5 var(--font-stack);outline:none;transition:border-color .2s ease;box-sizing:border-box}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--accent)}.textarea-field{min-height:80px;padding:10px 14px;width:100%;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font:14px/1.5 var(--font-stack);outline:none;transition:border-color .2s ease;box-sizing:border-box}.textarea-field::placeholder{color:var(--text-muted)}.textarea-field:focus{border-color:var(--accent)}
