.file-browser{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);overflow:hidden}
.file-browser[open]{display:flex;flex-direction:column}.file-browser::backdrop{background:#0007;backdrop-filter:blur(3px)}
.files-header{display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 14px;border-bottom:1px solid var(--line)}.files-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-header>svg{color:var(--muted);width:19px}.files-header>button:not(.icon-button){font-size:12px;padding:6px 10px}
.files-tabs{display:flex;flex-shrink:0;min-height:0;overflow-x:auto;background:var(--surface-soft);border-bottom:1px solid var(--line)}.files-tabs:not(.has-files){display:none}.files-tab.files-directory-tab,.files-tab-info{display:none}.files-tab-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-tab{display:flex;align-items:center;flex-shrink:0;border-right:1px solid var(--line);max-width:260px}.files-tab.active{background:var(--surface);box-shadow:inset 0 -2px var(--accent)}.files-tab>button{border:0;background:transparent;border-radius:0}.files-tab>[role=tab]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;padding:11px 8px 11px 14px}.files-tab>.icon-button{min-width:28px;width:28px;height:30px}.files-tab .lucide{width:14px}
.files-body{display:flex;flex:1;min-height:0}.files-sidebar{width:260px;min-width:210px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--surface)}
.files-crumbs{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:10px 12px;font-size:12px;max-height:110px;overflow:auto;border-bottom:1px solid var(--line)}.files-crumbs button{padding:2px 4px;border:0;border-radius:4px;overflow-wrap:anywhere;font-size:12px}.files-crumbs span{color:var(--muted)}
.files-directory-tools{display:flex;gap:4px;align-items:center;padding:10px}.files-directory-tools input{margin:0;min-width:0;font-size:12px;padding:7px 8px}.files-directory-tools .icon-button{min-width:30px;width:30px;height:32px}
.files-tree{overflow:auto;flex:1;padding:0 8px 16px}.files-tree-row{display:flex;align-items:center;min-height:33px}.files-tree-row>.icon-button{min-width:23px;width:23px;height:29px}.files-tree-row>.icon-button svg{width:13px}.files-tree-spacer{width:23px;flex-shrink:0}
.files-tree-item{min-width:0;display:flex;align-items:center;gap:7px;border:0;background:transparent;border-radius:6px;padding:7px 5px;text-align:left;flex:1;font-size:12px}.files-tree-item>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.files-tree-item svg{flex-shrink:0;width:15px;height:15px;color:var(--muted)}.files-tree-item[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.files-tree-message{padding:12px;font-size:12px;color:var(--muted)}
.files-main{display:flex;flex:1;min-width:0;flex-direction:column;min-height:0}.files-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 14px;min-height:51px;border-bottom:1px solid var(--line)}.files-toolbar:empty{display:none}.files-file-name{flex:1;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.files-file-name small{margin-top:2px}.files-download{font-size:12px;white-space:nowrap;border:1px solid var(--line);padding:7px 10px;border-radius:8px}.files-toolbar button,.files-toolbar select{font-size:12px;padding:6px 9px;width:auto;margin:0}.files-toolbar .icon-button{padding:4px}
.files-preview{flex:1;min-height:0;min-width:0;overflow:auto;position:relative;background:var(--bg)}.files-empty{min-height:100%;display:flex;align-items:center;justify-content:center;padding:30px;color:var(--muted);font-size:14px;text-align:center}.files-problem{padding:24px;text-align:center;color:var(--muted);overflow-wrap:anywhere}.files-tree .files-problem{padding:10px;font-size:12px}.files-problem p{margin-bottom:10px}
.files-root-dialog{width:min(560px,calc(100vw - 24px));max-height:80dvh}.files-root-choice{display:block;width:100%;text-align:left;margin:8px 0;padding:13px}.files-root-choice small{overflow-wrap:anywhere;white-space:normal}
.files-media{display:flex;align-items:center;justify-content:center;min-height:100%;padding:24px;overflow:auto}.files-media img{max-width:100%;max-height:calc(100dvh - 210px);object-fit:contain;transform-origin:center}.files-media video{max-width:100%;max-height:calc(100dvh - 200px);background:#111}.files-media audio{width:min(600px,100%)}
.files-text{margin:0;padding:16px 20px;min-height:100%;min-width:100%;width:max-content;max-height:none;overflow:visible;white-space:pre;font:13px/1.7 "Cascadia Code",Consolas,monospace;background:var(--surface);border-radius:0;counter-reset:line}.files-code-line{display:block;min-height:1.7em}.files-code-line::before{counter-increment:line;content:counter(line);display:inline-block;width:4ch;margin-right:18px;text-align:right;color:var(--muted);user-select:none}.files-text.wrap{white-space:pre-wrap;width:auto;overflow-wrap:anywhere}.files-text .hljs-keyword,.files-text .hljs-selector-tag{color:#a73eb0}.files-text .hljs-string,.files-text .hljs-title{color:#258551}.files-text .hljs-number,.files-text .hljs-literal{color:#b86a21}.files-text .hljs-comment{color:var(--muted)}
.files-markdown{max-width:960px;margin:auto;padding:28px;background:var(--surface);min-height:100%;overflow-wrap:anywhere}.files-markdown img{max-width:100%;height:auto}.files-markdown pre{max-height:none}.files-truncated{margin:0;padding:10px 16px;color:var(--danger);background:var(--surface-soft);font-size:12px}
.files-pages{padding:20px;display:flex;align-items:center;flex-direction:column;gap:16px}.files-page{background:#fff;position:relative;box-shadow:0 2px 12px #0002;flex-shrink:0;overflow:hidden}.files-page canvas{display:block;width:100%;height:100%}.files-page-status{position:absolute;inset:0;display:grid;place-content:center;font-size:13px;color:#777;pointer-events:none}.files-pages-controls{display:flex;align-items:center;gap:6px}.files-pages-controls input{width:58px;margin:0;padding:5px;text-align:center;font-size:12px}.files-pages-controls span{white-space:nowrap;font-size:12px}
.files-sheet-tabs{display:flex;gap:5px;max-width:100%;overflow-x:auto}.files-sheet-tabs button{white-space:nowrap}.files-sheet-tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.files-sheet-shell{height:100%;display:flex;flex-direction:column}.files-sheet-scroll{position:relative;flex:1;overflow:auto;background:white;min-height:0}.files-sheet-canvas{position:sticky;left:0;top:0;display:block;z-index:1}.files-sheet-space{pointer-events:none}.files-cell-value{display:flex;gap:8px;padding:7px 12px;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;font-size:12px}.files-cell-value input{margin:0;min-width:0;font-size:12px;padding:5px}.files-cell-value button{white-space:nowrap;font-size:12px;padding:5px}.files-cell-value label{white-space:nowrap;margin:0}
@media(max-width:700px){.file-browser{width:100vw;height:100dvh;margin:0;max-width:100vw;max-height:100dvh;border:0;border-radius:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.files-header{padding:8px 10px;gap:8px}.files-title{font-size:13px}.files-sidebar{width:100%;min-width:0;border:0}.files-body{position:relative}.files-main,.files-sidebar{position:absolute;inset:0}.files-main{display:flex;visibility:hidden;pointer-events:none}.files-sidebar{visibility:visible;pointer-events:auto}.files-show-preview .files-sidebar{visibility:hidden;pointer-events:none}.files-show-preview .files-main{visibility:visible;pointer-events:auto}.files-toolbar{padding:7px 9px;gap:6px}.files-download{font-size:11px;padding:7px}.files-tabs{min-height:40px}.files-file-name{font-size:12px}.files-markdown{padding:18px}.files-pages{padding:12px}.files-media{padding:12px}.files-tree-item{font-size:14px;min-height:39px}.files-directory-tools input{font-size:14px}.files-pages-controls{width:100%;justify-content:center}.files-text{font-size:12px;padding:12px 8px}.files-code-line::before{margin-right:10px}.files-root-dialog{padding:18px}}

.files-pages{width:max-content;min-width:100%}.files-pages-controls button{white-space:nowrap;flex-shrink:0;min-width:29px}.files-pages-controls input{width:44px;flex-shrink:0}.files-pages-controls{overflow-x:auto}.files-pages-controls button:not(:last-child){font-size:18px;line-height:1;padding:6px 9px}

@media(max-width:700px){.files-tabs,.files-tabs:not(.has-files){display:flex;min-height:44px}.files-tab{width:188px;min-width:140px;max-width:220px;height:44px}.files-tab>[role=tab]{display:flex;flex-direction:column;align-items:stretch;justify-content:center;flex:1;min-width:0;height:44px;padding:4px 10px;text-align:left;font-size:13px}.files-tab-name{line-height:18px}.files-tab-info{display:block;margin-top:1px;font-size:11px;line-height:15px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-tab>.icon-button{flex:none;min-width:32px;width:32px;height:40px;margin-right:2px}.files-tab.files-directory-tab{display:flex;width:64px;min-width:64px;max-width:64px}.files-directory-tab>[role=tab]{padding:0 12px;align-items:center;text-align:center}.files-toolbar .files-file-name{display:none}}
.files-image-stage{position:absolute;inset:0;overflow:hidden;min-width:0;min-height:0;touch-action:none}
.files-image-stage>img{display:block;max-width:100%;max-height:100%;visibility:hidden}
.files-image-stage .viewer-container{background:var(--surface-soft)}
.files-image-stage .viewer-canvas{touch-action:none}
