/* 2026-10-19：统一文件工作台；现役题面、云端服务与导出不改协议。 */
@import url('./sidebar.css');
@import url('./editor.css');
@import url('./panes.css');
@import url('./sync.css');

.workspace-shell { height: 100dvh; min-height: 0; overflow: hidden; }
.workspace-body { min-width: 0; display: flex; flex-direction: column; height: 100dvh; background: var(--ws-surface); }
.workspace-main { display: flex; flex-direction: column; flex: 1; min-height: 0; width: 100%; max-width: none; padding: 0; margin: 0; }
.workspace-main > .feedback { flex-shrink: 0; margin: var(--ws-space-3) var(--ws-space-6) 0; padding: var(--ws-space-3) var(--ws-space-4); }
.workspace-main > .feedback.is-empty { display: none; }
.workspace-surface { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.workbench-topbar { flex-shrink: 0; min-height: var(--ws-workbench-header); display: flex; align-items: center; justify-content: space-between; gap: var(--ws-space-3); padding: var(--ws-space-2) var(--ws-space-3); background: var(--ws-surface); border-bottom: var(--ws-border-width) solid var(--ws-border); }
.workbench-title { display: flex; align-items: center; gap: var(--ws-space-3); min-width: 0; }
.workspace-label { color: var(--ws-muted); font-size: var(--ws-small); letter-spacing: var(--ws-header-label-spacing); padding-right: var(--ws-space-3); border-right: var(--ws-border-width) solid var(--ws-border); }
.workbench-title h1 { font-size: var(--ws-subtitle); font-weight: 600; }
.workbench-top-actions { display: flex; align-items: center; gap: var(--ws-space-2); }
.workspace-window-tabs { display: flex; align-items: center; gap: var(--ws-space-1); flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.workspace-window-tab-wrap { display: flex; align-items: center; flex: 0 1 auto; min-width: var(--ws-window-tab-min); max-width: var(--ws-window-tab-width); border: var(--ws-border-width) solid transparent; border-radius: var(--ws-radius-sm); }
.workspace-window-tab-wrap.is-active { background: var(--ws-gold-soft); border-color: var(--ws-border); }
.workspace-window-tab-wrap .workspace-window-tab { flex: 1; min-width: 0; border: 0; background: transparent; }
.workspace-window-tab-wrap .window-tab-close { margin-right: var(--ws-space-1); }
.workspace-window-tab { display: inline-flex; align-items: center; gap: var(--ws-space-2); min-width: var(--ws-window-tab-min); max-width: var(--ws-window-tab-width); min-height: var(--ws-control); border: var(--ws-border-width) solid transparent; border-radius: var(--ws-radius-sm); padding: var(--ws-space-2) var(--ws-space-3); background: transparent; color: var(--ws-secondary); text-align: left; }
.workspace-window-tab:hover { background: var(--ws-sidebar); }
.workspace-window-tab.is-active { background: var(--ws-gold-soft); border-color: var(--ws-border); color: var(--ws-accent); }
.window-tab-title { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.window-tab-close { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: var(--ws-space-6); height: var(--ws-space-6); padding: var(--ws-space-1); border: 0; border-radius: var(--ws-radius-sm); background: transparent; color: var(--ws-muted); }
.window-tab-close:hover { color: var(--ws-accent); background: var(--ws-hover); }
.window-tab-close .icon { width: var(--ws-space-4); height: var(--ws-space-4); }
.workbench-top-actions > .button, .export-menu summary { min-height: var(--ws-icon-button); padding: var(--ws-space-2) var(--ws-space-4); border-radius: var(--ws-radius-sm); }
.export-menu { position: relative; }
.export-menu summary { cursor: pointer; list-style: none; user-select: none; }
.export-menu summary::-webkit-details-marker { display: none; }
.export-menu summary.icon-button { padding: var(--ws-space-1); }
.export-options { position: absolute; top: calc(100% + var(--ws-space-2)); right: 0; z-index: 25; min-width: var(--ws-menu-width); padding: var(--ws-space-2); border: var(--ws-border-width) solid var(--ws-border); border-radius: var(--ws-radius); background: var(--ws-surface); box-shadow: var(--ws-tray-shadow); }
.export-options button { display: flex; align-items: center; gap: var(--ws-space-3); width: 100%; min-height: var(--ws-control); border: 0; border-radius: var(--ws-radius-sm); background: transparent; padding: var(--ws-space-3); text-align: left; }
.export-options button:hover { background: var(--ws-hover); }
.export-options button > span { margin-left: auto; color: var(--ws-muted); font-size: var(--ws-small); }
.settings-dialog .dialog-header { padding: var(--ws-space-3) var(--ws-space-4); }
.settings-navigation-group { display: flex; flex-direction: column; gap: var(--ws-space-1); }
.settings-navigation-group + .settings-navigation-group { padding-top: var(--ws-space-5); margin-top: var(--ws-space-3); border-top: var(--ws-border-width) solid var(--ws-border); }
.settings-group-label { padding: var(--ws-space-2) var(--ws-space-3); color: var(--ws-muted); font-size: var(--ws-tiny); }
.settings-dialog .settings-section-title { margin-bottom: var(--ws-space-4); }
.settings-dialog .settings-navigation { padding-top: var(--ws-space-4); }
.settings-dialog .settings-navigation button { min-height: var(--ws-control); }
.dialog.cloud-picker-dialog { max-width: var(--ws-picker-width); }
.cloud-picker-description { margin-top: var(--ws-space-1); font-size: var(--ws-small); color: var(--ws-muted); }
.cloud-picker-layout { display: grid; grid-template-columns: var(--ws-picker-navigation) minmax(0,1fr); min-height: var(--ws-picker-height); max-height: calc(100dvh - var(--ws-space-12) - var(--ws-space-10)); overflow: hidden; }
.cloud-picker-tree { overflow-y: auto; padding: var(--ws-space-4) var(--ws-space-3); border-right: var(--ws-border-width) solid var(--ws-border); background: var(--ws-sidebar); }
.cloud-tree-empty { display: block; padding: var(--ws-space-3); color: var(--ws-muted); }
.cloud-picker-content { min-width: 0; overflow-y: auto; padding: var(--ws-space-5); }
.cloud-picker-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ws-space-2); min-height: var(--ws-icon-button); margin-bottom: var(--ws-space-4); color: var(--ws-muted); }
.cloud-picker-breadcrumbs > button:not(.icon-button) { background: transparent; border: 0; padding: var(--ws-space-1); color: var(--ws-secondary); text-align: left; overflow-wrap: anywhere; }
.cloud-refresh { margin-left: auto; }
.cloud-picker-files { display: flex; flex-direction: column; gap: var(--ws-space-2); }
.cloud-file-row, .cloud-folder-row { display: flex; align-items: center; gap: var(--ws-space-3); min-width: 0; min-height: var(--ws-pane-header); padding: var(--ws-space-3); border: var(--ws-border-width) solid var(--ws-border); border-radius: var(--ws-radius-sm); background: var(--ws-surface); cursor: pointer; text-align: left; }
.cloud-file-row:hover, .cloud-folder-row:hover { background: var(--ws-sidebar); border-color: var(--ws-border-strong); }
.cloud-file-row.is-selected { background: var(--ws-selected); border-color: var(--ws-border-strong); }
.cloud-file-row.is-unavailable { cursor: default; color: var(--ws-muted); }
.cloud-file-row input { flex-shrink: 0; width: var(--ws-space-4); height: var(--ws-space-4); accent-color: var(--ws-accent); }
.cloud-file-mark { display: grid; place-items: center; width: var(--ws-space-8); height: var(--ws-space-8); flex-shrink: 0; border-radius: var(--ws-radius-sm); background: var(--ws-gold-soft); color: var(--ws-gold); }
.cloud-file-info { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: var(--ws-space-1); }
.cloud-file-info strong { font-weight: 500; overflow-wrap: anywhere; }
.cloud-file-info > span, .cloud-file-count { font-size: var(--ws-small); color: var(--ws-muted); overflow-wrap: anywhere; }
.cloud-file-count { flex-shrink: 0; }
.cloud-folder-row > .icon:first-child { color: var(--ws-gold); }
.cloud-folder-row > span { flex: 1; overflow-wrap: anywhere; }
.cloud-picker-warning { margin-bottom: var(--ws-space-4); padding: var(--ws-space-3); color: var(--ws-secondary); background: var(--ws-gold-soft); border-radius: var(--ws-radius-sm); font-size: var(--ws-small); }
.cloud-picker-more { display: flex; margin: var(--ws-space-4) auto 0; }
.cloud-picker-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--ws-space-4); min-height: var(--ws-pane-empty-height); text-align: center; color: var(--ws-muted); }
.cloud-picker-empty > .icon { width: var(--ws-space-8); height: var(--ws-space-8); color: var(--ws-gold); }
.cloud-picker-footer { align-items: center; }
.cloud-picker-footer > span { margin-right: auto; color: var(--ws-muted); font-size: var(--ws-small); }
.paper-format-controls { position: relative; }
.paper-format-controls > summary { list-style: none; cursor: pointer; }
.paper-format-controls > summary::-webkit-details-marker { display: none; }
.paper-format-controls[open] > summary { color: var(--ws-accent); background: var(--ws-gold-soft); }
.paper-format-menu { position: absolute; z-index: 35; top: calc(100% + var(--ws-space-2)); right: 0; width: min(var(--ws-format-menu-width),calc(100vw - var(--ws-space-6))); max-height: min(60dvh,var(--ws-format-menu-height)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ws-space-3); padding: var(--ws-space-4); overflow-y: auto; border: var(--ws-border-width) solid var(--ws-border); border-radius: var(--ws-radius); background: var(--ws-surface); box-shadow: var(--ws-tray-shadow); }
.paper-format-field { display: grid; min-width: 0; gap: var(--ws-space-1); color: var(--ws-secondary); font-size: var(--ws-small); }
.paper-format-field > :is(select,input:not([type="checkbox"])) { width: 100%; min-width: 0; min-height: var(--ws-icon-button); padding: var(--ws-space-1) var(--ws-space-2); border: var(--ws-border-width) solid var(--ws-border); border-radius: var(--ws-radius-sm); background: var(--ws-surface); }
.paper-format-field:has(input[type="checkbox"]) { grid-column: 1/-1; grid-template-columns: minmax(0,1fr) auto; align-items: center; min-height: var(--ws-icon-button); }
@media (max-width: 760px) {
  .workspace-body { height: 100dvh; }
  .mobile-header { flex-shrink: 0; background: var(--ws-surface); }
  .workspace-main { padding: 0; }
  .workbench-topbar { min-height: var(--ws-pane-header); padding: var(--ws-space-1) var(--ws-space-2); gap: var(--ws-space-1); }
  .workspace-label { display: none; }
  .workbench-title h1 { font-size: var(--ws-brand-text); }
  .workbench-top-actions { gap: var(--ws-space-1); }
  .workspace-window-tab { min-width: var(--ws-window-tab-min); padding: var(--ws-space-2); }
  .workbench-top-actions { flex-shrink: 0; }
  .paper-format-field > :is(select,input:not([type="checkbox"])) { font-size: var(--ws-mobile-input-font); }
  .workbench-top-actions > .button, .export-menu summary { padding: var(--ws-space-2) var(--ws-space-3); }
  .settings-navigation-group { flex-direction: row; }
  .settings-navigation-group + .settings-navigation-group { margin: 0; padding: 0 0 0 var(--ws-space-2); border-top: 0; border-left: var(--ws-border-width) solid var(--ws-border); }
  .settings-group-label { display: none; }
  .cloud-picker-layout { grid-template-columns: minmax(0,1fr); min-height: var(--ws-pane-empty-height); }
  .cloud-picker-tree { display: none; }
  .cloud-picker-content { padding: var(--ws-space-3); }
  .cloud-picker-footer { flex-wrap: wrap; gap: var(--ws-space-2); }
  .cloud-picker-footer > span { width: 100%; }
  .cloud-file-row { gap: var(--ws-space-2); padding: var(--ws-space-3) var(--ws-space-2); }
  .cloud-file-mark { display: none; }
  .cloud-file-count { max-width: var(--ws-space-10); text-align: right; }
}
@media print {
  .workbench-topbar, .pane-heading, .pane-preview { display: none !important; }
  .workspace-shell, .workspace-body, .workspace-main, .workspace-surface, .workbench-panes, .pane-paper, .pane-scroll { display: block; height: auto; overflow: visible; padding: 0; margin: 0; border: 0; }
}
