:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text-h:#18222f;--text:#334155;--text-subtle:#64748b;--text-faint:#94a3b8;--bg:#eef2f5;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--surface-hover:#eef2f5;--border-soft:#e2e8f0;--border:#d9e1e8;--border-strong:#cbd5e1;--accent:#0f766e;--accent-hover:#0d5f59;--accent-active:#0b4e49;--on-accent:#fff;--accent-bg:#f0fdfa;--accent-bg-strong:#ccfbf1;--accent-border:#99f6e4;--accent-tint:#14b8a629;--accent-tint-strong:#14b8a647;--ring:#0f766e4d;--danger:#be123c;--danger-bg:#fff1f2;--danger-border:#fecdd3;--success:#15803d;--info:#2563eb;--info-strong:#1d4ed8;--info-bg:#eff6ff;--info-border:#bae6fd;--warn-text:#92400e;--warn-bg:#fffbeb;--warn-border:#fcd34d;--overlay:#10182873;--shadow-1:0 1px 2px #10182814, 0 1px 3px 1px #1018280f;--shadow-2:0 1px 2px #1018280f, 0 3px 8px 2px #1018281a;--shadow-3:0 2px 3px #10182814, 0 6px 16px 4px #1018281f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.14s;--dur-med:.24s;--dur-slow:.36s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-h:#e8eaed;--text:#a7adb8;--text-subtle:#8a909c;--text-faint:#646a75;--bg:#0f1116;--surface:#171a21;--surface-2:#1d2129;--surface-3:#262b34;--surface-hover:#262b34;--border-soft:#232830;--border:#2a303a;--border-strong:#3a414d;--accent:#2dd4bf;--accent-hover:#3fdccb;--accent-active:#22b8a5;--on-accent:#04201d;--accent-bg:#2dd4bf1a;--accent-bg-strong:#2dd4bf29;--accent-border:#2dd4bf61;--accent-tint:#2dd4bf29;--accent-tint-strong:#2dd4bf47;--ring:#2dd4bf80;--danger:#f87171;--danger-bg:#f871711a;--danger-border:#f8717159;--success:#34d399;--info:#60a5fa;--info-strong:#93c5fd;--info-bg:#60a5fa1f;--info-border:#60a5fa59;--warn-text:#fbbf24;--warn-bg:#fbbf241a;--warn-border:#fbbf2466;--overlay:#0009;--shadow-1:0 1px 2px #0006, 0 1px 3px 1px #00000040;--shadow-2:0 1px 2px #00000059, 0 3px 10px 2px #00000059;--shadow-3:0 2px 3px #0006, 0 8px 20px 5px #00000073}:root{background:var(--bg);color:var(--text-h);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);min-width:320px;transition:background-color var(--dur-med) var(--ease), color var(--dur-med) var(--ease);margin:0;overflow:hidden}#app{height:100%}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{background:var(--bg);grid-template-columns:196px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);background:var(--surface-2);flex-direction:column;min-width:0;min-height:0;padding:14px 10px 54px;display:flex}.brand{border-radius:var(--radius-sm);background:var(--accent);width:100%;color:var(--on-accent);align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:flex}.brand.compact{flex:none;justify-content:center;width:40px;height:40px;min-height:40px;padding:0}.side-header{flex:none;align-items:center;gap:6px;margin-bottom:10px;display:flex}.side-icon-button,.side-profile-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:0;display:inline-flex}.side-icon-button:hover,.side-profile-button:hover,.side-icon-button.selected{background:var(--border-soft)}.side-profile-button{overflow:hidden}.side-nav{flex-direction:column;flex:auto;gap:4px;min-height:0;display:flex;overflow-y:auto}.side-nav button{text-align:left;width:100%}.side-folder-branch{gap:4px;min-width:0;display:grid}.side-folder-row{min-width:0;padding-left:var(--folder-depth-offset,0px);grid-template-columns:24px minmax(0,1fr);align-items:center;gap:4px;display:grid}.side-nav .side-folder-toggle{border-radius:var(--radius-sm);width:24px;height:36px;min-height:36px;color:var(--text-subtle);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.side-nav .side-folder-toggle:hover:not(:disabled){background:var(--border-soft);color:var(--text)}.side-nav .side-folder-toggle.empty{visibility:hidden}.side-nav .side-folder-toggle:disabled{cursor:default}.side-nav .side-folder-item{text-align:left;grid-template-columns:20px minmax(0,1fr);justify-content:stretch;gap:8px;padding:9px 10px;display:grid}.side-nav .side-folder-item svg{place-self:center}.side-nav button.selected{background:var(--border-soft)}.avatar-frame{border:1px solid var(--border-strong);background:var(--surface-3);width:38px;height:38px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar-frame.small{width:24px;height:24px}.avatar-frame img{object-fit:cover;width:100%;height:100%}.main-column{flex-direction:column;min-width:0;min-height:0;padding:16px 16px 46px;display:flex;overflow:hidden}.hidden-input{display:none}.side-nav button,.browser-actions button,.row-actions button,.panel-title button,.share-item button{border-radius:var(--radius-sm);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.side-nav button:hover,.browser-actions button:hover,.row-actions button:hover,.panel-title button:hover{background:var(--border-soft)}.brand span,.side-nav span,.share-button span,.share-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.search-box{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:160px;height:42px;color:var(--text-subtle);flex:1;align-items:center;gap:10px;padding:0 12px;display:flex}.search-box input,.settings-panel input,.folder-settings input,.folder-settings select,.file-detail-panel input,.share-item input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;color:var(--text-h);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);outline:none}.search-box input{border:0}.search-box input:focus,.settings-panel input:focus,.folder-settings input:focus,.folder-settings select:focus,.file-detail-panel input:focus,.share-item input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.browser-actions button,.share-item button,.wide{border:1px solid var(--border-strong);background:var(--surface);padding:0 12px}.primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.progress-indicator{min-width:0;color:var(--text-subtle);flex-direction:column;gap:4px;font-size:11px;font-weight:700;display:flex}.progress-label{color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;overflow:hidden}.progress-bar-row{grid-template-columns:minmax(42px,1fr) auto;align-items:center;gap:7px;min-width:0;display:grid}.progress-track{border-radius:var(--radius-pill);background:var(--border);min-width:42px;height:4px;display:block;position:relative;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.progress-indicator.indeterminate .progress-track i{width:42%;animation:1.1s ease-in-out infinite progress-slide}.progress-indicator em{color:var(--text-subtle);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.tile-progress{width:100%}.media-progress{z-index:3;border-radius:var(--radius-sm);background:#0f172ab8;padding:6px 7px;position:absolute;bottom:10px;left:10px;right:10px}.media-progress em,.media-progress .progress-label{color:#e2e8f0}.row-progress{width:min(148px,100%)}.binary-preview-progress{width:min(210px,100%);margin-top:2px}.preview-frame.expanded .binary-preview-progress .progress-track{background:#334155}@keyframes progress-slide{0%{transform:translate(-120%)}to{transform:translate(240%)}}@media (prefers-reduced-motion:reduce){.progress-indicator.indeterminate .progress-track i{opacity:.7;width:60%;animation:none}}.browser-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.browser-head{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.breadcrumbs{align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.breadcrumbs.compact{gap:2px}.breadcrumbs button{min-width:0;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;background:0 0;flex:0 auto;align-items:center;gap:6px;padding:6px 4px;display:inline-flex;overflow:hidden}.breadcrumbs.compact button{border-radius:var(--radius-sm);max-width:160px;min-height:32px;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:1px solid #0000;padding:0 8px}.breadcrumbs.compact button:hover{border-color:var(--border-strong);background:var(--surface)}.browser-actions{flex:none;align-items:center;gap:5px;display:flex}.browser-actions .share-button{border-color:var(--info);background:var(--info-bg);color:var(--info-strong)}.browser-actions button:not(.share-button){width:36px;height:36px;min-height:36px;padding:0}.browser-actions .share-button{height:36px;min-height:36px;padding:0 12px}.browser-toolbar{border-bottom:1px solid var(--border-soft);background:var(--surface);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.browser-toolbar.with-path{grid-template-columns:minmax(88px,auto) minmax(0,1fr) auto auto}.browser-toolbar .breadcrumbs{max-width:min(32vw,360px)}.browser-tool-actions{align-items:center;gap:8px;display:flex}.sort-control{flex:0 172px;min-width:132px;position:relative}.sort-trigger{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:36px;color:var(--text-h);font:inherit;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:flex-start;align-items:center;gap:7px;padding:0 10px;display:inline-flex}.sort-trigger span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sort-trigger:hover,.sort-control.open .sort-trigger{border-color:var(--accent);color:var(--accent)}.sort-menu{z-index:25;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:184px;box-shadow:var(--shadow-2);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.sort-menu button{min-height:34px;color:var(--text-h);text-align:left;transition:background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:0 9px;font-size:13px;display:flex}.sort-menu button:hover,.sort-menu button.selected{background:var(--accent-bg);color:var(--accent)}.browser-tool-actions>button{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);width:36px;min-height:36px;color:var(--on-accent);justify-content:center;align-items:center;display:inline-flex}.toolbar-search{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:0;height:36px;color:var(--text-subtle);align-items:center;gap:10px;padding:0 12px;display:flex}.toolbar-search input{min-width:0;color:var(--text-h);background:0 0;border:0;outline:none;flex:auto}.view-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex:none;grid-template-columns:repeat(2,36px);align-items:center;height:36px;display:grid;overflow:hidden}.browser-toolbar .view-toggle button{background:var(--surface);min-height:34px;color:var(--text);border:0;border-radius:0}.browser-toolbar .view-toggle button+button{border-left:1px solid var(--border-soft)}.browser-toolbar .view-toggle button.selected{background:var(--accent);color:var(--on-accent)}.selection-bar{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;min-height:36px;display:flex}.selection-toggle{color:var(--accent);flex:none;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.selection-move{border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--surface);min-width:132px;max-width:260px;min-height:34px;color:var(--accent);flex:150px;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.selection-move.disabled{opacity:.58}.selection-move select{width:100%;min-width:0;min-height:30px;color:var(--accent);font:inherit;background:0 0;border:0;outline:none}.selection-bar button{border:1px solid var(--accent-border);border-radius:var(--radius-sm);background:var(--surface);min-height:34px;color:var(--accent);justify-content:center;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.selection-bar button.danger{border-color:var(--danger-border);color:var(--danger)}.settings-panel input,.folder-settings input,.folder-settings select,.share-item input{min-height:36px;padding:0 10px}.pending-folder-row.share-receiving,.pending-folder-tile.share-receiving{border-color:var(--info)}.status-cell.pending-folder-status.with-progress{flex-direction:column;align-items:flex-start;gap:4px}.pending-folder-status-main{align-items:center;gap:6px;display:inline-flex}.pending-folder-progress{width:100%}.pending-folder-progress-bar{width:100%;display:block}.folder-receiving-icon{animation:1.6s ease-in-out infinite folder-receiving-pulse}@keyframes folder-receiving-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.folder-receiving-icon{opacity:.75;animation:none}}.status-cell.folder-status.with-content-progress{flex-direction:column;align-items:flex-start;gap:3px}.folder-status-main{align-items:center;gap:6px;display:inline-flex}.folder-content-progress{color:var(--text-subtle);grid-template-columns:auto minmax(48px,96px);align-items:center;gap:6px;font-size:10px;font-weight:700;display:grid}.folder-content-progress-count{white-space:nowrap}.folder-content-progress-tile{width:100%;margin-top:-2px;display:block}.mini-progress-track{height:3px}.mini-progress-track.indeterminate i{width:42%;animation:1.1s ease-in-out infinite progress-slide}@media (prefers-reduced-motion:reduce){.mini-progress-track.indeterminate i{opacity:.7;width:60%;animation:none}}.table{width:100%;position:relative}.table.drop-zone{flex:auto;min-height:0;overflow-y:auto}.drop-zone.drag-active{outline:3px solid var(--accent-tint-strong);outline-offset:-3px}.marquee-active{touch-action:none;-webkit-user-select:none;user-select:none}.selection-marquee{z-index:6;border:1px solid var(--accent);background:var(--accent-tint);pointer-events:none;border-radius:4px;position:absolute}.movable-item{cursor:grab}.movable-item:active{cursor:grabbing}.drag-source{opacity:.48}.reorder-before,.reorder-after{position:relative}.table:not(.table-grid) .reorder-before{box-shadow:inset 0 3px 0 var(--accent)}.table:not(.table-grid) .reorder-after{box-shadow:inset 0 -3px 0 var(--accent)}.table-grid .reorder-before{box-shadow:-4px 0 0 var(--accent)}.table-grid .reorder-after{box-shadow:4px 0 0 var(--accent)}.drop-zone.drop-target,.folder-drop-target.drop-target{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-bg)}.side-folder-item.folder-drop-target.drop-target,.side-icon-button.folder-drop-target.drop-target{border-color:var(--accent);background:var(--accent-bg-strong);box-shadow:inset 0 0 0 1px var(--ring)}.drop-overlay{z-index:5;border:2px dashed var(--accent);border-radius:var(--radius-sm);background:var(--accent-bg);min-height:180px;color:var(--accent);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:38px 12px 12px}.drop-overlay strong{text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,100% - 32px);overflow:hidden}.table-row{border-bottom:1px solid var(--surface-3);grid-template-columns:28px minmax(240px,1.6fr) minmax(110px,.7fr) minmax(90px,.5fr) minmax(110px,.6fr) 124px;align-items:center;gap:12px;min-height:58px;padding:0 14px;display:grid}.selection-cell{justify-content:center;align-items:center;display:inline-flex}.selected-item{border-color:var(--accent-border);background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.table-grid .tile-card.selected-item:before,.table-grid .tile-card.selected-item:after{content:"";pointer-events:none;position:absolute}.table-grid .tile-card.selected-item:after{z-index:4;border-radius:var(--radius-pill);background:var(--accent);width:18px;height:18px;box-shadow:var(--shadow-1);top:8px;right:8px}.table-grid .tile-card.selected-item:before{z-index:5;border-bottom:2px solid var(--on-accent);border-left:2px solid var(--on-accent);width:7px;height:4px;top:13px;right:13px;transform:rotate(-45deg)}.table-row:last-child{border-bottom:0}.table-head{min-height:38px;color:var(--text-subtle);text-transform:uppercase;font-size:12px;font-weight:700}.name-cell{min-width:0;color:var(--text-h);text-align:left;background:0 0;justify-content:flex-start;align-items:center;gap:10px;padding:0;display:flex}.name-cell span,.status-cell{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.file-name{font-weight:600}.file-name-cell{grid-template-columns:minmax(0,1fr) auto;display:grid}.draft-folder-row{background:var(--surface-2)}.pending-folder-row{border-color:var(--info-border);background:var(--info-bg)}.draft-folder-name input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;min-height:36px;color:var(--text-h);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);outline:none;padding:0 10px}.draft-folder-name input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.file-open-button{border-radius:var(--radius-sm);min-width:0;min-height:34px;color:inherit;background:0 0;justify-content:flex-start;align-items:center;gap:10px;font-weight:600;display:inline-flex;overflow:hidden}.file-open-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-cell{color:var(--text);align-items:center;gap:6px;display:inline-flex}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-actions button{width:32px;height:32px}.empty-row{color:var(--text-subtle);text-align:center;padding:36px 14px}.table-grid{grid-template-columns:repeat(auto-fill,minmax(176px,190px));grid-auto-rows:max-content;align-content:start;align-items:start;gap:12px;padding:14px;display:grid}.tile-card{aspect-ratio:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:0;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);flex-direction:column;gap:8px;padding:12px;display:flex;position:relative;overflow:hidden}.tile-card:hover{border-color:var(--border-strong);background:var(--surface-2)}.table-grid .tile-card.selected-item,.table-grid .tile-card.selected-item:hover{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent), 0 0 0 2px var(--accent-tint)}.table-grid .media-only-tile.selected-item,.table-grid .media-only-tile.selected-item:hover{border:2px solid var(--accent);background:var(--accent-bg);box-shadow:0 0 0 2px var(--accent-tint)}.pending-folder-tile{border-color:var(--info-border);background:var(--info-bg);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease)}.pending-folder-tile:hover{border-color:var(--info);background:var(--info-bg)}.tile-open{min-width:0;color:var(--text-h);text-align:left;background:0 0;align-content:start;justify-items:start;gap:10px;padding:0;display:grid}.pending-folder-open{cursor:default}.tile-icon{border-radius:var(--radius-sm);background:var(--surface-3);justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.tile-preview{width:100%}.media-tile-preview{aspect-ratio:4/3;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg);display:block;overflow:hidden}.media-tile-preview img,.media-tile-preview video{object-fit:cover;width:100%;height:100%;display:block}.video-placeholder{color:var(--text);justify-content:center;align-items:center;display:flex}.thumbnail-loading{position:relative}.thumbnail-skeleton{background:linear-gradient(90deg, var(--surface-3) 0%, var(--surface-2) 45%, var(--border) 100%);background-size:220% 100%;animation:1.2s ease-in-out infinite thumbnail-shimmer;display:block;position:absolute;inset:0}@keyframes thumbnail-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.media-only-tile{aspect-ratio:1;background:0 0;border:0;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.media-only-tile:hover{background:0 0}.media-only-button{z-index:1;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;height:100%;min-height:0;padding:0;display:block;position:absolute;inset:0}.media-only-preview{aspect-ratio:auto;border:0;border-radius:0;width:100%;height:100%;min-height:0}.media-only-overlay{z-index:2;opacity:0;pointer-events:none;visibility:hidden;background:linear-gradient(#0f172a00,#0f172adb);gap:8px;padding:34px 10px 10px;transition:opacity .14s,visibility .14s;display:grid;position:absolute;inset:auto 0 0}.media-only-tile:hover .media-only-overlay,.media-only-tile:focus-within .media-only-overlay{opacity:1;visibility:visible}.media-only-name{color:#fff;text-overflow:ellipsis;text-shadow:0 1px 2px #0f172ab8;white-space:nowrap;min-width:0;font-size:13px;line-height:1.3;overflow:hidden}.media-only-actions{pointer-events:auto;justify-content:flex-start;gap:4px;display:flex}.media-only-actions button{border-radius:var(--radius-sm);color:#fff;width:30px;height:30px;min-height:30px;transition:background-color var(--dur-fast) var(--ease);background:#0f172aa3;border:1px solid #ffffff5c;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.media-only-actions button:hover,.media-only-actions button:focus-visible{color:#fff;background:#0f172ae0}.file-tile-icon{color:var(--info)}.tile-open strong,.tile-date,.tile-meta,.tile-meta-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.tile-open strong{width:100%;color:var(--text-h);font-size:14px;line-height:1.3}.tile-meta-row{min-width:0;color:var(--text-subtle);justify-content:flex-start;align-items:center;gap:12px;font-size:12px;display:flex}.tile-date,.tile-meta{color:var(--text-subtle);font-size:12px}.table-grid .tile-date{display:none}.tile-actions{justify-content:flex-start;margin-top:auto}.tile-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);flex:none}.draft-folder-tile input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;min-height:36px;color:var(--text-h);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);outline:none;padding:0 10px}.draft-folder-tile input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.tile-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);grid-column:1/-1}.panel-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-actions{flex:none;gap:6px;display:flex}.panel-title span,.section-label{color:var(--text-subtle);text-transform:uppercase;font-size:12px;font-weight:700}.panel-title strong{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:18px;display:block;overflow:hidden}.settings-panel,.folder-panel{flex-direction:column;gap:14px;display:flex}.settings-panel label,.folder-settings label{color:var(--text);gap:6px;font-size:13px;font-weight:700;display:grid}.check-line{flex-direction:row;align-items:center;grid-template-columns:none!important;display:flex!important}.check-line input{width:18px;min-height:18px}.wide{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;width:100%;min-height:38px;display:inline-flex}.danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}.folder-settings{gap:12px;display:grid}.key-display{grid-template-columns:minmax(0,1fr) repeat(3,36px);gap:6px;display:grid}.key-display.two-actions{grid-template-columns:minmax(0,1fr) repeat(2,36px)}.key-display.one-action{grid-template-columns:minmax(0,1fr) 36px}.key-display button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.key-display button:hover{background:var(--border-soft)}.key-display button.copied{border-color:var(--accent-border);background:var(--accent-bg-strong);color:var(--accent)}.key-display button.copied:hover{background:var(--accent-border)}.security-box{border:1px solid var(--info-border);border-radius:var(--radius-sm);background:var(--info-bg);color:var(--info-strong);align-items:center;gap:10px;padding:12px;display:flex}.security-box div{min-width:0}.security-box strong,.security-box span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.security-box span{color:var(--info-strong);font-size:12px}.section-label{align-items:center;gap:8px;display:flex}.empty-detail{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--text-subtle);text-align:center;padding:18px 12px}.empty-detail.compact{padding:12px}.joined-rooms,.joined-rooms-list{flex-direction:column;gap:8px;display:flex}.joined-room-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:9px;padding:10px;display:grid}.joined-room-item div{min-width:0}.joined-room-item strong{min-width:0;color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.joined-room-item button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.joined-room-item button:hover{background:var(--border-soft)}.floating-popover-layer{z-index:31;background:0 0;position:fixed;inset:0}.floating-popover{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);width:min(330px,100vw - 28px);max-height:calc(100vh - 28px);box-shadow:var(--shadow-2);transform-origin:36px 24px;padding:0;animation:.18s cubic-bezier(.16,1,.3,1) floating-popover-in;position:absolute;overflow:hidden}.floating-popover-content{box-sizing:border-box;max-height:inherit;overscroll-behavior:contain;border-radius:inherit;scrollbar-color:var(--text-faint) transparent;scrollbar-width:thin;padding:14px;overflow:hidden auto}.floating-popover-content::-webkit-scrollbar{width:10px}.floating-popover-content::-webkit-scrollbar-track{background:0 0}.floating-popover-content::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--text-faint);background-clip:content-box;border:3px solid #0000}.floating-popover .panel-title{cursor:grab;-webkit-user-select:none;user-select:none}.floating-popover .panel-title:active{cursor:grabbing}.floating-popover .settings-panel,.floating-popover .file-detail-panel{z-index:1;position:relative}.settings-popover{transform-origin:calc(100% - 20px) 0}.profile-popover{width:min(320px,100vw - 28px)}.file-detail-popover{transform-origin:calc(100% - 40px) 36px;width:min(360px,100vw - 28px)}.folder-popover{width:min(360px,100vw - 28px)}.confirm-popover{width:min(330px,100vw - 28px)}.centered-popover{transform-origin:50%;max-height:calc(100dvh - 28px);animation:.18s cubic-bezier(.16,1,.3,1) centered-popover-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-popover .panel-title,.confirm-popover .panel-title:active{cursor:default}.delete-confirm-panel{gap:10px;display:grid}.delete-confirm-panel p{color:var(--text);margin:0;line-height:1.45}.delete-confirm-panel p strong{color:var(--text-h)}.delete-confirm-panel small{color:var(--text-subtle)}.confirm-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;display:grid}.confirm-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--text);font-weight:700}.confirm-actions .danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger)}@keyframes floating-popover-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translate(0,0)scale(1)}}@keyframes centered-popover-in{0%{opacity:0;transform:translate(-50%,calc(10px - 50%))scale(.97)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.profile-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;padding:12px;display:grid}.avatar-frame.large{width:46px;height:46px}.avatar-frame.tiny{flex:none;width:20px;height:20px}.profile-preview div:last-child{min-width:0}.profile-preview strong,.profile-preview span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.profile-preview strong{color:var(--text-h);font-size:15px}.profile-preview span{color:var(--text-subtle);margin-top:3px;font-size:12px}.profile-avatar-picker{color:var(--text);gap:8px;font-size:13px;font-weight:700;display:grid}.profile-avatar-open{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.profile-avatar-open:hover{background:var(--border-soft)}.profile-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.profile-avatar-grid button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:0;min-height:86px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-items:center;gap:6px;padding:8px 6px;font-size:11px;font-weight:700;display:grid}.profile-avatar-grid button:hover,.profile-avatar-grid button.selected{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.profile-avatar-file-name{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;overflow:hidden}.profile-avatar-file-icon{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);width:42px;height:42px;color:var(--text-subtle);justify-content:center;align-items:center;display:inline-flex}.profile-avatar-file-icon img{object-fit:cover;width:100%;height:100%}.profile-avatar-progress{border-radius:var(--radius-pill);background:var(--border);width:100%;height:4px;display:block;overflow:hidden}.profile-avatar-progress span{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.file-detail-panel{flex-direction:column;gap:14px;display:flex}.preview-frame{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:center;align-items:center;min-height:260px;display:flex;overflow:hidden}.preview-frame img,.preview-frame video{object-fit:contain;max-width:100%;max-height:420px;display:block}.preview-frame.expanded{background:0 0;border:0;border-radius:0;width:100%;height:100%;min-height:0}.preview-frame.expanded img,.preview-frame.expanded video{object-fit:contain;width:100%;max-width:none;height:100%;max-height:none}.preview-frame.expanded .zoomable-preview-image{transform-origin:50%;will-change:transform;transition:transform .12s}.preview-flow-item .preview-frame.expanded{height:auto;min-height:0;overflow:visible}.preview-flow-item .preview-frame.expanded img{object-fit:unset;width:100%;height:auto;max-height:none;display:block}.preview-flow-item .preview-frame.expanded video{width:100%;height:auto;max-height:80dvh}.preview-flow-item .preview-frame.expanded iframe{height:78dvh}.preview-flow-item .preview-frame.expanded pre{height:auto;max-height:none}.preview-flow-item .preview-frame.expanded .binary-preview{min-height:180px}.preview-frame audio{width:calc(100% - 28px)}.preview-frame iframe{border:0;width:100%;height:420px}.preview-frame.expanded iframe{background:#fff;height:100%}.preview-frame pre{width:100%;max-height:420px;color:var(--text-h);white-space:pre-wrap;word-break:break-word;margin:0;padding:14px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:auto}.preview-frame.expanded pre{color:#172033;background:#fff;height:100%;max-height:none}.binary-preview{color:var(--text);text-align:center;justify-items:center;gap:8px;padding:24px;display:grid}.binary-preview strong,.binary-preview span{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.preview-frame.expanded .binary-preview,.preview-frame.expanded .binary-preview-progress em{color:#cbd5e1}.file-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.file-meta div{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;padding:10px}.file-meta span,.file-meta strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.file-meta span{color:var(--text-subtle);font-size:12px}.file-meta strong{color:var(--text-h);margin-top:3px;font-size:13px}.preview-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.preview-actions .secondary{border-color:var(--border-strong);background:var(--surface);color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.preview-actions .secondary:hover{background:var(--border-soft)}.file-share-key{color:var(--text);gap:6px;font-size:13px;font-weight:700;display:grid}.file-detail-panel .key-display{min-width:0}.file-detail-panel .key-display input{text-overflow:ellipsis;white-space:nowrap;height:38px;padding:0 10px;font-weight:700;overflow:hidden}.file-detail-panel .key-display button:disabled{border-color:var(--border-soft);background:var(--surface-2);color:var(--text-faint);cursor:not-allowed}.file-name-field .key-display button:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg-strong);color:var(--accent)}.file-name-field .key-display button:not(:disabled):hover{background:var(--accent-border)}.technical-toggle{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.technical-toggle:hover{background:var(--border-soft)}.technical-details{gap:12px;display:grid}.preview-modal{z-index:50;color:#e2e8f0;touch-action:pan-y;background:#080d18f5;grid-template-rows:minmax(0,1fr);min-height:100dvh;display:grid;position:fixed;inset:0}.preview-modal.zoomable .preview-modal-body{touch-action:none}.preview-modal-top,.preview-nav{transition:opacity .3s}.preview-modal.idle{cursor:none}.preview-modal.idle .preview-modal-top,.preview-modal.idle .preview-nav{opacity:0;pointer-events:none}.preview-modal-top{z-index:60;min-width:0;padding:calc(12px + env(safe-area-inset-top)) 16px 34px;pointer-events:none;background:linear-gradient(#080d18eb,#080d1800);border-bottom:0;justify-content:space-between;align-items:center;gap:16px;display:flex;position:fixed;top:0;left:0;right:0}.preview-modal-top div{min-width:0}.preview-modal-top span,.preview-modal-top small{color:#94a3b8;font-size:12px;font-weight:700;display:block}.preview-modal-top strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:17px;display:block;overflow:hidden}.preview-modal-actions{pointer-events:auto;flex:none;align-items:center;gap:8px;display:flex}.preview-modal-actions button,.preview-nav{border-radius:var(--radius-sm);color:#f8fafc;background:#0f172ae0;border:1px solid #94a3b859;justify-content:center;align-items:center;display:inline-flex}.preview-modal-actions button{width:38px;height:38px}.preview-mode-toggle{border-radius:var(--radius-sm);background:#0f172ac7;border:1px solid #94a3b859;display:flex;overflow:hidden}.preview-mode-toggle button{color:#cbd5e1;background:0 0;border:0;border-radius:0;width:auto;min-width:58px;height:38px;font-size:12px;font-weight:800}.preview-mode-toggle button.selected{color:#0f172a;background:#f8fafc}.preview-modal-body{justify-content:center;align-items:center;min-width:0;height:100dvh;min-height:0;padding:0 74px;display:flex}.preview-modal-body.flow-body{padding:calc(82px + env(safe-area-inset-top)) 12px 28px;cursor:grab;touch-action:pan-x pan-y;-webkit-user-select:none;user-select:none;justify-content:flex-start;align-items:stretch;overflow:auto}.preview-modal-body.flow-body:active{cursor:grabbing}.preview-flow-list{flex:none;align-content:start;gap:0;width:min(780px,100%);max-width:none;margin:0 auto;display:grid}.preview-flow-item{scroll-margin-top:calc(82px + env(safe-area-inset-top));background:#0b1120;display:grid;overflow:visible}.preview-flow-item.current{outline:0}.preview-nav{z-index:55;width:46px;height:58px;position:fixed;top:50%;transform:translateY(-50%)}.preview-nav.previous{left:16px}.preview-nav.next{right:16px}@media (width<=760px){.preview-modal-top{padding:calc(10px + env(safe-area-inset-top)) 10px 38px;gap:10px}.preview-modal-top strong{font-size:14px}.preview-modal-top small{font-size:11px}.preview-modal-actions button{width:36px;height:36px}.preview-mode-toggle button{min-width:52px;height:36px;padding:0 9px}.preview-modal-body{padding:0}.preview-modal-body.flow-body{padding:calc(82px + env(safe-area-inset-top)) 8px calc(18px + env(safe-area-inset-bottom))}.preview-nav{display:none}}.pdf-preview{background:var(--surface-3);flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative}.pdf-preview-toolbar{z-index:2;border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:center;gap:6px;padding:8px 10px;display:flex;position:sticky;top:0}a.pdf-toolbar-btn{text-decoration:none}.pdf-toolbar-btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;display:inline-flex}.pdf-toolbar-btn:hover:not(:disabled){background:var(--border-soft)}.pdf-toolbar-btn.active{border-color:var(--accent-border);background:var(--accent-bg-strong);color:var(--accent)}.pdf-toolbar-btn:disabled{cursor:not-allowed;opacity:.4}.pdf-zoom-display{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:56px;height:32px;color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.pdf-zoom-display:hover:not(:disabled){background:var(--border-soft)}.pdf-zoom-display:disabled{cursor:not-allowed;opacity:.4}.pdf-page-indicator{color:var(--text-subtle);white-space:nowrap;margin-left:auto;padding:0 4px;font-size:12px;font-weight:700}.pdf-preview-scroll{scroll-behavior:auto;flex:auto;min-height:0;position:relative;overflow:auto}.pdf-preview-state{height:100%;min-height:220px;color:var(--text-subtle);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.pdf-preview-error{color:var(--danger)}.pdf-pages{flex-direction:column;align-items:center;gap:16px;padding:20px 16px 40px;display:flex}.pdf-page-wrapper{max-width:100%;box-shadow:var(--shadow-2);background:#fff;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.pdf-page-canvas{max-width:100%;height:auto;display:block}.pdf-page-placeholder{background:repeating-linear-gradient(135deg,#0f172a08,#0f172a08 10px,#0f172a0f 10px 20px);width:100%;height:100%}.pdf-preview.expanded{background:#0b1120}.pdf-preview.expanded .pdf-preview-toolbar{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ad9;border-bottom:1px solid #94a3b847}.pdf-preview.expanded .pdf-toolbar-btn,.pdf-preview.expanded .pdf-zoom-display{color:#f8fafc;background:#0f172a99;border-color:#94a3b859}.pdf-preview.expanded .pdf-toolbar-btn:hover:not(:disabled),.pdf-preview.expanded .pdf-zoom-display:hover:not(:disabled){background:#1e293be6;border-color:#94a3b88c}.pdf-preview.expanded .pdf-toolbar-btn.active{border-color:var(--accent-border);background:var(--accent-tint);color:var(--accent-hover)}.pdf-preview.expanded .pdf-page-indicator,.pdf-preview.expanded .pdf-preview-state{color:#cbd5e1}.pdf-preview.expanded .pdf-preview-error{color:#fca5a5}.text-preview{width:100%;height:420px;min-height:0;color:var(--text-h);flex-direction:column;display:flex;overflow:hidden}.text-preview.expanded{height:100%}.text-preview-toolbar{border-bottom:1px solid var(--border);background:var(--surface-2);flex:none;align-items:center;gap:8px;padding:8px;display:flex}.text-preview-toolbar-spacer{flex:auto}.text-preview-mode-toggle,.text-preview-font-controls{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);align-items:center;display:flex;overflow:hidden}.text-preview-font-controls{gap:0;padding:0 2px}.text-preview-mode-toggle button,.text-preview-font-controls button,.text-preview-save-btn{width:32px;height:32px;color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;display:inline-flex}.text-preview-mode-toggle button:hover,.text-preview-font-controls button:not(:disabled):hover{background:var(--surface-hover);color:var(--text-h)}.text-preview-mode-toggle button.selected{background:var(--accent);color:var(--on-accent)}.text-preview-font-controls button:disabled{color:var(--text-faint);cursor:default}.text-preview-font-value{min-width:40px;color:var(--text-subtle);text-align:center;font-size:11px;font-weight:700}.text-preview-save-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--text);position:relative}.text-preview-save-btn:not(:disabled):hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.text-preview-save-btn:disabled{color:var(--text-faint);cursor:default;opacity:.6}.text-preview-app-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:34px;height:34px;color:var(--text-subtle);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.text-preview-app-link:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.text-preview.expanded .text-preview-app-link{color:#cbd5e1;background:#0f172ae0;border-color:#94a3b859}.text-preview-dirty-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:4px;right:4px}.text-preview-spin{animation:.9s linear infinite text-preview-spin}@keyframes text-preview-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.text-preview-error{border-bottom:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger);flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.text-preview-body{background:var(--surface);flex:auto;min-height:0;overflow:auto}.text-preview-plain,.text-preview-editor{width:100%;height:100%;min-height:100%;color:var(--text-h);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;border:0;margin:0;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;line-height:1.6}.text-preview-editor{resize:none;background:var(--surface);box-sizing:border-box;outline:none}.text-preview-editor:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.text-preview-editor[readonly]{color:var(--text-subtle);background:var(--surface-2)}.text-preview-markdown-doc{box-sizing:border-box;overflow-wrap:anywhere;max-width:780px;color:var(--text-h);margin:0 auto;padding:24px 20px 60px;line-height:1.7}.text-preview-markdown-doc h1,.text-preview-markdown-doc h2,.text-preview-markdown-doc h3,.text-preview-markdown-doc h4,.text-preview-markdown-doc h5,.text-preview-markdown-doc h6{color:var(--text-h);margin:1.4em 0 .6em;font-weight:800;line-height:1.3}.text-preview-markdown-doc h1{margin-top:.4em;font-size:1.7em}.text-preview-markdown-doc h2{font-size:1.4em}.text-preview-markdown-doc h3{font-size:1.2em}.text-preview-markdown-doc h4{font-size:1.05em}.text-preview-markdown-doc p,.text-preview-markdown-doc ul,.text-preview-markdown-doc ol{margin:.7em 0}.text-preview-markdown-doc ul,.text-preview-markdown-doc ol{padding-left:1.5em}.text-preview-markdown-doc li+li{margin-top:.3em}.text-preview-markdown-doc a{color:var(--info);text-underline-offset:2px;text-decoration:underline}.text-preview-markdown-doc img{border-radius:var(--radius-sm);max-width:100%}.text-preview-markdown-doc hr{border:0;border-top:1px solid var(--border);margin:1.8em 0}.text-preview-markdown-doc blockquote{border-left:3px solid var(--accent-border);background:var(--accent-bg);color:var(--text-subtle);margin:1em 0;padding:4px 14px}.text-preview-markdown-doc code{background:var(--surface-3);color:var(--text-h);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.88em}.text-preview-markdown-doc pre{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-3);margin:1em 0;padding:14px;overflow-x:auto}.text-preview-markdown-doc pre code{white-space:pre;background:0 0;padding:0;font-size:.85em}.text-preview-markdown-doc table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.92em}.text-preview-markdown-doc th,.text-preview-markdown-doc td{border:1px solid var(--border);text-align:left;padding:6px 10px}.text-preview-markdown-doc th{background:var(--surface-2);font-weight:700}.text-preview-markdown-doc input[type=checkbox]{margin-right:6px}.text-preview.expanded .text-preview-toolbar{background:#0f172ac7;border-bottom-color:#94a3b840}.text-preview.expanded .text-preview-mode-toggle,.text-preview.expanded .text-preview-font-controls,.text-preview.expanded .text-preview-save-btn{background:#0f172ae0;border-color:#94a3b859}.text-preview.expanded .text-preview-mode-toggle button,.text-preview.expanded .text-preview-font-controls button,.text-preview.expanded .text-preview-font-value,.text-preview.expanded .text-preview-save-btn{color:#cbd5e1}.text-preview.expanded .text-preview-mode-toggle button.selected{color:#0f172a;background:#f8fafc}.text-preview.expanded .text-preview-save-btn:not(:disabled):hover{color:#2dd4bf;border-color:#2dd4bf80}.text-preview.expanded .text-preview-body,.text-preview.expanded .text-preview-editor,.text-preview.expanded .text-preview-plain,.text-preview.expanded .text-preview-markdown-doc{color:#e2e8f0;background:0 0}.text-preview.expanded .text-preview-editor[readonly]{color:#94a3b8}.text-preview.expanded .text-preview-markdown-doc pre,.text-preview.expanded .text-preview-markdown-doc code{background:#0f172a99}.text-preview.expanded .text-preview-markdown-doc th,.text-preview.expanded .text-preview-markdown-doc td,.text-preview.expanded .text-preview-markdown-doc hr{border-color:#94a3b840}.vrm-preview{touch-action:none;background:linear-gradient(180deg, var(--surface-2) 0%, var(--surface-3) 100%);width:100%;height:100%;position:relative;overflow:hidden}:root[data-theme=dark] .vrm-preview{background:linear-gradient(180deg, var(--bg) 0%, var(--surface) 100%)}.vrm-preview-canvas{width:100%;height:100%;position:absolute;inset:0}.vrm-preview-canvas canvas{width:100%;height:100%;display:block}.vrm-preview-app-link{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--overlay);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:32px;height:32px;transition:background var(--dur-fast) var(--ease);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:absolute;top:12px;right:12px}.vrm-preview-app-link:hover{background:#1e293be6}.vrm-preview-status{color:var(--text-subtle);text-align:center;pointer-events:none;justify-content:center;align-items:center;padding:16px;font-size:13px;font-weight:600;display:flex;position:absolute;inset:0}.vrm-preview-status.vrm-preview-error{color:var(--danger)}.vrm-preview-meta{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;pointer-events:none;gap:2px;max-width:calc(100% - 24px);padding:8px 12px;display:grid;position:absolute;bottom:12px;left:12px}.vrm-preview-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vrm-preview-meta span{color:#ffffffbf;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.shares-section{gap:10px;margin-top:8px;display:grid}.share-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(130px,.8fr) 38px auto;align-items:center;gap:8px;padding:10px;display:grid}.share-item.auto-import{grid-template-columns:minmax(0,1fr) minmax(118px,.55fr) auto}.share-waiting-status{border:1px solid var(--info-border);border-radius:var(--radius-sm);background:var(--info-bg);min-height:36px;color:var(--info-strong);white-space:nowrap;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.share-item strong,.share-item span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.share-item span{color:var(--text-subtle);font-size:12px}.share-sender{align-items:center;gap:6px;min-width:0;margin-top:7px;display:flex}.share-sender span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.share-item button{border-color:var(--info);background:var(--info-bg);color:var(--info-strong)}.share-item button[type=button]{border-color:var(--border-strong);background:var(--surface);color:var(--text);padding:0}.share-link-block{gap:10px;display:grid}.share-qr-toggle,.share-qr-hide{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:36px;color:var(--text);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.share-qr-toggle{width:100%}.share-qr-toggle:hover,.share-qr-hide:hover{background:var(--border-soft)}.share-qr-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);justify-items:center;gap:8px;padding:12px;font-size:12px;font-weight:700;display:grid}.share-qr-card svg{aspect-ratio:1;border:1px solid var(--border-soft);background:var(--surface);border-radius:4px;width:min(100%,210px);display:block}.share-qr-card.unavailable{color:var(--warn-text);background:var(--warn-bg)}.share-qr-card strong{color:inherit;font-size:13px}.share-qr-hide{min-width:118px}.sync-peer{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;padding:10px;display:grid}.access-request{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;display:grid}.access-request>div:nth-child(2),.sync-peer div:last-child{min-width:0}.sync-peer strong,.sync-peer span,.access-request strong,.access-request span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.sync-peer strong,.access-request strong{color:var(--text-h);font-size:13px}.sync-peer span,.access-request span{color:var(--text-subtle);margin-top:2px;font-size:12px}.access-request-actions{gap:6px;display:flex}.access-request-actions button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);justify-content:center;align-items:center;width:32px;min-height:32px;padding:0;display:inline-flex}.access-request-actions .approve{border-color:var(--accent-border);color:var(--accent)}.access-request-actions .reject{border-color:var(--danger-border);color:var(--danger)}.folder-stroke.teal{color:var(--accent)}.folder-stroke.blue{color:var(--info)}.folder-stroke.shared{color:var(--info-strong)}.folder-stroke.amber{color:var(--warn-text)}.folder-stroke.rose{color:var(--danger)}.folder-stroke.slate{color:var(--text)}.tile-card.shared-folder:not(.selected-item){border-color:var(--info-border);transition:background-color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease)}.tile-card.shared-folder:not(.selected-item):hover{border-color:var(--info-border);background:var(--surface-2)}.shared-folder .tile-icon{background:var(--info-bg)}.folder-status{border:1px solid var(--border-soft);border-radius:var(--radius-pill);background:var(--surface-2);width:max-content;max-width:100%;min-height:24px;color:var(--text);padding:0 8px;font-size:12px;font-weight:700}.folder-status svg{color:var(--text-subtle)}.folder-status.shared-status{border-color:var(--info-border);background:var(--info-bg);color:var(--info-strong)}.folder-status.shared-status svg{color:var(--info)}.status-bar{z-index:32;border-top:1px solid var(--border);background:var(--surface);height:28px;color:var(--text);align-items:center;gap:14px;padding:0 12px;font-size:12px;font-weight:700;display:flex;position:fixed;bottom:0;left:0;right:0}.status-network,.status-notice,.status-download,.status-storage{align-items:center;gap:6px;min-width:0;height:100%;display:inline-flex}.status-network{flex:none}.status-network a{color:inherit;text-decoration:none}.status-network a:hover strong{text-decoration:underline}.status-network span,.status-notice span,.status-download span,.status-storage span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.status-network span{color:var(--text-subtle);font-weight:600}.status-notice{color:var(--text);flex:auto}.status-network svg,.status-notice svg,.status-storage svg{color:var(--accent)}.status-notice.error,.status-notice.error svg{color:var(--danger)}.status-notice:empty{display:none}.status-download{color:var(--text);flex:0 260px}.status-download span{max-width:136px;font-weight:600}.status-download strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px}.status-download-bar{border-radius:var(--radius-pill);background:var(--border-soft);flex:72px;min-width:56px;height:3px;overflow:hidden}.status-download-bar i{border-radius:inherit;background:var(--accent);height:100%;transition:width .18s;display:block}.status-download.indeterminate .status-download-bar i{width:42%;animation:1.1s ease-in-out infinite progress-slide}.status-storage{color:var(--text);flex:none;margin-left:auto;padding-left:10px}.status-storage span{max-width:140px;font-weight:600}.status-storage strong{color:var(--text-h);font-variant-numeric:tabular-nums}.status-storage i{background:var(--border);width:1px;height:14px}@media (width<=1120px){.app-shell{grid-template-columns:180px minmax(0,1fr)}}@media (width<=760px){.app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-content:start;height:100dvh}.sidebar{z-index:20;border-right:0;border-bottom:1px solid var(--border);height:49px;min-height:49px;box-shadow:var(--shadow-2);grid-template-columns:auto minmax(0,1fr);align-self:start;align-items:center;gap:8px;padding:6px 8px;display:grid;position:sticky;top:0;overflow:hidden}.side-header{margin:0}.side-nav{overscroll-behavior-x:contain;scrollbar-width:none;flex-direction:row;align-items:center;gap:6px;min-width:0;height:36px;min-height:36px;padding-bottom:2px;display:flex;overflow-x:auto}.side-nav::-webkit-scrollbar{display:none}.side-folder-branch{display:contents}.side-folder-row{flex:none;grid-template-columns:24px minmax(0,auto);padding-left:0!important}.side-nav .side-folder-toggle{width:24px;height:36px;min-height:36px}.side-nav .side-folder-item{flex:none;grid-template-columns:18px minmax(0,auto);align-items:center;width:auto;max-width:150px;height:36px;min-height:36px;padding:0 10px}.side-nav .side-folder-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-column{padding:8px 8px 50px}.settings-popover,.file-detail-popover,.profile-popover,.folder-popover,.confirm-popover{right:8px;bottom:calc(44px + env(safe-area-inset-bottom));transform-origin:50% 0;width:auto;position:fixed;max-height:min(76dvh,100dvh - 86px)!important;top:auto!important;left:8px!important}.confirm-popover.centered-popover{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform-origin:50% 100%;width:auto;animation:.18s cubic-bezier(.16,1,.3,1) mobile-confirm-popover-in;transform:none;max-height:min(70dvh,100dvh - 32px)!important;left:12px!important}.browser-head{flex-direction:column;align-items:stretch}.browser-actions{gap:6px}.browser-actions .share-button{padding:0 10px}.breadcrumbs.compact{scrollbar-width:none;width:100%;overflow-x:auto}.breadcrumbs.compact::-webkit-scrollbar{display:none}.browser-toolbar{grid-template-columns:minmax(0,1fr) auto auto;gap:6px;padding:8px}.browser-toolbar.with-path{grid-template-columns:minmax(0,1fr) auto auto}.browser-toolbar .breadcrumbs{grid-column:1/-1;max-width:100%}.browser-tool-actions{gap:6px}.sort-control{flex:132px}.view-toggle{grid-column:auto}.table-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));padding:10px}.tile-card{min-height:0}.tile-actions{grid-area:auto}.media-only-tile,.media-only-button,.media-only-preview{min-height:0}.media-only-overlay{opacity:1;visibility:visible}.side-header button{flex:none}.share-item{grid-template-columns:minmax(0,1fr) 38px}.share-item>div,.share-item button[type=submit]{grid-column:1/-1}.share-item input{grid-column:1/2}.share-item button[type=button]{grid-column:2/3}.share-item.auto-import{grid-template-columns:minmax(0,1fr)}.table-row{grid-template-columns:28px minmax(0,1fr) auto;gap:6px;padding:12px 14px}.table-head{display:none}.table-row>span:nth-child(3),.table-row>span:nth-child(4),.table-row>span:nth-child(5){grid-column:2/3;font-size:12px}.table-row .row-actions{grid-area:1/3/span 4/4}}@keyframes mobile-confirm-popover-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (width<=420px){.browser-toolbar{grid-template-columns:1fr;gap:6px;padding:8px}.browser-tool-actions{flex-wrap:wrap;justify-content:flex-end}.view-toggle{grid-template-columns:repeat(2,34px)}.browser-tool-actions>button,.sort-trigger,.view-toggle{height:34px;min-height:34px}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.file-meta,.preview-actions{grid-template-columns:1fr}.tile-card{gap:6px;padding:10px}.tile-open{gap:8px}.folder-tile .tile-date,.folder-tile .tile-meta-row>span:last-child,.pending-folder-tile .tile-date,.pending-folder-tile .tile-meta-row>span:last-child{display:none}.tile-actions{gap:3px}.tile-actions button,.media-only-actions button{width:28px;height:28px;min-height:28px}.media-only-overlay{gap:6px;padding:28px 8px 8px}}.ob-overlay{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:500;justify-content:center;align-items:center;padding:20px;animation:.22s cubic-bezier(.16,1,.3,1) tc-ob-overlay-in;display:flex;position:fixed;inset:0}.ob-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);width:min(560px,100vw - 32px);max-width:560px;max-height:min(90vh,720px);box-shadow:var(--shadow-3);flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) tc-ob-card-in;display:flex;position:relative;overflow:hidden}@keyframes tc-ob-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes tc-ob-card-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.ob-close{appearance:none;cursor:pointer;color:var(--text-subtle);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:none;border-radius:50%;padding:8px;line-height:0;position:absolute;top:12px;right:12px}.ob-close:hover{color:var(--text-h);background:var(--border-soft)}.ob-body{flex-direction:column;gap:16px;padding:28px 28px 20px;display:flex;overflow-y:auto}.ob-hero{color:var(--accent);justify-content:center;padding:16px 0 0;display:flex}.ob-hero>svg{box-sizing:content-box;background:var(--accent-bg-strong);border-radius:50%;padding:16px}.ob-step-head{color:var(--accent);align-items:center;gap:12px;display:flex}.ob-step-head>svg{box-sizing:content-box;background:var(--accent-bg-strong);border-radius:50%;flex:none;padding:8px}.ob-step-head .ob-title{margin:0}.ob-title{text-align:center;color:var(--text-h);margin:0;font-size:1.3rem}.ob-step-head .ob-title{text-align:left;font-size:1.15rem}.ob-text{color:var(--text);margin:0;line-height:1.7}.ob-text-subtle{color:var(--text-subtle);font-size:.9rem}.ob-field{flex-direction:column;gap:4px;display:flex}.ob-label{color:var(--text-h);font-size:.85rem;font-weight:600}.ob-input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:8px 12px}.ob-input:hover:not(:focus){background:var(--surface-2)}.ob-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.ob-model-row{align-items:center;gap:8px;display:flex}.ob-model-row .ob-input{flex:auto}.ob-icon-btn{appearance:none;font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-radius:50%;flex:none;padding:8px;line-height:0}.ob-icon-btn:hover:not(:disabled){background:var(--border-soft)}.ob-icon-btn:disabled{opacity:.5;cursor:default}.ob-model-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.ob-model-status{color:var(--text-subtle);min-width:0;font-size:.8rem}.ob-link-btn{appearance:none;cursor:pointer;color:var(--accent);background:0 0;border:none;flex:none;padding:0;font-size:.8rem}.ob-link-btn:hover{text-decoration:underline}.ob-test-row{align-items:center;gap:12px;display:flex}.ob-test-ok{color:var(--success);align-items:center;gap:4px;font-size:.9rem;display:inline-flex}.ob-error{color:var(--danger);margin:0;font-size:.85rem}.ob-callout{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);align-items:flex-start;gap:10px;padding:12px;font-size:.88rem;line-height:1.55;display:flex}.ob-callout svg{color:var(--accent);flex:none}.ob-callout-warn{border-color:var(--warn-border);background:var(--warn-bg);color:var(--warn-text)}.ob-callout-warn svg{color:var(--warn-text)}.ob-btn{appearance:none;font:inherit;cursor:pointer;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-h);white-space:nowrap;flex:none;justify-content:center;align-self:flex-start;align-items:center;gap:8px;padding:8px 20px;font-weight:500;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.ob-btn:hover:not(:disabled){background:var(--border-soft);border-color:var(--text-faint)}.ob-btn:active:not(:disabled){background:var(--border)}.ob-btn:disabled{opacity:.5;cursor:default}.ob-btn-ghost{background:0 0;border-color:#0000}.ob-btn-ghost:hover:not(:disabled){background:var(--border-soft);border-color:#0000}.ob-btn-accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-1)}.ob-btn-accent:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-2)}.ob-btn-accent:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.ob-feature-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ob-feature-list li{align-items:flex-start;gap:12px;line-height:1.6;display:flex}.ob-feature-icon{color:var(--accent);background:var(--accent-bg-strong);box-sizing:content-box;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:6px;display:inline-flex}.ob-feature-list li>div{flex-direction:column;min-width:0;display:flex}.ob-feature-list li strong{color:var(--text-h);font-size:.92rem}.ob-feature-list li span{color:var(--text-subtle);font-size:.85rem}.ob-footer{border-top:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:16px;padding:16px 28px 20px;display:flex}.ob-dots{gap:8px;display:flex}.ob-dot{border-radius:var(--radius-pill);background:var(--border-strong);width:8px;height:8px;transition:background .12s,width .22s}.ob-dot.is-active{background:var(--accent);width:22px}.ob-footer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}@media (width<=480px){.ob-body{gap:12px;padding:20px 18px 16px}.ob-footer{flex-wrap:wrap;padding:12px 18px 16px}.ob-footer-actions{justify-content:stretch;width:100%}.ob-footer-actions .ob-btn{flex:auto}.ob-title{font-size:1.15rem}}
