.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}.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-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:4 / 3;overflow:hidden;background:var(--bg-secondary)}.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}.folder-info.svelte-e3l6zs{padding:12px;display:flex;flex-direction:column;gap:4px}.folder-name.svelte-e3l6zs{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-count.svelte-e3l6zs{font-size:12px;color:var(--text-secondary)}.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:4 / 3;background:var(--bg-secondary)}.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}.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}.subfolder-bar.svelte-d7oy2o{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.subfolder-chip.svelte-d7oy2o{padding:6px 14px;border:none;border-radius:20px;background:var(--bg-card);font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease}.subfolder-chip.svelte-d7oy2o:hover{background:var(--bg-hover)}.masonry-grid.svelte-d7oy2o{column-count:2;column-gap:4px}@media(min-width:641px){.masonry-grid.svelte-d7oy2o{column-count:3}}@media(min-width:1024px){.masonry-grid.svelte-d7oy2o{column-count:4}}@media(min-width:1440px){.masonry-grid.svelte-d7oy2o{column-count:5}}.photo-cell.svelte-d7oy2o{position:relative;display:block;border:none;background:none;padding:0;cursor:pointer;break-inside:avoid;margin-bottom:4px;border-radius:var(--radius-sm);overflow:hidden;transition:opacity .15s ease}.photo-cell.svelte-d7oy2o:hover{opacity:.85}.img-wrapper.svelte-d7oy2o{position:relative;width:100%}.photo-thumb.svelte-d7oy2o{width:100%;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{break-inside:avoid;margin-bottom:4px;border-radius:var(--radius-sm);overflow:hidden}.skeleton-img.svelte-d7oy2o{width:100%;aspect-ratio:1;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%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:var(--radius-sm)}.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}.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-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}.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:0;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.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-exif-header.svelte-11o8oez{display:flex;align-items:center;gap:8px;font-size:13px;color:#fff9;margin-bottom:10px}.info-exif-placeholder.svelte-11o8oez{font-size:13px;color:#ffffff59;margin:0;font-style:italic}.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}@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:#d93025}.toast-wrapper.success.svelte-1ig2a9j{background:#1e8e3e}.toast-wrapper.warning.svelte-1ig2a9j{background:#e37400}.toast-icon.svelte-1ig2a9j{font-size:16px;flex-shrink:0}.toast-msg.svelte-1ig2a9j{line-height:1.4}.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:12px;right:12px;bottom:100%;margin-bottom:6px;background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000040;z-index:100;overflow:hidden}.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}.check.svelte-sqlcqp{color:var(--accent);font-size:12px}.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}.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}.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)}.setup-page.svelte-q9fw1r{padding:24px 32px;max-width:640px;margin:0 auto;color:var(--text-primary)}h1.svelte-q9fw1r{font-size:22px;margin-bottom:4px}.subtitle.svelte-q9fw1r{color:var(--text-secondary);font-size:13px;margin-bottom:24px}.form-section.svelte-q9fw1r{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px;margin-bottom:16px}.form-section.svelte-q9fw1r h2:where(.svelte-q9fw1r){font-size:14px;margin:0 0 12px;color:var(--text-secondary)}label.svelte-q9fw1r{display:block;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}input.svelte-q9fw1r{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}input.svelte-q9fw1r:focus{border-color:var(--accent);outline:none}small.svelte-q9fw1r{display:block;margin-top:3px;font-size:11px;color:var(--text-muted)}.user-row.svelte-q9fw1r{display:flex;gap:10px;align-items:flex-end}.user-row.svelte-q9fw1r label:where(.svelte-q9fw1r){flex:1}.btn-icon.svelte-q9fw1r{background:none;border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:6px 10px;cursor:pointer;font-size:14px;margin-bottom:12px}.btn-icon.svelte-q9fw1r:hover{color:var(--danger);border-color:var(--danger)}.errors.svelte-q9fw1r{background:#ff64641a;border:1px solid var(--danger);border-radius:8px;padding:10px 14px;margin-bottom:16px}.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;margin-bottom:16px}.btn-primary.svelte-q9fw1r,.btn-secondary.svelte-q9fw1r{padding:8px 18px;border-radius:8px;border:none;font-size:14px;cursor:pointer;font-weight:500}.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)}.btn-secondary.svelte-q9fw1r:hover{background:var(--bg-hover)}.compose-preview.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)}.note.svelte-q9fw1r{background:#ffc8641a;border:1px solid var(--accent-yellow);border-radius:8px;padding:12px 16px;font-size:13px;color:var(--text-secondary);margin-top:20px}.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.svelte-hawz4i:hover .photo-remove:where(.svelte-hawz4i){display:flex}.photo-remove.svelte-hawz4i{display:none;position:absolute;top:4px;right:4px;width:24px;height:24px;background:#0009;border:none;border-radius:50%;cursor:pointer;z-index:1;align-items:center;justify-content:center;color:#fff}.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-header.svelte-1qchd5w{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.albums-header.svelte-1qchd5w h1:where(.svelte-1qchd5w){margin:0;font-size:22px;color:var(--text-primary)}.albums-grid.svelte-1qchd5w{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.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}.album-name.svelte-1qchd5w{font-size:15px;font-weight:600;color:var(--text-primary)}.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)}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-name.svelte-12rmzzv{flex:1;font-size:13px;color:var(--text-primary)}.folder-count.svelte-12rmzzv{font-size:12px;color:var(--text-muted)}.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}.app-body.svelte-1n46o8q{display:flex;flex:1;height:100vh;overflow:hidden}.main-area.svelte-1n46o8q{flex:1;display:flex;flex-direction:column;overflow:hidden;transition:background-color .4s ease}.content-area.svelte-1n46o8q{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.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}*,*: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: #86868B;--text-muted: #AEAEB2;--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);--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: #5A5A5A;--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);--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)}
