:root { font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif; font-synthesis:none; }
* { box-sizing:border-box; }
html,body { margin:0; width:100%; height:100%; overflow:hidden; }
body { display:grid; grid-template-rows:auto minmax(0,1fr); height:100dvh; }
#workspaceContent { position:relative; min-width:0; min-height:0; }
.workspace-frame { position:absolute; inset:0; width:100%; height:100%; border:0; visibility:hidden; pointer-events:none; }
.workspace-frame[data-active] { visibility:visible; pointer-events:auto; }
#navigationProgress { position:fixed; top:var(--site-header-height,80px); left:0; right:0; height:3px; overflow:hidden; background:var(--theme-accent,#14745e); color:transparent; z-index:70; }
#navigationProgress[hidden] { display:none; }
#navigationError { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); z-index:80; width:max-content; max-width:calc(100% - 32px); display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 18px; background:var(--theme-surface,#fff); color:var(--theme-control-text,#20332f); border:1px solid var(--theme-border,#cbd6cc); border-radius:6px; box-shadow:0 6px 24px #0002; font-size:14px; }
#navigationError[hidden] { display:none; }
#navigationError button { font:inherit; padding:7px 10px; border:1px solid var(--theme-border,#cbd6cc); border-radius:4px; background:var(--theme-surface,#fff); color:inherit; cursor:pointer; }
#workspacePrint { display:none; }
@media print {
  html,body { display:block; height:auto; overflow:visible; }
  #workspaceContent,#navigationProgress,#navigationError { display:none; }
  #workspacePrint { display:block; }
}
