:root{--bg:oklch(96.5% .004 265);--panel:oklch(100% 0 0);--side:oklch(98% .004 265);--line:oklch(90% .006 265);--line-soft:oklch(93% .005 265);--ink:oklch(26% .02 265);--mut:oklch(50% .015 265);--dim:oklch(64% .012 265);--acc:oklch(55% .2 274);--acc-soft:oklch(95% .03 274);--acc-ink:oklch(98% .02 274);--amber:oklch(78% .14 78);--pink:oklch(70% .17 12);--cyan:oklch(72% .13 210);--green:oklch(68% .15 155);--sp:cubic-bezier(.34, 1.4, .5, 1);--sh:0 1px 2px oklch(20% .02 265/.06), 0 8px 24px -14px oklch(30% .03 265/.28)}html.dark{--bg:oklch(16% .01 265);--panel:oklch(20.5% .013 265);--side:oklch(18.5% .012 265);--line:oklch(31% .015 265);--line-soft:oklch(27% .013 265);--ink:oklch(95% .006 265);--mut:oklch(72% .015 265);--dim:oklch(56% .015 265);--acc:oklch(72% .16 274);--acc-soft:oklch(32% .07 274);--acc-ink:oklch(16% .02 265);--sh:0 1px 2px oklch(0% 0 0/.3), 0 10px 28px -16px oklch(0% 0 0/.6)}*{box-sizing:border-box;margin:0}html{color-scheme:light}html.dark{color-scheme:dark}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;height:100dvh;font:13.5px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;display:flex;overflow:hidden}::selection{background:color-mix(in oklch, var(--acc) 30%, transparent)}.side{background:var(--side);border-right:1px solid var(--line);width:260px;transition:transform .32s var(--sp);z-index:40;flex-direction:column;flex:none;gap:3px;padding:16px 12px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 8px 16px;font-size:16px;font-weight:750;display:flex}.brand .bx{width:32px;height:32px;color:var(--acc-ink);background:linear-gradient(140deg, var(--acc), oklch(62% .18 320));border-radius:9px;place-items:center;font-weight:800;display:grid;box-shadow:0 5px 16px -5px oklch(55% .2 274/.55)}.nav-lbl{letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding:14px 10px 6px;font-size:10px;font-weight:700}.nav{gap:2px;display:grid}.nav button{width:100%;color:var(--mut);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:8px 10px;font-size:13.5px;font-weight:550;transition:background .15s,color .15s;display:flex}.nav button:hover{background:color-mix(in oklch, var(--acc) 8%, transparent);color:var(--ink)}.nav button[aria-current=true]{background:var(--acc-soft);color:var(--acc);font-weight:650}.nav .ni{width:18px;height:18px;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:currentColor;flex:none}.nav .cnt{color:var(--dim);margin-left:auto;font-size:11px;font-weight:600}.storage{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin-top:auto;padding:14px}.storage .st-h{justify-content:space-between;margin-bottom:9px;font-size:12px;display:flex}.storage .st-h b{font-weight:650}.storage .st-h span{color:var(--dim)}.meter{background:color-mix(in oklch, var(--line) 70%, transparent);border-radius:99px;gap:1.5px;height:8px;display:flex;overflow:hidden}.meter i{height:100%;display:block}.storage .leg{color:var(--dim);flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:11px;display:flex}.storage .leg span{align-items:center;gap:5px;display:inline-flex}.storage .leg i{border-radius:2px;width:8px;height:8px}.upgrade{background:var(--acc);width:100%;color:var(--acc-ink);cursor:pointer;transition:transform .2s var(--sp);border:0;border-radius:10px;margin-top:10px;padding:9px;font:650 12.5px inherit}.upgrade:hover{transform:translateY(-1px)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.crumbs{letter-spacing:-.01em;align-items:center;gap:3px;min-width:0;font-size:15px;font-weight:700;display:flex}.crumbs button{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 6px;font-weight:600}.crumbs button:hover{background:var(--acc-soft);color:var(--acc)}.crumbs .sep{color:var(--dim);font-weight:400}.bar .sp{flex:1}.search{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:8px;width:240px;max-width:42vw;height:36px;padding:0 12px;display:flex}.search .si{background:var(--dim);width:15px;height:15px;-webkit-mask:var(--m-search) center/contain no-repeat;mask:var(--m-search) center/contain no-repeat}.search input{color:var(--ink);font:inherit;background:0 0;border:0;outline:none;width:100%}select.sort{border:1px solid var(--line);background:var(--panel);height:36px;color:var(--mut);font:inherit;cursor:pointer;border-radius:10px;padding:0 8px;font-size:12.5px}.ibtn{border:1px solid var(--line);background:var(--panel);width:36px;height:36px;color:var(--mut);cursor:pointer;transition:all .22s var(--sp);border-radius:10px;place-items:center;display:grid}.ibtn:hover{color:var(--acc);border-color:color-mix(in oklch, var(--acc) 45%, var(--line));transform:translateY(-1px)}.ibtn .g{width:17px;height:17px;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:currentColor}.ibtn[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.upload-btn{background:var(--acc);height:36px;color:var(--acc-ink);cursor:pointer;transition:transform .2s var(--sp), box-shadow .2s;border:0;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font:650 13px inherit;display:inline-flex}.upload-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px oklch(55% .2 274/.6)}.mob{display:none}.note{color:var(--mut);background:color-mix(in oklch, var(--acc) 6%, var(--panel));border-bottom:1px solid var(--line-soft);align-items:center;gap:9px;padding:9px 18px;font-size:12.5px;display:flex}.note b{color:var(--acc)}.files{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;padding:18px;overflow:auto}.grid{grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px;display:grid}.f{border:1px solid var(--line);background:var(--panel);cursor:pointer;user-select:none;transition:transform .28s var(--sp), border-color .18s, box-shadow .28s, background .18s;border-radius:14px;padding:11px;position:relative}.f:hover{border-color:color-mix(in oklch, var(--acc) 40%, var(--line));box-shadow:var(--sh);transform:translateY(-3px)}.f.sel{border-color:var(--acc);background:color-mix(in oklch, var(--acc) 7%, var(--panel));box-shadow:0 0 0 1px var(--acc) inset}.thumb{background:color-mix(in oklch, var(--line) 45%, var(--panel));border-radius:10px;place-items:center;height:100px;margin-bottom:11px;display:grid;position:relative;overflow:hidden}.fi{min-width:0}.fn{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.fn[contenteditable=true]{white-space:normal;outline:2px solid var(--acc);border-radius:5px;padding:0 3px}.fm{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.ck{z-index:3;width:18px;height:18px;accent-color:var(--acc);cursor:pointer;opacity:0;transition:opacity .15s;position:absolute;top:9px;left:9px}.f:hover .ck,.f.sel .ck,.files.has-sel .ck{opacity:1}.more{z-index:3;cursor:pointer;background:color-mix(in oklch, var(--panel) 70%, transparent);width:28px;height:28px;color:var(--mut);opacity:0;border:0;border-radius:8px;font-size:16px;line-height:1;transition:opacity .15s,background .15s;position:absolute;top:7px;right:7px}.f:hover .more,.f:focus-within .more{opacity:1}.more:hover{background:var(--acc-soft);color:var(--acc)}.k-folder{background:linear-gradient(160deg, color-mix(in oklch, var(--amber) 20%, var(--panel)), color-mix(in oklch, var(--amber) 8%, var(--panel)))}.k-folder:before{content:"";background:var(--amber);width:44px;height:44px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5A2 2 0 0 1 5 4.5h3.7a2 2 0 0 1 1.5.7l1 1.1h9a2 2 0 0 1 2 2v9.2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E") 50%/contain no-repeat}.k-image{background:linear-gradient(150deg, var(--cyan), oklch(60% .17 300) 70%, var(--pink))}.k-image:before{content:"";background:oklch(95% .1 90/.85);border-radius:50%;width:26px;height:26px;position:absolute;top:20px;right:30px;box-shadow:0 0 24px oklch(95% .12 90/.6)}.k-image:after{content:"";clip-path:polygon(0 100%,22% 42%,40% 70%,63% 20%,100% 72%,100% 100%);background:oklch(25% .05 265/.55);height:46px;position:absolute;inset:auto 0 0}.k-video{background:linear-gradient(150deg,oklch(40% .09 285),oklch(28% .06 265))}.k-video:before{content:"";filter:drop-shadow(0 2px 6px oklch(0% 0 0/.4));border-top:12px solid #0000;border-bottom:12px solid #0000;border-left:20px solid oklch(98% .02 285);width:0;height:0;margin-left:5px}.thumb .ext{z-index:1;letter-spacing:.03em;color:#fff;border-radius:9px;padding:6px 12px;font:800 15px ui-sans-serif,system-ui;position:relative}.k-doc{background:color-mix(in oklch, var(--pink) 14%, var(--panel))}.k-doc .ext{background:var(--pink);box-shadow:0 4px 12px -4px oklch(70% .17 12/.6)}.k-code{background:color-mix(in oklch, var(--acc) 14%, var(--panel))}.k-code .ext{background:var(--acc)}.k-zip{background:color-mix(in oklch, var(--amber) 16%, var(--panel))}.k-zip .ext{background:oklch(60% .13 60)}.k-sheet{background:color-mix(in oklch, var(--green) 15%, var(--panel))}.k-sheet .ext{background:var(--green)}.files.list .grid{display:block}.files.list .head{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);grid-template-columns:1fr 120px 110px 90px;gap:12px;padding:6px 14px 10px;font-size:11px;font-weight:700;display:grid}.files:not(.list) .head{display:none}.files.list .f{border-radius:11px;grid-template-columns:1fr 120px 110px 90px;align-items:center;gap:12px;margin-bottom:5px;padding:9px 14px;display:grid}.files.list .f:hover{transform:none}.files.list .thumb{border-radius:9px;width:46px;height:38px;margin:0}.files.list .k-folder:before,.files.list .k-image:before{width:22px;height:22px;top:6px;right:8px}.files.list .k-image:after{height:18px}.files.list .k-video:before{border-top-width:7px;border-bottom-width:7px;border-left-width:11px}.files.list .thumb .ext{border-radius:5px;padding:2px 5px;font-size:8.5px}.files.list .f>.fi{display:contents}.files.list .fn{grid-column:auto;align-items:center;display:flex}.files.list .lc{color:var(--mut);white-space:nowrap;font-size:12px}.files.list .ck,.files.list .more{opacity:1;position:static}.list-name{align-items:center;gap:12px;min-width:0;display:flex}.files.skel .f{pointer-events:none}.files.skel .thumb,.files.skel .fn,.files.skel .fm{border-radius:8px;position:relative;overflow:hidden;background:color-mix(in oklch, var(--line) 60%, transparent)!important;color:#0000!important}.files.skel .thumb:before,.files.skel .fn:before,.files.skel .fm:before{content:none}.files.skel .thumb .ext{display:none}.files.skel .f{animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.empty{text-align:center;color:var(--dim);padding:70px 20px}.empty .ei{opacity:.5;margin-bottom:8px;font-size:34px}.selbar{z-index:50;background:var(--ink);color:var(--bg);border-radius:14px;align-items:center;gap:6px;padding:8px 8px 8px 16px;font-size:13px;font-weight:600;display:none;position:fixed;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 18px 44px -14px oklch(0% 0 0/.5)}.selbar.on{animation:rise .35s var(--sp);display:flex}@keyframes rise{0%{opacity:0;transform:translate(-50%)translateY(12px)}}.selbar button{background:color-mix(in oklch, var(--bg) 18%, transparent);color:inherit;font:inherit;cursor:pointer;border:0;border-radius:9px;padding:7px 12px}.selbar button:hover{background:color-mix(in oklch, var(--bg) 30%, transparent)}.details{background:var(--panel);border-left:1px solid var(--line);z-index:45;width:320px;max-width:88vw;transition:transform .34s var(--sp);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-20px 0 60px -30px oklch(0% 0 0/.4)}.details.on{transform:translate(0)}.details .dh{border-bottom:1px solid var(--line);align-items:center;padding:14px 16px;font-weight:650;display:flex}.details .dh .x{background:var(--bg);cursor:pointer;width:30px;height:30px;color:var(--mut);border:0;border-radius:8px;margin-left:auto;font-size:15px}.details .db{padding:18px 16px;overflow:auto}.details .prev{border-radius:14px;height:150px;margin-bottom:16px}.dmeta{gap:0;display:grid}.dmeta div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:10px 0;font-size:13px;display:flex}.dmeta div:last-child{border:0}.dmeta .l{color:var(--dim)}.dmeta .v{font-weight:600}.dact{grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px;display:grid}.dact button{border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:10px;padding:10px;font:600 12.5px inherit;transition:all .2s}.dact button:hover{border-color:var(--acc);color:var(--acc)}.dact button.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);grid-column:1/-1}.dz{z-index:60;border:2.5px dashed var(--acc);background:color-mix(in oklch, var(--acc) 16%, transparent);backdrop-filter:blur(4px);border-radius:22px;place-items:center;display:none;position:fixed;inset:12px}.dz.on{display:grid}.dz b{background:var(--panel);box-shadow:var(--sh);border-radius:14px;padding:18px 26px;font-size:16px}.ctx{z-index:70;background:var(--panel);border:1px solid var(--line);border-radius:13px;min-width:186px;padding:6px;display:none;position:fixed;box-shadow:0 20px 50px -16px oklch(0% 0 0/.35)}.ctx.on{animation:cm .2s var(--sp);display:block}@keyframes cm{0%{opacity:0;transform:scale(.96)}}.ctx button{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;padding:9px 11px;font-size:13px;display:flex}.ctx button:hover{background:var(--acc-soft);color:var(--acc)}.ctx button.danger:hover{background:color-mix(in oklch, var(--pink) 14%, transparent);color:var(--pink)}.ctx hr{border:0;border-top:1px solid var(--line-soft);margin:5px 8px}.tray{background:var(--panel);border:1px solid var(--line);z-index:55;border-radius:15px;width:min(320px,100vw - 36px);display:none;position:fixed;bottom:76px;right:18px;overflow:hidden;box-shadow:0 20px 50px -18px oklch(0% 0 0/.35)}.tray.on{animation:rise2 .4s var(--sp);display:block}@keyframes rise2{0%{opacity:0;transform:translateY(14px)}}.tray h3{border-bottom:1px solid var(--line);justify-content:space-between;padding:12px 15px;font-size:12.5px;display:flex}.tray h3 button{cursor:pointer;color:var(--dim);background:0 0;border:0;font-size:14px}.up{border-bottom:1px solid var(--line-soft);gap:6px;padding:11px 15px;display:grid}.up .r{justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.up .r b{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:600;overflow:hidden}.up .r .ok{color:var(--green);font-weight:700}.pb{background:color-mix(in oklch, var(--line) 70%, transparent);border-radius:99px;height:5px;overflow:hidden}.pb i{background:var(--acc);border-radius:99px;width:0;height:100%;transition:width .2s;display:block}dialog{background:var(--panel);width:min(420px,100vw - 28px);color:var(--ink);border:0;border-radius:18px;margin:auto;padding:0;box-shadow:0 40px 90px -30px oklch(0% 0 0/.5)}dialog::backdrop{backdrop-filter:blur(4px);background:oklch(20% .02 265/.4)}.dg{padding:22px}.dg h3{letter-spacing:-.01em;margin-bottom:4px;font-size:16.5px}.dg p{color:var(--dim);margin-bottom:16px;font-size:12.5px}.dg .row{gap:8px;display:flex}.dg select,.dg input{border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;font-size:13px}.dg input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:12px}.dg .btn{background:var(--acc);color:var(--acc-ink);cursor:pointer;border:0;border-radius:10px;padding:10px 15px;font:650 13px inherit}.toasts{z-index:65;gap:8px;display:grid;position:fixed;bottom:76px;left:18px}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--sh);animation:rise2 .4s var(--sp);border-radius:12px;align-items:center;gap:12px;padding:11px 15px;font-size:12.5px;font-weight:600;display:flex}.toast button{color:var(--acc);cursor:pointer;background:0 0;border:0;font:700 12px inherit}html.dark .toast button{color:oklch(80% .14 274)}@media (width<=860px){.side{position:fixed;inset:0 auto 0 0;transform:translate(-101%);box-shadow:20px 0 60px -20px oklch(0% 0 0/.4)}.side.open{transform:translate(0)}.mob{display:grid}.search{width:150px}.details{width:100%}}:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
