:root,[data-palette=ember]{--fs-accent-50:#fff3ef;--fs-accent-100:#ffe0d6;--fs-accent-200:#ffc2af;--fs-accent-300:#ff9e80;--fs-accent-400:#ff7a56;--fs-accent-500:#ff5733;--fs-accent-600:#e8431f;--fs-accent-700:#bf3315;--fs-grad-from:#ff6b00;--fs-grad-to:#ff2e00}[data-palette=violet]{--fs-accent-50:#f5f1ff;--fs-accent-100:#ece3ff;--fs-accent-200:#d8c4ff;--fs-accent-300:#bfa1ff;--fs-accent-400:#a385f7;--fs-accent-500:#8b5cf6;--fs-accent-600:#7c3aed;--fs-accent-700:#6528d4;--fs-grad-from:#9f75ff;--fs-grad-to:#7c3aed}[data-palette=ocean]{--fs-accent-50:#eef6ff;--fs-accent-100:#d8ebff;--fs-accent-200:#aed3ff;--fs-accent-300:#7db6f5;--fs-accent-400:#3b8fe0;--fs-accent-500:#06c;--fs-accent-600:#0052a3;--fs-accent-700:#003f7d;--fs-grad-from:#1e7fe0;--fs-grad-to:#0052a3}[data-palette=forest]{--fs-accent-50:#ecf7ef;--fs-accent-100:#d4edda;--fs-accent-200:#a6dcb3;--fs-accent-300:#6fc687;--fs-accent-400:#40b45f;--fs-accent-500:#1e8e3e;--fs-accent-600:#166f30;--fs-accent-700:#105625;--fs-grad-from:#2aa84c;--fs-grad-to:#166f30}:root{--brand-ember-500:#ff5733;--fs-neutral-0:#fff;--fs-neutral-25:#fbfcfc;--fs-neutral-50:#f5f7f8;--fs-neutral-100:#eceff1;--fs-neutral-200:#dde3e6;--fs-neutral-300:#cfd8dc;--fs-neutral-400:#b0bec5;--fs-neutral-500:#8ca0ab;--fs-neutral-600:#607d8b;--fs-neutral-700:#455a64;--fs-neutral-800:#263238;--fs-neutral-850:#1b2429;--fs-neutral-900:#141b1f;--fs-neutral-950:#0e1316;--fs-red-50:#fff2f2;--fs-red-100:#fdd;--fs-red-300:#ff7e89;--fs-red-500:#d32f2f;--fs-red-600:#b00020;--fs-green-50:#e8f5e9;--fs-green-300:#6edc8c;--fs-green-500:#1e8e3e;--fs-amber-50:#fff7e8;--fs-amber-200:#f0d498;--fs-amber-700:#92400e;--fs-blue-50:#f0f7ff;--fs-blue-300:#6aa6ff;--fs-blue-500:#06c;--fs-purple-50:#f5f0ff;--fs-purple-200:#d8b4fe;--fs-purple-500:#a855f7;--color-bg-canvas:var(--fs-neutral-0);--color-bg-surface:var(--fs-neutral-0);--color-bg-raised:var(--fs-neutral-0);--color-bg-sunken:var(--fs-neutral-50);--color-bg-subtle:var(--fs-neutral-50);--color-bg-hover:var(--fs-neutral-100);--color-bg-active:var(--fs-neutral-200);--color-bg-disabled:var(--fs-neutral-100);--color-text-primary:var(--fs-neutral-800);--color-text-secondary:var(--fs-neutral-600);--color-text-muted:var(--fs-neutral-500);--color-text-disabled:var(--fs-neutral-400);--color-text-inverse:var(--fs-neutral-0);--color-text-on-accent:var(--fs-neutral-0);--color-border:var(--fs-neutral-200);--color-border-strong:var(--fs-neutral-300);--color-border-hover:var(--fs-neutral-400);--color-accent:var(--fs-accent-500);--color-accent-hover:var(--fs-accent-600);--color-accent-active:var(--fs-accent-700);--color-accent-subtle:var(--fs-accent-50);--color-accent-border:var(--fs-accent-200);--color-accent-gradient:linear-gradient(180deg, var(--fs-grad-from) 0%, var(--fs-grad-to) 60.92%);--color-focus-ring:color-mix(in srgb, var(--fs-accent-500) 28%, transparent);--color-danger:var(--fs-red-500);--color-danger-strong:var(--fs-red-600);--color-danger-subtle:var(--fs-red-50);--color-danger-border:var(--fs-red-100);--color-success:var(--fs-green-500);--color-success-subtle:var(--fs-green-50);--color-warning:var(--fs-amber-700);--color-warning-subtle:var(--fs-amber-50);--color-warning-border:var(--fs-amber-200);--color-info:var(--fs-blue-500);--color-info-subtle:var(--fs-blue-50);--color-scrim:#0006;--color-scrim-strong:#000000a3;--color-scrim-weak:#0000001f;--color-filetype-img-bg:var(--color-accent-subtle);--color-filetype-img-fg:var(--color-accent);--color-filetype-pdf-bg:var(--fs-red-50);--color-filetype-pdf-fg:var(--fs-red-500);--color-filetype-vid-bg:var(--fs-purple-50);--color-filetype-vid-fg:var(--fs-purple-500);--color-logo-bg:var(--fs-neutral-800);--color-logo-fg:var(--fs-neutral-0);--color-bg-inverse:var(--fs-neutral-800);--color-text-inverse-surface:var(--fs-neutral-0);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--color-bg-canvas:#000;--color-bg-surface:#000;--color-bg-raised:var(--fs-neutral-900);--color-bg-sunken:#000;--color-bg-subtle:#000;--color-bg-hover:var(--fs-neutral-850);--color-bg-active:var(--fs-neutral-800);--color-bg-disabled:var(--fs-neutral-900);--color-text-primary:var(--fs-neutral-100);--color-text-secondary:var(--fs-neutral-400);--color-text-muted:var(--fs-neutral-500);--color-text-disabled:var(--fs-neutral-600);--color-text-inverse:var(--fs-neutral-900);--color-text-on-accent:var(--fs-neutral-0);--color-border:var(--fs-neutral-800);--color-border-strong:var(--fs-neutral-700);--color-border-hover:var(--fs-neutral-600);--color-accent:var(--fs-accent-400);--color-accent-hover:var(--fs-accent-300);--color-accent-active:var(--fs-accent-500);--color-accent-subtle:color-mix(in srgb, var(--fs-accent-400) 18%, transparent);--color-accent-border:color-mix(in srgb, var(--fs-accent-400) 42%, transparent);--color-focus-ring:color-mix(in srgb, var(--fs-accent-400) 45%, transparent);--color-danger:var(--fs-red-300);--color-danger-strong:var(--fs-red-300);--color-danger-subtle:color-mix(in srgb, var(--fs-red-500) 16%, transparent);--color-danger-border:color-mix(in srgb, var(--fs-red-500) 36%, transparent);--color-success:var(--fs-green-300);--color-success-subtle:color-mix(in srgb, var(--fs-green-500) 16%, transparent);--color-warning:var(--fs-amber-200);--color-warning-subtle:color-mix(in srgb, var(--fs-amber-200) 14%, transparent);--color-warning-border:color-mix(in srgb, var(--fs-amber-200) 30%, transparent);--color-info:var(--fs-blue-300);--color-info-subtle:color-mix(in srgb, var(--fs-blue-500) 18%, transparent);--color-scrim:#000000a3;--color-scrim-strong:#000000c7;--color-scrim-weak:#0006;--color-filetype-img-bg:var(--color-accent-subtle);--color-filetype-img-fg:var(--color-accent);--color-filetype-pdf-bg:color-mix(in srgb, var(--fs-red-500) 18%, transparent);--color-filetype-pdf-fg:var(--fs-red-300);--color-filetype-vid-bg:color-mix(in srgb, var(--fs-purple-500) 18%, transparent);--color-filetype-vid-fg:var(--fs-purple-200);--color-logo-bg:var(--fs-neutral-0);--color-logo-fg:var(--fs-neutral-900);--color-bg-inverse:var(--fs-neutral-100);--color-text-inverse-surface:var(--fs-neutral-900);--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 8px #0000007a;--shadow-md:0 4px 16px #0000008f;--shadow-lg:0 12px 30px #000000a3;--shadow-xl:0 28px 70px #000000b8;--shadow-accent:0 10px 18px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,[data-theme=dark]{--color-success-solid:var(--fs-green-500);--color-danger-solid:var(--fs-red-500)}[data-surface=inverse]{--color-bg-surface:var(--fs-neutral-950);--color-bg-raised:var(--fs-neutral-850);--color-bg-sunken:#0a0c10;--color-bg-hover:#ffffff24;--color-bg-active:#fff3;--color-text-primary:#f4f6fa;--color-text-secondary:#b2bdca;--color-text-muted:#b9c5d8;--color-border:#ffffff24;--color-border-strong:#fff3;--color-border-hover:#ffffff47;--color-danger:var(--fs-red-300);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:14px;--space-7:14px;--space-8:20px;--space-9:18px;--space-10:20px;--space-12:28px;--space-14:28px;--space-16:32px;--space-20:40px;--space-24:48px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:26px;--radius-2xl:32px;--radius-pill:999px;--radius-full:50%;--shadow-xs:0 2px 6px #0000000d;--shadow-sm:0 6px 18px #00000014;--shadow-md:0 14px 34px #0000001f;--shadow-lg:0 24px 56px #10182829;--shadow-xl:0 36px 90px #00000038;--shadow-accent:0 16px 32px color-mix(in srgb, var(--fs-accent-500) 32%, transparent);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono:Consolas, "Courier New", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:15px;--font-size-xl:17px;--font-size-2xl:20px;--font-size-3xl:clamp(34px, 4vw, 48px);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.08;--line-height-snug:1.35;--line-height-base:1.5;--letter-spacing-tight:-.04em;--letter-spacing-normal:0;--letter-spacing-wide:.04em;--z-base:1;--z-raised:3;--z-dropdown-backdrop:30;--z-dropdown:40;--z-sticky:100;--z-drawer-backdrop:199;--z-drawer:200;--z-bulk-bar:250;--z-overlay:1000;--z-modal:1100;--z-toast:1200;--motion-fast:.22s;--motion-base:.2s;--motion-slow:.3s;--motion-drawer:.5s;--motion-ease:cubic-bezier(.34, 1.56, .64, 1);--motion-ease-out:ease-out;--layout-sidebar-width:240px;--layout-gutter:var(--space-12);--layout-content-max:1200px;--layout-control-height:42px;--layout-control-height-sm:38px;--hover-lift:translateY(-3px);--press-scale:scale(.98);--surface-blur:none;--font-family-meta:var(--font-sans);--control-border-width:1px;--color-bg-sunken:color-mix(in srgb, var(--fs-accent-500) 4%, var(--fs-neutral-50));--color-bg-subtle:color-mix(in srgb, var(--fs-accent-500) 3%, var(--fs-neutral-50))}[data-theme=dark]{--color-bg-sunken:#000;--color-bg-subtle:#000}@media (prefers-reduced-motion:reduce){:root{--motion-fast:.01ms;--motion-base:.01ms;--motion-slow:.01ms;--motion-drawer:.01ms}}*{box-sizing:border-box}:root{font-family:var(--font-sans);line-height:var(--line-height-base);font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg-canvas);min-width:320px;min-height:100vh;color:var(--color-text-primary);margin:0}#root{min-height:100vh}button{transition:transform var(--motion-fast) var(--motion-ease);font-family:inherit}button:active:not(:disabled){transform:var(--press-scale)}input{font-family:inherit}.app-logo{flex-shrink:0;width:auto;height:32px;display:block}.drive-key-modal{max-width:520px}.drive-key-modal-body{gap:var(--space-10)}.drive-key-modal-warning{padding:var(--space-8) var(--space-10);background:var(--color-danger-subtle);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);color:var(--color-danger-strong);font-size:var(--font-size-sm);margin:0}.drive-key-modal-section{gap:var(--space-4);flex-direction:column;display:flex}.drive-key-modal-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin:0}.drive-key-modal-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.drive-key-modal-field{gap:var(--space-4);display:flex}.drive-key-modal-field input{min-width:0;padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-mono,monospace);font-size:var(--font-size-sm);flex:1}.drive-key-modal-field button{padding:var(--space-6) var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;font-size:var(--font-size-sm)}.drive-key-modal-field button:hover:not(:disabled){background:var(--color-bg-hover)}.drive-key-modal-field button:disabled{opacity:.6;cursor:not-allowed}.drive-key-modal-error{font-size:var(--font-size-sm);color:var(--color-danger);margin:0}.profile-menu{position:relative}.profile-menu-trigger{cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;padding:0;display:flex}.profile-menu-trigger:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.profile-menu-panel{top:calc(100% + var(--space-3));background:var(--color-bg-raised);width:260px;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:var(--surface-blur);padding:var(--space-6);gap:var(--space-6);z-index:var(--z-dropdown);flex-direction:column;display:flex;position:absolute;right:0}.profile-menu-section+.profile-menu-section{padding-top:var(--space-6);border-top:1px solid var(--color-border)}.profile-menu-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);margin:0 0 var(--space-3)}.profile-menu-row-btn{box-sizing:border-box;align-items:center;gap:var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-surface);width:100%;height:36px;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-sm);padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;text-align:left;display:flex}.profile-menu-row-btn:hover{background:var(--color-bg-hover)}.profile-menu-row-btn--danger{color:var(--color-danger)}.profile-menu-accounts{gap:var(--space-2);flex-direction:column;max-height:160px;display:flex;overflow-y:auto}.profile-menu-account{align-items:center;gap:var(--space-2);display:flex}.profile-menu-account-switch{min-width:0;color:var(--color-text-secondary);height:auto;min-height:36px;padding:var(--space-2) var(--space-4);flex:1}.profile-menu-account-info{flex-direction:column;gap:2px;display:flex;overflow:hidden}.profile-menu-account-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-menu-account-npub{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-menu-account.is-active .profile-menu-account-switch{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent);font-weight:var(--font-weight-medium)}.profile-menu-account-dot{border-radius:var(--radius-full);background:var(--color-accent);flex-shrink:0;width:6px;height:6px}.profile-menu-account-remove{border:1px solid var(--color-border);background:var(--color-bg-surface);width:36px;height:36px;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);flex-shrink:0;line-height:1}.profile-menu-account-remove:hover{background:var(--color-danger-subtle);border-color:var(--color-danger-border);color:var(--color-danger)}.profile-menu-account-actions{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.profile-menu-appearance{align-items:center;gap:var(--space-4);display:flex}.profile-menu-theme-toggle{border:1px solid var(--color-border);background:var(--color-bg-surface);width:28px;height:28px;color:var(--color-text-secondary);border-radius:var(--radius-full);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-menu-theme-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.profile-menu-appearance-divider{background:var(--color-border);flex-shrink:0;width:1px;height:20px}.profile-menu-row{align-items:center;gap:var(--space-3);display:flex}.profile-menu-swatch{border-radius:var(--radius-full);border:2px solid var(--color-bg-surface);width:22px;height:22px;box-shadow:0 0 0 1px var(--color-border);cursor:pointer;padding:0}.profile-menu-swatch.is-active{box-shadow:0 0 0 2px var(--color-text-primary)}.profile-menu-select{appearance:auto;padding:0 var(--space-5)}.profile-menu-add-server{gap:var(--space-2);margin-top:var(--space-3);display:flex}.profile-menu-add-server .profile-menu-row-btn{flex:1;min-width:0}.profile-menu-add-server-btn{border:1px solid var(--color-border);background:var(--color-bg-surface);width:36px;height:36px;color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;font:inherit;flex-shrink:0}.profile-menu-add-server-btn:hover{background:var(--color-bg-hover)}.profile-menu-error{margin:var(--space-3) 0 0;font-size:var(--font-size-xs);color:var(--color-danger)}.add-account-modal{background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);width:min(440px,92vw);max-height:85vh;box-shadow:var(--shadow-xl);padding:var(--space-8);position:relative;overflow-y:auto}.add-account-modal-close{top:var(--space-4);right:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-raised);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-lg);z-index:1;line-height:1;position:absolute}.add-account-modal-close:hover{background:var(--color-bg-hover)}.drive-key-warning-banner{justify-content:space-between;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-12);background:var(--color-danger-subtle);border-bottom:1px solid var(--color-danger-border);color:var(--color-danger-strong);font-size:var(--font-size-sm);display:flex}.drive-key-warning-banner button{padding:var(--space-4) var(--space-10);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-danger-strong);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;flex-shrink:0}.drive-key-warning-banner button:hover{background:var(--color-bg-hover)}.upload-manager{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-md);-webkit-backdrop-filter:var(--surface-blur);z-index:var(--z-overlay);flex-direction:column;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden}.transfer-managers-container{bottom:var(--space-12);right:var(--space-12);gap:var(--space-4);z-index:var(--z-overlay);flex-direction:column;width:calc(100% - 48px);max-width:320px;display:flex;position:fixed}@media (min-width:768px){.transfer-managers-container{right:auto;left:var(--space-12);width:320px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.upload-manager-header{padding:var(--space-6) var(--space-8);background:var(--color-bg-sunken);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-medium);color:var(--color-text-primary);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.cancel-transfer-btn{color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;padding:2px var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;line-height:1}.cancel-transfer-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.upload-manager-body{padding:var(--space-6) var(--space-8)}.transfer-list-body{gap:var(--space-6);flex-direction:column;max-height:320px;display:flex;overflow-y:auto}.upload-item{align-items:center;gap:var(--space-6);display:flex}.transfer-row-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.transfer-action-btn{color:var(--color-text-secondary);cursor:pointer;padding:2px var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;display:flex}.transfer-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.transfer-status-icon{flex-shrink:0;justify-content:center;align-items:center;width:28px;display:flex}.transfer-status-icon--done{color:var(--color-success)}.upload-item-stage--error{color:var(--color-danger,var(--color-warning))}.transfer-item--failed .upload-item-icon,.transfer-item--cancelled .upload-item-icon{color:var(--color-text-secondary);opacity:.7}.upload-item-icon{color:var(--color-accent);justify-content:center;align-items:center;display:flex}.upload-item-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.upload-item-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.upload-item-stage{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;overflow:hidden}.upload-progress-wrapper{justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative}.circular-progress{transform:rotate(-90deg)}.progress-bg{fill:none;stroke:var(--color-border)}.progress-bar{fill:none;stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dashoffset .3s}.progress-text{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);position:absolute}.chunk-grid{margin-top:var(--space-3);flex-wrap:wrap;gap:3px;display:flex}.chunk-indicator{background:var(--color-border);border-radius:2px;width:8px;height:8px;transition:all .2s}.chunk-indicator.hashing{background:var(--fs-purple-500);animation:1s infinite alternate pulse}.chunk-indicator.hashing-done{background:var(--fs-purple-200)}.chunk-indicator.uploading{background:var(--color-accent);animation:1s infinite alternate pulse}.chunk-indicator.done{background:var(--color-success)}@keyframes pulse{0%{opacity:.5}to{opacity:1}}.transfer-warning{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:var(--color-warning-subtle);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-warning);line-height:1.4;display:flex}.transfer-warning svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.transfer-info{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:var(--color-bg-sunken);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.4;display:flex}.transfer-info svg{flex-shrink:0;width:14px;height:14px;margin-top:1px}.drive-layout{min-height:100vh;background:var(--color-bg-canvas);min-height:100dvh;color:var(--color-text-primary);flex-direction:column;display:flex}.drive-content{flex:1;min-height:0;display:flex;overflow:hidden}.drive-main{padding:var(--space-12);flex:1;min-height:0;overflow:hidden}.app-header{padding:var(--space-6) var(--space-12);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);-webkit-backdrop-filter:var(--surface-blur);justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:var(--space-12);display:flex}.breadcrumb{min-width:0;padding-left:var(--space-3);align-items:center;display:flex;overflow:hidden}.breadcrumb-item{align-items:center;min-width:0;display:inline-flex}.breadcrumb-sep{color:var(--color-text-muted);margin:0 var(--space-2);flex-shrink:0}.breadcrumb-segment{padding:var(--space-2) var(--space-3);margin:0 calc(var(--space-3) * -1);border-radius:var(--radius-sm);font:inherit;font-size:var(--font-size-md);color:var(--color-text-secondary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:220px;overflow:hidden}.breadcrumb-segment:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.breadcrumb-segment:disabled{color:var(--color-text-primary);font-weight:var(--font-weight-medium);cursor:default}.header-right{align-items:center;gap:var(--space-6);display:flex}.server-dropdown{position:relative}.server-btn{padding:var(--space-4) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);cursor:pointer;font-size:var(--font-size-base)}.server-btn:hover{background:var(--color-bg-hover)}.server-menu{margin-top:var(--space-2);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:240px;box-shadow:var(--shadow-sm);z-index:var(--z-sticky);-webkit-backdrop-filter:var(--surface-blur);position:absolute;top:100%;right:0}.server-menu-backdrop{background:var(--color-scrim-weak);z-index:var(--z-dropdown-backdrop);position:fixed;inset:0}.server-menu button{width:100%;padding:var(--space-5) var(--space-8);text-align:left;cursor:pointer;font-size:var(--font-size-base);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.server-menu button:hover{background:var(--color-bg-hover)}.server-menu button.active{font-weight:var(--font-weight-semibold)}.server-source{font-size:var(--font-size-xs);color:var(--color-text-muted)}.server-menu-divider{background:var(--color-border);height:1px;margin:var(--space-2) 0}.custom-server-row{padding:var(--space-4);gap:var(--space-4);display:flex}.custom-server-row input{padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);flex:1}.custom-server-row button{width:auto;padding:var(--space-3) var(--space-6)}.folder-sidebar{width:var(--layout-sidebar-width);border-right:1px solid var(--color-border);background:var(--color-bg-sunken);min-height:0;-webkit-backdrop-filter:var(--surface-blur);flex-direction:column;display:flex;overflow-y:auto}.sidebar-section+.sidebar-section{border-top:1px solid var(--color-border)}.sidebar-section--grow{flex:1}.sidebar-header{padding:var(--space-8);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);justify-content:space-between;align-items:center;display:flex}.new-folder-btn{cursor:pointer;width:24px;height:24px;color:var(--color-text-secondary);background:0 0;border:none;font-size:18px}.new-folder-btn:hover{color:var(--color-accent)}.folder-feedback{padding:var(--space-4) var(--space-6);margin:0 var(--space-6) var(--space-4);background:var(--color-success-subtle);color:var(--color-success);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:center;font-weight:var(--font-weight-medium)}.new-folder-input{gap:var(--space-2);padding:0 var(--space-6) var(--space-6);display:flex}.new-folder-input input{padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);flex:1;min-width:0}.new-folder-input button{padding:var(--space-3) var(--space-5);background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-md);border:none;flex-shrink:0;min-width:32px}.new-folder-input button:hover{background:var(--color-accent-hover)}.new-folder-input button.cancel-btn{background:var(--color-bg-active);color:var(--color-text-secondary)}.new-folder-input button.cancel-btn:hover{background:var(--color-border-strong);color:var(--color-text-primary)}.folder-list,.folder-children{flex-direction:column;display:flex}.folder-item{align-items:center;gap:var(--space-2);margin:0 var(--space-3);padding-right:var(--space-3);border-radius:var(--radius-md);transition:background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);border:1px solid #0000;display:flex;position:relative}.folder-item:hover:not(.active){background-color:color-mix(in srgb, var(--color-text-primary) 6%, transparent)}.folder-item.active{background:var(--color-accent-subtle);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.folder-item.active:before{content:"";border-radius:var(--radius-pill);background:var(--color-accent);width:3px;position:absolute;top:20%;bottom:20%;left:-3px}.folder-item.drag-over{background:var(--color-accent-subtle);border-color:var(--color-accent)}.folder-toggle{cursor:pointer;width:18px;height:18px;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.folder-toggle:hover{color:var(--color-text-primary)}.folder-toggle--spacer{cursor:default}.folder-chevron{width:10px;height:10px;transition:transform var(--motion-fast) var(--motion-ease)}.folder-chevron.is-expanded{transform:rotate(90deg)}.folder-item-btn{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-5) 0;text-align:left;cursor:pointer;font-size:var(--font-size-md);color:inherit;font:inherit;background:0 0;border:none;flex:1;display:flex}.folder-item-icon{width:16px;height:16px;color:var(--color-text-secondary);flex-shrink:0;align-items:center;display:flex}.folder-item.active .folder-item-icon{color:var(--color-accent)}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.folder-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-family-meta)}.recent-list{padding:0 var(--space-3) var(--space-3);flex-direction:column;gap:1px;display:flex}.recent-item{justify-content:space-between;align-items:baseline;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;display:flex}.recent-item:hover{background-color:color-mix(in srgb, var(--color-text-primary) 6%, transparent)}.recent-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--font-size-sm);color:var(--color-text-primary);flex:1;overflow:hidden}.recent-item-time{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-family-meta);flex-shrink:0}@media (max-width:768px){.folder-sidebar{height:100%;z-index:var(--z-drawer);transition:transform var(--motion-drawer) ease;position:fixed;top:0;left:0;transform:translate(-100%)}.folder-sidebar.sidebar-open{transform:translate(0)}.sidebar-backdrop{background:var(--color-scrim);z-index:var(--z-drawer-backdrop);display:block;position:fixed;inset:0}}@media (min-width:769px){.sidebar-backdrop{display:none!important}}.upload-zone-wrapper{margin-bottom:var(--space-12)}.upload-zone{border:2px dashed var(--color-accent-border);border-radius:var(--radius-lg);padding:var(--space-16);text-align:center;cursor:pointer;transition:all var(--motion-fast)}.upload-zone:hover{border-color:var(--color-accent);background:var(--color-bg-sunken)}.upload-zone.dragging{border-color:var(--color-accent);background:var(--color-accent-subtle)}.upload-zone.uploading{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.upload-prompt{color:var(--color-text-secondary);font-size:var(--font-size-md)}.upload-status{color:var(--color-text-primary);font-size:var(--font-size-md)}.upload-error{margin-top:var(--space-4);color:var(--color-danger);font-size:var(--font-size-base);display:block}.upload-server-selector{align-items:center;gap:var(--space-6);margin-top:var(--space-6);padding:var(--space-6);background:var(--color-bg-sunken);border-radius:var(--radius-md);display:flex}.server-label{font-size:var(--font-size-base);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.file-list-container{height:100%;max-width:var(--layout-content-max);flex-direction:column;display:flex}.file-list-scroll{flex:1;min-height:0;margin:0 -4px;padding:0 4px;overflow-y:auto}.bulk-action-bar{left:calc(var(--layout-sidebar-width) + var(--layout-gutter));right:var(--space-12);bottom:var(--space-12);z-index:var(--z-bulk-bar);justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-7) var(--space-8);background:color-mix(in srgb, var(--color-bg-surface) 98%, transparent);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;position:fixed}.bulk-action-summary{font-size:var(--font-size-md);color:var(--color-text-primary)}.bulk-action-buttons{align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:flex-end;display:flex}.bulk-secondary-btn,.bulk-danger-btn,.bulk-clear-btn{height:var(--layout-control-height-sm);padding:0 var(--space-7);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-surface);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.bulk-secondary-btn:hover,.bulk-clear-btn:hover{background:var(--color-bg-hover)}.bulk-danger-btn{border-color:var(--color-danger-border);color:var(--color-danger-strong);background:var(--color-danger-subtle)}.bulk-danger-btn:hover{background:color-mix(in srgb, var(--color-danger) 16%, var(--color-bg-surface))}.bulk-secondary-btn:disabled,.bulk-danger-btn:disabled,.bulk-clear-btn:disabled{cursor:default;opacity:1}.bulk-secondary-btn:disabled,.bulk-clear-btn:disabled{background:var(--color-bg-subtle);border-color:var(--color-border);color:var(--color-text-muted)}.bulk-danger-btn:disabled{background:var(--color-danger-subtle);border-color:var(--color-danger-border);color:var(--color-text-muted)}.bulk-action-error{margin-bottom:var(--space-6);color:var(--color-danger);font-size:var(--font-size-base)}.bulk-action-hint{margin:0 0 var(--space-7);color:var(--color-text-secondary);font-size:var(--font-size-base)}.bulk-delete-list{gap:var(--space-4);flex-direction:column;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bulk-delete-list-item{padding:var(--space-5) var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-sunken)}.bulk-delete-file-name{color:var(--color-text-primary);font-size:var(--font-size-md);word-break:break-word;display:block}.loading-container{height:50%;min-height:60vh;max-width:var(--layout-content-max);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;padding:var(--space-24);color:var(--color-text-secondary)}.empty-hint{font-size:var(--font-size-base);color:var(--color-text-muted)}.empty-state.error-state p:first-child{color:var(--color-danger-strong,var(--color-text-secondary));font-weight:var(--font-weight-medium)}.empty-state-retry{margin-top:var(--space-8);padding:var(--space-6) var(--space-12);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer}.empty-state-retry:hover{background:var(--color-bg-hover)}.loading-state{text-align:center;padding:var(--space-24);color:var(--color-text-secondary)}@media (max-width:768px){.bulk-action-bar{right:var(--space-8);left:var(--space-8);bottom:var(--space-8);flex-direction:column;align-items:flex-start}.bulk-action-buttons{justify-content:flex-start;width:100%}}.file-card{align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);transition:box-shadow var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);display:flex;position:relative}.file-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring), 0 6px 20px color-mix(in srgb, var(--color-accent) 28%, transparent)}.file-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-xs)}.file-select{cursor:pointer;opacity:0;transition:opacity var(--motion-fast) ease;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.file-card:hover .file-select{opacity:1}.file-select:has(input:checked){opacity:1}.file-select input{opacity:0;pointer-events:none;position:absolute}.file-select-box{border:1.5px solid var(--color-border-strong);background:var(--color-bg-surface);width:18px;height:18px;transition:all var(--motion-fast) ease;box-shadow:var(--shadow-xs);border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.file-select input:checked+.file-select-box{background:var(--color-accent);border-color:var(--color-accent)}.file-select input:checked+.file-select-box:after{content:"";border:solid var(--color-text-on-accent);border-width:0 2px 2px 0;width:5px;height:9px;transform:rotate(45deg)translate(-1px,-1px)}.file-select-list{position:relative}.file-icon{background:var(--color-bg-subtle);border-radius:var(--radius-sm);width:40px;height:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.file-icon img{object-fit:cover;width:100%;height:100%;display:block}.file-icon[data-type=img]{background:var(--color-filetype-img-bg);color:var(--color-filetype-img-fg)}.file-icon[data-type=pdf]{background:var(--color-filetype-pdf-bg);color:var(--color-filetype-pdf-fg)}.file-icon[data-type=vid]{background:var(--color-filetype-vid-bg);color:var(--color-filetype-vid-fg)}.file-info{flex:1;min-width:0}.file-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.file-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-family-meta)}.file-server-badge{margin-left:var(--space-3);padding:1px var(--space-3);font-size:10px;font-family:var(--font-mono);color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-sm);vertical-align:middle;align-items:center;line-height:1.6;display:inline-flex}.file-actions{gap:var(--space-2);display:flex}.action-btn{cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;font-size:var(--font-size-lg);color:var(--color-text-secondary);background:0 0;border:none}.action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.action-btn:disabled{opacity:.5;cursor:default}.menu-btn{position:relative}.file-menu{margin-top:var(--space-2);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);z-index:var(--z-dropdown);min-width:160px;-webkit-backdrop-filter:var(--surface-blur);position:absolute;top:100%;right:0}.file-menu-backdrop{background:var(--color-scrim-weak);z-index:var(--z-dropdown-backdrop);border:none;margin:0;padding:0;position:fixed;inset:0}.file-menu button{width:100%;padding:var(--space-5) var(--space-10);text-align:left;cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-primary);background:0 0;border:none;display:block}.file-menu button:hover{background:var(--color-bg-hover)}.file-menu button.delete-btn{color:var(--color-danger)}.file-menu button.move-btn{color:var(--color-accent)}.move-dialog-overlay{background:var(--color-scrim);z-index:var(--z-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.move-dialog{background:var(--color-bg-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:90%;max-width:480px;max-height:80vh;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:var(--surface-blur);flex-direction:column;animation:.18s dialogFadeIn;display:flex}@keyframes dialogFadeIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.move-dialog-header{padding:var(--space-10) var(--space-12);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.move-dialog-header h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0}.move-dialog-header button{cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;font-size:24px;display:flex}.move-dialog-header button:hover{background:var(--color-bg-hover)}.move-dialog-body{padding:var(--space-8) var(--space-12) var(--space-12);flex-direction:column;display:flex;overflow-y:auto}.folder-list-move{gap:var(--space-4);flex-direction:column;display:flex}.folder-option{align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);cursor:pointer;text-align:left;transition:all var(--motion-fast);font-size:var(--font-size-md);display:flex}.folder-option:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.folder-option:disabled{opacity:.6;cursor:not-allowed}.folder-option.current{background:var(--color-bg-subtle);border-color:var(--color-border-hover)}.folder-icon{font-size:18px}.folder-path{font-weight:var(--font-weight-medium);flex:1}.current-badge{font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-bg-active);padding:2px var(--space-4);border-radius:var(--radius-sm)}.preview-modal-overlay{background:var(--color-scrim-strong);z-index:var(--z-modal);padding:var(--space-10);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.preview-modal{background:var(--color-bg-surface);width:min(1120px,100%);height:min(86vh,900px);color:var(--color-text-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.preview-modal-header{justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-7) var(--space-8);border-bottom:1px solid var(--color-border);display:flex}.preview-modal-title-wrap{min-width:0}.preview-modal-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.preview-modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px;display:block}.preview-modal-close{border-radius:var(--radius-md);border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);width:34px;height:34px;color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-base);flex-shrink:0}.preview-modal-close:hover{background:color-mix(in srgb, var(--color-text-primary) 16%, transparent)}.preview-modal-body{min-height:0;padding:var(--space-8);background:var(--color-bg-sunken);flex:1;justify-content:center;align-items:center;display:flex}.preview-modal-state{color:var(--color-text-muted);font-size:var(--font-size-md);text-align:center;max-width:520px}.preview-modal-state.error{color:var(--color-danger)}.preview-open-docs-btn{margin-top:var(--space-6);border:1px solid color-mix(in srgb, var(--color-text-primary) 30%, transparent);background:color-mix(in srgb, var(--color-text-primary) 8%, transparent);color:var(--color-text-primary);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);font-size:var(--font-size-base);cursor:pointer}.preview-open-docs-btn:hover{background:color-mix(in srgb, var(--color-text-primary) 18%, transparent)}.preview-media-image,.preview-media-video{object-fit:contain;border-radius:var(--radius-lg);background:#050608;width:100%;height:100%}.preview-media-pdf{border-radius:var(--radius-lg);background:#fff;border:0;width:100%;height:100%}.preview-text-content{white-space:pre-wrap;word-break:break-word;border-radius:var(--radius-lg);background:var(--color-bg-raised);width:100%;height:100%;color:var(--color-text-primary);border:1px solid var(--color-border);padding:var(--space-7);font-family:var(--font-mono);font-size:var(--font-size-base);margin:0;line-height:1.45;overflow:auto}.preview-text-wrap{gap:var(--space-5);flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.preview-doc-actions{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.preview-doc-btn{border:1px solid var(--color-border-strong);background:var(--color-bg-raised);color:var(--color-text-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-4) var(--space-5);cursor:pointer}.preview-doc-btn:hover{background:var(--color-bg-hover)}.preview-doc-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media (max-width:768px){.preview-modal-overlay{padding:var(--space-5)}.preview-modal{height:min(92vh,100%)}.preview-modal-header{padding:var(--space-5) var(--space-6)}.preview-modal-body{padding:var(--space-5)}}.sign-in-container{min-height:100vh;min-height:100dvh;padding:var(--space-12);background:radial-gradient(circle at top, var(--color-bg-surface), var(--color-bg-sunken)), linear-gradient(180deg, var(--color-bg-sunken) 0%, var(--color-bg-active) 100%);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.sign-in-container--embedded{background:0 0;min-height:auto;padding:0}.sign-in-container--embedded .sign-in-card{width:100%;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding:0}.sign-in-container--embedded .sign-in-card h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.sign-in-container--embedded .sign-in-subtitle{font-size:var(--font-size-md);margin-bottom:var(--space-8)}.sign-in-card{text-align:center;padding:var(--space-14) var(--space-16) var(--space-20);box-sizing:border-box;background:color-mix(in srgb, var(--color-bg-surface) 98%, transparent);border-radius:var(--radius-xl);width:min(100%,560px);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px) var(--surface-blur)}.sign-in-card,.sign-in-card button,.sign-in-card input,.sign-in-card textarea{font-family:inherit}.sign-in-card h1{font-size:var(--font-size-3xl);line-height:var(--line-height-tight);font-weight:var(--font-weight-medium);margin:0 0 var(--space-5);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary)}.sign-in-subtitle{color:var(--color-text-secondary);margin:0 0 var(--space-14);letter-spacing:-.02em;font-size:16px}.native-signer-list{gap:var(--space-6);flex-direction:column;width:100%;display:flex}.sign-in-primary-actions{margin-bottom:var(--space-2)}.sign-in-choice-list{gap:var(--space-7);flex-direction:column;display:flex}.sign-in-choice-btn{width:100%;padding:var(--space-9) var(--space-10);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);transition:background-color var(--motion-fast) ease, border-color var(--motion-fast) ease;font-size:16px}.sign-in-choice-btn:hover:not(.sign-in-choice-btn-primary){background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.sign-in-choice-btn-primary{background:var(--color-accent-gradient);color:var(--color-text-on-accent);box-shadow:var(--shadow-accent);border:none}.sign-in-choice-btn-primary:hover{background:linear-gradient(180deg, var(--color-accent-hover), var(--color-accent-hover))}.sign-in-back-btn{margin:0 0 var(--space-9);color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;padding:0}.sign-in-back-btn:hover{color:var(--color-text-primary)}.sign-in-method-section{margin-top:var(--space-5);text-align:left}.sign-in-method-header{justify-content:center;align-items:center;gap:var(--space-5);margin-bottom:var(--space-4);display:flex}.sign-in-method-header h2{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);letter-spacing:.03em;text-transform:uppercase;margin:0}.sign-in-secondary-section .sign-in-method-header{justify-content:flex-start}.sign-in-section-hint{margin:0 0 var(--space-6);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.5}.sign-in-remote-header{gap:var(--space-7);margin-bottom:var(--space-10);grid-template-columns:32px 1fr;justify-content:center;align-items:center;display:grid}.sign-in-remote-icon{width:32px;height:32px;color:var(--color-text-primary)}.sign-in-remote-icon svg{width:100%;height:100%}.sign-in-remote-copy{text-align:center}.sign-in-remote-copy h2{font-size:var(--font-size-lg);line-height:1.35;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.03em;margin:0}.sign-in-remote-copy p{margin:var(--space-3) 0 0;font-size:var(--font-size-md);color:var(--color-text-primary)}.sign-in-tab-row{align-items:center;gap:var(--space-9);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border);display:flex}.sign-in-tab-btn{padding:0 2px var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-md);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);cursor:pointer;background:0 0;border:none;position:relative}.sign-in-tab-btn.active{color:var(--color-text-primary)}.sign-in-tab-btn.active:after{content:"";background:var(--color-accent);border-radius:var(--radius-pill);height:3px;position:absolute;bottom:-1px;left:0;right:0}.sign-in-tab-panel{gap:var(--space-8);flex-direction:column;display:flex}.sign-in-warning-box{padding:var(--space-7) var(--space-8);border-radius:var(--radius-lg);background:var(--color-warning-subtle);color:var(--color-warning);font-size:var(--font-size-base);border:1px solid var(--color-warning-border);line-height:1.5}.sign-in-warning-box code{font-weight:var(--font-weight-bold);color:var(--color-warning)}.sign-in-secret-output{width:100%;min-height:108px;padding:var(--space-8) var(--space-9);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-bg-surface);resize:vertical;box-sizing:border-box;font-size:15px;line-height:1.6}.sign-in-generated-actions{gap:var(--space-6);display:flex}.sign-in-generated-actions .sign-in-choice-btn{flex:1}.sign-in-input-row{align-items:center;gap:var(--space-5);display:flex}.sign-in-input-column{gap:var(--space-5);flex-direction:column;display:flex}.sign-in-text-input{width:100%;min-width:0;padding:var(--space-9) var(--space-9);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);font-size:var(--font-size-xl);background:var(--color-bg-surface);color:var(--color-text-primary);box-sizing:border-box;outline:none}.sign-in-text-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring)}.sign-in-text-input:disabled{background:var(--color-bg-disabled);color:var(--color-text-disabled)}.sign-in-link-btn{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:none;padding:0}.sign-in-link-btn:disabled{color:var(--color-text-muted);cursor:not-allowed}.sign-in-qr-panel{padding:var(--space-9);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-sunken);align-items:center;gap:var(--space-7);flex-direction:column;display:flex}.sign-in-qr-placeholder{border-radius:var(--radius-xl);background:repeating-linear-gradient(45deg, var(--color-bg-hover), var(--color-bg-hover) 12px, var(--color-bg-active) 12px, var(--color-bg-active) 24px);width:176px;height:176px;color:var(--color-text-secondary);font-size:var(--font-size-md);text-align:center;padding:var(--space-8);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.sign-in-qr-actions{align-items:center;gap:var(--space-6);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.native-signer-btn{justify-content:center;align-items:center;gap:var(--space-6);width:100%;padding:var(--space-8) var(--space-9);border-radius:var(--radius-lg);background:var(--color-accent-gradient);color:var(--color-text-on-accent);cursor:pointer;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border:none;display:flex}.native-signer-btn:hover{background:var(--color-accent-hover)}.native-signer-btn:disabled{cursor:not-allowed;opacity:.7}.native-signer-icon,.native-signer-fallback{border-radius:var(--radius-md);flex-shrink:0;width:28px;height:28px}.native-signer-icon{object-fit:cover}.native-signer-fallback{color:#111;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);background:#fff;justify-content:center;align-items:center;display:inline-flex}.sign-in-btn{padding:var(--space-8) var(--space-10);background:var(--color-accent-gradient);color:var(--color-text-on-accent);border-radius:var(--radius-lg);cursor:pointer;box-shadow:var(--shadow-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);border:none;font-size:15px}.sign-in-btn:hover{background:var(--color-accent-hover)}.sign-in-btn-block{width:100%}.sign-in-hint{padding-top:var(--space-2);margin-top:var(--space-9);font-size:var(--font-size-base);color:var(--color-text-secondary)}.sign-in-error{margin-top:var(--space-7);padding:var(--space-6) var(--space-7);border-radius:var(--radius-lg);background:var(--color-danger-subtle);color:var(--color-danger);text-align:left;font-size:var(--font-size-base);line-height:1.45}@media (max-width:768px){.sign-in-card{padding:var(--space-14) var(--space-9) var(--space-16);border-radius:var(--radius-xl)}.sign-in-choice-btn{font-size:var(--font-size-md);padding:var(--space-8) var(--space-9)}.sign-in-generated-actions{flex-direction:column}.sign-in-input-row{flex-direction:column;align-items:stretch}.sign-in-input-row .sign-in-btn,.sign-in-input-column .sign-in-btn{width:100%}.sign-in-qr-actions{text-align:center;gap:var(--space-3);flex-direction:column}.sign-in-remote-header{text-align:center;justify-items:center;gap:var(--space-5);grid-template-columns:1fr}}.loader{aspect-ratio:1;--g1:conic-gradient(from 90deg at 3px 3px, #0000 90deg, var(--color-text-primary) 0);--g2:conic-gradient(from -90deg at 22px 22px, #0000 90deg, var(--color-text-primary) 0);background:var(--g1), var(--g1), var(--g1), var(--g2), var(--g2), var(--g2);background-repeat:no-repeat;background-size:25px 25px;width:55px;animation:1.5s infinite l7}@keyframes l7{0%{background-position:0 0,0 100%,100% 100%}25%{background-position:100% 0,0 100%,100% 100%}50%{background-position:100% 0,0 0,100% 100%}75%{background-position:100% 0,0 0,0 100%}to{background-position:100% 100%,0 0,0 100%}}.file-list-toolbar{align-items:center;gap:var(--space-5);margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border);display:flex}.file-list-toolbar-actions{align-items:center;gap:var(--space-5);display:flex}.search-wrap{flex:1;position:relative}.search-icon{left:var(--space-5);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{width:100%;height:var(--layout-control-height);padding:0 var(--space-6) 0 34px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);background:var(--color-bg-sunken);outline:none}.search-input:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-focus-ring)}.sort-select{height:var(--layout-control-height);padding:0 var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg-sunken);color:var(--color-text-primary);cursor:pointer;outline:none;flex-shrink:0;font-family:inherit}.sort-select:hover{border-color:var(--color-border-hover)}.sort-select:focus{border-color:var(--color-accent);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-focus-ring)}.bulk-select-toggle{white-space:nowrap}.view-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;overflow:hidden}.view-btn{cursor:pointer;width:36px;height:36px;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.view-btn.active{background:var(--color-accent-subtle);color:var(--color-accent)}.view-btn:hover:not(.active){background:var(--color-bg-hover)}@media (max-width:768px){.file-list-toolbar{flex-direction:column;align-items:stretch}.file-list-toolbar-actions{justify-content:space-between}}.file-list-view{gap:var(--space-3);flex-direction:column;display:flex}.file-list-view .file-card{padding:var(--space-4) var(--space-7)}.file-grid{gap:var(--space-8);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.file-tile{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);cursor:default;transition:box-shadow var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);flex-direction:column;display:flex;position:relative;overflow:visible}.file-tile.selected{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring), 0 6px 20px color-mix(in srgb, var(--color-accent) 28%, transparent)}.file-tile:hover .file-select{opacity:1}.file-select-tile{z-index:3;position:absolute;top:10px;left:10px}.file-tile:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover);z-index:2}.file-tile.menu-open{z-index:50}.file-tile-preview{aspect-ratio:1;background:var(--color-bg-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.file-tile-preview.menu-open{overflow:visible}.file-tile-img{object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:100%;display:block}.file-tile-icon-fallback{justify-content:center;align-items:center;gap:var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;width:100%;height:100%}.file-tile-emoji{font-size:40px;line-height:1}.file-tile-ext{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-muted);letter-spacing:.5px}.file-tile-icon-fallback[data-type=img]{background:var(--color-filetype-img-bg)}.file-tile-icon-fallback[data-type=img] .file-tile-ext{color:var(--color-filetype-img-fg)}.file-tile-icon-fallback[data-type=pdf]{background:var(--color-filetype-pdf-bg)}.file-tile-icon-fallback[data-type=pdf] .file-tile-ext{color:var(--color-filetype-pdf-fg)}.file-tile-icon-fallback[data-type=vid]{background:var(--color-filetype-vid-bg)}.file-tile-icon-fallback[data-type=vid] .file-tile-ext{color:var(--color-filetype-vid-fg)}.file-tile-overlay{justify-content:flex-end;align-items:flex-end;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;transition:opacity var(--motion-fast);pointer-events:none;background:#00000073;display:flex;position:absolute;inset:0}.file-tile:hover .file-tile-overlay,.file-tile.menu-open .file-tile-overlay{opacity:1;pointer-events:auto}.tile-action-btn{color:#111;border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;font-size:var(--font-size-lg);background:#ffffffe6;border:none;justify-content:center;align-items:center;display:flex;position:relative}.tile-action-btn:hover{background:#fff}.tile-action-btn:disabled{opacity:.5;cursor:default}.tile-menu{z-index:60;margin:0;top:calc(100% + 8px);bottom:auto;right:-18px}.file-tile-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;gap:2px;display:flex}.file-tile-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);overflow:hidden}.file-tile-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-family-meta)}.file-tile-footer .file-server-badge{align-self:flex-start;margin-top:2px;margin-left:0}.rename-input{width:100%;padding:var(--space-5) var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-md);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);outline:none}.rename-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring);background:var(--color-bg-surface)}.rename-dialog-actions{justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-8);display:flex}.rename-btn{padding:var(--space-4) var(--space-7);background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background var(--motion-fast);border:none}.rename-btn:hover{background:var(--color-accent-hover)}.cancel-btn{padding:var(--space-4) var(--space-7);background:var(--color-bg-active);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);transition:background var(--motion-fast);border:none}.cancel-btn:hover{background:var(--color-border-strong)}.folder-row{align-items:center;gap:var(--space-6);width:100%;padding:var(--space-4) var(--space-7);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:inherit;cursor:pointer;text-align:left;display:flex}.folder-row:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);box-shadow:var(--shadow-xs)}.folder-row.drag-over{background:var(--color-accent-subtle);border-color:var(--color-accent)}.folder-row-icon{background:var(--color-bg-subtle);border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.folder-row-icon svg{width:22px;height:16px}.folder-row-info{flex:1;min-width:0}.folder-row-name{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.folder-row-meta{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-family-meta)}.folder-tile{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);cursor:pointer;transition:box-shadow var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);text-align:left;color:inherit;flex-direction:column;padding:0;display:flex;overflow:hidden}.folder-tile:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.folder-tile.drag-over{background:var(--color-accent-subtle);border-color:var(--color-accent);box-shadow:var(--shadow-md)}.folder-tile-preview{aspect-ratio:1;background:var(--color-bg-subtle);justify-content:center;align-items:center;width:100%;display:flex}.folder-tile-icon{width:54px;height:36px;color:var(--color-text-secondary)}.folder-tile-footer{padding:var(--space-5);flex-direction:column;gap:2px;display:flex}.folder-tile-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.folder-tile-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.toast-container{top:var(--space-8);align-items:center;gap:var(--space-4);z-index:var(--z-toast);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--space-5);background:var(--color-bg-inverse);color:var(--color-text-inverse-surface);padding:var(--space-5) var(--space-8);border-radius:var(--radius-lg);font-size:var(--font-size-base);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:auto;animation:.2s toast-in;display:flex}.toast-success{background:var(--color-success-solid)}.toast-error{background:var(--color-danger-solid)}.toast-info{background:var(--color-bg-inverse)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast-action{border:1px solid color-mix(in srgb, var(--color-text-inverse-surface) 40%, transparent);color:var(--color-text-inverse-surface);border-radius:var(--radius-sm);padding:2px var(--space-6);font-size:var(--font-size-sm);cursor:pointer;background:0 0}.toast-action:hover{background:color-mix(in srgb, var(--color-text-inverse-surface) 15%, transparent)}.toast-close{color:color-mix(in srgb, var(--color-text-inverse-surface) 75%, transparent);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.toast-close:hover{color:var(--color-text-inverse-surface)}
