:root{--accent:#ff3d6e;--keep:#2ecc71;--del:#ff4d5e;--fav:#3b8bff;--gold:#f5b82e;--glass:#1e1e228c;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0}body{color:#fff;background:#2a0b16 radial-gradient(circle at 30% 20%,#7a1f3a,#2a0b16 70%) fixed;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}button{font-family:inherit}.app{background:#111;flex-direction:column;width:100%;max-width:520px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (min-width:700px){.app{border-radius:28px;height:min(100dvh - 40px,940px);margin-top:20px;box-shadow:0 30px 80px #0009}.desk-hint{display:block!important}}.desk-hint{color:#fff9;text-align:center;margin:10px 0;font-size:12px;display:none}.login{text-align:center;flex:1;place-items:center;padding:32px;display:grid}.login h1{margin:0 0 28px;font-size:30px}.login a.cta{background:var(--accent);color:#fff;border-radius:14px;padding:14px 22px;font-weight:700;text-decoration:none;display:inline-block}.login .err{color:var(--del);margin-top:16px;font-size:13px}.deck{flex:1;position:relative}.card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;will-change:transform;background:#000 50%/cover no-repeat;position:absolute;inset:0}.card:active{cursor:grabbing}.card video{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.card:after{content:"";pointer-events:none;background:linear-gradient(#00000059 0%,#0000 18% 45%,#000000d9 88%);position:absolute;inset:0}.card.back{filter:brightness(.7);transform:scale(.96)}.deck .empty-state{text-align:center;color:#aaa;place-items:center;padding:40px;display:grid;position:absolute;inset:0}.deck .empty-state h2{color:#fff;margin:8px 0}.info{left:22px;right:22px;bottom:calc(var(--safe-bottom) + 100px);z-index:5;position:absolute}.info h1{letter-spacing:-.3px;margin:0 0 8px;font-size:18px;font-weight:700}.info h1 .d{white-space:nowrap;opacity:.85;font-weight:500}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:4px 10px;font-size:12px}.info p{color:#fffc;margin:0;font-size:13px;line-height:1.45}.stamp{z-index:6;opacity:0;letter-spacing:2px;pointer-events:none;border:4px solid;border-radius:10px;padding:4px 14px;font-size:30px;font-weight:800;position:absolute;top:22%}.stamp.keep{color:var(--keep);left:26px;transform:rotate(-14deg)}.stamp.del{color:var(--del);right:26px;transform:rotate(14deg)}.stamp.unsure{color:var(--fav);top:40%;left:50%;transform:translate(-50%)}.actions{left:0;right:0;bottom:calc(var(--safe-bottom) + 30px);z-index:20;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute}.btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#28282cd9;border:0;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;transition:transform .12s;display:grid}.btn:active{transform:scale(.9)}.btn:disabled{opacity:.35;cursor:default}.btn.big{background:#fff;flex-basis:58px;width:58px;height:58px;box-shadow:0 6px 20px #0006}.topbar{top:calc(var(--safe-top) + 12px);z-index:22;justify-content:space-between;align-items:center;display:flex;position:absolute;left:14px;right:14px}.picker{color:#fff;cursor:pointer;text-shadow:0 1px 6px #0009;background:0 0;border:0;align-items:center;gap:6px;padding:6px 8px;font-size:14px;font-weight:600;display:flex}.picker svg{filter:drop-shadow(0 1px 3px #0009);transition:transform .2s}.picker.open svg{transform:rotate(180deg)}.dots{cursor:pointer;background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:0;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;position:relative}.info-btn svg{fill:var(--keep);transition:fill .2s}.info-btn.dirty svg{fill:var(--del)}.info-btn .badge{background:var(--del);color:#fff;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;line-height:17px;position:absolute;top:-4px;right:-4px}.pop{top:calc(var(--safe-top) + 56px);z-index:45;opacity:0;pointer-events:none;background:#1c1c1ff7;border-radius:16px;min-width:150px;padding:6px;transition:all .16s;position:absolute;transform:translateY(-6px)scale(.98);box-shadow:0 12px 40px #00000080}.pop.open{opacity:1;pointer-events:auto;transform:none}.pop.center{min-width:230px;left:50%;transform:translate(-50%,-6px)scale(.98)}.pop.center.open{transform:translate(-50%)}.pop.right{right:16px}.pop button{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-size:15px;display:flex}.pop button:hover{background:#2a2a2e}.pop hr{border:0;border-top:1px solid #2a2a2e;margin:4px 8px}.pop-title{color:#888;padding:8px 12px 4px;font-size:11px;font-weight:600}.pop-row{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;font-size:15px;display:flex}.sort-row{align-items:center;gap:6px;padding-right:6px;display:flex}.sort-row .label{color:var(--accent);flex:1;font-weight:600}.pop .dir-btn{width:30px;height:30px;color:var(--accent);background:#ff3d6e26;border-radius:50%;flex:0 0 30px;justify-content:center;padding:0}.pop .dir-btn:hover{background:#ff3d6e47}.mini-switch{flex-shrink:0;width:40px;height:24px;position:relative}.mini-switch input{opacity:0;width:0;height:0;position:absolute}.mini-switch i{background:#3a3a3e;border-radius:12px;transition:all .2s;position:absolute;inset:0}.mini-switch i:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px}.mini-switch input:checked+i{background:var(--keep)}.mini-switch input:checked+i:before{transform:translate(16px)}.pop-bg{z-index:44;position:absolute;inset:0}.page{z-index:60;visibility:hidden;background:#0f0f11;flex-direction:column;transition:transform .28s;display:flex;position:absolute;inset:0;transform:translateY(100%)}.page.open{visibility:visible;transform:none}.page.review{z-index:62}.page.overview{z-index:61}.page header{padding:calc(var(--safe-top) + 14px) 16px 12px;border-bottom:1px solid #222;align-items:center;gap:10px;display:flex}.page header h2{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;min-width:0;margin:0;font-size:17px;overflow:hidden}.page footer{padding:12px 16px calc(var(--safe-bottom) + 20px);border-top:1px solid #222;flex-direction:column;gap:8px;display:flex}.page footer button{background:var(--del);color:#fff;cursor:pointer;border:0;border-radius:12px;width:100%;padding:12px;font-size:12.5px;font-weight:600}.page footer button.save{background:var(--keep)}.page footer button.open-btn{background:var(--accent)}.page footer button:disabled{opacity:.5}.page .empty{text-align:center;color:#888;grid-column:1/-1;padding:60px 20px;font-size:14px}.seg{background:#1c1c1f;border-radius:9px;flex-shrink:0;padding:3px;display:flex}.seg button{color:#999;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:5px 10px;font-size:12px;font-weight:600}.seg button.on{color:#fff;background:#333338}.grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;padding:14px 14px 20px;display:grid;overflow-y:auto}.tile{cursor:pointer;background:#fff;border-radius:14px;position:relative;overflow:hidden}.tile:before{content:"";padding-top:133%;display:block}.tile .img{background:#222 50%/cover;transition:opacity .2s;position:absolute;inset:0}.tile .sel{z-index:2;border:2px solid var(--del);background:var(--del);border-radius:50%;place-items:center;width:28px;height:28px;transition:all .15s;display:grid;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #0006}.tile.saved .sel{background:#0003;border-color:#fff}.tile.saved .sel svg{opacity:0}.tile.saved .img{opacity:.4}.tile .band{z-index:1;white-space:nowrap;opacity:0;color:var(--del);text-align:center;letter-spacing:.5px;text-shadow:0 0 6px #fff,0 0 2px #fff;pointer-events:none;font-size:15px;font-weight:800;line-height:1.15;transition:all .18s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.7)}.tile.saved .band{opacity:1;transform:translate(-50%,-50%)}.folders{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:16px 12px;padding:14px 14px 34px;display:grid;overflow-y:auto}.folder{cursor:pointer;min-width:0}.mosaic{aspect-ratio:1;background:#222;border-radius:14px;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid;overflow:hidden}.mosaic div{background:#2a2a2e 50%/cover}.mosaic.special{grid-template-rows:1fr;grid-template-columns:1fr;place-items:center}.mosaic.special svg{width:38%;height:38%}.mosaic.del{background:#ff4d5e24}.mosaic.unsure{background:#3b8bff24}.folders hr{border:0;border-top:1px solid #222;grid-column:1/-1;margin:0}.folder h3{white-space:nowrap;text-overflow:ellipsis;margin:7px 2px 1px;font-size:14px;overflow:hidden}.meta{color:#999;white-space:nowrap;align-items:center;gap:10px;min-height:15px;margin:2px 2px 0;font-size:11px;display:flex;overflow:hidden}.meta span{align-items:center;gap:3px;display:inline-flex}.meta svg{flex-shrink:0;width:11px;height:11px}.ov-grid{--cols:2;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));flex:1;grid-auto-rows:max-content;align-content:start;gap:10px;padding:14px 14px 20px;display:grid;overflow-y:auto}.ov-grid.dense{gap:2px;padding:2px 2px 20px}.thumb{cursor:pointer;background:#222 50%/cover;border-radius:14px;position:relative;overflow:hidden}.thumb:before{content:"";padding-top:133%;display:block}.ov-grid.dense .thumb{border-radius:0}.ov-grid.dense .thumb:before{padding-top:100%}.thumb .vid{background:#0009;border-radius:9px;padding:3px 7px;font-size:10.5px;font-weight:600;position:absolute;bottom:7px;left:7px}.ov-grid.dense .vid{display:none}.thumb.start{box-shadow:inset 0 0 0 3px var(--accent)}.thumb.start:after{content:"Start";background:var(--accent);border-radius:8px;padding:2px 7px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.ov-grid.dense .thumb.start:after{content:"";border-radius:50%;width:8px;height:8px;padding:0;top:5px;left:5px}.more{text-align:center;color:#777;grid-column:1/-1;padding:14px;font-size:12px}.zoom-hint{z-index:6;pointer-events:none;color:#bbb;opacity:0;background:#1c1c1ff2;border-radius:10px;padding:5px 10px;font-size:11px;transition:opacity .2s;position:absolute;left:50%;transform:translate(-50%)}.zoom-hint.show{opacity:1}.scrub{z-index:5;pointer-events:none;white-space:nowrap;opacity:0;background:#1c1c1ff2;border:1px solid #333;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;right:8px;transform:translate(8px);box-shadow:0 4px 16px #00000080}.scrub.show{opacity:1;transform:none}.profile{flex:1;padding:18px 16px 34px;overflow-y:auto}.me{margin-bottom:22px}.me h3{margin:0;font-size:17px}.me p{color:#888;margin:2px 0 0;font-size:12px}.group-title{color:#888;margin:0 4px 8px;font-size:12px;font-weight:600}.card-list{background:#1c1c1f;border-radius:14px;margin-bottom:22px;overflow:hidden}.storage{padding:13px 14px;font-size:13px}.bar{background:#2e2e33;border-radius:4px;height:8px;margin:8px 0 2px;display:flex;overflow:hidden}.bar i{background:var(--fav);height:100%;display:block}.legend-row{color:#999;flex-wrap:wrap;gap:14px;margin-top:6px;font-size:11px;display:flex}.legend-row em{border-radius:2px;width:8px;height:8px;margin-right:5px;display:inline-block}.guide{padding:14px}.guide-intro{color:#aaa;margin:0 0 12px;font-size:12.5px;line-height:1.45}.guide-seg{margin-bottom:12px;display:inline-flex}.guide ol{flex-direction:column;gap:10px;margin:0;padding-left:20px;display:flex}.guide li{color:#bbb;font-size:12.5px;line-height:1.45}.guide li::marker{color:#777;font-weight:700}.guide li b{color:#fff;margin-bottom:1px;font-size:13px;display:block}.guide li.warn b{color:var(--gold)}.lang{background:#1c1c1f;border-radius:12px;margin-bottom:22px;padding:4px;display:flex}.lang button{color:#999;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:9px;font-size:13px;font-weight:600}.lang button.on{color:#fff;background:#333338}.logout{width:100%;color:var(--del);cursor:pointer;background:#1c1c1f;border:0;border-radius:12px;padding:12px;font-size:13px;font-weight:600}.sheet-bg{z-index:40;opacity:0;pointer-events:none;background:#00000080;transition:opacity .2s;position:absolute;inset:0}.sheet-bg.open{opacity:1;pointer-events:auto}.sheet{z-index:41;max-height:75%;padding:12px 18px calc(var(--safe-bottom) + 24px);background:#1c1c1f;border-radius:24px 24px 0 0;flex-direction:column;transition:transform .25s;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.sheet.open{transform:none}.sheet .grip{background:#444;border-radius:3px;width:40px;height:5px;margin:0 auto 14px}.sheet h2{margin:0 0 12px;font-size:17px}.albums{margin:0 -18px;padding:0 18px;overflow-y:auto}.album{color:#fff;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #2a2a2e;align-items:center;gap:8px;width:100%;padding:12px 2px;font-size:15px;display:flex}.album .name{flex:1}.album small{color:#888;margin-left:6px;font-size:12px}.check{border:2px solid #555;border-radius:7px;flex-shrink:0;place-items:center;width:24px;height:24px;transition:all .12s;display:grid}.album.on .check{background:var(--accent);border-color:var(--accent)}.album:not(.on) .check svg{display:none}.album .was{color:#9ad0ff;font-size:11px}.new-row{gap:8px;margin:12px 0 4px;display:flex}.new-row input{color:#fff;background:#2a2a2e;border:1px solid #333;border-radius:10px;outline:none;flex:1;padding:10px 12px;font-size:16px}.new-row button{color:#fff;cursor:pointer;background:#2a2a2e;border:0;border-radius:10px;padding:0 14px;font-size:20px}.sheet-actions{gap:10px;margin-top:14px;display:flex}.sheet-actions button{cursor:pointer;border:0;border-radius:14px;flex:1;padding:14px;font-size:15px;font-weight:700}.sheet-actions .cancel{color:#fff;background:#2a2a2e;flex:0 0 34%}.sheet-actions .ok{background:var(--accent);color:#fff}.toast{top:calc(var(--safe-top) + 70px);pointer-events:none;z-index:80;opacity:0;text-align:center;background:#000c;border-radius:16px;width:max-content;max-width:80%;padding:8px 14px;font-size:13px;line-height:1.45;transition:all .2s;position:absolute;left:50%;transform:translate(-50%)translateY(-10px)}.toast.show{opacity:1;transform:translate(-50%)}.spinner{border:3px solid #333;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
