:root{--bg:#141414;--glass:rgba(28,28,30,.74);--glass-strong:rgba(28,28,30,.84);--edge:rgba(255,255,255,.14);--ink:#fff;--soft:rgba(255,255,255,.62);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141414;--ink:#fff}}:root[data-theme=dark]{--bg:#141414;--ink:#fff}*,*:before,*:after{box-sizing:inherit}html{height:100%;scroll-padding-top:env(safe-area-inset-top,0px);background:var(--bg)}body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font:400 13px/1.3 Inter,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid #fff;outline-offset:2px}svg{display:block}.glass{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid var(--edge)}#out{position:fixed;display:block;touch-action:none;border-radius:2px}.empty{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--soft)}.empty[hidden]{display:none}.savenow{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;height:48px;padding:0 22px;border-radius:2px;background:#fffffff0;color:#111;font-size:16px;font-weight:500;box-shadow:0 4px 24px #0006}.savenow[hidden]{display:none}.starts{display:flex;gap:14px}.starts>button.glass{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;color:#fff}.ui{transition:opacity .45s ease}body.hideui .ui{opacity:0;pointer-events:none}.cbtn{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;cursor:pointer}.cbtn input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.chip-dot{width:22px;height:22px;border-radius:50%;border:1.5px solid #fff}.xsheet{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);transform:translate(-50%);width:min(420px,calc(100vw - 20px));border-radius:26px;padding:16px 18px 18px;z-index:8;background:#161618d1;-webkit-backdrop-filter:blur(26px) saturate(1.5);backdrop-filter:blur(26px) saturate(1.5);border:1px solid rgba(255,255,255,.12)}.xhead{display:flex;justify-content:space-between;align-items:center;font-size:17px;font-weight:500;margin:0 0 14px}#xclose,#libClose{width:30px;height:30px;border-radius:50%;background:#ffffff1f;font-size:17px;line-height:1}.seg{display:flex;gap:4px;padding:4px;border-radius:14px;background:#ffffff14}.seg button{flex:1;height:36px;border-radius:10px;color:#ffffffb3;font-size:14px}.seg button[aria-pressed=true]{background:#fffffff2;color:#111;font-weight:500}.seg button:disabled{opacity:.3;cursor:default}#xkind{margin:0 0 14px}.xgroup{margin:0 0 12px}.xlabel{color:#ffffff8c;font-size:12px;margin:0 0 6px 2px}.xinfo{color:#ffffff9e;font-size:12.5px;line-height:1.45;margin:4px 2px 14px;min-height:18px}.xgo{width:100%;height:48px;border-radius:24px;background:#fff;color:#111;font-size:15px;font-weight:500}.xgo:disabled{opacity:.4}body.exporting .dock,body.exporting .topL{visibility:hidden}.vbar{position:fixed;right:14px;top:calc(env(safe-area-inset-top,0px) + 12px);height:44px;border-radius:22px;display:flex;align-items:center;padding:0 6px;z-index:5}.vbar button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.vbar button.on{background:#ff3b30;color:#fff}.topL button.on{background:#fffffff0;color:#111}.topL{position:fixed;top:calc(env(safe-area-inset-top,0px) + 12px);height:44px;border-radius:22px;display:flex;align-items:center;padding:1px;gap:2px;z-index:5}.topL{left:14px}.topL button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%}.dock{position:fixed;left:0;right:0;bottom:0;padding-bottom:calc(env(safe-area-inset-bottom,0px)*.45 + 4px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.slot{position:relative;width:100vw;display:flex;justify-content:center;align-items:center}.slot-sw{height:38px}.slot-ctl{height:40px}.slot-ctl>*{position:absolute;inset:0;margin:auto}.dock.closed .slot,.dock.closed .title,.dock.closed .items{visibility:hidden}.dock>*{pointer-events:auto}.title:empty{visibility:hidden}.title{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border-radius:11px;padding:0 10px;font-weight:400;font-size:16px;letter-spacing:-.005em;height:22px;line-height:22px;white-space:nowrap}.items{display:flex;gap:12px;overflow-x:auto;width:100vw;padding:4px 0;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.items:before,.items:after{content:"";flex:0 0 calc(50vw - 39px)}.items::-webkit-scrollbar{display:none}.item{position:relative;flex:0 0 auto;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;scroll-snap-align:center}.item .ring{position:absolute;inset:-1px;pointer-events:none}.item.sel{background:#fffffff0;color:#111;border-color:transparent;box-shadow:0 0 0 1px #0000001a,0 2px 10px #0000004d}.item.on:not(.sel){background:#ffffff47}.item .num{position:absolute;font-weight:500;font-size:15px;font-variant-numeric:tabular-nums}.scrub{width:100vw;height:40px;overflow:hidden;touch-action:none;cursor:ew-resize}.scrub .strip{position:absolute;top:0;bottom:0;left:0;display:flex;align-items:center}.scrub .tick{box-shadow:0 0 2px #0000008c;width:1px;height:12px;background:#fff9;margin-right:7px;flex:0 0 auto}.scrub .tick.big{height:18px;background:#fff}.scrub .mid{box-shadow:0 0 3px #00000080;position:absolute;left:50%;top:7px;bottom:7px;width:2px;margin-left:-1px;background:#ffd60a;border-radius:1px}.chips{display:flex;gap:6px;overflow-x:auto;width:100vw;height:40px;align-items:center;padding:0 16px;scrollbar-width:none;justify-content:safe center}.chips::-webkit-scrollbar{display:none}.chips.chips-scroll{justify-content:flex-start;padding:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 40px,#000 calc(100% - 40px),transparent)}.chip-pad{flex:0 0 auto;height:1px}.chip{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border-radius:17px;flex:0 0 auto;height:34px;padding:0 12px;white-space:nowrap;color:#ffffffc7;font-size:15px}.chip-icon{display:inline-grid;place-items:center;padding:0 10px}.chip-icon svg{width:18px;height:18px}.chip[aria-pressed=true]{background:#fffffff0;color:#111;font-weight:500;box-shadow:0 0 0 1px #0000001a,0 2px 10px #0000004d}.swatches{display:flex;gap:8px;padding:5px 10px;border-radius:22px;align-items:center}.sw{position:relative;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.3);overflow:hidden;cursor:pointer;flex:0 0 auto;display:grid;place-items:center}.sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;cursor:pointer}.sw.tool{background:none;color:#fff;font-size:17px;line-height:1}.sw.tool.active{background:#fff;color:#111}.sw.rm:after{content:"×";color:#fff;font-size:16px;text-shadow:0 0 3px #000}.tabs{display:flex;gap:2px;padding:6px;border-radius:30px}.tab{width:min(68px,calc((100vw - 36px) / 6));height:52px;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--soft);font-size:12px}.tab svg{width:22px;height:22px}.tab[aria-selected=true]{color:#fff;background:#ffffff24}.hidden,[hidden]{display:none!important}.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 66px);transform:translate(-50%);padding:7px 14px;border-radius:16px;z-index:6;pointer-events:none}.toast[hidden]{display:none}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.recent{display:flex;gap:8px;margin-top:18px;max-width:calc(100vw - 32px);overflow-x:auto;scrollbar-width:none;padding:2px}.recent::-webkit-scrollbar{display:none}.recent-item{position:relative;width:64px;height:64px;flex:0 0 auto;border-radius:2px;overflow:hidden;background:#ffffff14}.recent-item img,.recent-item video,.gal-tile img,.gal-tile video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.recent-play{position:absolute;right:5px;bottom:4px;font-size:11px;color:#fff;text-shadow:0 0 3px #000}.recent-all{height:34px;padding:0 14px;border-radius:17px;background:#ffffff1a;color:#fff;font-size:13px}.lib-empty{color:#ffffff73;font-size:13px;text-align:center;padding:24px 0}#vmenu{display:none}@media (max-width: 899px){#vmenu{display:grid}body:not(.menuopen) .vbar>button:not(#vmenu):not(#vplay):not(#vrec){display:none}body.menuopen .vbar{z-index:8;flex-direction:column;align-items:stretch;height:auto;padding:6px;border-radius:2px;background:var(--glass-strong)}body.menuopen .vbar>button:not([hidden]){display:flex;width:auto;min-width:140px;height:44px;justify-content:flex-start;gap:12px;padding:0 12px;border-radius:2px}body.menuopen .vbar>button:after{content:attr(aria-label);font-size:15px;white-space:nowrap}body.menuopen .vbar>button svg{flex:0 0 auto}body.menuopen #vmenu{order:-1;display:grid;place-items:center;align-self:flex-end;width:32px;height:32px;min-width:0;padding:0;margin:0 0 -4px;border-radius:2px}body.menuopen #vmenu:after{content:none}#vmenu .i-x,body.menuopen #vmenu .i-burger{display:none}body.menuopen #vmenu .i-x{display:block}}@media (min-width: 900px){.dock{gap:10px}.dock>.tabs{z-index:2;position:fixed;left:12px;top:50%;transform:translateY(-50%);flex-direction:column;padding:4px;gap:2px;border-radius:25px}.tab{width:42px;height:42px;border-radius:50%}.tab svg{width:20px;height:20px}.tab span{display:none}.dock>.items{z-index:1;position:fixed;left:64px;top:50%;transform:translateY(-50%);flex-direction:column;width:auto;overflow:visible;scroll-snap-type:none;padding:4px;gap:6px}.items:before,.items:after{display:none}.item{width:44px;height:44px}.slot,.scrub{width:min(640px,calc(100vw - 150px))}.slot-ctl>.chips{width:min(1100px,calc(100vw - 160px));left:50%;right:auto;transform:translate(-50%)}.dock{padding-bottom:16px}.title{font-size:13px}.chip{font-size:13px;height:30px;padding:0 11px;border-radius:15px}.tab,.item,.vbar>button{position:relative}.tab:after,.item:after{content:attr(data-label);left:calc(100% + 12px);top:50%;transform:translateY(-50%)}.item:after{content:attr(aria-label)}.vbar>button:after{content:attr(aria-label);top:calc(100% + 10px);left:50%;transform:translate(-50%)}.tab:after,.item:after,.vbar>button:after{position:absolute;white-space:nowrap;padding:5px 9px;border-radius:9px;font-size:12px;font-weight:400;color:#fff;background:var(--glass-strong);pointer-events:none;opacity:0;transition:opacity .12s;z-index:10}.tab:hover:after,.item:hover:after,.vbar>button:hover:after{opacity:1}}.gallery{position:fixed;inset:0;z-index:20;background:#000;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 calc(env(safe-area-inset-bottom,0px) + 28px)}.gal-head{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 10px) 12px 12px;background:linear-gradient(#000 70%,#0000)}.gal-back{width:44px;height:44px;border-radius:50%;background:#282828d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;place-items:center;color:#fff}.gal-tabs{display:flex;justify-content:center;gap:24px}.gal-tabs button{font-size:17px;font-weight:500;color:#ffffff73;padding:8px 0}.gal-tabs button[aria-pressed=true]{color:#fff}.gal-grid{columns:2;column-gap:10px;padding:0 12px}@media (min-width:700px){.gal-grid{columns:3;column-gap:12px;padding:0 16px}}@media (min-width:1100px){.gal-grid{columns:4}}@media (min-width:1500px){.gal-grid{columns:5}}.gal-grid .lib-empty{column-span:all}.gal-tile{display:block;width:100%;margin:0 0 10px;break-inside:avoid;border-radius:2px;overflow:hidden;background:#161616;cursor:pointer;padding:0}.gal-tile img,.gal-tile video{display:block;width:100%;height:auto;transition:opacity .2s}.gal-tile:active img,.gal-tile:active video{opacity:.8}.gal-tile:focus-visible{outline:2px solid #fff;outline-offset:2px}.gal-mark{width:100%;aspect-ratio:1;display:grid;place-items:center;font-size:36px;color:#ffffff80}.gal-view{position:fixed;inset:0;z-index:3;background:#000;display:flex;flex-direction:column;align-items:center;gap:16px;padding:calc(env(safe-area-inset-top,0px) + 66px) 12px calc(env(safe-area-inset-bottom,0px) + 20px)}.gal-view .gal-back{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);left:12px}.gal-view-media{flex:1;min-height:0;width:100%;display:grid;place-items:center}.gal-view-media img,.gal-view-media video{max-width:100%;max-height:calc(100vh - 230px);object-fit:contain;border-radius:2px}.gal-view-media .gal-mark{width:200px;border-radius:2px;background:#161616}.gal-view-info{text-align:center;max-width:100%}.gal-view-name{font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gal-view-meta{font-size:13px;color:#ffffff73;margin-top:3px}.gal-rename{height:34px;width:min(280px,80vw);border-radius:17px;padding:0 14px;background:#161616;border:1px solid rgba(255,255,255,.2);color:#fff;font:inherit;font-size:15px;text-align:center}.gal-actions{display:flex;gap:12px;flex-wrap:nowrap;justify-content:center}.gal-actions button{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#1c1c1c;color:#fff}.gal-actions button.primary{background:#fff;color:#000}.gal-view-media.holding img,.gal-view-media.holding video{opacity:.7;transition:opacity .45s}.gal-view-media{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.callout{position:fixed;z-index:9;display:flex;background:#2a2a2a;border-radius:10px;overflow:hidden;box-shadow:0 6px 24px #00000073}.callout[hidden]{display:none}.callout button{height:40px;padding:0 16px;font-size:14px;color:#fff;white-space:nowrap}.callout button+button{border-left:1px solid rgba(255,255,255,.14)}.callout button[hidden]{display:none}.callout button:active{background:#ffffff1f}#out{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.toast{z-index:30}.gal-tile.holding img,.gal-tile.holding video{opacity:.7;transition:opacity .45s}.gal-tile{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}:root{--ease:cubic-bezier(.2,.8,.2,1)}.tab,.item,.chip,.vbar>button,.topL button,.gal-back,.gal-actions button,.gal-tabs button,.callout button,.recent-item,.recent-all,#emptyUpload,#emptyCanvas,.seg button,.xgo{transition:transform .22s var(--ease),background-color .2s ease,color .2s ease,opacity .2s ease}.tab:active,.item:active,.chip:active,.vbar>button:active,.topL button:active,.gal-back:active,.gal-actions button:active,.recent-item:active,.recent-all:active,#emptyUpload:active,#emptyCanvas:active,.seg button:active,.xgo:active{transform:scale(.93)}.gal-tabs button:active{transform:scale(.96)}.gal-tile{transition:transform .25s var(--ease)}.gal-tile:active,.gal-tile.holding{transform:scale(.97)}.gallery:not(.hidden){animation:fadeUp .3s var(--ease)}.gal-tile img,.gal-tile video,.recent-item img,.recent-item video{opacity:0;transition:opacity .45s ease,transform .25s var(--ease)}.gal-tile img.ready,.gal-tile video.ready,.recent-item img.ready,.recent-item video.ready{opacity:1}.toast:not([hidden]){animation:dropIn .26s var(--ease)}.callout:not([hidden]){animation:popUp .2s var(--ease);transform-origin:50% 100%}body.menuopen .vbar{animation:menuIn .22s var(--ease);transform-origin:100% 0}.empty:not([hidden])>*{animation:softIn .6s ease-out backwards}.empty>*:nth-child(2){animation-delay:.06s}.empty>*:nth-child(3){animation-delay:.12s}.empty>*:nth-child(4){animation-delay:.18s}body.booting .empty>*{opacity:0;animation:none}@keyframes softIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dropIn{0%{opacity:0;transform:translate(-50%,-6px) scale(.97)}to{opacity:1;transform:translate(-50%)}}@keyframes popUp{0%{opacity:0;transform:scale(.9) translateY(4px)}to{opacity:1;transform:none}}@keyframes menuIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.weave{color:#fff;overflow:visible}.weave path{stroke-dasharray:1;stroke-dashoffset:1;animation:weave 2s cubic-bezier(.6,0,.3,1) infinite}.weave path:nth-child(2){animation-delay:.09s}.weave path:nth-child(3){animation-delay:.18s}.weave path:nth-child(4){animation-delay:.27s}.weave path:nth-child(5){animation-delay:.36s}.weave path:nth-child(6){animation-delay:.45s}.weave path:nth-child(7){animation-delay:.54s}.weave path:nth-child(8){animation-delay:.63s}@keyframes weave{0%{stroke-dashoffset:1;opacity:.35}40%,60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-1;opacity:.35}}.boot{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);pointer-events:none}.boot .weave{width:36px;height:36px}.boot .weave path{animation:weaveIn .6s cubic-bezier(.6,0,.3,1) both}@keyframes weaveIn{0%{stroke-dashoffset:1;opacity:.35}to{stroke-dashoffset:0;opacity:1}}.boot .weave path:nth-child(1){animation-delay:.35s}.boot .weave path:nth-child(2){animation-delay:.44s}.boot .weave path:nth-child(3){animation-delay:.53s}.boot .weave path:nth-child(4){animation-delay:.62s}.boot .weave path:nth-child(5){animation-delay:.71s}.boot .weave path:nth-child(6){animation-delay:.8s}.boot .weave path:nth-child(7){animation-delay:.89s}.boot .weave path:nth-child(8){animation-delay:.98s}.loader{position:fixed;left:50%;top:50%;z-index:8;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none}.loader[hidden]{display:none}@media (prefers-reduced-motion: reduce){.weave path{animation:none;stroke-dashoffset:0}}.item.btn-hidden{display:none}.toast-action{pointer-events:auto;margin-left:12px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
