:root{--text:#605e5c;--text-h:#323130;--bg:#f3f3f3;--border:#edebe9;--code-bg:#faf9f8;--accent:#0078d4;--accent-bg:#0078d41a;--accent-border:#0078d466;--shadow:0 2px 8px #0000001f;--explorer-bg:#f3f3f3;--title-bar-bg:#f9f9f9;--nav-bg:#f9f9f9;--content-bg:#fff;--input-bg:#fff;--hover-bg:#f3f2f1;--selection-bg:#e5f3ff;--sans:"Segoe UI", system-ui, -apple-system, sans-serif;--heading:"Segoe UI", system-ui, sans-serif;font:14px/1.4 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--explorer-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#a19f9d;--text-h:#f3f2f1;--bg:#1f1f1f;--border:#3b3a39;--code-bg:#292827;--accent:#60cdff;--accent-bg:#60cdff1f;--accent-border:#60cdff66;--shadow:0 2px 12px #00000080;--explorer-bg:#202020;--title-bar-bg:#1a1a1a;--nav-bg:#1a1a1a;--content-bg:#1f1f1f;--input-bg:#2d2d2d;--hover-bg:#333332;--selection-bg:#2d4a62}}body{margin:0}#root{box-sizing:border-box;width:100%;min-height:100svh}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600}p{margin:0}.loading{color:var(--text)}.explorer-window{background:var(--explorer-bg);height:100svh;color:var(--text-h);font-family:var(--sans);flex-direction:column;display:flex}.explorer-title-bar{background:var(--title-bar-bg);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 12px;display:flex}.title-bar-brand{align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.app-logo{color:var(--accent)}.title-bar-user{align-items:center;gap:10px;display:flex}.user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.explorer-command-bar{background:var(--explorer-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:6px 8px;display:flex}.command-group{align-items:center;gap:2px;display:flex}.command-divider{background:var(--border);width:1px;height:24px;margin:0 6px}.command-spacer{flex:1}.explorer-btn{font:inherit;cursor:pointer;color:var(--text-h);background:0 0;border:1px solid #0000;border-radius:4px;padding:5px 10px;font-size:12px}.explorer-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--border)}.explorer-btn:disabled{opacity:.4;cursor:not-allowed}.explorer-btn.icon-btn,.explorer-btn.with-label{justify-content:center;align-items:center;display:inline-flex}.explorer-btn.icon-btn{padding:5px 8px}.explorer-btn.with-label{gap:6px;padding:5px 10px}.explorer-btn.with-label svg{flex-shrink:0}.explorer-btn.icon-btn.sm{min-width:26px;padding:2px 6px}.explorer-btn.active{background:var(--selection-bg);border-color:var(--accent-border)}.explorer-btn.primary{background:var(--accent);border-color:var(--accent-border);color:#fff}.explorer-btn.primary:hover:not(:disabled){filter:brightness(1.05)}.explorer-btn.danger:hover:not(:disabled){color:#c42b1c;border-color:#c42b1c}.explorer-address-row{background:var(--explorer-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:6px 8px;display:flex}.address-bar{background:var(--input-bg);border:1px solid var(--border);border-radius:4px;flex:1;align-items:center;gap:6px;min-width:0;height:32px;padding:0 8px;display:flex}.address-icon{color:var(--text);flex-shrink:0;display:flex}.address-crumbs{flex-wrap:nowrap;align-items:center;min-width:0;font-size:12px;display:flex;overflow:hidden}.address-crumb{color:var(--text-h);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;border-radius:3px;padding:2px 4px}.address-crumb:hover{background:var(--hover-bg)}.address-sep{color:var(--text);opacity:.6;margin:0 2px}.address-search-label{color:var(--text);font-size:12px}.explorer-search{background:var(--input-bg);border:1px solid var(--border);width:220px;height:32px;color:var(--text);border-radius:4px;align-items:center;gap:6px;padding:0 10px;display:flex}.explorer-search input{font:inherit;color:var(--text-h);background:0 0;border:none;flex:1;min-width:0;font-size:12px}.explorer-search input:focus{outline:none}.explorer-search input::placeholder{color:var(--text)}.explorer-banner{flex-shrink:0;padding:6px 12px;font-size:12px}.explorer-banner.error{color:#751d1f;background:#fde7e9;border-bottom:1px solid #f1aeb5}.explorer-banner.info{background:var(--selection-bg);border-bottom:1px solid var(--accent-border)}.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.explorer-body{flex:1;min-height:0;display:flex;overflow:hidden}.storage-quota-values{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.storage-quota-muted{color:var(--text);white-space:nowrap;font-size:11px}.storage-quota-footer{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;min-width:160px;max-width:240px;display:flex}.storage-quota-footer .storage-quota-values{font-size:11px}.storage-quota-track{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.storage-quota-fill{background:var(--accent);border-radius:3px;height:100%;transition:width .2s ease-out}.storage-quota-fill.warning{background:#ca5010}.storage-quota-fill.full{background:#c42b1c}.navigation-pane{background:var(--nav-bg);border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:8px 0;overflow-y:auto}.nav-section{margin-bottom:12px}.nav-heading{color:var(--text);text-transform:uppercase;letter-spacing:.02em;margin:0;padding:4px 16px 6px;font-size:11px;font-weight:600}.nav-list,.folder-tree{margin:0;padding:0;list-style:none}.nav-item,.tree-label{width:100%;font:inherit;color:var(--text-h);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 16px;font-size:12px;display:flex}.nav-item:hover,.tree-label:hover{background:var(--hover-bg)}.nav-item.active,.tree-row.active .tree-label{background:var(--selection-bg)}.tree-node{list-style:none}.tree-row{align-items:center;min-height:28px;display:flex}.tree-expand{cursor:pointer;width:20px;height:20px;color:var(--text);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.tree-chevron{transition:transform .15s}.tree-chevron.expanded{transform:rotate(90deg)}.tree-expand-placeholder{flex-shrink:0;width:20px}.tree-label{flex:1;min-width:0;padding:4px 8px 4px 0}.tree-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-folder-icon{flex-shrink:0}.tree-children{margin:0;padding:0;list-style:none}.tree-loading,.tree-empty{color:var(--text);padding:4px 16px 4px 44px;font-size:11px;list-style:none}.explorer-content{background:var(--content-bg);flex:1;position:relative;overflow:auto}.explorer-content.drag-over:after{content:"";border:2px dashed var(--accent);background:var(--selection-bg);pointer-events:none;z-index:1;border-radius:6px;position:absolute;inset:8px}.content-loading{height:100%;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.content-loading-overlay{background:color-mix(in srgb, var(--content-bg) 55%, transparent);z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.content-empty{height:100%;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.content-empty .empty-icon{opacity:.5;width:48px;height:48px}.content-empty .muted{font-size:12px}.details-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.details-table thead{z-index:2;background:var(--content-bg);position:sticky;top:0}.details-table th{text-align:left;color:var(--text);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;padding:0;font-weight:400}.col-sort{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 12px;font-size:12px;display:block}.col-sort:hover{background:var(--hover-bg)}.details-table td{text-overflow:ellipsis;white-space:nowrap;border-bottom:1px solid #0000;padding:6px 12px;overflow:hidden}.details-table tbody tr{cursor:default}.details-table tbody tr:hover{background:var(--hover-bg)}.details-table tbody tr.selected{background:var(--selection-bg)}.col-name{width:40%}.col-modified,.col-type{width:22%}.col-size{width:12%}.col-actions{width:80px}.name-cell{align-items:center;gap:8px;min-width:0;display:flex}.name-cell span{text-overflow:ellipsis;overflow:hidden}.cell-icon{flex-shrink:0}.item-actions{opacity:0;justify-content:flex-end;gap:2px;display:flex}.details-table tr:hover .item-actions,.details-table tr.selected .item-actions,.list-row:hover .item-actions,.list-row.selected .item-actions{opacity:1}.list-view{flex-direction:column;display:flex}.list-row{cursor:default;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.list-row:hover{background:var(--hover-bg)}.list-row.selected{background:var(--selection-bg)}.row-icon{flex-shrink:0}.row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:4px;padding:12px;display:grid}.icon-tile{cursor:default;text-align:center;border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex}.icon-tile:hover{background:var(--hover-bg)}.icon-tile.selected{background:var(--selection-bg)}.tile-icon{width:40px;height:40px}.tile-name{word-break:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.upload-progress-panel{background:var(--content-bg);border-top:1px solid var(--border);flex-shrink:0;padding:8px 12px 10px}.upload-progress-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;font-size:12px;display:flex}.upload-progress-label{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.upload-progress-percent{color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0}.upload-progress-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.upload-progress-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .15s ease-out}.upload-progress-fill.indeterminate{animation:1.2s ease-in-out infinite upload-indeterminate;width:40%!important}@keyframes upload-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.upload-progress-detail{color:var(--text);margin-top:4px;font-size:11px;display:block}.explorer-status-bar{min-height:28px;color:var(--text);background:var(--explorer-bg);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:4px 12px;font-size:11px;display:flex}.status-bar-left{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.image-viewer-backdrop{z-index:200;background:#000000d9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.image-viewer{background:#1a1a1a;border-radius:8px;flex-direction:column;width:100%;max-width:1200px;height:100%;max-height:calc(100svh - 32px);display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.image-viewer-toolbar{background:#252525;border-bottom:1px solid #3b3a39;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.image-viewer-title{flex-direction:column;gap:2px;min-width:0;display:flex}.image-viewer-name{color:#f3f2f1;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.image-viewer-meta{color:#a19f9d;font-size:11px}.image-viewer-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.image-viewer-actions .explorer-btn{color:#f3f2f1}.image-viewer-actions .explorer-btn:hover:not(:disabled){background:#3b3a39;border-color:#605e5c}.image-viewer-actions .explorer-btn:disabled{opacity:.35}.image-viewer-stage{background:#0d0d0d;flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex}.image-viewer-img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.video-viewer-stage{width:100%}.video-viewer-player{background:#000;outline:none;width:100%;max-width:100%;max-height:100%}.image-viewer-status .muted{opacity:.85;font-size:12px}.image-viewer-status{color:#a19f9d;flex-direction:column;align-items:center;gap:12px;font-size:13px;display:flex}.image-viewer-status .loading-spinner{border-color:#60cdff #3b3a39 #3b3a39}.auth-loading,.login-view{background:var(--explorer-bg);justify-content:center;align-items:center;min-height:100svh;padding:2rem;display:flex}.login-card{text-align:center;border:1px solid var(--border);background:var(--content-bg);max-width:400px;box-shadow:var(--shadow);border-radius:8px;padding:2rem 1.75rem}.login-card h1{margin:0 0 .5rem;font-size:1.5rem}.login-card p{color:var(--text);margin:0 0 1.25rem}.login-btn{background:var(--accent);border:1px solid var(--accent-border);color:#fff;cursor:pointer;width:100%;font-size:1rem;font:inherit;border-radius:4px;padding:.65rem 1rem}.login-hint{font-size:.8rem;margin:1.25rem 0 0!important}.login-hint a{color:var(--accent)}.dialog-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog{background:var(--content-bg);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow);border-radius:8px;padding:1.25rem 1.5rem}.dialog h2{margin:0 0 1rem;font-size:14px;font-weight:600}.dialog-label{flex-direction:column;gap:.35rem;font-size:12px;display:flex}.dialog-label input{border:1px solid var(--border);font:inherit;background:var(--input-bg);color:var(--text-h);border-radius:4px;padding:6px 8px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:1.25rem;display:flex}.dialog .explorer-btn.primary,.dialog .btn.primary{background:var(--accent);border-color:var(--accent-border);color:#fff}@media (width<=768px){.navigation-pane{display:none}.explorer-search{width:140px}.item-actions{opacity:1}}@media (prefers-color-scheme:dark){.explorer-banner.error{color:#f1aeb5;background:#442726;border-bottom-color:#751d1f}}
