body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--brand-800:#0a3f6b;--brand-700:#0b5a93;--brand-600:#0e73ba;--brand-500:#1d8ad6;--brand-300:#8cc6ee;--brand-100:#d9ecfa;--brand-50:#eef6fc;--ink-900:#0f2137;--ink-700:#2a3b53;--ink-500:#5b6b82;--ink-400:#8795a9;--ink-300:#b4bfcd;--line:#e2e8f1;--line-strong:#d0d9e5;--bg:#f3f6fa;--surface:#fff;--surface-2:#f8fafd;--red-600:#d92d20;--red-700:#b42318;--red-50:#fef3f2;--red-100:#fee4e2;--green-600:#12855a;--green-50:#ecfdf3;--amber-700:#b54708;--amber-500:#f79009;--amber-50:#fffaeb;--amber-100:#fef0c7;--side-1:#0b2a4a;--side-2:#0d3d69;--r-sm:8px;--r:10px;--r-lg:14px;--r-xl:18px;--shadow-xs:0 1px 2px #0f21370f;--shadow-sm:0 1px 3px #0f213714,0 1px 2px #0f21370a;--shadow-md:0 10px 24px -6px #0f213724,0 2px 6px #0f21370d;--shadow-lg:0 24px 56px -12px #0f213747,0 4px 12px #0f213714;--sidebar-w:264px;--topbar-h:64px}*,:after,:before{box-sizing:border-box}body,html{height:100%}body{background:#f3f6fa;background:var(--bg);color:#0f2137;color:var(--ink-900);font-size:14px;line-height:1.5}h1,h2,h3,p{margin:0}button,input,select{color:inherit;font-family:inherit;font-size:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid #1d8ad6;outline:2px solid var(--brand-500);outline-offset:2px}.pre-line{white-space:pre-line}.btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;border-radius:var(--r);display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:38px;justify-content:center;line-height:1;padding:0 14px;text-decoration:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}.btn:disabled{opacity:.5}.btn-primary{background:#0e73ba;background:var(--brand-600);box-shadow:0 1px 2px #0e73ba59;color:#fff}.btn-primary:hover:not(:disabled){background:#0b5a93;background:var(--brand-700);box-shadow:0 4px 12px #0e73ba52}.btn-quiet{background:#fff;background:var(--surface);border-color:#d0d9e5;border-color:var(--line-strong);color:#2a3b53;color:var(--ink-700)}.btn-quiet:hover:not(:disabled){background:#f8fafd;background:var(--surface-2);border-color:#b4bfcd;border-color:var(--ink-300);color:#0f2137;color:var(--ink-900)}.btn-soft{background:#eef6fc;background:var(--brand-50);border-color:#d9ecfa;border-color:var(--brand-100);color:#0b5a93;color:var(--brand-700)}.btn-soft:hover:not(:disabled){background:#d9ecfa;background:var(--brand-100)}.btn-danger{background:#d92d20;background:var(--red-600);color:#fff}.btn-danger:hover:not(:disabled){background:#b42318;background:var(--red-700)}.btn-danger-quiet{background:#fff;background:var(--surface);border-color:#fee4e2;border-color:var(--red-100);color:#d92d20;color:var(--red-600)}.btn-danger-quiet:hover:not(:disabled){background:#fef3f2;background:var(--red-50)}.btn-sm{border-radius:8px;border-radius:var(--r-sm);font-size:12.5px;height:32px;padding:0 11px}.btn-xs{border-radius:7px;font-size:12px;height:28px;padding:0 10px}.btn-block{font-size:14.5px;height:44px;width:100%}.icon-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;border-radius:var(--r);color:#5b6b82;color:var(--ink-500);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s,color .15s,border-color .15s;width:36px}.icon-btn.ghost:hover{background:#0f213712;color:#0f2137;color:var(--ink-900)}.icon-btn.outline{background:#fff;background:var(--surface);border-color:#d0d9e5;border-color:var(--line-strong);color:#2a3b53;color:var(--ink-700)}.icon-btn.outline:hover{border-color:#8cc6ee;border-color:var(--brand-300);color:#0e73ba;color:var(--brand-600)}.mini-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#5b6b82;color:var(--ink-500);display:inline-flex;flex-shrink:0;height:30px;justify-content:center;transition:background .15s,color .15s,transform .15s;width:30px}.mini-btn:hover{background:#eef6fc;background:var(--brand-50);color:#0e73ba;color:var(--brand-600)}.mini-btn.danger:hover{background:#fef3f2;background:var(--red-50);color:#d92d20;color:var(--red-600)}.mini-btn.ok{background:#ecfdf3;background:var(--green-50);color:#12855a;color:var(--green-600)}.mini-btn.solid{background:#fffffff5;border-radius:9px;box-shadow:0 2px 8px #0f213738;color:#2a3b53;color:var(--ink-700);height:32px;width:32px}.mini-btn.solid:hover{background:#fff;color:#0e73ba;color:var(--brand-600);transform:translateY(-1px)}.mini-btn.solid.danger:hover{color:#d92d20;color:var(--red-600)}.mini-btn.solid.ok{background:#12855a;background:var(--green-600);color:#fff}.link-btn{align-items:center;background:none;border:none;border-radius:6px;color:#8795a9;color:var(--ink-400);display:inline-flex;font-size:12px;font-weight:500;gap:4px;margin:-2px -4px;padding:2px 4px}.link-btn:hover{background:#eef6fc;background:var(--brand-50);color:#0e73ba;color:var(--brand-600)}.shell{display:flex;min-height:100vh}.shell-main{flex:1 1;min-width:0}.shell-main,.sidebar{display:flex;flex-direction:column}.sidebar{background:radial-gradient(120% 60% at 0 0,#29a3d947 0,#0000 60%),linear-gradient(180deg,#0b2a4a,#0d3d69);background:radial-gradient(120% 60% at 0 0,#29a3d947 0,#0000 60%),linear-gradient(180deg,var(--side-1) 0,var(--side-2) 100%);color:#ffffffc7;flex-shrink:0;height:100vh;position:-webkit-sticky;position:sticky;top:0;width:264px;width:var(--sidebar-w);z-index:60}.sidebar-scrim{display:none}.brand{align-items:center;display:flex;gap:12px;padding:18px 18px 16px}.brand-mark{align-items:center;display:inline-flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.brand-mark img{filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:100%;object-fit:contain;width:100%}.brand-text{display:flex;flex-direction:column;line-height:1.25;min-width:0}.brand-text strong{color:#fff;font-size:15.5px;font-weight:700;letter-spacing:-.01em}.brand-text span{color:#fff9;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-close{color:#fffc;display:none;margin-left:auto}.sidebar .icon-btn.ghost:hover{background:#ffffff1f;color:#fff}.side-nav{display:flex;flex:1 1;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;padding:4px 12px 12px;scrollbar-color:#ffffff38 #0000;scrollbar-width:thin}.side-label{color:#ffffff6b;font-size:10.5px;font-weight:600;letter-spacing:.09em;padding:14px 10px 6px;text-transform:uppercase}.side-folders{display:flex;flex-direction:column;gap:2px}.side-item{align-items:center;background:#0000;border:none;border-radius:9px;color:#ffffffc2;display:flex;font-size:13.5px;font-weight:500;gap:10px;min-height:36px;padding:7px 10px;position:relative;text-align:left;transition:background .15s,color .15s;width:100%}.side-item svg{flex-shrink:0;opacity:.85}.side-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item:hover:not(:disabled){background:#ffffff14;color:#fff}.side-item.active{background:#ffffff24;color:#fff;font-weight:600}.side-item.active:before{background:#5cc3f6;border-radius:0 3px 3px 0;bottom:8px;content:"";left:-12px;position:absolute;top:8px;width:3px}.side-item:disabled{opacity:.6}.side-user{align-items:center;background:#ffffff14;border-radius:12px;display:flex;gap:10px;margin:0 12px 12px;padding:10px}.avatar{align-items:center;background:linear-gradient(135deg,#3aa9e8,#1d6fb8);border-radius:50%;color:#fff;display:inline-flex;flex-shrink:0;font-size:12.5px;font-weight:700;height:36px;justify-content:center;letter-spacing:.02em;width:36px}.side-user-text{display:flex;flex:1 1;flex-direction:column;line-height:1.3;min-width:0}.side-user-text strong{color:#fff;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user-text span{color:#ffffff94;font-size:11.5px}.side-user .icon-btn{color:#ffffffbf}.topbar{align-items:center;background:#f3f6fa;background:var(--bg);border-bottom:1px solid #e2e8f1;border-bottom:1px solid var(--line);display:flex;gap:12px;height:64px;height:var(--topbar-h);padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar-menu{display:none}.search{align-items:center;background:#fff;background:var(--surface);border:1px solid #d0d9e5;border:1px solid var(--line-strong);border-radius:11px;color:#8795a9;color:var(--ink-400);display:flex;flex:1 1;gap:8px;height:40px;max-width:440px;min-width:0;padding:0 12px;transition:border-color .15s,box-shadow .15s}.search:focus-within{border-color:#1d8ad6;border-color:var(--brand-500);box-shadow:0 0 0 3px #1d8ad629}.search input{background:#0000;border:none;color:#0f2137;color:var(--ink-900);flex:1 1;font-size:13.5px;min-width:0;outline:none;width:100%}.search input::placeholder{color:#8795a9;color:var(--ink-400)}.search-clear{align-items:center;background:#e2e8f1;background:var(--line);border:none;border-radius:50%;color:#5b6b82;color:var(--ink-500);display:inline-flex;height:22px;justify-content:center;width:22px}.search-clear:hover{background:#d0d9e5;background:var(--line-strong);color:#0f2137;color:var(--ink-900)}.topbar-more{align-items:center;display:flex;gap:8px;margin-left:auto}.topbar-upload{flex-shrink:0}.search+.topbar-upload{margin-left:auto}.load-bar{bottom:-2px;height:2px;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0}.load-bar.on:after{animation:load-slide 1.1s ease-in-out infinite;background:linear-gradient(90deg,#0000,#1d8ad6,#0000);background:linear-gradient(90deg,#0000,var(--brand-500),#0000);content:"";inset:0;position:absolute;width:40%}@keyframes load-slide{0%{transform:translateX(-100%)}to{transform:translateX(260%)}}.page{display:flex;flex:1 1;flex-direction:column;max-width:1680px;padding:20px 28px;width:100%}.breadcrumb{align-items:center;display:flex;flex-wrap:wrap;gap:2px;margin:0 -8px 10px}.crumb{align-items:center;background:none;border:none;border-radius:7px;color:#5b6b82;color:var(--ink-500);display:inline-flex;font-size:13px;font-weight:500;gap:6px;max-width:260px;padding:4px 8px}.crumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover{background:#0e73ba17;color:#0b5a93;color:var(--brand-700)}.crumb.current{color:#0f2137;color:var(--ink-900);font-weight:600}.crumb-sep{color:#b4bfcd;color:var(--ink-300);display:inline-flex}.page-head{align-items:center;display:flex;gap:14px;margin-bottom:22px}.page-title{min-width:0}.page-title h1{font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-title p{color:#5b6b82;color:var(--ink-500);font-size:13px;margin-top:3px}.page-error{margin-bottom:18px}.page-error .btn{margin-left:auto}.is-refreshing{opacity:.55;pointer-events:none;transition:opacity .2s}.page-foot{color:#8795a9;color:var(--ink-400);display:flex;flex-wrap:wrap;font-size:12px;gap:4px 16px;justify-content:space-between;margin-top:auto;padding-top:36px}.skeleton-grid,.skeleton-row{grid-gap:14px;display:grid;gap:14px}.skeleton-row{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-bottom:30px}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.sk{animation:sk-shine 1.4s linear infinite;background:linear-gradient(100deg,#e6ecf3 30%,#f2f5f9 50%,#e6ecf3 70%);background-size:300% 100%;border-radius:14px;border-radius:var(--r-lg);display:block}.sk-tile{height:66px}.sk-card{aspect-ratio:4/3.9}@keyframes sk-shine{0%{background-position:100% 0}to{background-position:-50% 0}}.block{margin-bottom:30px}.block-head{align-items:center;display:flex;gap:8px;margin-bottom:12px}.block-head h2{color:#0f2137;color:var(--ink-900);font-size:14.5px;font-weight:600}.count{background:#e4eaf2;border-radius:999px;font-size:11.5px;font-weight:600;height:20px;justify-content:center;min-width:24px;padding:0 7px}.count,.sort{align-items:center;color:#5b6b82;color:var(--ink-500);display:inline-flex}.sort{background:#fff;background:var(--surface);border:1px solid #d0d9e5;border:1px solid var(--line-strong);border-radius:9px;gap:6px;height:32px;margin-left:auto;padding:0 4px 0 10px}.sort select{background:#0000;border:none;color:#2a3b53;color:var(--ink-700);cursor:pointer;font-size:12.5px;font-weight:600;height:30px;outline:none;padding:0 4px}.sort:focus-within{border-color:#1d8ad6;border-color:var(--brand-500)}.folder-grid{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.folder-tile{--folder-back:#6db9ea;--folder-front:#2b93dc;align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:14px;border-radius:var(--r-lg);cursor:pointer;display:flex;gap:12px;min-height:66px;padding:12px 10px 12px 14px;position:relative;transition:border-color .15s,box-shadow .18s,transform .18s}.folder-tile:focus-within,.folder-tile:hover{border-color:#8cc6ee;border-color:var(--brand-300);box-shadow:0 10px 24px -6px #0f213724,0 2px 6px #0f21370d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.folder-tile.is-renaming{border-color:#1d8ad6;border-color:var(--brand-500);box-shadow:0 0 0 3px #1d8ad624;cursor:default;transform:none}.folder-ico{display:inline-flex;flex-shrink:0}.folder-body{display:flex;flex:1 1;flex-direction:column;line-height:1.3;min-width:0}.folder-name{color:#0f2137;color:var(--ink-900);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-sub{align-items:center;color:#8795a9;color:var(--ink-400);display:inline-flex;font-size:12px;gap:4px;margin-top:2px}.folder-sub.used{color:#b54708;color:var(--amber-700);font-weight:500}.tile-actions{align-items:center;display:flex;flex-shrink:0;gap:1px}@media (hover:hover){.tile-actions{background:linear-gradient(90deg,#fff0,#fff 20px);background:linear-gradient(90deg,#fff0,var(--surface) 20px);border-radius:8px;opacity:0;padding-left:22px;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .15s}.folder-tile:focus-within .tile-actions,.folder-tile:hover .tile-actions{opacity:1;pointer-events:auto}}.rename-box{flex:1 1;min-width:0}.rename-input{background:#fff;background:var(--surface);border:1px solid #1d8ad6;border:1px solid var(--brand-500);border-radius:8px;box-shadow:0 0 0 3px #1d8ad624;font-size:13px;height:32px;outline:none;padding:0 9px;width:100%}.rename-actions{display:flex;gap:6px;margin-top:7px}.file-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.file-card{background:#fff;background:var(--surface);border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:14px;border-radius:var(--r-lg);display:flex;flex-direction:column;position:relative;transition:border-color .15s,box-shadow .18s,transform .18s}.file-card.menu-open,.file-card:focus-within,.file-card:hover{border-color:#8cc6ee;border-color:var(--brand-300);box-shadow:0 10px 24px -6px #0f213724,0 2px 6px #0f21370d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.file-card.menu-open{z-index:20}.file-thumb{aspect-ratio:4/3;background:#e9eef5;border-radius:13px 13px 0 0;overflow:hidden;position:relative}.file-open{background:none;border:none;cursor:zoom-in;display:block;height:100%;padding:0;width:100%}.file-thumb.kind-pdf .file-open{cursor:pointer}.file-open img{display:block;height:100%;object-fit:cover;opacity:0;transition:opacity .2s ease;width:100%}.file-open img.is-loaded{opacity:1}.type-tile{align-items:center;color:#8795a9;color:var(--ink-400);display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center;position:relative;width:100%}.type-tile small{font-size:11.5px;font-weight:500;line-height:1.3;padding:0 10px}.type-tile.pdf{background:linear-gradient(160deg,#fff5f4,#fde3e0);color:#d92d20;color:var(--red-600)}.type-tile.video{background:linear-gradient(160deg,#24344b,#141d2b);color:#ffffff47}.type-tile.image{background:#eef2f7}.type-tile.waiting{animation:sk-shine 1.4s linear infinite;background:linear-gradient(100deg,#e6ecf3 30%,#f2f5f9 50%,#e6ecf3 70%);background-size:300% 100%}.play-badge{align-items:center;background:#fffffff0;border-radius:50%;box-shadow:0 4px 14px #00000059;color:#1a2637;display:inline-flex;height:44px;justify-content:center;left:50%;margin:-22px 0 0 -22px;padding-left:2px;position:absolute;top:50%;width:44px}.type-chip{background:#0f2137c7;border-radius:6px;color:#fff;font-size:10px;font-weight:700;left:8px;letter-spacing:.05em;padding:2px 7px;pointer-events:none;position:absolute;top:8px}.type-chip.kind-pdf{background:#d92d20;background:var(--red-600)}.type-chip.kind-video{background:#6941c6}.type-chip.static{background:#2a3b53;background:var(--ink-700);position:static}.type-chip.static.kind-pdf{background:#d92d20;background:var(--red-600)}.type-chip.static.kind-video{background:#6941c6}.used-chip{align-items:center;background:#f79009;background:var(--amber-500);border-radius:999px;bottom:8px;box-shadow:0 2px 6px #0f213738;color:#fff;display:inline-flex;font-size:10.5px;font-weight:600;gap:4px;left:8px;padding:3px 8px 3px 6px;position:absolute}.file-actions{display:flex;gap:6px;opacity:0;position:absolute;right:8px;top:8px;transform:translateY(-3px);transition:opacity .15s,transform .15s}.file-card.menu-open .file-actions,.file-card:focus-within .file-actions,.file-card:hover .file-actions{opacity:1;transform:none}.file-info{padding:10px 12px 12px}.file-name{color:#0f2137;color:var(--ink-900);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{align-items:center;color:#8795a9;color:var(--ink-400);display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-top:3px;white-space:nowrap}.file-meta>span{overflow:hidden;text-overflow:ellipsis}.mini-btn.rename-btn{border-radius:6px;color:#8795a9;color:var(--ink-400);height:24px;margin:-3px -5px -3px 0;width:24px}.file-card:hover .rename-btn,.rename-btn:focus-visible{color:#2a3b53;color:var(--ink-700)}.mini-btn.rename-btn:hover{color:#0e73ba;color:var(--brand-600)}.load-more{display:flex;justify-content:center;padding:22px 0 4px}.copy-menu{animation:pop-in .14s ease-out;background:#fff;background:var(--surface);border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 56px -12px #0f213747,0 4px 12px #0f213714;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:1px;max-width:calc(100vw - 32px);padding:6px;position:absolute;right:8px;top:48px;width:268px;z-index:25}.copy-menu-title{color:#8795a9;color:var(--ink-400);font-size:10.5px;font-weight:600;letter-spacing:.07em;padding:5px 8px 6px;text-transform:uppercase}.copy-menu-item{align-items:baseline;background:#0000;border:none;border-radius:8px;color:#0f2137;color:var(--ink-900);display:flex;font-size:13px;gap:10px;padding:7px 8px;text-align:left}.copy-menu-item:hover{background:#eef6fc;background:var(--brand-50)}.copy-menu-item b{font-weight:600;min-width:32px}.copy-menu-item span{color:#5b6b82;color:var(--ink-500);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.empty{align-items:center;border:1.5px dashed #d0d9e5;border:1.5px dashed var(--line-strong);border-radius:18px;border-radius:var(--r-xl);color:#5b6b82;color:var(--ink-500);display:flex;flex-direction:column;gap:6px;padding:64px 16px;text-align:center}.empty h3{color:#0f2137;color:var(--ink-900);font-size:16px;font-weight:600}.empty p{font-size:13px}.empty .btn{margin-top:12px}.empty-art{align-items:center;background:#eef6fc;background:var(--brand-50);border-radius:20px;color:#0e73ba;color:var(--brand-600);display:inline-flex;height:68px;justify-content:center;margin-bottom:8px;width:68px}.empty-art.small{border-radius:16px;height:52px;width:52px}.callout{align-items:flex-start;border:1px solid #0000;border-radius:10px;border-radius:var(--r);display:flex;font-size:13px;gap:10px;line-height:1.5;padding:10px 12px}.callout svg{flex-shrink:0;margin-top:2px}.callout.info{background:#eef6fc;background:var(--brand-50);border-color:#d9ecfa;border-color:var(--brand-100);color:#0a3f6b;color:var(--brand-800)}.callout.warn{background:#fffaeb;background:var(--amber-50);border-color:#fef0c7;border-color:var(--amber-100);color:#b54708;color:var(--amber-700)}.callout.danger{background:#fef3f2;background:var(--red-50);border-color:#fee4e2;border-color:var(--red-100);color:#b42318;color:var(--red-700)}.callout.page-error{align-items:center}.callout.page-error svg{margin-top:0}.preview{animation:fade-in .15s ease;background:#0a1422;display:grid;grid-template-columns:minmax(0,1fr) 360px;inset:0;position:fixed;z-index:1400}.preview-stage{align-items:center;background:radial-gradient(80% 80% at 50% 40%,#29a3d924,#0000 70%),#0a1422;display:flex;justify-content:center;min-height:0;padding:28px 72px;position:relative}.preview-stage img,.preview-stage video{border-radius:8px;box-shadow:0 20px 60px #00000080;max-height:100%;max-width:100%}.preview-stage img{opacity:0;transition:opacity .2s}.preview-stage img.is-loaded{opacity:1}.preview-spinner{animation:spin .8s linear infinite;border:3px solid #fff3;border-radius:50%;border-top-color:#fff;height:34px;position:absolute;width:34px}.preview-nav{align-items:center;background:#ffffff1f;border:none;border-radius:50%;color:#fff;display:inline-flex;height:44px;justify-content:center;margin-top:-22px;position:absolute;top:50%;transition:background .15s;width:44px}.preview-nav:hover{background:#ffffff3d}.preview-nav.prev{left:16px}.preview-nav.next{right:16px}.preview-counter{background:#ffffff1f;border-radius:999px;bottom:10px;color:#ffffffd9;font-size:12px;font-weight:500;left:50%;padding:2px 10px;position:absolute;transform:translateX(-50%)}.preview-panel{background:#fff;background:var(--surface);display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:16px 20px 20px}.preview-panel-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.preview-name{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.35;overflow-wrap:anywhere}.preview-facts{grid-gap:5px 14px;display:grid;font-size:13px;gap:5px 14px;grid-template-columns:auto 1fr;margin:12px 0 14px}.preview-facts dt{color:#8795a9;color:var(--ink-400)}.preview-facts dd{color:#2a3b53;color:var(--ink-700);font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-section{color:#8795a9;color:var(--ink-400);font-size:10.5px;font-weight:600;letter-spacing:.08em;margin:16px 0 8px;text-transform:uppercase}.link-rows{display:flex;flex-direction:column;gap:6px}.link-row{align-items:center;background:#fff;background:var(--surface);border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:10px;border-radius:var(--r);color:#5b6b82;color:var(--ink-500);display:flex;gap:10px;padding:9px 12px;text-align:left;transition:border-color .15s,background .15s,color .15s;width:100%}.link-row:hover{background:#eef6fc;background:var(--brand-50);border-color:#8cc6ee;border-color:var(--brand-300);color:#0e73ba;color:var(--brand-600)}.link-row.ok{background:#ecfdf3;background:var(--green-50);border-color:#a6e3c5;color:#12855a;color:var(--green-600)}.link-row-text{display:flex;flex:1 1;flex-direction:column;line-height:1.3;min-width:0}.link-row-text b{color:#0f2137;color:var(--ink-900);font-size:13.5px;font-weight:600}.link-row-text span{color:#5b6b82;color:var(--ink-500);font-size:12px}.preview-buttons{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:16px}.preview-delete{margin-top:8px}.modal{align-items:center;animation:fade-in .15s ease;background:#0a142299;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1500}.modal-card{animation:rise .2s ease;background:#fff;background:var(--surface);border-radius:18px;border-radius:var(--r-xl);box-shadow:0 24px 56px -12px #0f213747,0 4px 12px #0f213714;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-width:100%;overflow:hidden;width:440px}.modal-card.modal-wide{width:620px}.modal-card.modal-tall{height:min(640px,calc(100vh - 32px))}.modal-card>form{display:flex;flex-direction:column;min-height:0}.modal-head{align-items:flex-start;display:flex;gap:12px;padding:20px 20px 4px}.modal-head>div{flex:1 1;min-width:0;padding-top:1px}.modal-head h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em;line-height:1.35}.modal-head p{color:#5b6b82;color:var(--ink-500);font-size:13px;margin-top:2px}.modal-head p b{color:#2a3b53;color:var(--ink-700);font-weight:600;overflow-wrap:anywhere}.modal-ico{align-items:center;background:#eef6fc;background:var(--brand-50);border-radius:12px;color:#0e73ba;color:var(--brand-600);display:inline-flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.modal-ico.danger{background:#fef3f2;background:var(--red-50);color:#d92d20;color:var(--red-600)}.modal-x{margin:-6px -8px 0 0}.modal-body{display:flex;flex-direction:column;gap:12px;min-height:0;padding:14px 20px 18px}.modal-scroll{flex:1 1;overflow-y:auto}.modal-text{color:#2a3b53;color:var(--ink-700);font-size:13.5px;line-height:1.6;overflow-wrap:anywhere}.modal-foot{background:#f8fafd;background:var(--surface-2);border-top:1px solid #e2e8f1;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.field{display:flex;flex-direction:column;gap:6px}.field>span:first-child{color:#2a3b53;color:var(--ink-700);font-size:12.5px;font-weight:600}.field-box,.field>input{background:#fff;background:var(--surface);border:1px solid #d0d9e5;border:1px solid var(--line-strong);border-radius:10px;border-radius:var(--r);height:42px;transition:border-color .15s,box-shadow .15s}.field>input{font-size:14px;outline:none;padding:0 12px}.field-box{align-items:center;color:#8795a9;color:var(--ink-400);display:flex;gap:9px;padding:0 12px}.field-box input{background:#0000;border:none;color:#0f2137;color:var(--ink-900);flex:1 1;font-size:14px;height:100%;min-width:0;outline:none}.field-box:focus-within,.field>input:focus{border-color:#1d8ad6;border-color:var(--brand-500);box-shadow:0 0 0 3px #1d8ad629}.field input::placeholder{color:#8795a9;color:var(--ink-400)}.form-error{background:#fef3f2;background:var(--red-50);border:1px solid #fee4e2;border:1px solid var(--red-100);border-radius:10px;border-radius:var(--r);color:#b42318;color:var(--red-700);font-size:13px;padding:9px 12px}.dropzone{align-items:center;background:#f8fafd;background:var(--surface-2);border:1.5px dashed #d0d9e5;border:1.5px dashed var(--line-strong);border-radius:14px;border-radius:var(--r-lg);color:#5b6b82;color:var(--ink-500);cursor:pointer;display:flex;flex-direction:column;font-size:12.5px;gap:4px;padding:26px 16px;text-align:center;transition:border-color .15s,background .15s}.dropzone strong{color:#0f2137;color:var(--ink-900);font-size:14px;font-weight:600}.dropzone.is-dragging,.dropzone:hover{background:#eef6fc;background:var(--brand-50);border-color:#1d8ad6;border-color:var(--brand-500)}.dropzone-ico{align-items:center;background:#d9ecfa;background:var(--brand-100);border-radius:14px;color:#0e73ba;color:var(--brand-600);display:inline-flex;height:48px;justify-content:center;margin-bottom:6px;width:48px}.picked{border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:10px;border-radius:var(--r);overflow:hidden}.picked-head{align-items:center;background:#f8fafd;background:var(--surface-2);border-bottom:1px solid #e2e8f1;border-bottom:1px solid var(--line);color:#2a3b53;color:var(--ink-700);display:flex;font-size:12.5px;font-weight:600;justify-content:space-between;padding:8px 12px}.picked-list{list-style:none;margin:0;max-height:190px;overflow-y:auto;padding:4px 0}.picked-list li{align-items:center;display:flex;font-size:13px;gap:10px;min-height:32px;padding:1px 6px 1px 12px}.picked-list li.bad{color:#d92d20;color:var(--red-600)}.picked-list li.more{color:#8795a9;color:var(--ink-400)}.picked-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picked-size{color:#8795a9;color:var(--ink-400);flex-shrink:0;font-size:12px}.picked-list li.bad .picked-size{color:#d92d20;color:var(--red-600);font-weight:600}.check-list{border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:10px;border-radius:var(--r);overflow:hidden}.check-row{align-items:center;cursor:pointer;display:flex;font-size:13.5px;gap:10px;min-height:38px;padding:6px 12px}.check-list .check-row+.check-row{border-top:1px solid #e2e8f1;border-top:1px solid var(--line)}.check-row:hover{background:#f8fafd;background:var(--surface-2)}.check-row.on{background:#eef6fc;background:var(--brand-50)}.check-row.check-all{font-weight:600;padding-left:13px}.check-row.check-all:hover{background:none}.check-row input{accent-color:#0e73ba;accent-color:var(--brand-600);cursor:pointer;flex-shrink:0;height:16px;width:16px}.check-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-size{flex-shrink:0;font-size:12px}.check-size,.list-empty{color:#8795a9;color:var(--ink-400)}.list-empty{align-items:center;display:flex;flex-direction:column;font-size:13.5px;gap:4px;justify-content:center;padding:36px 12px;text-align:center}.trash-list{border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:10px;border-radius:var(--r);list-style:none;margin:0;overflow:hidden;padding:0}.trash-row{align-items:center;display:flex;gap:12px;padding:10px 12px}.trash-row+.trash-row{border-top:1px solid #e2e8f1;border-top:1px solid var(--line)}.trash-ico{align-items:center;background:#eef1f6;border-radius:10px;color:#5b6b82;color:var(--ink-500);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.trash-ico.folder{background:#eef6fc;background:var(--brand-50);color:#0e73ba;color:var(--brand-600)}.trash-main{flex:1 1;min-width:0}.trash-name{font-size:13.5px;font-weight:600}.trash-meta,.trash-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-meta{color:#5b6b82;color:var(--ink-500);font-size:12px}.trash-actions{display:flex;flex-shrink:0;gap:6px}.upload-card{align-items:center;padding:28px 26px 24px;text-align:center;width:400px}.upload-card h3{font-size:17px;font-weight:700}.upload-card p{color:#5b6b82;color:var(--ink-500);font-size:13px;margin-top:2px}.upload-ico{align-items:center;animation:bob 1.6s ease-in-out infinite;background:#eef6fc;background:var(--brand-50);border-radius:18px;color:#0e73ba;color:var(--brand-600);display:inline-flex;height:56px;justify-content:center;margin-bottom:12px;width:56px}.progress{background:#e4eaf2;border-radius:999px;height:8px;margin:20px 0 16px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#0e73ba,#46b3ef);background:linear-gradient(90deg,var(--brand-600),#46b3ef);border-radius:999px;height:100%;transition:width .25s ease}.upload-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);width:100%}.upload-stats>div{background:#f8fafd;background:var(--surface-2);border-radius:10px;border-radius:var(--r);display:flex;flex-direction:column;padding:8px 4px}.upload-stats span{color:#8795a9;color:var(--ink-400);font-size:11.5px}.upload-stats strong{font-size:14.5px;font-weight:700}.toast{align-items:center;animation:toast-in .22s ease;background:#0f2137;background:var(--ink-900);border:1px solid #ffffff24;border-radius:12px;bottom:28px;box-shadow:0 24px 56px -12px #0f213747,0 4px 12px #0f213714;box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:13.5px;font-weight:500;gap:10px;left:50%;max-width:min(560px,calc(100vw - 32px));padding:12px 16px 12px 14px;position:fixed;transform:translateX(-50%);z-index:2000}.toast svg{flex-shrink:0}.toast.success svg{color:#4ade80}.toast.warning svg{color:#fbbf24}.toast.error svg{color:#f87171}.toast.info svg{color:#7cc7f5}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.login{background:#f3f6fa;background:var(--bg);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh}.login-hero{align-items:center;background:radial-gradient(60% 50% at 85% 10%,#5cc3f66b,#0000 70%),radial-gradient(50% 45% at 5% 95%,#29a3d959,#0000 70%),linear-gradient(150deg,#0a2c4d,#0d4a7c 55%,#0e6aab);color:#fff;display:flex;overflow:hidden;padding:56px clamp(32px,6vw,88px);position:relative}.login-hero:after{border:1px solid #ffffff24;border-radius:50%;bottom:-120px;box-shadow:0 0 0 60px #ffffff0a,0 0 0 130px #ffffff08;content:"";height:420px;pointer-events:none;position:absolute;right:-120px;width:420px}.login-hero-inner{max-width:520px;position:relative;z-index:1}.brand-mark.large{height:68px;margin-bottom:26px;width:68px}.login-eyebrow{color:#ffffffb3;font-size:13px;font-weight:600;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}.login-hero h1{font-size:clamp(34px,4vw,52px);font-weight:700;letter-spacing:-.025em;line-height:1.1}.login-hero h1+p{color:#ffffffc7;font-size:15.5px;line-height:1.6;margin-top:14px;max-width:460px}.login-points{display:flex;flex-direction:column;gap:12px;list-style:none;margin:34px 0 0;padding:0}.login-points li{align-items:center;color:#ffffffe6;display:flex;font-size:14px;gap:12px}.login-points li span{background:#ffffff21;border-radius:11px;display:inline-flex;flex-shrink:0;height:36px;width:36px}.login-points li span,.login-side{align-items:center;justify-content:center}.login-side{display:flex;padding:32px 20px}.login-card{background:#fff;background:var(--surface);border:1px solid #e2e8f1;border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 24px -6px #0f213724,0 2px 6px #0f21370d;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:14px;max-width:400px;padding:32px 30px 26px;width:100%}.login-card h2{font-size:22px;font-weight:700;letter-spacing:-.02em}.login-sub{color:#5b6b82;color:var(--ink-500);font-size:13.5px;margin-bottom:4px;margin-top:-10px}.login-card-logo{background:linear-gradient(150deg,#0d4a7c,#0e73ba);border-radius:16px;display:none;height:56px;padding:8px;width:56px}.login-card .btn-block,.login-foot{margin-top:6px}.login-foot{color:#8795a9;color:var(--ink-400);font-size:11.5px;line-height:1.6;text-align:center}@media (hover:none){.file-actions{opacity:1;transform:none}}@media (max-width:1280px) and (min-width:641px){.topbar-more .btn-quiet{padding:0;width:38px}.topbar-more .btn-quiet span{display:none}}@media (max-width:960px){.sidebar{box-shadow:0 24px 56px -12px #0f213747,0 4px 12px #0f213714;box-shadow:var(--shadow-lg);left:0;position:fixed;top:0;transform:translateX(-102%);transition:transform .24s ease;width:min(300px,86vw)}.sidebar.open{transform:none}.sidebar-scrim{background:#0a142280;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s;z-index:55}.sidebar-scrim.show{opacity:1;pointer-events:auto}.sidebar-close,.topbar-menu{display:inline-flex}.topbar{gap:8px;padding:0 14px}.page{padding:16px 14px}.page-title h1{font-size:22px}.preview{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,46vh) minmax(0,1fr)}.preview-stage{padding:16px 52px}.preview-nav.prev{left:6px}.preview-nav.next{right:6px}.login{grid-template-columns:1fr}.login-hero{display:none}.login-card-logo{display:inline-flex}}@media (max-width:640px){.topbar{flex-wrap:wrap;height:auto;padding:10px 12px;row-gap:8px}.search{max-width:none}.topbar-upload{padding:0 12px}.topbar-more{margin-left:0;order:5;overflow-x:auto;scrollbar-width:none;width:100%}.topbar-more::-webkit-scrollbar{display:none}.topbar-more .btn{flex-shrink:0;font-size:12.5px;height:34px;padding:0 11px}.block-head h2{white-space:nowrap}.sort select{max-width:128px}.folder-grid{gap:8px;grid-template-columns:1fr}.file-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-row{grid-template-columns:1fr}.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.file-card.menu-open,.file-card:focus-within,.file-card:hover{transform:none}.copy-menu{bottom:12px;left:12px;max-width:none;padding:8px;position:fixed;right:12px;top:auto;width:auto;z-index:1300}.copy-menu-item{padding:11px 10px}.trash-row{flex-wrap:wrap}.trash-actions{padding-left:48px;width:100%}.modal{align-items:flex-end;padding:0}.modal-card,.modal-card.modal-wide{border-radius:20px 20px 0 0;max-height:92vh;width:100%}.modal-card.modal-tall{height:86vh}.toast{bottom:16px}}@media (max-width:420px){.search input::placeholder{color:#0000}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.folder-ico{position:relative}.folder-lock{align-items:center;background:#0f2137;background:var(--ink-900);border:2px solid #fff;border:2px solid var(--surface);border-radius:50%;bottom:-1px;color:#fff;display:inline-flex;height:19px;justify-content:center;position:absolute;right:-5px;width:19px}.folder-sub.locked{color:#5b6b82;color:var(--ink-500);font-weight:500}.side-lock{margin-left:auto;opacity:.6}.lock-chip{align-items:center;background:#e4eaf2;border-radius:999px;color:#2a3b53;color:var(--ink-700);display:inline-flex;flex-shrink:0;font-size:12px;font-weight:600;gap:5px;height:26px;padding:0 10px 0 8px}.page-lock-btn{flex-shrink:0;margin-left:auto}.lock-chip+.page-lock-btn{margin-left:0}.page-head .lock-chip{margin-left:auto}.locked-panel{align-items:center;border:1.5px dashed #d0d9e5;border:1.5px dashed var(--line-strong);border-radius:18px;border-radius:var(--r-xl);display:flex;flex-direction:column;gap:10px;padding:56px 16px;text-align:center}.locked-art{align-items:center;background:#e4eaf2;border-radius:20px;color:#2a3b53;color:var(--ink-700);display:inline-flex;height:68px;justify-content:center;margin-bottom:4px;width:68px}.locked-panel h3{font-size:17px;font-weight:700}.locked-panel p{color:#5b6b82;color:var(--ink-500);font-size:13.5px;max-width:440px}.locked-panel p b{color:#0f2137;color:var(--ink-900);overflow-wrap:anywhere}.locked-form{display:flex;gap:8px;margin-top:6px;max-width:420px;width:100%}.locked-form .field-box{flex:1 1;height:40px;min-width:0;padding-right:4px}.locked-form .btn{height:40px}.locked-panel .form-error{max-width:420px;width:100%}.locked-panel>.btn-sm{margin-top:6px}.field .field-box{padding-right:6px}.check-row.check-single{font-weight:500;min-height:0;padding:2px 0}.check-row.check-single:hover{background:none}.modal-foot .foot-left{margin-right:auto}@media (max-width:640px){.locked-form{flex-direction:column}.page-head{flex-wrap:wrap}.page-head .lock-chip{margin-left:0}}
/*# sourceMappingURL=main.73010fa4.css.map*/