:root,[data-theme=dark]{color-scheme:dark;--bg: #0f1a16;--bg-elevated: #16241e;--bg-row: #1a2c24;--bg-row-hover: #21362c;--border: #2a4538;--text: #e8f0eb;--text-muted: #8fa899;--accent: #3d9b6e;--accent-soft: #7dcea0;--danger: #d4726a;--warn: #c9a227;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--shadow: 0 12px 40px rgba(0, 0, 0, .35);--glow-1: #1e3d30;--glow-2: #243528;--toolbar-top: #1c2f26;--code-bg: rgba(0, 0, 0, .28);--quote-border: var(--accent);--md-table-border: var(--border);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .16s;--dur: .28s;--dur-slow: .4s}[data-theme=light]{color-scheme:light;--bg: #eef3ef;--bg-elevated: #f7faf8;--bg-row: #ffffff;--bg-row-hover: #e8f1eb;--border: #c5d4cb;--text: #1a2e24;--text-muted: #5a7264;--accent: #2f7a56;--accent-soft: #3d9b6e;--danger: #c45c54;--warn: #a8841a;--shadow: 0 12px 32px rgba(26, 46, 36, .08);--glow-1: #d5e8dc;--glow-2: #cfe0d6;--toolbar-top: #eef5f0;--code-bg: rgba(47, 122, 86, .08);--quote-border: var(--accent-soft);--md-table-border: #d0ddd5}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable;overflow-y:scroll}html,body{margin:0;min-height:100%;font-family:var(--font);color:var(--text);background:radial-gradient(ellipse 80% 50% at 10% -10%,var(--glow-1) 0%,transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,var(--glow-2) 0%,transparent 45%),var(--bg);background-attachment:fixed;transition:background var(--dur-slow) var(--ease-in-out),color var(--dur) var(--ease-in-out)}body{line-height:1.5;overflow-x:hidden}#app{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 4.75rem;min-height:100dvh;box-sizing:border-box}.header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.brand{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .75rem;min-width:0;flex:1}.brand h1{margin:0;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.2}.brand .tag{font-family:var(--mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-soft);border:1px solid var(--border);padding:.2rem .45rem;border-radius:999px}.header-actions .header-btn{flex-shrink:0;box-sizing:border-box;min-height:2.25rem;padding:0 .75rem;gap:.4rem;line-height:1;white-space:nowrap;align-items:center;justify-content:center}.header-actions .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0;line-height:0;font-size:1rem}.header-actions .btn-icon-svg{display:block;width:1rem;height:1rem;flex-shrink:0}.header-actions .btn-label{display:inline-flex;align-items:center;line-height:1}.sub{margin:.4rem 0 1.5rem;color:var(--text-muted);font-size:.95rem;max-width:36rem}.panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--toolbar-top) 0%,var(--bg-elevated) 100%)}.crumbs-row{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;flex:1;min-width:0}.crumbs{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;flex:0 1 auto;min-width:0;font-family:var(--mono);font-size:.82rem;align-self:center}.crumbs .current{color:var(--text);padding:.15rem .3rem;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs button{background:none;border:none;color:var(--accent-soft);cursor:pointer;padding:.15rem .3rem;border-radius:4px;font:inherit;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.crumbs button:hover{background:color-mix(in srgb,var(--accent-soft) 16%,transparent)}.crumbs .sep{color:var(--text-muted);opacity:.6}.actions{display:flex;flex-wrap:wrap;gap:.4rem;flex-shrink:0}button.btn,label.btn,a.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-row);color:var(--text);font-family:var(--font);font-size:.85rem;font-weight:500;padding:.4rem .75rem;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}button.btn:hover,label.btn:hover,a.btn:hover{background:var(--bg-row-hover);border-color:var(--accent);text-decoration:none}button.btn:focus-visible,label.btn:focus-visible,a.btn:focus-visible,.name-btn:focus-visible,.crumbs button:focus-visible,.storage-card:focus-visible,.tabs .tab:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.admin-form input:focus-visible,.admin-form select:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px;border-color:var(--accent)}button.btn:active,label.btn:active,a.btn:active{transform:translateY(.5px) scale(.985)}.btn.primary{background:var(--bg-row-hover);border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 26%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:color-mix(in srgb,var(--accent) 65%,var(--text));font-weight:600}.btn.primary:hover{background:color-mix(in srgb,var(--accent) 40%,var(--bg-elevated));border-color:color-mix(in srgb,var(--accent) 85%,var(--border));color:color-mix(in srgb,var(--accent) 45%,var(--text))}button.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}button.btn:disabled{opacity:.45;cursor:not-allowed}label.btn input{display:none}.table-wrap{overflow-x:auto;max-width:100%;width:100%}table.files{width:100%;max-width:100%;min-width:100%;table-layout:fixed;border-collapse:collapse;font-size:.9rem}table.files th,table.files td{overflow:hidden}table.files th{text-align:left;padding:.65rem 1rem;color:var(--text-muted);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border)}table.files td{padding:.7rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);vertical-align:middle}table.files th:first-child,table.files td:first-child{width:auto;overflow:hidden}table.files th.hide-sm,table.files td.hide-sm,table.files th.col-size,table.files td.col-size{width:6.5rem}table.files th.col-mtime,table.files td.col-mtime{width:9rem}.table-wrap>.status,.table-wrap>.empty{border-bottom:none}table.files tr:last-child td{border-bottom:none}table.files tbody tr{transition:background var(--dur-fast) var(--ease-out)}table.files tbody tr:hover{background:var(--bg-row-hover)}.name-cell{display:flex;align-items:center;gap:.55rem;min-width:0;max-width:100%;overflow:hidden;transform-origin:left center;transition:transform .3s ease}.name-cell:active{transform:scale(.95);transition:transform .1s ease}.file-glyph-box{flex:0 0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;color:var(--text-muted)}.file-glyph{display:block;width:1.2rem;height:1.2rem}.kind-dir,.kind-image{color:var(--accent-soft)}.kind-video{color:#6f9bf0}.kind-audio{color:#c69a2b}.kind-archive{color:var(--warn)}.kind-doc{color:color-mix(in srgb,var(--accent) 62%,var(--text))}.name-btn{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;max-width:100%;transition:color var(--dur-fast) var(--ease-out)}a.name-btn{text-decoration:none}.name-btn:hover{color:var(--accent-soft)}.meta{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.row-actions{display:flex;gap:.35rem;justify-content:flex-end;flex-shrink:0}.row-actions .btn{padding:.25rem .5rem;font-size:.78rem;white-space:nowrap}.empty,.status{padding:2rem 1rem;text-align:center;color:var(--text-muted)}.status.error{color:var(--danger)}.status.loading{display:flex;align-items:center;justify-content:center;min-height:5.5rem;padding:1.75rem 1rem}.spinner{width:1.55rem;height:1.55rem;border:2.5px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-top-color:var(--accent-soft);border-radius:50%;animation:spin .9s linear infinite}.intro-panel .status.loading{min-height:3.25rem;padding:1rem}.intro-panel .spinner{width:1.2rem;height:1.2rem;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.intro-panel{border-top:1px solid var(--border);padding:1.1rem 1.25rem 1.4rem;background:color-mix(in srgb,var(--bg) 35%,var(--bg-elevated))}.intro-panel-inner{min-height:0}.table-wrap:has(+.intro-panel) table.files tbody tr:last-child td{border-bottom:none}.intro-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.intro-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft)}.intro-source{font-family:var(--mono);font-size:.72rem;color:var(--text-muted)}.markdown-body{font-size:.95rem;line-height:1.7;color:var(--text);overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:1.25em 0 .5em;line-height:1.3;letter-spacing:-.02em;font-weight:650}.markdown-body h1{font-size:1.45rem}.markdown-body h2{font-size:1.2rem}.markdown-body h3{font-size:1.05rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre,.markdown-body table{margin:.75em 0}.markdown-body ul,.markdown-body ol{padding-left:1.35rem}.markdown-body a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:2px}.markdown-body a:hover{color:var(--accent)}.markdown-body code{font-family:var(--mono);font-size:.86em;background:var(--code-bg);padding:.12em .35em;border-radius:4px}.markdown-body pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;overflow-x:auto}.markdown-body pre code{background:none;padding:0;font-size:.82rem}.markdown-body blockquote{margin-left:0;padding:.15rem 0 .15rem .9rem;border-left:3px solid var(--quote-border);color:var(--text-muted)}.markdown-body img{max-width:100%;height:auto;border-radius:8px}.markdown-body table{width:100%;border-collapse:collapse;font-size:.88rem;display:block;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--md-table-border);padding:.4rem .65rem;text-align:left}.markdown-body th{background:color-mix(in srgb,var(--accent) 10%,transparent)}.markdown-body hr{border:none;border-top:1px solid var(--border);margin:1.25em 0}html.preview-open{overflow:hidden}.preview-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 35%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,var(--bg) 55%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.preview-dialog{display:flex;flex-direction:column;width:min(960px,100%);max-height:min(90dvh,900px);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);transform-origin:center center}.preview-dialog--media{width:min(1100px,96vw);max-height:min(96dvh,980px)}.preview-dialog--media .preview-body{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.75rem;padding:.75rem 1rem 1rem}.preview-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.preview-title{flex:1;min-width:0}.preview-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.preview-kind{display:block;margin-bottom:.15rem;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft)}.preview-count{display:block;margin-top:.2rem;font-size:.75rem;color:var(--text-muted)}.preview-body{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem}.preview-body .status.loading,.preview-body .status.error,.preview-body .empty{width:100%}.preview-media{display:block;max-width:100%;max-height:calc(90dvh - 8rem);object-fit:contain;border-radius:8px;margin:0 auto}.preview-media-stage{position:relative;width:100%;min-height:240px;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:12px;background:radial-gradient(ellipse at center,#1e293b,#0f172a 75%)}.preview-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:2.4rem;height:2.4rem;border:1px solid color-mix(in srgb,#fff 22%,transparent);border-radius:999px;background:color-mix(in srgb,#000 45%,transparent);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.preview-nav:hover{background:color-mix(in srgb,#000 62%,transparent)}.preview-nav--prev{left:.65rem}.preview-nav--next{right:.65rem}.preview-video{display:block;width:100%;max-height:calc(100dvh - 12rem);background:#000;border-radius:8px}.video-box-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;width:100%;padding-top:.15rem}.video-box-select{display:flex;align-items:center;gap:.5rem;flex:1;min-width:min(100%,14rem)}.video-box-label{flex-shrink:0;font-size:.8rem;color:var(--text-muted)}.video-box-select select{flex:1;min-width:0;max-width:100%;padding:.4rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:.85rem}.video-box-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.video-box-autonext{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text);-webkit-user-select:none;user-select:none;cursor:pointer}.video-box-autonext input{margin:0;accent-color:var(--accent)}.preview-overlay .preview-media,.preview-overlay .preview-video{animation:media-in var(--dur) var(--ease-out) both}.preview-text-wrap,.preview-markdown{width:100%;align-self:flex-start}.preview-text{width:100%;margin:0;padding:.85rem 1rem;border-radius:8px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 40%,var(--bg-row));font-family:var(--mono);font-size:.82rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.preview-markdown{font-size:.95rem;line-height:1.7}.footer-bar{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:40;box-sizing:border-box;width:100%;max-width:960px;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;justify-content:space-between;align-items:center;margin:0;padding:.7rem 1.25rem calc(.7rem + env(safe-area-inset-bottom,0px));font-size:.82rem;color:var(--text-muted);background:color-mix(in srgb,var(--bg) 86%,transparent);border-top:1px solid var(--border)}.admin-footer,.share-file-footer{justify-content:center}.admin-card .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-card table.files td:not(.row-actions){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-card table.files td.mono{font-size:.78rem}.health{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.powered-by{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-muted);text-decoration:none;font-size:.8rem;line-height:1.2;transition:color var(--dur-fast) var(--ease-out)}.powered-by:hover{color:var(--accent-soft)}.powered-by strong{font-weight:600;color:inherit}.powered-by-logo{display:block;width:1.25rem;height:1.25rem;flex-shrink:0}.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--accent-soft)}.dot.bad{background:var(--danger)}.dot.pending{background:var(--text-muted);opacity:.7}.storage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;padding:1rem}.storage-card{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;text-align:left;padding:1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-row);color:inherit;font:inherit;cursor:pointer;transition:border-color var(--dur) var(--ease-out),background var(--dur) var(--ease-out),transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.storage-card:hover{border-color:var(--accent);background:var(--bg-row-hover);transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--bg) 55%,transparent)}.storage-card:active{transform:translateY(0)}.storage-card strong{font-size:1rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-path{font-family:var(--mono);font-size:.75rem;color:var(--text-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.storage-badge{font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:.18rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent-soft) 18%,transparent);color:var(--accent-soft)}.provider-aliyun{background:#ff6a0026;color:#ff9a4d}.provider-baidu{background:#296ff826;color:#7aa4ff}.provider-tianyi{background:#00a0e926;color:#5ec8f0}.provider-mobile{background:#00b47826;color:#5ed6a8}.provider-unicom{background:#dc3c3c26;color:#f08080}.provider-webdav{background:color-mix(in srgb,var(--text-muted) 15%,transparent);color:var(--text-muted)}[data-theme=light] .provider-aliyun{color:#c45a00}[data-theme=light] .provider-baidu{color:#1a56db}[data-theme=light] .provider-tianyi{color:#0077a8}[data-theme=light] .provider-mobile{color:#1a8a5c}[data-theme=light] .provider-unicom{color:#b03030}.header-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.admin-shell{width:100%;max-width:none;margin:0;padding:0;min-height:0;box-sizing:border-box}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.admin-header .brand{flex:1;min-width:0}.admin-header .brand h1{font-size:1.45rem}.admin-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.login-card{max-width:420px;margin:3rem auto}.login-card h1{margin:0 0 .35rem;font-size:1.5rem}.login-card .sub{margin:0 0 1rem}.tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem}.tabs .tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--bg-row);color:var(--text-muted);font:inherit;font-size:.85rem;padding:.4rem .8rem;border-radius:999px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tabs .tab.active{color:var(--text);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-row))}.admin-section h2{margin:0 0 .75rem;font-size:1.15rem}.admin-section h3{margin:1.25rem 0 .65rem;font-size:.95rem}.drag-handle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.6rem;border-radius:6px;color:var(--text-muted);cursor:grab;-webkit-user-select:none;user-select:none;font-size:1.05rem;line-height:1;letter-spacing:-2px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.drag-handle:hover{background:var(--bg-row-hover);color:var(--text)}.drag-handle:active{cursor:grabbing}.drag-handle.is-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.admin-item--dragging{opacity:.5;border-style:dashed}.storage-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));align-items:start;gap:.6rem}.storage-card-item{position:relative;display:flex;flex-direction:column;gap:.7rem;min-width:0;padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-row);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.storage-card-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.storage-card-item.is-private:before{background:var(--warn)}.storage-card-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.storage-card-item.is-edit{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.storage-card-item.is-private{opacity:.82}.add-panel{margin-top:1.25rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 30%,var(--bg-row))}.add-panel>summary{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.65rem .9rem;cursor:pointer;list-style:none;transition:background var(--dur-fast) var(--ease-out)}.add-panel>summary::-webkit-details-marker{display:none}.add-panel>summary:hover{background:var(--bg-row-hover)}.add-panel>summary h3{margin:0;font-size:.95rem}.add-panel>summary:after{content:"▾";color:var(--text-muted);font-size:.75rem;transition:transform var(--dur-fast) var(--ease-out)}.add-panel[open]>summary:after{transform:rotate(180deg)}.add-panel>.hint{margin:0;padding:0 .9rem .5rem}.add-panel .add-form{padding:0 .9rem .9rem}.admin-shell .card-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.admin-shell .card-row--top .card-state,.admin-shell .card-row--top .order-btns,.admin-shell .order-btns{margin-left:auto}.admin-shell .card-body{min-width:0}.admin-shell .card-title{margin:0;font-size:.98rem;font-weight:650;line-height:1.35;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell .card-title--mono{font-family:var(--mono);font-size:.92rem}.admin-shell .card-sub{margin:.12rem 0 0;font-size:.76rem;line-height:1.4;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-shell .card-kind{display:inline-flex;align-items:center;gap:.28rem;flex:0 0 auto;padding:.1rem .42rem;border-radius:6px;font-size:.7rem;line-height:1.4;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.admin-shell .card-kind-icon{flex:0 0 auto}.admin-shell .card-kind--public{color:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 12%,transparent)}.admin-shell .card-kind--private{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,var(--border));background:color-mix(in srgb,var(--warn) 10%,transparent)}.admin-shell .card-kind--file{color:var(--text-muted)}.admin-shell .card-state{flex:0 0 auto;padding:.1rem .42rem;border-radius:999px;font-size:.7rem;line-height:1.4;border:1px solid var(--border);color:var(--text-muted)}.admin-shell .card-state--plain{border-style:dashed}.admin-shell .card-state--is-on{color:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}.admin-shell .card-state--is-off,.admin-shell .card-state--is-expired{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border));background:color-mix(in srgb,var(--danger) 10%,transparent)}.admin-shell .card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.35rem;margin-top:auto}.admin-shell .card-actions .switch{grid-column:1 / -1;justify-self:start;white-space:nowrap}.admin-shell .card-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-width:0;align-self:stretch;padding:.28rem .5rem;font-size:.76rem;white-space:nowrap}.admin-shell .card-actions .btn.icon{padding:.2rem .45rem}.admin-shell .card-actions .btn:only-child{grid-column:1 / -1}.admin-shell .share-card,.admin-shell .storage-card-item,.admin-shell .rule-card{background:var(--bg-row);border-color:var(--border);box-shadow:none}.admin-shell .share-card:hover,.admin-shell .share-card:focus-within,.admin-shell .storage-card-item:hover,.admin-shell .storage-card-item:focus-within,.admin-shell .rule-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.admin-shell .storage-cards,.admin-shell .share-cards,.admin-shell .rule-cards{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:.5rem;align-items:start}.admin-shell .storage-card-item,.admin-shell .share-card,.admin-shell .rule-card{gap:.5rem;padding:.65rem .75rem;border-radius:10px;min-height:0;min-width:0}.admin-shell .btn-icon{flex:0 0 auto}@media(max-width:480px){.admin-shell .storage-cards,.admin-shell .share-cards,.admin-shell .rule-cards{grid-template-columns:1fr}}.share-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.7rem 0 .85rem}.state-filter{display:inline-flex;flex-wrap:wrap;gap:.3rem}.state-filter-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--border);background:var(--bg-row);color:var(--text-muted);font:inherit;font-size:.76rem;line-height:1.3;padding:.28rem .55rem;border-radius:999px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.state-filter-btn:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.state-filter-btn.active{color:color-mix(in srgb,var(--accent) 65%,var(--text));border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:color-mix(in srgb,var(--accent) 16%,var(--bg-row))}.state-filter-count{font-family:var(--mono);font-size:.68rem;opacity:.75}.share-card{position:relative;overflow:hidden}.share-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.share-card.share-card--is-off:before{background:var(--danger)}.share-card.share-card--is-expired:before{background:var(--warn)}.rule-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));align-items:start;gap:.6rem;margin-bottom:1.25rem}.rule-card{position:relative;display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-row);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.rule-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.rule-card--private:before{background:var(--warn)}.rule-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.rule-card--private{opacity:.85}.tabs-bottom{display:none}.share-pwd-card{text-align:center}.share-pwd-lock{display:inline-grid;place-items:center;width:3.2rem;height:3.2rem;margin:0 auto .75rem;border-radius:50%;color:var(--accent-soft);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border))}.share-pwd-meta{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;margin:0 0 1.1rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--bg) 40%,var(--bg-row));text-align:left}.share-pwd-meta>div{min-width:4.5rem}.share-pwd-meta dt{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.share-pwd-meta dd{margin:.1rem 0 0;font-size:.84rem;overflow-wrap:anywhere}.pwd-field{position:relative;display:block}.pwd-field input{width:100%;padding-right:2.4rem!important}.pwd-toggle{position:absolute;right:.3rem;top:50%;transform:translateY(-50%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-muted);display:inline-grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:6px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.pwd-toggle:hover{color:var(--text);background:var(--bg-row-hover)}.share-pwd-card .admin-form{text-align:left}.share-pwd-card .admin-form .btn{justify-self:stretch}.actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.menu-wrap{position:relative;display:inline-flex}.menu-trigger{cursor:pointer}.menu-trigger.is-open{color:color-mix(in srgb,var(--accent) 55%,var(--text));border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 14%,var(--bg-row))}.menu-panel{position:absolute;top:calc(100% + .4rem);right:0;z-index:60;min-width:11rem;display:flex;flex-direction:column;gap:.1rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);box-shadow:var(--shadow);animation:menu-panel-in var(--dur-fast) var(--ease-out)}@keyframes menu-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:none;color:var(--text);font:inherit;font-size:.85rem;line-height:1.2;display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .55rem;border-radius:7px;text-align:left;cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.menu-item svg{flex-shrink:0;color:var(--text-muted)}.menu-item:hover{background:var(--bg-row-hover)}.menu-item.active{color:color-mix(in srgb,var(--accent) 60%,var(--text));background:color-mix(in srgb,var(--accent) 14%,var(--bg-row))}.menu-item.active svg{color:currentColor}.menu-check{margin-left:auto;font-size:.8rem;color:currentColor}.menu-item:focus-visible,.menu-trigger:focus-visible{outline:2px solid var(--accent-soft);outline-offset:1px}input.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.footer-upload{margin-left:.35rem;max-width:12rem;overflow:hidden;color:var(--accent-soft);font-size:.78rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:fixed;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}table.files th.sortable{padding:0;overflow:hidden}.sort-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;width:100%;min-width:0;box-sizing:border-box;display:inline-flex;align-items:center;gap:.3rem;padding:.65rem 1rem;color:inherit;font:inherit;font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out)}.sort-btn:hover{color:var(--text)}.sort-btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:-2px}.sort-arrow{font-size:.6rem;line-height:1;color:var(--accent-soft);transition:opacity var(--dur-fast) var(--ease-out)}.sort-arrow.is-idle{opacity:.22;color:var(--text-muted)}.sort-arrow.is-asc{transform:rotate(180deg)}.file-card-wrap{transition:opacity var(--dur-fast) var(--ease-out)}.file-card-wrap.is-stale{opacity:.72}.file-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.7rem;padding:1rem}.file-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;min-width:0;padding:.5rem;text-align:left;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-row);color:inherit;font:inherit;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.file-card:hover{border-color:var(--accent);background:var(--bg-row-hover);transform:translateY(-2px)}.file-card:active{transform:translateY(0)}.file-card:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.file-card-cover{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 10%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.file-card-thumb{width:100%;height:100%;object-fit:cover}.file-card-glyph{color:inherit}.file-card-tag{position:absolute;left:.3rem;bottom:.3rem;max-width:calc(100% - .6rem);padding:.05rem .35rem;border-radius:4px;font-family:var(--mono);font-size:.62rem;line-height:1.5;text-transform:uppercase;color:var(--text);background:color-mix(in srgb,var(--bg) 78%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card-name{font-size:.85rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-card-meta{font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-head{display:flex;align-items:baseline;gap:.5rem}.share-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));align-items:start;gap:.6rem;margin-bottom:1.25rem}.share-card{display:flex;flex-direction:column;gap:.55rem;min-width:0;padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-row);transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.share-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.share-card--off{opacity:.62}.share-card--edit{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.share-card-edit{margin:0;padding-top:.6rem;border-top:1px solid var(--border)}.order-btns{display:inline-flex;gap:.2rem}.btn.icon{padding:.2rem .5rem;min-width:1.8rem;font-size:.95rem;line-height:1.2}.share-edit-row td{background:var(--bg-row);padding:.85rem .9rem!important}.path-picker-field{gap:.45rem}.path-picker-bar{display:flex;gap:.45rem;align-items:stretch}.path-picker-bar input{flex:1;min-width:0}.path-picker-bar .btn{flex-shrink:0;align-self:stretch}.path-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,#0f172a 48%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.path-picker-dialog{display:flex;flex-direction:column;width:min(560px,100%);max-height:min(80dvh,640px);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg-elevated);box-shadow:0 18px 50px color-mix(in srgb,#000 28%,transparent)}.path-picker-head,.path-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.path-picker-foot{border-bottom:0;border-top:1px solid var(--border);flex-wrap:wrap}.path-picker-title{display:flex;flex-direction:column;gap:.15rem;min-width:0}.path-picker-title strong{font-size:1rem}.path-picker-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:.65rem;padding:.85rem 1rem;overflow:hidden}.path-picker-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem;font-size:.85rem}.path-picker-crumbs .sep{color:var(--text-muted)}.path-picker-crumbs .current{color:var(--text);font-weight:600}.path-picker-list{list-style:none;margin:0;padding:0;flex:1;min-height:180px;max-height:min(48dvh,360px);overflow:auto;border-radius:8px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:var(--bg)}.path-picker-list .empty{padding:.85rem;color:var(--text-muted);font-size:.85rem}.path-picker-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border:0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.path-picker-list li:last-child .path-picker-item{border-bottom:0}.path-picker-item-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-picker-item-hint{flex-shrink:0;font-size:.75rem}.path-picker-item--file:hover .path-picker-item-hint{color:var(--accent-soft)}.share-file-body{padding:1.75rem 1.25rem 2rem}.share-file-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem;max-width:28rem;margin:0 auto}.share-file-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;width:4.5rem;height:4.5rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--bg-elevated));color:var(--accent)}[data-theme=dark] .share-file-visual{color:var(--accent-soft)}.share-file-visual.has-thumb{border-color:var(--border);background:color-mix(in srgb,var(--text-muted) 10%,transparent)}.share-file-thumb{width:100%;height:100%;border-radius:inherit;object-fit:cover}.share-file-glyph{display:block}.share-file-ext{font-family:var(--mono);font-size:.58rem;font-weight:700;line-height:1;letter-spacing:.04em;text-transform:uppercase}.share-file-name{margin:.35rem 0 0;max-width:100%;font-size:1.05rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.share-file-stats{margin:0;white-space:normal}.share-file-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.9rem}.share-file-cta .btn{gap:.4rem;padding:.5rem 1rem}.share-file-cta .cta-icon{display:block;flex-shrink:0}.share-file-cta .btn:not(.primary){background:transparent;border-color:var(--border);color:var(--text-muted)}.share-file-cta .btn:not(.primary):hover{background:color-mix(in srgb,var(--text-muted) 8%,transparent);border-color:color-mix(in srgb,var(--text-muted) 45%,var(--border));color:var(--text)}.share-file-preview{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.share-file-preview-media{display:block;max-width:100%;max-height:min(62dvh,520px);margin:0 auto;border-radius:8px}.share-file-preview-text{max-height:min(55dvh,480px);overflow:auto;border-radius:8px;padding:.75rem .9rem;background:color-mix(in srgb,var(--bg) 88%,var(--text-muted))}.path-picker-current{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-fade-enter-active .path-picker-dialog,.preview-fade-leave-active .path-picker-dialog{transition:opacity var(--dur) var(--ease-out),transform .34s var(--ease-out)}.preview-fade-enter-from .path-picker-dialog,.preview-fade-leave-to .path-picker-dialog{opacity:0;transform:translateY(10px) scale(.98)}.admin-form{display:flex;flex-direction:column;gap:.75rem}.admin-form.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.admin-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--text-muted)}.admin-form label.full{grid-column:1 / -1}.admin-form .hint.full{grid-column:1 / -1;margin:0}.admin-form label.check{flex-direction:row;align-items:center;gap:.45rem}.admin-form input,.admin-form select,.admin-form textarea{padding:.5rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;font-size:.9rem}.admin-form textarea{min-height:4.5rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;word-break:break-all}.admin-form .btn{justify-self:start;align-self:center}.hint{margin:.75rem 0 0;font-size:.82rem;color:var(--text-muted)}.hint a{color:var(--accent-soft)}.switch{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.mono{font-family:var(--mono);font-size:.82rem}.toast-host{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;gap:.5rem;width:min(420px,calc(100vw - 2rem));pointer-events:none}.toast{padding:.65rem .95rem;border-radius:8px;font-size:.88rem;box-shadow:var(--shadow);border:1px solid var(--border);pointer-events:auto}@keyframes media-in{0%{opacity:0}to{opacity:1}}.panel-fade-enter-active{transition:opacity var(--dur) var(--ease-out)}.panel-fade-leave-active{display:none!important}.panel-fade-enter-from{opacity:0}@keyframes files-content-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.files-content-anim>tr{transform-origin:left center;animation:files-content-in .2s ease backwards}.panel-body{position:relative}.table-wrap.is-stale{opacity:.72;transition:opacity var(--dur-fast) var(--ease-out)}.preview-fade-enter-active,.preview-fade-leave-active{transition:opacity var(--dur) var(--ease-out)}.preview-fade-enter-active .preview-dialog,.preview-fade-leave-active .preview-dialog{transition:opacity var(--dur) var(--ease-out),transform .34s var(--ease-out)}.preview-fade-enter-from,.preview-fade-leave-to{opacity:0}.preview-fade-enter-from .preview-dialog,.preview-fade-leave-to .preview-dialog{opacity:0;transform:translateY(12px) scale(.98)}.admin-fade-enter-active,.admin-fade-leave-active{transition:opacity var(--dur) var(--ease-out),transform .32s var(--ease-out)}.admin-fade-enter-from,.admin-fade-leave-to{opacity:0;transform:translateY(8px)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translateY(-8px)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.toast.ok{background:color-mix(in srgb,var(--accent) 22%,var(--bg-elevated));color:var(--text);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.toast.err{background:color-mix(in srgb,var(--danger) 18%,var(--bg-elevated));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}@media(max-width:640px){html{scrollbar-gutter:auto}#app{padding:1rem .9rem 4.5rem}.header-row{gap:.5rem}.brand h1{font-size:1.35rem;line-height:1.25}.brand .tag{display:none}.sub{margin:.35rem 0 1.1rem;font-size:.88rem}.header-actions{flex-shrink:0;gap:.35rem}.header-actions .header-btn{width:2.25rem;min-width:2.25rem;padding:0;justify-content:center}.header-actions .btn-label{display:none}.toolbar{flex-direction:column;align-items:stretch;gap:0;padding:.7rem .75rem}.crumbs-row{gap:.4rem}.crumbs{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;font-size:.8rem}.crumbs::-webkit-scrollbar{display:none}.crumbs .current,.crumbs button{flex-shrink:0}.toolbar .actions{width:100%;justify-content:flex-end;flex-shrink:0}.table-wrap{overflow-x:hidden}table.files th,table.files td{padding:.65rem}table.files td:first-child{padding-right:.35rem}.row-actions{gap:.25rem}.row-actions .btn{padding:.28rem .4rem;font-size:.75rem}table.files th.col-size,table.files td.col-size,table.files th.col-mtime,table.files td.col-mtime,table.files th.hide-sm,table.files td.hide-sm{display:table-cell!important;box-sizing:border-box!important;width:0!important;min-width:0!important;max-width:0!important;padding:0!important;border:none!important;overflow:hidden!important;color:transparent;font-size:0;line-height:0}table.files th.col-size .sort-btn,table.files th.col-mtime .sort-btn,table.files th.hide-sm .sort-btn{display:none}.hide-sm{display:none!important}.footer-bar{padding-left:.9rem;padding-right:.9rem;flex-wrap:nowrap;gap:.5rem .6rem}.powered-by{min-width:0;font-size:.74rem}.powered-by-logo{width:1.05rem;height:1.05rem}.powered-by .powered-prefix,.powered-by .powered-suffix{display:none}.health{flex-wrap:nowrap;min-width:0}.admin-form.grid-form{grid-template-columns:1fr}.admin-header{flex-wrap:wrap}.admin-header .header-actions{width:100%;justify-content:flex-end}.storage-card-item .card-row--top .drag-handle{flex:0 0 auto;width:1.05rem;margin-left:-.55rem;margin-right:.1rem}.admin-card .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-card table.files td.row-actions{white-space:normal}.preview-overlay{padding:.65rem}.preview-head{flex-direction:column;align-items:stretch}.preview-head .row-actions{width:100%;justify-content:flex-end}.tabs-top{display:none}.tabs-bottom{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;justify-content:space-around;align-items:stretch;gap:.15rem;margin:0;padding:.35rem .35rem calc(.3rem + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--bg) 92%,transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab-bottom{flex:1 1 0;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--text-muted);font:inherit;font-size:.68rem;line-height:1.2;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.3rem .2rem;border-radius:8px;cursor:pointer;transition:color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.tab-bottom span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tab-bottom.active{color:color-mix(in srgb,var(--accent) 65%,var(--text));background:color-mix(in srgb,var(--accent) 14%,transparent)}.admin-shell{padding-bottom:1rem}.admin-footer{position:static;left:auto;bottom:auto;transform:none;width:auto;max-width:none;margin-top:1.25rem;padding:.7rem 0 0;border-top:1px solid var(--border);background:none}body:has(.tabs-bottom) #app{padding-bottom:4.6rem}.storage-cards{grid-template-columns:1fr;gap:.5rem}.storage-card-item{padding:.7rem .75rem}.share-toolbar{gap:.4rem}.state-filter{width:100%}.state-filter-btn{flex:1 1 auto;justify-content:center}.admin-shell .card-actions{gap:.4rem}.admin-shell .card-actions .btn{width:100%;padding:.4rem .5rem}.sort-btn{padding:.65rem .6rem;gap:.2rem;letter-spacing:0}.file-cards{grid-template-columns:repeat(auto-fill,minmax(7.6rem,1fr));gap:.5rem;padding:.65rem}.file-card-name{font-size:.8rem}.file-card-meta{font-size:.68rem}.share-cards{grid-template-columns:1fr;gap:.5rem}.share-card{padding:.7rem .75rem}.rule-cards{grid-template-columns:1fr;gap:.5rem}.rule-card{padding:.7rem .75rem}}.fab{position:fixed;right:1.35rem;bottom:calc(4rem + env(safe-area-inset-bottom,0px));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem}.fab-hint{max-width:min(21rem,calc(100vw - 2.5rem));margin-bottom:.6rem;padding:.5rem .75rem;color:var(--text);font-size:.82rem;line-height:1.45;text-align:right;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fab-btn{position:relative;z-index:1;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:.17rem;width:2.7rem;height:2.7rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;color:var(--text-muted);background:color-mix(in srgb,var(--bg-elevated) 88%,transparent);border:1px solid var(--border);border-radius:50%;box-shadow:0 6px 20px color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent;transition:transform var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.fab-btn:hover{color:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.fab-btn:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px}.fab-btn:active{transform:scale(.94)}.fab-btn.is-open{color:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.fab-btn.is-open .fab-dot{transform:scale(.82);background:currentColor}.fab-dot{width:.23rem;height:.23rem;border-radius:50%;background:currentColor;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.fab-btn.is-busy{cursor:progress;animation:fab-breathe .9s ease-in-out infinite}@keyframes fab-breathe{0%,to{opacity:1}50%{opacity:.6}}.fab-spinner{border-color:color-mix(in srgb,var(--text-muted) 45%,transparent);border-top-color:var(--accent-soft)}.fab-menu,.fab-queue,.fab-batch{display:flex;flex-direction:column;gap:.35rem;min-width:12.5rem;padding:.45rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.fab-queue,.fab-batch{min-width:15rem;max-width:min(20rem,calc(100vw - 2rem));padding:.6rem .7rem}.fab-batch{flex-direction:row;align-items:center;gap:.4rem;flex-wrap:wrap}.fab-batch-count{margin-right:auto;color:var(--accent-soft);font-size:.82rem;white-space:nowrap}.fab-item{display:flex;align-items:center;gap:.55rem;width:100%;padding:.55rem .6rem;color:var(--text);font-size:.9rem;text-align:left;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}.fab-item:hover:not(:disabled){background:var(--bg-row-hover)}.fab-item:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6}.fab-item.active{background:color-mix(in srgb,var(--accent-soft) 16%,transparent)}.fab-ico{display:grid;place-items:center;color:var(--accent-soft)}.fab-text{flex:1}.fab-queue-head{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted);font-size:.78rem}.fab-queue-clear{color:var(--text-muted);font-size:.74rem;background:transparent;border:0;cursor:pointer}.fab-task+.fab-task{margin-top:.45rem}.fab-task-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.fab-task-name{overflow:hidden;font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.fab-task-state{flex-shrink:0;color:var(--text-muted);font-size:.74rem}.fab-bar{height:4px;margin-top:.3rem;overflow:hidden;background:color-mix(in srgb,var(--text-muted) 22%,transparent);border-radius:999px}.fab-bar-fill{display:block;height:100%;background:linear-gradient(90deg,var(--accent-soft),var(--accent));border-radius:inherit;transition:width var(--dur-fast) linear}.fab-bar.is-error .fab-bar-fill{background:var(--danger)}.fab-pop-enter-active,.fab-pop-leave-active{transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.fab-pop-enter-from,.fab-pop-leave-to{opacity:0;transform:translateY(8px) scale(.98)}.pick{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;cursor:pointer}.pick input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.pick-box{display:block;width:1.05rem;height:1.05rem;background:var(--bg-row);border:1.5px solid color-mix(in srgb,var(--text-muted) 55%,transparent);border-radius:5px;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.pick input:checked+.pick-box,.pick input:indeterminate+.pick-box{background:var(--accent);border-color:var(--accent)}.pick input:checked+.pick-box:after{content:"";display:block;width:.3rem;height:.55rem;margin:.08rem auto 0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.pick input:indeterminate+.pick-box:after{content:"";display:block;width:.55rem;height:2px;margin:.35rem auto 0;background:#fff}.pick input:focus-visible+.pick-box{outline:2px solid var(--accent-soft);outline-offset:2px}table.files th.col-select,table.files td.col-select{width:2.15rem;padding-right:.5rem;padding-left:.5rem}table.files th.col-select.is-off,table.files td.col-select.is-off{width:0;padding-right:0;padding-left:0;border-right:0;overflow:hidden;visibility:hidden}.col-select-inner{display:block;width:100%}.pick-card{position:absolute;top:.5rem;left:.5rem;z-index:2;padding:.15rem;background:color-mix(in srgb,var(--bg-elevated) 82%,transparent);border-radius:7px}tr.is-selected td{background:color-mix(in srgb,var(--accent-soft) 13%,transparent)}.file-card.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 12%,var(--bg-row))}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#0000006b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{width:min(26rem,100%);padding:1.1rem 1.2rem 1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.dialog-head strong{font-size:1rem}.dialog-hint{margin:.5rem 0 .75rem;color:var(--text-muted);font-size:.82rem;line-height:1.5;overflow-wrap:anywhere}.dialog-input{width:100%;padding:.55rem .7rem;color:var(--text);font-size:.92rem;background:var(--bg-row);border:1px solid var(--border);border-radius:10px}.dialog-input:focus{border-color:var(--accent);outline:none}.dialog-error{margin:.5rem 0 0;color:var(--danger);font-size:.8rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}@media(max-width:640px){.fab{right:.9rem;bottom:calc(3.4rem + env(safe-area-inset-bottom,0px));gap:.5rem}.fab-btn{width:2.5rem;height:2.5rem}.fab-menu,.fab-queue,.fab-batch{max-width:calc(100vw - 2rem)}table.files th.col-select,table.files td.col-select{width:1.9rem;padding-left:.3rem}table.files th.col-select.is-off,table.files td.col-select.is-off{width:0;padding-left:0;padding-right:0;overflow:hidden;visibility:hidden}}
