/* A familiar Explorer layout, backed only by the folders the user selects. */
.fs-drive-section { text-align: left; margin: 28px 0 20px; width: 100%; }
.fs-drive-section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; gap: 10px; }
.fs-drive-section-heading h2 { font-size: 14px; margin: 0; color: #536c85; }
.fs-drive-section-heading button { display: flex; gap: 5px; align-items: center; color: #4b7fae; font-size: 12px; padding: 6px; }
.fs-drive-section-heading .icon { width: 14px; height: 14px; }
.fs-drive-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 12px; }
.fs-drive-card { min-width: 0; border: 1px solid #dfE7ef; border-radius: 10px; background: #fff; overflow: hidden; }
.fs-drive-main { display: flex; align-items: center; width: 100%; gap: 15px; padding: 20px 16px; text-align: left; }
.fs-drive-main:hover { background: #f2f7fd; }.fs-drive-main > span:last-child { min-width: 0; }
.fs-drive-main strong { display: block; font-size: 14px; font-weight: 600; color: #3e5b78; overflow-wrap: anywhere; }
.fs-drive-main small { display: block; color: #8498ab; font-size: 12px; margin-top: 7px; overflow-wrap: anywhere; line-height: 1.5; }
.fs-drive-main em { display: block; font-size: 12px; font-style: normal; color: #7896b1; margin-top: 8px; }
.fs-drive-device { display: flex; flex-direction: column; align-items: center; gap: 2px; color: #7b94b0; flex-shrink: 0; }
.fs-drive-device > .icon { width: 43px; height: 43px; stroke-width: 1.2; fill: #f1f6fd; }.fs-drive-device b { font-size: 12px; color: #5b7a9c; }
.fs-drive-card-actions { display: flex; justify-content: flex-end; gap: 9px; padding: 7px 10px; background: #f8fafd; border-top: 1px solid #ecf1f6; }
.fs-drive-card-actions > button { display: flex; align-items: center; gap: 5px; font-size: 12px; color: #8294a7; padding: 5px; }
.fs-drive-card-actions > button:hover { background: #e9f1fb; color: #4475ad; }.fs-drive-card-actions .icon { width: 12px; height: 12px; }
.fs-drive-dialog { width: min(500px,calc(100vw - 32px)); padding: 26px; border: 1px solid #dce7f1; border-radius: 16px; background: #fbfdff; color: #34506c; box-shadow: 0 24px 100px #1c355842; }
.fs-drive-dialog::backdrop { background: #172b4955; backdrop-filter: blur(5px); }
.fs-drive-dialog-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 23px; }.fs-drive-dialog-heading h2 { margin: 0 0 6px; font-size: 20px; }.fs-drive-dialog-heading p { margin: 0; font-size: 13px; color: #8b9db1; }
.fs-drive-dialog-heading > button { margin-left: auto; padding: 6px; border-radius: 6px; }.fs-drive-dialog-heading > button:hover { background: #e8f0fa; }
.fs-drive-dialog-icon { display: grid; place-items: center; width: 49px; height: 49px; border-radius: 13px; background: #e6f0fc; color: #5484b8; flex-shrink: 0; }.fs-drive-dialog-icon .icon { width: 27px; height: 27px; }
.fs-drive-fields { display: grid; grid-template-columns: 85px minmax(0,1fr); gap: 15px; }.fs-drive-fields label { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.fs-drive-fields input, .fs-drive-fields select { width: 100%; border: 1px solid #d5e2f0; border-radius: 8px; background: #fff; padding: 11px 10px; color: #3d5874; font-size: 15px; }
.fs-drive-selection { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px; margin-top: 20px; border: 1px dashed #cddbeb; border-radius: 9px; background: #f3f7fc; }
.fs-drive-selection > div { min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 13px; }.fs-drive-selection > div > span { overflow-wrap: anywhere; }.fs-drive-selection .icon { flex-shrink: 0; color: #6a8cae; }.fs-drive-selection > button { white-space: nowrap; flex-shrink: 0; padding: 8px 11px; font-size: 13px; }
.fs-drive-help { font-size: 12px; color: #91a0b0; line-height: 1.8; margin: 14px 0 17px; }.fs-drive-live-label { background: #eaf3ff; color: #477db6; border-radius: 7px; padding: 10px 13px; font-size: 14px; overflow-wrap: anywhere; }
.fs-drive-help { padding: 13px 14px; background: #eef4fc; border-radius: 8px; color: #617994; font-size: 13px; }
.fs-drive-help strong { display: block; color: #3c5e85; font-size: 14px; margin-bottom: 5px; }
.fs-drive-dialog button:disabled { opacity: .4; cursor: default; }
.fs-drive-error { color: #b95656; font-size: 13px; line-height: 1.7; }.fs-drive-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
@media (max-width: 520px) { .fs-drive-dialog { padding: 20px; }.fs-drive-fields input, .fs-drive-fields select { font-size: 16px; }.fs-drive-selection { flex-wrap: wrap; }.fs-drive-cards { grid-template-columns: minmax(0,1fr); } }
.window-files .window-titlebar { background: #eaf2f8; }
.file-manager { position: relative; height: 100%; min-height: 280px; display: flex; flex-direction: column; background: #fff; color: #263747; font-family: 'Segoe UI','Microsoft YaHei',sans-serif; font-size: 13px; }
.file-manager button { border-radius: 5px; }
.file-manager button:disabled { opacity: .35; }
.file-manager .icon { width: 18px; height: 18px; stroke-width: 1.5; }
.fs-tabs { display: flex; gap: 3px; align-items: end; height: 37px; flex-shrink: 0; background: #eaf2f8; padding: 2px 9px 0; overflow-x: auto; scrollbar-width: none; }
.fs-tab { flex: 0 0 204px; max-width: 220px; display: flex; align-items: center; height: 33px; border-radius: 7px 7px 0 0; position: relative; }
.fs-tab:not(.active):after { content: ''; width: 1px; height: 16px; background: #c5d4e3; position: absolute; right: -2px; }
.fs-tab.active { background: #f9fcfe; box-shadow: 0 0 0 1px #d9e5ed; }
.fs-tab > button:first-child { display: flex; align-items: center; gap: 9px; padding: 8px 10px; text-align: left; min-width: 0; flex: 1; font-size: 12px; }
.fs-tab > button:first-child .icon { color: #d5a120; width: 16px; height: 16px; }
.fs-tab > button:first-child > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-close-tab { display: grid; place-items: center; width: 25px; height: 23px; margin-right: 5px; flex-shrink: 0; color: #718393; }
.fs-close-tab .icon { width: 13px; height: 13px; }
.fs-close-tab:hover, .fs-new-tab:hover { background: #d9e7f0; }
.fs-new-tab { display: grid; place-items: center; width: 34px; height: 30px; margin: 0 4px 3px 7px; flex-shrink: 0; }
.fs-new-tab .icon { width: 15px; height: 15px; }
.fs-picker-title{display:flex;align-items:center;gap:9px;height:35px;padding:0 12px;color:#344d66}
.fs-picker-title .icon{width:17px;height:17px;color:#6a87a2}
.fs-picker-title strong{font-size:13px;font-weight:550}
.fs-navigation { display: grid; grid-template-columns: auto minmax(150px,1fr) minmax(155px,25%); gap: 13px; align-items: center; min-height: 54px; padding: 9px 14px; background: #f9fcfe; border-bottom: 1px solid #d9e7f1; flex-shrink: 0; }
.fs-nav-buttons { display: flex; gap: 3px; }
.fs-nav-buttons button { display: grid; place-items: center; width: 30px; height: 31px; color: #657784; }
.fs-nav-buttons button:hover:not(:disabled) { background: #e5edf3; }
.fs-nav-buttons .icon { width: 17px; height: 17px; }
.fs-address { min-width: 0; display: flex; align-items: center; height: 34px; background: #fff; border: 1px solid #e7edf2; border-radius: 5px; }
.fs-address > button { flex-shrink: 0; display: grid; place-items: center; width: 25px; height: 30px; margin-left: auto; color: #8b9aa9; }
.fs-address > button .icon { width: 12px; height: 12px; }
.fs-breadcrumbs { flex: 1; display: flex; align-items: center; gap: 4px; padding-left: 10px; min-width: 0; overflow-x: auto; scrollbar-width: none; white-space: nowrap; font-size: 12px; }
.fs-breadcrumbs > .icon { width: 11px; height: 11px; flex-shrink: 0; color: #8396a8; }
.fs-breadcrumbs > .icon:first-child { width: 16px; height: 16px; margin-right: 4px; color: #607d95; }
.fs-breadcrumbs > button { padding: 6px; white-space: nowrap; font-size: 12px; }
.fs-breadcrumbs > button:hover { background: #eff5fa; }
.fs-breadcrumbs > span { padding: 6px; }
.fs-address-edit { flex: 1; min-width: 0; padding: 0 8px; }
.fs-address-input { width: 100%; min-width: 0; padding: 5px; border: 0; outline: 0; background: none; font-size: 12px; }
.fs-search { min-width: 0; display: flex; align-items: center; gap: 8px; height: 34px; background: #fff; border: 1px solid #e7edf2; border-radius: 5px; padding: 5px 10px; }
.fs-search > .icon { width: 14px; height: 14px; color: #8297a8; order: 2; }
.fs-search input { width: 100%; min-width: 0; background: none; border: 0; font-size: 12px; outline: 0; color: #344d63; }
.fs-search input::placeholder { color: #8c9da9; }
.fs-commandbar { flex-shrink: 0; min-height: 49px; display: flex; align-items: center; gap: 4px; padding: 6px 13px; border-bottom: 1px solid #e6ecf2; background: white; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.fs-commandbar > button, .fs-view-buttons > button { display: flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 10px; font-size: 12px; flex-shrink: 0; }
.fs-commandbar > button:hover:not(:disabled), .fs-view-buttons button:hover { background: #edf4fb; }
.fs-commandbar > .fs-command-primary .icon { color: #c59623; }
.fs-commandbar button > .icon { width: 16px; height: 16px; color: #617f96; }
.fs-command-divider { flex-shrink: 0; width: 1px; height: 23px; background: #e8edf2; margin: 0 8px; }
.fs-sort { display: flex; align-items: center; gap: 6px; padding: 0 4px; }
.fs-sort > .icon { width: 15px; height: 15px; color: #668099; }
.fs-sort-select { background: none; border: 0; padding: 6px 2px; width: 90px; font-size: 12px; color: #536f84; }
.fs-commandbar [data-fs-action=descending] { padding: 8px 5px; }
.fs-commandbar [data-fs-action=descending][aria-pressed=true] .icon { transform: rotate(180deg); }
.fs-view-buttons { display: flex; background: #f5f8fb; border: 1px solid #edf1f5; padding: 2px; border-radius: 6px; margin-left: 5px; }
.fs-view-buttons > button { padding: 5px 8px; }
.fs-view-buttons > button[aria-pressed=true] { background: #e1edfb; color: #3c76ba; }
.fs-commandbar > .fs-preview-toggle { margin-left: auto; }
.fs-preview-toggle[aria-pressed=true] { background: #edf4fc; color: #3468a8; }
.fs-workspace { flex: 1; min-height: 0; display: grid; grid-template-columns: 174px minmax(0,1fr); }
.fs-sidebar { display: flex; flex-direction: column; gap: 3px; overflow: auto; border-right: 1px solid #edf0f4; background: #fff; padding: 20px 9px 12px; }
.fs-sidebar-link { width: 100%; display: flex; align-items: center; gap: 11px; text-align: left; padding: 9px 13px; font-size: 12px; flex-shrink: 0; }
.fs-sidebar-link .icon { width: 16px; height: 16px; color: #5197ca; flex-shrink: 0; }
.fs-sidebar-link > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fs-sidebar-link:hover { background: #f3f7fb; }
.fs-sidebar-link.active { background: #e9f1fb; color: #31669f; }
.fs-sidebar-link[data-fs-action=home] .icon { color: #da9250; }
.fs-sidebar-link[data-fs-source] .icon { color: #d6a331; }
.fs-location-history { display: grid; gap: 2px; }
.fs-location-row { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) 29px; align-items: center; }
.fs-location-row .fs-sidebar-link { min-width: 0; }
.fs-location-pin { display: grid; place-items: center; width: 27px; height: 27px; color: #9aa9b7; opacity: .3; }
.fs-location-row:hover .fs-location-pin,.fs-location-pin:focus-visible,.fs-location-pin.active { opacity: 1; }
.fs-location-pin.active { color: #3977ba; background: #e8f2fe; }
.fs-location-pin .icon { width: 14px; height: 14px; }
.fs-sidebar-heading { color: #92a0ac; font-size: 12px; padding: 15px 13px 7px; }
.fs-sidebar-divider { height: 1px; background: #e9edf2; margin: 13px 10px 0; flex-shrink: 0; }
.fs-sidebar-empty { font-size: 12px; color: #adb8c4; padding: 3px 13px 4px; margin: 0; line-height: 1.8; }
.fs-connect { color: #6d8aac; }
.fs-sidebar-bottom { display: flex; align-items: center; gap: 6px; padding: 30px 13px 0; margin-top: auto; color: #a0aebd; font-size: 12px; white-space: nowrap; }
.fs-sidebar-bottom .icon { width: 13px; height: 13px; }
.fs-body { min-width: 0; min-height: 0; position: relative; display: grid; grid-template-columns: minmax(0,1fr); overflow: hidden; }
.fs-body.with-preview { grid-template-columns: minmax(0,1fr) 267px; }
.fs-body.expanded-preview { grid-template-columns: minmax(0,1fr); }
.fs-body.expanded-preview > .fs-content { display: none; }
.fs-content { min-width: 0; overflow: auto; padding: 0 18px 20px; overscroll-behavior: contain; }
.fs-location-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 21px 4px 16px; font-size: 13px; color: #516478; }
.fs-location-title > small { font-size: 12px; color: #9ba9b7; }
.fs-entries.fs-view-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(107px,1fr)); gap: 11px 8px; align-content: start; }
.fs-entry { border: 1px solid transparent; }
.fs-entry:hover { background: #f1f7fe; }
.fs-entry.selected { background: #e8f2ff; border-color: #cfe4fa; }
.fs-view-grid .fs-entry { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 9px 5px 10px; min-height: 137px; }
.fs-entry-visual { display: grid; place-items: center; width: 85px; height: 81px; position: relative; }
.fs-folder-art { display: grid; place-items: center; width: 81px; height: 76px; }
.fs-folder-art > .icon { width: 68px; height: 68px; fill: #ffd976; stroke: #e7b343; stroke-width: 1; filter: drop-shadow(0 3px 2px #bd901516); }
.fs-file-art { width: 53px; height: 70px; position: relative; color: #a2b2c2; display: flex; flex-direction: column; align-items: center; padding-top: 3px; }
.fs-file-art > .icon { width: 50px; height: 56px; stroke-width: 1; fill: #fff; filter: drop-shadow(0 2px 1px #5774940a); }
.fs-file-art > small { position: absolute; bottom: 4px; padding: 3px 6px; border-radius: 3px; background: #93a3b5; color: #fff; font-size: 10px; font-weight: 600; letter-spacing: .4px; }
.fs-kind-image { color: #70ac87; }.fs-kind-image > small { background: #70ac87; }
.fs-kind-pdf, .fs-kind-presentation { color: #e37573; }.fs-kind-pdf > small, .fs-kind-presentation > small { background: #e37573; }
.fs-kind-video, .fs-kind-audio { color: #aa8cca; }.fs-kind-video > small, .fs-kind-audio > small { background: #aa8cca; }
.fs-kind-document, .fs-kind-design { color: #78a4d2; }.fs-kind-document > small, .fs-kind-design > small { background: #78a4d2; }
.fs-kind-spreadsheet { color: #65ab8d; }.fs-kind-spreadsheet > small { background: #65ab8d; }
.fs-kind-archive { color: #c7aa74; }.fs-kind-archive > small { background: #c7aa74; }
.fs-thumbnail { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: #fff; padding: 2px; }
.fs-entry-name { font-size: 12px; line-height: 1.55; word-break: break-all; min-width: 0; }
.fs-view-grid .fs-entry-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-align: center; width: 100%; }
.fs-view-grid .fs-entry-date, .fs-view-grid .fs-entry-type, .fs-view-grid .fs-entry-size { display: none; }
.fs-list-heading, .fs-view-list .fs-entry { display: grid; grid-template-columns: minmax(150px,1fr) 137px 113px 72px; gap: 14px; align-items: center; }
.fs-list-heading { padding: 9px 10px; border-bottom: 1px solid #e7edf3; font-size: 12px; color: #8b9dac; position: sticky; top: 0; background: #fff; z-index: 1; }
.fs-hidden { display: none !important; }
.fs-list-heading > span { border-right: 1px solid #edf1f4; }
.fs-view-list .fs-entry { width: 100%; position: relative; min-height: 42px; padding: 8px 10px; border-radius: 4px; text-align: left; }
.fs-view-list .fs-entry-visual { position: absolute; left: 8px; top: 8px; width: 26px; height: 26px; }
.fs-view-list .fs-folder-art { width: 25px; height: 25px; }
.fs-view-list .fs-folder-art > .icon { width: 24px; height: 24px; }
.fs-view-list .fs-file-art { width: 23px; height: 25px; padding: 0; }
.fs-view-list .fs-file-art > .icon { width: 21px; height: 24px; }
.fs-view-list .fs-file-art > small { display: none; }
.fs-view-list .fs-entry-name { padding-left: 31px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fs-view-list .fs-entry-date, .fs-view-list .fs-entry-type, .fs-view-list .fs-entry-size { font-size: 12px; color: #8a9bab; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fs-view-list .fs-entry-size { text-align: right; }
.fs-preview { min-width: 0; border-left: 1px solid #edf0f4; overflow-y: auto; display: flex; flex-direction: column; background: #fff; }
.fs-preview-title { display: flex; justify-content: space-between; align-items: center; padding: 18px 19px 12px; font-size: 13px; color: #778b9d; }
.fs-preview-title strong { font-weight: 500; }
.fs-preview-title > button { width: 25px; height: 25px; display: grid; place-items: center; color: #9cabb9; }
.fs-preview-title > button:hover { background: #edf3f9; }
.fs-preview-title .icon { width: 15px; height: 15px; }
.fs-preview-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; flex: 1; padding: 28px 15px; color: #a0b1c1; gap: 6px; }
.fs-preview-empty > .icon { width: 38px; height: 38px; stroke-width: 1; opacity: .55; }
.fs-preview-empty p { font-size: 12px; }
.fs-preview-content { padding: 0 20px 25px; }
.fs-preview-media { margin: 15px auto 20px; min-height: 125px; display: flex; align-items: center; justify-content: center; }
.fs-image-preview { width: 100%; max-height: 235px; object-fit: contain; border-radius: 3px; }
.fs-preview-content > h2 { font-size: 14px; font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; margin: 0; }
.fs-preview-description { color: #9caebc; font-size: 12px; margin: 4px 0 20px; }
.fs-properties { border-top: 1px solid #edf1f4; padding-top: 16px; display: flex; flex-direction: column; gap: 13px; margin-bottom: 23px; }
.fs-properties > div { display: flex; flex-direction: column; gap: 5px; }
.fs-properties dt { color: #98a8b6; font-size: 12px; }
.fs-properties dd { color: #587086; font-size: 12px; margin: 0; word-break: break-all; line-height: 1.6; }
.fs-default-app { display: grid; gap: 6px; margin: -7px 0 16px; color: #8295a8; font-size: 12px; }
.fs-default-app select { width: 100%; height: 36px; border: 1px solid #dce4eb; border-radius: 9px; background: #fff; color: #314d67; padding: 0 10px; }
[data-theme="night"] .fs-default-app select { background: #30343a; color: #edf3fb; border-color: #4b5159; }
.fs-preview-buttons { display: flex; flex-direction: column; gap: 8px; }
.fs-preview-buttons .primary-button, .fs-preview-buttons .secondary-button { font-size: 12px; padding: 9px 10px; }
.fs-preview-buttons .icon { width: 14px; height: 14px; }
.fs-preview-message { color: #91a2b5; font-size: 12px; line-height: 1.85; margin: 15px 0 0; }
.fs-text-preview { width: 100%; max-height: 280px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; text-align: left; padding: 14px; margin: 0; background: #f5f8fb; border: 1px solid #e7edf3; border-radius: 5px; color: #5c7187; font-family: Consolas,monospace; font-size: 12px; line-height: 1.8; }
.fs-media-player { max-width: 100%; max-height: 230px; width: 100%; border-radius: 5px; }
.fs-pdf-preview { display: flex; align-items: center; flex-direction: column; padding: 13px 0; }
.fs-pdf-preview p { font-size: 13px; color: #879aab; }
.fs-pdf-preview > span { font-size: 12px; color: #a3b0be; text-align: center; line-height: 1.6; }
.expanded-preview > .fs-preview { border-left: 0; }
.expanded-preview .fs-preview-title { border-bottom: 1px solid #edf1f5; padding: 13px 24px; }
.expanded-preview .fs-preview-content { max-width: 880px; width: 100%; align-self: center; padding: 16px 32px 32px; }
.expanded-preview .fs-preview-media { min-height: 180px; }
.expanded-preview .fs-image-preview, .expanded-preview .fs-media-player { max-height: 55dvh; width: auto; max-width: 100%; }
.expanded-preview .fs-text-preview { max-height: 55dvh; font-size: 14px; padding: 25px; }
.expanded-preview .fs-properties { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 22px; }
.expanded-preview .fs-preview-buttons { flex-direction: row; flex-wrap: wrap; }
.fs-statusbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-shrink: 0; height: 29px; padding: 0 16px; border-top: 1px solid #f0f3f7; font-size: 12px; color: #7590a8; }
.fs-status-mode { color: #a2b2c2; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fs-status-info { white-space: nowrap; flex-shrink: 0; }
.fs-pickerbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,.65fr) auto;align-items:end;gap:10px 13px;padding:11px 15px 12px;border-top:1px solid #dce4ec;background:#f8fafc;flex-shrink:0}
.fs-pickerbar[hidden]{display:none}
.fs-pickerbar label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:12px;color:#40566c}
.fs-pickerbar input,.fs-pickerbar select{height:34px;min-width:0;border:1px solid #bfcbd7;border-radius:4px;background:#fff;color:#263c52;padding:0 9px;font-size:12px}
.fs-pickerbar>div{display:flex;gap:8px}
.fs-pickerbar button{min-width:84px;height:34px;padding:0 16px;font-size:12px;border-radius:5px}
.fs-picker-mode .fs-commandbar{display:none}
.fs-picker-mode .fs-statusbar{display:none}
.fs-picker-mode .fs-workspace{border-top:1px solid #e5ebf1}
.fs-picker-mode .fs-body.with-preview{grid-template-columns:minmax(0,1fr)}
.fs-picker-mode .fs-preview{display:none}
.pisces-file-dialog{left:50%;top:50%;transform:translate(-50%,-50%);animation:none;width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100dvh - 92px));max-width:none;max-height:none;z-index:1;background:#f8fafdef}
.pisces-file-dialog>.window-titlebar{padding-left:16px;border-bottom:1px solid #dce4ec}
.pisces-file-dialog>.window-titlebar strong{display:flex;align-items:center;gap:9px;font-size:13px;color:#243b53}
.pisces-file-dialog>.window-titlebar strong .icon{width:18px;height:18px}
.pisces-file-dialog>.window-content{display:flex;overflow:hidden}
.pisces-file-dialog .file-manager{flex:1;min-width:0;min-height:0}
.pisces-file-dialog>.window-titlebar{gap:14px;touch-action:none}
.file-picker-modes{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;padding:3px;border:1px solid #0e1825;border-radius:18px;background:#182231;box-shadow:inset 0 0 0 1px #465366;z-index:2}
.file-picker-modes button{min-width:88px;height:30px;padding:0 16px;border:0;border-radius:14px;background:transparent;color:#c7d0dc;font-size:13px;font-weight:600;line-height:30px;white-space:nowrap}
.file-picker-modes button:hover{color:#fff;background:#263244}.file-picker-modes button.active{color:#fff;background:#475365;box-shadow:0 1px 2px #0b1018aa}
.file-picker-modes button:focus-visible{outline:2px solid #6da3ff;outline-offset:2px}
.pisces-file-dialog>.window-content[hidden],.file-system-panel[hidden]{display:none}
.file-system-panel{padding:28px;display:grid;align-content:start;justify-items:start;gap:14px;flex:1;color:inherit}
.pisces-system-export{max-width:min(520px,90vw);border:1px solid #74849d;border-radius:16px;padding:24px;background:#253040;color:#fff}
.pisces-system-export p{line-height:1.6}.pisces-system-export>div{display:flex;flex-wrap:wrap;gap:10px}.pisces-system-export button{padding:10px 14px;border-radius:8px}
@media(max-width:600px){.pisces-file-dialog>.window-titlebar{gap:8px}.file-picker-modes button{min-width:69px;padding:0 10px;font-size:12px}}
.fs-pagination { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 28px 0 4px; color: #91a3b6; font-size: 12px; }
.fs-pagination button { display: flex; align-items: center; gap: 5px; padding: 7px 10px; background: #f1f6fc; color: #6d8cab; font-size: 12px; }
.fs-pagination .icon { width: 13px; height: 13px; }
.fs-empty { display: flex; align-items: center; justify-content: center; flex-direction: column; min-height: 270px; padding: 40px 20px; text-align: center; }
.fs-empty > .icon { width: 46px; height: 46px; color: #c8d7e5; stroke-width: 1; }
.fs-empty h2 { font-size: 16px; font-weight: 500; color: #6b849a; margin: 23px 0 9px; }
.fs-empty p { color: #9bacbd; font-size: 13px; line-height: 1.8; margin: 0 0 18px; }
.fs-empty .secondary-button { font-size: 13px; }
.fs-spinner { width: 25px; height: 25px; border: 2px solid #e5edf5; border-top-color: #6c9cd2; border-radius: 50%; animation: fs-spin .8s linear infinite; margin-bottom: 22px; }
.fs-load-progress { width: min(320px,72%); height: 7px; margin-bottom: 17px; accent-color: #3269ed; }
.fs-operation-progress { position: absolute; z-index: 30; inset: 0; display: grid; place-content: center; justify-items: center; gap: 15px; background: #f8fafced; color: #344d66; font-size: 13px; backdrop-filter: blur(3px); }
.fs-operation-progress progress { width: min(360px,70vw); height: 7px; accent-color: #3269ed; }
@keyframes fs-spin { to { transform: rotate(360deg); } }
.fs-home { min-height: 100%; max-width: 780px; margin: auto; display: flex; align-items: center; justify-content: flex-start; flex-direction: column; padding: 24px 28px 20px; text-align: center; }
.fs-home-hero { width:100%; display:flex; align-items:center; flex-direction:column; padding:4px 0 2px; }
.fs-home-folder { width: 78px; height: 68px; display: grid; place-items: center; border-radius: 18px; background: #fffbf1; margin-bottom: 13px; }
.fs-home-folder > .icon { width: 45px; height: 45px; fill: #ffdf88; stroke: #d5a644; stroke-width: 1; }
.fs-home-hero > h1 { font-size: 20px; font-weight: 560; letter-spacing: .2px; margin: 0 0 7px; }
.fs-home-hero > p { font-size: 12px; color: #8ca0b3; line-height: 1.55; margin: 0 0 14px; }
.fs-home-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.fs-home-actions button { min-height:34px; font-size: 12px; border-radius: 7px; padding: 8px 13px; }
.fs-home-actions .icon { width: 15px; height: 15px; }
.fs-home-note { display: flex; gap: 5px; align-items: center; justify-content: center; flex-wrap: wrap; font-size: 11px; color: #a3b1bf; margin-top: 12px; line-height: 1.55; }
.fs-home-note .icon { width: 12px; height: 12px; }
.fs-home > .fs-home-foot { font-size: 12px; color: #b4bfc9; margin: 24px 0 0; }
.fs-recent { margin-top: 36px; width: 100%; }
.fs-recent > h2 { text-align: left; font-size: 13px; font-weight: 500; color: #8b9eaf; margin: 0 0 13px; }
.fs-recent > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.fs-recent button { display: flex; align-items: center; gap: 11px; background: #f8fafc; border: 1px solid #eaf0f5; padding: 14px; text-align: left; }
.fs-recent button:hover { background: #eef5fd; }
.fs-recent .fs-folder-art { width: 34px; height: 32px; }
.fs-recent .fs-folder-art > .icon { width: 32px; height: 32px; }
.fs-recent button > span:last-of-type { flex: 1; font-size: 13px; min-width: 0; overflow-wrap: anywhere; }
.fs-recent small { display: block; margin-top: 5px; color: #a3b2bf; font-size: 12px; }
.fs-recent button > .icon:last-child { width: 13px; height: 13px; color: #a6b8c9; }
@container (max-width: 1020px) {
  .fs-workspace { grid-template-columns: 150px minmax(0,1fr); }
  .fs-body.with-preview { grid-template-columns: minmax(0,1fr) 235px; }
  .fs-body.expanded-preview { grid-template-columns: minmax(0,1fr); }
  .fs-sidebar-link { padding: 9px 8px; gap: 8px; }
  .fs-sidebar-bottom { padding-left: 7px; font-size: 12px; }
  .fs-list-heading, .fs-view-list .fs-entry { grid-template-columns: minmax(140px,1fr) 85px 65px; gap: 10px; }
  .fs-list-heading > span:nth-child(2), .fs-entry-date { display: none; }
  .fs-entry-type { grid-column: 2; }
  .fs-entry-size { grid-column: 3; }
  .fs-navigation { gap: 8px; }
  .fs-commandbar { gap: 0; padding: 6px 9px; }
  .fs-command-divider { margin: 0 4px; }
  .fs-commandbar > button { padding: 8px; }
}
@container (max-width: 800px) {
  .fs-workspace { grid-template-columns: 123px minmax(0,1fr); }
  .fs-sidebar-link { font-size: 12px; padding: 9px 6px; gap: 7px; }
  .fs-sidebar-heading, .fs-sidebar-empty { padding-left: 7px; }
  .fs-sidebar-bottom { white-space: normal; line-height: 1.7; padding-left: 6px; }
  .fs-commandbar > button > span { display: none; }
  .fs-commandbar > .fs-command-primary > span { display: inline; }
  .fs-navigation { grid-template-columns: auto minmax(120px,1fr); padding: 10px; }
  .fs-search { grid-column: 1 / -1; }
  .fs-status-mode { display: none; }
  .fs-list-heading, .fs-view-list .fs-entry { grid-template-columns: minmax(135px,1fr) 62px; gap: 8px; }
  .fs-list-heading > span:nth-child(3), .fs-view-list .fs-entry-type { display: none; }
  .fs-view-list .fs-entry-size { grid-column: 2; }
  .fs-location-title > small { display: none; }
  .fs-content { padding: 0 12px 18px; }
  .fs-home { padding: 20px 15px 18px; }
  .fs-home-hero > h1 { font-size: 19px; }
  .fs-home-actions button { padding: 8px 11px; }
  .fs-home-hero > p { font-size: 12px; }
  .fs-recent > div { grid-template-columns: 1fr; }
}
@container (max-width: 680px) {
  .fs-sidebar { display: none; }
  .fs-workspace { grid-template-columns: minmax(0,1fr); }
  .fs-body.with-preview { grid-template-columns: minmax(0,1fr); }
  .fs-body:not(.expanded-preview) > .fs-preview { display: none; }
  .fs-home { justify-content: flex-start; padding: 22px 17px; }
  .fs-home-folder { width: 72px; height: 62px; margin-bottom: 12px; }
  .fs-home-folder > .icon { width: 42px; height: 42px; }
  .fs-home-hero > p { max-width: 265px; }
  .fs-home-note { max-width: 295px; }
  .fs-commandbar { padding-left: 5px; }
  .fs-commandbar > button { padding: 8px 7px; }
  .fs-sort-select { width: 80px; }
  .fs-view-buttons { margin-left: 1px; }
  .fs-view-buttons > button { padding: 5px 6px; }
  .fs-tabs { padding-left: 5px; }
  .fs-tab { flex-basis: 180px; }
  .fs-entries.fs-view-grid { grid-template-columns: repeat(auto-fill,minmax(93px,1fr)); gap: 9px 3px; }
  .fs-location-title { padding-top: 15px; }
  .fs-body.expanded-preview .fs-preview { border-left: 0; }
  .expanded-preview .fs-preview-content { padding: 12px 22px 28px; }
  .expanded-preview .fs-properties { grid-template-columns: 1fr 1fr; gap: 16px; }
  .expanded-preview .fs-properties > div:last-child { grid-column: 1 / -1; }
  .expanded-preview .fs-preview-buttons { flex-direction: column; }
  .fs-preview-title { background: #fbfcfe; }
}
@container (max-width: 760px){.fs-pickerbar{grid-template-columns:1fr}.fs-pickerbar>div{justify-content:flex-end}.fs-pickerbar label{grid-template-columns:75px minmax(0,1fr)}}
@media (max-width:700px){.pisces-file-dialog{inset:0;transform:none;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0}.pisces-file-dialog>.window-titlebar{height:46px;flex-basis:46px}}
html[data-ui=touch] .window-files .window-titlebar { background: #f3f7fb; }
html[data-ui=touch] .fs-commandbar { min-height: 49px; }
html[data-ui=touch] .fs-entry { touch-action: manipulation; }
html[data-ui=touch] .fs-home-actions button { min-height: 44px; }
html[data-ui=touch] .fs-statusbar { height: 30px; }
@media (prefers-reduced-motion: reduce) { .fs-spinner { animation: none; } }
