.gallery,.uploader{max-width:620px;margin:0 auto}.center-link{text-align:center;margin-top:var(--s-6)}.picker{position:relative;display:block;margin-top:var(--s-5);padding:var(--s-6) var(--s-4);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .15s ease,background .15s ease}.picker:focus-within,.picker:hover{border-color:var(--link);background:var(--tint)}.picker.drag{border-style:solid;border-color:var(--link);background:color-mix(in srgb,var(--accent) 14%,transparent)}.picker-icon{width:56px;height:56px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-ink);border:1px solid var(--line);background:var(--tint)}.picker-title{display:block;font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.2;margin:var(--s-4) 0 var(--s-1)}.picker-sub{display:block;font-size:15px;color:var(--text-dim)}.picker-sub .drop-hint{display:none}@media (pointer:fine){.picker-sub .drop-hint{display:block}}.progress-summary{margin-top:var(--s-5);text-align:center}.progress-count{font-size:15px;color:var(--text-dim);margin-bottom:var(--s-2)}.progress-count .num{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-count .failed{color:var(--danger)}.bar{height:4px;border-radius:2px;background:var(--line-soft);overflow:hidden;margin-top:var(--s-2)}.bar>span{display:block;height:100%;width:0;background:var(--link);transition:width .2s ease}.bar.overall{margin:0 auto;max-width:320px}.filelist{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-gap:var(--s-2);gap:var(--s-2)}.fileitem{display:flex;align-items:center;gap:var(--s-3);min-width:0;padding:var(--s-2) var(--s-3);border:1px solid var(--line-soft)}.fileitem,.thumb{border-radius:var(--radius)}.thumb{width:44px;height:44px;flex:none;object-fit:cover;background:var(--line-soft)}.thumb.video{display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}.fileinfo{flex:1 1;min-width:0}.filename{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filestatus{font-size:14px;color:var(--text-dim)}.filestatus.done{color:var(--success)}.filestatus.error{color:var(--danger)}.remove{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:var(--text-dim);border-radius:var(--radius)}.remove:hover{color:var(--danger)}.done-count{margin-top:var(--s-2);color:var(--accent-ink);font-weight:500}.gallery-status{text-align:center;color:var(--text-dim);min-height:1.6em;margin-bottom:var(--s-5)}.gallery-alert{margin-bottom:var(--s-4)}.gallery-loading{display:flex;align-items:center;justify-content:center;gap:var(--s-2);margin-top:var(--s-5);color:var(--text-dim)}.feed{list-style:none;margin:0;padding:0;display:grid;grid-gap:var(--s-5);gap:var(--s-5)}.fcard{overflow:hidden;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg)}.fhead{display:flex;align-items:baseline;gap:var(--s-2);padding:var(--s-3) var(--s-4)}.fby-label{font-size:14px;color:var(--text-dim)}.fby-name{font-family:var(--serif);font-size:20px;font-weight:500;line-height:1.1}.fmedia-btn{padding:0;border:0;background:none;cursor:zoom-in}.fmedia,.fmedia-btn{display:block;width:100%}.fmedia{height:auto;max-height:76vh;object-fit:cover;background:var(--line-soft)}video.fmedia{max-height:62vh;background:#000}.fbar{align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) var(--s-3)}.fbar,.rgroup{display:flex;flex-wrap:wrap}.rgroup{gap:var(--s-1)}.rbtn,.save-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);min-height:44px;min-width:44px;padding:0 var(--s-3);border-radius:999px;border:1px solid var(--line);background:transparent;font-size:14px;line-height:1;cursor:pointer;transition:border-color .15s ease,background .15s ease}.rbtn{color:var(--text-dim)}.rbtn:hover,.save-btn:hover{border-color:var(--link);background:var(--tint)}.rbtn.active{border-color:var(--link);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.remoji{font-size:16px}.rcount{font-weight:600;color:var(--accent-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fbar-right{display:flex;align-items:center;gap:var(--s-3);margin-left:auto}.ftime{flex:none;font-size:13px;white-space:nowrap;color:var(--text-dim)}.save-btn{color:var(--link);font-weight:600}.save-btn:disabled{opacity:.55;cursor:default}.save-btn.saved{border-color:color-mix(in srgb,var(--success) 45%,transparent);color:var(--success)}.save-btn.ready,.saveall-btn.ready{border-color:var(--link);background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}.save-spin{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--link);animation:spin .7s linear infinite}.saveall{text-align:center;margin:0 auto var(--s-5);max-width:420px}.saveall-btn{width:100%}.saveall-note{margin-top:var(--s-2);font-size:14px;color:var(--text-dim)}.lightbox{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:rgba(12,9,18,.95)}.lightbox-media{max-width:100%;max-height:calc(100dvh - 96px);border-radius:var(--radius)}.lb-btn{position:absolute;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(20,16,28,.7);color:#f6f1e7;cursor:pointer;transition:border-color .15s ease}.lb-btn:hover{border-color:rgba(255,255,255,.7)}.lb-save{top:16px;left:16px}.lb-close{top:16px;right:16px}.lb-prev{left:12px}.lb-next,.lb-prev{top:50%;transform:translateY(-50%)}.lb-next{right:12px}.lb-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:14px;color:rgba(246,241,231,.75);white-space:nowrap}