*,*:before,*:after{box-sizing:border-box}:root{--brand: #3558e8;--brand-hover: #2a49ce;--brand-active: #2240b4;--brand-soft: #eef2ff;--brand-soft-2: #dde4ff;--n-0: #ffffff;--n-25: #fbfcfe;--n-50: #f6f8fc;--n-100:#eef1f7;--n-200:#e2e7f0;--n-300:#cdd5e3;--n-500:#6b7693;--n-700:#3b4663;--n-900:#141a2e;--ink: #141a2e;--ink-3: #262e49;--ink-text: #9aa3bd;--danger: #dc2626;--danger-soft: #fef2f2;--success: #16a34a;--success-soft: #ecfdf5;--text: var(--n-900);--text-muted: var(--n-500);--surface: var(--n-0);--surface-2: var(--n-50);--border: var(--n-200);--r-sm: 7px;--r-md: 10px;--r-lg: 14px;--shadow-sm: 0 1px 2px rgba(20,26,46,.05);--shadow-md: 0 1px 2px rgba(20,26,46,.05), 0 4px 12px rgba(20,26,46,.06);--shadow-lg: 0 2px 4px rgba(20,26,46,.05), 0 12px 32px rgba(20,26,46,.1);--sidebar-w: 236px;--topbar-h: 56px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:15px;line-height:1.5;color:var(--text);background:var(--surface-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;-webkit-text-size-adjust:100%}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}h1,h2,h3{letter-spacing:-.015em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border:1px solid transparent;border-radius:var(--r-sm);font-size:13.5px;font-weight:550;letter-spacing:-.005em;white-space:nowrap;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--brand-hover)}.btn-primary:active{background:var(--brand-active)}.btn-secondary{background:var(--surface);color:var(--n-700);border-color:var(--border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--n-50);border-color:var(--n-300);color:var(--text)}.btn-ghost{background:transparent;color:var(--n-700)}.btn-ghost:hover{background:var(--n-100)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{filter:brightness(.94)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-sm{height:30px;padding:0 11px;font-size:12.5px;gap:5px}input,select,textarea{width:100%;height:38px;padding:0 11px;border:1px solid var(--border);border-radius:var(--r-sm);font-family:inherit;font-size:16px;background:var(--surface);color:var(--text);transition:border-color .14s ease,box-shadow .14s ease}@media (min-width: 861px){input,select,textarea{font-size:14px}}textarea{height:auto;padding:9px 11px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}input::placeholder{color:var(--n-300)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7693' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:17px;height:17px;padding:0;flex-shrink:0;border:1.5px solid var(--n-300);border-radius:5px;background:var(--surface);display:inline-grid;place-content:center;transition:background .12s ease,border-color .12s ease}input[type=checkbox]:hover{border-color:var(--brand)}input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{content:"";width:10px;height:10px;background:#fff;clip-path:polygon(14% 47%,0 60%,39% 100%,100% 22%,86% 10%,37% 72%)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:18px}.card-head{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--n-100);font-size:12.5px;font-weight:650;letter-spacing:-.005em}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11.5px;font-weight:600}.badge-blue{background:var(--brand-soft);color:var(--brand)}.badge-green{background:var(--success-soft);color:var(--success)}.badge-gray{background:var(--n-100);color:var(--text-muted)}.badge-red{background:var(--danger-soft);color:var(--danger)}.page{padding:26px 28px 56px;max-width:1340px;margin:0 auto}.page-title{font-size:21px;font-weight:700;margin:0;letter-spacing:-.022em}.muted{color:var(--text-muted)}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:11px;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:9px 14px;border-bottom:1px solid var(--n-100)}td{padding:11px 14px;border-bottom:1px solid var(--n-100);font-size:13.5px}tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--ink);color:var(--ink-text);display:flex;flex-direction:column;flex-shrink:0;position:fixed;top:0;left:0;height:100vh;z-index:40;padding-bottom:env(safe-area-inset-bottom);transition:transform .24s cubic-bezier(.4,0,.2,1)}.sidebar-head{padding:18px 16px 14px}.sidebar-user{font-size:11.5px;color:#6f7890;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{flex:1;padding:6px 10px;overflow-y:auto}.sidebar-foot{padding:10px;border-top:1px solid var(--ink-3)}.nav-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);margin-bottom:1px;color:var(--ink-text);background:transparent;border:none;width:100%;text-decoration:none;font-size:13.5px;font-weight:500;text-align:left;transition:background .14s ease,color .14s ease}.nav-link:hover{text-decoration:none;background:#ffffff0e;color:#e8ecf5}.nav-link.active{background:var(--brand);color:#fff;box-shadow:0 1px 8px #3558e866}.nav-sub{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 34px;border-radius:var(--r-sm);margin-bottom:1px;font-size:12.5px;color:#7a8399;text-decoration:none}.nav-sub:hover{text-decoration:none;background:#ffffff0e;color:#e8ecf5}.nav-sub.active{color:#fff;background:#ffffff17}.nav-sub-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-sub-empty{padding:3px 10px 8px 34px;font-size:11px;color:#5c6680;line-height:1.4}.main{margin-left:var(--sidebar-w);flex:1;min-width:0;min-height:100vh}.topbar,.scrim{display:none}@media (max-width: 860px){.sidebar{transform:translate(-100%);width:min(82vw,290px);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.main{margin-left:0;padding-top:calc(var(--topbar-h) + env(safe-area-inset-top))}.topbar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--topbar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;background:#141a2ee0;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);color:#fff}.topbar-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--r-sm);background:transparent;border:none;color:#fff}.topbar-btn:hover{background:#ffffff1a}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;background:#0a0e1a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .24s ease}.scrim.open{opacity:1;pointer-events:auto}.page{padding:16px 14px 40px}.page-title{font-size:19px}.card-pad{padding:14px}}.finder{display:grid;gap:14px;align-items:start;grid-template-columns:228px minmax(0,1fr) 236px}@media (max-width: 1180px){.finder{grid-template-columns:206px minmax(0,1fr)}}@media (max-width: 820px){.finder{grid-template-columns:minmax(0,1fr)}}.pathbar{display:flex;align-items:center;gap:1px;padding:5px 7px;margin-bottom:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.pathbar::-webkit-scrollbar{height:0}.pathbar-group{display:inline-flex;align-items:center;gap:1px}.pathbar-sep{color:var(--n-300);display:inline-flex;padding:0 1px}.pathbar-seg a{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:var(--r-sm);font-size:13px;font-weight:500;color:var(--n-700);text-decoration:none;transition:background .14s ease,color .14s ease}.pathbar-seg a:hover{background:var(--n-100);color:var(--text);text-decoration:none}.pathbar-seg.current a{background:var(--brand-soft);color:var(--brand);font-weight:600}.tree{padding:5px;overflow-y:auto}.tree-row{display:flex;align-items:center;border-radius:var(--r-sm);margin-bottom:1px}.tree-row:hover{background:var(--n-50)}.tree-row.selected{background:var(--brand-soft)}.tree-row.selected .tree-link{color:var(--brand);font-weight:600}.tree-twisty{flex-shrink:0;width:18px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:0;color:var(--n-300);transition:color .12s ease}.tree-twisty:hover{color:var(--n-500)}.tree-link{display:flex;align-items:center;gap:7px;flex:1;min-width:0;padding:5px 7px 5px 0;font-size:13px;color:var(--n-700);text-decoration:none}.tree-link:hover{text-decoration:none}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-grid{display:grid;gap:10px;padding:14px;grid-template-columns:repeat(auto-fill,minmax(146px,1fr))}@media (max-width: 420px){.item-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px;padding:10px}}.item{position:relative;display:flex;flex-direction:column;padding:10px;border-radius:var(--r-md);border:1px solid transparent;background:var(--surface);min-width:0;text-align:left;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.item:hover{background:var(--n-25);border-color:var(--border);box-shadow:var(--shadow-md)}.item.selected{border-color:var(--brand);background:var(--brand-soft)}.item.selected:hover{background:var(--brand-soft)}.item-thumb{height:66px;border-radius:var(--r-sm);margin-bottom:9px;background:var(--n-50);display:flex;align-items:center;justify-content:center;color:var(--n-500);transition:background .14s ease,color .14s ease}.item.selected .item-thumb{background:var(--brand-soft-2);color:var(--brand)}.item-folder .item-thumb{color:var(--brand);background:var(--brand-soft)}.item-open{display:block;width:100%;min-width:0;background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left}.item-name{font-size:12.5px;font-weight:550;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.item-meta{font-size:11px;color:var(--text-muted);margin-top:3px}.item-check{position:absolute;top:9px;left:9px;z-index:2;margin:0}.item-check:not(:checked){opacity:0;transition:opacity .14s ease}.item:hover .item-check,.item-check:focus-visible{opacity:1}@media (hover: none){.item-check:not(:checked){opacity:1}}.item-actions{display:flex;gap:3px;margin-top:9px;padding-top:8px;border-top:1px solid var(--n-100)}.icon-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);padding:0;transition:background .12s ease,color .12s ease}.icon-btn:hover{background:var(--n-100);color:var(--n-700)}.icon-btn.active{color:#e0a800}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.star-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-sm);background:none;border:none;padding:0;color:var(--n-300);transition:background .12s ease,color .12s ease}.star-btn:hover{background:var(--n-100);color:var(--n-500)}.star-btn.active{color:#e0a800}.dropzone{border:1.5px dashed var(--n-300);border-radius:var(--r-md);background:var(--n-50);text-align:center;transition:border-color .14s ease,background .14s ease}.dropzone.over{border-color:var(--brand);background:var(--brand-soft)}.empty{text-align:center;padding:44px 20px;color:var(--text-muted);font-size:13.5px}.empty-icon{color:var(--n-300);margin:0 auto 12px}@media (max-width: 860px){.drag-only{display:none}}.progress{flex:1;height:5px;background:var(--n-100);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:999px;transition:width .18s ease}.list-head,.list-row{display:grid;grid-template-columns:22px 1fr 92px 104px 104px;align-items:center;gap:10px;padding:0 14px}.list-head{height:34px;border-bottom:1px solid var(--n-100);font-size:11px;font-weight:650;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.list-row{height:42px;border-bottom:1px solid var(--n-100);transition:background .12s ease}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--n-25)}.list-row.selected{background:var(--brand-soft)}.list-name{display:flex;align-items:center;gap:9px;min-width:0;background:none;border:none;padding:0;font:inherit;text-align:left;color:var(--text);font-size:13.5px;font-weight:500}.list-name .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row.is-folder .list-name{color:var(--brand);font-weight:550}.list-icon{color:var(--text-muted);flex-shrink:0}.list-row.is-folder .list-icon{color:var(--brand)}.list-meta{font-size:12.5px;color:var(--text-muted);white-space:nowrap}.list-actions{display:flex;gap:2px;justify-content:flex-end}.list-actions .icon-btn{flex:0 0 26px;height:26px;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.list-row:hover .list-actions .icon-btn,.list-actions .icon-btn:focus-visible,.list-actions .icon-btn.active{opacity:1}@media (hover: none){.list-actions .icon-btn{opacity:1}}.view-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--n-100);border-radius:var(--r-sm)}.view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;border:none;background:transparent;border-radius:5px;color:var(--text-muted);padding:0;transition:background .12s ease,color .12s ease}.view-toggle button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}@media (max-width: 760px){.list-head,.list-row{grid-template-columns:22px 1fr 84px 92px}.list-col-date{display:none}}@media (max-width: 480px){.list-head,.list-row{grid-template-columns:20px 1fr 84px;padding:0 10px;gap:8px}.list-col-size{display:none}.list-row{height:46px}}
