:root{--canvas: #f7f8f2;--surface: #fff;--surface-soft: #fafbf7;--sidebar: #f1f5ec;--text: #203c31;--muted: #758277;--border: #dce4d8;--divider: #edf0e9;--accent: #215c47;--accent-hover: #1f5643;--selected: #e4efe1;--focus: #82b082;--danger: #a64035;--success: #345b39;--error: #9a3e31;--error-background: #f9e7e1;--icon-stroke: #608565;--icon-paper: #fafbf7;--icon-fold: #e4efe1;--drag-overlay: #e4efe1e8;--menu-shadow: #203c3126;--dialog-shadow: #203c3133;--backdrop: #203c3166;--sidebar-shadow: #203c3122;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text);background:var(--canvas);font-synthesis:none;font-size:15px;font-weight:400;line-height:1.5}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}h2,h3{font-weight:600;line-height:1.3}strong{font-weight:500}label{font-size:13px;font-weight:500;line-height:1.4}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button,.button{font-size:14px;font-weight:500;line-height:1.4;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:7px 12px;cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:5px}button:hover,.button:hover{background:var(--sidebar)}button:disabled{opacity:.45;cursor:default}input,textarea,select{font-size:15px;font-weight:400;line-height:1.4;border:1px solid var(--border);border-radius:6px;padding:8px 10px;min-width:0;background:var(--surface);color:inherit}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.primary:hover{background:var(--accent-hover)}.danger{color:var(--danger)}.text-button{border-color:transparent;background:transparent}.icon-button{border-color:transparent;background:transparent;padding:7px}.logo{font-size:21px;font-weight:600;display:flex;align-items:center;gap:10px;letter-spacing:-.5px}.app-icon{display:block;width:32px;height:32px;flex-shrink:0;border-radius:8px}.svg-icon{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:middle}.app{display:flex;min-height:100dvh}.sidebar{width:225px;flex-shrink:0;border-right:1px solid var(--border);background:var(--sidebar);padding:24px 12px 16px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;overflow:auto}.sidebar .logo{padding:0 12px 26px}.sidebar-heading{font-size:13px;color:var(--muted);padding:0 12px 10px;letter-spacing:1px}.nav-item{border:0;background:transparent;justify-content:flex-start;text-align:left;width:100%;padding:9px 12px;margin:1px 0;display:flex;align-items:center;gap:8px}.nav-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-item.active{background:var(--selected);color:var(--accent);font-weight:500}.folder-tree{margin-bottom:12px}.folder-tree .nav-item{font-size:14px;font-weight:500}.sidebar-foot{margin-top:auto;padding:24px 10px 0;font-size:13px;color:var(--muted);display:flex;flex-direction:column;align-items:flex-start;gap:8px}main{flex:1;min-width:0}.topbar{min-height:72px;padding:18px 28px;border-bottom:1px solid var(--border);display:flex;gap:16px;align-items:center;background:var(--surface)}h1{margin:0;font-size:20px;font-weight:600;line-height:1.3}.search{display:flex;margin-left:auto;width:min(340px,45%);border:1px solid var(--border);border-radius:7px;background:var(--surface-soft)}.search input{width:100%;border:0;background:transparent}.search button{padding-right:12px}#menu-toggle{display:none}.content{padding:20px 28px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.tool-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.toolbar-right{margin-left:auto}.sort-control{color:var(--muted);font-size:13px}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:46px;font-size:13px}.breadcrumbs button{border:0;padding:4px;background:transparent;color:var(--text)}.breadcrumbs button[aria-current=page]{font-weight:500}.breadcrumbs .breadcrumb-trail,.breadcrumbs span{color:var(--muted)}.file-area{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:auto;min-height:260px;position:relative}.file-area.dragging{border:2px dashed var(--accent);background:var(--selected)}.file-area.dragging:after{content:"松开上传到当前目录";pointer-events:none;position:absolute;inset:0;display:grid;place-items:center;background:var(--drag-overlay);color:var(--accent);font-size:20px}.files-table{width:100%;border-collapse:collapse;text-align:left}.files-table th{height:39px;background:var(--surface-soft);color:var(--muted);font-size:13px;font-weight:500;border-bottom:1px solid var(--divider);padding:8px 12px}.files-table td{padding:10px 12px;border-bottom:1px solid var(--divider);height:55px;font-size:13px}.files-table tbody tr:last-child td{border-bottom:0}.files-table tbody tr:hover{background:var(--surface-soft)}.files-table tr.selected{background:var(--selected)}.check-cell{width:42px;text-align:center}.size-cell{width:100px;color:var(--muted)}.date-cell{width:155px;color:var(--muted)}.actions-cell{width:210px;text-align:right}.file-name{display:flex;gap:10px;align-items:center;min-width:0}.file-glyph{width:32px;height:32px;color:var(--icon-stroke)}.name-content{min-width:0}.name-button{display:block;text-align:left;border:0;background:transparent;padding:2px 0;white-space:normal;overflow-wrap:anywhere;color:var(--text);font-size:14px;font-weight:500}.name-button:hover{color:var(--accent);background:transparent}.file-path{display:block;color:var(--muted);font-size:13px;margin-top:4px;overflow-wrap:anywhere;line-height:1.4}.row-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center}.row-actions>a,.row-actions>button{padding:4px 5px;border:0;background:transparent;font-size:14px}.more-actions{position:relative}.more-actions summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:5px}.more-actions summary:hover{background:var(--sidebar)}.more-actions summary::-webkit-details-marker{display:none}.more-menu{position:fixed;z-index:5;background:var(--surface);box-shadow:0 4px 18px var(--menu-shadow);border:1px solid var(--border);border-radius:7px;padding:5px;min-width:130px}.more-menu button{display:block;text-align:left;border:0;width:100%;background:transparent}.more-menu button:hover{background:var(--sidebar)}.selection-bar{padding:9px 12px;border:1px solid var(--border);background:var(--selected);border-radius:7px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:12px;font-weight:500}.selection-bar button{font-size:14px;padding:5px 9px}.selection-bar .text-button{margin-left:auto}.empty{text-align:center;color:var(--muted);padding:65px 18px;margin:0;font-size:13px}.muted{color:var(--muted);font-size:13px}.list-footer{font-size:12px;font-weight:500;flex-wrap:wrap;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0}.list-footer .muted{min-width:0;overflow-wrap:anywhere;font-size:12px}.list-footer>div{margin-left:auto;white-space:nowrap}.list-footer button{padding:5px 10px;font-size:14px;font-weight:500;margin-left:6px}#notice{padding:10px 13px;border-radius:6px;margin-bottom:12px;font-size:13px}#notice.success{background:var(--selected);color:var(--success)}#notice.error{background:var(--error-background);color:var(--error)}.upload-panel{border:1px solid var(--border);border-radius:8px;background:var(--surface);margin-top:16px}.panel-heading{padding:10px 14px;border-bottom:1px solid var(--divider);display:flex;justify-content:space-between;align-items:center;font-size:13px}.panel-heading button{font-size:14px}#uploads{list-style:none;margin:0;padding:0 14px}#uploads li{display:grid;grid-template-columns:1fr auto;gap:6px 15px;padding:10px 0;font-size:13px}#uploads li>span{overflow-wrap:anywhere}progress{width:100%;height:4px;accent-color:var(--accent);grid-column:1 / -1}.upload-error,.error-text{color:var(--danger)}.upload-complete{color:var(--success)}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:min(360px,100%);padding:30px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.login-card .logo{margin-bottom:24px}.login-card h1{font-size:20px;margin-bottom:25px}.login-card label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.login-card input,.login-card .primary{width:100%}.login-card .primary{padding:10px}.login-recovery-link{display:block;margin-top:16px;text-align:center;font-size:13px}.recovery-card p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.recovery-card #recovery-verify{width:100%;margin-top:10px}#login-error{color:var(--danger);font-size:13px;min-height:16px}dialog{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;width:min(420px,calc(100% - 32px));color:var(--text);box-shadow:0 16px 60px var(--dialog-shadow)}dialog::backdrop{background:var(--backdrop)}dialog h2{font-size:18px;margin:0 0 22px;line-height:1.3}dialog label{display:block;color:var(--muted);font-size:13px;margin:0 0 8px}dialog input,dialog select{width:100%}.dialog-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}.error-text{font-size:13px}.preview-dialog{width:min(1000px,calc(100% - 32px));max-height:90dvh;padding:16px}.preview-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-heading h2{margin:0;overflow-wrap:anywhere;font-size:18px}.preview-heading>div{display:flex;gap:8px}#preview-content{min-height:180px}#preview-content img{display:block;max-width:100%;max-height:72dvh;margin:auto;object-fit:contain}#preview-content iframe{display:block;width:100%;height:70dvh;border:0}#preview-content pre{max-height:70dvh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-soft);padding:15px;border-radius:6px;font:14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:900px){.sidebar{width:190px}.content,.topbar{padding:16px}.date-cell{display:none}.actions-cell{width:150px}}@media(max-width:650px){.sidebar{position:fixed;left:0;top:62px;z-index:10;height:calc(100dvh - 62px);width:225px;box-shadow:10px 0 30px var(--sidebar-shadow);display:none}.sidebar.open{display:flex}.sidebar .logo{display:none}#menu-toggle{display:block}.topbar{min-height:62px;padding:10px 14px;gap:8px;position:sticky;top:0;z-index:6}h1{font-size:20px;line-height:1.3}.search{width:55%}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select{font-size:16px}.content{padding:14px 10px}.toolbar{gap:10px}.toolbar-right{margin-left:0;width:100%}.sort-control{margin-left:auto}.size-cell{display:none}.files-table td,.files-table th{padding:10px 7px}.check-cell{width:30px}.actions-cell{width:110px}.row-actions{gap:4px}.row-actions>a,.row-actions>button{font-size:14px}.file-glyph{width:28px;height:28px}.file-name{gap:7px}.files-table td{height:52px}.panel-heading{gap:10px}}.links-dialog{max-height:calc(100dvh - 32px);overflow-y:auto;width:min(560px,calc(100vw - 32px))}.links-dialog form{display:grid;gap:10px}.link-target{font-weight:600;overflow-wrap:anywhere}.link-folder-field{min-width:0}.link-folder-field label{margin-bottom:4px}.link-folder-row{display:flex;align-items:center;gap:6px;min-width:0}.link-folder-row input{flex:1;min-width:0;width:0;padding:6px 8px;text-overflow:ellipsis}.link-folder-row button{flex:none;margin:0;min-height:36px;padding:6px 8px;white-space:nowrap}.link-folder-row #reload-link-folders{display:grid;place-items:center;width:36px;padding:6px}.link-folder-row #reload-link-folders svg{width:20px;height:20px}.copy-field{display:flex;gap:8px;align-items:flex-start;margin:12px 0}.copy-field input,.copy-field textarea{flex:1;min-width:0;width:100%}.copy-field textarea{min-height:94px;font:12px/1.5 monospace;resize:vertical}.link-qr{display:block;width:240px;height:240px;max-width:100%;margin:20px auto;image-rendering:pixelated}.guest-screen{min-height:100vh;display:grid;place-items:start center;padding:48px 16px}.guest-card{width:min(620px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px}.guest-card h1{display:flex;align-items:center;gap:10px;margin-top:32px;font-size:22px}.guest-card h2{font-size:18px;overflow-wrap:anywhere}.guest-card .muted{line-height:1.7}.guest-card details{margin-top:28px}.guest-drop{padding:22px 18px;border:1px dashed var(--icon-stroke);border-radius:8px;margin-top:20px}.guest-drop.dragging{background:var(--selected)}.guest-tasks{list-style:none;padding:0}.guest-tasks li{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid var(--divider);overflow-wrap:anywhere}.guest-tasks progress{width:100%}.guest-tasks button{justify-self:start}@media(max-width:640px){.guest-screen{padding:18px 12px}.guest-card{padding:22px 18px}.copy-field{flex-direction:column}}.task-actions{display:flex;flex-wrap:wrap;gap:6px}#uploads li{display:grid;gap:8px}#uploads li strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.located{outline:2px solid var(--accent);background:var(--selected)}.storage-dialog{width:min(680px,calc(100vw - 28px))}.storage-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.storage-stats>div{background:var(--surface-soft);padding:12px;border:1px solid var(--border);border-radius:6px}.large-file{padding:12px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.large-file strong,.shared-item strong{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.large-file button{margin-right:8px}.shared-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.shared-item strong{grid-column:1;min-width:0}.shared-item .svg-icon{width:20px;height:20px}.shared-items .shared-item>.muted{grid-column:1;grid-row:2;padding-left:28px;margin:0;font-size:13px;line-height:1.4}.shared-item .button,.shared-item button{grid-column:2;grid-row:1 / 3;justify-self:end;min-height:36px}.sidebar-foot #storage-summary{margin:0;font-size:13px}.shared-folder .dialog-actions{flex-wrap:wrap}.folder-row{cursor:pointer}.folder-row:hover{background:var(--green-soft, #eef4ec)}.storage-dialog[open]{display:flex;flex-direction:column;height:min(820px,92dvh);max-height:92dvh;overflow:hidden;gap:.6rem}.storage-dialog>*{flex-shrink:0}.storage-dialog>p{margin:0}.storage-dialog .large-files{flex:1 1 auto;min-height:90px;overflow-y:auto;overscroll-behavior:contain}.storage-dialog .storage-stats p{margin:.3rem 0 0}.storage-dialog .storage-stats>div{padding:.7rem}.storage-pagination{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.storage-pagination label{display:flex;align-items:center;gap:.3rem;margin:0}.storage-pagination select{width:auto}@media(max-width:640px){.storage-dialog[open]{padding:1rem;gap:.4rem}.storage-dialog h3{font-size:1rem;margin:.2rem 0}.storage-dialog>.muted{font-size:13px}.storage-dialog .storage-stats>div{padding:.5rem}.storage-dialog .storage-stats strong,.storage-dialog .storage-stats p{font-size:13px}.storage-pagination{gap:.35rem;justify-content:space-between}.storage-pagination button,.storage-pagination select{padding:.45rem}}.link-history{min-height:0;overflow-y:auto;flex:1}.mobile-file-meta{display:none;color:var(--muted);font-size:13px;line-height:1.4;margin-top:4px}@media(max-width:900px){.mobile-file-meta{display:flex;flex-wrap:wrap;gap:2px 8px}.mobile-file-size{display:none}}@media(max-width:650px){.mobile-file-size{display:inline}.mobile-file-meta time{flex-basis:100%;overflow-wrap:anywhere}.file-name{align-items:flex-start}}@media(max-width:650px){.breadcrumbs button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}.topbar h1{min-width:0;overflow-wrap:anywhere}}.share-password-toggle{display:flex;gap:8px;align-items:center}.share-password-settings,.share-unlock{display:grid;gap:10px}.share-password-settings input,.share-unlock input{width:100%;min-width:0}.app{height:100dvh;min-height:0;overflow:hidden}.app>main{display:flex;flex-direction:column;min-height:0}.app .topbar{flex:none}.app .content{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.app .toolbar,.app .breadcrumbs,.app .selection-bar,.app .list-footer,.app #notice{flex:none}.app .file-area{flex:1 1 180px;min-height:90px;overscroll-behavior:contain}.files-table th{position:sticky;top:0;z-index:2}.app .upload-panel{flex:0 1 140px;min-height:48px;max-height:22dvh;overflow:auto;margin-top:0}.app .breadcrumbs{max-height:80px;overflow:auto;min-height:30px}.custom-slug summary{cursor:pointer;padding:8px 0;color:var(--accent)}.custom-slug input{display:block;width:100%;margin-top:8px}.folder-picker{width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}.folder-choice-tree{padding:8px;border:1px solid var(--border);border-radius:8px;max-height:50dvh;overflow:auto}.folder-choice-row{display:flex;align-items:center;min-height:38px}.folder-choice-row label{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere;cursor:pointer}.folder-choice-row:has(input:disabled){color:var(--muted)}.folder-expand,.folder-expand-space{flex:0 0 28px;width:28px}.folder-picked{overflow-wrap:anywhere}.management-dialog{width:min(800px,calc(100vw - 24px));max-height:calc(100dvh - 24px);height:min(800px,calc(100dvh - 24px))}.management-dialog[open]{display:flex;flex-direction:column;gap:8px}.management-limits{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;flex:none}.management-limits>div{font-size:14px;min-width:0;overflow-wrap:anywhere;padding:10px;background:var(--surface-soft);border-radius:8px}.management-filters,.management-pagination{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:none}.management-events{flex:1;min-height:80px;overflow:auto;overflow-wrap:anywhere}.management-events article{font-size:14px;border-bottom:1px solid var(--border);padding:10px 0}@media(max-width:600px){.management-limits{gap:6px}.management-limits>div{padding:6px;font-size:13px}.management-limits button{white-space:normal;max-width:100%;font-size:14px}}@media(max-height:540px){.app .topbar{min-height:42px;padding-block:4px}.app .content{padding-block:6px;gap:4px}.app .toolbar{max-height:72px;overflow:auto;gap:4px}.app .breadcrumbs{max-height:40px}.app .upload-panel{max-height:65px}.management-dialog{overflow:auto}.management-limits{max-height:110px;overflow:auto}}.app .topbar h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-height:540px){.app .content{padding-block:4px;gap:3px}.app .toolbar,.app .toolbar .tool-group,.app .selection-bar{flex-wrap:nowrap;white-space:nowrap}.app .toolbar{max-height:36px}.app .toolbar .tool-group{flex:none}.app .toolbar-right{width:auto;margin-left:0}.app .breadcrumbs{min-height:28px;max-height:28px;white-space:nowrap}.app .breadcrumbs button{white-space:nowrap;max-width:none;padding-block:2px}.app .selection-bar{padding:2px 6px;margin:0;max-height:34px;overflow:auto}.app .selection-bar>*{flex-shrink:0}.app #notice{margin:0;padding:3px 6px;max-height:24px;overflow:auto;font-size:13px}.app .file-area{min-height:48px}.app .list-footer{padding-block:1px}.app .upload-panel{min-height:40px;max-height:52px}}.folder-picker{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);height:min(560px,calc(100dvh - 24px));overflow:hidden;display:flex;flex-direction:column;padding:14px;gap:8px}.folder-picker:not([open]){display:none}.folder-picker-heading{display:flex;align-items:center;gap:6px;flex:none}.folder-picker-heading h2{flex:1;min-width:0;margin:0;font-size:18px}.folder-picker-heading button{display:grid;place-items:center;padding:5px;width:30px;height:30px}.folder-picked{margin:0;padding:6px 8px;background:var(--surface-soft);font-size:13px;line-height:1.4;overflow-wrap:anywhere;max-height:58px;overflow:auto;flex:none}.directory-tree{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--border);border-radius:6px;padding:3px}.directory-row{display:grid;grid-template-columns:20px 20px minmax(0,1fr) 10px;align-items:center;gap:6px;min-height:34px;padding:2px 6px 2px calc(6px + var(--tree-depth) * 16px);cursor:pointer;border-radius:4px;outline-offset:-2px}.directory-row>svg{width:20px;height:20px}.directory-row:hover{background:var(--surface-soft)}.directory-row[aria-selected=true]{background:var(--selected);color:var(--accent)}.directory-row[aria-disabled=true]{opacity:.6;cursor:not-allowed;grid-template-columns:20px 20px minmax(0,1fr) 10px auto}.directory-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500}.directory-toggle{border:0;background:transparent;display:grid;place-items:center;width:20px;height:24px;padding:0}.directory-toggle svg{width:12px;height:12px}.directory-row[aria-expanded=true] .directory-toggle svg{transform:rotate(90deg)}.directory-selected{width:6px;height:6px;border-radius:50%}.directory-row[aria-selected=true] .directory-selected{background:var(--accent)}.directory-disabled-reason{font-size:12px;font-weight:500;white-space:nowrap}.folder-picker-footer{display:flex;justify-content:flex-end;gap:8px;flex:none;border-top:1px solid var(--border);padding-top:6px}.folder-picker .error-text{margin:0;flex:none}.folder-picker .error-text:empty{display:none}.sidebar{overflow:hidden;min-height:0}.sidebar>.logo,.sidebar>.sidebar-heading,.sidebar>#root-link,.sidebar-shortcuts{flex:none}.sidebar #folder-tree{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin-block:6px}.sidebar-shortcuts{border-top:1px solid var(--border);padding-top:8px}.sidebar-foot{margin-top:4px}.sidebar .directory-row{grid-template-columns:16px 20px minmax(0,1fr) 6px;gap:4px;padding-inline-start:calc(2px + var(--tree-depth) * 12px)}.sidebar .directory-toggle{width:16px}.management-events article[data-outcome=success] strong,.management-events article[data-outcome=responded] strong{color:var(--accent)}.management-events article[data-outcome=failed] strong{color:var(--danger)}.management-events article p{font-size:13px;line-height:1.4;overflow-wrap:anywhere}@media(max-width:650px){.folder-picker .directory-row{min-height:40px}.sidebar-shortcuts .sidebar-foot{gap:4px}}@media(max-height:540px){.sidebar{padding:6px}.sidebar>.logo,.sidebar>.sidebar-heading,.sidebar #upload-limit{display:none}.sidebar-shortcuts{padding-top:3px}.sidebar-foot{display:grid;grid-template-columns:1fr 1fr;gap:3px}.sidebar-foot #storage-summary{grid-column:1/-1;font-size:13px}.sidebar-foot button{padding:4px;font-size:14px}.folder-picker{gap:5px;padding:10px}.folder-picked{max-height:42px;padding:4px 6px}.folder-picker-footer{padding-top:6px}}.directory-tree,.sidebar #folder-tree{position:relative}.management-dialog>.panel-heading{padding:0 0 8px;flex:none}.management-dialog>.panel-heading h2{margin:0}.management-dialog>.muted,.management-dialog>.error-text{margin:0;flex:none}@media(max-width:600px){.management-dialog{padding:14px}.management-dialog>.muted{font-size:13px}.management-limits{max-height:160px;overflow:auto}.management-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.management-filters label{min-width:0;margin:0}.management-events{min-height:50px}.management-pagination{gap:4px}.management-pagination button{padding:6px 8px;font-size:14px}}#pinned-folders{flex:none;max-height:20dvh;overflow:auto;padding:2px 0}.guest-card{padding:20px}.guest-card h1,.guest-card h2{margin:8px 0}.guest-card .muted{margin:8px 0;line-height:1.5}@media(max-width:480px){.guest-card{padding:12px}}@media(max-height:430px){#pinned-folders{max-height:40px}.sidebar #folder-tree{min-height:32px}}@media(max-height:540px){.sidebar-foot{padding:4px 6px 0}}@media(max-height:540px)and (max-width:650px){.sidebar{top:42px;height:calc(100dvh - 42px)}}body.folder-guest-screen{height:100dvh;overflow:hidden}.folder-guest-screen .guest-screen{width:100%;height:100dvh;min-height:0;padding:0;display:block}.folder-guest-screen .guest-card{width:100%;height:100%;padding:0;border:0;border-radius:0;display:flex;flex-direction:column}.folder-guest-screen .guest-card>.logo{display:none}.folder-guest-screen #guest-content{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.shared-header{display:flex;align-items:center;gap:10px;flex:none;height:44px;padding:2px 12px;background:var(--sidebar);border-bottom:1px solid var(--border)}.shared-brand{display:inline-flex;align-items:center;gap:7px;flex:none;font-weight:600}.shared-header h1{flex:1;min-width:0;display:block;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:20px}.shared-permission{flex:none;color:var(--muted);font-size:12px;font-weight:500}.shared-folder{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.shared-toolbar{display:flex;align-items:center;gap:8px;flex:none;min-width:0;padding:2px 12px;border-bottom:1px solid var(--border)}.shared-navigation,.folder-write-toolbar{display:flex;gap:4px;flex:none}.shared-toolbar .breadcrumbs{flex:1;min-width:0;min-height:36px;margin:0;display:flex;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;scrollbar-width:thin}.shared-toolbar .breadcrumbs button{flex:none;max-width:none;white-space:nowrap;overflow-wrap:normal}.shared-header button,.shared-toolbar button,.shared-pagination button{min-height:36px;padding:5px 8px;margin:0}.shared-items{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 12px}.shared-items .shared-empty{display:grid;place-items:center;height:100%;margin:0}.shared-pagination{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:none;min-height:40px;padding:2px 12px;border-top:1px solid var(--border)}.shared-pagination .folder-task-summary{order:-1;margin-right:auto;font-size:12px;font-weight:500}.folder-upload-queue,.shared-info-panel{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px;overflow:auto}.folder-upload-queue .guest-tasks{margin:8px 0}.shared-info-panel .panel-heading h2,.folder-upload-queue .panel-heading h2{margin:0;overflow-wrap:anywhere;min-width:0}@media(max-width:600px){.shared-brand span{display:none}.shared-header{height:40px;padding-inline:8px;gap:8px}.shared-toolbar{flex-wrap:wrap;gap:0 6px;padding:2px 8px}.shared-toolbar .breadcrumbs{width:0}.folder-write-toolbar{width:100%;padding-top:2px}.shared-items{padding-inline:8px}.shared-pagination{padding-inline:8px;gap:4px}.shared-pagination button{font-size:14px;padding-inline:6px}}.links-mode .topbar{min-height:40px;height:40px;padding:2px 8px;gap:6px}.links-mode .topbar h1{flex:none;font-size:20px}.links-mode .topbar button{min-height:32px;padding:4px 7px}#links-view{flex:1;min-height:0;display:flex}.link-management-page{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;gap:4px;padding:4px 8px}.link-stats{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:12px;font-weight:500;color:var(--muted)}.link-stats>div{display:flex;gap:3px;white-space:nowrap}.link-stats strong{color:var(--accent);font-weight:500}.link-filters{display:grid;grid-template-columns:120px 120px minmax(0,1fr) auto;flex:none;gap:4px}.link-filters input,.link-filters select{min-width:0;width:100%;min-height:32px;padding:4px 8px}.link-filters button,.link-pagination button{min-height:32px;padding:4px 8px}.link-selection{flex:none;display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;font-weight:500}.link-selection label{display:flex;align-items:center;gap:4px}.link-history{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.link-record{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:3px 6px;padding:8px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere;align-items:start}.link-record>input{grid-column:1;grid-row:1}.link-record>strong{grid-column:2;grid-row:1;font-size:14px;font-weight:500}.link-record p{grid-column:2;grid-row:2;margin:0;font-size:13px;line-height:1.4}.link-record-actions{grid-column:3;grid-row:1 / 3;display:flex;flex-wrap:wrap;gap:4px}.link-record-actions button{min-height:32px;font-size:14px;padding:4px 6px}.link-management-page>.error-text{flex:none;margin:0;font-size:13px}.link-management-page>.error-text:empty{display:none}.link-pagination{flex-wrap:wrap;flex:none;display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:36px;font-size:12px;font-weight:500}.link-pagination label{white-space:nowrap;display:flex;align-items:center;gap:3px;margin-right:auto}.link-pagination select{padding:4px;min-height:32px}.link-more-actions{position:relative}.link-more-actions>summary{font-size:14px;font-weight:500;line-height:1.4;min-height:32px;display:flex;align-items:center;padding:4px 8px;cursor:pointer;list-style:none;border:1px solid var(--border);border-radius:6px}.link-more-menu{position:absolute;bottom:calc(100% + 4px);right:0;z-index:5;display:grid;gap:4px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 3px 15px var(--dialog-shadow)}.sidebar-overlay{display:none}.pinned-folder{display:grid;grid-template-columns:16px minmax(0,1fr) 14px;gap:6px;align-items:center;width:100%;padding:6px 18px;border:0;background:transparent;text-align:left}.pinned-folder .svg-icon{width:16px;height:16px}.pin-mark{width:12px;height:12px;color:var(--muted)}.pinned-folder.active{background:var(--selected);color:var(--accent)}.management-events article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}.management-events article p{grid-column:1 / -1;margin:0}.management-events article[data-outcome=failed]{background:#fff2ef;padding:10px;border-radius:6px}.log-outcome{align-self:start;padding:2px 6px;border-radius:4px;font-size:12px;font-weight:500;background:var(--surface-soft);color:var(--muted);white-space:nowrap}.log-outcome[data-outcome=success],.log-outcome[data-outcome=responded]{color:#215c47;background:#e4efe1}.log-outcome[data-outcome=failed]{color:#922f22;background:#fbe2dc}.log-outcome[data-outcome=locked]{color:#885319;background:#fff0d9}.text-preview-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.text-preview-tools [role=status]{color:var(--muted);font-size:13px}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:#215c47;font-weight:600}.hljs-string,.hljs-attr,.hljs-number{color:#825c25}.hljs-comment{color:#758277}.text-preview-original{display:block;width:100%;min-height:240px;height:55dvh;resize:vertical;white-space:pre;overflow:auto;font:14px/1.6 monospace}.hljs-title,.hljs-name{color:#38657b}@media(max-width:650px){.sidebar-overlay:not([hidden]){display:block;position:fixed;inset:0;z-index:9;border:0;padding:0;border-radius:0;background:var(--backdrop)}.links-mode .sidebar{top:40px;height:calc(100dvh - 40px)}.links-mode .topbar h1{flex:0 1 auto;min-width:0}.link-stats{flex:none;gap:4px;font-size:12px;font-weight:500}.link-stats>div{flex-direction:column;align-items:center;gap:0;line-height:1.2}.link-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.link-record{grid-template-columns:18px minmax(0,1fr)}.link-record-actions{grid-column:2;grid-row:4}.link-page{white-space:nowrap}.link-pagination{gap:2px;font-size:12px;font-weight:500}.link-pagination button,.link-more-actions>summary{padding-inline:5px;font-size:14px}}.link-pagination.has-selection>:not(.link-selection){display:none}.link-pagination .link-selection{flex:1 1 100%;min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:4px}.link-pagination .link-selection label{margin-right:auto;white-space:nowrap}.link-pagination .link-selected-count{white-space:nowrap}.sidebar .directory-name .pin-mark{margin-left:4px;width:12px;height:12px}.management-dialog.ip-mode{padding:14px;overflow:hidden}.management-tabs{display:flex;flex:none;gap:6px;border-bottom:1px solid var(--border);padding-bottom:6px}.management-tabs [aria-selected=true]{background:var(--selected);border-color:var(--accent);color:var(--accent)}.management-log-panel,.ip-management-panel{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}.management-log-panel>p,.ip-management-panel>p{flex:none;margin:0}.ip-management-panel>.muted{font-size:13px}.ip-filters,.ip-ban-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;flex:none;gap:6px}.ip-filters input,.ip-filters select,.ip-ban-form input{min-width:0;width:100%}.ip-secondary-controls{position:relative;display:flex;flex:none;align-items:center;justify-content:space-between;gap:4px}.ip-secondary-controls>p{margin:0;font-size:13px}.ip-ban-details{flex:none}.ip-ban-details>summary{width:fit-content;cursor:pointer;min-height:32px;display:flex;align-items:center;font-size:13px;color:var(--accent)}.ip-ban-details>summary:before{content:"+";margin-right:6px}.ip-ban-details[open]>summary:before{content:"−"}.ip-ban-details>.ip-ban-form{position:absolute;top:100%;left:0;right:0;z-index:2;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 16px var(--menu-shadow)}.ip-security-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.ip-security-row{font-size:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px 8px;padding:8px 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.ip-security-row>p{grid-column:1 / 3;margin:0;font-size:13px}.ip-security-row>.ip-row-actions{grid-column:3;grid-row:1 / 4}.ip-row-actions{display:flex;align-items:center;gap:6px}.ip-note-dialog textarea{width:100%;resize:vertical}.ip-note-dialog .ip-note-count{margin:4px 0;text-align:right}.ip-note-dialog .error-text:empty{display:none}.ip-status{font-size:12px;font-weight:500;color:var(--muted)}.ip-status[data-blocked=true]{color:var(--danger)}.ip-note{color:var(--muted)}.ip-pagination{display:flex;flex:none;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;font-weight:500}.ip-pagination .ip-page{margin-right:auto}@media(max-width:600px){.management-log-panel,.ip-management-panel{gap:6px}.ip-filters{grid-template-columns:minmax(0,1fr) 100px auto}.ip-ban-form{grid-template-columns:minmax(0,1fr) auto}.ip-ban-form>input:first-child{grid-column:1 / -1}.ip-security-row{grid-template-columns:minmax(0,1fr) auto}.ip-security-row>.ip-status{grid-column:1}.ip-security-row>p{grid-column:1}.ip-security-row>.ip-row-actions{grid-column:2;grid-row:1 / 5;flex-direction:column}.ip-pagination button,.ip-pagination .button{padding:6px 7px;font-size:14px}.ip-pagination .ip-page{flex:1}}.link-management-page>.success-text{color:var(--accent)}@media(max-height:540px){.management-dialog.ip-mode{padding:10px;gap:4px}.management-dialog.ip-mode>.panel-heading{padding-bottom:0}.ip-mode .management-tabs{padding-bottom:4px}.ip-mode .management-tabs button,.ip-mode .ip-filters input,.ip-mode .ip-filters select,.ip-mode .ip-filters button{min-height:30px;padding:4px 8px}.ip-mode .ip-management-panel{gap:4px}}.batch-download-actions:empty{display:none}.batch-download-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 0}.batch-download-actions .error-text{margin:0;overflow-wrap:anywhere}.shared-batch-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;flex:none}.shared-batch-toolbar label{display:inline-flex;align-items:center;gap:6px}.shared-item:has(.shared-select){grid-template-columns:22px minmax(0,1fr) auto}.shared-item .shared-select{grid-column:1;grid-row:1 / 3}.shared-item:has(.shared-select) strong,.shared-items .shared-item:has(.shared-select)>.muted{grid-column:2}.shared-item:has(.shared-select) .button,.shared-item:has(.shared-select) button{grid-column:3}.shared-folder>.batch-download-actions{padding:0 12px;flex:none}.link-record p.link-record-note{grid-row:3;margin:0;color:var(--muted);font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.links-dialog textarea{width:100%;resize:vertical;min-height:70px}.share-select{position:relative;min-width:0}.share-select-trigger{justify-content:space-between;width:100%;min-width:0;padding:8px 10px}.share-select-trigger>span{overflow:hidden;text-overflow:ellipsis}.share-select-trigger .svg-icon{width:16px;height:16px;flex:none}.share-select-options{position:relative;margin-top:4px;max-height:min(240px,40dvh);overflow-y:auto;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:0 4px 14px var(--menu-shadow)}.share-select-options>button{display:flex;justify-content:flex-start;width:100%;border:0;white-space:normal;text-align:left}.share-select-options>[aria-selected=true]{background:var(--selected)}.share-calendar{width:100%;max-width:320px;min-width:0;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--surface-soft)}.share-calendar-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.share-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.share-calendar-grid>button{min-width:0;padding:7px 0;border-color:transparent}.share-calendar-weekday{font-size:13px;text-align:center;color:var(--muted);padding:4px 0}.share-calendar-grid>[aria-pressed=true]{background:var(--accent);color:var(--surface)}.share-calendar-grid>[aria-current=date]{border-color:var(--accent)}.share-calendar-time{display:flex;gap:12px;margin-top:12px}.share-calendar-time label{display:flex;align-items:center;gap:6px}.share-calendar-time input{width:64px;padding:7px}.note-count{font-size:12px;font-weight:500;text-align:right;margin:4px 0}.field-error{margin:4px 0}.custom-capacity-row{display:flex;align-items:flex-start;gap:6px}.custom-capacity-row>input{line-height:1.2;flex:1;min-width:0;width:0;height:38px}.custom-capacity-row>.share-select{flex:0 0 84px;width:84px;min-width:0}.custom-capacity-row .share-select-trigger{height:38px}.link-filters .share-select-options,.link-pagination .share-select-options,.management-filters .share-select-options,.ip-filters .share-select-options{position:absolute;inset-inline:0;top:100%;z-index:10;min-width:100%}.management-filters label,.link-pagination>label{display:flex;align-items:center;gap:6px;min-width:0}.management-filters .share-select{width:160px;max-width:100%}.link-pagination>label .share-select{width:64px}.link-pagination .share-select-options{top:auto;bottom:calc(100% + 4px);margin-top:0}.toolbar-right>.share-select{flex:0 0 112px;width:112px}.toolbar-right .share-select-trigger{min-height:32px;padding:4px 8px}.toolbar-right .share-select-options{position:absolute;inset-inline:0;top:100%;z-index:10}.password-field{position:relative}.login-card .password-field input{width:100%;padding-right:48px}.password-field .icon-button{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent}.list-placeholder{padding:22px 14px;display:grid;gap:20px}.list-placeholder span{height:14px;border-radius:5px;background:var(--border, #e3e8e1);opacity:.55;width:65%}.list-placeholder span:nth-child(2n){width:42%}.transfer-summary{flex:none;width:100%;min-height:40px;border-radius:0;border-width:1px 0 0;text-align:left;padding:10px 24px;background:var(--surface, #fff);font-size:13px}.transfer-drawer{inset:0 0 0 auto;margin:0;width:440px;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;border-left:1px solid var(--border, #dde4dc);border-radius:0;box-shadow:-12px 0 48px #172d2626}.transfer-drawer[open]{display:flex;flex-direction:column}.transfer-heading{display:flex;align-items:center;justify-content:space-between;padding:20px;flex:none}.transfer-heading h2{margin:0;font-size:19px}.transfer-details{flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain}.transfer-drawer .upload-panel{margin:0;padding:0;border:0;max-height:none}.transfer-drawer .panel-heading{flex-wrap:wrap;gap:8px}.transfer-drawer #uploads{max-height:none}.transfer-drawer #uploads li{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:16px 0}.transfer-drawer #uploads li>span{font-variant-numeric:tabular-nums;font-size:12px;overflow-wrap:anywhere}.transfer-drawer #uploads li>progress{width:100%;height:7px}.transfer-drawer .task-actions{display:flex;flex-wrap:wrap;gap:8px}.sessions-panel{display:grid;gap:16px}.sessions-list{display:grid;gap:10px}.session-row{border:1px solid var(--border, #dde4dc);border-radius:8px;padding:14px;display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.session-heading{font-weight:600;overflow-wrap:anywhere}.session-meta{font-size:12px;color:var(--muted, #64736b);line-height:1.65;overflow-wrap:anywhere}.session-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.session-current,.session-type{font-size:11px;border-radius:4px;padding:2px 6px;background:#eef3ed}.session-current{color:#215c47;background:#e0eee3}.session-empty{color:var(--muted, #64736b);text-align:center;padding:24px}.session-pagination{display:flex;gap:8px;justify-content:space-between;align-items:center}.session-confirm{max-width:420px}.sidebar-foot{padding-inline:0}.sidebar-foot .sidebar-action{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:40px;margin:0;padding:8px 12px;font-size:14px;line-height:20px}.sidebar-action .svg-icon{width:20px;height:20px;flex:none}@media(max-height:540px){.sidebar-foot .sidebar-action{min-height:36px;padding:6px 4px;gap:4px;font-size:13px}}@media(max-width:640px){.transfer-drawer{width:100vw}.transfer-summary{padding:10px 14px;font-size:12px}.session-row{flex-wrap:wrap}}.share-select-trigger,.share-select-options>button,.share-calendar-header>button,.directory-toggle{transition:color .12s ease,background-color .12s ease,border-color .12s ease}.share-select-trigger>.svg-icon,.directory-toggle>.svg-icon{pointer-events:none;transition:transform .12s ease}.share-select-trigger[aria-expanded=true]>.svg-icon{transform:rotate(180deg)}.share-select-trigger[aria-expanded=true],.directory-row[aria-selected=true] .directory-toggle{color:var(--accent);background:var(--selected)}.share-select-trigger:not(:disabled):hover,.share-select-options>button:not(:disabled):hover,.share-calendar-header>button:not(:disabled):hover,.directory-toggle:hover{background:var(--selected);color:var(--accent)}.share-select-trigger:not(:disabled):active,.share-select-options>button:not(:disabled):active,.share-calendar-header>button:not(:disabled):active,.directory-toggle:active{background:var(--selected);box-shadow:inset 0 0 0 1px var(--accent)}.share-select-trigger:focus-visible,.share-select-options>button:focus-visible,.share-calendar-header>button:focus-visible,.directory-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.share-select-trigger:disabled,.share-select-options>button:disabled,.share-calendar-header>button:disabled{opacity:.45;cursor:not-allowed}.storage-pagination .share-select{display:inline-block;vertical-align:middle;min-width:76px}.storage-pagination .share-select-options{position:absolute;z-index:2;bottom:100%;min-width:100%}@media(prefers-reduced-motion:reduce){.share-select-trigger,.share-select-options>button,.share-calendar-header>button,.directory-toggle,.share-select-trigger>.svg-icon,.directory-toggle>.svg-icon{transition:none}}#manage-links .svg-icon{color:var(--accent)}.share-select-trigger[aria-expanded=true]{border-color:var(--accent)}input:not([type=checkbox]):not([type=radio]):focus,textarea:focus{border-color:var(--accent);outline:2px solid var(--selected);outline-offset:1px}input[aria-invalid=true],textarea[aria-invalid=true],input:user-invalid,textarea:user-invalid{border-color:var(--danger, #a73535)}
