:root{--bg:#fafbfc;--surface:#fff;--sidebar:#f4f5f7;--ink:#25262b;--muted:#858891;--line:#e9eaee;--accent:#ed7149;--accent-dark:#d45b35;--accent-soft:#fcf0e9;--green:#4a9577;--radius:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button,input,select{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ef9674;outline-offset:3px}button{border:0;background:none}svg.icon{width:20px;height:20px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h2{font-size:18px;font-weight:650}h3{font-size:15px}i{font-style:normal;display:inline-flex}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}button:hover,a.button:hover{filter:brightness(.98)}[hidden]{display:none!important}.muted{color:var(--muted);line-height:1.8}.accent{color:var(--accent)}.primary{background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:8px;min-height:42px;padding:10px 18px;font-weight:550;box-shadow:0 2px 2px #ac50200a;transition:background .15s,transform .15s}.primary:hover{background:var(--accent-dark)}.primary:active{transform:translateY(1px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:white;border:1px solid #e2e4e9;border-radius:8px;min-height:40px;padding:9px 14px;white-space:nowrap;font-size:13px}.button:hover{background:#f7f8fa}.small{min-height:34px;padding:7px 12px;font-size:12px}.small .icon{width:16px;height:16px}.text-button{padding:8px;color:#777a82;font-size:12px;gap:5px}.text-button .icon{width:14px;height:14px}.icon-button{width:34px;height:34px;padding:7px;border-radius:7px;color:#82858e;flex-shrink:0}.icon-button:hover{color:var(--ink);background:#eceef1}.icon-button .icon{width:18px;height:18px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);display:inline-block;flex-shrink:0}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:33px 22px 0;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:750;letter-spacing:1px}.brand-mark{width:39px;height:43px;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;box-shadow:0 4px 9px #d8774030}.brand-mark svg{width:29px;height:29px}.brand-en{display:block;font-size:10px;letter-spacing:1.3px;font-weight:500;color:#8f9099;margin-top:2px}.workspace-label{font-size:11px;color:#92949d;margin:19px 0 27px;letter-spacing:1px}.sidebar-upload{width:100%;justify-content:flex-start;margin-bottom:35px}.sidebar-upload span{margin-left:auto;opacity:.65;font-size:16px}.nav-label{font-size:10px;color:#a0a2aa;letter-spacing:1.5px;margin:0 12px 12px}.nav-item{height:44px;width:100%;justify-content:flex-start;padding:0 13px;border-radius:8px;margin:2px 0;font-size:13px;gap:13px;color:#777b84;text-align:left}.nav-item .icon{width:18px;height:18px}.nav-item:hover{background:#eceef1}.nav-item.active{color:#d86a45;background:#f8e9e1;font-weight:600}.nav-count{margin-left:auto;background:#e9eaed;color:#81838b;border-radius:5px;font-size:10px;min-width:20px;padding:2px 5px}.nav-item.active .nav-count{background:#f4d9cb;color:#c9623f}.nav-end{margin-left:auto}.nav-end .icon{width:14px;height:14px}.nav-divider{height:1px;background:#e5e7eb;margin:22px 10px}.sidebar-bottom{margin-top:auto;padding-top:30px}.local-card{background:#fff9f3;border:1px solid #f0e6db;border-radius:11px;padding:16px;margin-bottom:25px}.local-card-head{display:flex;align-items:center;gap:7px;font-size:11px;color:#8c7e71}.local-card-head .icon{width:16px;height:16px}.local-card-head .status-dot{margin-left:auto}.local-card strong{display:inline-block;font-size:23px;letter-spacing:-.6px;margin:16px 0 4px;font-weight:600}.storage-caption{display:block;font-size:10px;color:#aaa096}.local-card p{border-top:1px solid #efe5dc;font-size:10px;color:#a79b8e;line-height:1.9;margin-top:15px;padding-top:12px}.profile{border-top:1px solid #e2e4e9;min-height:85px;gap:10px;width:100%;justify-content:flex-start;text-align:left}.avatar{width:34px;height:34px;background:#e3e6e9;color:#6f7780;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600}.profile strong{font-size:12px;display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis}.profile small{font-size:10px;color:#92959e;display:block;margin-top:4px}.profile>.icon{width:15px;height:15px;margin-left:auto;color:#999ca5}.app-shell{margin-left:230px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;padding:0 42px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.topbar-left,.topbar-right{display:flex;align-items:center;gap:19px;font-size:12px}.topbar-title{color:#8a8d96}.topbar-slash{color:#c4c6cb}.topbar-right{gap:24px}.connection-state{display:flex;align-items:center;gap:7px;color:#79827d;font-size:11px}.connection-state.offline{color:#b36148}.connection-state.offline .status-dot{background:#cf795a}.topbar-right .button{font-size:11px}.mobile-menu{display:none}main{padding:39px 42px 0;width:100%;max-width:1600px;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2.5px;color:#a0a2aa;font-weight:600;display:block;margin-bottom:12px}h1{font-size:30px;letter-spacing:-.7px;font-weight:650;line-height:1.4}.page-heading p{margin-top:9px;color:#9699a2;font-size:12px}.heading-note{font-size:10px;color:#92969e;display:flex;align-items:center;gap:7px;margin-bottom:3px}.note-divider{color:#c2c4cb;margin:0 3px}.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:20px;margin-bottom:36px}.upload-zone{border:1px dashed #eac3ae;border-radius:var(--radius);background:#fffbf7;min-height:231px;padding:27px 29px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between}.upload-copy{position:relative;z-index:1}.section-kicker{font-size:9px;color:#ba947e;letter-spacing:1.5px}.upload-copy h2{font-size:23px;margin-top:9px;font-weight:650;letter-spacing:-.5px}.upload-copy p{font-size:11px;color:#ab9d93;margin-top:9px}.upload-buttons{display:flex;align-items:center;gap:12px;margin-top:21px}.upload-buttons .primary{min-height:37px;padding:8px 15px;font-size:12px}.upload-buttons .icon{width:16px;height:16px}.upload-destination{font-size:9px;color:#b9a99f;display:flex;align-items:center;gap:5px;margin-top:15px}.upload-destination span{max-width:230px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.upload-destination .icon{width:11px;height:11px}.transfer-art{position:relative;width:195px;height:180px;flex-shrink:0;margin-right:3px}.art-orbit{position:absolute;inset:14px 2px 0 0;border:1px solid #f4e8dd;border-radius:50%;transform:rotate(-20deg)}.art-orbit:after{content:"";position:absolute;inset:15px -8px;border:1px dashed #ead9c9;border-radius:50%;transform:rotate(45deg)}.art-file{position:absolute;border-radius:12px;width:77px;height:98px;padding:17px 13px;background:#fff;box-shadow:0 12px 24px #9a724716;border:1px solid #efe2d7}.art-file .icon{width:29px;height:29px;stroke-width:1.4}.art-file span{display:block;width:40px;height:4px;border-radius:4px;background:currentColor;opacity:.2;margin-top:10px}.art-file span+span{width:27px;margin-top:6px}.art-back{left:28px;top:33px;transform:rotate(-16deg);color:#d5b797;background:#fffdfa}.art-front{left:89px;top:50px;transform:rotate(12deg);color:#e49271}.art-arrow{position:absolute;background:var(--accent);color:white;width:42px;height:42px;display:grid;place-items:center;left:64px;top:115px;border-radius:50%;border:5px solid #fffbf7;box-shadow:0 8px 15px #c5885420}.art-arrow .icon{width:20px;height:20px}.art-spark{position:absolute;color:#d4b593;font-size:17px;font-weight:300}.spark-one{left:153px;top:17px}.spark-two{left:14px;top:115px;font-size:12px}.art-dot{position:absolute;width:6px;height:6px;background:#e9cdb0;border-radius:50%;right:13px;bottom:23px}.connect-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px;display:block;text-align:left;position:relative}.connect-card-top{display:flex;justify-content:space-between;align-items:center;color:#b8bcc4}.device-symbol{display:inline-flex;padding:9px;background:#f2f5f6;border-radius:9px;color:#81919a}.device-symbol .icon{width:24px;height:24px}.connect-card-top>.icon{width:15px;height:15px}.connect-card h3{font-size:14px;margin-top:18px;font-weight:600}.connect-card p{font-size:11px;color:#999da5;line-height:1.9;margin-top:8px}.connect-link{display:flex;align-items:center;gap:6px;font-size:11px;color:#9f7763;margin-top:20px}.connect-link .icon{width:14px;height:14px}.library-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.library-heading h2{font-size:17px;display:flex;gap:10px;align-items:center}.library-heading h2 span{font-weight:500;background:#eceef1;color:#9397a0;font-size:10px;padding:3px 6px;border-radius:5px}.library-actions{display:flex;align-items:center;gap:12px}.library-actions .button{font-size:11px}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:4px;flex-shrink:0}.filter-tabs button{font-size:11px;color:#93969f;padding:8px 11px;border-radius:6px;white-space:nowrap}.filter-tabs button.active{color:#d6724c;background:#faeee7;font-weight:550}.toolbar-right{display:flex;align-items:center;gap:12px;min-width:0}.search-field{background:#fff;border:1px solid var(--line);height:33px;display:flex;align-items:center;gap:7px;border-radius:6px;padding:0 9px;width:190px}.search-field .icon{width:14px;height:14px;color:#a0a5ad}.search-field input{width:100%;min-width:0;font-size:10px;border:0;background:transparent;color:var(--ink);height:100%}.search-field input::placeholder{color:#b3b5bd}.search-field kbd{border:1px solid #e8e9ed;color:#bfc1c8;font-size:9px;padding:1px 4px;border-radius:3px}.sort-control{display:flex;gap:4px;align-items:center;color:#9699a3}.sort-control .icon{width:14px;height:14px}.sort-control select{max-width:93px;border:0;background:transparent;color:#777d87;font-size:10px;padding:5px 1px;cursor:pointer}.view-switch{border:1px solid var(--line);background:#fff;border-radius:6px;padding:3px;display:flex;gap:2px}.view-switch button{width:25px;height:25px;border-radius:3px;color:#b0b4bd}.view-switch .icon{width:15px;height:15px}.view-switch button.active{background:#edf0f3;color:#737c8a}.breadcrumb-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:18px 0 15px;font-size:10px;color:#a0a3ab;min-height:48px}.breadcrumb-row nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.breadcrumb-row button{font-size:11px;color:#8a8d97;padding:0;max-width:230px;overflow:hidden;text-overflow:ellipsis;display:block;white-space:nowrap}.breadcrumb-row button:last-child{color:#535964}.breadcrumb-row .icon{width:12px;height:12px}.file-table{border:1px solid var(--line);border-radius:10px;background:white;overflow:hidden}.table-head,.file-row{display:grid;grid-template-columns:30px minmax(150px,1fr) 92px 114px 100px 95px;gap:10px;align-items:center;padding:0 18px}.table-head{min-height:39px;background:#f6f7f9;font-size:10px;color:#9c9fa8;border-bottom:1px solid var(--line)}.align-right{text-align:right;padding-right:7px}.check-wrap{display:flex;align-items:center;justify-content:flex-start}.check-wrap input{appearance:none;width:14px;height:14px;border:1px solid #dce0e6;border-radius:4px;margin:0;cursor:pointer;background:#fff;position:relative}.check-wrap input:checked{background:var(--accent);border-color:var(--accent)}.check-wrap input:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:7px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.check-wrap input:indeterminate{background:var(--accent);border-color:var(--accent)}.check-wrap input:indeterminate:after{content:"";position:absolute;left:3px;top:5px;width:6px;height:2px;background:#fff}.file-row{min-height:70px;border-bottom:1px solid #f0f1f4;transition:background .15s}.file-row:last-child{border-bottom:0}.file-row:hover{background:#fcfcfd}.file-row.selected{background:#fff6ee}.file-name{display:flex;align-items:center;justify-content:flex-start;gap:13px;min-width:0;text-align:left;padding:8px 0}.file-icon{width:38px;height:43px;background:#f0f3f8;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#8396b1;position:relative;overflow:hidden}.file-icon .icon{width:22px;height:22px;stroke-width:1.5}.file-icon.video{background:#f2eff9;color:#9e8ac3}.file-icon.image{background:#eaf3ef;color:#80a58e}.file-icon.document{background:#edf3fb;color:#7c9dc4}.file-icon.pdf{background:#fcf0ed;color:#cb8f80}.file-icon.folder{background:#fcf4e6;color:#ccaa68}.file-icon.other{background:#f2f1ee;color:#a5a18e}.file-icon img{width:100%;height:100%;object-fit:cover}.name-text{min-width:0}.name-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:500;line-height:1.5}.name-text small{font-size:9px;color:#b1b4bc;display:block;margin-top:4px;letter-spacing:.2px}.file-size,.file-time{font-size:10px;color:#9297a1}.file-time{line-height:1.7}.visibility{font-size:9px;border-radius:5px;color:#99a1ab;background:#f4f5f7;padding:4px 7px;display:inline-flex;gap:4px;align-items:center;width:max-content}.visibility .icon{width:10px;height:10px}.visibility.shared{background:#eef6f0;color:#79a387}.file-actions{display:flex;justify-content:flex-end;gap:2px}.file-actions .icon-button{width:27px;height:30px;padding:5px}.file-actions .icon{width:15px;height:15px}.library-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#b1b4bc;padding-top:16px}.library-footer>span{display:flex;align-items:center;gap:5px}.library-footer .icon{width:12px;height:12px}.app-footer{padding:40px 42px 25px;font-size:9px;display:flex;justify-content:space-between;color:#b4b7bf;letter-spacing:.4px}.app-footer>span:first-child{font-weight:600}.app-footer>span:last-child{font-size:8px;letter-spacing:1.3px}.empty-state{text-align:center;padding:60px 20px;color:#a2a7b1;min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-state>.icon{width:42px;height:42px;stroke-width:1.1;margin-bottom:20px;color:#c5b3a2}.empty-state h3{color:#777c88;font-weight:500;font-size:15px}.empty-state p{font-size:11px;margin-top:10px;line-height:1.9;max-width:350px}.empty-state .button,.empty-state .primary{margin-top:22px}.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;padding:16px;background:var(--bg)}.grid-view>.empty-state{grid-column:1/-1}.grid-view .file-row{display:flex;flex-wrap:wrap;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;position:relative;gap:8px}.grid-view .file-row.selected{border-color:#edb496;background:#fff8f3}.grid-view .check-wrap{position:absolute;top:12px;left:12px;z-index:1}.grid-view .file-name{display:flex;flex-direction:column;align-items:stretch;gap:14px;width:100%;padding:0}.grid-view .file-icon{width:100%;height:108px;background:#fafafa;border-radius:6px}.grid-view .file-icon .icon{width:45px;height:45px;stroke-width:1.1}.grid-view .file-icon img{object-fit:contain}.grid-view .file-size{margin-right:auto}.grid-view .file-time{display:none}.grid-view .visibility{font-size:8px}.grid-view .file-actions{width:100%;border-top:1px solid #f2f2f5;padding-top:7px;margin-top:3px}.grid-view .file-actions .icon-button{width:31px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:30px 0 20px}.section-toolbar h2{margin-bottom:10px}.section-toolbar p{font-size:12px}.transfer-row{display:flex;gap:15px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:12px}.transfer-meta{flex:1;min-width:0}.transfer-meta strong{display:block;font-size:12px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-meta small{display:block;color:#9ba1ac;font-size:10px;margin:7px 0;line-height:1.8;overflow-wrap:anywhere}.progress-track{height:3px;background:#f0f0f1;overflow:hidden;border-radius:5px}.progress-track span{height:100%;width:0;background:var(--accent);display:block;transition:width .15s}.transfer-state{font-size:11px;color:#9098a3;min-width:58px;text-align:right}.transfer-row.done .transfer-state{color:var(--green)}.transfer-row.error .transfer-state{color:#cc725e}.transfer-dock{position:fixed;right:28px;bottom:22px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 40px #2c304515;width:320px;z-index:25;overflow:hidden}.dock-summary{padding:16px;width:100%;text-align:left;justify-content:flex-start;gap:12px}.dock-icon{width:34px;height:34px;background:var(--accent-soft);color:var(--accent);border-radius:8px;display:grid;place-items:center}.dock-summary strong{font-size:12px;display:block}.dock-summary small{font-size:10px;color:#969ca6;display:block;margin-top:5px}.dock-summary>.icon{margin-left:auto;width:16px;color:#a8adb6}.batch-bar{position:fixed;bottom:25px;left:calc(50% + 115px);transform:translateX(-50%);background:white;border:1px solid #e5e7ed;box-shadow:0 8px 35px #2428381a;border-radius:12px;display:flex;align-items:center;padding:10px 14px;gap:12px;z-index:30;white-space:nowrap}.batch-bar strong{font-size:11px;margin-right:10px}.danger-text{color:#c56555}.drag-overlay{position:fixed;inset:12px;border:2px dashed var(--accent);background:#fff9f3f5;backdrop-filter:blur(6px);border-radius:20px;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;pointer-events:none;color:var(--accent)}.drag-overlay>.icon{width:58px;height:58px;stroke-width:1;margin-bottom:25px}.drag-overlay h2{font-size:28px}.drag-overlay p{margin-top:12px;font-size:13px;color:#a68b7d}.modal{border:1px solid var(--line);border-radius:17px;padding:28px;width:min(480px,calc(100vw - 32px));color:var(--ink);box-shadow:0 25px 100px #1b24302b;max-height:90vh}.modal::backdrop,.preview::backdrop{background:#1b233b55;backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.modal-header h2{font-size:22px;letter-spacing:-.5px}.modal-header .eyebrow{font-size:8px;margin-bottom:9px}.modal-header .icon-button{margin:-8px -8px 0 0}.modal p{font-size:12px;line-height:1.9;color:#9298a4}.modal .field{display:block;margin-top:17px;color:#777e89;font-size:12px}.modal .field input,.modal .field select{display:block;width:100%;border:1px solid #dfe3e9;background:#fff;border-radius:8px;padding:12px;margin-top:8px;font-size:13px;color:var(--ink)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.modal-footer button{font-size:12px;min-height:38px}.modal .form-error{color:#c45d48;font-size:11px;min-height:0;margin-top:12px}.modal .form-error:empty{display:none}.modal-info{background:#f7f8fa;border-radius:9px;padding:12px 15px;font-size:11px;color:#8f97a2;line-height:1.9;margin-top:16px;overflow-wrap:anywhere}.menu-options{display:grid;gap:6px}.menu-options button{padding:13px;justify-content:flex-start;background:#f7f8fa;border-radius:8px;font-size:12px}.menu-options button .icon{width:17px;height:17px}.qr-wrap{display:flex;justify-content:center;padding:18px}.qr-wrap svg{width:165px;height:165px;max-width:100%}.connect-steps{display:flex;gap:12px;align-items:flex-start;margin-top:13px;font-size:12px;color:#89919f;line-height:1.8}.step-num{width:23px;height:23px;background:var(--accent-soft);color:var(--accent);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:10px}.copy-link{display:flex;gap:8px;margin-top:17px;align-items:center}.copy-link input{flex:1;min-width:0;padding:11px 10px;border-radius:7px;border:1px solid var(--line);background:#f8f9fb;color:#858d99;font-size:11px}.preview{padding:0;width:min(1000px,calc(100vw - 28px));height:min(780px,90vh);border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fafbfc;color:var(--ink)}.preview[open]{display:flex;flex-direction:column}.preview header{display:flex;align-items:center;gap:15px;background:#fff;padding:20px 22px;border-bottom:1px solid var(--line)}.preview header>div{flex:1;min-width:0}.preview header strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.preview header small{display:block;color:#969eaa;margin-top:6px;font-size:10px}.preview-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;padding:25px}.preview-stage img,.preview-stage video{max-width:100%;max-height:100%;object-fit:contain}.preview-stage audio{width:min(500px,100%)}.preview-stage pre{white-space:pre-wrap;overflow-wrap:anywhere;align-self:stretch;max-width:100%;width:100%;font:12px/1.9 ui-monospace,monospace;color:#66717f}.preview-stage .empty-state{min-height:0}.preview footer{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:#fff;border-top:1px solid var(--line);color:#a4a9b2;font-size:11px}.preview footer .button{font-size:11px;min-height:32px;padding:6px 10px}.preview footer .icon{width:14px}.toast{position:fixed;bottom:100px;left:calc(50% + 115px);transform:translate(-50%,10px);background:#323a45;color:#fff;border-radius:9px;padding:13px 21px;font-size:12px;max-width:calc(100vw - 32px);z-index:200;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;box-shadow:0 6px 25px #20283522}.toast.show{opacity:1;transform:translate(-50%,0)}.account-row{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.account-row .account-info{flex:1;min-width:0}.account-row strong{font-size:13px}.account-row small{font-size:10px;display:block;color:#9aa0a9;margin-top:6px}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:300}.skip-link:focus{top:12px}.loading-ring{width:24px;height:24px;border:2px solid #eee;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}
/* 登录页沿用同一套视觉语言，静态资源在局域网离线可用。 */
.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr;background:#fff}.login-story{background:#faf5ef;padding:50px 10%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-story .brand{align-self:flex-start}.login-story h1{font-size:46px;line-height:1.45;font-weight:600;letter-spacing:-2px;position:relative;z-index:1}.login-story p{font-size:13px;color:#aa998b;line-height:2.2;margin-top:22px}.login-story .transfer-art{transform:scale(1.7);align-self:center;margin:40px 0 40px}.login-story footer{font-size:10px;color:#b9a99c;letter-spacing:1px}.login-form-area{display:flex;align-items:center;justify-content:center;padding:40px}.login-form{width:330px;max-width:100%}.login-form h2{font-size:26px;margin-bottom:13px}.login-form>p{font-size:12px;color:#999fab;line-height:1.9;margin-bottom:35px}.login-form .field{display:block;font-size:12px;color:#6e7580;margin-top:22px}.login-form input{display:block;width:100%;border:1px solid #e2e5ea;border-radius:8px;padding:14px;margin-top:10px;font-size:14px}.password-wrap{position:relative}.password-wrap input{padding-right:45px}.password-wrap button{position:absolute;right:7px;top:7px}.login-form .primary{width:100%;margin-top:28px;justify-content:space-between}.login-form .login-help{font-size:11px;color:#a6aab3;text-align:center;margin-top:25px;line-height:2}.login-form .form-error{color:#c35d47;font-size:12px;margin:14px 0 0;min-height:22px}.login-secure{margin-top:65px;display:flex;justify-content:center;gap:8px;color:#b2b6bf;font-size:10px}.login-secure .icon{width:13px;height:13px}
@media(min-width:1550px){main{padding-top:46px}.intro-grid{grid-template-columns:minmax(0,1fr) 330px}.upload-zone{min-height:250px}.transfer-art{margin-right:45px}.file-row{min-height:77px}.table-head,.file-row{grid-template-columns:30px minmax(200px,1fr) 120px 145px 115px 100px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:17px;padding-right:17px}.app-shell{margin-left:205px}main{padding:30px 28px 0}.topbar{padding:0 28px}.intro-grid{grid-template-columns:minmax(0,1fr) 230px;gap:15px}.upload-zone{padding:24px}.transfer-art{transform:scale(.85);transform-origin:right center;margin-left:-25px}.connect-card{padding:20px}.connect-card h3{font-size:12px}.heading-note{display:none}.search-field{width:150px}.toolbar-right{gap:8px}.filter-tabs button{padding:8px 8px;font-size:10px}.table-head,.file-row{grid-template-columns:24px minmax(140px,1fr) 70px 85px 78px 83px;gap:7px;padding:0 13px}.file-time{font-size:9px}.file-name{gap:10px}.batch-bar,.toast{left:calc(50% + 102px)}}
@media(max-width:1000px){.intro-grid{grid-template-columns:1fr}.connect-card{display:none}.transfer-art{transform:none;margin-right:25px}.library-toolbar{flex-wrap:wrap}.toolbar-right{width:100%;justify-content:flex-end}.search-field{margin-right:auto;width:230px}.table-head,.file-row{grid-template-columns:23px minmax(120px,1fr) 65px 82px 79px}.file-visibility{display:none}.app-footer{padding:35px 28px 22px}.app-footer>span:nth-child(2){display:none}.login-story h1{font-size:35px}.login-story .transfer-art{transform:scale(1.3)}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:230px}.sidebar.open{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#1a253844;backdrop-filter:blur(2px);z-index:19}.sidebar-backdrop.open{display:block}.app-shell{margin-left:0}.mobile-menu{display:flex}.topbar{height:65px;padding:0 18px}.topbar-left{gap:10px}.topbar-title,.topbar-slash{display:none}.topbar-right{gap:13px}.topbar-right .button{padding:7px 10px;font-size:10px}.connection-state{font-size:10px}main{padding:27px 20px 0}.page-heading{margin-bottom:23px}h1{font-size:27px}.page-heading p{font-size:11px}.eyebrow{font-size:8px}.upload-zone{min-height:224px;padding:24px}.upload-copy h2{font-size:21px}.intro-grid{margin-bottom:29px}.transfer-art{transform:scale(.85);margin-right:0;transform-origin:right center}.table-head,.file-row{grid-template-columns:22px minmax(0,1fr) 75px 85px}.file-time{display:none}.library-heading{margin-bottom:16px}.file-name{gap:10px}.file-icon{width:34px;height:39px}.file-row{min-height:73px}.file-table{border-radius:8px}.file-size{font-size:10px}.table-head{font-size:9px}.file-actions .icon-button{width:27px}.library-footer{font-size:8px;align-items:flex-start}.library-footer>span:first-child{max-width:70%;line-height:1.7}.app-footer{padding:30px 20px 100px;font-size:8px}.batch-bar,.toast{left:50%}.batch-bar{gap:8px;padding:9px 10px;bottom:16px;max-width:calc(100vw - 20px)}.batch-bar strong{margin:0;font-size:10px}.batch-bar .small{font-size:10px;padding:7px 9px}.transfer-dock{right:16px;bottom:17px;width:290px}.section-toolbar{align-items:flex-start;flex-wrap:wrap}.transfer-row{padding:15px;gap:10px}.transfer-row .icon-button{width:29px}.transfer-row .button{font-size:10px;padding:6px 8px}.transfer-meta small{font-size:9px}.preview header{padding:15px;gap:9px}.preview header .button{font-size:0;padding:7px}.preview header .button .icon{width:16px;height:16px}.preview-stage{padding:12px}.account-row{padding:14px;gap:10px;flex-wrap:wrap}.account-row .button{font-size:10px;padding:6px 8px}.login-page{grid-template-columns:1fr}.login-story{padding:25px 28px}.login-story>div:not(.brand){display:none}.login-story footer{display:none}.login-story .brand{font-size:21px}.login-story .brand-mark{width:34px;height:38px}.login-form-area{padding:55px 28px}.login-form{width:360px}.login-secure{margin-top:40px}}
@media(max-width:460px){.upload-zone{padding:22px}.transfer-art{position:absolute;right:8px;top:30px;transform:scale(.66);opacity:.75;transform-origin:right center}.upload-copy h2{font-size:22px}.upload-copy p{font-size:10px;max-width:185px;line-height:1.8}.upload-buttons{gap:4px}.upload-buttons .primary{padding:8px 12px}.upload-buttons .text-button{font-size:10px}.upload-copy{max-width:100%}.upload-destination span{max-width:200px}.table-head,.file-row{grid-template-columns:20px minmax(0,1fr) 78px;gap:7px;padding:0 10px}.file-size{display:none}.name-text strong{font-size:11px}.name-text small{font-size:9px}.file-icon{width:31px;height:36px}.file-name{gap:9px}.search-field{width:auto;flex:1}.sort-control{gap:2px}.sort-control select{font-size:9px;width:75px}.view-switch button{width:24px}.toolbar-right{gap:7px}.filter-tabs{width:100%;justify-content:space-between}.filter-tabs button{font-size:11px;padding:8px 10px}.breadcrumb-row>span{font-size:9px;white-space:nowrap}.breadcrumb-row nav{min-width:0}.breadcrumb-row button{max-width:135px}.connection-state{font-size:9px}.connection-state .status-dot{width:5px;height:5px}.grid-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.grid-view .file-row{padding:11px}.grid-view .file-size{display:block}.grid-view .file-visibility{display:none}.grid-view .name-text strong{font-size:10px}.library-footer>span:first-child{max-width:64%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* 保持信息密度，同时让常用文字在普通笔记本和手机上清晰可读。 */
.page-heading p{color:#7c828c}.file-size,.file-time{color:#78818e}.name-text strong{font-size:13px}.name-text small{color:#89919d;font-size:10px}.table-head{color:#7c8593;font-size:11px}.filter-tabs button{font-size:12px;color:#7c8490}.search-field input{font-size:11px}.sort-control select{font-size:11px}.upload-copy p{color:#9a8576}.connect-card p{color:#868e99}.visibility{color:#7b8594;font-size:10px}.visibility.shared{color:#54846b}.grid-view .file-icon.video img{object-fit:cover}.sidebar{overflow-y:auto}.sidebar-bottom{min-height:285px}
@media(min-width:761px) and (max-height:850px){.topbar{height:64px}main{padding-top:27px}.page-heading{margin-bottom:22px}.intro-grid{margin-bottom:25px}.upload-zone{min-height:207px;padding-top:21px;padding-bottom:21px}.connect-card{padding-top:20px;padding-bottom:20px}.connect-card h3{margin-top:13px}.connect-link{margin-top:14px}.library-heading{margin-bottom:16px}.library-toolbar{padding-bottom:13px}.breadcrumb-row{padding-top:13px;padding-bottom:12px}.sidebar{padding-top:25px}.workspace-label{margin:16px 0 20px}.sidebar-upload{margin-bottom:25px}.nav-divider{margin:16px 10px}.sidebar-bottom{padding-top:20px;min-height:235px}.local-card{padding:13px;margin-bottom:14px}.local-card strong{font-size:21px;margin-top:12px}.local-card p{display:none}.profile{min-height:72px}}
@media(max-width:760px){.name-text strong{font-size:12px}.filter-tabs button{font-size:11px}.table-head{font-size:10px}.file-actions .icon-button{min-height:40px}.search-field{height:37px}.sidebar{padding-bottom:env(safe-area-inset-bottom)}.filter-tabs button{min-height:38px}}
@media(max-width:460px){.name-text strong{font-size:11px}.sort-control select{font-size:10px}.search-field input{font-size:10px}.grid-view .name-text strong{font-size:11px}.sidebar-bottom{min-height:250px}}
/* 第二轮：以文件操作为中心的紧凑工作台。 */
:root { --muted: #697482; }
.primary { background: #c94f2b; border-color: #c94f2b; }
.primary:hover { background: #b94423; }
.page-heading { margin-bottom: 24px; }
.page-heading h1 { font-size: 28px; overflow-wrap: anywhere; }
.page-heading p { font-size: 13px; color: #6d7784; }
.page-heading .eyebrow { color: #818a95; }
.nav-item { font-size: 14px; }
.nav-label { font-size: 11px; color: #727d8a; }
.nav-item.active { color: #ae4527; }
.filter-tabs button.active { color: #a64426; }
.intro-grid.compact { grid-template-columns: 1fr; margin-bottom: 25px; }
.intro-grid.compact .connect-card,
.intro-grid.compact .transfer-art,
.intro-grid.compact .section-kicker,
.intro-grid.compact .upload-copy > p { display: none; }
.intro-grid.compact .upload-zone { min-height: 92px; padding: 18px 22px; border-radius: 11px; }
.intro-grid.compact .upload-copy { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 9px 16px; }
.intro-grid.compact h2 { font-size: 17px; margin: 0; grid-column: 1; grid-row: 1; }
.intro-grid.compact .upload-buttons { margin: 0; grid-column: 2; grid-row: 1 / 3; }
.intro-grid.compact .upload-destination { margin: 0; font-size: 11px; color: #927b68; grid-column: 1; grid-row: 2; }
.intro-grid.compact .upload-destination span { max-width: 100%; }
.library-actions .text-button { color: #74808c; font-size: 11px; }
.breadcrumb-navigation { min-width: 0; display: flex; align-items: center; gap: 9px; }
.breadcrumb-navigation > .icon-button { width: 32px; height: 32px; border: 1px solid var(--line); background: #fff; }
.breadcrumb-row { padding: 10px 0; min-height: 52px; }
.breadcrumb-row nav { min-width: 0; }
.breadcrumb-row button { font-size: 12px; }
.breadcrumb-row > span { color: #788391; font-size: 11px; }
.name-text strong { font-size: 14px; }
.name-text small { font-size: 11px; color: #74808d; }
.file-size,.file-time { font-size: 12px; color: #727d8b; }
.visibility { font-size: 11px; color: #687584; }
.visibility.shared { color: #477d5f; }
.search-field { height: 38px; }
.search-field input { font-size: 12px; }
.search-field input::placeholder { color: #818b98; }
.sort-control select { font-size: 12px; }
.table-head .file-size,.table-head .file-time { font-size: 11px; }
.transfer-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.transfer-overview { display: flex; flex-wrap: wrap; gap: 24px; padding: 17px 20px; background: #fff; border: 1px solid var(--line); border-radius: 10px; margin-bottom: 20px; color: #7a8592; font-size: 12px; }
.transfer-overview strong { font-size: 20px; color: #35414e; font-weight: 600; margin-right: 5px; font-variant-numeric: tabular-nums; }
.transfer-meta strong { font-size: 14px; }
.transfer-meta small { font-size: 12px; }
.transfer-state { font-size: 12px; }
.dock-close { position: absolute; top: 3px; right: 3px; width: 28px; height: 28px; z-index: 1; background: #fff; }
.dock-summary { padding-right: 30px; }
.dock-summary > .icon { display: none; }
.dock-summary small { font-size: 11px; line-height: 1.7; }
.dock-summary strong { font-size: 13px; }
.file-actions .icon-button:hover { background: #f6e9df; color: #a44c2d; }
.login-form > p { color: #78828e; }
.login-form .login-help { color: #78828e; }
@media (min-width: 761px) {
  .topbar { position: sticky; top: 0; z-index: 15; }
  .library-toolbar { position: sticky; top: 64px; z-index: 10; background: var(--bg); padding-top: 12px; }
}
@media (min-width: 761px) and (min-height: 851px) {
  .library-toolbar { top: 76px; }
}
@media (max-width: 1200px) {
  .file-size,.file-time { font-size: 11px; }
  .sort-control select { font-size: 11px; }
}
@media (max-width: 760px) {
  body.menu-open { overflow: hidden; }
  .topbar { padding: 0 14px; }
  main { padding: 24px 16px 0; }
  .page-heading h1 { font-size: 25px; }
  .page-heading p { font-size: 12px; line-height: 1.7; }
  .mobile-menu,.icon-button,.view-switch button { min-width: 40px; min-height: 40px; }
  .topbar-right .button { min-height: 40px; }
  .library-actions { gap: 5px; }
  .library-actions .button { min-height: 40px; padding: 8px; }
  .library-actions .text-button { font-size: 10px; padding: 6px; min-height: 40px; }
  .library-heading h2 { font-size: 15px; gap: 5px; }
  .library-toolbar { gap: 9px; }
  .filter-tabs button { min-height: 40px; padding: 8px 9px; }
  .search-field { height: 44px; }
  .search-field input { font-size: 16px; }
  .search-field kbd { display: none; }
  .sort-control select { min-height: 44px; font-size: 11px; width: 80px; }
  .view-switch { padding: 2px; }
  .view-switch button { width: 36px; min-width: 36px; }
  .toolbar-right { gap: 6px; }
  .file-row,.table-head { grid-template-columns: 30px minmax(0,1fr) 88px; gap: 8px; padding: 0 12px; }
  .file-size,.file-time,.file-visibility { display: none; }
  .file-row { min-height: 83px; }
  .file-name { min-height: 70px; gap: 10px; }
  .file-icon { width: 36px; height: 42px; }
  .name-text strong { font-size: 13px; white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .name-text small { font-size: 11px; }
  .file-actions [data-share] { display: none; }
  .file-actions .icon-button { width: 44px; min-width: 44px; height: 44px; }
  .file-actions .icon { width: 18px; height: 18px; }
  .check-wrap { min-height: 44px; width: 30px; }
  .check-wrap input { width: 20px; height: 20px; }
  .check-wrap input:checked:after { width: 5px; height: 9px; left: 6px; top: 3px; }
  .check-wrap input:indeterminate:after { width: 10px; left: 4px; top: 8px; }
  .breadcrumb-row { gap: 6px; }
  .breadcrumb-row > span { font-size: 10px; }
  .breadcrumb-navigation { gap: 6px; }
  .breadcrumb-row button { max-width: 145px; }
  .breadcrumb-navigation > .icon-button { min-width: 36px; min-height: 36px; }
  .grid-view .check-wrap { min-height: 28px; }
  .grid-view .file-name { min-height: 0; }
  .grid-view .name-text strong { font-size: 12px; }
  .grid-view .file-size { display: block; font-size: 11px; }
  .grid-view .file-actions [data-share] { display: inline-flex; }
  .grid-view .file-actions { gap: 0; justify-content: space-around; }
  .grid-view .file-actions .icon-button { width: 36px; min-width: 32px; }
  .batch-bar { padding: 8px; bottom: max(12px,env(safe-area-inset-bottom)); }
  .batch-bar .small { min-height: 42px; }
  .transfer-row { flex-wrap: wrap; }
  .transfer-meta { min-width: 120px; }
  .transfer-row .button { min-height: 40px; font-size: 11px; }
  .transfer-overview { gap: 14px; padding: 15px; }
  .transfer-overview strong { font-size: 18px; }
  .transfer-dock { bottom: max(12px,env(safe-area-inset-bottom)); }
  .modal .field input,.modal .field select,.login-form input { font-size: 16px; }
  .modal-header .icon-button { min-width: 40px; }
}
@media (max-width: 560px) {
  .intro-grid.compact .upload-zone { padding: 18px; }
  .intro-grid.compact .upload-copy { grid-template-columns: 1fr; gap: 12px; }
  .intro-grid.compact h2 { font-size: 17px; }
  .intro-grid.compact .upload-buttons { grid-column: 1; grid-row: 2; gap: 12px; }
  .intro-grid.compact .upload-buttons .primary { min-height: 42px; font-size: 13px; }
  .intro-grid.compact .upload-destination { grid-row: 3; }
  .library-heading { flex-wrap: wrap; row-gap: 10px; }
  .library-actions { margin-left: auto; }
  .library-heading .text-button { font-size: 10px; }
  .toolbar-right { flex-wrap: wrap; }
  .search-field { flex: 1 1 100%; width: 100%; }
  .sort-control { margin-right: auto; }
  .filter-tabs button { font-size: 12px; }
  .breadcrumb-row > span { font-size: 9px; }
  .breadcrumb-row button { max-width: 120px; font-size: 11px; }
}
/* 视频素材：封面保留画面比例，播放提示与时长不依赖文件名称。 */
.file-icon.video.has-thumbnail::before {
  content: ''; position: absolute; right: 4px; bottom: 4px;
  border-top: 4px solid transparent; border-bottom: 4px solid transparent;
  border-left: 6px solid #fff; filter: drop-shadow(0 1px 2px #0009); z-index: 1;
}
.grid-view .file-icon.video { height: auto; min-height: 90px; aspect-ratio: 16 / 9; background: #eeebf4; }
.grid-view .file-icon.video img { width: 100%; height: 100%; position: absolute; object-fit: contain; background: #25262b; }
.grid-view .file-icon.video.has-thumbnail::before { top: 50%; left: 50%; bottom: auto; right: auto; transform: translate(-40%,-50%); border-top-width: 10px; border-bottom-width: 10px; border-left-width: 15px; }
.grid-view .file-icon.video[data-duration]::after { content: attr(data-duration); position: absolute; bottom: 7px; right: 7px; padding: 3px 5px; color: #fff; background: #161b26c9; border-radius: 4px; font-size: 11px; font-variant-numeric: tabular-nums; }

/* Download assistance only appears when useful, without changing the default URL. */
.download-priority { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: #eef3e7; border: 1px solid #d9e2ce; color: #4d6140; padding: 9px 14px; border-radius: 8px; margin-bottom: 15px; font-size: 12px; }
.download-priority .text-button { color: #3d5930; white-space: nowrap; }
.download-routes { display: grid; gap: 12px; margin: 20px 0; }
.download-route { display: flex; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; align-items: flex-start; }
.download-route:hover { border-color: #9bb488; background: #f6f8f2; }
.download-route > span { flex: 1; min-width: 0; }
.download-route strong { display: block; font-size: 13px; line-height: 1.6; }
.download-route small { display: block; margin: 6px 0; font-size: 12px; color: #6a7563; line-height: 1.7; }
.download-route code { font-size: 11px; color: #57634f; overflow-wrap: anywhere; }
@media(max-width:760px) { .download-priority { font-size: 11px; } .download-priority .text-button { min-height: 42px; } .library-actions { flex-wrap: wrap; justify-content: flex-end; } }
