@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(./nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(./nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(./nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(./nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}:root{--font:"IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif;--bg-primary:#161616;--bg-secondary:#262626;--bg-tertiary:#393939;--field:#262626;--bg-hover:#8d8d8d29;--bg-active:#8d8d8d66;--bg-selected:#8d8d8d3d;--bg-floating:#262626;--bg-inverse:#f4f4f4;--text-inverse:#161616;--text-normal:#f4f4f4;--text-strong:#fff;--text-secondary:#c6c6c6;--text-muted:#a8a8a8;--text-error:#ff8389;--icon-muted:#c6c6c6;--brand:#0f62fe;--brand-hover:#0050e6;--brand-active:#002d9c;--interactive:#4589ff;--link:#78a9ff;--focus:#fff;--focus-inset:#161616;--btn-secondary:#6f6f6f;--btn-secondary-hover:#606060;--btn-secondary-active:#393939;--danger:#da1e28;--danger-hover:#b81921;--danger-active:#750e13;--danger-text:#fa4d56;--support-success:#42be65;--support-warning:#f1c21b;--support-info:#4589ff;--support-error:#fa4d56;--notification-bg:#262626;--divider:#393939;--border-subtle:#525252;--border-strong:#6f6f6f;--header-shadow:0 1px 0 var(--divider);--shadow:#000c;--elevation:0 2px 6px var(--shadow);--overlay:#0009;--skeleton:#292929;--skeleton-shine:#393939;--scrollbar:#525252;--spacing-01:2px;--spacing-02:4px;--spacing-03:8px;--spacing-04:12px;--spacing-05:16px;--spacing-06:24px;--spacing-07:32px;--spacing-08:40px;--spacing-09:48px;--spacing-10:64px;--dur-fast-01:70ms;--dur-fast-02:.11s;--dur-moderate-01:.15s;--dur-moderate-02:.24s;--ease-standard:cubic-bezier(.2, 0, .38, .9);--ease-entrance:cubic-bezier(0, 0, .38, .9);--ease-exit:cubic-bezier(.2, 0, 1, .9);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f4f4f4;--bg-tertiary:#e0e0e0;--field:#f4f4f4;--bg-hover:#8d8d8d1f;--bg-active:#8d8d8d80;--bg-selected:#8d8d8d33;--bg-floating:#fff;--bg-inverse:#393939;--text-inverse:#fff;--text-normal:#161616;--text-strong:#161616;--text-secondary:#525252;--text-muted:#6f6f6f;--text-error:#da1e28;--icon-muted:#525252;--brand:#0f62fe;--interactive:#0f62fe;--link:#0f62fe;--focus:#0f62fe;--focus-inset:#fff;--btn-secondary:#393939;--btn-secondary-hover:#4c4c4c;--btn-secondary-active:#6f6f6f;--danger-text:#da1e28;--support-success:#24a148;--support-info:#0043ce;--support-error:#da1e28;--notification-bg:#f4f4f4;--divider:#e0e0e0;--border-subtle:#c6c6c6;--border-strong:#8d8d8d;--shadow:#0000004d;--skeleton:#e8e8e8;--skeleton-shine:#c6c6c6;--scrollbar:#c6c6c6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-primary);color:var(--text-normal);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.375}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--scrollbar);border-radius:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{grid-template-columns:240px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.main{background:var(--bg-primary);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.content{flex:1;min-height:0;padding:16px 16px 90px;overflow-y:auto}.loading{text-align:center;color:var(--text-muted);margin:60px 0}.primary-btn,.ghost-btn,.danger-btn{white-space:nowrap;height:32px;transition:background-color var(--dur-moderate-01);border:0;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.primary-btn:disabled{opacity:.5}.ghost-btn:disabled{opacity:.5}.danger-btn:hover{background:var(--danger-hover)}.icon-btn{width:32px;height:32px;color:var(--icon-muted);transition:background-color var(--dur-fast-02), color var(--dur-fast-02);background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn.small{width:24px;height:24px}.icon-btn:hover{background:var(--bg-hover);color:var(--text-normal)}.icon-btn.active{background:var(--bg-active);color:var(--text-strong)}.select,.text-input{background:var(--bg-tertiary);color:var(--text-normal);border:0;border-radius:0}.select{height:28px;padding:0 8px;font-size:13px}.text-input{width:100%;height:40px;padding:0 10px}textarea.text-input{resize:vertical;height:auto;padding:10px;line-height:1.4}.text-input.invalid{outline:1px solid var(--danger)}.field-label,.section-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:12px;font-weight:700;display:block}.field-error{min-height:16px;color:var(--danger-text);margin:4px 0 0;font-size:13px}.sidebar{background:var(--bg-secondary);flex-direction:column;min-height:0;display:flex}.sidebar-scrim{display:none}.sidebar-header{height:48px;box-shadow:var(--header-shadow);flex:none;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.sidebar-brand{align-items:center;gap:8px;min-width:0;display:flex}.sidebar-brand .logo{color:var(--text-strong);flex:none;display:block}.sidebar-title{font-family:"Nunito", var(--font);letter-spacing:.01em;color:var(--text-strong);font-size:18px;font-weight:800}.sidebar-close{display:none}.channels{flex:1;min-height:0;padding:8px 8px 12px;overflow-y:auto}.nav{flex-direction:column;gap:2px;padding-top:4px;display:flex}.nav-item{width:100%;min-width:0;height:34px;color:var(--icon-muted);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;padding:0 8px;font-weight:500;display:flex}.nav-item.active{background:var(--bg-active);color:var(--text-strong)}.nav-item svg{flex:none}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.category{justify-content:space-between;align-items:center;margin:16px 0 4px 2px;padding-right:4px;display:flex}.category-toggle{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:0;align-items:center;gap:2px;font-size:12px;font-weight:700;display:flex}.category-toggle:hover{color:var(--text-normal)}.category-toggle svg{transition:transform var(--dur-moderate-01)}.category-toggle.collapsed svg{transform:rotate(-90deg)}.album-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.album-empty{color:var(--text-muted);padding:6px 8px;font-size:13px;line-height:1.4}.album-row{border-radius:0;position:relative}.album-row.drop-target{background:color-mix(in srgb, var(--brand) 30%, transparent);box-shadow:0 0 0 2px var(--brand)}.album-actions{gap:0;display:none;position:absolute;top:5px;right:4px}.album-row:hover .album-actions,.album-row:focus-within .album-actions{display:flex}.album-row:hover .nav-count,.album-row:focus-within .nav-count{visibility:hidden}.user-panel{background:var(--bg-tertiary);flex:none;align-items:center;gap:8px;height:52px;padding:0 8px;display:flex}.user-text{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.storage{text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px;overflow:hidden}.channel-header{background:var(--bg-primary);height:48px;box-shadow:var(--header-shadow);z-index:2;flex:none;align-items:center;gap:8px;padding:0 16px;display:flex}.menu-btn{display:none}.channel-title{min-width:0;color:var(--text-strong);margin:0;font-size:16px;font-weight:600}.toolbar-title-text{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.channel-divider{background:var(--divider);flex:none;width:1px;height:24px;margin:0 8px}.count-pill{color:var(--text-normal);font-size:14px;font-weight:600}.count-label{color:var(--text-muted);margin-left:-4px;font-size:14px}.channel-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.search{background:var(--bg-tertiary);width:160px;height:28px;color:var(--text-muted);transition:width var(--dur-moderate-02);border-radius:0;align-items:center;gap:4px;padding:0 6px 0 8px;display:flex}.search:focus-within{width:240px}.search input{min-width:0;height:100%;color:var(--text-normal);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search input::placeholder{color:var(--text-muted)}.search input::-webkit-search-cancel-button{display:none}.search-clear{color:var(--text-muted);background:0 0;border:0;border-radius:0;padding:2px;display:inline-flex}.search-clear:hover{color:var(--text-normal)}.progress{background:var(--bg-tertiary);flex:none;height:4px;position:relative}.progress-bar{background:var(--brand);height:100%;transition:width var(--dur-moderate-02)}.progress-text{background:var(--bg-floating);box-shadow:var(--elevation);color:var(--text-muted);border-radius:0;padding:4px 10px;font-size:12px;position:absolute;top:10px;right:16px}.grid{gap:var(--gap,6px);flex-direction:column;display:flex}.row{gap:var(--gap,6px);display:flex}.tile{background:var(--bg-secondary);border-radius:0;flex:none;position:relative;overflow:hidden}.tile-open{background:0 0;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.tile-open img{object-fit:cover;width:100%;height:100%;animation:fade-in var(--dur-moderate-02);display:block}.tile-open img.sharp{position:absolute;inset:0}.tile.selected .tile-open img{opacity:.85}.tile-check,.tile-save{z-index:1;color:#fff;opacity:0;transition:opacity var(--dur-fast-02), background-color var(--dur-fast-02);justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:8px}.tile-check{background:#0006;border:2px solid #fff;border-radius:999px;width:26px;height:26px;left:8px}.tile-save{background:var(--brand);border:0;border-radius:999px;max-width:calc(100% - 52px);height:32px;padding:0 14px;font-size:14px;font-weight:700;right:8px}.tile-save:hover{background:var(--brand-hover)}.tile-save.saved{background:#0000009e}.tile-save-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile:hover .tile-check,.tile:hover .tile-save,.tile:focus-within .tile-check,.tile:focus-within .tile-save,.tile.selecting .tile-check{opacity:1}.tile.selecting .tile-save{display:none}.tile.selected .tile-check{border-color:var(--brand);background:var(--brand)}.empty{text-align:center;flex-direction:column;align-items:center;max-width:440px;margin:10vh auto 0;display:flex}.empty h2{color:var(--text-strong);margin:0 0 8px;font-size:20px;font-weight:600}.empty p{color:var(--text-muted);margin:0;line-height:1.5}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.dock{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:20px;left:16px;right:16px}.dock>*{pointer-events:auto}.selection-bar{background:var(--bg-floating);width:max-content;max-width:100%;box-shadow:var(--elevation), 0 0 0 1px var(--divider);animation:pop-in var(--dur-moderate-01);border-radius:0;align-items:center;gap:2px;padding:6px 8px;display:flex}.selection-count{white-space:nowrap;color:var(--text-strong);padding:0 6px 0 4px;font-size:14px;font-weight:600}.bar-sep{background:var(--divider);align-self:stretch;width:1px;margin:4px 6px}.bar-icon{width:36px;height:36px;color:var(--text-normal);transition:background-color var(--dur-fast-02), color var(--dur-fast-02);background:0 0;border:0;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bar-icon:hover:not(:disabled),.bar-icon.open{background:var(--bg-hover);color:var(--text-strong)}.bar-icon.danger{color:var(--danger-text)}.bar-icon.danger:hover:not(:disabled){background:#da1e2829}.bar-icon:disabled{opacity:.4;cursor:default}.bar-btn{white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.bar-btn:hover:not(:disabled){background:var(--bg-hover)}.bar-btn.danger{color:var(--danger-text)}.bar-btn:disabled{opacity:.5}.move-panel{width:230px;max-height:320px;overflow-y:auto}.popover-panel.top{top:auto;bottom:calc(100% + 8px)}.menu-item-label.muted{color:var(--text-muted);font-style:italic}.save-menu{z-index:200;background:var(--bg-floating);max-height:min(380px,100vh - 24px);color:var(--text-normal);box-shadow:var(--elevation), 0 0 0 1px var(--divider);animation:pop-in var(--dur-fast-02);flex-direction:column;padding:6px 0;display:flex;position:fixed}.save-menu-list{flex:1;min-height:0;overflow-y:auto}.save-menu-foot{border-top:1px solid var(--divider);margin-top:4px;padding-top:4px}.save-menu .menu-item{height:40px;padding:0 14px}.save-menu .menu-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.save-menu .menu-empty{margin:8px 14px}@media (width<=760px){.save-menu{max-height:70vh;padding-bottom:max(6px, env(safe-area-inset-bottom));bottom:0;left:0;right:0}}.menu-empty{color:var(--text-muted);margin:4px 8px 6px;font-size:12px;line-height:1.4}.drop-overlay{z-index:150;color:#fff;pointer-events:none;animation:fade-in var(--dur-fast-02);background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:18px;display:flex;position:fixed;inset:0}.drop-overlay svg{color:var(--brand)}.drop-overlay span{color:#ffffffb3;font-size:14px}.lightbox{z-index:100;color:#f2f3f5;animation:fade-in var(--dur-moderate-01);background:#0b0b0c;outline:0;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox .icon-btn{color:#ffffffbf}.lightbox .icon-btn:hover{color:#fff;background:#ffffff1f}.lightbox .icon-btn.active{color:#fff;background:#ffffff29}.lightbox-bar{align-items:center;gap:12px;padding:10px 16px;display:flex}.lightbox-counter{color:#fff9;font-variant-numeric:tabular-nums;font-size:13px}.lightbox-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.lightbox-actions{gap:2px;display:flex}.lightbox-body{flex:1;min-height:0;display:flex}.lightbox-stage{touch-action:none;flex:1;min-width:0;position:relative;overflow:hidden}.lightbox-image{object-fit:contain;cursor:zoom-in;-webkit-user-select:none;user-select:none;transform-origin:50%;will-change:transform;border-radius:0;max-width:calc(100% - 32px);max-height:calc(100% - 16px);margin:auto;position:absolute;inset:0}.lightbox-image.zoomed{cursor:grab}.lightbox-image.dragging{cursor:grabbing}.lightbox-image.loading{filter:blur(8px);cursor:progress}.lightbox-spinner{border:3px solid #fff3;border-top-color:var(--brand);border-radius:999px;width:32px;height:32px;margin:-16px 0 0 -16px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}.nav-arrow{z-index:2;color:#fff;width:44px;height:44px;transition:background-color var(--dur-fast-02);background:#00000080;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:-22px;display:inline-flex;position:absolute;top:50%}.nav-arrow:hover{background:#fff3}.nav-arrow.left{left:14px}.nav-arrow.right{right:14px}.lightbox-info{background:var(--bg-secondary);width:300px;color:var(--text-normal);flex:none;padding:16px;overflow-y:auto}.lightbox-info .text-input{background:var(--bg-tertiary)}.caption-field{margin-bottom:20px;display:block}.details{grid-template-columns:auto 1fr;gap:8px 14px;margin:0;font-size:14px;display:grid}.details dt{color:var(--text-muted)}.details dd{overflow-wrap:anywhere;min-width:0;margin:0}.dialog-scrim{z-index:200;background:var(--overlay);animation:fade-in var(--dur-fast-02);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-primary);width:min(440px,100%);box-shadow:0 0 0 1px var(--divider), 0 16px 32px #0006;animation:pop-in var(--dur-moderate-01);border-radius:0;flex-direction:column;padding:16px;display:flex}.dialog-icon{display:none}.dialog-title{color:var(--text-strong);overflow-wrap:anywhere;margin:0 0 8px;font-size:20px;font-weight:600;line-height:1.25}.dialog-message{overflow-wrap:anywhere;margin:0;line-height:1.4}.dialog-detail{color:var(--text-muted);margin:8px 0 0;font-size:13px}.dialog-actions{background:var(--bg-secondary);border-radius:0;justify-content:flex-end;gap:8px;margin:20px -16px -16px;padding:16px;display:flex}.toaster{z-index:300;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;top:60px;right:16px}.toast{background:var(--bg-floating);max-width:min(520px,100vw - 32px);box-shadow:var(--elevation), 0 0 0 1px var(--divider);pointer-events:auto;animation:pop-in var(--dur-moderate-01);border-radius:0;align-items:center;gap:8px;padding:10px 8px 10px 16px;display:flex}.toast-error{box-shadow:var(--elevation), 0 0 0 1px var(--danger)}.toast-message{overflow-wrap:anywhere;flex:1;min-width:0}.toast-action{color:var(--link);background:0 0;border:0;border-radius:0;padding:4px 8px;font-weight:600}.error-screen{text-align:center;background:var(--bg-primary);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;padding:24px;display:flex}.error-screen h1{color:var(--text-strong);margin:0;font-size:24px}.error-screen p{max-width:460px;color:var(--text-muted);margin:0;line-height:1.5}.error-screen .error-detail{overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:13px}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:90;width:min(300px,86vw);transition:transform var(--dur-moderate-02);position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.sidebar.open{transform:none}.sidebar-scrim{z-index:80;background:var(--overlay);animation:fade-in var(--dur-fast-02);display:block;position:fixed;inset:0}.sidebar-close,.menu-btn{display:inline-flex}.channel-header{padding:0 8px}.channel-divider,.count-label,.count-pill{display:none}.search,.search:focus-within{width:96px}.channel-tools{gap:6px}.select,.add-label{display:none}.primary-btn{padding:0 10px}.content{padding:10px 10px 90px}.lightbox-body{flex-direction:column}.lightbox-info{width:auto;max-height:45%}.lightbox-name{display:none}.toaster{align-items:stretch;left:10px;right:10px}}@media (hover:none){.tile-check,.tile-save{opacity:1}}.header-btn{background:var(--bg-tertiary);height:28px;color:var(--text-normal);white-space:nowrap;transition:background-color var(--dur-fast-02);border:0;border-radius:0;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.header-btn:hover{background:var(--bg-active)}.category-label{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);padding-left:14px;font-size:12px;font-weight:700}.input-row{align-items:center;gap:8px;display:flex}.input-row .text-input{flex:1;min-width:0}.input-suffix{color:var(--text-muted);flex:none}.field-hint{min-height:18px;color:var(--text-muted);margin:6px 0 0;font-size:13px}.name-field{margin-bottom:16px}.album-select{width:100%;height:30px}.shortcuts{width:min(480px,100%);max-height:88vh;overflow-y:auto}.shortcuts-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.shortcuts-head .dialog-title{margin:0}.shortcut-list{margin:0 0 14px}.shortcut-row{justify-content:space-between;align-items:center;gap:12px;padding:5px 0;display:flex}.shortcut-row dt{flex:none;gap:4px;display:flex}.shortcut-row dd{text-align:right;color:var(--text-muted);margin:0}kbd{background:var(--bg-tertiary);min-width:22px;box-shadow:inset 0 -1px 0 var(--divider);text-align:center;border-radius:0;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:600}@media (width<=760px){.tool-label{display:none}}.backup-page{max-width:760px;margin:0 auto;padding:8px 0 24px}.backup-page code{background:var(--bg-tertiary);border-radius:0;padding:1px 5px;font-size:.9em}.backup-lead{color:var(--text-strong);margin:8px 0 20px;font-size:16px;line-height:1.55}.backup-actions{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:32px;display:grid}.backup-card{background:var(--bg-secondary);border-radius:0;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.backup-card h2{color:var(--text-strong);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.backup-card p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.backup-card .backup-meta{color:var(--text-normal);font-weight:600}.backup-card .backup-last.never{color:var(--support-warning)}.backup-card .primary-btn,.backup-card .ghost-btn{margin-top:auto}.backup-card p:last-of-type{margin-bottom:8px}.backup-section{margin-bottom:28px}.backup-section h2{color:var(--text-strong);margin:0 0 8px;font-size:17px;font-weight:600}.backup-section h3{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;font-size:12px;font-weight:700}.backup-section p{margin:0;line-height:1.6}.backup-section ul,.backup-section ol{margin:0;padding-left:22px}.backup-section li{line-height:1.6}.backup-section li+li{margin-top:6px}.backup-columns{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.backup-columns>div{background:var(--bg-secondary);border-radius:0;padding:12px 14px}.backup-columns ul{padding-left:18px}.zoom-value{font-variant-numeric:tabular-nums;min-width:46px;height:24px;color:var(--text-normal);background:0 0;border:0;border-radius:0;padding:0 6px;font-size:12px;font-weight:600}.zoom-value:hover:not(:disabled){background:var(--bg-hover)}.zoom-value:disabled{color:var(--text-muted);cursor:default}.tile.compact .tile-check{border-width:1.5px;width:20px;height:20px;top:4px;left:4px}.tile.compact .tile-save{width:24px;height:24px;padding:0;top:4px;right:4px}.tile.tiny .tile-check{width:16px;height:16px;top:3px;left:3px}.tile.tiny .tile-save{width:20px;height:20px;padding:0;top:3px;right:3px}.tile.tiny .tile-save svg{width:12px;height:12px}.content{touch-action:pan-x pan-y}.popover{display:inline-flex;position:relative}.popover-text{min-width:0;display:inline-flex}.sort-label{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.popover-badge{background:var(--brand);color:#fff;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:16px}.popover-panel{z-index:60;background:var(--bg-floating);min-width:220px;color:var(--text-normal);box-shadow:var(--elevation), 0 0 0 1px var(--divider);animation:pop-in var(--dur-fast-02);border-radius:0;padding:6px;position:absolute;top:calc(100% + 6px)}.popover-panel.end{right:0}.popover-panel.start{left:0}.menu-title{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:4px 8px 6px;font-size:12px;font-weight:700}.menu-group{color:var(--text-muted);margin:8px 8px 2px;font-size:11px;font-weight:600}.menu-item{width:100%;color:var(--text-normal);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:7px 8px;font-size:14px;display:flex}.menu-item.chosen{color:var(--text-strong);font-weight:600}.menu-item.chosen>svg:first-child{color:var(--brand)}.menu-item-label{flex:1}.menu-item-hint{color:var(--text-muted);font-size:12px;font-weight:400}.zoom-popover{width:270px;padding:8px 10px 10px}.zoom-control .menu-title{margin-left:0}.zoom-row{align-items:center;gap:4px;display:flex}.zoom-row.foot{justify-content:space-between;gap:10px;margin-top:8px}.zoom-slider{min-width:0;accent-color:var(--brand);cursor:pointer;flex:1;margin:0 4px}.zoom-control .icon-btn:disabled{opacity:.35;cursor:default}.zoom-hint{text-align:right;color:var(--text-muted);font-size:11px;line-height:1.3}@media (width<=760px){.sort-label{display:none}.popover-panel{width:auto;position:fixed;top:52px;left:8px;right:8px}.popover-panel.top{top:auto;bottom:88px}}.lightbox .popover-panel{--bg-floating:#1d1e22;--bg-hover:#ffffff1a;--bg-tertiary:#2a2c31;--text-normal:#e6e7ea;--text-strong:#fff;--text-muted:#9a9ea6;--icon-muted:#b5bac1;--divider:#ffffff1f;--btn-secondary:#3a3c42}.lightbox .icon-btn.open{color:#fff;background:#ffffff29}.lightbox .icon-btn.wide{font-variant-numeric:tabular-nums;gap:6px;width:auto;padding:0 8px;font-size:12px;font-weight:600}.lightbox .icon-btn:disabled{opacity:.35;cursor:default}.lightbox .icon-btn.small{color:var(--icon-muted)}.viewer-zoom-panel,.slideshow-panel{width:280px;padding:8px 10px 10px}.viewer-zoom-panel .menu-title,.slideshow-panel .menu-title{margin-left:0}.viewer-zoom-row{justify-content:center;align-items:center;gap:10px;padding-bottom:6px;display:flex}.viewer-zoom-percent{text-align:center;font-variant-numeric:tabular-nums;min-width:64px;color:var(--text-strong);font-size:15px;font-weight:600}.viewer-hint{text-align:left;margin:8px 0 0}.primary-btn.full{width:100%}.slideshow-panel .menu-group{margin-left:0}.chips{flex-wrap:wrap;gap:6px;padding:4px 0 6px;display:flex}.chip{border:1px solid var(--divider);height:28px;color:var(--text-normal);font-variant-numeric:tabular-nums;background:0 0;border-radius:999px;padding:0 11px;font-size:13px}.chip:hover{background:var(--bg-hover)}.chip[aria-pressed=true]{border-color:var(--brand);background:var(--brand);color:#fff}.seconds-field,.check-row{align-items:center;gap:8px;padding:6px 0;font-size:14px;display:flex}.seconds-field .text-input{width:78px;height:30px;padding:0 8px}.check-row input{accent-color:var(--brand)}.show-progress-track{z-index:3;pointer-events:none;height:3px;position:absolute;top:0;left:0;right:0}.show-progress{background:var(--brand);transform-origin:0;height:100%;animation:linear forwards show-progress}@keyframes show-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.lightbox:fullscreen{background:#000}@media (width<=760px){.hide-mobile{display:none!important}.lightbox-bar{gap:4px;padding:6px 8px}.viewer-zoom-panel,.slideshow-panel{width:auto}}:root{--btn-disabled:#8d8d8d4d;--field-02:#393939;--tertiary:#fff;--tertiary-hover-bg:#f4f4f4;--tertiary-hover-text:#161616;--info-inverse:#0043ce;--success-inverse:#24a148;--warning-inverse:#f1c21b;--error-inverse:#da1e28;--link-inverse:#0f62fe;--warning-icon-toast:#8e6a00;--warning-icon-inline:#f1c21b}:root[data-theme=light]{--btn-disabled:#c6c6c6;--field-02:#fff;--tertiary:#0f62fe;--tertiary-hover-bg:#0050e6;--tertiary-hover-text:#fff;--info-inverse:#78a9ff;--success-inverse:#42be65;--warning-inverse:#f1c21b;--error-inverse:#fa4d56;--link-inverse:#78a9ff;--warning-icon-toast:#f1c21b;--warning-icon-inline:#8e6a00}body{letter-spacing:.16px;font-size:14px;line-height:1.28572}.field-label,.section-label,.category-toggle,.category-label,.menu-title,.menu-group,.backup-section h3{letter-spacing:.32px;text-transform:none;color:var(--text-secondary);font-size:12px;font-weight:400;line-height:1.33333}:where(button,select,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:-2px}input[type=range]:focus-visible{outline-offset:2px}.primary-btn:focus-visible,.danger-btn:focus-visible,.ghost-btn:focus-visible{box-shadow:inset 0 0 0 1px var(--focus), inset 0 0 0 2px var(--focus-inset)}.skip-link{top:-100px;left:var(--spacing-05);z-index:500;padding:var(--spacing-03) var(--spacing-05);background:var(--brand);color:#fff;text-decoration:none;position:fixed}.skip-link:focus{top:var(--spacing-03)}.main:focus{outline:none}.primary-btn,.ghost-btn,.danger-btn,.tertiary-btn{justify-content:space-between;align-items:center;gap:var(--spacing-05);height:40px;min-height:40px;padding:0 var(--spacing-05);letter-spacing:.16px;white-space:nowrap;transition:background-color var(--dur-fast-02) var(--ease-standard), color var(--dur-fast-02) var(--ease-standard);border:1px solid #0000;border-radius:0;font-size:14px;font-weight:400;display:inline-flex}.primary-btn{background:var(--brand);color:#fff}.primary-btn:hover:not(:disabled){background:var(--brand-hover)}.primary-btn:active:not(:disabled){background:var(--brand-active)}.ghost-btn{background:var(--btn-secondary);color:#fff}.ghost-btn:hover:not(:disabled){background:var(--btn-secondary-hover)}.tertiary-btn{border-color:var(--tertiary);color:var(--tertiary);background:0 0}.danger-btn{background:var(--danger);color:#fff}.danger-btn:hover:not(:disabled){background:var(--danger-hover)}.danger-btn:active:not(:disabled){background:var(--danger-active)}.primary-btn:disabled,.ghost-btn:disabled,.danger-btn:disabled{background:var(--btn-disabled);color:#8d8d8d;cursor:not-allowed}.tertiary-btn:disabled{border-color:var(--btn-disabled);color:#8d8d8d;cursor:not-allowed}.channel-tools .primary-btn,.channel-tools .danger-btn{height:32px;min-height:32px}.header-btn{gap:var(--spacing-03);height:32px;padding:0 var(--spacing-04);transition:background-color var(--dur-fast-02) var(--ease-standard);background:0 0;border-radius:0;font-size:14px;font-weight:400}.header-btn:hover,.header-btn.open{background:var(--bg-hover)}.header-btn.open{background:var(--bg-selected)}.icon-btn{border-radius:0}.select,.text-input{border:0;border-bottom:1px solid var(--border-strong);background:var(--field);color:var(--text-normal);letter-spacing:.16px;border-radius:0;font-size:14px}.select{height:32px;padding:0 var(--spacing-03)}.text-input{height:40px;padding:0 var(--spacing-05)}.dialog .text-input,.lightbox-info .text-input,.popover-panel .text-input,.lightbox-info .select{background:var(--field-02)}.text-input.invalid{outline:2px solid var(--support-error);outline-offset:-2px;border-bottom-color:#0000}.field-error{letter-spacing:.32px;color:var(--text-error);font-size:12px}.search{gap:var(--spacing-03);width:220px;height:32px;padding:0 var(--spacing-02) 0 var(--spacing-04);border-bottom:1px solid var(--border-strong);background:var(--field);color:var(--icon-muted);border-radius:0}.search:focus-within{outline:2px solid var(--focus);outline-offset:-2px;border-bottom-color:#0000;width:280px}.search-icon{flex:none}.search input{font-size:14px}.search-clear{border-radius:0;justify-content:center;align-items:center;width:24px;height:24px;padding:0}.app{grid-template-columns:256px minmax(0,1fr)}.sidebar-title{font-size:17px}.channels{padding:var(--spacing-03) 0 var(--spacing-04)}.nav{gap:0;padding-top:0}.nav-item{gap:var(--spacing-04);height:32px;padding:0 var(--spacing-05);color:var(--text-secondary);border-radius:0;font-weight:400}.nav-item:hover{background:var(--bg-hover);color:var(--text-normal)}.nav-item.active{background:var(--bg-selected);color:var(--text-strong);box-shadow:inset 3px 0 0 var(--interactive);font-weight:600}.category{margin:var(--spacing-06) var(--spacing-05) var(--spacing-02);padding-right:0}.category-label{padding-left:0}.album-list{gap:0}.album-empty{padding:var(--spacing-03) var(--spacing-05);letter-spacing:.32px;font-size:12px}.album-actions{top:var(--spacing-02);right:var(--spacing-03)}.user-panel{height:56px;padding:0 var(--spacing-05);border-top:1px solid var(--divider);background:var(--bg-secondary)}.nav-count{letter-spacing:.32px;font-weight:400}@keyframes pop-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.popover-panel{padding:var(--spacing-02) 0;background:var(--bg-floating);box-shadow:var(--elevation);animation:pop-in var(--dur-fast-02) var(--ease-entrance)}.popover-panel.top{animation-name:pop-in-up}.menu-title,.menu-group{margin:var(--spacing-03) var(--spacing-05) var(--spacing-02)}.menu-item{gap:var(--spacing-04);height:40px;padding:0 var(--spacing-05);border-radius:0}.menu-item:hover,.menu-item:focus-visible{background:var(--bg-hover)}.zoom-popover,.viewer-zoom-panel,.slideshow-panel{padding:var(--spacing-03) var(--spacing-05) var(--spacing-04)}.zoom-popover .menu-title,.viewer-zoom-panel .menu-title,.slideshow-panel .menu-title{margin:var(--spacing-03) 0 var(--spacing-03)}.zoom-scale{margin:0 var(--spacing-07);letter-spacing:.32px;color:var(--text-muted);justify-content:space-between;font-size:12px;display:flex}.zoom-input{align-items:center;gap:var(--spacing-02);display:flex}.zoom-input .text-input{width:72px;height:32px;padding:0 var(--spacing-03)}.zoom-value{height:32px;padding:0 var(--spacing-03);color:var(--link);border-radius:0;font-size:14px;font-weight:400}.zoom-value:disabled{color:var(--text-muted)}.zoom-hint{margin:var(--spacing-03) 0 0;text-align:left}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{z-index:400;padding:var(--spacing-02) var(--spacing-04);background:var(--bg-inverse);color:var(--text-inverse);letter-spacing:.32px;white-space:nowrap;pointer-events:none;box-shadow:var(--elevation);animation:fade-in var(--dur-fast-02) var(--ease-entrance);font-size:12px;line-height:16px;position:absolute}.tooltip:after{content:"";background:var(--bg-inverse);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.tooltip.bottom{top:calc(100% + var(--spacing-03))}.tooltip.bottom:after{top:-4px}.tooltip.top{bottom:calc(100% + var(--spacing-03))}.tooltip.top:after{bottom:-4px}.tooltip.center{left:50%;translate:-50%}.tooltip.center:after{left:calc(50% - 4px)}.tooltip.start{left:0}.tooltip.start:after{left:var(--spacing-04)}.tooltip.end{right:0}.tooltip.end:after{right:var(--spacing-04)}.toaster{gap:var(--spacing-03);top:56px}.toast{--accent:var(--info-inverse);align-items:flex-start;gap:var(--spacing-04);width:320px;max-width:calc(100vw - 32px);padding:var(--spacing-04) var(--spacing-02) var(--spacing-04) var(--spacing-04);border-left:3px solid var(--accent);background:var(--bg-inverse);color:var(--text-inverse);box-shadow:var(--elevation);animation:toast-in var(--dur-moderate-02) var(--ease-entrance);border-radius:0}.toast-success{--accent:var(--success-inverse)}.toast-warning{--accent:var(--warning-inverse)}.toast-warning .notice-icon{color:var(--warning-icon-toast)}.toast-error{--accent:var(--error-inverse);box-shadow:var(--elevation)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.toast .notice-icon{color:var(--accent);flex:none}.toast-message{padding-top:1px}.notice-title{margin:0;font-size:14px;font-weight:600;line-height:18px}.notice-body{margin:var(--spacing-02) 0 0;font-size:14px;line-height:18px}.toast .icon-btn,.toast .icon-btn:hover{color:var(--text-inverse)}.toast .icon-btn:hover{background:#8d8d8d33}.toast-action{margin:var(--spacing-03) 0 0;color:var(--link-inverse);border-radius:0;padding:0;font-size:14px;font-weight:400}.toast-action:hover{text-decoration:underline}.inline-notification{--accent:var(--support-info);align-items:flex-start;gap:var(--spacing-04);margin:0 0 var(--spacing-05);padding:var(--spacing-04) var(--spacing-05);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-primary));display:flex}.inline-notification.success{--accent:var(--support-success)}.inline-notification.warning{--accent:var(--support-warning)}.inline-notification.warning .notice-icon{color:var(--warning-icon-inline)}.inline-notification.error{--accent:var(--support-error)}.inline-notification .notice-icon{color:var(--accent);flex:none}.dialog{width:min(480px,100%);padding:var(--spacing-05) var(--spacing-05) 0;background:var(--bg-secondary);box-shadow:var(--elevation);animation:pop-in var(--dur-moderate-02) var(--ease-entrance)}.dialog-title{margin:0 0 var(--spacing-03);letter-spacing:0;font-size:20px;font-weight:400;line-height:28px}.dialog-message{font-size:14px;line-height:20px}.dialog-detail{letter-spacing:.32px;font-size:12px}.dialog-actions{margin:var(--spacing-07) calc(var(--spacing-05) * -1) 0;background:0 0;gap:0;padding:0}.field-error+.dialog-actions{margin-top:var(--spacing-05)}.dialog-actions>button{height:64px;min-height:64px;padding:var(--spacing-05);flex:50%;align-items:flex-start}.dialog-actions .ghost-btn{background:var(--btn-secondary)}.dialog-actions .ghost-btn:hover{background:var(--btn-secondary-hover);text-decoration:none}.empty{max-width:420px;margin-top:12vh}.empty-icon{margin-bottom:var(--spacing-06);color:var(--text-muted)}.empty h2{margin:0 0 var(--spacing-03);letter-spacing:0;font-size:20px;font-weight:400;line-height:28px}.empty p{color:var(--text-secondary);font-size:14px;line-height:20px}.skeleton-grid{gap:var(--spacing-02);flex-wrap:wrap;display:flex}.skeleton-tile{background:linear-gradient(90deg, var(--skeleton) 0%, var(--skeleton-shine) 50%, var(--skeleton) 100%);background-size:200% 100%;flex:180px;height:180px;animation:1.6s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.tile.selected{outline:2px solid var(--interactive);outline-offset:-2px}.selection-bar{height:48px;padding:0 var(--spacing-03) 0 0;background:var(--brand);color:#fff;box-shadow:var(--elevation);border-radius:0}.selection-count{padding:0 var(--spacing-04) 0 var(--spacing-02);color:#fff;font-weight:400}.bar-sep{margin:var(--spacing-03) var(--spacing-03);background:#fff6}.bar-icon,.bar-btn{color:#fff;border-radius:0;height:48px}.bar-icon{width:48px}.bar-icon:hover:not(:disabled),.bar-icon.open,.bar-btn:hover:not(:disabled){background:var(--brand-hover);color:#fff}.bar-icon:active:not(:disabled),.bar-btn:active:not(:disabled){background:var(--brand-active)}.bar-icon.danger,.bar-btn.danger{color:#fff}.bar-icon.danger:hover:not(:disabled),.bar-btn.danger:hover:not(:disabled){background:var(--danger)}.selection-bar :focus-visible{outline-color:#fff}.nav-arrow{background:#161616cc;border-radius:0;width:48px;height:48px;margin-top:-24px}@media (width<=760px){.app{grid-template-columns:minmax(0,1fr)}.search,.search:focus-within{width:96px}.channel-tools .primary-btn{padding:0 var(--spacing-03)}.bar-icon{width:36px}.bar-sep{margin:var(--spacing-04) var(--spacing-02)}.selection-count{padding-right:var(--spacing-03)}.search input::placeholder{color:#0000}.toast{width:auto}}@media (width<=380px){.header-btn{padding:0 var(--spacing-03)}.search,.search:focus-within{width:72px}.channel-tools{gap:var(--spacing-02)}.count-word{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.selection-count{padding:0 var(--spacing-03)}}.album-grid{align-items:flex-start;gap:var(--spacing-06) var(--spacing-04);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.album-card{flex:none;min-width:0;position:relative}.album-open{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.album-cover{background:var(--bg-tertiary);max-width:100%;display:block;position:relative;overflow:hidden}.cover-photo{display:block;position:absolute;inset:0;overflow:hidden}.cover-photo img{object-fit:contain;width:100%;height:100%;transition:transform var(--dur-moderate-02) var(--ease-standard);position:absolute;inset:0}.album-open:hover .cover-photo img{transform:scale(1.03)}.album-cover-empty{color:var(--text-muted);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.album-info{gap:var(--spacing-01);min-width:0;padding:var(--spacing-03) 0 0;flex-direction:column;display:flex}.album-open:hover .album-name{text-decoration:underline}.album-name{color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:18px;overflow:hidden}.album-meta{letter-spacing:.32px;color:var(--text-secondary);font-size:12px;line-height:16px}.album-card-actions{top:var(--spacing-03);right:var(--spacing-03);max-width:calc(100% - var(--spacing-05));flex-wrap:wrap;justify-content:flex-end;gap:2px;display:none;position:absolute}.album-card:hover .album-card-actions,.album-card:focus-within .album-card-actions{display:flex}.card-icon{color:#fff;cursor:pointer;width:32px;height:32px;transition:background-color var(--dur-fast-02) var(--ease-standard);background:#161616cc;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.card-icon:hover{background:#161616f2}.card-icon:focus-visible{outline-color:#fff}@media (hover:none){.album-card-actions{display:flex}}.album-grid .skeleton-card{background:linear-gradient(90deg, var(--skeleton) 0%, var(--skeleton-shine) 50%, var(--skeleton) 100%);background-size:200% 100%;flex:200px;height:220px;animation:1.6s linear infinite shimmer;display:block}@media (width<=520px){.card-icon{width:28px;height:28px}.album-grid .skeleton-card{flex-basis:140px;height:160px}}.breadcrumb{color:var(--text-secondary);flex:none;align-items:center;display:flex}.crumb{height:32px;padding:0 var(--spacing-03);color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px}.crumb:hover{background:var(--bg-hover);text-decoration:underline}.notice-text{flex:1;min-width:0}.notice-actions{gap:var(--spacing-03);margin-top:var(--spacing-04);flex-wrap:wrap;display:flex}.notice-actions .tertiary-btn,.notice-actions .ghost-btn{height:32px;min-height:32px}.notice-close{width:32px;height:32px;margin:calc(var(--spacing-03) * -1) calc(var(--spacing-03) * -1) 0 0;color:var(--text-normal);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.notice-close:hover{background:var(--bg-hover)}.nav-dot{background:var(--interactive);border-radius:50%;flex:none;width:8px;height:8px}.user-panel{height:auto;min-height:64px;padding:var(--spacing-04) var(--spacing-05)}.user-text{gap:var(--spacing-02)}.storage{color:var(--text-normal);font-size:14px;line-height:18px}.storage-note{align-items:center;gap:var(--spacing-02);letter-spacing:.32px;color:var(--text-secondary);font-size:12px;line-height:16px;display:flex}.storage-note svg{flex:none}.meter{background:color-mix(in srgb, var(--text-normal) 15%, transparent);height:4px;display:block}.meter>span{background:var(--interactive);height:100%;display:block}.album-cover{position:relative}.cover-badge{bottom:var(--spacing-03);left:var(--spacing-03);color:#fff;background:#161616cc;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute}.card-icon:disabled{opacity:.4;cursor:not-allowed}.ghost-btn.compact{height:32px;min-height:32px;padding:0 var(--spacing-04);font-size:13px}.crumb{align-items:center;display:inline-flex}.crumb-back{display:none}@media (width<=520px){.crumb{width:32px;color:var(--text-normal);justify-content:center;padding:0}.crumb-back{display:block}.crumb-text,.crumb-sep,.backup-reminder .notice-body{display:none}.backup-reminder .notice-actions{margin-top:var(--spacing-03)}}.details .ghost-btn.compact{width:100%;height:auto;min-height:32px;padding:var(--spacing-02) var(--spacing-04);text-align:left;white-space:normal;justify-content:flex-start;line-height:1.3}.about-now{align-items:flex-start;gap:var(--spacing-04);margin-bottom:var(--spacing-07);padding:var(--spacing-05);background:var(--bg-secondary);flex-direction:column;display:flex}.about-stats{gap:var(--spacing-05);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;margin:0;display:grid}.about-stats dt{letter-spacing:.32px;color:var(--text-secondary);font-size:12px;line-height:16px}.about-stats dd{margin:var(--spacing-02) 0 0;color:var(--text-strong);font-size:24px;font-weight:300;line-height:32px}.about-stats dd.never{color:var(--warning-icon-inline);font-size:20px}.about-storage{color:var(--text-secondary);margin:0;font-size:14px;line-height:20px}.about-after{margin-top:var(--spacing-04)}.about-shortcuts{margin-top:var(--spacing-05)}.about-faq details{border-top:1px solid var(--divider)}.about-faq details:last-child{border-bottom:1px solid var(--divider)}.about-faq summary{justify-content:space-between;align-items:center;gap:var(--spacing-04);min-height:48px;padding:var(--spacing-03) var(--spacing-02);color:var(--text-strong);cursor:pointer;font-size:14px;font-weight:600;line-height:20px;list-style:none;display:flex}.about-faq summary::-webkit-details-marker{display:none}.about-faq summary:after{content:"+";flex:none;font-size:20px;font-weight:300;line-height:1}.about-faq details[open] summary:after{content:"−"}.about-faq summary:hover{background:var(--bg-hover)}.about-faq details p{padding:var(--spacing-02) var(--spacing-02) var(--spacing-05);color:var(--text-secondary);margin:0;font-size:14px}.about-credits{margin-top:var(--spacing-04)}.backup-section a{color:var(--link)}.cover-field{margin-top:var(--spacing-05)}.cover-picker{gap:var(--spacing-02);max-height:232px;margin-top:var(--spacing-03);grid-template-columns:repeat(auto-fill,minmax(72px,1fr));padding:2px;display:grid;overflow-y:auto}.cover-choice{justify-content:center;align-items:center;gap:var(--spacing-02);aspect-ratio:1;background:var(--bg-hover);color:var(--text-normal);cursor:pointer;border:0;flex-direction:column;padding:0;font-size:12px;display:flex;position:relative;overflow:hidden}.cover-choice img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.cover-choice:hover{outline:1px solid var(--border-strong);outline-offset:-1px}.cover-choice[aria-checked=true]{outline:2px solid var(--interactive);outline-offset:-2px}.cover-choice:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.cover-check{top:var(--spacing-02);right:var(--spacing-02);background:var(--interactive);color:#fff;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute}.cover-hint{margin:var(--spacing-03) 0 0;letter-spacing:.32px;color:var(--text-secondary);font-size:12px;line-height:16px}.dialog{max-height:calc(100vh - var(--spacing-06));overflow-y:auto}.split-button{display:inline-flex}.split-more{height:32px;padding:0 var(--spacing-03);background:var(--brand);color:#fff;cursor:pointer;transition:background-color var(--dur-fast-02) var(--ease-standard);border:0;border-left:1px solid #fff6;justify-content:center;align-items:center;display:inline-flex}.split-more:hover,.split-more.open{background:var(--brand-hover)}.split-more:active{background:var(--brand-active)}.split-more:focus-visible{outline-offset:-4px;outline-color:#fff}.add-menu{min-width:232px}.backup-folder,.backup-folder-link{grid-column:1/-1}.folder-tree{background:var(--bg-secondary);color:var(--text-normal);margin:0 0 12px;padding:12px 16px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.6;overflow-x:auto}.folder-back{margin-top:12px}.backup-folder-actions{gap:var(--spacing-03);margin-top:var(--spacing-02);flex-wrap:wrap;display:flex}.backup-card .check-row{margin-top:var(--spacing-02);color:var(--text-normal)}.folder-groups{max-height:200px;margin:var(--spacing-04) 0;border-top:1px solid var(--divider);padding:0;list-style:none;overflow-y:auto}.folder-groups li{justify-content:space-between;gap:var(--spacing-04);padding:var(--spacing-03) 0;border-bottom:1px solid var(--divider);font-size:14px;line-height:18px;display:flex}.folder-groups li span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.folder-groups li span:last-child{color:var(--text-secondary);flex:none}.dialog .check-row{margin:0 0 var(--spacing-03)}.storage-note{min-width:0}.folder-note{align-items:flex-start}.folder-note svg{margin-top:2px}.folder-note span{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}button.storage-note{color:var(--link);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}button.storage-note:hover{text-decoration:underline}.lightbox-actions{margin-left:auto}.bar-label{display:none}@media (width>=761px){.bar-icon.has-label{gap:var(--spacing-03);width:auto;padding:0 var(--spacing-04)}.bar-label{white-space:nowrap;font-size:14px;display:inline}}@media (width>=521px){.shortcut-row{justify-content:start;column-gap:var(--spacing-05);grid-template-columns:180px minmax(0,1fr);display:grid}.shortcut-row dd{text-align:left}}@media (width<=760px){.channel-header{position:relative}.channel-tools{gap:2px}.header-btn{padding:0 10px}.search:not(:focus-within){background:0 0;border-bottom-color:#0000;justify-content:center;width:40px;padding:0;position:relative}.search:not(:focus-within) input{opacity:0;width:100%;position:absolute;inset:0}.search:not(:focus-within) .search-clear{display:none}.search.has-query:not(:focus-within){color:var(--interactive);box-shadow:inset 0 -2px 0 var(--interactive)}.search:focus-within{z-index:5;width:auto;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.search:focus-within input::placeholder{color:var(--text-muted)}.toaster{top:auto;bottom:72px}}@media (pointer:coarse){.icon-btn{width:40px;height:40px}.icon-btn.small{width:32px;height:32px}.header-btn,.split-more,.channel-tools .primary-btn,.channel-tools .danger-btn,.search,.search:focus-within{height:40px}.tile-check:before,.tile-save:before{content:"";position:absolute;inset:-9px}.nav-item{height:44px}}.folder-compare>.current{box-shadow:inset 0 3px 0 var(--interactive)}.folder-compare h3{letter-spacing:0;text-transform:none;color:var(--text-strong);margin-bottom:8px;font-size:14px;font-weight:600}.folder-page .backup-columns+p{margin-top:16px}.folder-page .backup-section p+p{margin-top:10px}.grid.masonry{display:block;position:relative}.masonry .tile{border-radius:8px}.view-popover{width:300px}.layout-options{gap:var(--spacing-02);margin-bottom:var(--spacing-04);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.layout-option{align-items:center;gap:var(--spacing-02);padding:var(--spacing-03) var(--spacing-02);border:1px solid var(--border-subtle,var(--divider));color:var(--text-secondary);text-align:center;background:0 0;flex-direction:column;display:flex}.layout-option:hover{background:var(--bg-hover);color:var(--text-normal)}.layout-option.chosen{border-color:var(--interactive);box-shadow:inset 0 0 0 1px var(--interactive);background:var(--bg-selected);color:var(--text-strong)}.layout-name{font-size:13px;font-weight:600}.layout-hint{color:var(--text-muted);font-size:11px;line-height:1.25}.lock-screen{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.lock-card{background:var(--bg-secondary);flex-direction:column;width:min(380px,100%);padding:28px 28px 24px;display:flex}.lock-brand{align-items:center;gap:8px;margin-bottom:20px;display:flex}.lock-icon{color:var(--icon-muted);margin-bottom:8px}.lock-title{color:var(--text-strong);margin:0;font-size:20px;font-weight:600}.lock-text{color:var(--text-muted);margin:4px 0 16px;font-size:14px}.lock-submit{width:100%;margin-top:4px}.lock-forgot{align-self:center;margin-top:8px}.busy-bar{background:var(--bg-tertiary);height:4px;margin:16px 0 8px}.busy-bar>div{background:var(--interactive);height:100%;transition:width var(--dur-fast-02)}.password-page .password-field,.password-page .text-input,.password-page .select{width:100%}.password-page .backup-card form,.password-page .backup-card{gap:4px}.password-page .backup-card .primary-btn,.password-page .backup-card .tertiary-btn,.password-page .backup-card .danger-btn{margin-top:8px}.password-done{color:var(--support-success,#24a148);margin:4px 0 0;font-size:14px}.sidebar-header-actions{align-items:center;gap:2px;display:flex}.password-page .text-input,.lock-card .text-input{background:var(--field-02,var(--bg-tertiary))}.lock-forgot{color:var(--link);background:0 0;text-decoration:underline}.lock-forgot:hover:not(:disabled){background:0 0;text-decoration:none}.sidebar-collapse{display:none}@media (width>=761px){.sidebar-collapse{display:inline-flex}.app.menu-collapsed{grid-template-columns:56px minmax(0,1fr)}.sidebar.collapsed .sidebar-brand,.sidebar.collapsed .category,.sidebar.collapsed .album-list,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-count,.sidebar.collapsed .user-text{display:none}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:flex-start;gap:4px;height:auto;padding:8px 0}.sidebar.collapsed .sidebar-header-actions{flex-direction:column;gap:4px}.sidebar.collapsed .nav{padding:6px 0}.sidebar.collapsed .nav+.nav{border-top:1px solid var(--divider)}.sidebar.collapsed .nav-item{justify-content:center;padding:0;position:relative}.sidebar.collapsed .nav-dot{position:absolute;top:7px;right:12px}.sidebar.collapsed .user-panel{flex-direction:column;justify-content:center;gap:4px;height:auto;padding:8px 0}}.lock-view{flex-direction:column;width:min(380px,100%);margin:10vh auto 0;display:flex}.lock-view .lock-icon,.lock-view .lock-title,.lock-view .lock-text{text-align:center;align-self:center}.unlock-form{flex-direction:column;display:flex}.backup-section .album-locks{margin:0;padding:0;list-style:none}.album-lock-row{background:var(--bg-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 4px;padding:10px 16px;display:flex}.backup-section .album-lock-row+.album-lock-row{margin-top:0}.album-lock-icon{color:var(--icon-muted);flex:none}.album-lock-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);flex:140px;font-weight:600;overflow:hidden}.album-lock-state{color:var(--text-muted);flex:none;font-size:13px}.album-lock-state.on{color:var(--text-normal)}.album-lock-actions{flex-wrap:wrap;gap:4px;display:flex}@media (width>=761px){.app.menu-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar.collapsed .nav{padding:8px 0}.sidebar.collapsed .nav-item,.sidebar.collapsed .sidebar-header .icon-btn,.sidebar.collapsed .user-panel .icon-btn{width:48px;height:48px;box-shadow:none;color:var(--text-secondary);background:0 0;border-radius:14px}.sidebar.collapsed .nav-item{margin:2px auto}.sidebar.collapsed .nav-item svg,.sidebar.collapsed .sidebar-header .icon-btn svg,.sidebar.collapsed .user-panel .icon-btn svg{width:22px;height:22px}.sidebar.collapsed .nav-item:hover,.sidebar.collapsed .sidebar-header .icon-btn:hover,.sidebar.collapsed .user-panel .icon-btn:hover{background:var(--bg-hover);color:var(--text-strong)}.sidebar.collapsed .nav-item.active{color:var(--text-strong);background:0 0}.sidebar.collapsed .nav-item.active:hover{background:var(--bg-hover)}.sidebar.collapsed .nav-item:focus-visible,.sidebar.collapsed .sidebar-header .icon-btn:focus-visible,.sidebar.collapsed .user-panel .icon-btn:focus-visible{outline:2px solid var(--interactive);outline-offset:0}.sidebar.collapsed .nav-dot{top:8px;right:8px}}.rail-tip{z-index:500;background:var(--bg-inverse);color:var(--text-inverse);white-space:nowrap;pointer-events:none;animation:fade-in var(--dur-fast-02);border-radius:10px;padding:8px 14px;font-size:14px;font-weight:700;position:fixed;transform:translateY(-50%);box-shadow:0 6px 18px #00000059}.channel-title{flex-shrink:0}.channel-tools{min-width:0}.search{flex:0 220px;min-width:110px}.search:focus-within{flex-basis:280px}.search input::placeholder{text-overflow:ellipsis}@media (width>=761px) and (width<=1240px){.sort-btn .sort-label,.view-btn .sort-label{display:none}}@media (width>=761px) and (width<=960px){.channel-header .channel-divider,.channel-header .count-pill,.channel-header .count-label{display:none}.search{min-width:56px}}.search-label{display:none}@media (width>=761px){.search:not(:focus-within):not(.has-query){width:auto;min-width:0;padding:0 var(--spacing-04);color:var(--text-normal);cursor:pointer;transition:background-color var(--dur-fast-02) var(--ease-standard);background:0 0;border-bottom-color:#0000;flex:none;font-size:14px;position:relative}.search:not(:focus-within):not(.has-query):hover{background:var(--bg-hover)}.search:not(:focus-within):not(.has-query) .search-label{display:inline}.search:not(:focus-within):not(.has-query) input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}}@media (width>=761px) and (width<=960px){.search:not(:focus-within):not(.has-query){padding:0 var(--spacing-04)}.search:not(:focus-within):not(.has-query) .search-label{display:none}}:root{--photo-radius:8px}:root[data-corners=square]{--photo-radius:0}.tile,.masonry .tile,.album-cover{border-radius:var(--photo-radius)}.view-toggle{align-items:center;gap:var(--spacing-04);margin:var(--spacing-02) 0 0;padding:var(--spacing-03) var(--spacing-05);color:var(--text-normal);cursor:pointer;font-size:14px;display:flex}.view-toggle:hover{background:var(--bg-hover)}.view-toggle input{width:16px;height:16px;accent-color:var(--interactive);margin:0}.popover-panel:focus{outline:none}.lightbox-bar{background:#151517;flex:none;padding:8px 16px;box-shadow:0 1px #ffffff14}.lightbox-body{gap:12px;position:relative}.lightbox-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.lightbox-main .lightbox-stage{min-height:0}.lightbox-body.with-info{padding-right:12px}.lightbox-image{border-radius:var(--photo-radius)}.filmstrip{flex:none;align-items:center;gap:8px;padding:8px 16px 12px;display:flex}.filmstrip-scroll{scrollbar-width:none;flex:1;min-width:0;overflow:auto hidden}.filmstrip-scroll::-webkit-scrollbar{display:none}.filmstrip-track{height:64px;position:relative}.filmstrip-item{border-radius:var(--photo-radius);opacity:.65;width:84px;height:60px;transition:opacity var(--dur-fast-02), border-color var(--dur-fast-02);background:#1d1e22;border:2px solid #0000;padding:0;position:absolute;top:2px;overflow:hidden}.filmstrip-item:hover{opacity:1}.filmstrip-item.current{border-color:var(--brand);opacity:1}.filmstrip-item img{object-fit:cover;width:100%;height:100%;display:block}.filmstrip-arrow{color:#fffc;background:#ffffff14;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.filmstrip-arrow:hover{color:#fff;background:#ffffff2e}.lightbox-info{border:1px solid var(--divider);border-radius:var(--photo-radius);width:320px;margin:12px 0;padding:4px 16px 16px}.lightbox-info .name-field,.lightbox-info .caption-field{margin-top:16px}.lightbox-info .caption-field{margin-bottom:16px}.info-section{border-top:1px solid var(--divider);padding:16px 0 0}.info-section+.info-section{margin-top:16px}.info-section .section-label{margin-bottom:10px;display:block}.info-albums{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.info-albums li{border-radius:var(--photo-radius);background:var(--bg-tertiary);align-items:center;gap:10px;min-width:0;padding:8px 10px;font-size:14px;display:flex}.info-albums li svg{color:var(--brand);flex:none}.info-albums li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.info-empty{color:var(--text-muted);margin:0 0 12px;font-size:14px}.info-actions{flex-wrap:wrap;gap:8px;display:flex}.info-actions .ghost-btn{align-items:center;gap:6px;display:inline-flex}@media (width<=760px){.filmstrip{display:none}.lightbox-body{gap:0}.lightbox-body.with-info{padding-right:0}.lightbox-info{border-width:1px 0 0;border-radius:0;width:auto;margin:0}}.filmstrip-track{margin:0 auto}.lightbox.clean .lightbox-bar,.lightbox.clean .filmstrip,.lightbox.clean .nav-arrow,.lightbox.clean .lightbox-info,.lightbox.clean .show-progress-track{display:none}.lightbox.clean .lightbox-body,.lightbox.clean .lightbox-body.with-info{gap:0;padding:0}.lightbox.clean:not(.peek),.lightbox.clean:not(.peek) .lightbox-image{cursor:none}.clean-exit{z-index:6;color:#fff;opacity:0;pointer-events:none;height:36px;transition:opacity var(--dur-fast-02);background:#000000a6;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;top:16px;right:16px}.lightbox.peek .clean-exit,.clean-exit:focus-visible{opacity:1;pointer-events:auto}.clean-exit:hover{background:#3c3c40d9}.clean-hint{z-index:6;color:#fff;white-space:nowrap;pointer-events:none;background:#000000b8;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;animation:3.5s both clean-hint;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}@keyframes clean-hint{0%{opacity:0;transform:translate(-50%,8px)}8%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.clean-hint{animation:none}}.lightbox:focus,.lightbox:focus-visible{outline:none}@media (width<=760px){.search:not(:focus-within){flex:none;min-width:0}.channel-title{flex-shrink:1}.channel-tools{min-width:auto}}@media (width>=761px) and (width<=860px){.channel-tools .primary-btn .add-label{display:none}}.nav-item.active .nav-count,.nav-item[aria-current=page] .nav-count,.layout-option.chosen .layout-hint{color:var(--text-normal)}:root{--tab-h:56px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}.tab-bar,.sheet-root,.sheet-scrim{display:none}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@media (width<=760px){.sidebar,.sidebar-scrim,.menu-btn,.channel-header .split-more{display:none!important}.app{padding-top:var(--safe-t)}.tab-bar{z-index:30;height:calc(var(--tab-h) + var(--safe-b));padding:0 4px var(--safe-b);background:var(--bg-secondary);box-shadow:0 -1px 0 var(--divider);grid-template-columns:1fr 1fr 1fr;align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-item{height:var(--tab-h);color:var(--text-muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.tab-item.active{color:var(--text-strong)}.tab-icon{display:inline-flex;position:relative}.tab-dot{background:var(--brand);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg-secondary);border-radius:999px;position:absolute;top:-2px;right:-4px}.tab-dot.inline{flex:none;position:static}.sheet-root{z-index:400;display:block;position:fixed;inset:0}.sheet-scrim{z-index:340;animation:fade-in var(--dur-fast-02);background:#0000008c;display:block;position:fixed;inset:0}.sheet-root .sheet-scrim{z-index:0;position:absolute}.sheet{z-index:1;max-height:86vh;padding:8px 8px calc(12px + var(--safe-b));background:var(--bg-floating);animation:sheet-up var(--dur-moderate-01) var(--ease-entrance);border-radius:20px 20px 0 0;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 32px #0006}.sheet-handle{background:var(--border-strong);opacity:.6;border-radius:999px;width:40px;height:4px;margin:2px auto 8px;display:block}.sheet-list{margin:0;padding:0;list-style:none}.sheet-row{width:100%;min-height:64px;color:var(--text-normal);text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:16px;padding:8px 12px;font-size:16px;display:flex}.sheet-row:active,.sheet-row.active{background:var(--bg-selected)}.sheet-row svg{flex:none}.sheet-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.sheet-row-text strong{color:var(--text-strong);font-size:16px;font-weight:600}.sheet-row-text span{color:var(--text-muted);font-size:13px}.sheet-count{background:var(--bg-tertiary);text-align:center;border-radius:999px;min-width:28px;padding:2px 8px;font-size:13px;font-weight:600}.theme-row{border-top:1px solid var(--divider);border-radius:0 0 12px 12px;margin-top:4px}.popover-panel,.popover-panel.top{z-index:350;width:auto;max-height:82vh;padding:12px 12px calc(16px + var(--safe-b));animation:sheet-up var(--dur-moderate-01) var(--ease-entrance);border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -8px 32px #0006}.popover-panel:before{content:"";background:var(--border-strong);opacity:.6;border-radius:999px;width:40px;height:4px;margin:-4px auto 10px;display:block}.popover-panel .menu-title{margin:4px 8px 8px;font-size:13px}.popover-panel .menu-item{border-radius:10px;height:52px;padding:0 12px;font-size:16px}.view-popover,.sort-panel,.move-panel,.save-menu{width:auto}.layout-option{min-height:92px}.save-menu{z-index:350;max-height:78vh;padding:12px 8px calc(12px + var(--safe-b));border-radius:20px 20px 0 0}.save-menu:before{content:"";background:var(--border-strong);opacity:.6;border-radius:999px;width:40px;height:4px;margin:-2px auto 10px;display:block}.save-menu .menu-item{height:56px;font-size:16px}.channel-header{gap:4px;height:56px;padding:0 6px 0 16px}.channel-title{font-size:20px;font-weight:700}.channel-tools{gap:0}.channel-tools .header-btn,.channel-tools .popover>.header-btn{border-radius:999px;justify-content:center;width:44px;height:44px;padding:0}.header-btn .tool-label{display:none}.search:not(:focus-within){border-radius:999px;width:44px;height:44px}.channel-tools .primary-btn,.channel-tools .danger-btn{height:44px}.content{padding:6px 6px calc(var(--tab-h) + var(--safe-b) + 24px)}.dock{gap:0;bottom:0;left:0;right:0}.selection-bar{width:100%;max-width:none;height:auto;padding:6px 4px calc(6px + var(--safe-b));border-radius:0;justify-content:space-between;box-shadow:0 -2px 16px #0000004d}.selection-bar .bar-sep{display:none}.selection-bar .selection-count{padding:0 10px 0 2px;font-size:15px;font-weight:700}.selection-bar .selection-count .count-word{display:none}.selection-bar .popover{flex:1;display:flex}.selection-bar .bar-icon,.selection-bar .bar-btn{height:56px}.selection-bar .bar-icon.has-label{flex-direction:column;flex:1;gap:3px;width:auto;padding:0 4px}.selection-bar .bar-label{font-size:11px;font-weight:600;display:block}.selection-bar .bar-btn{flex:1;justify-content:center;font-size:14px}.backup-reminder{margin-bottom:8px;padding:10px 6px 10px 12px}.backup-reminder .notice-body,.backup-reminder .notice-actions button:nth-child(2){display:none}.backup-reminder .notice-text{flex-direction:column;gap:6px;display:flex}.backup-reminder .notice-title{font-size:14px;line-height:1.3}.backup-reminder .notice-actions{margin:0}.backup-reminder .notice-actions .tertiary-btn{min-height:36px;padding:0 12px;font-size:14px}.toaster{top:auto;right:12px;bottom:calc(var(--tab-h) + var(--safe-b) + 12px);align-items:stretch;left:12px}.toast{width:auto;max-width:none}input,select,textarea,.search input,.text-input,.select{font-size:16px}.text-input,.select{height:48px}textarea.text-input{height:auto}.primary-btn,.ghost-btn,.tertiary-btn,.danger-btn{min-height:44px;font-size:15px}.ghost-btn.compact{min-height:40px}.icon-btn{min-width:44px;min-height:44px}.icon-btn.small{min-width:36px;min-height:36px}.backup-page,.about-page,.page-body{font-size:15px}}@media (pointer:coarse){.tile-save{display:none}.tile-check{opacity:0;pointer-events:none}.tile.selecting .tile-check{opacity:1;pointer-events:auto}.tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}.lightbox-dock,.lightbox.clean .lightbox-dock{display:none}@media (width<=760px){.lightbox-bar.phone{height:calc(52px + var(--safe-t));padding:var(--safe-t) 4px 0;gap:0}.lightbox-bar.phone .lightbox-counter{text-align:center;flex:1;font-size:15px}.lightbox-bar.phone .lightbox-actions{gap:0;margin-left:0}.lightbox-bar.phone .icon-btn{width:44px;height:44px}.lightbox-dock{padding:6px 8px calc(6px + var(--safe-b));background:#151517;flex:none;gap:4px;display:flex;box-shadow:0 -1px #ffffff14}.dock-btn{color:#ffffffd1;background:0 0;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:0;font-size:11px;font-weight:600;display:flex}.dock-btn.active{color:#fff;background:#ffffff24}.dock-btn.danger{color:#ff8389}.dock-btn:active{background:#ffffff1a}.lightbox .nav-arrow{display:none}.lightbox-info{max-height:52%}.lightbox-image{max-width:100%;max-height:100%}.dialog-scrim{align-items:flex-start;padding:10vh 12px 12px}.dialog{border-radius:16px;width:100%;padding:20px 16px 16px}.dialog-title{font-size:20px;font-weight:700}.dialog-message{font-size:16px;line-height:24px}.dialog-detail{font-size:14px}.dialog-actions{gap:8px;margin:20px 0 0}.dialog-actions>button{border-radius:12px;justify-content:center;align-items:center;height:52px;min-height:52px;padding:0 12px;font-size:16px;font-weight:600}.empty{margin-top:6vh;padding:0 12px}.empty h2{font-size:22px}.empty p{font-size:15px;line-height:1.5}.empty-actions{flex-direction:column;align-items:stretch;gap:10px;width:100%}.empty-actions .primary-btn,.empty-actions .tertiary-btn{border-radius:12px;justify-content:center;width:100%;min-height:52px;font-size:16px}.content{overscroll-behavior-y:contain}button,a,[role=button]{-webkit-tap-highlight-color:transparent}}@media (width<=900px) and (height<=480px) and (orientation:landscape){:root{--tab-h:48px}.lightbox-dock .dock-btn span{display:none}.lightbox-dock .dock-btn{min-height:44px}}@media (width<=760px){.notice-close{width:44px;height:44px}.backup-reminder .notice-actions .tertiary-btn{min-height:44px}.zoom-control .icon-btn,.zoom-control .icon-btn.small{min-width:44px;min-height:44px}.zoom-control .text-input,.zoom-control .zoom-value{min-height:44px}input[type=range]{height:32px}.selection-bar .bar-icon:not(.has-label){width:44px}.view-toggle{min-height:48px}.view-toggle input{width:22px;height:22px}}@media (hover:none){.tooltip{display:none!important}}@media (pointer:coarse){.card-icon{width:40px;height:40px}.album-card-actions{gap:4px}}@media (pointer:coarse) and (height<=480px){.sidebar-collapse{display:none}}.search-back{display:none}@media (width<=760px){.search:focus-within{z-index:5;background:var(--bg-primary);width:auto;height:auto;box-shadow:0 1px 0 var(--divider);border-bottom-color:#0000;border-radius:0;outline:none;align-items:center;gap:2px;padding:0 8px 0 4px;display:flex;position:absolute;inset:0;transform:none}.search:focus-within .search-icon{display:none}.search:focus-within .search-back{width:44px;height:44px;color:var(--text-strong);background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.search:focus-within input{opacity:1;width:auto;height:44px;font-size:17px;position:static}.search:focus-within .search-clear{width:44px;height:44px;display:inline-flex}.album-grid.uniform{gap:18px 12px}.album-grid.uniform .cover-photo img{object-fit:cover}.album-card.with-more .album-info{padding-right:34px}.album-more{width:44px;height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;bottom:-2px;right:-2px}.album-more:active{background:var(--bg-hover)}.album-name{font-size:15px}.album-meta{font-size:13px}.sheet-title{text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);margin:0 12px 6px;font-size:15px;font-weight:700;overflow:hidden}.sheet-row.danger,.sheet-row.danger .sheet-row-text strong{color:var(--danger-text)}.sheet-row:disabled{opacity:.4}.layout-name{font-size:14px}.layout-hint{font-size:12px}.zoom-control.simple{border-top:1px solid var(--divider);margin-top:6px;padding-top:6px}.zoom-simple-head{justify-content:space-between;align-items:center;display:flex}.zoom-simple-head .menu-title{margin:0 8px}.zoom-reset{min-height:44px;color:var(--interactive);background:0 0;border:0;padding:0 8px;font-size:15px;font-weight:600}.zoom-reset:disabled{color:var(--text-muted);opacity:.6}.zoom-control.simple .zoom-slider{width:calc(100% - 16px);margin:0 8px;display:block}.zoom-scale.words{color:var(--text-muted);justify-content:space-between;margin:0 8px 4px;font-size:13px;display:flex}input[type=range]{appearance:none;background:0 0}input[type=range]::-webkit-slider-runnable-track{background:var(--border-strong);border-radius:3px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;border:3px solid var(--bg-floating);background:var(--brand);border-radius:999px;width:28px;height:28px;margin-top:-11px;box-shadow:0 1px 4px #0006}input[type=range]::-moz-range-track{background:var(--border-strong);border-radius:3px;height:6px}input[type=range]::-moz-range-thumb{border:3px solid var(--bg-floating);background:var(--brand);border-radius:999px;width:22px;height:22px}.view-toggle{flex-direction:row-reverse;justify-content:space-between;min-height:52px;font-size:16px}.view-toggle input{appearance:none;background:var(--border-strong);width:50px;height:30px;transition:background-color var(--dur-fast-02);border-radius:999px;flex:none;position:relative}.view-toggle input:after{content:"";width:24px;height:24px;transition:transform var(--dur-fast-02);background:#fff;border-radius:999px;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000059}.view-toggle input:checked{background:var(--brand)}.view-toggle input:checked:after{transform:translate(20px)}.channel-header{z-index:auto}.channel-tools .header-btn,.channel-tools .popover>.header-btn,.search:not(:focus-within){width:48px;height:48px}.channel-tools .header-btn svg,.search:not(:focus-within) .search-icon{width:24px;height:24px}.channel-header{height:60px}.channel-tools .split-button{border-radius:999px;margin-left:4px;overflow:hidden}.channel-tools .primary-btn{border-radius:999px;height:40px;padding:0 16px;font-size:14px;font-weight:600}.channel-tools .primary-btn:not(.danger-btn) svg{display:none}.channel-tools .primary-btn .add-label{display:inline}}@media (width<=340px){.channel-tools .primary-btn .add-label{display:none}.channel-tools .primary-btn:not(.danger-btn) svg{display:inline}}@media (width<=400px){.channel-header{padding:0 2px 0 14px}.channel-tools .header-btn,.channel-tools .popover>.header-btn,.search:not(:focus-within){width:44px;height:44px}.channel-tools .split-button{margin-left:2px}.channel-tools .primary-btn{padding:0 10px;font-size:13px}.channel-title{font-size:19px}}.sidebar-albums{display:none}.app.photo-dragging .sidebar:not(.collapsed) .sidebar-albums{display:block}.app.photo-dragging .sidebar:not(.collapsed) .album-list{max-height:55vh;overflow-y:auto}.legal-page .legal-part{border-top:1px solid var(--divider);margin:32px 0 4px;padding-top:16px;font-size:24px}.legal-page h3{color:var(--text-strong);margin:0 0 6px;font-size:16px;font-weight:600}.legal-page .backup-section{margin-top:18px}.legal-toc{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.legal-page a{color:var(--interactive)}:root{--font:"Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg-primary:#0d1218;--bg-header:#10161d;--bg-sidebar:#141a22;--bg-secondary:#181f29;--bg-tertiary:#1b232f;--field:#181f29;--bg-hover:#cbdaed12;--bg-active:#cbdaed21;--bg-selected:#1e314d;--bg-floating:#1a222d;--bg-inverse:#e9eff8;--text-inverse:#0d1218;--text-normal:#d5e1f0;--text-strong:#fff;--text-secondary:#cbdaed;--text-muted:#9eb0c6;--text-error:#ff8a96;--icon-muted:#b5c3d5;--brand:#1e6cf5;--brand-hover:#1a5fe0;--brand-active:#164fb8;--interactive:#4a8dff;--link:#6ba3ff;--focus:#4a8dff;--focus-inset:#0d1218;--btn-secondary:#212b3a;--btn-secondary-hover:#29354a;--btn-secondary-active:#31405a;--danger:#e5484d;--danger-hover:#cf3a3f;--danger-active:#a92b30;--danger-text:#ff7b85;--notification-bg:#181f29;--divider:#1f2631;--border-subtle:#29323e;--border-strong:#3a4657;--header-shadow:none;--shadow:#0009;--elevation:0 12px 32px #00000080;--overlay:#02050aa8;--skeleton:#151c26;--skeleton-shine:#1e2733;--scrollbar:#2c3648;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--photo-radius:12px;--info-inverse:#1e6cf5;--link-inverse:#1e6cf5;--warning-icon-toast:#8e6a00}:root[data-theme=light]{--bg-primary:#f3f6fa;--bg-header:#f3f6fa;--bg-sidebar:#fff;--bg-secondary:#fff;--bg-tertiary:#ebf0f7;--field:#fff;--bg-hover:#1e3c6e0f;--bg-active:#1e3c6e1f;--bg-selected:#e0eafd;--bg-floating:#fff;--bg-inverse:#141a22;--text-inverse:#fff;--text-normal:#1a2432;--text-strong:#0d1218;--text-secondary:#46566b;--text-muted:#62728a;--text-error:#d62839;--icon-muted:#56667d;--brand:#1e6cf5;--brand-hover:#1a5fe0;--brand-active:#164fb8;--interactive:#2070fd;--link:#1b62e0;--focus:#2070fd;--focus-inset:#fff;--btn-secondary:#e6edf8;--btn-secondary-hover:#dae4f4;--btn-secondary-active:#c9d7ee;--danger-text:#d62839;--notification-bg:#fff;--divider:#e1e7ef;--border-subtle:#d3dbe7;--border-strong:#aab7c9;--shadow:#1428502e;--elevation:0 12px 32px #14285029;--overlay:#0a142873;--skeleton:#e7edf6;--skeleton-shine:#dae3f0;--scrollbar:#c8d2e2;--info-inverse:#6ba3ff;--link-inverse:#6ba3ff;--warning-icon-toast:#f1c21b}body{letter-spacing:0;font-size:15px}.primary-btn,.ghost-btn,.tertiary-btn,.danger-btn,.header-btn,.split-button,.bar-btn,.text-input,.select,.search,.zoom-value,.toast-action,.progress-text,.backup-page code,.icon-btn,.bar-icon,.search-clear,.menu-item,.nav-item,.album-row,.theme-row{border-radius:var(--radius-sm)}.popover-panel,.selection-bar,.toast,.inline-notification,.backup-card,.backup-columns>div{border-radius:var(--radius-md)}.dialog{border-radius:var(--radius-lg)}.primary-btn,.danger-btn{font-weight:700}.ghost-btn,.tertiary-btn,.header-btn{font-weight:600}.tertiary-btn{border:1px solid var(--border-strong);color:var(--text-strong);background:0 0}.tertiary-btn:hover:not(:disabled){background:var(--bg-hover)}.text-input,.select{border:1px solid var(--border-subtle);background:var(--field)}.text-input:focus,.select:focus{border-color:var(--interactive);outline:2px solid color-mix(in srgb, var(--interactive) 35%, transparent);outline-offset:0}.popover-panel{border:1px solid var(--divider);box-shadow:var(--elevation);padding:8px}.menu-item{height:42px}.menu-item.chosen{background:var(--bg-selected)}.toast,.inline-notification{box-shadow:var(--elevation);overflow:hidden}.backup-card,.backup-columns>div,.about-now{border:1px solid var(--divider);border-radius:var(--radius-md);background:var(--bg-secondary)}.about-stats{border-radius:var(--radius-md)}.meter{border-radius:999px;height:6px;overflow:hidden}.meter>span{border-radius:999px}.sheet,.popover-panel,.save-menu{border-color:var(--divider)}.sidebar{background:var(--bg-sidebar)}@media (width>=761px){.app{grid-template-columns:264px minmax(0,1fr)}.sidebar{border-right:1px solid var(--divider)}.sidebar-header{height:76px;box-shadow:none;padding:0 20px 0 22px}.sidebar-title{font-size:21px;font-weight:800}.channels{padding:4px 12px 16px}.sidebar:not(.collapsed) .nav-item{border-radius:var(--radius-sm);height:46px;color:var(--text-secondary);gap:14px;padding:0 14px;font-size:15px;font-weight:600}.sidebar:not(.collapsed) .nav-item:hover{background:var(--bg-hover);color:var(--text-strong)}.sidebar:not(.collapsed) .nav-item.active{background:var(--bg-selected);color:var(--text-strong);box-shadow:none;font-weight:700}.sidebar:not(.collapsed) .nav-item.active svg{color:var(--text-strong)}.nav-count{font-size:13px;font-weight:600}.category{margin:24px 14px 8px}.category-label{letter-spacing:.06em;font-size:12px;font-weight:700}.user-panel{background:0 0;min-height:76px;padding:14px 20px}.channel-header{background:var(--bg-header);height:76px;box-shadow:none;gap:12px;padding:0 28px}.channel-title{letter-spacing:-.01em;color:var(--text-strong);font-size:26px;font-weight:800}.channel-divider{display:none}.count-pill,.count-label{color:var(--text-muted);font-size:15px;font-weight:600}.count-pill{margin-left:4px}.channel-tools{gap:10px}.header-btn,.search,.channel-tools .primary-btn,.channel-tools .danger-btn{height:44px}.header-btn,.search:not(:focus-within):not(.has-query){border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-normal);padding:0 16px}.header-btn:hover,.header-btn.open,.search:not(:focus-within):not(.has-query):hover{border-color:var(--border-subtle);background:var(--bg-tertiary)}.channel-tools .primary-btn{padding:0 20px;font-size:15px}.content{padding:8px 28px 32px}.selection-bar{height:56px;box-shadow:var(--elevation);padding:0 10px 0 4px}}.tile{border-radius:var(--photo-radius)}.dialog{border:1px solid var(--divider);background:var(--bg-secondary)}@media (width>=761px){.dialog{padding:28px 28px 24px}.dialog-title{font-size:22px;font-weight:800}.dialog-actions{justify-content:flex-end;gap:10px;margin:24px 0 0}.dialog-actions>button{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;height:44px;min-height:44px;padding:0 22px}}.tab-bar{background:var(--bg-sidebar)}.ghost-btn,.dialog-actions .ghost-btn,.backup-card .ghost-btn{background:var(--btn-secondary);color:var(--text-strong)}.ghost-btn:hover:not(:disabled),.dialog-actions .ghost-btn:hover{background:var(--btn-secondary-hover);color:var(--text-strong)}.ghost-btn:active:not(:disabled){background:var(--btn-secondary-active)}.tertiary-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-strong)}:is(.primary-btn:has(>svg),.ghost-btn:has(>svg),.danger-btn:has(>svg),.tertiary-btn:has(>svg)){flex-direction:row}.ghost-btn:disabled,.tertiary-btn:disabled{color:var(--text-muted);opacity:.6}.split-button{align-items:stretch;display:inline-flex}.split-button>.popover{display:flex}.split-button .primary-btn{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.split-button .split-more{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:1px solid #ffffff47;align-self:stretch;width:40px;height:auto;min-height:40px;padding:0}@media (width>=761px){.split-button .split-more{height:44px}}.layout-option,.card-icon,.tooltip,.chip,.zoom-scale+.zoom-row .zoom-value{border-radius:var(--radius-sm)}.tooltip{letter-spacing:0;padding:6px 12px;font-size:13px;font-weight:600}.sort-panel{width:320px}.sort-panel .menu-item-label,.menu-item-label{white-space:nowrap}.lightbox{color:#e6edf7;background:#070b10}.lightbox-bar,.lightbox-dock{background:#0d1218}.lightbox .popover-panel{--bg-floating:#141a22;--bg-tertiary:#1e2836;--btn-secondary:#263243}.lightbox-dock{box-shadow:0 -1px #ffffff12}.lightbox-bar{box-shadow:0 1px #ffffff12}@media (width>=761px) and (width<=1560px){.channel-tools .tool-label{display:none}.channel-tools{gap:8px}.header-btn,.search:not(:focus-within):not(.has-query){padding:0 13px}.channel-header.has-selection .sort-label{display:none}.search:focus-within{flex-basis:220px}}@media (width>=761px) and (width<=1440px){.channel-header .count-label{display:none}}@media (width>=761px) and (width<=1100px){.selection-bar .bar-label{display:none}.selection-bar .bar-icon.has-label{width:40px;padding:0}}@media (width<=760px){.selection-bar .bar-btn{white-space:normal;text-align:center;min-width:0;padding:0 6px;font-size:13px;line-height:1.15}}@media (width>=761px) and (width<=1000px){.channel-header.has-selection .channel-tools .primary-btn .add-label{display:none}}@media (width>=761px) and (width<=900px){.channel-header{gap:8px;padding:0 16px}.channel-title{font-size:22px}}a.nav-item,a.sheet-row,a.tertiary-btn{text-decoration:none}a.sheet-row{color:var(--text-normal)}.prerender{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;margin:0 auto;padding:12vh 24px 24px;display:flex}.prerender h1{color:var(--text-strong);margin:0;font-size:26px;font-weight:800;line-height:1.25}.prerender p{color:var(--text-secondary);margin:0;font-size:16px;line-height:1.5}.prerender ul{margin:0;padding:0;list-style:none}.prerender li{margin:6px 0}.prerender a{color:var(--link)}.empty{max-width:580px}.empty-art{width:min(300px,66vw);margin:0 auto 22px;line-height:0}.empty-art svg{width:100%;height:auto;display:block;overflow:visible}.empty h2{letter-spacing:-.01em;color:var(--text-strong);font-size:30px;font-weight:800;line-height:1.2}.empty p{max-width:480px;color:var(--text-secondary);font-size:16px;line-height:1.6}.empty-actions{gap:14px;margin-top:28px}.empty-actions .primary-btn,.empty-actions .tertiary-btn{border-radius:14px;gap:10px;height:52px;min-height:52px;padding:0 26px;font-size:16px;font-weight:700}.empty-actions .tertiary-btn{border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-strong);justify-content:center}.empty-actions .tertiary-btn:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg-tertiary)}.empty-actions .empty-link{width:auto;height:44px;min-height:44px;color:var(--link);background:0 0;border-color:#0000;flex:0 0 100%;margin:0 auto;font-weight:600}.empty-actions .empty-link:hover:not(:disabled){background:var(--bg-hover);border-color:#0000}.empty .empty-note{max-width:420px;color:var(--text-muted);margin-top:18px;font-size:14px;line-height:1.5}@media (width<=760px){.empty{margin-top:3vh}.empty h2{font-size:26px}.empty-actions{gap:10px}.empty-actions .empty-link{flex-basis:auto;width:100%;margin:0}}.content{scrollbar-gutter:stable}
