:root{color-scheme:light dark;--bg: #f4f5f7;--surface: #ffffff;--text: #16181c;--muted: #6b7280;--line: #e2e5ea;--tile: #e3e6eb;--accent: #1f7ae0;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}@media(prefers-color-scheme:dark){:root{--bg: #101113;--surface: #17181b;--text: #eceef1;--muted: #9099a6;--line: #26282d;--tile: #1f2125;--accent: #5aa7ff}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html.viewer-open{overflow:hidden}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-tap-highlight-color:transparent}button,select,input{font:inherit;color:inherit}.login{max-width:300px;margin:22vh auto 0;padding:0 16px;display:flex;flex-direction:column;gap:12px}.login h1{margin:0 0 8px;font-size:26px;font-weight:650;text-align:center}.login input,.login button{padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:16px}.login button{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;cursor:pointer}.login-error{margin:0;min-height:1.4em;color:#e5484d;text-align:center;font-size:14px}.browser{padding-bottom:calc(16px + var(--safe-bottom))}.b-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;padding:calc(8px + var(--safe-top)) 12px 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.b-crumbs{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.b-crumbs::-webkit-scrollbar{display:none}.b-crumbs a{color:var(--muted);text-decoration:none;padding:6px 2px}.b-crumbs a:hover{color:var(--text)}.b-crumbs a[aria-current]{color:var(--text);font-weight:600}.b-crumbs span{color:var(--line)}.b-sort{flex:none;padding:6px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:14px}.b-icon{flex:none;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}.b-icon:hover{background:var(--tile);color:var(--text)}.b-message{padding:0 16px;color:var(--muted);text-align:center}.b-message:not(:empty){padding:18vh 16px 0}.b-grid{position:relative;margin:3px}.tile{position:absolute;top:0;left:0;display:block;overflow:hidden;background:var(--tile);color:inherit;text-decoration:none;border-radius:3px;contain:strict;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .18s}.tile img.is-loaded{opacity:1}.tile:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.tile.is-highlight{outline:3px solid var(--accent);outline-offset:-3px;z-index:1}@media(hover:hover){.tile:hover img{filter:brightness(1.08)}}.tile-badge{position:absolute;left:6px;bottom:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#0000008c;color:#fff}.tile-badge svg{width:14px;height:14px}.tile-nothumb:after{content:attr(data-name);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:8px;color:var(--muted);font-size:12px;text-align:center;overflow-wrap:anywhere}.tile-folder{position:absolute;inset:0 0 18%;display:grid;place-items:center;color:var(--muted);opacity:.55}.tile-folder svg{width:38%;height:38%}.tile-label{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 7px;font-size:13px;font-weight:550;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-dir img.is-loaded~.tile-label{color:#fff;background:linear-gradient(transparent,#000000c7)}.viewer{position:fixed;inset:0;z-index:100;overflow:hidden;color:#fff;touch-action:none;user-select:none;-webkit-user-select:none;opacity:0;transition:opacity .16s ease-out}.viewer.is-open{opacity:1}.viewer.is-closing{opacity:0;pointer-events:none}.v-backdrop{position:absolute;inset:0;background:#000;transition:opacity .2s}.is-dismissing .v-backdrop{transition:none}.v-track{position:absolute;inset:0;will-change:transform}.v-slide{position:absolute;inset:0;overflow:hidden}.v-zoom{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}.v-img,.v-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;-webkit-touch-callout:none}.v-video{background:#000;outline:none}.v-slide.is-loading:after{content:"";position:absolute;right:14px;bottom:calc(14px + var(--safe-bottom));width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;opacity:0;animation:v-spin .8s linear infinite,v-appear .01s .35s forwards}@keyframes v-spin{to{transform:rotate(360deg)}}@keyframes v-appear{to{opacity:1}}.v-play{position:absolute;top:50%;left:50%;width:68px;height:68px;margin:-34px 0 0 -34px;display:grid;place-items:center;border-radius:50%;background:#00000080;pointer-events:none}.v-play svg{width:34px;height:34px}.v-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 16px;border-radius:10px;background:#000000b3;font-size:14px;white-space:nowrap;pointer-events:none}.v-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;color:#c9ccd1}.v-error-icon svg{width:48px;height:48px;opacity:.6}.v-error-name{font-size:13px;color:#8b9098;overflow-wrap:anywhere}.v-error-link{margin-top:8px;padding:8px 16px;border-radius:8px;background:#ffffff24;color:#fff;text-decoration:none}.v-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:4px;padding:calc(6px + var(--safe-top)) 8px 22px;background:linear-gradient(rgba(0,0,0,.7),transparent);transition:opacity .2s,transform .2s}.v-titles{flex:1;min-width:0;padding:0 6px}.v-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-subtitle{font-size:12.5px;color:#ffffffb8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-btn{flex:none;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer}.v-btn:hover{background:#ffffff24}.v-btn.is-active{background:#fff;color:#000}.v-btn:focus-visible,.v-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}.v-nav{position:absolute;top:50%;width:46px;height:46px;margin-top:-23px;display:none;place-items:center;border:0;border-radius:50%;background:#00000073;color:#fff;cursor:pointer;opacity:0;transition:opacity .2s}.v-prev{left:14px}.v-next{right:14px}@media(hover:hover)and (pointer:fine){.v-nav{display:grid}.viewer:hover .v-nav{opacity:.85}.v-nav:hover{background:#000000b3}}@media not ((hover:hover)and (pointer:fine)){.v-fs{display:none}}.chrome-hidden .v-top,.is-dismissing .v-top{opacity:0;transform:translateY(-12px);pointer-events:none}.chrome-hidden .v-nav,.is-dragging .v-nav{opacity:0!important;pointer-events:none}.v-toast{position:absolute;left:50%;bottom:calc(96px + var(--safe-bottom));max-width:calc(100% - 32px);transform:translate(-50%,8px);padding:9px 16px;border-radius:999px;background:#1c1c1eeb;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.v-toast.is-visible{opacity:1;transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.viewer,.v-top,.v-toast,.tile img{transition:none}}.scroller{touch-action:auto;user-select:auto;-webkit-user-select:auto}.s-scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;outline:none}.s-list{max-width:960px;margin:0 auto;overflow-anchor:none;background:#fff}.s-item{position:relative;width:100%;margin-bottom:4px;background:#121212;overflow:hidden}.s-item img,.s-videoel{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-touch-callout:default}.s-thumb{opacity:0;transition:opacity .15s}.s-thumb.is-loaded{opacity:1}.s-videoel{background:#000;z-index:1}.s-video{cursor:pointer}.s-item.is-playing .v-play{display:none}.s-item .v-play{z-index:1}.s-item .v-status{z-index:2}.s-item.is-failed{background:#0d0d0d}.s-dir{background:#000;display:flex;align-items:center;gap:8px;padding:18px 14px 10px;color:#ffffffc7;font-size:14px;font-weight:600}.s-dir svg{width:18px;height:18px;flex:none;opacity:.7}.s-dir span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-scroll>.s-dir:first-child,.s-list>.s-dir:first-child{padding-top:calc(64px + var(--safe-top))}.s-end{padding:26px 16px calc(32px + var(--safe-bottom));text-align:center;color:#ffffff80;font-size:14px}.s-end:empty{padding:0}
