.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}.login-back.svelte-1smdtwm{width:100%;margin-top:12px;padding:8px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer}.login-back.svelte-1smdtwm:hover:not(:disabled){color:var(--text-primary)}.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-top:24px;margin-bottom:24px}.root-photos-grid.svelte-e3l6zs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}@media(min-width:641px){.root-photos-grid.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.root-photos-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}@media(min-width:641px){.root-photos-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media(min-width:1024px){.root-photos-grid.card-small.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.root-photos-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}@media(min-width:641px){.root-photos-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media(min-width:1024px){.root-photos-grid.card-large.svelte-e3l6zs{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.root-photo-card.svelte-e3l6zs{position:relative;width:100%;aspect-ratio:1;border:none;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card);cursor:pointer;padding:0;transition:transform .15s ease,box-shadow .15s ease}.root-photo-card.svelte-e3l6zs:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.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}@media(max-width:640px){.grid-header.svelte-d7oy2o:not(:has(.tag-filter-wrapper)){display:none}.grid-header.svelte-d7oy2o{margin-bottom:12px}.grid-header.svelte-d7oy2o>.back-btn:where(.svelte-d7oy2o),.grid-header.svelte-d7oy2o>.grid-title:where(.svelte-d7oy2o){display:none}.grid-header.svelte-d7oy2o:has(.tag-filter-wrapper:where(.svelte-d7oy2o)){justify-content:flex-start}}.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)}.cover-collage.svelte-d7oy2o{display:grid;width:100%;height:100%;gap:2px;background:var(--bg-secondary)}.cover-collage--n1.svelte-d7oy2o{grid-template:1fr / 1fr}.cover-collage--n2.svelte-d7oy2o{grid-template:1fr / 1fr 1fr}.cover-collage--n4.svelte-d7oy2o{grid-template:1fr 1fr / 1fr 1fr}.cover-collage--n3.svelte-d7oy2o{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.cover-collage--n3.svelte-d7oy2o .cover-tile:where(.svelte-d7oy2o):first-child{grid-row:1 / span 2}.cover-tile.svelte-d7oy2o{display:block;width:100%;height:100%;object-fit:cover}.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}.folder-cell-info.svelte-d7oy2o{padding:8px 12px;display:flex;flex-direction:column;gap:2px}.folder-cell-name.svelte-d7oy2o{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-cell-count.svelte-d7oy2o{font-size:12px;color:var(--text-secondary)}.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}.nature-assign-panel.svelte-26efc8{margin-top:4px}.na-header.svelte-26efc8{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text-secondary, #666);margin-bottom:8px}.na-placeholder.svelte-26efc8{margin:0;font-size:12px;color:var(--text-tertiary, #999);padding:2px 0}.na-tag-list.svelte-26efc8{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.na-add-row.svelte-26efc8{margin-top:4px}.na-add-select.svelte-26efc8{width:100%;padding:5px 8px;font-size:12px;border:1px solid var(--border, #ddd);border-radius:6px;background:var(--bg-input, #fff);color:var(--text-primary, #333)}.na-error.svelte-26efc8{margin:6px 0 0;font-size:12px;color:#e03131}.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}.lightbox-img.video-preview.svelte-11o8oez,.lightbox-thumb.video-preview.svelte-11o8oez{width:auto;height:80vh;max-width:100%}.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-body.svelte-11o8oez{flex:1;display:flex;min-height:0}.lightbox-image-area.svelte-11o8oez{flex:1;min-width:0}.info-panel-wrap.svelte-11o8oez{flex-shrink:0;width:0;overflow:hidden;transition:width .3s ease}.info-panel-wrap.open.svelte-11o8oez{width:var(--detail-width)}.info-panel.svelte-11o8oez{width:var(--detail-width);height:100%;background:#000000d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow:hidden}.info-panel-header.svelte-11o8oez{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;font-weight:600;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.info-panel-close.svelte-11o8oez{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:#ffffff1a;color:#ffffffbf;cursor:pointer;padding:0;transition:background var(--transition)}.info-panel-close.svelte-11o8oez:hover{background:#fff3;color:#fff}.info-panel-inner.svelte-11o8oez{display:flex;flex-direction:column;padding:24px 20px;gap:20px;flex:1;overflow-y:auto}.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){.info-panel-wrap.open.svelte-11o8oez,.info-panel.svelte-11o8oez{width:100%}}.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}.nav-item.sub.svelte-181dlmc{padding-left:16px;font-size:12px}.sidebar.collapsed.svelte-181dlmc .nav-item.sub:where(.svelte-181dlmc){display:none}.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)}.advanced-search-btn.svelte-1b5lykn{white-space:nowrap;flex-shrink:0}.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;line-height:1.5;user-select:text;-webkit-user-select:text}.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.embedded.svelte-1qchd5w{padding-top:8px}.albums-list.mobile.svelte-1qchd5w{padding:12px}.albums-header.svelte-1qchd5w{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.albums-header.embedded.svelte-1qchd5w{justify-content:flex-end;margin-bottom:12px;margin-top:4px}.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)}.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)}.as-wrap.svelte-56xqjt{position:relative}.as-trigger.svelte-56xqjt{display:flex;align-items:center;gap:4px;background:transparent;border:none;cursor:pointer;padding:4px 8px;margin:-4px -8px;border-radius:8px;color:var(--text-primary, #1d1d1f);transition:background-color .2s ease}.as-trigger.svelte-56xqjt:active{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.as-trigger.svelte-56xqjt h1:where(.svelte-56xqjt){pointer-events:none}.as-title.svelte-56xqjt{font-size:16px;font-weight:600;pointer-events:none;white-space:nowrap}.as-chevron{color:var(--text-secondary, #888);transition:transform .2s ease}.as-chevron.open{transform:rotate(180deg)}.as-overlay.svelte-56xqjt{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.as-dropdown.svelte-56xqjt{position:absolute;top:100%;left:0;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}.desktop.svelte-56xqjt .as-dropdown:where(.svelte-56xqjt){min-width:160px}.as-item.svelte-56xqjt{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}.as-item.svelte-56xqjt:active{background:var(--bg-secondary, rgba(0, 0, 0, .05))}.as-item.active.svelte-56xqjt{color:var(--accent, #007aff);font-weight:600}.as-item.svelte-56xqjt span:where(.svelte-56xqjt){flex:1}.as-check{color:var(--accent, #007aff)}.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}.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-grid.svelte-rjzkwo{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.photo-cell.svelte-rjzkwo{position:relative;width:100%;aspect-ratio:1 / 1;border:none;border-radius:8px;overflow:hidden;background:var(--bg-chip);cursor:pointer;padding:0}.photo-cell.svelte-rjzkwo:hover{outline:2px solid var(--accent);outline-offset:-2px}.photo-cell.svelte-rjzkwo img:where(.svelte-rjzkwo){width:100%;height:100%;object-fit:cover;display:block}.video-badge.svelte-rjzkwo{position:absolute;right:6px;bottom:6px;width:22px;height:22px;border-radius:50%;background:#0000008c;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none}.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;user-select:text;-webkit-user-select:text}.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-item.current-file-item.svelte-195pxqc{grid-column:1 / -1;background:var(--bg-input);border:1px dashed var(--border);border-radius:6px;padding:8px 10px}.info-value.current-file-value.svelte-195pxqc{font-family:SF Mono,Menlo,monospace;font-size:12px;word-break:break-all;color:var(--accent-yellow, var(--warning))}.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}.token-cell.svelte-1piq9ld{white-space:nowrap}.token-badge.svelte-1piq9ld{font-size:11px;padding:1px 8px;border-radius:10px;background:#e8f5e9;color:var(--success)}.token-badge--none.svelte-1piq9ld{background:var(--bg-chip);color:var(--text-muted)}.token-value-row.svelte-1piq9ld{display:flex;gap:6px;align-items:center}.token-value-row.svelte-1piq9ld input:where(.svelte-1piq9ld){flex:1;font-family:SF Mono,monospace;font-size:12px}.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-progress-text.svelte-1piq9ld{font-size:11px;color:var(--accent-yellow, var(--warning));margin-left:4px;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:24px;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:2}.search-bar.svelte-skax5j{display:flex;align-items:center;gap:10px;padding:0 14px;height:46px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px}.search-bar.svelte-skax5j input:where(.svelte-skax5j){flex:1;border:0;background:transparent;color:var(--text-primary);outline:0;font-size:15px}.clear.svelte-skax5j,.advanced-toggle.svelte-skax5j{border:0;background:transparent;color:var(--text-secondary);cursor:pointer}.advanced-toggle.svelte-skax5j{white-space:nowrap}.filters.svelte-skax5j{display:flex;gap:12px;align-items:end;padding:14px 0}.filters.svelte-skax5j label:where(.svelte-skax5j){display:flex;flex-direction:column;gap:4px;color:var(--text-secondary);font-size:12px}.filters.svelte-skax5j input:where(.svelte-skax5j),.filters.svelte-skax5j select:where(.svelte-skax5j){padding:7px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface);color:var(--text-primary)}.state.svelte-skax5j{text-align:center;padding:70px 20px;color:var(--text-muted)}.state.svelte-skax5j h2:where(.svelte-skax5j){color:var(--text-primary)}.state.svelte-skax5j button:where(.svelte-skax5j){margin-left:10px}.error.svelte-skax5j{color:var(--danger)}.result-bar.svelte-skax5j{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--text-secondary)}.results-grid.svelte-skax5j{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.result-card.svelte-skax5j{position:relative;display:flex;flex-direction:column;gap:6px;padding:0;border:2px solid transparent;background:var(--bg-surface);color:var(--text-secondary);text-align:left;cursor:pointer;border-radius:8px;overflow:hidden}.result-card.selected.svelte-skax5j{border-color:var(--accent)}.result-card.svelte-skax5j img:where(.svelte-skax5j){width:100%;aspect-ratio:1;object-fit:cover}.result-card.svelte-skax5j span:where(.svelte-skax5j){padding:0 8px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.result-card.svelte-skax5j b:where(.svelte-skax5j){position:absolute;top:6px;right:6px;background:#0008;color:#fff;padding:2px 5px;font-size:10px}.result-card.svelte-skax5j .check:where(.svelte-skax5j){position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:#0006;color:#fff;font-style:normal;font-size:12px;line-height:18px;text-align:center;z-index:1}.result-card.svelte-skax5j .check.checked:where(.svelte-skax5j){background:var(--accent);border-color:var(--accent)}.pagination.svelte-skax5j{display:flex;justify-content:center;gap:16px;align-items:center;padding:24px}.pagination.svelte-skax5j button:where(.svelte-skax5j){padding:7px 14px}.select-bar.svelte-skax5j{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow,0 4px 16px #0003);z-index:10;color:var(--text-primary)}.toast.svelte-skax5j{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:10px 18px;z-index:20}.mfa-block.svelte-3rcxin{padding:14px 16px}.mfa-title.svelte-3rcxin{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--text-primary)}.mfa-desc.svelte-3rcxin{margin:6px 0 0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.badge.svelte-3rcxin{font-size:11px;padding:2px 8px;border-radius:10px;font-weight:500}.badge-on.svelte-3rcxin{background:#34c75926;color:#1d7a35}.badge-off.svelte-3rcxin{background:var(--bg-secondary);color:var(--text-secondary)}.mfa-meta.svelte-3rcxin{margin:10px 0 4px;font-size:13px;color:var(--text-secondary)}.mfa-error.svelte-3rcxin{margin:10px 0 0;font-size:13px;color:var(--danger)}.setup-flow.svelte-3rcxin,.codes-flow.svelte-3rcxin,.inline-form.svelte-3rcxin{margin-top:14px}.setup-steps.svelte-3rcxin{margin:0 0 12px;padding-left:18px;font-size:13px;color:var(--text-secondary);line-height:1.7}.qr.svelte-3rcxin{display:block;margin:0 auto 10px;border-radius:8px;background:#fff;padding:8px}.manual-secret.svelte-3rcxin{text-align:center;font-size:12px;color:var(--text-secondary);word-break:break-all}.manual-secret.svelte-3rcxin code:where(.svelte-3rcxin){font-size:12px;-webkit-user-select:all;user-select:all}.code-label.svelte-3rcxin{display:block;margin:14px 0 6px;font-size:13px;color:var(--text-secondary)}.mfa-input.svelte-3rcxin{width:100%;box-sizing:border-box;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:18px;letter-spacing:4px;outline:none}.mfa-input.svelte-3rcxin:focus{border-color:var(--accent)}.mfa-actions.svelte-3rcxin{display:flex;gap:10px;margin-top:14px;justify-content:flex-end}.mfa-actions.wrap.svelte-3rcxin{flex-wrap:wrap;justify-content:flex-start}.mfa-btn.svelte-3rcxin{padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer}.mfa-btn.primary.svelte-3rcxin{background:var(--accent);border-color:var(--accent);color:#fff}.mfa-btn.danger.svelte-3rcxin{color:var(--danger);border-color:var(--danger);background:transparent}.mfa-btn.svelte-3rcxin:disabled{opacity:.5;cursor:not-allowed}.codes-warning.svelte-3rcxin{font-size:13px;line-height:1.7;color:var(--text-primary);margin:0 0 12px}.codes-grid.svelte-3rcxin{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.backup-code.svelte-3rcxin{display:block;padding:8px 10px;background:var(--bg-secondary);border-radius:6px;font-size:14px;text-align:center;letter-spacing:1px;-webkit-user-select:all;user-select:all}.inline-form.svelte-3rcxin{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.inline-form.svelte-3rcxin label:where(.svelte-3rcxin){display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.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}.page-header.svelte-1102y3w{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--bg-surface);position:sticky;top:0;z-index:10}.page-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;flex-direction:column;gap:6px;margin-bottom:4px}.space-sync-row.svelte-1102y3w{display:flex;align-items:center;gap:8px}.space-name.svelte-1102y3w{font-size:13px;font-weight:600;color:var(--text-primary);min-width:60px}.space-count.svelte-1102y3w{margin-left:auto;font-size:12px;color:var(--text-secondary);font-variant-numeric:tabular-nums}.space-progress-bar.svelte-1102y3w{height:4px;border-radius:2px;background:var(--border);overflow:hidden;margin:-2px 0 2px 16px}.space-progress-fill.svelte-1102y3w{height:100%;background:var(--accent);border-radius:2px}.space-last-sync.svelte-1102y3w{font-size:11px;color:var(--text-muted);margin:-2px 0 4px 16px}.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);transition:transform .15s}.chevron.expanded.svelte-1102y3w{transform:rotate(90deg)}.inline-form.svelte-1102y3w{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border);background:var(--bg-secondary, transparent)}.inline-form.svelte-1102y3w input:where(.svelte-1102y3w){padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none}.inline-form.svelte-1102y3w input:where(.svelte-1102y3w):focus{border-color:var(--accent)}.form-error.svelte-1102y3w{margin:0;font-size:13px;color:var(--danger)}.form-actions.svelte-1102y3w{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.form-actions.svelte-1102y3w button:where(.svelte-1102y3w){padding:8px 18px;border-radius:8px;font-size:14px;cursor:pointer}.btn-secondary.svelte-1102y3w{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.btn-primary.svelte-1102y3w{border:1px solid var(--accent);background:var(--accent);color:#fff}.btn-primary.svelte-1102y3w:disabled{opacity:.5;cursor:not-allowed}.mfa-block{border-top:1px solid var(--border)}.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}}.picker-modal.svelte-1g3bscd{width:min(640px,92vw);max-height:84vh;display:flex;flex-direction:column}.picker-search.svelte-1g3bscd{width:100%;padding:8px 12px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13px;margin-bottom:12px;box-sizing:border-box}.picker-grid.svelte-1g3bscd{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;overflow-y:auto;flex:1;min-height:200px;padding-bottom:4px}.picker-item.svelte-1g3bscd{position:relative;aspect-ratio:1;border:2px solid transparent;border-radius:6px;overflow:hidden;padding:0;cursor:pointer;background:var(--bg-secondary, #f5f5f5)}.picker-item.svelte-1g3bscd img:where(.svelte-1g3bscd){width:100%;height:100%;object-fit:cover;display:block}.picker-item.selected.svelte-1g3bscd{border-color:var(--accent-memoir, #e8590c)}.picker-check.svelte-1g3bscd{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:var(--accent-memoir, #e8590c);color:#fff;font-size:12px;line-height:20px;text-align:center}.picker-skeleton.svelte-1g3bscd{aspect-ratio:1;border-radius:6px;background:var(--bg-secondary, #eee)}.picker-empty.svelte-1g3bscd{grid-column:1 / -1;text-align:center;color:var(--text-secondary, #888);padding:32px 0;font-size:13px}.picker-actions.svelte-1g3bscd{display:flex;align-items:center;gap:8px}.picker-count.svelte-1g3bscd{margin-right:auto;font-size:12px;color:var(--text-secondary, #888)}.memoir-view.svelte-qqmyyd{padding:24px;max-width:800px;margin:0 auto}.mv-header.svelte-qqmyyd{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header-actions.svelte-qqmyyd{display:flex;align-items:center;gap:8px}.btn-secondary-mv.svelte-qqmyyd{padding:8px 16px;background:transparent;color:var(--accent-memoir, #e8590c);border:1px solid var(--accent-memoir, #e8590c);border-radius:var(--radius-sm, 6px);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .15s}.btn-secondary-mv.svelte-qqmyyd:hover{background:#e8590c14}.modal-hint.svelte-qqmyyd{font-size:12px;color:var(--text-secondary, #888);margin:4px 0 12px}.section-actions.svelte-qqmyyd{display:flex;align-items:center;gap:8px}.btn-warn.svelte-qqmyyd{color:var(--danger, #d9480f);border-color:var(--danger, #d9480f)}.photo-wrap.svelte-qqmyyd{position:relative}.photo-remove.svelte-qqmyyd{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:none;background:#000000a6;color:#fff;font-size:12px;line-height:22px;text-align:center;cursor:pointer;padding:0}.photo-remove.svelte-qqmyyd:hover{background:var(--danger, #d9480f)}.target-modal.svelte-qqmyyd{width:min(480px,92vw);max-height:80vh;display:flex;flex-direction:column}.target-options.svelte-qqmyyd{overflow-y:auto;flex:1}.target-section.svelte-qqmyyd h4:where(.svelte-qqmyyd){font-size:13px;color:var(--text-secondary, #666);margin:12px 0 8px;font-weight:600}.target-hint.svelte-qqmyyd{font-size:13px;color:var(--text-secondary, #999)}.target-list.svelte-qqmyyd{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.target-item.svelte-qqmyyd{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--border, #ddd);border-radius:6px;background:transparent;cursor:pointer;font-family:inherit;text-align:left;transition:background .15s}.target-item.svelte-qqmyyd:hover{background:#e8590c0f}.target-title.svelte-qqmyyd{font-size:13px;font-weight:500;color:var(--text-primary)}.target-meta.svelte-qqmyyd{font-size:12px;color:var(--text-secondary, #999)}.target-create.svelte-qqmyyd{display:flex;gap:8px}.target-create.svelte-qqmyyd input:where(.svelte-qqmyyd){flex:1;padding:8px 10px;border:1px solid var(--border, #ddd);border-radius:6px;font-size:13px}.mv-header.svelte-qqmyyd h1:where(.svelte-qqmyyd){font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.btn-primary.svelte-qqmyyd{padding:8px 16px;background:var(--accent-memoir, #e8590c);color:#fff;border:none;border-radius:var(--radius-sm, 6px);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit;transition:opacity .15s}.btn-primary.svelte-qqmyyd:hover{opacity:.9}.btn-primary.svelte-qqmyyd:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.svelte-qqmyyd{padding:8px 16px;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-size:13px;cursor:pointer;font-family:inherit}.btn-secondary.svelte-qqmyyd:hover{background:var(--bg-hover)}.btn-sm.svelte-qqmyyd{padding:6px 12px;background:var(--accent-memoir, #e8590c);color:#fff;border:none;border-radius:var(--radius-sm, 6px);font-size:12px;cursor:pointer;font-family:inherit}.btn-danger.svelte-qqmyyd{padding:6px 12px;background:transparent;color:var(--danger, #e03131);border:1px solid var(--danger, #e03131);border-radius:var(--radius-sm, 6px);font-size:12px;cursor:pointer;font-family:inherit}.btn-danger.svelte-qqmyyd:hover{background:#e0313114}.btn-icon.svelte-qqmyyd{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px}.btn-icon.svelte-qqmyyd:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-retry.svelte-qqmyyd{padding:8px 20px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg-surface, var(--bg-primary));color:var(--text-primary);cursor:pointer;font-size:13px;font-family:inherit}.btn-retry.svelte-qqmyyd:hover{background:var(--bg-hover)}.back-btn.svelte-qqmyyd{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;margin-bottom:16px}.back-btn.svelte-qqmyyd:hover{background:var(--bg-hover);color:var(--text-primary)}.timeline.svelte-qqmyyd{display:flex;flex-direction:column;gap:32px}.year-label.svelte-qqmyyd{font-size:20px;font-weight:700;color:var(--accent-memoir, #e8590c);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--accent-memoir, #e8590c)}.events-list.svelte-qqmyyd{display:flex;flex-direction:column;gap:12px}.event-card.svelte-qqmyyd{display:flex;gap:16px;padding:16px;background:var(--bg-surface, var(--bg-primary));border:1px solid var(--border);border-radius:var(--radius-md, 10px);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:all .15s ease;width:100%}.event-card.svelte-qqmyyd:hover{border-color:var(--accent-memoir, #e8590c);box-shadow:0 2px 8px #0000000f}.event-cover.svelte-qqmyyd{width:100px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--bg-chip);display:flex;align-items:center;justify-content:center}.event-cover.svelte-qqmyyd img:where(.svelte-qqmyyd){width:100%;height:100%;object-fit:cover}.cover-placeholder.svelte-qqmyyd{font-size:28px}.event-info.svelte-qqmyyd{flex:1;min-width:0}.event-info.svelte-qqmyyd h3:where(.svelte-qqmyyd){font-size:16px;font-weight:600;margin:0 0 6px;color:var(--text-primary)}.event-meta.svelte-qqmyyd{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.event-stats.svelte-qqmyyd{display:flex;gap:12px;font-size:12px;color:var(--text-muted)}.event-header.svelte-qqmyyd{margin-bottom:24px}.event-header.svelte-qqmyyd h2:where(.svelte-qqmyyd){font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 12px}.event-desc.svelte-qqmyyd{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:8px 0}.event-actions.svelte-qqmyyd{display:flex;gap:8px;margin-top:12px}.event-section.svelte-qqmyyd{margin-bottom:32px}.section-header.svelte-qqmyyd{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header.svelte-qqmyyd h3:where(.svelte-qqmyyd){font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.journal-list.svelte-qqmyyd{display:flex;flex-direction:column;gap:12px}.journal-card.svelte-qqmyyd{padding:16px;background:var(--bg-surface, var(--bg-primary));border:1px solid var(--border);border-radius:var(--radius-md, 10px)}.journal-header.svelte-qqmyyd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.journal-header.svelte-qqmyyd h4:where(.svelte-qqmyyd){font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.journal-actions.svelte-qqmyyd{display:flex;gap:4px}.journal-content.svelte-qqmyyd{font-size:13px;color:var(--text-secondary);line-height:1.6;margin:0 0 8px;white-space:pre-wrap}.journal-date.svelte-qqmyyd{font-size:11px;color:var(--text-muted)}.photo-grid.svelte-qqmyyd{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.photo-thumb.svelte-qqmyyd{aspect-ratio:1;border-radius:6px}.mv-empty.svelte-qqmyyd{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon.svelte-qqmyyd{font-size:48px;margin-bottom:16px}.mv-empty.svelte-qqmyyd p:where(.svelte-qqmyyd){margin:0 0 8px;font-size:14px}.empty-hint.svelte-qqmyyd{font-size:13px;color:var(--text-muted);margin:0}.mv-error.svelte-qqmyyd{text-align:center;padding:40px;color:var(--text-secondary)}.mv-error.svelte-qqmyyd p:where(.svelte-qqmyyd){margin:0 0 16px;font-size:14px}.timeline-skeleton.svelte-qqmyyd{display:flex;flex-direction:column;gap:32px}.skeleton-year.svelte-qqmyyd{display:flex;flex-direction:column;gap:12px}.skeleton-line.svelte-qqmyyd{height:14px;border-radius:4px;background:var(--bg-chip);animation:svelte-qqmyyd-pulse 1.5s infinite}.skeleton-line.w-20.svelte-qqmyyd{width:20%}.skeleton-line.w-40.svelte-qqmyyd{width:40%}.skeleton-line.w-60.svelte-qqmyyd{width:60%}.skeleton-card.svelte-qqmyyd{height:100px;border-radius:10px;background:var(--bg-chip);animation:svelte-qqmyyd-pulse 1.5s infinite}.skeleton-block.svelte-qqmyyd{height:200px;border-radius:10px;background:var(--bg-chip);animation:svelte-qqmyyd-pulse 1.5s infinite}.detail-skeleton.svelte-qqmyyd{display:flex;flex-direction:column;gap:12px}@keyframes svelte-qqmyyd-pulse{0%,to{opacity:1}50%{opacity:.4}}.modal-overlay.svelte-qqmyyd{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100}.modal.svelte-qqmyyd{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:24px;width:400px;max-width:90vw;max-height:80vh;overflow-y:auto;z-index:101;box-shadow:0 8px 30px #00000026}.modal.svelte-qqmyyd h3:where(.svelte-qqmyyd){margin:0 0 16px;font-size:16px;color:var(--text-primary)}.modal.svelte-qqmyyd label:where(.svelte-qqmyyd){display:block;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.modal.svelte-qqmyyd input:where(.svelte-qqmyyd),.modal.svelte-qqmyyd textarea:where(.svelte-qqmyyd){display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-size:13px;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box;font-family:inherit}.modal.svelte-qqmyyd input:where(.svelte-qqmyyd):focus,.modal.svelte-qqmyyd textarea:where(.svelte-qqmyyd):focus{outline:none;border-color:var(--accent-memoir, #e8590c)}.modal-actions.svelte-qqmyyd{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.nature-view.svelte-4v3sab{display:flex;height:100%;overflow:hidden}.nature-sidebar.svelte-4v3sab{width:240px;min-width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.ns-header.svelte-4v3sab{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.ns-header.svelte-4v3sab h3:where(.svelte-4v3sab){font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.ns-tree.svelte-4v3sab{flex:1;overflow-y:auto;padding:8px 0}.tree-status.svelte-4v3sab{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.tree-node.svelte-4v3sab{display:flex;align-items:center;gap:2px;padding:2px 16px}.tree-chevron.svelte-4v3sab{display:flex;align-items:center;justify-content:center;width:16px;height:20px;flex-shrink:0;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:transform .15s}.tree-chevron.expanded.svelte-4v3sab{transform:rotate(90deg)}.tree-chevron-placeholder.svelte-4v3sab{width:16px;flex-shrink:0}.tree-label-btn.svelte-4v3sab{display:flex;align-items:center;gap:4px;flex:1;min-width:0;padding:4px 8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-family:inherit;text-align:left;border-radius:4px;transition:background .1s}.tree-label-btn.svelte-4v3sab:hover{background:var(--bg-hover);color:var(--text-primary)}.tree-label-btn.active.svelte-4v3sab{background:#2f9e4414;color:var(--accent-nature, #2f9e44);font-weight:500}.tree-label.svelte-4v3sab{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-label-en.svelte-4v3sab{font-size:11px;color:var(--text-muted);font-weight:400}.tree-count.svelte-4v3sab{font-size:11px;color:var(--text-muted);flex-shrink:0}.nature-content.svelte-4v3sab{flex:1;display:flex;flex-direction:column;overflow:hidden}.nc-header.svelte-4v3sab{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px}.nc-category-info.svelte-4v3sab{display:flex;align-items:center;gap:8px}.nc-category-name.svelte-4v3sab{font-size:13px;font-weight:500;color:var(--text-primary)}.nc-category-name-en.svelte-4v3sab{font-size:12px;color:var(--text-muted);font-weight:400}.nc-category-sub.svelte-4v3sab{font-size:12px;color:var(--text-muted)}.nc-hint-inline.svelte-4v3sab{font-size:13px;color:var(--text-muted)}.nc-description.svelte-4v3sab{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-card, #f8faf8)}.nc-description.svelte-4v3sab p:where(.svelte-4v3sab){margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary)}.nc-references.svelte-4v3sab{padding:8px 16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.nc-ref-label.svelte-4v3sab{font-size:12px;color:var(--text-muted);flex-shrink:0}.nc-ref-links.svelte-4v3sab{display:flex;flex-wrap:wrap;gap:6px}.nc-ref-link.svelte-4v3sab{display:inline-block;padding:2px 8px;font-size:12px;border-radius:12px;background:#2f9e4414;color:#2f9e44;text-decoration:none;transition:background .15s}.nc-ref-link.svelte-4v3sab:hover{background:#2f9e4429}.nc-photos.svelte-4v3sab{flex:1;overflow-y:auto;padding:16px}.photo-grid.svelte-4v3sab{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.photo-item.svelte-4v3sab{aspect-ratio:1;border-radius:8px;cursor:pointer;transition:transform .15s;object-fit:cover;width:100%}.photo-item.svelte-4v3sab:hover{transform:scale(1.02)}.photo-skeleton.svelte-4v3sab{aspect-ratio:1;border-radius:8px;background:var(--bg-chip);animation:svelte-4v3sab-pulse 1.5s infinite}@keyframes svelte-4v3sab-pulse{0%,to{opacity:1}50%{opacity:.4}}.nc-empty.svelte-4v3sab{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);font-size:14px}.btn-icon.svelte-4v3sab{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:4px}.btn-icon.svelte-4v3sab:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-overlay.svelte-4v3sab{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:100}.modal.svelte-4v3sab{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);padding:24px;width:400px;max-width:90vw;z-index:101;box-shadow:0 8px 30px #00000026}.modal.svelte-4v3sab h3:where(.svelte-4v3sab){margin:0 0 16px;font-size:16px;color:var(--text-primary)}.modal.svelte-4v3sab label:where(.svelte-4v3sab){display:block;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.modal.svelte-4v3sab input:where(.svelte-4v3sab),.modal.svelte-4v3sab select:where(.svelte-4v3sab){display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-size:13px;background:var(--bg-surface);color:var(--text-primary);box-sizing:border-box;font-family:inherit}.modal.svelte-4v3sab input:where(.svelte-4v3sab):focus,.modal.svelte-4v3sab select:where(.svelte-4v3sab):focus{outline:none;border-color:var(--accent-nature, #2f9e44)}.modal-actions.svelte-4v3sab{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-primary.svelte-4v3sab{padding:8px 16px;background:var(--accent-nature, #2f9e44);color:#fff;border:none;border-radius:var(--radius-sm, 6px);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}.btn-primary.svelte-4v3sab:hover{opacity:.9}.btn-primary.svelte-4v3sab:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.svelte-4v3sab{padding:8px 16px;background:transparent;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);font-size:13px;cursor:pointer;font-family:inherit}.btn-secondary.svelte-4v3sab:hover{background:var(--bg-hover)}.geo-view.svelte-xk57j{display:flex;height:100%;overflow:hidden}.geo-sidebar.svelte-xk57j{width:240px;min-width:240px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.gs-header.svelte-xk57j{padding:12px 16px;border-bottom:1px solid var(--border)}.gs-header.svelte-xk57j h3:where(.svelte-xk57j){font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.gs-search.svelte-xk57j{position:relative;padding:8px 12px;border-bottom:1px solid var(--border)}.gs-search-icon.svelte-xk57j{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.gs-search.svelte-xk57j input:where(.svelte-xk57j){width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:12px;font-family:inherit;padding:6px 10px 6px 28px;outline:none}.gs-search.svelte-xk57j input:where(.svelte-xk57j):focus{border-color:var(--accent-geo, #12b886)}.gs-tree.svelte-xk57j{flex:1;overflow-y:auto;padding:4px 0}.gs-loading.svelte-xk57j,.gs-empty.svelte-xk57j{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:13px}.tree-node.svelte-xk57j{display:flex;align-items:center;gap:4px;width:100%;padding:5px 16px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:12px;font-family:inherit;text-align:left;transition:background .1s}.tree-node.svelte-xk57j:hover{background:var(--bg-hover);color:var(--text-primary)}.tree-node.active.svelte-xk57j{background:#12b88614;color:var(--accent-geo, #12b886);font-weight:500}.tree-node.leaf.svelte-xk57j{padding-left:32px}.tree-chevron.svelte-xk57j{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;margin-left:-2px;margin-right:2px;border-radius:5px;transition:transform .15s,background .1s}.tree-chevron.expanded.svelte-xk57j{transform:rotate(90deg)}.tree-chevron.placeholder.svelte-xk57j{visibility:hidden}.tree-chevron[role=button].svelte-xk57j:hover{background:var(--bg-hover)}.tree-label.svelte-xk57j{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count.svelte-xk57j{font-size:11px;color:var(--text-muted)}.tree-item.svelte-xk57j{position:relative}.tree-item.svelte-xk57j:has(.tree-row-menu.open:where(.svelte-xk57j)){z-index:60}.tree-item.svelte-xk57j:has(.tree-row-menu.open:where(.svelte-xk57j)) .tree-node:where(.svelte-xk57j){background:var(--bg-primary)}.tree-row-menu.svelte-xk57j{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:none}.tree-item.svelte-xk57j:hover .tree-row-menu:where(.svelte-xk57j),.tree-row-menu.open.svelte-xk57j{display:block}.tree-item.svelte-xk57j:hover .tree-count:where(.svelte-xk57j){visibility:hidden}.tree-menu-btn.svelte-xk57j{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:var(--bg-primary);color:var(--text-muted);cursor:pointer}.tree-menu-btn.svelte-xk57j:hover{background:#12b88624;color:var(--accent-geo, #12b886)}.tree-menu-dismiss.svelte-xk57j{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;border:none;background:transparent;padding:0;cursor:default}.tree-menu-pop.svelte-xk57j{position:absolute;top:calc(100% - 2px);right:0;z-index:100;min-width:128px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:4px;display:flex;flex-direction:column}.tree-menu-pop.svelte-xk57j button:where(.svelte-xk57j){display:flex;align-items:center;gap:8px;border:none;background:transparent;color:var(--text-secondary);font-size:12px;font-family:inherit;text-align:left;padding:7px 10px;border-radius:6px;cursor:pointer;white-space:nowrap}.tree-menu-pop.svelte-xk57j button:where(.svelte-xk57j):hover{background:var(--bg-hover);color:var(--accent-geo, #12b886)}.gs-footer.svelte-xk57j{border-top:1px solid var(--border);padding:12px 16px}.gs-stats.svelte-xk57j{display:flex;gap:8px;font-size:11px;color:var(--text-muted);margin-bottom:8px;flex-wrap:wrap}.geo-content.svelte-xk57j{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.gc-map.svelte-xk57j{flex:1;min-height:0;background:var(--bg-secondary, var(--bg-primary));position:relative;overflow:hidden;isolation:isolate;z-index:0}.gc-map-canvas.svelte-xk57j{width:100%;height:100%}.gc-map-fallback.svelte-xk57j{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--text-muted);font-size:13px}.gc-map-loading-overlay.svelte-xk57j{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-secondary, var(--bg-primary));z-index:10}.gc-map-error.svelte-xk57j p:where(.svelte-xk57j){margin:0;color:var(--text-secondary)}.gc-map-error.svelte-xk57j .btn-outlined,.gc-map-error.svelte-xk57j .btn-outlined:where(.svelte-xk57j){height:28px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer;transition:background-color .15s ease}.gc-map-error.svelte-xk57j .btn-outlined:where(.svelte-xk57j):hover{background:var(--bg-hover)}.map-spin.svelte-xk57j{animation:svelte-xk57j-gc-spin 1.2s linear infinite;color:var(--text-muted)}@keyframes svelte-xk57j-gc-spin{to{transform:rotate(360deg)}}.geo-photo-marker{cursor:pointer}.geo-photo-inner{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 2px 8px #0000004d;background:#12b88626;transition:transform .15s ease,border-color .15s ease}.geo-photo-marker:hover .geo-photo-inner{transform:scale(1.12);border-color:var(--accent-geo, #12b886)}.geo-photo-marker.active .geo-photo-inner{border-color:#fa8c16;transform:scale(1.12)}.geo-photo-inner img{width:100%;height:100%;object-fit:cover;display:block}.geo-photo-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;font-size:20px;background:#12b8862e}.geo-photo-inner.broken img{display:none}.geo-photo-inner.broken .geo-photo-fallback{display:flex}.geo-map-cluster{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#12b886e6;color:#fff;font-size:12px;font-weight:600;border:2px solid #fff;box-shadow:0 1px 4px #00000040;cursor:pointer}.geo-infowindow{padding:8px;background:var(--bg-primary, #fff);border-radius:var(--radius-sm, 8px);box-shadow:var(--shadow, 0 1px 3px rgba(0, 0, 0, .12));font-family:inherit;text-align:center}.geo-infowindow-img{width:180px;height:180px;border-radius:6px;object-fit:cover;display:block}.geo-infowindow-date{font-size:12px;color:var(--text-secondary, #86868b);margin-top:6px}.geo-infowindow-meta{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:6px}.geo-infowindow-btn{border:none;background:var(--accent-geo, #12b886);color:#fff;font-size:12px;padding:5px 12px;border-radius:14px;cursor:pointer;white-space:nowrap}.geo-infowindow-btn:hover{filter:brightness(1.08)}.geo-cluster-popup{padding:10px;background:var(--bg-primary, #fff);border-radius:var(--radius-sm, 10px);box-shadow:var(--shadow, 0 2px 12px rgba(0, 0, 0, .18));font-family:inherit;width:min(300px,70vw)}.geo-cluster-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.geo-cluster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:4px;max-height:280px;overflow-y:auto}.geo-cluster-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;cursor:pointer;background:#12b8861f}.geo-cluster-thumb:hover{outline:2px solid var(--accent-geo, #12b886)}.geo-cluster-popup .geo-infowindow-btn{width:100%;margin-top:8px}.geo-drawer-overlay.svelte-xk57j{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#00000047;cursor:pointer;z-index:20;animation:svelte-xk57j-gd-fade .18s ease}.geo-drawer.svelte-xk57j{position:absolute;top:0;right:0;bottom:0;width:min(400px,86%);background:var(--bg-primary);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000001f;display:flex;flex-direction:column;z-index:21;animation:svelte-xk57j-gd-slide-in .22s ease}@keyframes svelte-xk57j-gd-fade{0%{opacity:0}to{opacity:1}}@keyframes svelte-xk57j-gd-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.gd-header.svelte-xk57j{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.gd-header.svelte-xk57j h3:where(.svelte-xk57j){font-size:14px;font-weight:600;color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gd-header-actions.svelte-xk57j{display:flex;align-items:center;gap:8px;flex-shrink:0}.gd-close.svelte-xk57j{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease}.gd-close.svelte-xk57j:hover{background:var(--bg-hover);color:var(--text-primary)}.gd-body.svelte-xk57j{flex:1;overflow-y:auto;padding:16px}.gc-year-filter.svelte-xk57j{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm, 6px);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:inherit;cursor:pointer}.photo-grid.svelte-xk57j{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.photo-thumb.svelte-xk57j{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;cursor:pointer;transition:transform .15s}.photo-thumb.svelte-xk57j:hover{transform:scale(1.03)}.photo-skeleton.svelte-xk57j{width:100%;aspect-ratio:1 / 1;border-radius:8px;background:var(--bg-chip);animation:svelte-xk57j-pulse 1.5s infinite}@keyframes svelte-xk57j-pulse{0%,to{opacity:1}50%{opacity:.4}}.gc-empty.svelte-xk57j{display:flex;align-items:center;justify-content:center;height:100px;color:var(--text-muted);font-size:14px}.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}.mobile-view-toggle.svelte-1n46o8q{display:flex;gap:2px;margin-left:8px;flex-shrink:0}.mvt-btn.svelte-1n46o8q{display:flex;align-items:center;justify-content:center;width:34px;height:32px;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--text-secondary);cursor:pointer}.mvt-btn.active.svelte-1n46o8q{background:var(--bg-hover, rgba(128, 128, 128, .12));color:var(--accent)}.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}.static-title.svelte-1n46o8q{color:var(--text-primary);font-weight:600;font-size:15px}*,*: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)}
