:root{--bg:#FFFFFF;--sunken:#FAFAF9;--ink:#17171A;--ink2:#52525B;--muted:#8A8A93;--line:#EEEDEB;--line2:#E2E0DC;--brass:#B08D57;--r1:8px;--r2:11px;--r3:15px;--sh1:0 1px 2px rgba(23,23,26,0.04);--sh2:0 5px 18px -7px rgba(23,23,26,0.14),0 1px 3px rgba(23,23,26,0.05);--sb:212px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Inter,sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;border:0;background:none;cursor:pointer;padding:0}a,button{color:inherit}a{text-decoration:none}input{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#DCDAD6;border-radius:10px;border:3px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:#FBFAF8}.auth-card{width:100%;max-width:372px}.auth-logo{display:flex;align-items:center;gap:11px;margin-bottom:26px}.auth-logo .nm{font-size:17px;font-weight:680;letter-spacing:-.02em;line-height:1.1}.auth-logo .nm small{display:block;font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.09em;margin-top:3px}.auth-card h1{font-size:22px;font-weight:680;letter-spacing:-.025em;margin:0 0 5px}.auth-card .lead{font-size:13px;color:var(--muted);margin:0 0 22px}.field{margin-bottom:12px}.field label{display:block;font-size:12px;font-weight:560;color:var(--ink2);margin-bottom:6px}.field input{width:100%;height:42px;border:1px solid var(--line2);border-radius:10px;padding:0 13px;font-size:14.5px;outline:none;transition:.15s;background:#fff;color:var(--ink)}.field input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(23,23,26,.07)}.auth-btn{width:100%;height:44px;border-radius:10px;background:var(--ink);color:#fff;font-size:14.5px;font-weight:600;margin-top:8px;transition:.15s}.auth-btn:hover:not(:disabled){background:#000}.auth-btn:disabled{opacity:.55;cursor:default}.auth-err{font-size:12.5px;color:#C0392B;margin-top:11px;min-height:18px}.auth-hint{margin-top:22px;padding:12px 14px;background:#F7F6F3;border:1px solid var(--line);border-radius:10px;font-size:11.5px;color:var(--muted);line-height:1.7}.auth-hint b{color:var(--ink2);font-weight:600}.app{min-height:100vh}.app,.sb{display:flex}.sb{width:var(--sb);flex:0 0 var(--sb);border-right:1px solid var(--line);background:var(--sunken);flex-direction:column;padding:16px 11px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.sb-logo{display:flex;align-items:center;gap:9px;padding:2px 9px 18px}.sb-logo .nm{font-size:14px;font-weight:650;letter-spacing:-.01em;line-height:1.1}.sb-logo .nm small{display:block;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.07em;margin-top:2px}.sb-lbl{font-size:10px;color:#A8A8B1;font-weight:650;letter-spacing:.11em;padding:13px 9px 6px;text-transform:uppercase}.nav{flex-direction:column;gap:1px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:9px;padding:7px 9px;border-radius:7px;font-size:13px;color:var(--ink2);transition:.14s;cursor:pointer}.nav a svg{width:15.5px;height:15.5px;flex:0 0 15.5px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.nav a:hover{background:#F0EFEC;color:var(--ink)}.nav a.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sh1)}.nav a.on svg{opacity:1}.sb-foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.usr{display:flex;align-items:center;gap:9px;padding:6px 7px;border-radius:8px;cursor:pointer;transition:.14s}.usr:hover{background:#F0EFEC}.av{width:29px;height:29px;border-radius:50%;flex:0 0 29px;display:grid;place-items:center;font-size:11.5px;font-weight:650;color:#fff;background:linear-gradient(140deg,#4A4A54,#22222A)}.usr .meta b{display:block;font-size:12.5px;font-weight:600;line-height:1.3}.usr .meta span{font-size:10.5px;color:var(--muted)}.main{flex:1 1;min-width:0;flex-direction:column;background:var(--bg)}.main,.top{display:flex}.top{position:-webkit-sticky;position:sticky;top:0;z-index:60;align-items:center;gap:12px;padding:13px 24px;background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid transparent;transition:border-color .2s}.top.stuck{border-bottom-color:var(--line)}.top h1{font-size:16.5px;font-weight:650;letter-spacing:-.015em;margin:0;overflow:hidden;text-overflow:ellipsis;max-width:320px}.top .sub,.top h1{white-space:nowrap}.top .sub{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.top .grow{flex:1 1}.search{position:relative;display:flex;align-items:center;width:210px;height:33px;background:#F5F4F2;border:1px solid transparent;border-radius:8px;transition:.16s}.search:focus-within{background:#fff;border-color:var(--line2);box-shadow:0 0 0 3px rgba(23,23,26,.05)}.search svg{width:14.5px;height:14.5px;margin-left:10px;stroke:var(--muted);fill:none;stroke-width:1.85;stroke-linecap:round;flex:0 0 14.5px}.search input{flex:1 1;min-width:0;border:0;background:none;outline:none;font-size:12.5px;color:var(--ink);padding:0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:33px;padding:0 13px;border-radius:8px;font-size:12.5px;font-weight:550;transition:.15s;white-space:nowrap}.btn svg{width:14.5px;height:14.5px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.btn-dark{background:var(--ink);color:#fff;box-shadow:var(--sh1)}.btn-dark:hover:not(:disabled){background:#000;transform:translateY(-1px);box-shadow:var(--sh2)}.btn-dark:active{transform:translateY(0)}.btn-dark:disabled{opacity:.5;cursor:default}.btn-ghost{color:var(--ink2);border:1px solid var(--line2);background:#fff}.btn-ghost:hover{background:#FAFAF9;color:var(--ink);border-color:#D2CFC9}.btn-sm{height:29px;padding:0 11px;font-size:12px;border-radius:7px}.btn-icon{width:33px;padding:0}.crumbbar{display:flex;align-items:center;gap:6px;padding:2px 24px 14px;font-size:12.5px;color:var(--muted);flex-wrap:wrap}.crumbbar a,.crumbbar b{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbbar a{transition:.14s;cursor:pointer}.crumbbar a:hover,.crumbbar b{color:var(--ink)}.crumbbar b{font-weight:600}.crumbbar svg{width:11px;height:11px;stroke:#C6C3BD;fill:none;stroke-width:2.2;flex:0 0 11px}.crumbbar .lvl{margin-left:8px;font-size:10.5px;color:#A8A8B0;background:#F5F4F2;padding:1px 7px;border-radius:20px}.wrap{padding:0 24px 70px;flex:1 1}.sect{display:flex;align-items:center;gap:9px;margin:2px 0 12px}.sect h3{margin:0;font-size:12px;font-weight:650;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.sect .n{font-size:11px;color:#A8A8B0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sect .grow{flex:1 1}.fgrid{display:grid;grid-gap:11px;gap:11px;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));margin-bottom:26px}.fcard{position:relative;display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--r2);background:#fff;cursor:pointer;transition:.16s}.fcard:hover{border-color:#D5D2CB;box-shadow:var(--sh2);transform:translateY(-1px)}.fi{width:40px;height:36px;flex:0 0 40px;position:relative;display:grid;place-items:center}.fi svg.fold{position:absolute;inset:0;width:40px;height:36px;filter:drop-shadow(0 1px 2px rgba(23,23,26,.09))}.fi .ini{position:relative;z-index:2;font-size:12px;font-weight:700;color:#fff;margin-top:3px;text-shadow:0 1px 2px rgba(0,0,0,.18)}.fm{flex:1 1;min-width:0}.fm b{display:block;font-size:13.5px;font-weight:600;letter-spacing:-.005em;line-height:1.28;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm span{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}.fmo{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:var(--muted);opacity:0;transition:.14s;flex:0 0 24px}.fcard:hover .fmo{opacity:1}.fmo:hover{background:#F0EFEC;color:var(--ink)}.grid{display:grid;grid-gap:14px 12px;gap:14px 12px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.tile{position:relative;aspect-ratio:4/5;border-radius:var(--r2);overflow:hidden;cursor:zoom-in;background:#F2F1EE;box-shadow:var(--sh1);transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .2s;outline:none}.tile:hover{transform:translateY(-2px);box-shadow:var(--sh2)}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.tile .ovl{position:absolute;left:0;right:0;bottom:0;padding:20px 9px 8px;background:linear-gradient(0deg,rgba(12,12,15,.72),rgba(12,12,15,0));color:#fff;font-size:11px;font-weight:550;display:flex;align-items:center;gap:5px;opacity:0;transition:.18s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile:hover .ovl{opacity:1}.tile .tmo{position:absolute;left:7px;top:7px;width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.94);display:grid;place-items:center;opacity:0;transition:.14s;color:var(--ink2);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3}.tile:hover .tmo{opacity:1}.tile .tmo:hover{background:#fff;color:var(--ink)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:66px 20px;text-align:center;border:1.5px dashed #e5e2dc;border-radius:var(--r3);background:#FCFCFB}.empty svg{width:64px;height:64px;stroke:#D6D3CE;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;margin-bottom:14px}.empty h3{margin:0 0 5px;font-size:14px;font-weight:600}.empty p{margin:0 0 16px;font-size:12.5px;color:var(--muted)}.lb{position:fixed;inset:0;z-index:1000;display:none;background:rgba(10,10,12,.94);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.lb.on{display:flex;flex-direction:column}.lb-top{display:flex;align-items:center;gap:14px;padding:14px 18px;color:#fff;flex:0 0 auto}.lb-top .nm{font-size:13px;font-weight:600}.lb-top .mt{font-size:11.5px;color:rgba(255,255,255,.5)}.lb-top .grow{flex:1 1}.lb-drive{flex:1 1;place-items:center;padding:8px 70px 26px;min-height:0}.lb-drive,.lb-img{position:relative;display:grid}.lb-img{place-items:center}.lb-img,.lb-img img{max-width:100%;max-height:100%}.lb-img img{object-fit:contain;border-radius:4px;box-shadow:0 40px 90px -30px rgba(0,0,0,.8);display:block}.lb-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);transition:.16s}.lb-btn:hover:not(:disabled){background:rgba(255,255,255,.2)}.lb-btn:disabled{opacity:.22;cursor:default}.lb-btn.prev{left:18px}.lb-btn.next{right:18px}.lb-btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.lb-bot{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px 18px 20px;color:rgba(255,255,255,.62);font-size:12px;flex:0 0 auto}.lb-close{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#fff;transition:.15s}.lb-close:hover{background:rgba(255,255,255,.2)}.lb-close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round}.lb-dl{height:30px;padding:0 12px;border-radius:7px;background:#fff;color:#101014;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.lb-dl svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}.ovl{position:fixed;inset:0;z-index:1100;background:rgba(12,12,15,.42);display:none;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ovl.on{display:flex}.dlg{width:100%;max-width:400px;background:#fff;border-radius:15px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5);overflow:hidden;animation:pop .18s cubic-bezier(.2,.8,.3,1)}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}.dlg-h{padding:20px 20px 0}.dlg-h h3{margin:0 0 5px;font-size:15.5px;font-weight:650;letter-spacing:-.015em}.dlg-h p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.5}.dlg-b{padding:16px 20px 4px}.dlg-b input{width:100%;height:39px;border:1px solid var(--line2);border-radius:9px;padding:0 12px;font-size:14px;outline:none;transition:.15s;background:#fff;color:var(--ink)}.dlg-b input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(23,23,26,.07)}.dlg-f{padding:14px 20px 18px;display:flex;gap:8px;justify-content:flex-end}.dlg-f .btn{height:34px}.btn-danger{background:#C0392B;color:#fff}.btn-danger:hover{background:#A93226}.menu{position:fixed;z-index:1150;min-width:140px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 16px 40px -12px rgba(23,23,26,.28);padding:4px;display:none;animation:pop .14s}.menu.on{display:block}.menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:7px;font-size:12.5px;color:var(--ink);text-align:left;transition:.12s}.menu button:hover{background:#F5F4F2}.menu button.danger{color:#C0392B}.menu button.danger:hover{background:#FDEDED}.menu button svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.menu .sep{height:1px;background:var(--line);margin:3px 6px}.toast{position:fixed;left:50%;bottom:34px;transform:translate(-50%,12px);z-index:1200;background:rgba(20,20,24,.95);color:#fff;font-size:12.5px;padding:9px 16px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 16px 40px -14px rgba(0,0,0,.5);max-width:88vw}.toast.on{opacity:1;transform:translate(-50%)}.up{max-width:720px;margin:0 auto;padding:24px 24px 80px}.drop{border:1.5px dashed #dddad4;border-radius:var(--r3);padding:44px 28px;text-align:center;background:#FCFCFB;transition:.18s;cursor:pointer}.drop.drag,.drop:hover{border-color:#B8B5AE;background:#FAFAF8}.drop .ic{width:50px;height:50px;border-radius:13px;background:#fff;margin:0 auto 15px;display:grid;place-items:center;box-shadow:var(--sh2)}.drop .ic svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.drop h3{margin:0 0 4px;font-size:14.5px;font-weight:620}.drop p{margin:0;font-size:12.5px;color:var(--muted)}.qlist{margin-top:20px;display:flex;flex-direction:column;gap:8px}.qitem{display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:#fff}.qitem .qi{width:36px;height:36px;border-radius:7px;overflow:hidden;flex:0 0 36px;background:#F2F1EE}.qitem .qi img{width:100%;height:100%;object-fit:cover;display:block}.qitem .qn{flex:1 1;min-width:0}.qitem .qn b{display:block;font-size:12.5px;font-weight:540;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qitem .qn .bar{height:4px;border-radius:10px;background:#F0EEEA;margin-top:6px;overflow:hidden}.qitem .qn .bar i{display:block;height:100%;width:0;background:var(--ink);border-radius:10px;transition:width .3s ease}.qitem .qs{font-size:11.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.qitem.done .qs{color:#2E7D54;font-weight:600}.qitem.err .qs{color:#C0392B;font-weight:600}.adm{display:grid;grid-template-columns:178px 1fr;flex:1 1;min-height:0}.adm-nav{padding:18px 11px;border-right:1px solid var(--line);background:var(--sunken)}.adm-nav a{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-size:13px;color:var(--ink2);transition:.14s;margin-bottom:1px;cursor:pointer}.adm-nav a:hover{background:#F0EFEC;color:var(--ink)}.adm-nav a.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:var(--sh1)}.adm-nav a svg{width:14.5px;height:14.5px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.adm-body{padding:24px 28px 70px;min-width:0}.adm-h{display:flex;align-items:center;gap:12px;margin-bottom:18px}.adm-h h2{margin:0;font-size:15.5px;font-weight:650;letter-spacing:-.015em}.adm-h p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.adm-h .grow{flex:1 1}.stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:11px;gap:11px;margin-bottom:22px}.stat{padding:14px 15px;border:1px solid var(--line);border-radius:var(--r2);background:#fff}.stat .k{font-size:11.5px;color:var(--muted);font-weight:520}.stat .v{font-size:22px;font-weight:680;letter-spacing:-.03em;margin-top:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .d{font-size:11.5px;color:#2E7D54;margin-top:2px;font-weight:520}.stat .d.warn{color:#B4761C}.tbl{width:100%;border-collapse:collapse;font-size:13px}.tbl th{text-align:left;font-size:11.5px;color:var(--muted);font-weight:600;padding:0 12px 9px;letter-spacing:.02em}.tbl td,.tbl th{border-bottom:1px solid var(--line)}.tbl td{padding:12px;vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl tbody tr:hover{background:#FCFCFB}.u-cell{display:flex;align-items:center;gap:10px}.u-cell .av{width:27px;height:27px;flex:0 0 27px;font-size:10.5px}.u-cell .nm{font-weight:560;line-height:1.25}.u-cell .hd{font-size:11px;color:var(--muted)}.role{display:inline-flex;font-size:11.5px;padding:2px 8px;border-radius:20px;font-weight:560}.role.admin{background:#17171A;color:#fff}.role.up{background:#E8F0FB;color:#2554A8}.role.read{background:#F2F1EE;color:#6B6B75}.dotst{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2)}.dotst i{width:6px;height:6px;border-radius:50%;background:#2E9E63;flex:0 0 6px}.dotst.off i{background:#C4C1BB}.stor{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.storbox{border:1px solid var(--line);border-radius:var(--r2);padding:17px;background:#fff}.storbox h4{margin:0 0 3px;font-size:13px;font-weight:620}.storbox .big{font-size:25px;font-weight:680;letter-spacing:-.03em;margin:7px 0 2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.storbox .of{font-size:12px;color:var(--muted)}.prog{height:6px;background:#F0EEEA;overflow:hidden;margin-top:13px}.prog,.prog i{border-radius:10px}.prog i{display:block;height:100%;background:var(--ink)}.ranks{margin-top:13px;display:flex;flex-direction:column;gap:10px}.rank{display:flex;align-items:center;gap:9px;font-size:12.5px}.rank .rn{width:100px;flex:0 0 100px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank .rb{flex:1 1;height:6px;border-radius:10px;background:#F0EEEA;overflow:hidden}.rank .rb i{display:block;height:100%;background:#C7C4BE;border-radius:10px}.rank .rv{width:62px;flex:0 0 62px;text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11.5px}.logs{flex-direction:column}.log,.logs{display:flex}.log{gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.log:last-child{border-bottom:0}.log .li{width:27px;height:27px;border-radius:50%;flex:0 0 27px;display:grid;place-items:center;background:#F2F1EE;color:var(--ink2);font-size:10.5px;font-weight:700}.log .lc p{margin:0;font-size:12.5px;line-height:1.5}.log .lc p b{font-weight:600}.log .lc span{font-size:11.5px;color:var(--muted);display:block;margin-top:1px}.mob{display:none;flex-direction:column;min-height:100vh;background:var(--bg)}.mtop{position:-webkit-sticky;position:sticky;top:0;z-index:70;background:rgba(255,255,255,.94);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid transparent;transition:border-color .2s}.mtop.stuck{border-bottom-color:var(--line)}.mrow{display:flex;align-items:center;gap:10px;padding:12px 15px 0}.mrow .tt{font-size:15px;font-weight:650;letter-spacing:-.015em;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mrow .tt small{display:block;font-size:10.5px;color:var(--muted);font-weight:500;letter-spacing:.05em}.mrow .ib{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--ink2);flex:0 0 32px}.mrow .ib svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.msearch{margin:11px 15px 0;height:35px;background:#F5F4F2;border-radius:9px;display:flex;align-items:center;gap:8px;padding:0 11px}.msearch svg{width:14.5px;height:14.5px;stroke:var(--muted);fill:none;stroke-width:1.9;stroke-linecap:round;flex:0 0 14.5px}.msearch input{flex:1 1;min-width:0;border:0;background:none;outline:none;font-size:14px;color:var(--ink)}.mcrumb{display:flex;align-items:center;gap:5px;padding:9px 15px 0;font-size:12px;color:var(--muted);overflow-x:auto;scrollbar-width:none;white-space:nowrap}.mcrumb::-webkit-scrollbar{display:none}.mcrumb a,.mcrumb b{flex:0 0 auto;max-width:130px;overflow:hidden;text-overflow:ellipsis}.mcrumb b{color:var(--ink);font-weight:600}.mcrumb svg{width:10px;height:10px;stroke:#C9C6C0;fill:none;stroke-width:2.4;flex:0 0 10px}.mfiles{flex:1 1;padding:9px 0 96px}.mfl{border-top:1px solid var(--line)}.mfrow{display:flex;align-items:center;gap:12px;padding:12px 15px;border-bottom:1px solid var(--line);transition:.13s;cursor:pointer}.mfrow:active{background:#FAFAF9}.mfname{flex:1 1;min-width:0}.mfname b{font-size:14.5px;font-weight:600;letter-spacing:-.01em;line-height:1.3}.mfname b,.mfname span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mfname span{font-size:11.5px;color:var(--muted);margin-top:2px}.mfrow .ar{width:13px;height:13px;stroke:#C9C6C0;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 13px}.mfrow .mfo{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:var(--muted);flex:0 0 28px}.mtab{position:fixed;left:0;right:0;bottom:0;z-index:210;align-items:flex-end;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom,0);background:rgba(255,255,255,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--line)}.mtab,.mtab a{display:flex;height:56px}.mtab a{flex:1 1;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:#A3A3AC;font-weight:520;cursor:pointer}.mtab a svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mtab a.on{color:var(--ink);font-weight:600}.mtab .plus{flex:0 0 56px;height:56px;display:grid;place-items:center}.mtab .plus i{width:44px;height:44px;border-radius:14px;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(23,23,26,.45)}.mtab .plus svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round}.mup{padding:15px 15px 100px}.mbig{display:flex;align-items:center;gap:13px;padding:16px 15px;border-radius:13px;background:#fff;border:1px solid var(--line);margin-bottom:10px;transition:.14s;width:100%;text-align:left}.mbig.primary{background:var(--ink);border-color:var(--ink);color:#fff}.mbig .ic{width:42px;height:42px;border-radius:11px;background:#F2F1EE;flex:0 0 42px;display:grid;place-items:center}.mbig.primary .ic{background:rgba(255,255,255,.14)}.mbig .ic svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.mbig.primary .ic svg{stroke:#fff}.mbig .tx{flex:1 1;min-width:0}.mbig .tx b{display:block;font-size:14px;font-weight:600;letter-spacing:-.01em}.mbig .tx span{font-size:11.5px;color:var(--muted)}.mbig.primary .tx span{color:rgba(255,255,255,.6)}.mmine{padding:18px 15px 96px}.mprof{display:flex;align-items:center;gap:12px;margin-bottom:22px}.mprof .av{width:50px;height:50px;flex:0 0 50px;font-size:17px;border-radius:15px}.mprof .nm{font-size:16.5px;font-weight:650;letter-spacing:-.015em}.mprof .rl{font-size:11.5px;color:var(--muted);margin-top:2px}.mlist{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.mlist a,.mlist button{display:flex;align-items:center;gap:11px;padding:13px 14px;border-bottom:1px solid var(--line);font-size:14px;transition:.13s;width:100%;text-align:left}.mlist a:last-child,.mlist button:last-child{border-bottom:0}.mlist a:active,.mlist button:active{background:#FAFAF9}.mlist svg.ic{width:17px;height:17px;stroke:var(--ink2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px}.mlist .grow{flex:1 1}.mlist .ar{width:13px;height:13px;stroke:#C9C6C0;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.mlist .tagx{font-size:11px;color:var(--muted);background:#F5F4F2;padding:2px 7px;border-radius:20px}.msect-t{font-size:10.5px;color:#A8A8B1;font-weight:650;letter-spacing:.1em;margin:20px 0 8px;padding-left:2px;text-transform:uppercase}.madm{padding:15px 15px 96px}.madm .stats{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.madm .stat{padding:12px 13px}.madm .stat .v{font-size:19px}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:1150;background:#fff;border-radius:18px 18px 0 0;padding:8px 12px calc(12px + env(safe-area-inset-bottom, 0px));box-shadow:0 -20px 50px -20px rgba(0,0,0,.4);transform:translateY(102%);transition:transform .24s cubic-bezier(.2,.8,.3,1);display:none}.sheet.on{display:block;transform:translateY(0)}.sheet .sh{width:34px;height:4px;border-radius:10px;background:#E0DDD8;margin:4px auto 12px}.sheet button{display:flex;align-items:center;gap:12px;width:100%;padding:13px 12px;border-radius:10px;font-size:14.5px;text-align:left;transition:.12s}.sheet button:active{background:#F5F4F2}.sheet button.danger{color:#C0392B}.sheet button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.sheet .sep{height:1px;background:var(--line);margin:6px 8px}.loading{display:grid;place-items:center;padding:90px 20px;color:var(--muted);font-size:13px}.spin{width:26px;height:26px;border:2.5px solid #edece8;border-top:2.5px solid var(--ink);border-radius:50%;animation:sp .7s linear infinite;margin-bottom:12px}@keyframes sp{to{transform:rotate(1turn)}}@media (max-width:1180px){.stats{grid-template-columns:repeat(2,1fr)}.stor{grid-template-columns:1fr}.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width:940px){.sb{width:60px;flex:0 0 60px;padding:13px 7px}.sb-logo{padding:2px 5px 14px;justify-content:center}.nav a span,.sb-lbl,.sb-logo .nm{display:none}.nav a{padding:9px}.nav a,.usr{justify-content:center}.usr .meta{display:none}.adm{grid-template-columns:1fr}.adm-nav{display:flex;gap:5px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:9px 13px}.adm-nav a{flex:0 0 auto;white-space:nowrap;margin:0}.adm-nav::-webkit-scrollbar{display:none}.top h1{max-width:180px}.search{width:150px}}@media (max-width:760px){.app{display:none}.mob{display:flex}.menu{display:none!important}.top .search{display:none}}.fitem{position:relative;display:flex;flex-direction:column;gap:7px;min-width:0}.fitem .thumb{position:relative;aspect-ratio:4/5;border-radius:var(--r2);overflow:hidden;background:#F2F1EE;box-shadow:var(--sh1);cursor:zoom-in;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .2s}.fitem:hover .thumb{transform:translateY(-2px);box-shadow:var(--sh2)}.fitem .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.fitem .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:linear-gradient(150deg,#F7F6F3,#EDEBE6)}.fitem .ph svg{width:34px;height:34px}.fitem .ph span{font-size:10.5px;font-weight:650;letter-spacing:.07em;color:#9A968E}.fitem .thov{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;gap:9px;padding:34px 8px 10px;opacity:0;transition:.18s;background:linear-gradient(0deg,rgba(12,12,15,.62),rgba(12,12,15,0))}.fitem:hover .thov{opacity:1}.fitem .tbtn{width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.19);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);color:#fff;transition:.15s}.fitem .tbtn svg{width:15px;height:15px}.fitem .tbtn:hover{background:rgba(255,255,255,.94)}.fitem .tbtn:hover svg{stroke:#17171A!important}.fitem .tbtn:active{transform:scale(.93)}.fitem .tname{font-size:11.5px;line-height:1.35;color:var(--ink2);font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-all;padding:0 1px}.fitem .pick{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;border:1.8px solid rgba(255,255,255,.92);background:rgba(0,0,0,.22);display:grid;place-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:4}.fitem .pick.on{background:var(--ink);border-color:var(--ink)}.fitem .pick svg{width:12px;height:12px}.fitem.picking .thumb{cursor:pointer}.fitem.sel .thumb{outline:2.5px solid var(--ink);outline-offset:-2.5px}.fitem.picking .thov{display:none}.nopreview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:52px 30px;color:#fff;text-align:center;max-width:420px}.nopreview svg{width:54px;height:54px;opacity:.75}.nopreview b{font-size:14px;font-weight:650;word-break:break-all;line-height:1.4}.nopreview span{font-size:12px;color:rgba(255,255,255,.5)}.upbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.upbar-lb{font-size:12.5px;font-weight:600;color:var(--ink2);flex:0 0 auto}.pathsel{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:8px 13px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12.5px;font-weight:550;color:var(--ink);transition:.15s;box-shadow:var(--sh1)}.pathsel span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pathsel:hover{border-color:#D6D2CA;box-shadow:var(--sh2)}.pathsel:active{transform:scale(.99)}.mpath{width:100%;justify-content:flex-start;margin-bottom:12px;padding:11px 13px}.qi-ph{width:100%;height:100%;display:grid;place-items:center;background:#F2F1EE}.qi-ph svg{width:17px;height:17px}.pickdlg{max-width:460px}.picklist{max-height:52vh;overflow-y:auto;padding:6px 0}.pickrow{display:flex;align-items:center;gap:9px;width:100%;padding:9px 12px;font-size:12.5px;color:var(--ink2);text-align:left;transition:.12s;border-radius:7px}.pickrow:hover{background:#F6F5F2}.pickrow.on{background:#F2F1EE;color:var(--ink);font-weight:600}.pickrow .ppath{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pickrow .ppath .dim{color:var(--muted);font-weight:400}.pickrow .ppath .last{color:var(--ink);font-weight:600}.pickrow .ck{width:15px;height:15px;flex:0 0 15px}.selbar{position:fixed;left:0;right:0;bottom:74px;z-index:900;display:flex;align-items:center;gap:8px;padding:10px 14px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:12.5px;font-weight:600}.selbar,.selbar.desk{border-top:1px solid var(--line)}.selbar.desk{bottom:0;left:232px;box-shadow:0 -6px 20px -12px rgba(23,23,26,.18);padding:12px 22px}.selbar .grow{flex:1 1}.sect .n-sub{font-size:11px;color:var(--muted);font-weight:500}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 30px 16px;max-width:1500px;margin:0 auto;width:100%}.toolbar .grow{flex:1 1}.tbsel{font-size:12px;font-weight:600;color:var(--ink2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pv{position:fixed;inset:0;z-index:1200;flex-direction:column;background:rgba(10,10,12,.965);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.pv,.pv-bar{display:flex}.pv-bar{flex:0 0 auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.pv-bar .grow{flex:1 1}.pv-info{min-width:0}.pv-info b{display:block;font-size:13.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}.pv-info span{font-size:11.5px;color:rgba(255,255,255,.45);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pv-acts{display:flex;gap:8px}.pv-acts,.pv-btn{align-items:center}.pv-btn{display:inline-flex;gap:6px;height:34px;padding:0 13px;border-radius:9px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:12.5px;font-weight:550;transition:.15s;text-decoration:none;white-space:nowrap}.pv-btn:hover{background:rgba(255,255,255,.2)}.pv-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.9}.pv-x{width:34px;padding:0;justify-content:center}.pv-stage{position:relative;flex:1 1 auto;padding:18px 78px}.pv-media,.pv-stage{min-height:0;display:flex;align-items:center;justify-content:center}.pv-media{width:100%;height:100%}.pv-media img{width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px -32px rgba(0,0,0,.92)}.pv-media img,.pv-media video{max-width:100%;max-height:100%;display:block}.pv-media video{border-radius:8px}.pv-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);color:#fff;display:grid;place-items:center;transition:.15s}.pv-nav:hover{background:rgba(255,255,255,.22)}.pv-nav svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:2}.pv-nav.prev{left:18px}.pv-nav.next{right:18px}.pv-strip{flex:0 0 auto;display:flex;gap:7px;padding:10px 16px 14px;overflow-x:auto;border-top:1px solid rgba(255,255,255,.07)}.pv-strip::-webkit-scrollbar{height:4px}.pv-strip::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:4px}.pv-th{flex:0 0 auto;width:54px;height:54px;border-radius:7px;overflow:hidden;background:rgba(255,255,255,.07);border:1.5px solid transparent;display:grid;place-items:center;color:rgba(255,255,255,.6);font-size:9.5px;font-weight:700;transition:.15s}.pv-th img{width:100%;height:100%;object-fit:cover;display:block}.pv-th.on{border-color:#fff}.pv-th:hover{border-color:rgba(255,255,255,.45)}.ulist{display:flex;flex-direction:column;gap:8px}.urow{display:flex;align-items:center;gap:13px;padding:13px 15px;background:#fff;border:1px solid var(--line);border-radius:var(--r2);transition:.15s}.urow:hover{box-shadow:var(--sh1)}.urow.off{opacity:.58}.uav{width:38px;height:38px;border-radius:11px;flex:0 0 38px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:15px;font-weight:700}.umain{flex:1 1;min-width:0}.uline{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}.uline b{font-size:13.5px;font-weight:650}.uname{font-size:11.5px;color:var(--muted)}.me-tag{background:#EEF3EC;color:#4E6B44}.me-tag,.off-tag{font-size:10px;font-weight:700;padding:1.5px 6px;border-radius:5px}.off-tag{background:#FBEDEC;color:#A4362C}.pills{display:flex;flex-wrap:wrap;gap:5px}.pill{font-size:10.5px;font-weight:550;padding:2.5px 8px;border-radius:6px;background:#F4F3F0;color:var(--ink2);border:1px solid #ebe9e4}.pill.admin{background:#1F1F27;color:#fff;border-color:#1F1F27}.uacts{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.ubtn{font-size:11.5px;font-weight:550;padding:5.5px 10px;border-radius:7px;background:#F6F5F2;color:var(--ink2);border:1px solid #ebe9e4;transition:.13s}.ubtn:hover{background:#EFEDE8;color:var(--ink)}.ubtn.danger:hover{background:#FBEDEC;color:#A4362C;border-color:#F0D6D3}.warnbox{padding:11px 13px;border-radius:9px;background:#FBF7EE;border:1px solid #efe3cb;font-size:12.5px;color:#7A5D24}.acctdlg{max-width:560px}.acctbody{padding:4px 0 2px;max-height:62vh;overflow-y:auto}.frow{padding:0 22px 13px}.frow label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:6px}.frow input{width:100%;height:40px;padding:0 12px;border-radius:9px;border:1px solid var(--line);font-size:13px;background:#fff;outline:none;transition:.15s}.frow input:focus{border-color:#C9C4BA;box-shadow:0 0 0 3px rgba(201,196,186,.18)}.switch{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:#fff;font-size:12.5px;color:var(--ink2);text-align:left;transition:.15s}.switch i{width:34px;height:20px;border-radius:20px;background:#DFDCD6;position:relative;transition:.18s;flex:0 0 34px}.switch i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}.switch.on{border-color:#1F1F27;background:#F7F7F5}.switch.on i{background:#1F1F27}.switch.on i:after{left:16px}.permgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px;padding:0 22px 4px}.permitem{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-radius:9px;border:1px solid var(--line);background:#fff;text-align:left;transition:.13s}.permitem:hover{border-color:#D8D4CA}.permitem.on{border-color:#1F1F27;background:#FAFAF8}.permitem.locked{opacity:.75}.pbox{width:17px;height:17px;border-radius:5px;border:1.6px solid #d2cec6;flex:0 0 17px;display:grid;place-items:center;margin-top:1px;transition:.13s}.permitem.on .pbox{background:#1F1F27;border-color:#1F1F27}.pbox svg{width:11px;height:11px}.ptx b{display:block;font-size:12px;font-weight:600;color:var(--ink)}.ptx small{display:block;font-size:10.5px;color:var(--muted);margin-top:1px;line-height:1.3}@media (max-width:760px){.toolbar{padding:0 14px 12px;gap:7px}.toolbar .btn{font-size:12px;padding:8px 11px}.pv-stage{padding:10px 12px}.pv-nav{width:38px;height:38px}.pv-nav.prev{left:8px}.pv-nav.next{right:8px}.pv-bar{padding:10px 12px;gap:8px}.pv-info b{max-width:40vw;font-size:12.5px}.pvl{display:none}.pv-btn{width:34px;padding:0;justify-content:center}.pv-strip{padding:8px 10px 12px;gap:6px}.pv-th{width:46px;height:46px}.permgrid{grid-template-columns:1fr;padding:0 16px 4px}.frow{padding:0 16px 12px}.urow{flex-wrap:wrap;padding:12px}.uacts{width:100%;justify-content:flex-start;margin-top:4px}.uacts .ubtn{flex:1 1;text-align:center}.plus.ghost{opacity:0;pointer-events:none}}