/* PreDoctor web viewer workspace styles.
   Extracted from bootstrap.js (auth gate), workspace_chat.js, and
   workspace_launcher.js injected blocks; loaded after the inline token
   stylesheet in index.html so the original cascade order is preserved.
   Design tokens (--pd-*) live in index.html. */

/* -- auth gate (bootstrap.js) -- */
#viewer-auth-gate { position: fixed; inset: 0; z-index: 2147483647; display: grid;
  place-items: center; box-sizing: border-box; padding: 24px; color: var(--pd-text);
  background: var(--pd-bg);
  font-family: Roboto, "Segoe UI", Pretendard, -apple-system, BlinkMacSystemFont, sans-serif; }
#viewer-auth-gate[hidden] { display: none; }
.viewer-auth-card { width: min(420px, calc(100vw - 40px)); box-sizing: border-box; padding: 36px;
  border: 1px solid var(--pd-border); border-radius: 16px; text-align: center;
  background: var(--pd-surface); box-shadow: 0 2px 8px rgba(var(--pd-shadow-rgb), .12); }
.viewer-auth-brand { display: flex; align-items: center; justify-content: center; gap: 10px;
  margin: 0 0 24px; color: var(--pd-text); font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.viewer-auth-logo { width: 24px; height: 24px; display: block; object-fit: contain; }
.viewer-auth-title { margin: 0; color: var(--pd-text); font-size: 24px; font-weight: 500; line-height: 1.35; }
.viewer-auth-message { margin: 14px 0 0; color: var(--pd-text-secondary); font-size: 14px; line-height: 1.65; }
.viewer-auth-detail { margin: 12px 0 0; color: var(--pd-text-muted); font-size: 12px; line-height: 1.55; }
.viewer-auth-button { width: 100%; min-height: 44px; margin-top: 26px; padding: 10px 18px;
  border: 1px solid var(--pd-accent); border-radius: 8px; color: var(--pd-on-accent); background: var(--pd-accent);
  font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
  box-shadow: 0 1px 2px rgba(var(--pd-shadow-rgb), .16); }
.viewer-auth-button:hover { border-color: var(--pd-accent-strong); background: var(--pd-accent-strong);
  box-shadow: 0 1px 3px 1px rgba(var(--pd-shadow-rgb), .18); }
.viewer-auth-button:focus-visible { outline: 3px solid color-mix(in srgb, var(--pd-accent) 24%, transparent); outline-offset: 2px; }
.viewer-auth-button:disabled { cursor: wait; opacity: .62; }
.viewer-auth-cancel { width:100%;min-height:38px;margin-top:8px;padding:8px 14px;border:0;border-radius:8px;
  background:transparent;color:var(--pd-text-secondary);font:600 13px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.viewer-auth-cancel:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-auth-cancel:focus-visible { outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);outline-offset:1px; }
.viewer-auth-spinner { width: 28px; height: 28px; margin: 0 auto 22px; border-radius: 50%;
  border: 3px solid var(--pd-divider); border-top-color: var(--pd-accent);
  animation: viewer-auth-spin .8s linear infinite; }
.viewer-auth-countdown { margin: 16px 0 0; color: var(--pd-text-muted); font-size: 12px; line-height: 1.55; }
@media (max-width: 520px) {
  #viewer-auth-gate { padding: 16px; }
  .viewer-auth-card { width: 100%; padding: 30px 24px; border-radius: 14px; }
}
@keyframes viewer-auth-spin { to { transform: rotate(360deg); } }
.viewer-auth-card { animation: pd-rise-in var(--pd-dur-slow, 230ms) var(--pd-ease-out, ease-out);
  box-shadow: var(--pd-shadow-dialog, 0 2px 8px rgba(var(--pd-shadow-rgb, 23, 23, 48), .12)); }
.viewer-auth-button { transition: background-color var(--pd-dur-fast, 90ms) ease,
  border-color var(--pd-dur-fast, 90ms) ease, box-shadow var(--pd-dur-base, 150ms) ease; }

/* -- workspace chat (workspace_chat.js) -- */
.workspace-chat { height:100%;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--pd-surface);color:var(--pd-text);
  font:14px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-header { height:40px;min-height:40px;display:flex;align-items:center;gap:4px;padding:0 5px 0 8px;
  border-bottom:1px solid var(--pd-divider); }
.workspace-chat-title { min-width:0;flex:1;color:var(--pd-text);font-size:16px;font-weight:650; }
.workspace-chat-status { height:26px;max-width:160px;display:flex;align-items:center;gap:5px;padding:0 8px;border:0;
  border-radius:13px;background:var(--pd-hover);color:var(--pd-text-secondary);font:11px "Segoe UI",sans-serif;white-space:nowrap;overflow:hidden;cursor:pointer; }
.workspace-chat-status-dot { width:8px;height:8px;min-width:8px;border-radius:50%;background:var(--pd-text-muted); }
.workspace-chat-status-text { overflow:hidden;text-overflow:ellipsis; }
.workspace-chat-power { position:relative;width:38px;height:24px;min-width:38px;padding:3px;border:0;border-radius:12px;
  background:var(--pd-text-faint);cursor:pointer;transition:background 120ms ease; }
.workspace-chat-power span { display:block;width:18px;height:18px;border-radius:50%;background:var(--pd-surface);
  box-shadow:0 1px 2px rgba(var(--pd-shadow-rgb),.35);transition:transform 120ms ease; }
.workspace-chat-power[aria-pressed="true"] { background:var(--pd-accent); }
.workspace-chat-power[aria-pressed="true"] span { transform:translateX(14px); }
.workspace-chat-controls { display:flex;flex-direction:column;gap:10px;padding:12px 14px;
  border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-chat-control-row { min-height:34px;display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:10px; }
.workspace-chat-provider, .workspace-chat-endpoint { min-width:0;height:34px;border:1px solid var(--pd-border);border-radius:8px;
  background:var(--pd-surface);color:var(--pd-text);font:13px "Segoe UI",Roboto,sans-serif;outline:none; }
.workspace-chat-provider { width:100%;padding:0 10px;cursor:pointer; }
.workspace-chat-controls #viewer-language-control { display:flex;min-width:0; }
.workspace-chat-controls #viewer-language-control svg { display:none; }
.workspace-chat-controls #viewer-language-control select { flex:1;min-width:0;height:34px;padding:0 10px;
  border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-surface);color:var(--pd-text);
  font:13px "Segoe UI",Roboto,sans-serif;outline:none;cursor:pointer; }
.workspace-chat-endpoint { flex:1;padding:0 8px;font-family:"Cascadia Mono",Consolas,monospace; }
.workspace-chat-apply { height:28px;padding:0 9px;border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);
  color:var(--pd-accent);font:600 12px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-context { height:26px;min-height:26px;display:flex;align-items:center;gap:5px;padding:0 8px;
  border-bottom:1px solid var(--pd-accent-soft-border);background:var(--pd-accent-faint);color:var(--pd-accent-strong);font:600 11px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-context span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-conversation-context-picker { position:relative;min-width:0;height:28px;flex:1; }
.viewer-conversation-context-picker > select { color:transparent !important; }
.viewer-conversation-context-picker > select option { color:var(--pd-text);background:var(--pd-surface); }
.viewer-conversation-context-title { position:absolute;inset:0 22px 0 8px;display:flex;align-items:center;
  min-width:0;overflow:hidden;color:var(--pd-text);font:12px "Segoe UI",Roboto,sans-serif;
  white-space:nowrap;text-overflow:ellipsis;pointer-events:none; }
.viewer-conversation-context-title::before { min-width:0;overflow:hidden;text-overflow:ellipsis;
  content:var(--pd-conversation-context-title, ""); }
body:has([data-conversation-rename-dialog]) .viewer-conversation-context-title::before {
  content:var(--pd-conversation-context-title-draft, var(--pd-conversation-context-title, ""));
}
.workspace-chat-body { position:relative;min-height:0;flex:1;overflow:hidden;background:var(--pd-surface); }
.workspace-chat-messages { height:100%;display:flex;flex-direction:column;gap:6px;padding:6px;overflow-y:auto;
  overscroll-behavior:contain; }
.workspace-chat-empty { position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;
  color:var(--pd-text-muted);font-size:12px;line-height:1.55;pointer-events:none; }
.workspace-chat-empty svg { display:block;margin:0 auto 10px;color:var(--pd-text-faint); }
.workspace-chat-message { max-width:92%;padding:7px 9px;border:1px solid var(--pd-divider);border-radius:11px;
  background:var(--pd-surface);color:var(--pd-text);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-chat-message[data-role="user"] { align-self:flex-end;border-color:var(--pd-accent-soft-border);background:var(--pd-accent-soft); }
.workspace-chat-message[data-failed="true"] { border-color:var(--pd-danger-border);background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-chat-message[data-source="local-guide"] { border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint); }
.workspace-chat-agent-action { display:block;width:max-content;max-width:100%;margin:10px 0 1px;padding:7px 11px;
  border:1px solid var(--pd-accent-soft-border);border-radius:9px;background:var(--pd-accent-soft);
  color:var(--pd-accent-strong);font:600 12px/1.25 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-agent-action:hover { background:var(--pd-accent-soft-hover,var(--pd-accent-faint)); }
.workspace-chat-agent-action:active { transform:translateY(1px); }
.workspace-chat-message[data-streaming="true"]::after { content:"";display:inline-block;width:6px;height:14px;margin-left:3px;
  border-radius:2px;background:var(--pd-accent);vertical-align:-2px;animation:workspace-chat-caret 800ms steps(1) infinite; }
@keyframes workspace-chat-caret { 50% { opacity:0; } }
.workspace-chat-composer { padding:5px 6px 6px;border-top:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-chat-error { display:none;margin:0 2px 7px;color:var(--pd-danger-strong);font-size:11px;line-height:1.35; }
.workspace-chat-input-row { display:flex;align-items:flex-end;gap:4px;padding:3px;border:1px solid var(--pd-border);
  border-radius:17px;background:var(--pd-surface); }
.workspace-chat-input { min-width:0;max-height:120px;flex:1;resize:none;overflow-y:auto;padding:4px;border:0;
  outline:0;background:transparent;color:var(--pd-text);font:14px/20px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-send { width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;padding:0;
  border:0;border-radius:50%;background:var(--pd-accent);color:var(--pd-on-accent);cursor:pointer; }
.workspace-chat-send:disabled { background:var(--pd-text-faint);cursor:default; }
.workspace-chat button:focus-visible, .workspace-chat input:focus-visible, .workspace-chat textarea:focus-visible,
.workspace-chat select:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:1px; }

/* Workspace local-model conversation: content arriving below the reader stays
   non-disruptive, while this compact control makes the new-response boundary
   visible and restores live following on demand. */
.viewer-conversation-jump-latest {
  position:absolute;z-index:4;inset-inline-end:12px;bottom:10px;min-height:30px;display:flex;align-items:center;
  justify-content:center;gap:5px;padding:0 11px;border:1px solid var(--pd-border);border-radius:16px;
  background:color-mix(in srgb,var(--pd-surface) 96%,var(--pd-accent));color:var(--pd-text-secondary);
  box-shadow:0 5px 16px rgba(var(--pd-shadow-rgb),.16);font:600 11px "Segoe UI",Roboto,sans-serif;
  cursor:pointer;animation:pd-rise-in var(--pd-dur-base,150ms) var(--pd-ease-out,ease-out);
  transition:background-color var(--pd-dur-fast,90ms) ease,color var(--pd-dur-fast,90ms) ease,
    border-color var(--pd-dur-fast,90ms) ease,box-shadow var(--pd-dur-fast,90ms) ease;
}
.viewer-conversation-jump-latest[hidden] { display:none; }
.viewer-conversation-jump-latest:hover { background:var(--pd-hover);color:var(--pd-text);box-shadow:0 7px 20px rgba(var(--pd-shadow-rgb),.2); }
.viewer-conversation-jump-latest[data-state="new"] {
  border-color:var(--pd-accent-soft-border);background:var(--pd-accent);color:var(--pd-on-accent);
}
.viewer-conversation-jump-latest[data-state="new"]:hover { background:var(--pd-accent-strong);color:var(--pd-on-accent); }
.viewer-conversation-jump-latest:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 24%,transparent);outline-offset:2px;
}
.viewer-conversation-message-search {
  min-height:39px;display:grid;grid-template-columns:16px minmax(72px,1fr) auto repeat(3,26px);align-items:center;
  gap:3px;padding:4px 6px;box-sizing:border-box;border-bottom:1px solid var(--pd-divider);
  background:color-mix(in srgb,var(--pd-surface) 97%,var(--pd-accent));color:var(--pd-text-secondary);
  animation:pd-rise-in var(--pd-dur-base,150ms) var(--pd-ease-out,ease-out);
}
.viewer-conversation-message-search[hidden] { display:none; }
.viewer-conversation-message-search-icon { width:16px;height:16px;display:grid;place-items:center;color:var(--pd-text-muted); }
.viewer-conversation-message-search input {
  min-width:0;height:28px;padding:0 7px;border:1px solid var(--pd-border);border-radius:6px;outline:0;
  background:var(--pd-surface);color:var(--pd-text);font:12px "Segoe UI",Roboto,sans-serif;
}
.viewer-conversation-message-search input::-webkit-search-cancel-button { display:none; }
.viewer-conversation-message-search input:focus {
  border-color:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pd-accent) 18%,transparent);
}
.viewer-conversation-message-search-status {
  min-width:40px;max-width:72px;overflow:hidden;color:var(--pd-text-muted);font:10px/24px "Segoe UI",Roboto,sans-serif;
  text-align:center;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.viewer-conversation-message-search-status[data-state="empty"] { color:var(--pd-danger-text); }
.viewer-conversation-message-search-action {
  width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;
  background:transparent;color:var(--pd-text-secondary);cursor:pointer;
}
.viewer-conversation-message-search-action:hover:not(:disabled) { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-message-search-action:disabled { opacity:.3;cursor:default; }
.viewer-conversation-message-search-action:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);outline-offset:-1px;
}
[data-conversation-message-search-toggle][aria-pressed="true"] {
  border-color:var(--pd-accent-soft-border) !important;background:var(--pd-accent-soft) !important;
  color:var(--pd-accent-strong) !important;
}
[data-conversation-search-match="match"] {
  outline:1px solid color-mix(in srgb,var(--pd-accent) 52%,transparent);outline-offset:1px;
}
[data-conversation-search-match="active"] {
  outline:2px solid var(--pd-accent);outline-offset:1px;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--pd-accent) 14%,transparent);
}
::highlight(predoctor-conversation-search-match) {
  background-color:rgba(251,188,4,.36);color:inherit;
}
::highlight(predoctor-conversation-search-active) {
  background-color:color-mix(in srgb,var(--pd-accent) 38%,transparent);color:inherit;
  text-decoration:underline 2px var(--pd-accent-strong);text-underline-offset:2px;
}
.viewer-conversation-history-search-overlay {
  position:fixed;inset:0;z-index:2147483000;display:grid;place-items:start center;padding:clamp(36px,9vh,96px) 14px 18px;
  box-sizing:border-box;background:rgba(var(--pd-shadow-rgb),.38);backdrop-filter:blur(2px);
  animation:pd-fade-in var(--pd-dur-base,150ms) var(--pd-ease,ease);
}
.viewer-conversation-history-search-dialog {
  width:min(620px,100%);max-height:min(680px,calc(100vh - 72px));display:grid;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:0;overflow:hidden;padding:10px;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:14px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 22px 60px rgba(var(--pd-shadow-rgb),.28);font-family:"Segoe UI",Roboto,sans-serif;
  animation:pd-rise-in var(--pd-dur-slow,220ms) var(--pd-ease-out,ease-out);
}
.viewer-conversation-history-search-dialog > header {
  min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 7px;
}
.viewer-conversation-history-search-dialog h2 { margin:0;font-size:15px;line-height:22px;font-weight:700; }
.viewer-conversation-history-search-dialog > header button {
  width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;
  background:transparent;color:var(--pd-text-secondary);font:22px/24px Arial,sans-serif;cursor:pointer;
}
.viewer-conversation-history-search-dialog > header button:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-history-search-dialog > input {
  width:100%;height:40px;padding:0 12px;box-sizing:border-box;border:1px solid var(--pd-border);border-radius:9px;
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:13px "Segoe UI",Roboto,sans-serif;
}
.viewer-conversation-history-search-dialog > input:focus {
  border-color:var(--pd-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pd-accent) 18%,transparent);
}
.viewer-conversation-history-search-scopes {
  display:flex;align-items:center;gap:4px;padding:8px 1px 1px;
}
.viewer-conversation-history-search-scopes > button {
  min-height:28px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;
  border-radius:7px;background:transparent;color:var(--pd-text-secondary);font:600 11px "Segoe UI",Roboto,sans-serif;
  cursor:pointer;
}
.viewer-conversation-history-search-scopes > button:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-history-search-scopes > button[data-active="true"] {
  border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint);color:var(--pd-accent-strong);
}
.viewer-conversation-history-search-scopes > button:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 20%,transparent);outline-offset:-2px;
}
.viewer-conversation-history-search-scopes [data-conversation-history-search-scope-count] {
  min-width:16px;height:16px;display:inline-grid;place-items:center;padding:0 4px;box-sizing:border-box;border-radius:999px;
  background:color-mix(in srgb,currentColor 9%,transparent);font-size:9px;font-variant-numeric:tabular-nums;
}
.viewer-conversation-history-search-status {
  min-height:28px;padding:0 3px;color:var(--pd-text-muted);font:11px/28px "Segoe UI",Roboto,sans-serif;
  font-variant-numeric:tabular-nums;
}
.viewer-conversation-history-search-status[data-state="empty"] { color:var(--pd-danger-text); }
.viewer-conversation-history-search-results {
  min-height:0;display:flex;flex-direction:column;gap:3px;overflow-y:auto;overscroll-behavior:contain;
  padding:1px 0 2px;scrollbar-width:thin;
}
.viewer-conversation-history-search-results > button {
  width:100%;min-height:58px;display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:8px 10px;
  box-sizing:border-box;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--pd-text);
  text-align:left;font-family:"Segoe UI",Roboto,sans-serif;cursor:pointer;
}
.viewer-conversation-history-search-results > button:hover,
.viewer-conversation-history-search-results > button[data-active="true"] {
  border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint);
}
.viewer-conversation-history-search-results > button[data-pinned="true"] {
  border-inline-start-color:var(--pd-accent);border-inline-start-width:3px;
}
.viewer-conversation-history-search-results > button[data-archived="true"]:not(:hover):not([data-active="true"]) {
  background:color-mix(in srgb,var(--pd-text-muted) 5%,transparent);
}
.viewer-conversation-history-search-results > button:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);outline-offset:-2px;
}
.viewer-conversation-history-search-result-heading { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.viewer-conversation-history-search-result-heading strong {
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:17px;
}
.viewer-conversation-history-search-result-pin {
  display:inline-block;margin-inline-end:6px;color:var(--pd-accent);font-size:8px;vertical-align:1px;
}
.viewer-conversation-history-search-result-archived {
  display:inline-flex;align-items:center;margin-inline-start:7px;padding:1px 5px;border:1px solid var(--pd-border);
  border-radius:999px;background:var(--pd-surface);color:var(--pd-text-muted);font-size:9px;line-height:13px;
  font-weight:600;vertical-align:1px;
}
.viewer-conversation-history-search-result-heading > span {
  flex:none;color:var(--pd-text-muted);font-size:10px;line-height:17px;white-space:nowrap;
}
.viewer-conversation-history-search-result-preview {
  overflow:hidden;color:var(--pd-text-secondary);font-size:11px;line-height:16px;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
}
.viewer-conversation-history-search-result-heading mark,
.viewer-conversation-history-search-result-preview mark {
  padding:0 1px;border-radius:2px;background:color-mix(in srgb,var(--pd-accent) 28%,transparent);color:inherit;
}
.viewer-conversation-history-search-empty {
  padding:24px 12px;color:var(--pd-text-muted);font:12px/18px "Segoe UI",Roboto,sans-serif;text-align:center;
}
@media (max-width:600px) {
  .viewer-conversation-history-search-overlay { padding:12px;place-items:stretch; }
  .viewer-conversation-history-search-dialog { width:100%;max-height:100%;border-radius:12px; }
}

/* -- Local AI setup journey -------------------------------------------------
   The conversation rail is intentionally narrow. Keep setup steps readable
   by giving the model library and recovery actions their own full-width row,
   then use the card itself as the responsive container. */
.workspace-pretensor-setup {
  display:none;min-width:0;flex-direction:column;gap:8px;margin:0 2px 7px;padding:10px;
  box-sizing:border-box;border:1px solid var(--pd-border);border-radius:10px;
  background:color-mix(in srgb,var(--pd-surface-subtle) 92%,var(--pd-surface));
  color:var(--pd-text);font:11px/15px "Segoe UI",Roboto,sans-serif;
  container:pretensor-setup / inline-size;
}
.workspace-pretensor-setup [hidden] { display:none !important; }
.workspace-pretensor-setup-header {
  min-width:0;min-height:22px;display:flex;align-items:center;gap:7px;
}
.workspace-pretensor-setup-title { flex:none;color:var(--pd-text);font-size:12px;line-height:18px; }
.workspace-pretensor-setup-progress {
  display:none;flex:none;align-items:center;height:19px;padding:0 7px;border:1px solid var(--pd-accent-soft-border);
  border-radius:10px;background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font:600 9.5px/19px "Segoe UI",Roboto,sans-serif;white-space:nowrap;
}
.workspace-pretensor-ready-summary {
  display:none;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--pd-success-text);font:600 10.5px/15px "Segoe UI",sans-serif;text-align:left;
}
.viewer-conversation-model-settings {
  flex:none;align-items:center;justify-content:center;height:26px;padding:0 8px;
  border:1px solid var(--pd-border);border-radius:13px;background:var(--pd-surface-raised);
  color:var(--pd-text-secondary);font:650 10.5px/24px "Segoe UI",sans-serif;
  white-space:nowrap;cursor:pointer;
}
.viewer-conversation-model-settings:hover,
.viewer-conversation-model-settings:focus-visible {
  border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint);
  color:var(--pd-accent-strong);
}
.workspace-pretensor-setup-toggle {
  display:none;min-width:0;height:26px;flex:1;align-items:center;justify-content:flex-end;gap:5px;
  padding:0 3px 0 6px;border:0;border-radius:5px;background:transparent;
  color:var(--pd-text-secondary);cursor:pointer;
}
.workspace-pretensor-setup-toggle:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-pretensor-setup-toggle-label {
  display:inline-flex;flex:none;align-items:center;height:22px;padding:0 7px;
  border:1px solid var(--pd-accent-soft-border);border-radius:11px;
  background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font:650 9.5px/22px "Segoe UI",sans-serif;white-space:nowrap;
}
.workspace-pretensor-setup-detail { color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.workspace-pretensor-setup-body { display:flex;min-width:0;flex-direction:column;gap:6px; }
.workspace-pretensor-step {
  min-width:0;min-height:30px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;gap:7px;padding:2px 5px;box-sizing:border-box;border:1px solid transparent;border-radius:7px;
}
.workspace-pretensor-step-marker {
  width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:50%;color:var(--pd-text-secondary);
  font:600 10px/1 "Segoe UI",sans-serif;
}
.workspace-pretensor-step-copy { min-width:0;display:flex;flex-direction:column; }
.workspace-pretensor-step-name { min-width:0;color:var(--pd-text);font-weight:600; }
.workspace-pretensor-step-status {
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text-secondary);
}
.workspace-pretensor-step-action {
  min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:4px;
}
.workspace-pretensor-step--model {
  grid-template-columns:20px minmax(0,1fr);align-items:start;padding-block:5px;
}
.workspace-pretensor-step--model .workspace-pretensor-step-marker { grid-row:1 / span 2;margin-top:2px; }
.workspace-pretensor-step--model .workspace-pretensor-step-action {
  grid-column:2;width:100%;justify-content:stretch;margin-top:2px;
}
.workspace-pretensor-model-library {
  width:100%;min-width:0;border:1px solid var(--pd-border);border-radius:9px;
  background:var(--pd-surface);overflow:hidden;
}
.workspace-pretensor-model-library-header {
  min-height:34px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:6px;
  padding:5px 8px;box-sizing:border-box;cursor:pointer;list-style:none;
}
.workspace-pretensor-model-library-header::-webkit-details-marker { display:none; }
.workspace-pretensor-model-library-header:focus-visible,
.workspace-pretensor-model-choice:focus-visible {
  outline:2px solid var(--pd-accent);outline-offset:-2px;
}
.workspace-pretensor-model-library-header::before {
  content:'›';color:var(--pd-text-secondary);font:650 15px/1 "Segoe UI",sans-serif;
  transform:rotate(0deg);transition:transform var(--pd-dur-fast,90ms) ease;
}
.workspace-pretensor-model-library[open] > .workspace-pretensor-model-library-header::before {
  transform:rotate(90deg);
}
.workspace-pretensor-model-library-title {
  min-width:0;color:var(--pd-text);font:650 10.5px/14px "Segoe UI",sans-serif;
}
.workspace-pretensor-model-library-summary {
  min-width:0;color:var(--pd-text-secondary);font:500 9.5px/13px "Segoe UI",sans-serif;
  text-align:right;white-space:nowrap;
}
.workspace-pretensor-model-library-list {
  min-width:0;display:grid;gap:5px;padding:7px;border-top:1px solid var(--pd-border);
}
.workspace-pretensor-model-choice {
  width:100%;min-width:0;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;
  align-items:center;gap:6px;padding:6px 7px;box-sizing:border-box;border:1px solid transparent;
  border-radius:7px;background:var(--pd-surface-subtle);color:var(--pd-text);text-align:left;cursor:pointer;
}
.workspace-pretensor-model-choice:hover:not(:disabled) {
  border-color:color-mix(in srgb,var(--pd-accent) 46%,var(--pd-border));
}
.workspace-pretensor-model-choice[data-selected="true"] {
  border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint);
}
.workspace-pretensor-model-choice:disabled { opacity:.55;cursor:not-allowed; }
.workspace-pretensor-model-choice-copy { min-width:0;display:flex;flex-direction:column;gap:1px; }
.workspace-pretensor-model-choice-name {
  min-width:0;font:650 10.5px/14px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-choice-meta {
  min-width:0;color:var(--pd-text-secondary);font:9px/12px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-choice-status {
  min-width:0;padding:2px 6px;border-radius:999px;background:var(--pd-surface);
  color:var(--pd-text-secondary);font:600 9px/12px "Segoe UI",sans-serif;text-align:right;
  white-space:normal;overflow-wrap:anywhere;
}
.workspace-pretensor-model-choice[data-selected="true"] .workspace-pretensor-model-choice-status {
  background:color-mix(in srgb,var(--pd-accent) 12%,var(--pd-surface));color:var(--pd-accent-strong);
}
.workspace-pretensor-model-profile {
  display:none;min-width:0;flex-direction:column;gap:7px;margin-inline-start:27px;padding:9px;
  box-sizing:border-box;border:1px solid var(--pd-border);border-radius:9px;background:var(--pd-surface);
  transition:border-color var(--pd-dur-fast,90ms) ease,background-color var(--pd-dur-fast,90ms) ease;
}
.workspace-pretensor-model-profile[data-tone="attention"] {
  border-color:var(--pd-danger-border);background:var(--pd-danger-soft);
}
.workspace-pretensor-model-profile-header {
  min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,44%);align-items:start;gap:4px 8px;
}
.workspace-pretensor-model-profile-name {
  min-width:0;color:var(--pd-text);font:650 11.5px/16px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-profile-status {
  min-width:0;justify-self:end;padding:2px 6px;border-radius:999px;background:var(--pd-surface-subtle);
  color:var(--pd-text-secondary);font:600 9.5px/13px "Segoe UI",sans-serif;text-align:right;
  white-space:normal;overflow-wrap:anywhere;
}
.workspace-pretensor-model-profile[data-tone="attention"] .workspace-pretensor-model-profile-status {
  background:color-mix(in srgb,var(--pd-danger) 10%,var(--pd-surface));color:var(--pd-danger-strong);
}
.workspace-pretensor-model-badges { min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px; }
.workspace-pretensor-model-badge {
  min-height:20px;display:inline-flex;align-items:center;padding:1px 7px;box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--pd-border) 70%,transparent);border-radius:10px;
  background:var(--pd-surface-subtle);color:var(--pd-text-secondary);
  font:600 9.5px/14px "Segoe UI",sans-serif;white-space:nowrap;
}
.workspace-pretensor-model-badge--update { background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-pretensor-model-recommendation {
  display:none;min-width:0;grid-template-columns:minmax(0,1fr) minmax(88px,auto);align-items:center;gap:8px;
  padding:8px;box-sizing:border-box;border:1px solid var(--pd-accent-soft-border);border-radius:8px;
  background:var(--pd-accent-faint);
}
.workspace-pretensor-model-recommendation-copy { min-width:0;display:flex;flex-direction:column;gap:2px; }
.workspace-pretensor-model-recommendation-title {
  min-width:0;color:var(--pd-accent-strong);font:650 10.5px/14px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-recommendation-detail {
  min-width:0;color:var(--pd-text-secondary);font:9.5px/13px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-recommendation-action {
  min-height:30px;max-width:132px;padding:4px 10px;border:1px solid var(--pd-accent);border-radius:6px;
  background:var(--pd-accent);color:var(--pd-on-accent);font:650 10px/13px "Segoe UI",sans-serif;
  white-space:normal;cursor:pointer;
}
.workspace-pretensor-model-storage-plan {
  display:none;min-width:0;flex-direction:column;gap:5px;padding:7px 8px;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:7px;background:var(--pd-surface-subtle);
}
.workspace-pretensor-model-storage-plan[data-state="insufficient"] { border-color:var(--pd-danger-border); }
.workspace-pretensor-model-storage-header { min-width:0;display:flex;align-items:center;gap:6px; }
.workspace-pretensor-model-storage-summary {
  min-width:0;flex:1;color:var(--pd-text);font:650 10px/14px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-storage-refresh {
  display:none;align-items:center;min-height:26px;padding:0 8px;border:1px solid var(--pd-danger-border);
  border-radius:5px;background:var(--pd-surface);color:var(--pd-danger-strong);
  font:600 10px/14px "Segoe UI",sans-serif;cursor:pointer;
}
.workspace-pretensor-model-storage-meter { width:100%;height:6px;accent-color:var(--pd-accent); }
.workspace-pretensor-model-storage-detail {
  color:var(--pd-text-secondary);font:9.5px/13px "Segoe UI",sans-serif;overflow-wrap:anywhere;
}
.workspace-pretensor-model-actions { min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:5px; }
.workspace-pretensor-model-action {
  display:none;align-items:center;min-height:28px;padding:0 9px;border-radius:6px;
  font:600 10px/14px "Segoe UI",sans-serif;cursor:pointer;
}
.workspace-pretensor-model-action--update {
  border:1px solid var(--pd-accent-soft-border);background:var(--pd-accent-faint);color:var(--pd-accent-strong);
}
.workspace-pretensor-model-action--remove {
  border:1px solid var(--pd-danger-border);background:var(--pd-surface);color:var(--pd-danger-strong);
}
.workspace-pretensor-model-acquisition {
  display:none;min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;
  margin-inline-start:27px;padding:5px 0 0;font:10px/14px "Segoe UI",Roboto,sans-serif;
}

@container pretensor-setup (max-width:360px) {
  .workspace-pretensor-model-profile,
  .workspace-pretensor-model-acquisition { margin-inline-start:0; }
  .workspace-pretensor-model-choice { grid-template-columns:minmax(0,1fr); }
  .workspace-pretensor-model-choice-status { justify-self:start;text-align:left; }
  .workspace-pretensor-model-profile-header { grid-template-columns:minmax(0,1fr); }
  .workspace-pretensor-model-profile-status { justify-self:start;text-align:left; }
  .workspace-pretensor-model-recommendation { grid-template-columns:minmax(0,1fr);align-items:stretch; }
  .workspace-pretensor-model-recommendation-action { width:100%;max-width:none; }
  .workspace-pretensor-model-storage-header { align-items:stretch;flex-direction:column; }
  .workspace-pretensor-model-storage-refresh { justify-content:center;align-self:stretch; }
  .workspace-pretensor-model-actions > button { min-width:0;flex:1;justify-content:center; }
}

/* -- workspace shell and apps (workspace_launcher.js) -- */
#viewer-tabs { scrollbar-width:none;scroll-behavior:smooth; }
#viewer-tabs::-webkit-scrollbar { display:none;width:0;height:0; }
.viewer-source-open-status { position:absolute;z-index:19;top:12px;left:50%;width:max-content;
  max-width:min(520px,calc(100% - 24px));display:flex;align-items:center;gap:10px;padding:9px 13px;
  transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--pd-border) 78%,transparent);
  border-radius:14px;background:color-mix(in srgb,var(--pd-surface) 91%,transparent);
  box-shadow:0 10px 32px rgba(var(--pd-shadow-rgb),.14);backdrop-filter:blur(12px);
  color:var(--pd-text);pointer-events:none;animation:pd-source-open-enter var(--pd-dur-fast) var(--pd-ease); }
.viewer-source-open-status[hidden],
#viewer-stage[data-viewer-foreground="false"] > .viewer-source-open-status { display:none; }
.viewer-source-open-status-indicator { position:relative;width:16px;height:16px;min-width:16px;
  border-radius:50%;box-sizing:border-box; }
.viewer-source-open-status[data-phase="opening"] .viewer-source-open-status-indicator {
  border:2px solid color-mix(in srgb,var(--pd-accent) 22%,var(--pd-border));border-top-color:var(--pd-accent);
  animation:pd-source-open-spin .72s linear infinite; }
.viewer-source-open-status[data-phase="ready"] .viewer-source-open-status-indicator { background:var(--pd-success); }
.viewer-source-open-status[data-phase="ready"] .viewer-source-open-status-indicator::after {
  content:"";position:absolute;left:4px;top:3px;width:6px;height:3px;border-left:2px solid white;
  border-bottom:2px solid white;transform:rotate(-45deg); }
.viewer-source-open-status[data-phase="failed"] { border-color:color-mix(in srgb,var(--pd-danger) 34%,var(--pd-border)); }
.viewer-source-open-status[data-phase="failed"] .viewer-source-open-status-indicator {
  background:color-mix(in srgb,var(--pd-danger) 13%,transparent); }
.viewer-source-open-status[data-phase="failed"] .viewer-source-open-status-indicator::before,
.viewer-source-open-status[data-phase="failed"] .viewer-source-open-status-indicator::after {
  content:"";position:absolute;left:3px;top:7px;width:10px;height:2px;border-radius:2px;background:var(--pd-danger); }
.viewer-source-open-status[data-phase="failed"] .viewer-source-open-status-indicator::before { transform:rotate(45deg); }
.viewer-source-open-status[data-phase="failed"] .viewer-source-open-status-indicator::after { transform:rotate(-45deg); }
.viewer-source-open-status-copy { min-width:0;display:grid;gap:2px; }
.viewer-source-open-status-title { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:650 12.5px/1.25 "Segoe UI",Roboto,sans-serif; }
.viewer-source-open-status-detail { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--pd-text-secondary);font:400 11.5px/1.25 "Segoe UI",Roboto,sans-serif; }
.viewer-source-open-status-cancel { flex:0 0 auto;min-height:28px;padding:0 10px;border:1px solid
  color-mix(in srgb,var(--pd-accent) 30%,var(--pd-border));border-radius:14px;background:var(--pd-surface);
  color:var(--pd-accent-strong);font:650 11px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer;pointer-events:auto;
  transition:background-color var(--pd-dur-fast) var(--pd-ease),border-color var(--pd-dur-fast) var(--pd-ease); }
.viewer-source-open-status-cancel:hover:not(:disabled) { border-color:color-mix(in srgb,var(--pd-accent) 58%,var(--pd-border));
  background:var(--pd-accent-faint); }
.viewer-source-open-status-cancel:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);
  outline-offset:2px; }
.viewer-source-open-status-cancel:disabled { opacity:.58;cursor:wait; }
.viewer-source-open-status-cancel[hidden] { display:none; }
.viewer-catalog-slide-row { display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;
  box-sizing:border-box;overflow:hidden;border-radius:10px;cursor:pointer; }
.viewer-catalog-slide-row[data-nested="true"] { padding-inline-start:28px; }
.viewer-catalog-open-button { min-width:0;flex:1;display:flex;align-items:center;gap:8px;padding:0;
  border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer; }
.viewer-catalog-thumbnail { width:56px;height:40px;flex:0 0 auto;overflow:hidden;box-sizing:border-box;
  border:1px solid var(--pd-divider);border-radius:5px;background:var(--pd-hover); }
.viewer-catalog-slide-label { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-catalog-active-state { display:none;align-items:center;height:20px;padding:0 7px;flex:0 0 auto;
  border-radius:10px;background:var(--pd-accent-soft-border);color:var(--pd-accent-strong);
  font-size:10px;font-weight:700; }
.viewer-catalog-open-state { align-items:center;gap:4px;height:20px;padding:0 7px;flex:0 0 auto;
  border-radius:10px;background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font-size:9px;font-weight:750;letter-spacing:.02em; }
.viewer-catalog-open-state[data-phase="opening"]::before { content:"";width:8px;height:8px;box-sizing:border-box;
  border:1.5px solid color-mix(in srgb,var(--pd-accent) 28%,transparent);border-top-color:var(--pd-accent);
  border-radius:50%;animation:pd-source-open-spin .72s linear infinite; }
.viewer-catalog-open-state[data-phase="failed"] { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.viewer-catalog-open-state[data-phase="failed"]::before { content:"!";width:10px;height:10px;display:grid;place-items:center;
  border-radius:50%;background:var(--pd-danger);color:var(--pd-on-accent);font-size:8px;line-height:1; }
[data-viewer-catalog-compact="true"] .viewer-catalog-slide-row { gap:6px;min-height:40px;padding:5px 6px; }
[data-viewer-catalog-compact="true"] .viewer-catalog-slide-row[data-nested="true"] { padding-inline-start:14px; }
[data-viewer-catalog-compact="true"] .viewer-catalog-open-button { gap:6px; }
[data-viewer-catalog-compact="true"] .viewer-catalog-thumbnail { width:44px;height:32px; }
[data-viewer-catalog-compact="true"] .viewer-catalog-slide-label { display:-webkit-box;line-height:16px;
  white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
[data-viewer-catalog-compact="true"] .viewer-catalog-active-state,
[data-viewer-catalog-compact="true"] .viewer-catalog-open-state { width:20px;padding:0;justify-content:center;gap:0; }
[data-viewer-catalog-compact="true"] .viewer-catalog-active-state::before { content:"\2713";font-size:11px;line-height:1; }
[data-viewer-catalog-compact="true"] .viewer-catalog-active-state-label,
[data-viewer-catalog-compact="true"] .viewer-catalog-open-state-label { position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@keyframes pd-source-open-enter { from { opacity:0;transform:translate(-50%,-5px); } }
@keyframes pd-source-open-spin { to { transform:rotate(360deg); } }
@media (max-width:780px) {
  .viewer-source-open-status { top:8px;max-width:calc(100% - 16px);padding:8px 11px; }
  .viewer-source-open-status-detail { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  .viewer-source-open-status { animation:none; }
  .viewer-source-open-status[data-phase="opening"] .viewer-source-open-status-indicator { animation:none; }
  .viewer-catalog-open-state[data-phase="opening"]::before { animation:none; }
}
.viewer-empty-project-hint { position:absolute;z-index:4;left:50%;top:50%;width:min(460px,calc(100% - 32px));
  display:grid;justify-items:center;gap:9px;padding:28px 30px;box-sizing:border-box;transform:translate(-50%,-50%);
  border:1px solid color-mix(in srgb,var(--pd-border) 80%,transparent);border-radius:20px;
  background:color-mix(in srgb,var(--pd-surface) 92%,transparent);
  box-shadow:0 18px 48px rgba(var(--pd-shadow-rgb),.10);backdrop-filter:blur(14px);
  color:var(--pd-text);text-align:center;animation:pd-empty-state-enter var(--pd-dur-base) var(--pd-ease); }
.viewer-empty-project-hint[hidden] { display:none; }
.viewer-empty-state-icon { width:42px;height:42px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;
  margin-bottom:2px;padding:9px;box-sizing:border-box;border-radius:13px;background:var(--pd-accent-soft); }
.viewer-empty-state-icon-tile { border:1.5px solid color-mix(in srgb,var(--pd-accent) 72%,var(--pd-text));
  border-radius:2px;background:color-mix(in srgb,var(--pd-surface) 78%,transparent); }
.viewer-empty-project-hint[data-state="recovery"] .viewer-empty-state-icon {
  background:var(--pd-danger-soft); }
.viewer-empty-project-hint[data-state="recovery"] .viewer-empty-state-icon-tile {
  border-color:color-mix(in srgb,var(--pd-danger) 72%,var(--pd-text)); }
.viewer-empty-project-hint[data-state="recovery"] .viewer-empty-state-eyebrow {
  color:var(--pd-danger-text); }
.viewer-empty-state-eyebrow { color:var(--pd-accent-strong);font:700 10px/1.2 "Segoe UI",Roboto,sans-serif;
  letter-spacing:.08em;text-transform:uppercase; }
.viewer-empty-state-title { max-width:100%;margin:0;color:var(--pd-text);
  font:700 19px/1.25 "Segoe UI",Roboto,sans-serif; }
.viewer-empty-state-description { max-width:370px;margin:0;color:var(--pd-text-secondary);
  font:400 12.5px/1.55 "Segoe UI",Roboto,sans-serif; }
.viewer-empty-state-count { display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:12px;
  background:var(--pd-hover);color:var(--pd-text-secondary);font:600 10.5px/1 "Segoe UI",Roboto,sans-serif; }
.viewer-empty-state-count[hidden] { display:none; }
.viewer-empty-state-actions { width:100%;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:4px; }
.viewer-empty-state-primary,.viewer-empty-state-secondary { min-height:34px;padding:0 14px;border-radius:9px;
  font:650 12px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.viewer-empty-state-primary { border:1px solid var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-empty-state-secondary { border:1px solid var(--pd-border);background:var(--pd-surface);color:var(--pd-text); }
.viewer-empty-state-primary:hover { background:var(--pd-accent-strong); }
.viewer-empty-state-secondary:hover { background:var(--pd-hover); }
.viewer-empty-state-primary:focus-visible,.viewer-empty-state-secondary:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);outline-offset:2px; }
.viewer-empty-state-primary:disabled,.viewer-empty-state-secondary:disabled { opacity:.55;cursor:wait; }
.viewer-empty-state-error { max-width:370px;margin:2px 0 0;color:var(--pd-danger-text);
  font:500 11.5px/1.4 "Segoe UI",Roboto,sans-serif; }
.viewer-empty-state-error[hidden] { display:none; }
@keyframes pd-empty-state-enter { from { opacity:0;transform:translate(-50%,calc(-50% + 7px)); } }
@media (max-width:780px) {
  .viewer-empty-project-hint { width:calc(100% - 24px);padding:22px 18px; }
  .viewer-empty-state-title { font-size:17px; }
  .viewer-empty-state-actions { display:grid;grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .viewer-empty-project-hint { animation:none; }
}
#viewer-tab-navigation { position:relative;z-index:4;display:flex;align-items:center;gap:1px;flex:0 0 auto;
  padding:4px 2px 3px;border-left:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
#viewer-tab-navigation[hidden] { display:none; }
.viewer-tab-navigation-button { width:24px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text-secondary);cursor:pointer; }
.viewer-tab-navigation-button[hidden] { display:none; }
.viewer-tab-navigation-button:hover,.viewer-tab-navigation-button[aria-expanded="true"] { background:var(--pd-hover);color:var(--pd-text); }
.viewer-tab-navigation-button:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 20%, transparent);outline-offset:-2px; }
.viewer-tab-navigation-button:disabled { opacity:.32;cursor:default;background:var(--pd-surface); }
.viewer-tab-list-menu { position:fixed;z-index:2147482901;width:min(320px,calc(100vw - 16px));
  max-height:min(420px,calc(100vh - 58px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;
  border:1px solid var(--viewer-border,#dadce0);border-radius:9px;background:var(--pd-surface);
  box-shadow:0 10px 30px rgba(var(--pd-shadow-rgb),.2); }
.viewer-tab-list-menu[hidden] { display:none; }
.viewer-tab-list-search { margin:6px 6px 4px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;
  gap:7px;min-height:34px;padding:0 9px;border:1px solid var(--viewer-border,#dadce0);border-radius:7px;background:var(--pd-surface);color:var(--pd-text-secondary); }
.viewer-tab-list-search:focus-within { border-color:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--pd-accent) 12%, transparent);color:var(--pd-accent); }
.viewer-tab-list-search input { width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--pd-text);
  font:500 12px "Segoe UI",Roboto,sans-serif; }
.viewer-tab-list-results { min-height:0;display:grid;align-content:start;gap:2px;padding:2px 4px;overflow:auto; }
.viewer-tab-list-item { width:100%;min-height:34px;display:grid;grid-template-columns:10px 16px minmax(0,1fr) auto;
  align-items:center;gap:8px;padding:0 9px;border:0;border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  font:500 12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.viewer-tab-list-item:hover,.viewer-tab-list-item:focus-visible,.viewer-tab-list-item[aria-selected="true"] {
  outline:0;background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.viewer-tab-list-dot { width:7px;height:7px;border-radius:50%;background:var(--pd-text-faint); }
.viewer-tab-list-item[aria-selected="true"] .viewer-tab-list-dot { background:var(--pd-accent); }
.viewer-tab-list-item[data-dirty="true"] .viewer-tab-list-dot { background:var(--pd-warning); }
.viewer-tab-list-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-tab-menu-app-icon { width:16px;height:16px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.viewer-tab-list-item:hover .viewer-tab-menu-app-icon,
.viewer-tab-list-item:focus-visible .viewer-tab-menu-app-icon,
.viewer-tab-list-item[aria-selected="true"] .viewer-tab-menu-app-icon { color:var(--pd-accent-strong); }
.viewer-tab-list-kind { color:var(--pd-text-muted);font-size:9px; }
.viewer-tab-list-status { min-height:27px;display:flex;align-items:center;padding:0 10px;border-top:1px solid var(--pd-hover);
  justify-content:space-between;gap:8px;color:var(--pd-text-muted);font:500 10px "Segoe UI",Roboto,sans-serif; }
.viewer-tab-list-reopen { min-height:23px;max-width:58%;padding:0 7px;border:0;border-radius:5px;background:var(--pd-surface);color:var(--pd-accent);
  font:600 10px "Segoe UI",Roboto,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer; }
.viewer-tab-list-reopen:hover,.viewer-tab-list-reopen:focus-visible { outline:0;background:var(--pd-accent-soft); }
.viewer-tab-list-reopen:disabled { color:var(--pd-text-faint);background:var(--pd-surface);cursor:default; }
.viewer-tab-list-empty { min-height:68px;display:grid;place-items:center;padding:12px;color:var(--pd-text-muted);
  font:500 12px "Segoe UI",Roboto,sans-serif;text-align:center; }
.viewer-app-launcher-menu { position:fixed;z-index:2147482903;width:min(292px,calc(100vw - 16px));display:grid;gap:7px;
  padding:7px;border:1px solid var(--viewer-border,#dadce0);border-radius:11px;background:var(--pd-surface);
  box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.2); }
.viewer-app-launcher-menu[hidden] { display:none; }
.viewer-app-launcher-title { min-width:0;min-height:23px;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:3px 5px 5px;color:var(--pd-text-muted);font:650 10px/1.3 "Segoe UI",Roboto,sans-serif;
  letter-spacing:.04em;text-transform:uppercase; }
.viewer-app-launcher-query { min-width:0;max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:3px 7px;border-radius:999px;background:var(--pd-hover);color:var(--pd-text-muted);
  font:650 10px/1.25 "Segoe UI",Roboto,sans-serif;letter-spacing:0;text-transform:none; }
.viewer-app-launcher-search { min-height:34px;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:7px;
  margin:0 2px;padding:0 9px;border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-bg);color:var(--pd-text-muted); }
.viewer-app-launcher-search:focus-within { border-color:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--pd-accent) 12%,transparent);color:var(--pd-accent); }
.viewer-app-launcher-search input { width:100%;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--pd-text);
  font:500 12px "Segoe UI",Roboto,sans-serif; }
.viewer-app-launcher-grid { min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;overflow:auto; }
.viewer-app-launcher-grid[hidden],.viewer-app-launcher-item[hidden] { display:none; }
.viewer-app-launcher-empty { min-height:90px;display:grid;place-items:center;padding:12px;color:var(--pd-text-muted);
  font:500 12px "Segoe UI",Roboto,sans-serif;text-align:center; }
.viewer-app-launcher-empty[hidden] { display:none; }
.viewer-app-launcher-item { min-width:0;min-height:45px;display:flex;align-items:center;gap:9px;padding:6px 8px;border:0;
  border-radius:8px;background:var(--pd-surface);color:var(--pd-text);font:600 12px/1.3 "Segoe UI",Roboto,sans-serif;
  text-align:left;cursor:pointer;transition:background-color var(--pd-dur-fast) var(--pd-ease),
    color var(--pd-dur-fast) var(--pd-ease),box-shadow var(--pd-dur-fast) var(--pd-ease); }
.viewer-app-launcher-item:hover,.viewer-app-launcher-item:focus-visible { outline:0;background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.viewer-app-launcher-item[data-active="true"] { color:var(--workspace-app-color);background:color-mix(in srgb,var(--workspace-app-color) 8%,var(--pd-surface));
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--workspace-app-color) 24%,var(--pd-border)); }
.viewer-app-launcher-item[data-active="true"]::after { content:"";width:6px;height:6px;margin-left:auto;border-radius:999px;
  background:var(--workspace-app-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--workspace-app-color) 12%,transparent); }
.viewer-app-launcher-item[data-open="true"]:not([data-active="true"])::after { content:"";width:6px;height:6px;margin-left:auto;border-radius:999px;
  background:color-mix(in srgb,var(--workspace-app-color) 46%,var(--pd-surface)); }
.viewer-app-launcher-icon { width:28px;height:28px;min-width:28px;display:grid;place-items:center;border-radius:8px;
  background:color-mix(in srgb,var(--workspace-app-color) 11%,var(--pd-surface));color:var(--workspace-app-color); }
.viewer-app-launcher-copy { min-width:0;display:grid;gap:1px; }
.viewer-app-launcher-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-app-launcher-state { min-width:0;color:var(--pd-text-muted);font:500 9px/1.2 "Segoe UI",Roboto,sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-app-launcher-item[data-active="true"] .viewer-app-launcher-state { color:var(--workspace-app-color); }
.viewer-document-tab[data-pinned="true"] { order:-1;min-width:96px; }
.viewer-document-tab[data-pinned="true"] .viewer-tab-dot { display:none; }
.viewer-document-tab[data-pinned="true"][data-dirty="true"] .viewer-tab-pin-indicator { color:var(--pd-warning); }
.viewer-document-tab[data-pinned="true"] .viewer-tab-close { display:none; }
.viewer-document-tab[data-tab-dragging="true"] { opacity:.48; }
.viewer-document-tab[data-tab-drop-edge]::before { content:"";position:absolute;z-index:3;top:4px;bottom:3px;
  width:3px;border-radius:3px;background:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--pd-accent) 13%, transparent);pointer-events:none; }
.viewer-document-tab[data-tab-drop-edge="before"]::before { left:-2px; }
.viewer-document-tab[data-tab-drop-edge="after"]::before { right:-2px; }
.viewer-tab-reorder-status { position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.viewer-tab-pin-indicator { display:none;width:11px;height:11px;min-width:11px;color:var(--pd-accent); }
.viewer-document-tab[data-pinned="true"] .viewer-tab-pin-indicator { display:grid;place-items:center; }
.viewer-tab-list-item[data-pinned="true"] .viewer-tab-list-dot { width:8px;height:8px;border-radius:2px 2px 50% 2px;
  transform:rotate(45deg);background:var(--pd-accent); }
.viewer-tab-list-item[data-pinned="true"][data-dirty="true"] .viewer-tab-list-dot { background:var(--pd-warning); }
.viewer-tab-context-menu { position:fixed;z-index:2147482902;width:min(220px,calc(100vw - 16px));display:grid;gap:2px;
  padding:4px;border:1px solid var(--viewer-border,#dadce0);border-radius:9px;background:var(--pd-surface);
  box-shadow:0 10px 30px rgba(var(--pd-shadow-rgb),.2); }
.viewer-tab-context-menu[hidden] { display:none; }
.viewer-tab-context-menu button { width:100%;min-height:32px;display:flex;align-items:center;gap:9px;padding:0 9px;border:0;
  border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:500 12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.viewer-tab-context-menu button:hover,.viewer-tab-context-menu button:focus-visible { outline:0;background:var(--pd-hover); }
.viewer-tab-context-menu button:disabled { color:var(--pd-text-faint);background:var(--pd-surface);cursor:default; }
.viewer-tab-context-menu svg { flex:0 0 auto;color:var(--pd-text-secondary); }
.viewer-tab-mru-switcher { position:fixed;z-index:2147483002;left:50%;top:max(52px,12vh);transform:translateX(-50%);
  width:min(430px,calc(100vw - 18px));max-height:min(520px,76vh);display:grid;grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;border:1px solid var(--viewer-border,#dadce0);border-radius:10px;background:var(--pd-surface);
  box-shadow:0 14px 38px rgba(var(--pd-shadow-rgb),.24);color:var(--pd-text);font:12px "Segoe UI",Roboto,sans-serif; }
.viewer-tab-mru-switcher[hidden] { display:none; }
.viewer-tab-mru-header { min-height:36px;display:flex;align-items:center;gap:8px;padding:0 11px;
  border-bottom:1px solid var(--pd-divider);color:var(--pd-text-secondary);font-weight:650; }
.viewer-tab-mru-header svg { color:var(--pd-accent); }
.viewer-tab-mru-list { min-height:0;overflow:auto;padding:4px; }
.viewer-tab-mru-item { width:100%;min-height:38px;display:grid;grid-template-columns:12px 16px minmax(0,1fr) auto;
  align-items:center;gap:8px;padding:0 9px;border:0;border-radius:7px;background:var(--pd-surface);color:var(--pd-text);
  font:500 12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.viewer-tab-mru-item:hover,.viewer-tab-mru-item[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.viewer-tab-mru-item:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-2px; }
.viewer-tab-mru-dot { width:7px;height:7px;border-radius:50%;background:var(--pd-text-faint); }
.viewer-tab-mru-item[data-dirty="true"] .viewer-tab-mru-dot { background:var(--pd-warning); }
.viewer-tab-mru-item[data-pinned="true"] .viewer-tab-mru-dot { width:8px;height:8px;border-radius:2px 2px 50% 2px;
  transform:rotate(45deg);background:var(--pd-accent); }
.viewer-tab-mru-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-tab-mru-kind { color:var(--pd-text-muted);font-size:9px; }
.viewer-tab-mru-footer { min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 11px;border-top:1px solid var(--pd-hover);color:var(--pd-text-muted);font-size:10px; }
#viewer-file-explorer { position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;
  min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--pd-surface);color:var(--viewer-text,#202124);font:12px "Segoe UI",Roboto,sans-serif; }
#viewer-file-explorer[hidden] { display:none; }
.workspace-explorer-external-drop {
  position:absolute;inset:8px;z-index:90;display:flex;min-width:0;align-items:center;justify-content:center;
  flex-direction:column;gap:7px;padding:18px;box-sizing:border-box;border:2px dashed var(--pd-accent-muted);
  border-radius:14px;background:color-mix(in srgb,var(--pd-surface) 91%,var(--pd-accent));
  color:var(--pd-accent-strong);text-align:center;box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.14);
  pointer-events:none;animation:pd-fade-in var(--pd-dur-fast) var(--pd-ease);
}
.workspace-explorer-external-drop[hidden] { display:none; }
.workspace-explorer-external-drop-icon { width:48px;height:48px;display:grid;place-items:center;
  border-radius:14px;background:var(--pd-accent-soft); }
.workspace-explorer-external-drop strong { max-width:230px;color:var(--pd-text);font:700 14px/1.3 "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-external-drop > span:last-child { max-width:230px;color:var(--pd-text-secondary);
  font:500 11px/1.45 "Segoe UI",Roboto,sans-serif;overflow-wrap:anywhere; }

/* Canvas source-drop feedback is a semantic placement preview, not a generic
   drag highlight. The translucent target preserves slide context while the
   centered label tells the user exactly which split will receive the source. */
.viewer-source-drop-preview {
  position:fixed;
  z-index:92;
  pointer-events:none;
  place-items:center;
  box-sizing:border-box;
  overflow:hidden;
  border:2px solid var(--pd-accent);
  border-radius:12px;
  background:color-mix(in srgb,var(--pd-accent) 16%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pd-surface) 55%,transparent),
    0 10px 30px rgba(var(--pd-shadow-rgb),.14);
  color:var(--pd-accent-strong);
  backdrop-filter:blur(1.5px);
  animation:pd-fade-in var(--pd-dur-fast) var(--pd-ease);
}
.viewer-source-drop-preview[hidden] { display:none !important; }
/* Transient "your slide is here" pulse over the pane that already shows a
   re-requested slide. Removed from the DOM right after the animation ends. */
.viewer-pane-locate-flash {
  position:fixed;
  z-index:92;
  pointer-events:none;
  box-sizing:border-box;
  border:3px solid var(--pd-accent);
  border-radius:10px;
  background:color-mix(in srgb,var(--pd-accent) 10%,transparent);
  animation:pd-pane-locate 1.25s var(--pd-ease) forwards;
}
@keyframes pd-pane-locate {
  0% { opacity:0; }
  18% { opacity:1; }
  70% { opacity:1; }
  100% { opacity:0; }
}
@media (prefers-reduced-motion: reduce) {
  .viewer-pane-locate-flash { animation:none;opacity:.85; }
}
/* Overlay children are interactive by default; this visual guide must never
   intercept the drop that its canvas owner is admitting. */
#viewer-workspace-overlay-layer > .viewer-source-drop-preview {
  pointer-events:none;
}
#viewer-workspace-overlay-layer > .viewer-pane-locate-flash {
  pointer-events:none;
}
.viewer-source-drop-preview::after {
  content:attr(data-drop-label);
  max-width:calc(100% - 28px);
  padding:8px 12px;
  overflow:hidden;
  border:1px solid var(--pd-accent-muted);
  border-radius:999px;
  background:color-mix(in srgb,var(--pd-surface) 94%,transparent);
  box-shadow:var(--pd-shadow-raise);
  color:var(--pd-accent-strong);
  font:700 13px/1.3 "Segoe UI",Roboto,Pretendard,sans-serif;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.workspace-explorer-actions { position:fixed;z-index:2147482901;top:0;left:0;width:min(244px,calc(100vw - 16px));box-sizing:border-box;
  grid-template-columns:minmax(0,1fr);
  max-height:min(420px,calc(100vh - 16px));display:grid;gap:2px;padding:4px;overflow-x:hidden;overflow-y:auto;
  border:1px solid var(--viewer-border,#dadce0);border-radius:9px;background:var(--pd-surface);box-shadow:0 8px 24px rgba(var(--pd-shadow-rgb),.18); }
.workspace-explorer-actions[hidden] { display:none; }
.workspace-explorer-actions button { width:100%;min-height:32px;box-sizing:border-box;display:flex;align-items:center;gap:9px;padding:0 9px;
  border:0;border-radius:6px;background:var(--pd-surface);color:var(--viewer-text,#202124);font:500 12px "Segoe UI",Roboto,sans-serif;
  text-align:left;cursor:pointer; }
.workspace-explorer-actions button svg { flex:0 0 auto;color:var(--viewer-secondary-text,#5f6368) !important; }
.workspace-explorer-actions button:hover,.workspace-explorer-actions button:focus-visible { outline:0;background:var(--viewer-hover,#f1f3f4); }
.workspace-explorer-actions button:disabled { opacity:.42;cursor:default; }
.workspace-explorer-actions button:disabled:hover { background:var(--pd-surface); }
.workspace-explorer-action-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-explorer-action-shortcut { flex:none;margin-left:auto;color:var(--pd-text-muted);font:10px "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-action-heading { min-height:24px;display:flex;align-items:center;padding:3px 9px 0;color:var(--pd-text-muted);
  font:700 9px "Segoe UI",Roboto,sans-serif;letter-spacing:.05em;text-transform:uppercase; }
.workspace-explorer-action-separator { height:1px;margin:2px 5px;background:var(--viewer-divider,#e8eaed); }
.workspace-explorer-action-check { flex:none;margin-left:auto;color:var(--pd-accent);opacity:0; }
.workspace-explorer-actions button[aria-checked="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-explorer-actions button[aria-checked="true"] .workspace-explorer-action-check { opacity:1; }
.workspace-explorer-context-menu { position:fixed;z-index:2147482902;width:min(244px,calc(100vw - 16px));box-sizing:border-box;display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;padding:4px;border:1px solid var(--viewer-border,#dadce0);border-radius:9px;background:var(--pd-surface);
  color:var(--pd-text);box-shadow:0 10px 30px rgba(var(--pd-shadow-rgb),.2);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-context-menu[hidden] { display:none; }
.workspace-explorer-context-header { min-width:0;display:flex;align-items:center;gap:7px;padding:7px 8px 6px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);color:var(--pd-text-secondary); }
.workspace-explorer-context-name { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650; }
.workspace-explorer-context-badge { flex:none;padding:2px 6px;border:1px solid var(--pd-accent-soft-border);border-radius:8px;
  background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-size:9px;font-weight:700; }
.workspace-explorer-context-menu button { width:100%;min-height:32px;box-sizing:border-box;display:grid;grid-template-columns:20px minmax(0,1fr);
  align-items:center;gap:8px;padding:0 8px;border:0;border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  font:500 12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-explorer-context-menu button svg { width:17px;height:17px;color:var(--pd-text-secondary); }
.workspace-explorer-context-menu button:hover,.workspace-explorer-context-menu button:focus-visible {
  outline:0;background:var(--pd-hover);color:var(--pd-text); }
.workspace-explorer-context-menu button[data-danger="true"] { color:var(--pd-danger-text); }
.workspace-explorer-context-menu button[data-danger="true"] svg { color:var(--pd-danger-text); }
.workspace-explorer-context-separator { height:1px;margin:2px 5px;background:var(--viewer-divider,#e8eaed); }
[data-workspace-context-text] { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-context-inspector-toggle { width:22px;height:22px;min-width:22px;display:grid;place-items:center;margin-left:auto;
  padding:0;border:0;border-radius:6px;background:transparent;color:inherit;cursor:pointer; }
.workspace-context-inspector-toggle:hover,.workspace-context-inspector-toggle[aria-expanded="true"] { background:var(--pd-accent-soft); }
.workspace-context-inspector-toggle:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 35%, transparent);outline-offset:-1px; }
.workspace-context-inspector { position:fixed;z-index:2147482900;width:min(360px,calc(100vw - 16px));max-height:min(480px,calc(100vh - 56px));
  display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--viewer-border,#dadce0);border-radius:10px;
  background:var(--pd-surface);color:var(--pd-text);box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.22);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-context-inspector-header { min-height:40px;display:flex;align-items:center;gap:8px;padding:0 8px 0 11px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);font-weight:700; }
.workspace-context-inspector-header svg { color:var(--pd-accent); }
.workspace-context-inspector-close { width:28px;height:28px;display:grid;place-items:center;margin-left:auto;padding:0;border:0;
  border-radius:50%;background:var(--pd-surface);color:var(--pd-text-secondary);font-size:18px;cursor:pointer; }
.workspace-context-inspector-close:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-context-inspector-body { display:grid;gap:0;overflow:auto; }
.workspace-context-inspector-row { min-width:0;display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;
  padding:9px 11px;border-bottom:1px solid var(--pd-hover); }
.workspace-context-inspector-label { color:var(--pd-text-muted);font-size:10px;font-weight:650; }
.workspace-context-inspector-value { min-width:0;color:var(--pd-text);line-height:1.45;overflow-wrap:anywhere; }
.workspace-context-inspector-value strong { color:var(--pd-text);font-weight:650; }
.workspace-context-inspector-action { position:relative;display:block;width:calc(100% + 12px);min-width:0;margin:-4px -6px;padding:4px 22px 4px 6px;
  border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:pointer; }
.workspace-context-inspector-action::after { content:'›';position:absolute;right:7px;top:50%;color:var(--pd-text-muted);font-size:17px;
  line-height:1;transform:translateY(-52%);transition:transform .14s ease,color .14s ease; }
.workspace-context-inspector-action:hover { background:var(--pd-hover); }
.workspace-context-inspector-action:hover::after { color:var(--pd-accent);transform:translate(2px,-52%); }
.workspace-context-inspector-action:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-1px;background:var(--pd-bg); }
.workspace-context-chip-list { display:flex;flex-wrap:wrap;gap:4px; }
.workspace-context-chip { max-width:100%;padding:3px 7px;border:1px solid var(--pd-accent-soft-border);border-radius:10px;background:var(--pd-accent-faint);
  color:var(--pd-accent-strong);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
button.workspace-context-chip { font-family:inherit;line-height:1.35;cursor:pointer; }
button.workspace-context-chip:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft); }
button.workspace-context-chip:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:1px; }
.workspace-context-chip[data-dirty="true"] { border-color:var(--pd-warning-border);background:var(--pd-warning-soft);color:var(--pd-warning-text); }
.workspace-context-dirty-scope { min-width:0;display:grid;gap:6px; }
.workspace-context-save-all { min-height:27px;justify-self:start;padding:0 9px;border:1px solid var(--pd-accent-soft-border);border-radius:7px;
  background:var(--pd-accent-faint);color:var(--pd-accent-strong);font:650 10px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-context-save-all:hover:not(:disabled) { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft); }
.workspace-context-save-all:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:1px; }
.workspace-context-save-all:disabled { border-color:var(--pd-divider);background:var(--pd-bg);color:var(--pd-text-faint);cursor:default; }
.workspace-context-reference-list { min-width:0;display:grid;gap:4px;max-height:146px;overflow:auto; }
.workspace-context-reference-summary { color:var(--pd-text-muted);font-size:9px;line-height:1.35; }
.workspace-context-reference { min-width:0;height:28px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;
  align-items:center;gap:5px;padding:0 6px;border:1px solid var(--pd-accent-soft-border);border-radius:7px;background:var(--pd-accent-faint);
  color:var(--pd-accent-strong);font:600 10px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-context-reference:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft); }
.workspace-context-reference:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-1px; }
.workspace-context-reference-icon { width:20px;height:20px;display:grid;place-items:center;overflow:hidden;color:var(--pd-text-secondary); }
.workspace-context-reference-icon svg { width:16px;height:16px; }
.workspace-context-reference-path { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-context-reference-state { color:var(--pd-text-secondary);font-size:9px;font-weight:600; }
.workspace-context-reference[data-context-recent-file][data-open="true"]:not([data-missing="true"])
  .workspace-context-reference-state { color:var(--pd-success); }
.workspace-context-reference[data-missing="true"] { border-color:var(--pd-danger-border);background:var(--pd-danger-faint);color:var(--pd-danger-text); }
.workspace-context-reference[data-missing="true"] .workspace-context-reference-icon,
.workspace-context-reference[data-missing="true"] .workspace-context-reference-state { color:var(--pd-danger-text); }
.workspace-context-inspector-note { display:flex;align-items:flex-start;gap:7px;padding:9px 11px;background:var(--pd-bg);
  color:var(--pd-text-secondary);font-size:10px;line-height:1.45; }
.workspace-context-inspector-note svg { flex:none;margin-top:1px;color:var(--pd-success); }
.workspace-chat-mention-trigger { width:28px;height:28px;min-width:28px;display:grid;place-items:center;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);font:700 15px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-mention-trigger:hover,.workspace-chat-mention-trigger[aria-expanded="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-chat-mention-trigger:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 20%, transparent);outline-offset:-2px; }
.workspace-chat-mention-trigger:disabled { opacity:.38;cursor:default;background:transparent;color:var(--pd-text-faint); }
.workspace-chat-mention-context { min-width:0;display:flex;align-items:center;gap:5px;margin:0 2px 5px;padding:4px 5px;
  overflow-x:auto;scrollbar-width:none;border:1px solid var(--pd-accent-soft-border);border-radius:9px;background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font:10px/16px "Segoe UI",Roboto,sans-serif;overscroll-behavior-x:contain; }
.workspace-chat-mention-context::-webkit-scrollbar { display:none; }
.workspace-chat-mention-context[hidden] { display:none; }
.workspace-chat-mention-context-status { flex:none;display:inline-flex;align-items:center;gap:4px;padding:0 3px;
  color:var(--pd-success);font-weight:700;white-space:nowrap; }
.workspace-chat-mention-context-status::before { content:'';width:6px;height:6px;border-radius:50%;background:currentColor; }
.workspace-chat-mention-context[data-scope="metadata"] .workspace-chat-mention-context-status { color:var(--pd-warning-text); }
.workspace-chat-mention-context[data-scope="mixed"] .workspace-chat-mention-context-status { color:var(--pd-warning-text); }
.workspace-chat-mention-context[data-scope="missing"] .workspace-chat-mention-context-status { color:var(--pd-danger-text); }
.workspace-chat-mention-input-row { position:relative; }
.workspace-chat-mention-input-row[data-file-drop-target="true"] {
  border-color:var(--pd-accent) !important;box-shadow:0 0 0 3px color-mix(in srgb, var(--pd-accent) 16%, transparent) !important; }
.workspace-chat-mention-input-row[data-file-drop-target="true"]::after { content:attr(data-file-drop-label);
  position:absolute;inset:3px;z-index:5;display:grid;place-items:center;padding:5px;border:1px dashed var(--pd-accent-muted);
  border-radius:inherit;background:color-mix(in srgb, var(--pd-surface) 96%, transparent);color:var(--pd-accent-strong);font:700 11px "Segoe UI",Roboto,sans-serif;
  letter-spacing:.01em;text-align:center;pointer-events:none; }
.workspace-chat-mention-chip { max-width:190px;min-width:0;flex:none;display:inline-flex;align-items:center;height:23px;
  overflow:hidden;border:1px solid var(--pd-accent-muted);border-radius:12px;background:var(--pd-surface);color:var(--pd-accent-strong);
  font:600 10px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-mention-chip:hover,.workspace-chat-mention-chip:focus-within { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft); }
.workspace-chat-mention-chip[data-missing="true"] { border-color:var(--pd-danger-border);background:var(--pd-danger-faint);color:var(--pd-danger-text); }
.workspace-chat-mention-chip[data-missing="true"]:hover,
.workspace-chat-mention-chip[data-missing="true"]:focus-within { border-color:var(--pd-danger-border);background:var(--pd-danger-soft); }
.workspace-chat-mention-chip-main { min-width:0;align-self:stretch;display:flex;align-items:center;padding:0 3px 0 7px;
  border:0;background:transparent;color:inherit;font:inherit;cursor:pointer; }
.workspace-chat-mention-chip-main:focus-visible,.workspace-chat-mention-chip-remove:focus-visible {
  outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-2px; }
.workspace-chat-mention-chip-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-chat-mention-chip-remove { width:22px;height:21px;flex:none;display:grid;place-items:center;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);font:400 14px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-mention-chip-remove:hover { background:var(--pd-accent-soft-border);color:var(--pd-accent-strong); }
.workspace-chat-history-files { min-width:0;display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:5px;
  border-top:1px solid color-mix(in srgb, var(--pd-accent) 16%, transparent);white-space:normal; }
.workspace-chat-history-file { max-width:100%;min-width:0;height:23px;display:inline-flex;align-items:center;gap:4px;padding:0 7px 0 5px;
  overflow:hidden;border:1px solid var(--pd-accent-muted);border-radius:12px;background:var(--pd-surface);color:var(--pd-accent-strong);
  font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-history-file:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-faint); }
.workspace-chat-history-file:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:1px; }
.workspace-chat-history-file-icon { width:14px;height:14px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-size:9px; }
.workspace-chat-history-file-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-chat-history-file[data-missing="true"] { border-color:var(--pd-danger-border);background:var(--pd-danger-faint);color:var(--pd-danger-text); }
.workspace-chat-history-file[data-missing="true"]:hover { border-color:var(--pd-danger-border);background:var(--pd-danger-soft); }
.workspace-chat-history-file[data-missing="true"] .workspace-chat-history-file-icon {
  background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-chat-history-files[data-kind="result"] { border-top-color:color-mix(in srgb, var(--pd-success) 30%, transparent); }
.workspace-chat-history-files[data-kind="result"] .workspace-chat-history-file:not([data-missing="true"]) {
  border-color:var(--pd-success-border);background:var(--pd-success-faint);color:var(--pd-success-text); }
.workspace-chat-history-files[data-kind="result"] .workspace-chat-history-file:not([data-missing="true"]):hover {
  border-color:var(--pd-success-border);background:var(--pd-success-soft); }
.workspace-chat-history-files[data-kind="result"] .workspace-chat-history-file-icon {
  background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-chat-mention-inspector { position:fixed;z-index:2147483005;width:min(330px,calc(100vw - 16px));
  overflow:hidden;border:1px solid var(--viewer-border,#dadce0);border-radius:11px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.24);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-mention-inspector-header { min-height:38px;display:grid;grid-template-columns:24px minmax(0,1fr) 26px;
  align-items:center;gap:6px;padding:4px 7px 4px 9px;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-chat-mention-inspector-icon { width:24px;height:24px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-chat-mention-inspector-title { min-width:0; }
.workspace-chat-mention-inspector-title strong,.workspace-chat-mention-inspector-title span { display:block;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap; }
.workspace-chat-mention-inspector-title strong { color:var(--pd-text);font-size:11px; }
.workspace-chat-mention-inspector-title span { margin-top:1px;color:var(--pd-text-muted);font-size:9px; }
.workspace-chat-mention-inspector-close { width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);font:18px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-mention-inspector-close:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-chat-mention-inspector-close:focus-visible,.workspace-chat-mention-inspector-action:focus-visible {
  outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-2px; }
.workspace-chat-mention-inspector-body { display:grid;grid-template-columns:76px minmax(0,1fr);padding:6px 9px; }
.workspace-chat-mention-inspector-label,.workspace-chat-mention-inspector-value { min-width:0;padding:3px 0;line-height:1.35; }
.workspace-chat-mention-inspector-label { color:var(--pd-text-muted); }
.workspace-chat-mention-inspector-value { color:var(--pd-text);overflow-wrap:anywhere; }
.workspace-chat-mention-inspector-policy { display:inline-flex;align-items:center;gap:5px;max-width:100%;font-weight:700; }
.workspace-chat-mention-inspector-policy::before { content:'';width:6px;height:6px;flex:none;border-radius:50%;background:var(--pd-success); }
.workspace-chat-mention-inspector-policy[data-policy="metadata"]::before,
.workspace-chat-mention-inspector-policy[data-policy="unsupported"]::before,
.workspace-chat-mention-inspector-policy[data-policy="large"]::before { background:var(--pd-warning-text); }
.workspace-chat-mention-inspector-policy[data-policy="missing"]::before { background:var(--pd-danger-text); }
.workspace-chat-mention-inspector-note { display:flex;align-items:flex-start;gap:7px;padding:7px 9px;
  border-top:1px solid var(--pd-hover);background:var(--pd-bg);color:var(--pd-text-secondary);font-size:9px;line-height:1.45; }
.workspace-chat-mention-inspector-note svg { flex:none;margin-top:1px;color:var(--pd-success); }
.workspace-chat-mention-inspector-actions { min-height:38px;display:flex;justify-content:flex-end;gap:6px;padding:5px 7px;
  border-top:1px solid var(--viewer-divider,#e8eaed); }
.workspace-chat-mention-inspector-action { min-height:28px;padding:0 9px;border:1px solid var(--pd-border);border-radius:7px;
  background:var(--pd-surface);color:var(--pd-text);font:650 10px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-chat-mention-inspector-action:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-chat-mention-inspector-action[data-primary="true"] { border-color:var(--pd-accent-muted);color:var(--pd-accent-strong); }
.workspace-chat-mention-inspector-action:disabled { opacity:.42;cursor:default; }
.workspace-chat-mention-popover { position:fixed;z-index:2147483004;width:min(360px,calc(100vw - 16px));max-height:min(330px,52vh);
  display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--viewer-border,#dadce0);border-radius:11px;
  background:var(--pd-surface);color:var(--pd-text);box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.24);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-chat-mention-popover[hidden] { display:none; }
.workspace-chat-mention-header { min-height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);font-weight:700; }
.workspace-chat-mention-header svg { color:var(--pd-accent); }
.workspace-chat-mention-query { min-width:0;margin-left:auto;color:var(--pd-text-muted);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-chat-mention-list { min-height:44px;overflow:auto;padding:4px; }
.workspace-chat-mention-result { width:100%;min-height:43px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;gap:7px;padding:4px 7px;border:0;border-radius:7px;background:var(--pd-surface);color:var(--pd-text);
  font:500 11px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-chat-mention-result:hover,.workspace-chat-mention-result[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-chat-mention-result:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-2px; }
.workspace-chat-mention-icon { grid-row:1 / span 2;width:22px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-chat-mention-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650; }
.workspace-chat-mention-path { grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text-muted);font-size:9px; }
.workspace-chat-mention-badge { grid-column:3;grid-row:1 / span 2;padding:2px 6px;border:1px solid var(--pd-accent-soft-border);
  border-radius:8px;background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-size:8px;font-weight:750; }
.workspace-chat-mention-empty { min-height:72px;display:grid;place-items:center;padding:12px;color:var(--pd-text-muted);text-align:center; }
.workspace-chat-mention-footer { min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;
  border-top:1px solid var(--pd-hover);color:var(--pd-text-muted);font-size:9px; }
.workspace-chat-mention-footer strong { color:var(--pd-success);font-weight:650; }
.workspace-explorer-search { min-height:32px;display:flex;align-items:center;gap:4px;margin:4px 5px 0;padding:0 6px;
  border:1px solid var(--viewer-border,#dadce0);border-radius:13px;background:var(--pd-surface);color:var(--pd-text-muted); }
.workspace-explorer-search:focus-within { border-color:var(--pd-accent-muted);box-shadow:0 0 0 3px color-mix(in srgb, var(--pd-accent) 12%, transparent); }
.workspace-explorer-search input { min-width:0;flex:1;height:28px;padding:0;border:0;outline:0;background:transparent;
  color:var(--pd-text);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-search button { width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);cursor:pointer; }
.workspace-explorer-search button:hover { background:var(--pd-hover); }
.workspace-explorer-search button[hidden] { display:none; }
#viewer-explorer-menu-button[aria-expanded="true"] { background:var(--pd-hover);color:var(--pd-text); }
.workspace-explorer-status { min-height:28px;padding:5px 7px;color:var(--pd-text-muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis; }
.workspace-explorer-status[data-has-folder="true"] { min-height:32px;display:flex;align-items:center;padding:0 8px;
  color:var(--viewer-text,#202124);font:600 12px "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-status[data-transient="true"] { min-height:42px;max-height:42px;display:-webkit-box;
  padding:5px 8px;white-space:normal;overflow-wrap:anywhere;text-overflow:clip;line-height:16px;
  -webkit-box-orient:vertical;-webkit-line-clamp:2; }
.workspace-explorer-selection { min-height:34px;display:flex;align-items:center;gap:5px;padding:3px 5px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-explorer-selection[hidden] { display:none; }
.workspace-explorer-selection-count { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding-left:3px;font-size:11px;font-weight:700; }
.workspace-explorer-selection button { min-height:26px;display:inline-flex;align-items:center;justify-content:center;gap:4px;
  padding:0 7px;border:1px solid var(--pd-accent-muted);border-radius:7px;background:var(--pd-surface);color:var(--pd-accent-strong);
  font:650 10px "Segoe UI",Roboto,sans-serif;cursor:pointer;white-space:nowrap; }
.workspace-explorer-selection button:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft); }
.workspace-explorer-selection button:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:1px; }
.workspace-explorer-selection button:disabled { opacity:.45;cursor:default;background:var(--pd-surface); }
.workspace-explorer-selection-clear { width:26px;min-width:26px;padding:0 !important;border-color:transparent !important;
  background:transparent !important;color:var(--pd-text-secondary) !important;font-size:16px !important; }
#viewer-public-bookmarks { padding:6px 2px 5px;border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
#viewer-public-bookmarks[hidden] { display:none; }
@container (max-width:230px) {
  .viewer-bookmark-header { display:grid !important;grid-template-columns:minmax(0,1fr) auto auto;row-gap:4px !important; }
  .viewer-bookmark-toggle { grid-column:1 / -1;width:100%; }
  .viewer-bookmark-export { grid-column:2; }
  .viewer-bookmark-add { grid-column:3; }
}
.workspace-file-tree { flex:1;min-height:48px;overflow-y:auto;overflow-x:hidden;overflow-anchor:none;padding:1px 2px 4px; }
.workspace-case-filter { display:grid;gap:6px;padding:6px 8px;border-bottom:1px solid var(--viewer-border,#dadce0);font-size:11px; }
.workspace-case-filter[hidden], .workspace-case-detail[hidden] { display:none; }
.workspace-case-tree { height:180px;overflow:auto;min-width:0;display:grid;gap:1px;align-content:start; }
.workspace-case-tree-resizer { position:relative;height:10px;cursor:row-resize;touch-action:none;user-select:none;border-radius:4px; }
.workspace-case-tree-resizer::after { content:'';position:absolute;left:calc(50% - 18px);top:4px;width:36px;height:3px;border-radius:3px;background:var(--pd-text-muted); }
.workspace-case-tree-resizer:hover, .workspace-case-tree-resizer[data-active="true"] { background:var(--pd-accent-soft); }
.workspace-case-tree-resizer:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px; }
.workspace-case-tree:focus { outline:2px solid color-mix(in srgb,var(--pd-accent) 45%,transparent);outline-offset:1px; }
.workspace-case-tree-item { min-width:0;width:100%;display:flex;align-items:center;gap:4px;margin:0;padding:4px 6px;border:0;border-radius:6px;
  background:transparent;color:var(--pd-text);font:inherit;text-align:left;cursor:pointer; }
.workspace-case-tree-item:hover { background:var(--pd-accent-faint); }
.workspace-case-tree-item[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-weight:650; }
.workspace-case-tree-item[data-current="true"] { box-shadow:inset 3px 0 var(--pd-accent-strong); }
.workspace-case-tree-item[data-match="true"]:not([aria-selected="true"]) { color:var(--pd-accent-strong); }
.workspace-file-name-mark { padding:0;background:color-mix(in srgb,var(--pd-accent) 28%,transparent);color:inherit;font:inherit; }
.workspace-case-tree-twisty { width:12px;min-width:12px;display:grid;place-items:center;color:var(--pd-text-muted);font-size:10px;line-height:1; }
.workspace-case-tree-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-case-detail { white-space:pre-wrap;overflow-wrap:anywhere;max-height:100px;overflow:auto;margin-top:5px;line-height:1.5;color:var(--pd-text-secondary); }
.workspace-case-file-group { width:100%;min-width:0;display:flex;align-items:center;gap:4px;margin:5px 0 1px;padding:6px 8px;border:0;border-radius:5px;
  background:var(--pd-accent-faint);color:var(--pd-text-secondary);font:inherit;font-size:11px;font-weight:650;text-align:left;overflow-wrap:anywhere;cursor:pointer; }
.workspace-case-file-group:hover { background:var(--pd-accent-soft); }
.workspace-case-file-group-label { min-width:0;overflow-wrap:anywhere; }
.workspace-case-file-group:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.workspace-case-file-group[data-case-group="other"] { cursor:default; }
.workspace-file-tree[data-drop-target="true"] { border-radius:12px;background:var(--pd-accent-faint);box-shadow:inset 0 0 0 2px var(--pd-accent-muted); }
.workspace-explorer-empty { padding:18px 10px;color:var(--pd-text-muted);text-align:center;font-size:11px;line-height:1.5; }
.workspace-trash-panel { flex:none;margin:0;border:0;border-top:1px solid var(--viewer-border,#dadce0);border-radius:0;background:var(--pd-surface);overflow:hidden; }
.workspace-trash-panel[data-drop-target="true"] { background:var(--pd-danger-faint);box-shadow:inset 0 0 0 2px var(--pd-danger-text); }
.workspace-trash-panel[hidden] { display:none; }
.workspace-trash-summary { min-height:32px;display:flex;align-items:center;gap:6px;padding:0 8px;color:var(--viewer-text,#202124);
  font:600 12px "Segoe UI",Roboto,sans-serif;cursor:pointer;list-style:none; }
.workspace-trash-summary::-webkit-details-marker { display:none; }
.workspace-trash-summary::before { content:"▸";font-size:10px;transition:transform 120ms ease; }
.workspace-trash-panel[open] .workspace-trash-summary::before { transform:rotate(90deg); }
.workspace-trash-count { margin-left:auto;padding:2px 7px;border-radius:10px;background:var(--pd-hover);color:var(--pd-text-secondary);font-size:10px; }
.workspace-trash-list { max-height:190px;overflow:auto;padding:0 5px 5px;border-top:1px solid var(--pd-hover); }
.workspace-trash-empty { padding:9px;color:var(--pd-text-muted);font-size:11px; }
.workspace-trash-row { display:flex;align-items:center;gap:6px;min-height:38px;padding:4px 5px;border-radius:10px; }
.workspace-trash-row:hover { background:var(--viewer-hover,#f1f3f4); }
.workspace-trash-name { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text);font-size:11px; }
.workspace-trash-restore { flex:none;min-height:28px;padding:0 9px;border:1px solid var(--viewer-border,#dadce0);border-radius:14px;
  background:var(--pd-surface);color:var(--pd-accent);font:650 10px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-trash-restore:hover { background:var(--pd-accent-soft); }
.workspace-entry-dialog-backdrop { position:fixed;inset:0;z-index:2147483002;display:grid;place-items:center;padding:16px;
  background:rgba(var(--pd-shadow-rgb),.28);backdrop-filter:blur(2px); }
.workspace-entry-dialog { width:min(440px,100%);padding:16px;border:1px solid var(--viewer-border,#dadce0);border-radius:18px;
  background:var(--pd-surface);color:var(--viewer-text,#202124);box-shadow:0 18px 46px rgba(var(--pd-shadow-rgb),.22);font:13px "Segoe UI",Roboto,sans-serif; }
.workspace-entry-dialog h2 { margin:0 0 5px;font-size:18px;line-height:1.3; }
.workspace-entry-dialog-description { margin:0 0 14px;color:var(--pd-text-secondary);font-size:12px;line-height:1.5; }
.workspace-entry-dialog-field { display:grid;gap:6px;margin-top:11px;color:var(--pd-text);font-weight:650; }
.workspace-entry-dialog select,.workspace-entry-dialog input { width:100%;height:42px;box-sizing:border-box;padding:0 12px;
  border:1px solid var(--viewer-border,#dadce0);border-radius:12px;background:var(--pd-surface);color:var(--pd-text);font:13px "Segoe UI",Roboto,sans-serif; }
.workspace-entry-dialog select:focus,.workspace-entry-dialog input:focus { outline:3px solid color-mix(in srgb, var(--pd-accent) 16%, transparent);border-color:var(--pd-accent-muted); }
.workspace-entry-dialog-error { min-height:18px;margin-top:7px;color:var(--pd-danger-text);font-size:11px;line-height:1.4; }
.workspace-entry-dialog-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:10px; }
.workspace-entry-dialog-actions button { min-height:36px;padding:0 14px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:18px;background:var(--pd-surface);color:var(--pd-text);font:650 12px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-entry-dialog-actions button[data-entry-dialog-submit] { border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.workspace-entry-dialog-actions button:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:2px; }
.workspace-shortcuts-backdrop { position:fixed;inset:0;z-index:2147483005;display:grid;place-items:center;padding:14px;
  background:rgba(var(--pd-shadow-rgb),.30);backdrop-filter:blur(2px); }
.workspace-shortcuts-dialog { width:min(620px,100%);max-height:min(720px,calc(100vh - 28px));display:flex;flex-direction:column;
  overflow:hidden;border:1px solid var(--viewer-border,#dadce0);border-radius:14px;background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 18px 48px rgba(var(--pd-shadow-rgb),.26);font:12px/1.45 "Segoe UI",Roboto,sans-serif; }
.workspace-shortcuts-header { min-height:46px;display:flex;align-items:center;gap:10px;padding:0 10px 0 16px;
  border-bottom:1px solid var(--viewer-border,#dadce0); }
.workspace-shortcuts-title { min-width:0;flex:1;margin:0;font-size:17px;line-height:1.3; }
.workspace-shortcuts-close { width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;
  background:transparent;color:var(--pd-text-secondary);font:20px/1 Arial,sans-serif;cursor:pointer; }
.workspace-shortcuts-close:hover { background:var(--viewer-hover,#f1f3f4);color:var(--pd-text); }
.workspace-shortcuts-close:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:-2px; }
.workspace-shortcuts-body { min-height:0;overflow:auto;padding:12px 16px 14px; }
.workspace-shortcuts-intro { margin:0 0 11px;color:var(--pd-text-secondary); }
.workspace-shortcuts-groups { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 20px; }
.workspace-shortcuts-group h3 { margin:0;padding:0 0 6px;border-bottom:1px solid var(--pd-divider);color:var(--pd-text);
  font-size:12px;font-weight:750; }
.workspace-shortcut-row { min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:10px;padding:5px 0;border-bottom:1px solid var(--pd-hover); }
.workspace-shortcut-row:last-child { border-bottom:0; }
.workspace-shortcut-label { min-width:0;color:var(--pd-text);overflow-wrap:anywhere; }
.workspace-shortcut-row kbd { max-width:170px;padding:3px 7px;border:1px solid var(--pd-border);border-bottom-width:2px;
  border-radius:6px;background:var(--pd-bg);color:var(--pd-text);font:600 10px/14px "Segoe UI",Roboto,sans-serif;
  text-align:center;white-space:nowrap; }
.workspace-shortcuts-scope { margin:12px 0 0;padding-top:10px;border-top:1px solid var(--pd-divider);color:var(--pd-text-muted);font-size:10px; }
.workspace-quick-open-backdrop { position:fixed;inset:0;z-index:2147483003;display:flex;align-items:flex-start;
  justify-content:center;padding:9vh 12px 12px;background:rgba(var(--pd-shadow-rgb),.16);backdrop-filter:blur(1px); }
.workspace-quick-open { width:min(640px,100%);max-height:min(560px,82vh);display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--viewer-border,#dadce0);border-radius:12px;background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 16px 42px rgba(var(--pd-shadow-rgb),.2);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-quick-open-header { min-height:38px;display:flex;align-items:center;gap:8px;padding:0 11px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);font-weight:700; }
.workspace-quick-open-header kbd { margin-left:auto;padding:2px 6px;border:1px solid var(--pd-border);border-radius:5px;
  background:var(--pd-bg);color:var(--pd-text-secondary);font:10px "Segoe UI",Roboto,sans-serif; }
.workspace-quick-open-search { min-height:46px;display:flex;align-items:center;gap:8px;padding:0 12px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);color:var(--pd-text-secondary); }
.workspace-quick-open-search input { min-width:0;flex:1;height:44px;padding:0;border:0;outline:0;background:transparent;
  color:var(--pd-text);font:14px "Segoe UI",Roboto,sans-serif; }
.workspace-quick-open-list { min-height:54px;max-height:min(430px,65vh);overflow:auto;padding:4px; }
.workspace-quick-open-result { width:100%;min-height:42px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;
  align-items:center;column-gap:8px;padding:5px 8px;border:0;border-radius:7px;background:var(--pd-surface);color:var(--pd-text);
  font:12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-quick-open-result:hover,.workspace-quick-open-result[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-quick-open-result:focus { outline:0; }
.workspace-quick-open-result-icon { grid-row:1 / span 2;width:22px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-quick-open-result-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650; }
.workspace-quick-open-result-path { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text-muted);font-size:10px; }
.workspace-quick-open-result-badge { grid-column:3;grid-row:1 / span 2;padding:2px 6px;border:1px solid var(--pd-accent-soft-border);
  border-radius:8px;background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-size:9px;font-weight:700; }
.workspace-command-palette-result { min-height:42px;grid-template-columns:22px minmax(0,1fr) auto auto; }
.workspace-command-palette-group { position:sticky;z-index:1;top:-4px;min-height:25px;display:flex;align-items:flex-end;
  padding:7px 8px 4px;background:color-mix(in srgb,var(--pd-surface) 94%,transparent);color:var(--pd-text-muted);
  font:650 9px/1.2 "Segoe UI",Roboto,sans-serif;letter-spacing:.045em;text-transform:uppercase;backdrop-filter:blur(8px); }
.workspace-command-palette-result .workspace-quick-open-result-icon { color:var(--pd-accent); }
.workspace-command-palette-result[data-recent="true"] .workspace-quick-open-result-icon { position:relative; }
.workspace-command-palette-result[data-recent="true"] .workspace-quick-open-result-icon::after { content:"";
  position:absolute;right:0;top:1px;width:5px;height:5px;border:1px solid var(--pd-surface);border-radius:50%;background:var(--pd-accent); }
.workspace-command-palette-result .workspace-quick-open-result-icon svg { width:18px!important;height:18px!important;
  max-width:18px;max-height:18px;overflow:visible; }
.workspace-command-palette-result .workspace-quick-open-result-name { grid-column:2;grid-row:1; }
.workspace-command-palette-result .workspace-quick-open-result-path { grid-column:2;grid-row:2; }
.workspace-command-palette-state { grid-column:3;grid-row:1 / span 2;max-width:92px;padding:2px 6px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;background:var(--pd-hover);color:var(--pd-text-secondary);
  font-size:9px;font-weight:650; }
.workspace-command-palette-result[aria-disabled="true"] { opacity:.52;cursor:default; }
.workspace-command-palette-result[aria-disabled="true"]:hover { background:var(--pd-surface);color:var(--pd-text); }
.workspace-command-palette-shortcut { grid-column:4;grid-row:1 / span 2;padding:2px 6px;border:1px solid var(--pd-border);
  border-radius:5px;background:var(--pd-bg);color:var(--pd-text-secondary);font:9px "Segoe UI",Roboto,sans-serif;white-space:nowrap; }
.workspace-content-search { width:min(760px,100%); }
.workspace-content-search-options { flex:none;display:flex;align-items:center;gap:2px; }
.workspace-content-search-option { width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid transparent;
  border-radius:6px;background:var(--pd-surface);color:var(--pd-text-secondary);font:650 10px/1 Consolas,"Cascadia Code",monospace;cursor:pointer; }
.workspace-content-search-option:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-content-search-option[aria-pressed="true"] { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-content-search-option:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 20%, transparent);outline-offset:-2px; }
.workspace-content-search-list { min-height:72px;max-height:min(480px,66vh);overflow:auto;padding:4px; }
.workspace-content-search-result { width:100%;min-height:52px;display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;
  padding:6px 8px;border:0;border-radius:7px;background:var(--pd-surface);color:var(--pd-text);
  font:12px "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-content-search-result:hover,.workspace-content-search-result[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-content-search-result:focus { outline:0; }
.workspace-content-search-icon { grid-row:1 / span 2;width:22px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-content-search-path { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650; }
.workspace-content-search-location { grid-column:3;grid-row:1;padding:2px 6px;border:1px solid var(--pd-border);
  border-radius:7px;background:var(--pd-bg);color:var(--pd-text-secondary);font:9px Consolas,monospace;white-space:nowrap; }
.workspace-content-search-snippet { grid-column:2 / 4;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:var(--pd-text-secondary);font:11px/16px Consolas,"Cascadia Code",monospace; }
.workspace-content-search-snippet mark { padding:0 1px;border-radius:2px;background:var(--pd-mark-bg);color:var(--pd-mark-text); }
.workspace-content-search-empty { min-height:96px;display:grid;place-items:center;padding:18px;color:var(--pd-text-muted);text-align:center; }
.workspace-content-search-footer { justify-content:space-between;gap:10px; }
.workspace-content-search-local { flex:none;color:var(--pd-success);font-weight:650; }
.workspace-content-search-hit { border-radius:2px;background:var(--pd-mark-bg);color:var(--pd-mark-text); }
.workspace-document-outline { width:min(620px,100%); }
.workspace-document-outline-result { grid-template-columns:28px minmax(0,1fr) auto; }
.workspace-outline-kind { width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--pd-accent-faint);
  color:var(--pd-accent);font:700 11px/1 Consolas,"Cascadia Code",monospace; }
.workspace-document-outline-result[data-kind="class"] .workspace-outline-kind { background:var(--pd-symbol-class-bg);color:var(--pd-symbol-class-text); }
.workspace-document-outline-result[data-kind="variable"] .workspace-outline-kind { background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-document-outline-result[data-kind="section"] .workspace-outline-kind,
.workspace-document-outline-result[data-kind="heading"] .workspace-outline-kind { background:var(--pd-warning-soft);color:var(--pd-warning-text); }
.workspace-outline-line { grid-column:3;grid-row:1 / span 2;padding:2px 6px;border:1px solid var(--pd-border);border-radius:7px;
  background:var(--pd-bg);color:var(--pd-text-secondary);font:9px/14px Consolas,"Cascadia Code",monospace;white-space:nowrap; }
.workspace-document-outline-footer { justify-content:space-between;gap:10px; }
.workspace-document-outline-local { flex:none;color:var(--pd-success);font-weight:650; }
.workspace-quick-open-empty { padding:20px 12px;color:var(--pd-text-muted);text-align:center; }
.workspace-quick-open-footer { min-height:30px;display:flex;align-items:center;padding:0 12px;
  border-top:1px solid var(--viewer-divider,#e8eaed);color:var(--pd-text-muted);font-size:10px; }
.workspace-file-row { width:100%;max-width:100%;min-height:28px;display:flex;align-items:center;gap:4px;padding-inline-end:4px;
  box-sizing:border-box;overflow:hidden;border:0;border-radius:5px;background:transparent;color:var(--pd-text);font:12px inherit;text-align:left;cursor:pointer; }
.workspace-file-row { content-visibility:auto;contain-intrinsic-size:auto 28px; }
.workspace-file-row:hover { background:var(--viewer-hover,#f1f3f4); }
.workspace-file-row:focus-visible { outline:2px solid var(--viewer-primary,#1a73e8);outline-offset:-2px;
  background:var(--viewer-primary-soft,#e8f0fe); }
.workspace-file-row[data-selected="true"] { background:var(--viewer-primary-soft,#e8f0fe);color:var(--pd-accent-strong); }
.workspace-file-row[data-missing="true"] { background:var(--pd-danger-faint);color:var(--pd-danger-text); }
.workspace-file-missing { min-width:0;color:var(--pd-danger-text);font-size:10px;line-height:1.3;font-weight:650; }
.workspace-file-row[data-dragging="true"] { opacity:.42; }
.workspace-file-row[data-drop-target="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong);box-shadow:inset 0 0 0 2px var(--pd-accent-muted); }
.workspace-file-row[data-kind="directory"] { color:var(--viewer-text,#202124);font-weight:600; }
.workspace-folder-toggle { width:12px;min-width:12px;display:grid;place-items:center;color:var(--pd-text-muted);font-size:10px;line-height:1; }
.workspace-file-row[data-selection-mode="true"][data-kind="file"] .workspace-folder-toggle { width:15px;min-width:15px;height:15px;
  border:1px solid var(--pd-text-faint);border-radius:4px;background:var(--pd-surface);color:var(--pd-on-accent);font-size:10px;font-weight:800; }
.workspace-file-row[data-selection-mode="true"][data-kind="file"][data-selected="true"] .workspace-folder-toggle {
  border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.workspace-file-icon { width:17px;min-width:17px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-file-copy { min-width:0;flex:1 1 auto;display:grid;gap:1px;align-items:center; }
.workspace-file-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-file-meta { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--pd-text-muted);font-size:10px;line-height:1.3;font-weight:500; }
.workspace-file-tree[data-explorer-density="compact"] .workspace-file-meta { display:none; }
.workspace-file-open-state { flex:none;width:13px;height:13px;box-sizing:border-box;contain:layout paint;
  border:2px solid color-mix(in srgb,var(--pd-accent) 24%,transparent);border-top-color:var(--pd-accent);
  border-radius:50%;animation:workspace-file-open-spin .72s linear infinite; }
.workspace-file-open-state[data-phase=""] { animation:none; }
@keyframes workspace-file-open-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .workspace-file-open-state { animation:none; }
}
.workspace-file-row[data-slide-open] .workspace-file-name::after {
  content:'';display:inline-block;width:6px;height:6px;margin:0 0 1px 6px;border-radius:50%;
  background:var(--pd-accent);box-shadow:0 0 4px color-mix(in srgb,var(--pd-accent) 70%,transparent);
  vertical-align:middle;
}
.workspace-file-row[data-file-role="slide"] { min-height:60px;margin:1px 0;font-size:12px;font-weight:600; }
.workspace-file-row[data-file-role="slide"] .workspace-file-icon { width:52px;min-width:52px;height:42px; }
.workspace-slide-block { min-width:0;margin:4px 2px;border:0;border-radius:7px;
  background:var(--pd-surface);overflow:hidden; }
.workspace-slide-block-heading { display:flex;align-items:center;gap:4px;min-width:0;
  background:var(--pd-accent-faint); }
.workspace-slide-block-heading > .workspace-case-file-group { flex:0 1 auto;width:auto;max-width:45%;margin:0;
  border-radius:0;background:transparent; }
.workspace-slide-stain-actions { display:flex;flex:1;flex-wrap:wrap;gap:4px;align-items:center;min-width:0;
  padding:3px 5px 3px 0; }
.workspace-slide-stain-action { position:relative;flex:0 1 auto;min-width:0;max-width:100%;box-sizing:border-box;min-height:22px;
  white-space:normal;overflow-wrap:anywhere;padding:2px 10px;text-align:center;border:1px solid var(--pd-border);
  border-radius:4px;background:var(--pd-surface);color:var(--pd-text);font:600 10px/1.2 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-slide-stain-action:hover { border-color:var(--pd-accent);background:var(--pd-accent-soft); }
.workspace-slide-stain-action:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
.workspace-slide-stain-action:disabled { opacity:.5;cursor:default; }
.workspace-slide-stain-action[data-slide-open]::after { content:"";position:absolute;right:3px;top:3px;
  width:5px;height:5px;border-radius:50%;background:#3b82f6; }
.workspace-slide-stain-action[data-slide-current] { background:var(--pd-accent-soft);color:var(--pd-accent); }
.workspace-slide-stain-action[data-open-phase="opening"]::after { content:"";position:absolute;right:2px;top:3px;
  width:7px;height:7px;box-sizing:border-box;border:1px solid var(--pd-border);border-top-color:var(--pd-accent);
  border-radius:50%;background:transparent;animation:workspace-file-open-spin .8s linear infinite; }
@media (prefers-reduced-motion:reduce) { .workspace-slide-stain-action[data-open-phase="opening"]::after { animation:none; } }
.workspace-slide-block-strip { display:flex;flex-wrap:wrap;gap:5px;min-width:0;padding:5px; }
.workspace-slide-block-strip .workspace-file-row[data-thumbnail-card="true"] {
  position:relative;display:flex;flex-direction:column;align-items:stretch;flex:0 1 104px;width:104px;
  min-width:0;max-width:100%;box-sizing:border-box;min-height:0;margin:0;padding:4px;gap:4px;border:0;
  content-visibility:visible;font-size:10px; }
.workspace-slide-block-strip .workspace-slide-card-preview { position:relative;display:grid;width:100%;box-sizing:border-box;height:66px;
  border-radius:4px;overflow:hidden;background:var(--pd-bg); }
.workspace-slide-block-strip .workspace-file-row[data-thumbnail-card="true"] .workspace-file-icon { width:100%;min-width:0;height:100%; }
.workspace-slide-block-strip .workspace-file-icon img { width:100%;height:100%;object-fit:contain; }
.workspace-slide-stain { position:absolute;right:2px;bottom:2px;max-width:calc(100% - 4px);padding:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;
  color:var(--pd-text);font:650 11px/1.2 "Segoe UI",Roboto,sans-serif; }
.workspace-slide-block-strip .workspace-file-copy { display:none; }
.workspace-slide-block-strip .workspace-file-meta { display:none; }
.workspace-slide-block-strip .workspace-slide-preview { border:0;box-shadow:none; }
.workspace-slide-block-strip .workspace-file-open-state { position:absolute;top:7px;left:7px; }
.workspace-slide-block-strip .workspace-file-row[data-slide-open] .workspace-file-name::after { display:none; }
.workspace-slide-block-strip .workspace-file-row[data-slide-open] .workspace-slide-card-preview::after {
  content:'';position:absolute;top:3px;right:3px;width:7px;height:7px;border:0;
  border-radius:50%;background:#1a73e8;box-shadow:0 0 3px rgba(26,115,232,.5); }
/* Names-only density: slide rows drop the thumbnail slot back to the plain
   17px icon and the base 28px row height so the list packs tight. */
.workspace-file-tree[data-explorer-density="compact"]
    .workspace-file-row[data-file-role="slide"] {
  min-height:28px;margin:0;font-weight:500;
}
.workspace-file-tree[data-explorer-density="compact"]
    .workspace-file-row[data-file-role="slide"] .workspace-file-icon {
  width:17px;min-width:17px;height:auto;
}
.workspace-file-tree[data-explorer-density="compact"]
    .workspace-file-row[data-file-role="slide"] .workspace-slide-preview {
  display:none;
}
.workspace-slide-preview { width:52px;height:42px;display:block;border:1px solid var(--viewer-border,#dadce0);border-radius:5px;
  background-color:var(--pd-surface);background-image:radial-gradient(circle at 20% 58%,rgba(170,91,156,.55) 0 2px,transparent 3px),
  radial-gradient(circle at 43% 42%,rgba(194,127,179,.5) 0 2px,transparent 3px),
  radial-gradient(circle at 69% 61%,rgba(166,93,160,.5) 0 2px,transparent 3px),
  radial-gradient(circle at 82% 37%,rgba(209,157,198,.5) 0 1.5px,transparent 2.5px);
  box-shadow:0 1px 2px rgba(var(--pd-shadow-rgb),.06); }
.workspace-pane { position:relative;height:100%;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--viewer-muted-surface,#f8fafd);
  container-type:inline-size; }
.workspace-start-pane { align-items:center;justify-content:center;padding:28px;box-sizing:border-box; }
.workspace-start-pane-content { width:min(440px,100%);max-height:100%;display:grid;justify-items:center;gap:10px;padding:30px 24px;
  box-sizing:border-box;overflow:auto;border:1px solid var(--pd-border);border-radius:16px;background:var(--pd-surface);text-align:center;
  box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.06); }
.workspace-start-pane-intro { min-width:0;display:grid;justify-items:center;gap:10px; }
.workspace-start-pane-copy { min-width:0;display:grid;justify-items:center;gap:6px; }
.workspace-start-pane-icon { width:54px;height:54px;display:grid;place-items:center;border-radius:15px;
  background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-start-pane h2 { margin:4px 0 0;color:var(--pd-text);font:650 18px/1.25 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-body { max-width:330px;margin:0;color:var(--pd-text-muted);font:12px/1.6 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-project-meta { width:100%;min-width:0;display:flex;align-items:center;gap:10px; }
.workspace-start-pane-status { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text-secondary);
  font:600 11px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-project-actions { min-width:0;display:flex;align-items:center;gap:4px;margin-left:auto; }
.workspace-start-pane-project-actions[hidden],.workspace-start-pane-project-action[hidden] { display:none; }
.workspace-start-pane-project-action { min-height:27px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid var(--pd-border);
  border-radius:7px;background:var(--pd-surface);color:var(--pd-text-secondary);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-start-pane-project-action:hover:not(:disabled) { border-color:color-mix(in srgb,var(--pd-accent) 32%,var(--pd-border));
  background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-start-pane-project-action:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:2px; }
.workspace-start-pane-project-action:disabled { cursor:wait;opacity:.65; }
.workspace-start-pane-project-action[data-busy="true"] svg { animation:workspace-start-spin .75s linear infinite; }
@keyframes workspace-start-spin { to { transform:rotate(360deg); } }
.workspace-start-pane-action { min-height:36px;margin-top:5px;padding:0 18px;border:0;border-radius:18px;
  background:var(--pd-accent);color:var(--pd-on-accent);font:650 12px "Segoe UI",Roboto,sans-serif;cursor:pointer;
  transition:background-color var(--pd-dur-fast) var(--pd-ease),box-shadow var(--pd-dur-fast) var(--pd-ease); }
.workspace-start-pane-action:hover { background:var(--pd-accent-strong); }
.workspace-start-pane-action:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:3px; }
.workspace-start-pane-action[hidden] { display:none; }
.workspace-start-pane-content[data-ready="true"] { width:min(720px,100%);justify-items:stretch;gap:22px;padding:26px;text-align:left; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-intro { display:flex;align-items:center;justify-items:initial;gap:14px; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-copy { justify-items:start;gap:4px; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-icon { width:46px;height:46px;min-width:46px;border-radius:13px; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-icon svg { width:26px;height:26px; }
.workspace-start-pane-content[data-ready="true"] h2 { margin:0;font-size:20px; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-body { max-width:none; }
.workspace-start-pane-dashboard { min-width:0;display:grid;gap:20px; }
.workspace-start-pane-dashboard[hidden] { display:none; }
.workspace-start-pane-summary { min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px; }
.workspace-start-pane-metric { min-width:0;display:flex;align-items:baseline;gap:6px;padding:8px 10px;border-radius:9px;
  border:1px solid transparent;background:var(--pd-hover);color:var(--pd-text-muted);text-align:left;
  font:10.5px/1.35 "Segoe UI",Roboto,sans-serif;transition:border-color var(--pd-dur-fast) var(--pd-ease),
  background-color var(--pd-dur-fast) var(--pd-ease),transform var(--pd-dur-fast) var(--pd-ease); }
.workspace-start-pane-metric[data-available="true"] { cursor:pointer; }
.workspace-start-pane-metric[data-available="true"]::after { content:'›';margin-left:auto;color:var(--pd-accent-strong);
  font-size:15px;line-height:1;opacity:.58; }
.workspace-start-pane-metric[data-available="true"]:hover { border-color:color-mix(in srgb,var(--pd-accent) 28%,var(--pd-border));
  background:var(--pd-accent-faint);transform:translateY(-1px); }
.workspace-start-pane-metric:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:2px; }
.workspace-start-pane-metric:disabled { cursor:default; }
.workspace-start-pane-metric strong { color:var(--pd-text);font-size:14px;font-weight:700; }
.workspace-start-pane-metric span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-start-pane-section { min-width:0;display:grid;gap:8px; }
.workspace-start-pane-section-title { margin:0;color:var(--pd-text-secondary);font:650 11px/1.4 "Segoe UI",Roboto,sans-serif;
  letter-spacing:.035em;text-transform:uppercase; }
.workspace-start-pane-app-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px; }
.workspace-start-pane-app { min-width:0;min-height:62px;display:grid;justify-items:center;align-content:center;gap:6px;padding:7px 5px;
  border:1px solid var(--pd-border);border-radius:11px;background:var(--pd-surface);color:var(--pd-text-secondary);
  font:600 10.5px/1.25 "Segoe UI",Roboto,sans-serif;text-align:center;cursor:pointer;
  transition:border-color var(--pd-dur-fast) var(--pd-ease),background-color var(--pd-dur-fast) var(--pd-ease),
    color var(--pd-dur-fast) var(--pd-ease),transform var(--pd-dur-fast) var(--pd-ease); }
.workspace-start-pane-app:hover:not(:disabled) { border-color:color-mix(in srgb,var(--workspace-app-color) 32%,var(--pd-border));
  background:color-mix(in srgb,var(--workspace-app-color) 7%,var(--pd-surface));color:var(--workspace-app-color);transform:translateY(-1px); }
.workspace-start-pane-app:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:2px; }
.workspace-start-pane-app:disabled { cursor:default;opacity:.55; }
.workspace-start-pane-app-icon { width:30px;height:30px;display:grid;place-items:center;border-radius:9px;
  background:color-mix(in srgb,var(--workspace-app-color) 11%,var(--pd-surface));color:var(--workspace-app-color); }
.workspace-start-pane-app-label { width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

/* A stable product palette makes the neutral app names scannable without
   borrowing third-party product branding. The same tokens flow through Start,
   the app launcher, open-tab menus, and document tabs. */
[data-app-kind],[data-app-icon] { --workspace-app-color:var(--pd-accent-strong); }
[data-app-kind="viewer"],[data-app-icon="viewer"] { --workspace-app-color:#6d4aff; }
[data-app-kind="excel"],[data-app-icon="excel"] { --workspace-app-color:#07866f; }
[data-app-kind="word"],[data-app-icon="word"] { --workspace-app-color:#2563c9; }
[data-app-kind="slides"],[data-app-icon="slides"] { --workspace-app-color:#b86409; }
[data-app-kind="pdf"],[data-app-icon="pdf"] { --workspace-app-color:#c13c3c; }
[data-app-kind="python"],[data-app-icon="python"] { --workspace-app-color:#087c9c; }
[data-app-kind="latex"],[data-app-icon="latex"] { --workspace-app-color:#8b3bb4; }
.viewer-tab-app-icon[data-app-icon],.viewer-tab-menu-app-icon[data-app-icon] { color:var(--workspace-app-color); }
.workspace-start-pane-quick-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.workspace-start-pane-quick-action { min-width:0;min-height:64px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 11px;
  border:1px solid var(--pd-border);border-radius:11px;background:var(--pd-surface);color:var(--pd-text);text-align:left;cursor:pointer;
  font:600 12px/1.35 "Segoe UI",Roboto,sans-serif;transition:border-color var(--pd-dur-fast) var(--pd-ease),
  background-color var(--pd-dur-fast) var(--pd-ease),transform var(--pd-dur-fast) var(--pd-ease); }
.workspace-start-pane-quick-action:hover:not(:disabled) { border-color:color-mix(in srgb,var(--pd-accent) 32%,var(--pd-border));
  background:var(--pd-accent-faint);transform:translateY(-1px); }
.workspace-start-pane-quick-action:focus-visible,.workspace-start-pane-recent-row:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:2px; }
.workspace-start-pane-quick-action:disabled { color:var(--pd-text-muted);background:var(--pd-hover);cursor:not-allowed;opacity:.62; }
.workspace-start-pane-quick-icon { width:28px;height:28px;min-width:28px;display:grid;place-items:center;border-radius:8px;
  background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-start-pane-quick-action:disabled .workspace-start-pane-quick-icon { background:transparent;color:inherit; }
.workspace-start-pane-quick-copy { min-width:0;display:grid;gap:2px; }
.workspace-start-pane-quick-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-start-pane-quick-detail { min-width:0;color:var(--pd-text-muted);font:10px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-quick-meta { min-width:0;padding:2px 5px;border:1px solid var(--pd-border);border-radius:5px;background:var(--pd-hover);
  color:var(--pd-text-muted);font:9px/1.2 "Segoe UI",Roboto,sans-serif;white-space:nowrap; }
.workspace-start-pane-quick-meta[hidden] { display:none; }
.workspace-start-pane-case-empty { margin:2px 0 0;padding:13px;border:1px dashed var(--pd-border);border-radius:10px;
  color:var(--pd-text-muted);font:12px/1.5 "Segoe UI",Roboto,sans-serif;text-align:center; }
.workspace-start-pane-case-list { min-width:0;display:grid;gap:3px; }
.workspace-start-pane-case-list[hidden] { display:none; }
.workspace-start-pane-case-row { width:100%;min-width:0;display:grid;gap:2px;padding:10px 12px;border:1px solid var(--pd-border);
  border-radius:10px;background:var(--pd-surface);color:inherit;font:inherit;text-align:start;cursor:pointer; }
.workspace-start-pane-case-row:hover { border-color:color-mix(in srgb,var(--pd-accent) 32%,var(--pd-border));
  background:var(--pd-accent-faint); }
.workspace-start-pane-case-row:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:2px; }
.workspace-start-pane-case-key { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:600 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-case-meta { min-width:0;color:var(--pd-text-muted);font:11px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-recent-empty { margin:2px 0 0;padding:13px;border:1px dashed var(--pd-border);border-radius:10px;
  color:var(--pd-text-muted);font:12px/1.5 "Segoe UI",Roboto,sans-serif;text-align:center; }
.workspace-start-pane-recent-list { min-width:0;display:grid;gap:3px; }
.workspace-start-pane-recent-list[hidden] { display:none; }
.workspace-start-pane-recent-item { min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:2px;
  border-radius:9px;color:var(--pd-text); }
.workspace-start-pane-recent-item:hover { background:var(--pd-hover); }
.workspace-start-pane-recent-item[data-open="true"] { background:var(--pd-accent-faint); }
.workspace-start-pane-recent-item[data-missing="true"] { background:var(--pd-danger-faint);color:var(--pd-danger-text); }
.workspace-start-pane-recent-row { width:100%;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;
  gap:10px;padding:7px 9px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer; }
.workspace-start-pane-recent-row:hover:not(:disabled) { background:transparent; }
.workspace-start-pane-recent-row[data-open="true"],.workspace-start-pane-recent-row[data-missing="true"] { background:transparent; }
.workspace-start-pane-recent-row:disabled { color:var(--pd-text-muted);cursor:not-allowed;opacity:.7; }
.workspace-start-pane-recent-remove { width:28px;height:28px;display:grid;place-items:center;padding:0;border:0;border-radius:7px;
  background:transparent;color:var(--pd-text-muted);cursor:pointer;opacity:0;transition:opacity 120ms ease,background 120ms ease,color 120ms ease; }
.workspace-start-pane-recent-item:hover .workspace-start-pane-recent-remove,
.workspace-start-pane-recent-item:focus-within .workspace-start-pane-recent-remove,
.workspace-start-pane-recent-item[data-missing="true"] .workspace-start-pane-recent-remove { opacity:1; }
.workspace-start-pane-recent-remove:hover { background:var(--pd-surface);color:var(--pd-danger-text); }
.workspace-start-pane-recent-remove:focus-visible { opacity:1;outline:2px solid color-mix(in srgb,var(--pd-accent) 35%,transparent);outline-offset:1px; }
.workspace-start-pane-recent-extension { width:38px;overflow:hidden;padding:5px 3px;box-sizing:border-box;border-radius:7px;
  background:var(--pd-hover);color:var(--pd-text-secondary);font:700 9px/1.2 "Segoe UI",Roboto,sans-serif;text-align:center;text-overflow:ellipsis; }
.workspace-start-pane-recent-row[data-missing="true"] .workspace-start-pane-recent-extension { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-start-pane-recent-copy { min-width:0;display:grid;gap:1px; }
.workspace-start-pane-recent-name,.workspace-start-pane-recent-path { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-start-pane-recent-name { font:600 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-recent-meta { min-width:0;display:flex;align-items:center;gap:6px;color:var(--pd-text-muted);
  font:10.5px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-recent-path { min-width:0; }
.workspace-start-pane-recent-time { flex:none;white-space:nowrap; }
.workspace-start-pane-recent-time::before { content:"·";margin-right:6px;color:var(--pd-border-strong,var(--pd-text-muted)); }
.workspace-start-pane-recent-state { padding:3px 7px;border-radius:999px;background:var(--pd-hover);color:var(--pd-text-muted);
  font:600 9.5px/1.3 "Segoe UI",Roboto,sans-serif; }
.workspace-start-pane-recent-row[data-open="true"] .workspace-start-pane-recent-state { background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-start-pane-recent-row[data-missing="true"] .workspace-start-pane-recent-state { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-start-pane-live { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0; }
@media (hover:none) {
  .workspace-start-pane-recent-remove { opacity:1; }
}
@container (max-width:520px) {
  .workspace-start-pane { padding:14px; }
  .workspace-start-pane-content[data-ready="true"] { gap:18px;padding:20px 16px; }
  .workspace-start-pane-content[data-ready="true"] .workspace-start-pane-intro { align-items:flex-start; }
  .workspace-start-pane-project-meta { align-items:flex-start;flex-direction:column;gap:6px; }
  .workspace-start-pane-project-actions { margin-left:0; }
  .workspace-start-pane-app-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .workspace-start-pane-quick-actions { grid-template-columns:1fr; }
}
@container (max-width:360px) {
  .workspace-start-pane-summary { gap:6px; }
  .workspace-start-pane-metric { gap:4px;padding-inline:7px; }
  .workspace-start-pane-metric[data-available="true"]::after { display:none; }
  .workspace-start-pane-app-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.workspace-pane-toolbar { position:relative;min-height:36px;display:flex;align-items:center;gap:3px;padding:3px 4px;overflow-x:auto;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface);box-shadow:none; }
.workspace-pane-title { min-width:0;flex:1;font-size:13px;font-weight:600;color:var(--viewer-text,#202124);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-document-search { position:absolute;z-index:12;top:41px;right:6px;width:min(390px,calc(100% - 12px));
  display:grid;gap:4px;padding:5px;border:1px solid var(--viewer-border,#dadce0);border-radius:8px;background:var(--pd-surface);
  color:var(--viewer-text,#202124);box-shadow:0 6px 18px rgba(var(--pd-shadow-rgb),.18);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-document-search-row { min-width:0;display:grid;grid-template-columns:16px minmax(64px,1fr) auto repeat(4,27px);
  align-items:center;gap:3px; }
.workspace-document-replace-row { grid-template-columns:16px minmax(72px,1fr) 27px 27px; }
.workspace-document-replace-row[hidden] { display:none; }
.workspace-document-search input { min-width:0;height:27px;padding:0 7px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:5px;outline:0;background:var(--pd-surface);color:var(--viewer-text,#202124);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-document-search input:focus { border-color:var(--pd-accent-muted);box-shadow:0 0 0 2px color-mix(in srgb, var(--pd-accent) 14%, transparent); }
.workspace-document-search[data-not-found="true"] .workspace-document-find-input { border-color:var(--pd-danger); }
.workspace-go-to-line { position:absolute;z-index:13;top:41px;right:6px;width:min(300px,calc(100% - 12px));
  display:grid;grid-template-columns:18px minmax(80px,1fr) auto 27px;align-items:center;gap:4px;padding:5px;
  border:1px solid var(--viewer-border,#dadce0);border-radius:8px;background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 6px 18px rgba(var(--pd-shadow-rgb),.18);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-go-to-line-prefix { color:var(--viewer-blue,var(--pd-accent));font-weight:700;text-align:center; }
.workspace-go-to-line input { min-width:0;height:27px;padding:0 7px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:5px;outline:0;background:var(--pd-surface);color:var(--viewer-text,#202124);font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-go-to-line input:focus { border-color:var(--viewer-blue,var(--pd-accent));box-shadow:0 0 0 1px color-mix(in srgb, var(--pd-accent) 18%, transparent); }
.workspace-go-to-line[data-invalid="true"] input { border-color:var(--pd-danger);box-shadow:0 0 0 1px rgba(217,48,37,.12); }
.workspace-go-to-line-status { min-width:30px;color:var(--viewer-muted,var(--pd-text-secondary));font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap; }
.workspace-go-to-line button { width:27px;height:27px;padding:0;border:0;border-radius:5px;background:transparent;
  color:var(--viewer-muted,var(--pd-text-secondary));font:14px "Segoe UI Symbol","Segoe UI",sans-serif;cursor:pointer; }
.workspace-go-to-line button:hover,.workspace-go-to-line button:focus-visible { background:var(--pd-accent-faint);color:var(--viewer-blue,var(--pd-accent));outline:0; }
.workspace-editor-statusbar { min-height:24px;flex:0 0 24px;display:flex;align-items:center;gap:5px;padding:0 6px;
  border-top:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface);color:var(--viewer-muted,var(--pd-text-secondary));
  font:10px/1 "Segoe UI",Roboto,sans-serif;box-sizing:border-box; }
.workspace-editor-position { height:20px;padding:0 6px;border:0;border-radius:4px;background:transparent;color:inherit;
  font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer; }
.workspace-editor-position:hover,.workspace-editor-position:focus-visible { outline:0;background:var(--pd-accent-soft);color:var(--viewer-blue,var(--pd-accent)); }
.workspace-editor-selection { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums; }
.workspace-editor-selection[hidden] { display:none; }
.workspace-editor-outline { min-width:32px;height:20px;flex:1;display:flex;align-items:center;gap:4px;padding:0 5px;
  border:0;border-left:1px solid var(--viewer-divider,#e8eaed);border-radius:0 4px 4px 0;background:transparent;
  color:var(--viewer-muted,var(--pd-text-secondary));font:inherit;text-align:left;cursor:pointer;overflow:hidden; }
.workspace-editor-outline:hover,.workspace-editor-outline:focus-visible { outline:0;background:var(--pd-accent-soft);color:var(--viewer-blue,var(--pd-accent)); }
.workspace-editor-outline[data-empty="true"] { color:var(--pd-text-faint); }
.workspace-editor-outline-icon { width:13px;height:13px;flex:0 0 13px; }
.workspace-editor-outline-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-editor-language { padding:0 4px;color:var(--pd-text-muted);white-space:nowrap; }
.workspace-document-search-count { min-width:34px;color:var(--pd-text-muted);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums; }
.workspace-document-search button { width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid transparent;
  border-radius:5px;background:transparent;color:var(--pd-text-secondary);cursor:pointer; }
.workspace-document-search button:hover { background:var(--viewer-hover,#f1f3f4);color:var(--pd-text); }
.workspace-document-search button:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 28%, transparent);outline-offset:0; }
.workspace-document-search button:disabled { opacity:.38;cursor:default; }
.workspace-document-search button[aria-pressed="true"] { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-action { height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;
  border:1px solid var(--viewer-border,#dadce0);border-radius:16px;background:var(--pd-surface);color:var(--viewer-secondary-text,#5f6368);
  font:600 12px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer;box-shadow:0 1px 1px rgba(var(--pd-shadow-rgb),.04); }
.workspace-action-label { font:inherit;line-height:inherit; }
.workspace-action:hover { background:var(--viewer-hover,#f1f3f4);color:var(--viewer-text,#202124); }
.workspace-action:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:2px; }
.workspace-action:disabled { cursor:default;opacity:.48; }
.workspace-action.primary { border-color:var(--viewer-primary,#1a73e8);background:var(--viewer-primary,#1a73e8);color:var(--pd-on-accent); }
.workspace-action.primary:hover { border-color:var(--pd-accent-strong);background:var(--pd-accent-strong); }
.workspace-word-export-menu { position:absolute;z-index:32;top:37px;right:4px;width:min(280px,calc(100% - 8px));display:grid;gap:2px;
  padding:5px;border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-surface);
  box-shadow:0 8px 24px rgba(var(--pd-shadow-rgb),.2); }
.workspace-word-export-menu[hidden] { display:none; }
.workspace-word-export-option { min-height:44px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;
  gap:7px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--pd-text);
  font:600 11px/1.3 "Segoe UI",Roboto,sans-serif;text-align:left;cursor:pointer; }
.workspace-word-export-option:hover,.workspace-word-export-option:focus-visible { outline:0;background:var(--pd-hover); }
.workspace-word-export-option:disabled { opacity:.48;cursor:default; }
.workspace-word-export-option[aria-disabled="true"] { cursor:not-allowed; }
.workspace-word-export-option[aria-disabled="true"] .workspace-word-export-option-detail { color:var(--pd-danger-text); }
.workspace-word-export-option svg { grid-row:1/span 2;color:var(--pd-text-secondary); }
.workspace-word-export-option-label { align-self:end; }
.workspace-word-export-option-detail { align-self:start;color:var(--pd-text-muted);font-size:9.5px;font-weight:500; }
.workspace-python-body { --workspace-split-primary:55%;flex:1;min-height:0;display:grid;
  grid-template-columns:minmax(180px,var(--workspace-split-primary)) 5px minmax(160px,1fr);gap:0;padding:0; }
.workspace-code-panel { min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;
  border:0;border-radius:0;background:var(--pd-surface);box-shadow:none; }
.workspace-code-panel.output { border-left:1px solid var(--pd-terminal-border);background:var(--pd-terminal-bg); }
.workspace-code-heading { height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;border-bottom:1px solid var(--viewer-divider,#e8eaed);
  background:var(--pd-surface);color:var(--pd-text-secondary);font:700 10px/1 "Segoe UI",Roboto,sans-serif;letter-spacing:.055em;text-transform:uppercase; }
.workspace-code-panel.output .workspace-code-heading { border-color:var(--pd-terminal-border);background:var(--pd-terminal-header);color:var(--pd-terminal-text); }
.workspace-editor-tools { min-width:0;margin-left:auto;display:flex;align-items:center;gap:3px;overflow-x:auto;
  overscroll-behavior-inline:contain;scrollbar-width:none;text-transform:none;letter-spacing:0; }
.workspace-editor-tools::-webkit-scrollbar { display:none; }
.workspace-editor-tool { min-width:24px;height:24px;padding:0 6px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text-secondary);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-editor-tool:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-editor-tool:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 28%,transparent);outline-offset:1px; }
.workspace-editor-tool:disabled { opacity:.38;cursor:default; }
.workspace-editor-tool.is-bold { font-weight:800; }
.workspace-editor-tool.is-italic { font-style:italic; }
.workspace-word-dynamic-field-tools { min-width:0;height:24px;display:inline-flex;align-items:center;gap:3px; }
.workspace-word-dynamic-field-tools select { min-width:0;height:24px;box-sizing:border-box;padding:0 18px 0 5px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text-secondary);
  font:600 10px/1 "Segoe UI",Roboto,sans-serif; }
.workspace-word-dynamic-field-tools [data-word-dynamic-field-type] { width:92px; }
.workspace-word-dynamic-field-tools [data-word-dynamic-field-format] { width:62px; }
.workspace-word-dynamic-field-tools select:disabled { opacity:.45; }
.workspace-word-section-label { height:24px;display:flex;align-items:center;gap:4px;padding-left:4px;
  color:var(--pd-text-muted);font:600 9px/1 "Segoe UI",Roboto,sans-serif;white-space:nowrap; }
.workspace-word-section-label select { width:82px;min-width:58px;height:24px;padding:0 18px 0 5px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text-secondary);
  font:600 10px/1 "Segoe UI",Roboto,sans-serif; }
.workspace-python-history-select { width:min(150px,22vw);height:24px;min-width:72px;border:1px solid var(--pd-border);
  border-radius:6px;background:var(--pd-surface);color:var(--pd-text-secondary);font:10px "Segoe UI",Roboto,sans-serif; }
.workspace-python-history-select:disabled { opacity:.42; }
.workspace-code-panel.output .workspace-editor-tool { border-color:var(--pd-terminal-border);background:var(--pd-terminal-bg);color:var(--pd-terminal-text); }
.workspace-code-dot { width:7px;height:7px;border-radius:50%;background:var(--pd-app-python); }
.workspace-code-panel.output .workspace-code-dot { background:var(--pd-app-python); }
.workspace-python-editor { width:100%;flex:1;min-height:0;resize:none;padding:10px;border:0;
  outline:0;background:var(--pd-surface);color:var(--pd-code-text);font:13px/1.65 Consolas,"Cascadia Code",monospace;tab-size:4; }
.workspace-python-output { min-width:0;min-height:0;flex:1;overflow:auto;margin:0;padding:10px;background:var(--pd-terminal-bg);
  color:var(--pd-terminal-text-bright);font:12px/1.65 Consolas,"Cascadia Code",monospace;white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-python-artifacts { display:flex;flex-wrap:wrap;gap:6px;padding:0 8px 6px;background:var(--pd-terminal-bg); }
.workspace-python-artifacts img { max-width:min(100%,420px);max-height:280px;object-fit:contain;background:var(--pd-surface);border-radius:6px; }
.workspace-python-status, .workspace-sheet-status, .workspace-pdf-status, .workspace-word-status, .workspace-latex-status { max-width:240px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:11px;
  background:var(--viewer-hover,#f1f3f4);color:var(--pd-text-secondary);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.workspace-python-status::before, .workspace-sheet-status::before, .workspace-pdf-status::before,
.workspace-word-status::before, .workspace-latex-status::before { content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--pd-text-faint); }
[class*="workspace-"][class$="-status"][data-state="ready"]::before,
[class*="workspace-"][class$="-status"][data-state="saved"]::before,
[class*="workspace-"][class$="-status"][data-state="reloaded"]::before { background:var(--pd-success); }
[class*="workspace-"][class$="-status"][data-state="dirty"]::before { background:var(--pd-warning); }
[class*="workspace-"][class$="-status"][data-state="saving"]::before { background:var(--pd-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pd-accent) 13%, transparent); }
[class*="workspace-"][class$="-status"][data-state="conflict"] { background:var(--pd-warning-soft);color:var(--pd-warning-text); }
[class*="workspace-"][class$="-status"][data-state="conflict"]::before,
[class*="workspace-"][class$="-status"][data-state="error"]::before { background:var(--pd-danger); }
.workspace-sheet-formula { min-height:38px;display:flex;align-items:center;gap:6px;padding:4px 6px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
.workspace-sheet-address { width:54px;color:var(--pd-text-secondary);font:600 12px Consolas,monospace;text-align:center; }
.workspace-sheet-formula input { min-width:0;flex:1;height:28px;padding:0 9px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:5px;outline:0;font:12px Consolas,monospace; }
.workspace-sheet-tools { display:flex;align-items:center;gap:3px; }
.workspace-sheet-tool { width:28px;height:28px;padding:0;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text-secondary);font:700 13px/1 "Segoe UI",sans-serif;cursor:pointer; }
.workspace-sheet-tool:hover { border-color:var(--pd-app-excel);background:color-mix(in srgb,var(--pd-app-excel) 9%,var(--pd-surface));color:var(--pd-success-text); }
.workspace-sheet-tool:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-app-excel) 30%,transparent);outline-offset:1px; }
.workspace-sheet-tool:disabled { opacity:.35;cursor:default; }
.workspace-sheet-wrap { flex:1;min-height:0;overflow:auto;margin:0;border:0;
  border-radius:0;background:var(--pd-surface);box-shadow:none; }
.workspace-sheet { border-collapse:separate;border-spacing:0;table-layout:fixed;font:12px "Segoe UI",Roboto,sans-serif; }
.workspace-sheet th { position:sticky;top:0;z-index:3;width:104px;min-width:104px;height:27px;border:0;
  border-right:1px solid var(--pd-border);border-bottom:1px solid var(--pd-border);background:var(--pd-hover);color:var(--pd-text-secondary);font-weight:600; }
.workspace-sheet th:first-child { left:0;z-index:5;width:46px;min-width:46px; }
.workspace-sheet tbody th { position:sticky;left:0;z-index:2;width:46px;min-width:46px;background:var(--pd-hover); }
.workspace-sheet td { width:104px;min-width:104px;height:27px;padding:0;border:0;border-right:1px solid var(--pd-divider);
  border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-sheet-cell { width:100%;height:26px;padding:0 6px;border:0;outline:0;background:transparent;color:var(--pd-text);font:12px inherit; }
.workspace-sheet-cell:focus { box-shadow:inset 0 0 0 2px var(--pd-app-excel); }
.workspace-sheet-footer { height:32px;display:flex;align-items:center;padding:0 8px;margin:0;
  border:0;border-top:1px solid var(--viewer-border,#dadce0);border-radius:0;background:var(--pd-surface);color:var(--pd-text-secondary);font-size:11px; }
.workspace-sheet-tab { height:27px;display:flex;align-items:center;padding:0 14px;border-bottom:2px solid var(--pd-app-excel);
  color:var(--pd-success-text);font-weight:700; }
.workspace-sheet-selection-summary { min-width:0;margin-left:auto;padding-left:12px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:var(--pd-text-secondary);font-variant-numeric:tabular-nums; }
.workspace-preview { flex:1;min-height:0;overflow:auto;margin:0;padding:10px;background:var(--pd-surface);color:var(--pd-text);
  font:13px/1.65 Consolas,"Cascadia Code",monospace;white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-preview-image { max-width:100%;max-height:100%;margin:auto;object-fit:contain; }
.workspace-pdf-body { position:relative;flex:1;min-height:0;display:flex;background:var(--pd-doc-backdrop); }
.workspace-pdf-frame { display:block;width:100%;max-width:100%;min-width:0;height:100%;border:0;background:var(--pd-surface); }
.workspace-pdf-view-controls { position:absolute;z-index:3;right:14px;bottom:14px;display:flex;gap:4px;padding:4px;
  border:1px solid var(--pd-border);border-radius:10px;background:color-mix(in srgb,var(--pd-surface) 94%,transparent);box-shadow:var(--pd-shadow-raise); }
.workspace-pdf-view-controls[hidden] { display:none; }
.workspace-pdf-view-controls button { width:30px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;
  color:var(--pd-text-secondary);font:700 13px/1 "Segoe UI",sans-serif;cursor:pointer; }
.workspace-pdf-view-controls button:hover,.workspace-pdf-view-controls button[aria-pressed="true"] {
  background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-pdf-view-controls button:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 30%,transparent);outline-offset:1px; }
.workspace-pdf-view-controls button:disabled { opacity:.35;cursor:default; }
.workspace-pdf-page-input { width:48px;height:28px;padding:0 4px;border:0;border-inline:1px solid var(--pd-divider);
  outline:0;background:transparent;color:var(--pd-text);font:600 11px/1 Consolas,monospace;text-align:center; }
.workspace-pdf-page-input:focus { background:var(--pd-accent-soft);box-shadow:inset 0 0 0 1px var(--pd-accent-muted); }
.workspace-pdf-bookmark-select { max-width:116px;height:28px;padding:0 24px 0 7px;border:0;border-left:1px solid var(--pd-divider);
  outline:0;background:transparent;color:var(--pd-text-secondary);font:600 10px/1 "Segoe UI",sans-serif;cursor:pointer; }
.workspace-pdf-bookmark-select:focus { background:var(--pd-accent-soft);box-shadow:inset 0 0 0 1px var(--pd-accent-muted); }
.workspace-pdf-bookmark-select:disabled { opacity:.45;cursor:default; }
.workspace-pdf-zoom-label { min-width:38px;align-self:center;color:var(--pd-text-secondary);
  font:600 10px/1 Consolas,monospace;text-align:center;font-variant-numeric:tabular-nums; }
.workspace-pdf-empty { margin:auto;display:grid;justify-items:center;gap:10px;padding:22px;color:var(--pd-text-secondary);text-align:center;font-size:12px; }
.workspace-pdf-frame[hidden],.workspace-pdf-empty[hidden] { display:none; }
.workspace-pdf-empty svg { color:var(--pd-danger); }
.workspace-word-body { flex:1;min-height:0;overflow:auto;padding:16px;background:var(--pd-hover); }
.workspace-word-page { position:relative;width:min(760px,100%);min-height:100%;margin:0 auto;padding:48px 56px;border:1px solid var(--pd-border);
  background:var(--pd-surface);box-shadow:0 4px 16px rgba(var(--pd-shadow-rgb),.10);box-sizing:border-box; }
.workspace-word-editor { width:100%;min-height:720px;resize:none;padding:0;border:0;outline:0;background:var(--pd-surface);color:var(--pd-text);
  font:15px/1.65 Georgia,"Times New Roman",serif;white-space:pre-wrap;overflow-wrap:anywhere;box-sizing:border-box; }
.workspace-latex-body { --workspace-split-primary:50%;flex:1;min-height:0;display:grid;
  grid-template-columns:minmax(190px,var(--workspace-split-primary)) 5px minmax(190px,1fr);background:var(--pd-surface); }
.workspace-latex-source { min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--viewer-divider,#e8eaed); }
.workspace-latex-editor { width:100%;flex:1;min-height:0;resize:none;padding:12px;border:0;outline:0;box-sizing:border-box;
  background:var(--pd-surface);color:var(--pd-code-text);font:12.5px/1.6 Consolas,"Cascadia Code",monospace;tab-size:2;white-space:pre;overflow:auto; }
.workspace-latex-preview-wrap { min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--pd-hover); }
.workspace-latex-preview { flex:1;min-height:0;overflow:auto;padding:14px; }
.workspace-latex-paper { width:min(760px,100%);min-height:100%;margin:0 auto;padding:48px 56px;box-sizing:border-box;
  border:1px solid var(--pd-border);background:var(--pd-surface);color:var(--pd-text);box-shadow:0 4px 16px rgba(var(--pd-shadow-rgb),.10);
  font:15px/1.65 Georgia,"Times New Roman",serif;overflow-wrap:anywhere; }
.workspace-latex-title { margin:0 0 34px;text-align:center; }
.workspace-latex-title h1 { margin:0 0 16px;font-size:27px;line-height:1.25;font-weight:650; }
.workspace-latex-author { font-size:15px; }
.workspace-latex-date { margin-top:6px;color:var(--pd-text-secondary);font-size:13px; }
.workspace-latex-paper h2 { margin:28px 0 10px;font-size:20px;line-height:1.3; }
.workspace-latex-paper h3 { margin:22px 0 8px;font-size:17px;line-height:1.3; }
.workspace-latex-paper h4 { margin:18px 0 7px;font-size:15px;line-height:1.3; }
.workspace-latex-paper p { margin:0 0 13px;text-align:justify; }
.workspace-latex-abstract { margin:0 auto 28px;padding:0 24px;font-size:13px; }
.workspace-latex-abstract h2 { margin:0 0 7px;text-align:center;font-size:14px; }
.workspace-latex-reference { margin:0 0 12px;padding-left:18px;text-indent:-18px;font-size:13px; }
.workspace-split-resizer { position:relative;z-index:3;width:5px;min-width:5px;min-height:0;padding:0;border:0;
  background:var(--pd-hover);cursor:col-resize;touch-action:none;outline:0; }
.workspace-split-resizer::before { content:"";position:absolute;inset:0 auto 0 2px;width:1px;background:var(--pd-border);
  transition:background 120ms ease,box-shadow 120ms ease; }
.workspace-split-resizer:hover::before,.workspace-split-resizer:focus-visible::before,
.workspace-split-resizer[data-active="true"]::before { background:var(--viewer-primary,#1a73e8);
  box-shadow:0 0 0 1px color-mix(in srgb, var(--pd-accent) 12%, transparent); }
.workspace-split-resizer[data-orientation="horizontal"] { width:auto;min-width:0;height:5px;min-height:5px;cursor:row-resize; }
.workspace-split-resizer[data-orientation="horizontal"]::before { inset:2px 0 auto;width:auto;height:1px; }
body.viewer-resizing-document-split { user-select:none; }
@container (max-width:420px) {
  .workspace-pane-toolbar { overflow-x:hidden; }
  .workspace-pane-title { min-width:0; }
  .workspace-python-status, .workspace-sheet-status, .workspace-pdf-status,
  .workspace-word-status, .workspace-latex-status { position:absolute!important;width:1px;height:1px;
    margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
  .workspace-action { width:28px;min-width:28px;padding:0; }
  .workspace-action-label { display:none; }
  .workspace-word-body { padding:8px; }
  .workspace-word-page { padding:28px 24px; }
  .workspace-latex-preview { padding:8px; }
  .workspace-latex-paper { padding:30px 24px; }
}
.workspace-card-resizer { position:absolute;top:0;bottom:0;
  z-index:70;width:var(--viewer-resizer-hit-width,9px);padding:0;border:0;background:transparent;cursor:col-resize;
  touch-action:none;outline:none; }
.workspace-card-resizer::before { content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;
  background:transparent;transform:translateX(-50%);transition:background 120ms ease; }
.workspace-card-resizer:hover::before,
.workspace-card-resizer:focus-visible::before,
body.viewer-resizing-cards .workspace-card-resizer[data-active="true"]::before { background:var(--viewer-primary,#1a73e8); }
#viewer-explorer-resizer { left:calc(var(--viewer-explorer-width) - 4px); }
#viewer-chat-resizer { right:calc(var(--viewer-chat-width) - 4px); }
body.viewer-resizing-cards { cursor:col-resize;user-select:none; }
body.viewer-explorer-closed #viewer-explorer-resizer,
body.viewer-chat-closed #viewer-chat-resizer { display:none; }
.workspace-confirm-backdrop { position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:16px;
  background:rgba(var(--pd-shadow-rgb),.28);backdrop-filter:blur(1px); }
.workspace-confirm-card { width:min(390px,100%);padding:18px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:18px;background:var(--pd-surface);color:var(--viewer-text,#202124);box-shadow:0 12px 36px rgba(var(--pd-shadow-rgb),.24);
  font:13px/1.5 "Segoe UI",Roboto,sans-serif; }
.workspace-confirm-title { margin:0 0 7px;font-size:18px;font-weight:650; }
.workspace-confirm-message { margin:0;color:var(--viewer-secondary-text,#5f6368);overflow-wrap:anywhere; }
.workspace-confirm-actions { display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-top:18px; }
.workspace-confirm-actions button { min-height:34px;padding:0 13px;border:1px solid var(--viewer-border,#dadce0);
  border-radius:17px;background:var(--pd-surface);color:var(--viewer-secondary-text,#5f6368);font:600 12px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-confirm-actions button:hover { background:var(--viewer-hover,#f1f3f4); }
.workspace-confirm-actions .danger { color:var(--pd-danger-text); }
.workspace-confirm-actions .primary { border-color:var(--viewer-primary,#1a73e8);background:var(--viewer-primary,#1a73e8);color:var(--pd-on-accent); }
.workspace-confirm-actions .primary:hover { background:var(--pd-accent-strong); }
.workspace-save-conflict-card { width:min(470px,100%); }
.workspace-save-conflict-meta { display:flex;align-items:center;gap:7px;margin-top:12px;padding:9px 10px;
  border:1px solid var(--pd-warning-border);border-radius:9px;background:var(--pd-warning-soft);color:var(--pd-warning-text);font-size:11px; }
.workspace-save-conflict-meta svg { flex:0 0 16px; }
.workspace-save-conflict-actions { align-items:center; }
.workspace-save-conflict-actions button[data-save-conflict-choice="overwrite"] { color:var(--pd-danger-text); }
.workspace-history-dialog { width:min(960px,100%);height:min(680px,calc(100vh - 32px));min-height:0;display:flex;
  flex-direction:column;padding:0;overflow:hidden;border-radius:18px; }
.workspace-history-header { min-height:52px;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 16px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-heading { min-width:0;flex:1; }
.workspace-history-heading .workspace-confirm-title { margin:0;font-size:16px; }
.workspace-history-subtitle { margin-top:1px;color:var(--pd-text-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-close { width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;
  background:transparent;color:var(--pd-text-secondary);cursor:pointer; }
.workspace-history-close:hover,.workspace-history-close:focus-visible { outline:0;background:var(--pd-hover);color:var(--pd-text); }
.workspace-history-body { flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr); }
.workspace-history-sidebar { min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--viewer-divider,#e8eaed);
  background:var(--pd-bg); }
.workspace-history-sidebar-actions { padding:8px;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-checkpoint { width:100%;height:30px;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;
  border:1px solid var(--pd-accent-muted);border-radius:15px;background:var(--pd-surface);color:var(--pd-accent-strong);font:600 11px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-history-checkpoint:hover,.workspace-history-checkpoint:focus-visible { outline:0;background:var(--pd-accent-soft); }
.workspace-history-checkpoint-form { display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;gap:4px; }
.workspace-history-checkpoint-form[hidden] { display:none; }
.workspace-history-checkpoint-form input { min-width:0;height:30px;padding:0 8px;border:1px solid var(--pd-accent-muted);border-radius:7px;
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-history-checkpoint-form input:focus { border-color:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--pd-accent) 13%, transparent); }
.workspace-history-checkpoint-form button,.workspace-history-compare-actions button,
.workspace-history-manage button { width:28px;height:28px;display:grid;place-items:center;
  padding:0;border:1px solid var(--viewer-border,#dadce0);border-radius:50%;background:var(--pd-surface);color:var(--pd-text-secondary);cursor:pointer; }
.workspace-history-checkpoint-form button:hover,.workspace-history-checkpoint-form button:focus-visible,
.workspace-history-compare-actions button:hover,.workspace-history-compare-actions button:focus-visible,
.workspace-history-manage button:hover,.workspace-history-manage button:focus-visible {
  outline:0;background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-history-checkpoint-form button[type="submit"] { border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.workspace-history-list { min-height:0;overflow:auto;padding:4px; }
.workspace-history-version { width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;
  min-height:50px;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:var(--pd-text);text-align:left;cursor:pointer; }
.workspace-history-version:hover { background:var(--pd-hover); }
.workspace-history-version:focus-visible { outline:2px solid var(--pd-accent-muted);outline-offset:-2px; }
.workspace-history-version[aria-current="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-history-dot { width:8px;height:8px;border-radius:50%;background:var(--pd-text-faint); }
.workspace-history-version[data-current="true"] .workspace-history-dot { background:var(--pd-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--pd-accent) 12%, transparent); }
.workspace-history-version[data-reason="saved"] .workspace-history-dot,
.workspace-history-version[data-reason="reloaded"] .workspace-history-dot { background:var(--pd-success); }
.workspace-history-version[data-pinned="true"] .workspace-history-dot { background:var(--pd-warning);box-shadow:0 0 0 3px rgba(249,171,0,.14); }
.workspace-history-version-main { min-width:0; }
.workspace-history-version-label { display:block;font-size:11px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-version-meta { display:block;margin-top:2px;color:var(--pd-text-muted);font-size:9px;white-space:nowrap; }
.workspace-history-version-size { color:var(--pd-text-muted);font:9px Consolas,"Cascadia Code",monospace;white-space:nowrap; }
.workspace-history-version-pin { margin-right:4px;color:var(--pd-warning-text);font-size:10px; }
.workspace-history-preview { min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--pd-surface); }
.workspace-history-compare { min-height:48px;display:flex;align-items:center;gap:8px;padding:7px 12px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-compare-copy { min-width:0;flex:1; }
.workspace-history-compare-title { font-size:12px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-compare-meta { margin-top:2px;color:var(--pd-text-muted);font-size:10px; }
.workspace-history-change-counts { display:flex;align-items:center;gap:5px;flex:none;font:600 10px Consolas,"Cascadia Code",monospace; }
.workspace-history-change-counts span { padding:3px 6px;border-radius:9px; }
.workspace-history-compare-actions { display:flex;align-items:center;gap:3px;flex:none; }
.workspace-history-compare-actions button[aria-pressed="true"] { border-color:var(--pd-warning);background:var(--pd-warning-soft);color:var(--pd-warning-text); }
.workspace-history-compare-actions button:disabled { opacity:.38;cursor:default;background:var(--pd-surface);color:var(--pd-text-faint); }
.workspace-history-compare-actions .workspace-history-delete:hover,
.workspace-history-compare-actions .workspace-history-delete:focus-visible { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-history-manage { min-height:42px;display:flex;align-items:center;gap:8px;padding:6px 12px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-bg); }
.workspace-history-manage[hidden] { display:none; }
.workspace-history-rename-form { min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 28px 28px;gap:4px; }
.workspace-history-rename-form[hidden],.workspace-history-delete-confirm[hidden] { display:none; }
.workspace-history-rename-form input { min-width:0;height:30px;padding:0 8px;border:1px solid var(--pd-accent-muted);border-radius:7px;
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:11px "Segoe UI",Roboto,sans-serif; }
.workspace-history-rename-form input:focus { border-color:var(--pd-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--pd-accent) 13%, transparent); }
.workspace-history-rename-form button[type="submit"] { border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.workspace-history-delete-confirm { min-width:0;flex:1;display:flex;align-items:center;gap:7px; }
.workspace-history-delete-copy { min-width:0;flex:1;color:var(--pd-text-secondary);font:11px/1.35 "Segoe UI",Roboto,sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-delete-confirm .workspace-history-delete-accept { width:auto;min-width:52px;padding:0 10px;border-color:var(--pd-danger);
  border-radius:14px;background:var(--pd-danger);color:var(--pd-on-accent);font:600 10px "Segoe UI",Roboto,sans-serif; }
.workspace-history-delete-confirm .workspace-history-delete-accept:hover,
.workspace-history-delete-confirm .workspace-history-delete-accept:focus-visible { background:var(--pd-danger-text);color:var(--pd-on-accent); }
.workspace-history-added-count { background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-history-removed-count { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.workspace-history-diff { flex:1;min-height:0;overflow:auto;background:var(--pd-surface);color:var(--pd-text);
  font:11px/1.55 Consolas,"Cascadia Code",monospace; }
.workspace-history-diff-row { min-height:21px;display:grid;grid-template-columns:42px 42px 18px minmax(0,1fr);border-bottom:1px solid var(--pd-divider); }
.workspace-history-diff-row[data-kind="added"] { background:var(--pd-success-soft); }
.workspace-history-diff-row[data-kind="removed"] { background:var(--pd-danger-faint); }
.workspace-history-line-number { padding:2px 6px;background:color-mix(in srgb, var(--pd-text) 5%, transparent);color:var(--pd-text-muted);text-align:right;user-select:none; }
.workspace-history-marker { padding:2px 4px;color:var(--pd-text-muted);text-align:center;user-select:none; }
.workspace-history-diff-row[data-kind="added"] .workspace-history-marker { color:var(--pd-success-text); }
.workspace-history-diff-row[data-kind="removed"] .workspace-history-marker { color:var(--pd-danger-text); }
.workspace-history-line { min-width:0;padding:2px 8px;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4; }
.workspace-history-cell-row { min-height:36px;display:grid;grid-template-columns:64px minmax(0,1fr) 18px minmax(0,1fr);
  align-items:stretch;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-cell-address { display:flex;align-items:center;justify-content:center;background:var(--pd-bg);color:var(--pd-text-secondary);font-weight:700; }
.workspace-history-cell-value { min-width:0;padding:8px;background:var(--pd-danger-faint);color:var(--pd-danger-text);white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-history-cell-value.after { background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-history-cell-arrow { display:grid;place-items:center;color:var(--pd-text-faint); }
.workspace-history-empty { height:100%;display:grid;place-items:center;padding:24px;color:var(--pd-text-muted);text-align:center;font:12px/1.5 "Segoe UI",Roboto,sans-serif; }
.workspace-history-footer { min-height:52px;display:flex;align-items:center;gap:10px;padding:8px 12px;
  border-top:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
.workspace-history-local-note { min-width:0;flex:1;color:var(--pd-text-muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-restore { min-height:32px;padding:0 13px;border:1px solid var(--pd-accent);border-radius:16px;background:var(--pd-accent);
  color:var(--pd-on-accent);font:600 11px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-history-restore:hover { background:var(--pd-accent-strong); }
.workspace-history-restore:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:2px; }
.workspace-history-restore:disabled { border-color:var(--pd-border);background:var(--pd-hover);color:var(--pd-text-faint);cursor:default; }
.workspace-history-truncated { padding:9px 12px;border-top:1px solid var(--pd-divider);background:var(--pd-bg);color:var(--pd-text-muted);
  font:10px/1.4 "Segoe UI",Roboto,sans-serif;text-align:center; }
.workspace-change-review { width:min(720px,100%);max-height:min(720px,calc(100vh - 32px));display:flex;
  flex-direction:column;min-height:0;padding:16px; }
.workspace-change-review .workspace-confirm-message { margin-bottom:12px; }
.workspace-change-review-body { min-height:0;display:flex;flex-direction:column;gap:10px;overflow:auto;padding:2px; }
.workspace-change-review-section { padding:11px;border:1px solid var(--viewer-border,#dadce0);border-radius:14px;background:var(--pd-bg); }
.workspace-change-review-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px; }
.workspace-change-review-name { min-width:0;color:var(--viewer-text,#202124);font-size:13px;font-weight:650;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-change-review-count { flex:none;padding:3px 8px;border-radius:12px;background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-size:11px;font-weight:650; }
.workspace-change-review-preview { max-height:330px;margin:0;padding:10px;overflow:auto;border:1px solid var(--pd-divider);
  border-radius:10px;background:var(--pd-surface);color:var(--pd-text);font:11px/1.55 "Cascadia Mono",Consolas,monospace;white-space:pre-wrap;
  overflow-wrap:anywhere;tab-size:4; }
.workspace-change-review-preview.workspace-change-review-diff { padding:0;white-space:normal; }
.workspace-change-review-diff .workspace-history-diff-row:last-child { border-bottom:0; }
.workspace-change-review-diff .workspace-history-diff-row[data-kind="gap"] { min-height:18px;background:var(--pd-bg);color:var(--pd-text-faint); }
.workspace-change-review-note { margin:7px 2px 0;color:var(--pd-text-muted);font-size:11px; }
@container (max-width:620px) {
  .workspace-python-body { grid-template-columns:1fr;
    grid-template-rows:minmax(120px,var(--workspace-split-primary)) 5px minmax(100px,1fr); }
  .workspace-code-panel.output { border-left:0;border-top:1px solid var(--pd-terminal-border); }
  .workspace-latex-body { grid-template-columns:1fr;
    grid-template-rows:minmax(160px,var(--workspace-split-primary)) 5px minmax(180px,1fr); }
  .workspace-latex-source { border-right:0;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
}
@media (max-width:780px) {
  .workspace-card-resizer { display:none; }
  .workspace-python-body { grid-template-columns:1fr;
    grid-template-rows:minmax(120px,var(--workspace-split-primary)) 5px minmax(100px,1fr);padding:0;gap:0; }
  .workspace-code-panel.output { border-left:0;border-top:1px solid var(--pd-terminal-border); }
  .workspace-pane-toolbar { align-content:center; }
  .workspace-pane-title { min-width:120px; }
  .workspace-word-body { padding:8px; }
  .workspace-word-page { padding:28px 24px; }
  .workspace-latex-body { grid-template-columns:1fr;
    grid-template-rows:minmax(160px,var(--workspace-split-primary)) 5px minmax(180px,1fr); }
  .workspace-latex-source { border-right:0;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
  .workspace-latex-preview { padding:8px; }
  .workspace-latex-paper { padding:28px 24px; }
}
@media (max-width:620px) {
  .workspace-confirm-backdrop.workspace-history-backdrop { padding:8px; }
  .workspace-history-dialog { height:calc(100vh - 16px);border-radius:15px; }
  .workspace-history-body { grid-template-columns:1fr;grid-template-rows:minmax(150px,32%) minmax(0,1fr); }
  .workspace-history-sidebar { border-right:0;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
  .workspace-history-list { display:flex;gap:4px;overflow:auto;padding:4px 6px; }
  .workspace-history-list { scrollbar-width:none; }
  .workspace-history-list::-webkit-scrollbar { display:none; }
  .workspace-history-version { width:170px;min-width:170px; }
  .workspace-history-sidebar-actions { padding:6px; }
  .workspace-history-checkpoint { width:auto; }
  .workspace-history-compare { min-height:44px;padding:6px 8px; }
  .workspace-history-manage { min-height:40px;padding:5px 8px; }
  .workspace-history-delete-copy { white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
  .workspace-history-diff-row { grid-template-columns:32px 32px 16px minmax(0,1fr); }
  .workspace-history-cell-row { grid-template-columns:48px minmax(0,1fr); }
  .workspace-history-cell-arrow { display:none; }
  .workspace-history-cell-value.after { grid-column:2; }
  .workspace-history-footer { min-height:48px;padding:7px 8px; }
  .workspace-history-local-note { white-space:normal;line-height:1.25; }
}
/* Motion & elevation layer — appended last so the asserted rules above
   stay byte-stable; cascade lets these merge on top. */
.workspace-explorer-actions:not([hidden]),
.viewer-tab-context-menu:not([hidden]),
.workspace-explorer-context-menu:not([hidden]),
.viewer-tab-list-menu:not([hidden]) {
  animation: pd-pop-in var(--pd-dur-base) var(--pd-ease-out);
  transform-origin: top;
  box-shadow: var(--pd-shadow-menu);
}
.workspace-history-delete-confirm { animation: pd-pop-in var(--pd-dur-base) var(--pd-ease-out); }
.viewer-tab-mru-switcher:not([hidden]) { animation: pd-rise-in var(--pd-dur-base) var(--pd-ease-out);
  box-shadow: var(--pd-shadow-dialog); }
.workspace-context-inspector, .workspace-chat-mention-inspector {
  animation: pd-pop-in var(--pd-dur-base) var(--pd-ease-out); box-shadow: var(--pd-shadow-menu); }
.workspace-entry-dialog, .workspace-shortcuts-dialog, .workspace-history-dialog {
  animation: pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); box-shadow: var(--pd-shadow-dialog); }
.workspace-entry-dialog-backdrop, .workspace-shortcuts-backdrop {
  animation: pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.workspace-explorer-actions button, .viewer-tab-context-menu button,
.workspace-explorer-context-menu button, .viewer-tab-list-item, .viewer-tab-list-reopen,
.viewer-tab-mru-item, .viewer-tab-navigation-button {
  transition: background-color var(--pd-dur-fast) var(--pd-ease), color var(--pd-dur-fast) var(--pd-ease),
              border-color var(--pd-dur-fast) var(--pd-ease); }
.viewer-document-tab[data-tab-drop-edge]::before { animation: pd-fade-in var(--pd-dur-fast) var(--pd-ease); }
.workspace-explorer-empty-state { display:grid;justify-items:center;gap:7px;margin:26px 10px;padding:22px 14px;
  border:1px dashed var(--pd-border);border-radius:12px;text-align:center;
  animation:pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); }
.workspace-explorer-empty-state-icon { width:46px;height:46px;display:grid;place-items:center;margin-bottom:2px;
  border-radius:50%;background:var(--pd-accent-faint);color:var(--pd-accent); }
.workspace-explorer-empty-state-title { color:var(--pd-text);font:650 12.5px "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-empty-state-body { max-width:210px;color:var(--pd-text-muted);font:11px/1.55 "Segoe UI",Roboto,sans-serif; }
.workspace-explorer-empty-state-action { min-height:30px;margin-top:5px;padding:0 14px;border:0;border-radius:15px;
  background:var(--pd-accent);color:var(--pd-on-accent);font:600 11.5px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-explorer-empty-state-action:hover { background:var(--pd-accent-strong); }
.workspace-explorer-empty-state-action:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:2px; }
.workspace-sheet th { transition:background-color var(--pd-dur-fast) var(--pd-ease),color var(--pd-dur-fast) var(--pd-ease); }
.workspace-sheet th[data-active="true"] {
  background:color-mix(in srgb, var(--pd-app-excel) 14%, var(--pd-hover));
  color:var(--pd-text);font-weight:700; }
.workspace-sheet-wrap[data-scrolled="true"] thead th { box-shadow:0 2px 7px rgba(var(--pd-shadow-rgb), .14); }
.workspace-sheet-wrap[data-scrolled-x="true"] th:first-child,
.workspace-sheet-wrap[data-scrolled-x="true"] tbody th { box-shadow:2px 0 7px rgba(var(--pd-shadow-rgb), .14); }
.workspace-sheet-wrap[data-scrolled="true"][data-scrolled-x="true"] thead th:first-child {
  box-shadow:2px 2px 7px rgba(var(--pd-shadow-rgb), .16); }
.workspace-latex-paper code { padding:1px 5px;border-radius:5px;background:var(--pd-hover);
  font:.92em Consolas,"Cascadia Mono",monospace; }
.workspace-latex-math { font-family:"Cambria Math",Cambria,Georgia,serif;font-style:italic; }
.workspace-latex-math sup, .workspace-latex-math sub { font-size:.72em; }
.workspace-latex-math-block { margin:0 0 13px;padding:9px 14px;overflow-x:auto;text-align:center;
  border-radius:8px;background:var(--pd-hover);font-size:15px; }
.workspace-latex-paper ul, .workspace-latex-paper ol { margin:0 0 13px;padding-left:26px; }
.workspace-latex-paper li { margin:0 0 5px; }
.workspace-latex-table-figure { margin:0 0 15px;display:grid;justify-items:center;gap:7px; }
.workspace-latex-table { margin:0 auto;border-collapse:collapse;font-size:12.5px; }
.workspace-latex-table th, .workspace-latex-table td { padding:5px 11px;border:1px solid var(--pd-border);
  text-align:left;vertical-align:top; }
.workspace-latex-table th { background:var(--pd-hover);font-weight:650; }
.workspace-latex-figure { margin:0 0 15px;display:grid;justify-items:center;gap:7px; }
.workspace-latex-figure-slot { min-width:130px;max-width:100%;padding:22px 26px;border:1px dashed var(--pd-border);
  border-radius:10px;box-sizing:border-box;color:var(--pd-text-muted);
  font:600 11px Consolas,monospace;text-align:center;overflow-wrap:anywhere;background:var(--pd-bg); }
.workspace-latex-figure figcaption, .workspace-latex-table-figure figcaption {
  max-width:520px;color:var(--pd-text-secondary);font-size:12px;line-height:1.5;text-align:center; }
.workspace-latex-center { text-align:center; }
.workspace-latex-paper blockquote { margin:0 0 13px;padding:2px 0 2px 14px;
  border-left:3px solid var(--pd-accent-soft-border);color:var(--pd-text-secondary); }
.workspace-latex-theorem { margin:0 0 14px;padding:10px 14px;border-left:3px solid var(--pd-app-latex);
  background:color-mix(in srgb,var(--pd-app-latex) 6%,var(--pd-surface));color:var(--pd-text-secondary); }
.workspace-latex-theorem strong { display:block;margin-bottom:4px;color:var(--pd-text); }
.workspace-latex-theorem-proof { border-left-style:dashed; }
.workspace-latex-footnote { margin-left:2px;color:var(--pd-accent-strong);font-size:.72em;line-height:1; }
.workspace-latex-footnote::before { content:"["; }.workspace-latex-footnote::after { content:"]"; }
.workspace-latex-url { color:var(--pd-accent-strong);text-decoration:underline;text-underline-offset:2px; }
.workspace-latex-cross-reference,.workspace-latex-citation { padding:0 2px;border-radius:3px;
  background:color-mix(in srgb,var(--pd-app-latex) 10%,transparent);color:var(--pd-accent-strong);font-family:Consolas,monospace;font-size:.88em; }
.workspace-latex-paper pre { margin:0 0 13px;padding:10px 12px;overflow:auto;border-radius:8px;
  background:var(--pd-terminal-bg);color:var(--pd-terminal-text-bright);font:11.5px/1.5 Consolas,monospace; }
.workspace-word-body { --workspace-split-primary:50%;display:grid;overflow:hidden;padding:0;
  grid-template-columns:minmax(180px,var(--workspace-split-primary)) 5px minmax(180px,1fr);
  background:var(--pd-surface); }
.workspace-word-source { min-width:0;min-height:0;display:flex;flex-direction:column;
  border-right:1px solid var(--viewer-divider,#e8eaed); }
.workspace-word-link-panel { padding:9px 10px 10px;border-bottom:1px solid var(--viewer-divider,#e8eaed);
  background:color-mix(in srgb,var(--pd-app-word) 5%,var(--pd-surface));color:var(--pd-text); }
.workspace-word-link-panel[hidden] { display:none; }
.workspace-word-link-header { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px; }
.workspace-word-link-header h3 { margin:0;font:650 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-link-header button { width:25px;height:25px;border:1px solid transparent;border-radius:5px;
  background:transparent;color:var(--pd-text-secondary);font:16px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-link-header button:hover { border-color:var(--pd-border);background:var(--pd-hover);color:var(--pd-text); }
.workspace-word-link-form { display:grid;grid-template-columns:minmax(110px,.8fr) minmax(170px,1.2fr);
  gap:7px;align-items:end; }
.workspace-word-link-form label { min-width:0;display:grid;gap:3px;color:var(--pd-text-muted);
  font:600 9.5px/1.3 "Segoe UI",Roboto,sans-serif; }
.workspace-word-link-form input { width:100%;height:29px;box-sizing:border-box;padding:0 7px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  font:11px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-link-actions { grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px; }
.workspace-word-link-actions button { min-height:29px;padding:0 10px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-link-actions button.primary { background:var(--pd-accent);color:var(--pd-on-accent,#fff); }
.workspace-word-link-actions button.danger { margin-right:auto;color:#b71c1c; }
@media (max-width:760px) {
  .workspace-word-link-form { grid-template-columns:1fr; }
}
.workspace-word-page-band-panel { flex:none; }
.workspace-word-page-band-panel[hidden] { display:none; }
.workspace-word-page-band-tools { display:grid;grid-template-columns:minmax(108px,auto) minmax(88px,1fr) auto 28px;
  align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--viewer-divider,#e8eaed);
  background:color-mix(in srgb,var(--pd-app-word) 4%,var(--pd-surface)); }
.workspace-word-page-band-toggle { flex:none; }
.workspace-word-page-band-icon { font:700 9px/1 "Segoe UI",Roboto,sans-serif;letter-spacing:-.02em; }
.workspace-word-page-band-toggle.is-active { border-color:var(--pd-accent-muted);
  background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-word-page-band-tools label { display:grid;gap:3px;color:var(--pd-text-muted);
  font:600 9px/1.2 "Segoe UI",Roboto,sans-serif; }
.workspace-word-page-band-tools select,.workspace-word-page-band-tools textarea { min-width:0;border:1px solid var(--pd-border);
  border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:11px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-page-band-tools select { height:25px;padding:0 22px 0 6px; }
.workspace-word-page-band-tools textarea { height:42px;resize:vertical;padding:5px 7px; }
.workspace-word-page-band-tools textarea:disabled { opacity:.58;cursor:not-allowed; }
.workspace-word-page-band-formatting-tools { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px; }
.workspace-word-page-band-formatting-tools .workspace-word-dynamic-field-tools { height:auto; }
#workspace-word-page-band-formatting { max-height:42vh;overflow:auto;padding:0 8px 8px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
.workspace-word-page-band-enabled { min-width:58px;min-height:38px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:3px;padding:3px 7px;border:1px solid transparent;
  border-radius:7px;background:transparent;color:var(--pd-text-secondary);cursor:pointer; }
.workspace-word-page-band-enabled:hover { border-color:var(--pd-border);background:var(--pd-hover); }
.workspace-word-page-band-enabled:focus-visible { outline:2px solid color-mix(in srgb,var(--pd-accent) 34%,transparent);outline-offset:1px; }
.workspace-word-page-band-enabled-track { position:relative;width:30px;height:16px;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:999px;background:var(--pd-hover);
  transition:background .14s,border-color .14s; }
.workspace-word-page-band-enabled-track::after { content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;
  border-radius:50%;background:var(--pd-text-muted);transition:transform .14s,background .14s; }
.workspace-word-page-band-enabled[aria-checked="true"] .workspace-word-page-band-enabled-track {
  border-color:var(--pd-accent);background:var(--pd-accent); }
.workspace-word-page-band-enabled[aria-checked="true"] .workspace-word-page-band-enabled-track::after {
  background:var(--pd-on-accent,#fff);transform:translateX(14px); }
.workspace-word-page-band-enabled-text { color:var(--pd-text-secondary);font:600 9px/1 "Segoe UI",Roboto,sans-serif; }
.workspace-word-page-band-enabled[data-enabled="true"] .workspace-word-page-band-enabled-text { color:var(--pd-accent-strong); }
.workspace-word-page-number-tools { display:grid;
  grid-template-columns:minmax(132px,auto) minmax(105px,auto) minmax(90px,1fr) 28px 28px;
  align-items:end;gap:6px;padding:6px 8px;border-bottom:1px solid var(--viewer-divider,#e8eaed);
  background:color-mix(in srgb,var(--pd-app-word) 3%,var(--pd-surface)); }
.workspace-word-page-number-tools label { display:grid;gap:3px;color:var(--pd-text-muted);
  font:600 9px/1.2 "Segoe UI",Roboto,sans-serif; }
.workspace-word-page-number-tools select,.workspace-word-page-number-tools input { min-width:0;height:25px;
  box-sizing:border-box;padding:0 6px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font:10px/1.2 "Segoe UI",Roboto,sans-serif; }
@container (max-width:360px) {
  .workspace-word-page-band-tools { grid-template-columns:minmax(0,1fr) auto 28px;align-items:end; }
  .workspace-word-page-band-tools > label:first-child { grid-column:1/-1; }
  .workspace-word-page-band-tools > textarea { grid-column:1; }
  .workspace-word-page-number-tools { grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px 28px; }
  .workspace-word-page-number-tools > label:first-child { grid-column:1/-1; }
}
.workspace-word-editor { width:100%;flex:1;min-height:0;padding:12px;box-sizing:border-box;
  background:var(--pd-surface);color:var(--pd-text);overflow:auto;
  font:13.5px/1.62 "Segoe UI Variable Text","Segoe UI",Roboto,Pretendard,sans-serif; }
.workspace-word-preview-wrap { min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--pd-hover); }
.workspace-word-note-panel { max-height:min(58%,430px);overflow:auto;padding:10px;
  border-bottom:1px solid var(--pd-border);background:var(--pd-surface); }
.workspace-word-note-panel[hidden] { display:none; }
.workspace-word-note-header { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px; }
.workspace-word-note-header h3 { margin:0;font:650 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-note-header button { width:25px;height:25px;border:1px solid transparent;border-radius:5px;
  background:transparent;color:var(--pd-text-secondary);font-size:17px;cursor:pointer; }
.workspace-word-note-header button:hover { border-color:var(--pd-border);background:var(--pd-hover);color:var(--pd-text); }
.workspace-word-note-form { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.workspace-word-note-form label { min-width:0;display:grid;gap:3px;color:var(--pd-text-muted);
  font:600 9px/1.2 "Segoe UI",Roboto,sans-serif; }
.workspace-word-note-form select,.workspace-word-note-form textarea { box-sizing:border-box;width:100%;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:12px/1.45 "Segoe UI",Roboto,sans-serif; }
.workspace-word-note-form select { height:29px;padding:0 7px; }
.workspace-word-note-source-label { grid-column:1/-1; }
.workspace-word-note-form textarea { min-height:82px;padding:7px;resize:vertical; }
.workspace-word-note-empty { grid-column:1/-1;margin:0;color:var(--pd-text-secondary);font:10px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-note-actions { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px; }
.workspace-word-note-actions button { min-height:29px;padding:0 10px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);cursor:pointer; }
.workspace-word-note-actions button[type="submit"] { background:var(--pd-accent);color:var(--pd-on-accent,#fff); }
.workspace-word-note-actions button.danger { margin-left:auto;color:#b71c1c; }
.workspace-word-note-actions button:disabled { opacity:.5;cursor:not-allowed; }
.workspace-word-equation-panel { max-height:min(58%,460px);overflow:auto;padding:10px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface);color:var(--pd-text); }
.workspace-word-equation-panel[hidden] { display:none; }
.workspace-word-equation-header { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px; }
.workspace-word-equation-header h3 { flex:1 0 auto;margin:0;font:650 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-equation-header button { flex-shrink:0;width:25px;height:25px;border:1px solid transparent;border-radius:5px;
  background:transparent;color:var(--pd-text-secondary);font:16px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-equation-header [data-workspace-command="word-discard-equation"] { width:auto;height:auto;min-height:29px;
  padding:4px 8px;border-color:var(--pd-border);white-space:nowrap;font:12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-equation-header button:hover { border-color:var(--pd-border);background:var(--pd-hover);color:var(--pd-text); }
.workspace-word-equation-form { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));
  gap:8px;align-items:end; }
.workspace-word-equation-form label { min-width:0;display:grid;gap:3px;color:var(--pd-text-muted);
  font:600 9.5px/1.3 "Segoe UI",Roboto,sans-serif; }
.workspace-word-equation-form select,.workspace-word-equation-form input,.workspace-word-equation-form textarea {
  width:100%;box-sizing:border-box;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font:11px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-equation-form select,.workspace-word-equation-form input { height:29px;padding:0 7px; }
.workspace-word-equation-form input[type="color"] { padding:3px; }
.workspace-word-equation-script-label { grid-column:1/-1; }
.workspace-word-equation-form textarea { min-height:68px;padding:7px;resize:vertical;font-family:Consolas,"Cascadia Mono",monospace; }
.workspace-word-equation-compatibility { grid-column:1/-1;margin:0;font:600 10px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-equation-compatibility[data-state="docx"] { color:#0f6b3c; }
.workspace-word-equation-compatibility[data-state="hwpx"] { color:#8a5100; }
.workspace-word-equation-compatibility[data-state="invalid"] { color:var(--pd-danger-text); }
.workspace-word-equation-compatibility[data-state="empty"] { color:var(--pd-text-secondary); }
.workspace-word-equation-editor-preview { grid-column:1/-1;min-height:54px;display:grid;place-items:center;padding:8px;
  border:1px solid var(--pd-border);border-radius:7px;background:var(--pd-hover);overflow:auto; }
.workspace-word-equation-editor-preview math { max-width:100%;font-size:18px; }
.workspace-word-equation-editor-preview code { white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-word-equation-actions { grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px; }
.workspace-word-equation-actions button { min-height:29px;padding:0 10px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-equation-actions button[type="submit"] { background:var(--pd-accent);color:var(--pd-on-accent,#fff); }
.workspace-word-equation-actions button.danger { margin-left:auto;color:#b71c1c; }
.workspace-word-equation-actions button:disabled { opacity:.5;cursor:not-allowed; }
.workspace-word-accessibility-toggle { gap:5px; }
.workspace-word-accessibility-badge { min-width:18px;height:18px;box-sizing:border-box;display:inline-grid;
  place-items:center;padding:0 4px;border-radius:999px;background:var(--pd-hover);color:var(--pd-text-secondary);
  font:700 9px/1 "Segoe UI",Roboto,sans-serif; }
.workspace-word-accessibility-toggle[data-state="error"] .workspace-word-accessibility-badge {
  background:color-mix(in srgb,#c62828 14%,var(--pd-surface));color:#b71c1c; }
.workspace-word-accessibility-toggle[data-state="warning"] .workspace-word-accessibility-badge {
  background:color-mix(in srgb,#ed8b00 18%,var(--pd-surface));color:#8a5100; }
.workspace-word-accessibility-toggle[data-state="review"] .workspace-word-accessibility-badge {
  background:color-mix(in srgb,#356ac3 14%,var(--pd-surface));color:#2858a6; }
.workspace-word-accessibility-toggle[data-state="ready"] .workspace-word-accessibility-badge {
  background:color-mix(in srgb,#16834b 14%,var(--pd-surface));color:#0f6b3c; }
.workspace-word-accessibility-panel { max-height:min(44%,360px);overflow:auto;padding:9px 10px 10px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface);color:var(--pd-text); }
.workspace-word-accessibility-panel[hidden] { display:none; }
.workspace-word-accessibility-header { display:flex;align-items:center;justify-content:space-between;gap:10px; }
.workspace-word-accessibility-header h3 { margin:0;font:650 12px/1.35 "Segoe UI",Roboto,sans-serif; }
.workspace-word-accessibility-header button { width:25px;height:25px;border:1px solid transparent;border-radius:5px;
  background:transparent;color:var(--pd-text-secondary);font:16px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-accessibility-header button:hover { border-color:var(--pd-border);background:var(--pd-hover);color:var(--pd-text); }
.workspace-word-accessibility-summary { margin:6px 0 8px;color:var(--pd-text-secondary);
  font:10.5px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-accessibility-human-review { margin:0 0 8px; }
.workspace-word-accessibility-human-review fieldset { display:grid;gap:5px;margin:0;padding:8px 9px;
  border:1px solid var(--pd-border);border-radius:7px;background:color-mix(in srgb,#356ac3 5%,var(--pd-surface));
  font:10.5px/1.4 "Segoe UI",Roboto,sans-serif; }
.workspace-word-accessibility-human-review legend { padding:0 4px;color:var(--pd-text);font-weight:700; }
.workspace-word-accessibility-human-review fieldset > p { margin:0 0 2px;color:var(--pd-text-secondary); }
.workspace-word-accessibility-human-review label { display:flex;align-items:flex-start;gap:6px;color:var(--pd-text); }
.workspace-word-accessibility-human-review input { flex:none;margin:2px 0 0;accent-color:var(--pd-accent); }
.workspace-word-accessibility-human-review-actions { display:flex;flex-wrap:wrap;gap:6px;margin-top:3px; }
.workspace-word-accessibility-human-review-actions button { min-height:27px;padding:0 9px;border:1px solid var(--pd-border);
  border-radius:5px;background:var(--pd-accent);color:var(--pd-on-accent,#fff);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-accessibility-human-review-actions button + button { background:var(--pd-surface);color:var(--pd-text-secondary); }
.workspace-word-accessibility-human-review-actions button:disabled { opacity:.55;cursor:not-allowed; }
.workspace-word-accessibility-human-review-status { font-weight:600; }
.workspace-word-accessibility-list { display:grid;gap:7px;margin:0;padding:0;list-style:none; }
.workspace-word-accessibility-empty,.workspace-word-accessibility-item { padding:8px 9px;border:1px solid var(--pd-border);
  border-radius:7px;background:color-mix(in srgb,var(--pd-hover) 58%,var(--pd-surface));
  font:10.5px/1.45 "Segoe UI",Roboto,sans-serif; }
.workspace-word-accessibility-item[data-severity="error"] { border-left:3px solid #c62828; }
.workspace-word-accessibility-item[data-severity="warning"] { border-left:3px solid #ed8b00; }
.workspace-word-accessibility-message { display:flex;flex-wrap:wrap;align-items:center;gap:5px 7px; }
.workspace-word-accessibility-severity { flex:none;padding:2px 5px;border-radius:4px;background:var(--pd-hover);
  color:var(--pd-text-secondary);font-weight:700; }
.workspace-word-accessibility-item[data-severity="error"] .workspace-word-accessibility-severity { color:#b71c1c; }
.workspace-word-accessibility-item[data-severity="warning"] .workspace-word-accessibility-severity { color:#8a5100; }
.workspace-word-accessibility-line { margin-left:auto;padding:3px 7px;border:1px solid var(--pd-border);
  border-radius:5px;background:var(--pd-surface);color:var(--pd-accent-strong);font:inherit;cursor:pointer; }
.workspace-word-accessibility-edit-form { display:flex;align-items:end;gap:7px;margin-top:7px; }
.workspace-word-accessibility-edit-form label { flex:1;min-width:0;display:grid;gap:3px;color:var(--pd-text-muted);font-weight:600; }
.workspace-word-accessibility-edit-form input,
.workspace-word-accessibility-edit-form select { width:100%;height:27px;box-sizing:border-box;padding:0 7px;
  border:1px solid var(--pd-border);border-radius:5px;background:var(--pd-surface);color:var(--pd-text);font:inherit; }
.workspace-word-accessibility-edit-form button { flex:none;height:27px;padding:0 9px;border:1px solid var(--pd-border);
  border-radius:5px;background:var(--pd-accent);color:var(--pd-on-accent,#fff);font:600 10px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-word-preview { flex:1;min-height:0;overflow:auto;padding:14px; }
.workspace-word-page + .workspace-word-page { margin-top:16px; }
.workspace-word-page { display:flex;flex-direction:column; }
.workspace-word-page-content { position:relative;z-index:1;width:100%;min-width:0; }
.workspace-word-page-background-layer { position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden; }
.workspace-word-column-break { display:block;height:0;margin:0;padding:0;border:0;break-after:column; }
.workspace-word-page-border-layer { position:absolute;box-sizing:border-box;pointer-events:none;z-index:2; }
.workspace-word-page-content > table,.workspace-word-page-content > figure,
.workspace-word-page-content > blockquote { break-inside:avoid; }
.workspace-word-page-band { min-height:18px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--pd-text-secondary);
  font-size:10.5px;line-height:1.45; }
.workspace-word-page-header { margin:-26px 0 24px;padding-bottom:6px;border-bottom:1px solid var(--pd-border); }
.workspace-word-page-footer { margin-top:auto;margin-bottom:-26px;padding-top:6px;border-top:1px solid var(--pd-border); }
.workspace-word-page-number { position:absolute;z-index:1;max-width:calc(100% - 112px);overflow:hidden;
  color:var(--pd-text-secondary);font:10.5px/1.2 "Segoe UI",Roboto,sans-serif;
  text-overflow:ellipsis;white-space:nowrap;pointer-events:none; }
.workspace-word-page-number[data-position^="TOP"],
.workspace-word-page-number[data-position="OUTSIDE_TOP"],
.workspace-word-page-number[data-position="INSIDE_TOP"] { top:20px; }
.workspace-word-page-number[data-position^="BOTTOM"],
.workspace-word-page-number[data-position="OUTSIDE_BOTTOM"],
.workspace-word-page-number[data-position="INSIDE_BOTTOM"] { bottom:20px; }
.workspace-word-page-number[data-position$="_LEFT"],
.workspace-word-page-number[data-position^="INSIDE"] { left:56px; }
.workspace-word-page-number[data-position$="_CENTER"] { left:50%;transform:translateX(-50%);text-align:center; }
.workspace-word-page-number[data-position$="_RIGHT"],
.workspace-word-page-number[data-position^="OUTSIDE"] { right:56px;text-align:right; }
.workspace-word-page h1 { margin:0 0 12px;font-size:24px;line-height:1.3;font-weight:650; }
.workspace-word-page h2 { margin:0 0 10px;font-size:19px;line-height:1.3;font-weight:650; }
.workspace-word-page h3 { margin:0 0 8px;font-size:16px;line-height:1.3;font-weight:650; }
.workspace-word-page p { margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-word-page p.workspace-word-blank { min-height:1.2em;margin:0; }
.workspace-word-page ul,.workspace-word-page ol { margin:0 0 4px;padding-left:24px; }
.workspace-word-page li { margin:0 0 3px; }
.workspace-word-page .workspace-word-checklist { padding-left:2px;list-style:none; }
.workspace-word-checklist li { display:flex;flex-wrap:wrap;align-items:baseline;gap:7px; }
.workspace-word-checklist li > ul,.workspace-word-checklist li > ol {
  flex:0 0 100%;width:100%;margin:5px 0 0 21px;
}
.workspace-word-page-band > p,.workspace-word-page-band > h1,.workspace-word-page-band > h2,
.workspace-word-page-band > h3,.workspace-word-page-band > blockquote { white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-word-page-band table { margin:4px 0 6px;font-size:inherit; }
.workspace-word-page-band th,.workspace-word-page-band td { padding:3px 5px; }
.workspace-word-page-band .workspace-word-image,
.workspace-word-page-band .workspace-word-equation { margin:5px auto;gap:3px; }
.workspace-word-page-band .workspace-word-image img { max-height:none; }
.workspace-word-page-band .workspace-word-equation-placeholder { padding:5px 9px;font-size:1.1em; }
.workspace-word-page-band .workspace-word-image figcaption,
.workspace-word-page-band .workspace-word-equation figcaption { font-size:9px; }
.workspace-word-checklist input { width:14px;height:14px;margin:0;accent-color:var(--pd-app-word);transform:translateY(2px); }
.workspace-word-page blockquote { margin:8px 0;padding:7px 12px;border-left:3px solid var(--pd-app-word);
  background:color-mix(in srgb,var(--pd-app-word) 6%,var(--pd-surface));color:var(--pd-text-secondary);font-style:italic; }
.workspace-word-page .workspace-word-image { margin:12px auto;display:grid;justify-items:center;gap:6px; }
.workspace-word-page .workspace-word-image img { display:block;max-width:100%;max-height:520px;object-fit:contain;
  border-radius:4px;box-shadow:0 1px 4px color-mix(in srgb,var(--pd-text) 18%,transparent); }
.workspace-word-page .workspace-word-image-placeholder { width:min(100%,420px);min-height:96px;display:grid;
  place-items:center;padding:16px;border:1px dashed var(--pd-border);border-radius:6px;color:var(--pd-text-secondary);
  background:color-mix(in srgb,var(--pd-app-word) 4%,var(--pd-surface));text-align:center; }
.workspace-word-page .workspace-word-image figcaption { max-width:100%;font-size:11px;color:var(--pd-text-secondary);
  overflow-wrap:anywhere;text-align:center; }
.workspace-word-page .workspace-word-shape { margin:12px auto;display:grid;justify-items:center;gap:6px; }
.workspace-word-page .workspace-word-shape-placeholder { width:min(100%,460px);min-height:88px;display:grid;
  place-items:center;padding:16px;border:1px dashed color-mix(in srgb,var(--pd-app-word) 55%,var(--pd-border));
  border-radius:8px;background:color-mix(in srgb,var(--pd-app-word) 6%,var(--pd-surface));
  color:var(--pd-text-secondary);text-align:center; }
.workspace-word-page .workspace-word-shape-placeholder.is-projected { width:100%;min-height:0;padding:0;border:0;
  border-radius:0;background:transparent;overflow:hidden; }
.workspace-word-page button.workspace-word-shape-placeholder { appearance:none;cursor:pointer;font:inherit; }
.workspace-word-page button.workspace-word-shape-placeholder:hover,
.workspace-word-page button.workspace-word-shape-placeholder:focus-visible { outline:2px solid var(--pd-accent);outline-offset:3px; }
.workspace-word-shape-projection { position:relative;max-width:100%;overflow:hidden;background:#fff;color:#000;
  box-shadow:0 1px 5px color-mix(in srgb,var(--pd-text) 18%,transparent); }
.workspace-word-shape-element { position:absolute;display:block;box-sizing:border-box;max-width:none;max-height:none;
  margin:0;padding:0;overflow:hidden; }
.workspace-word-shape-picture-fill { position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;
  object-fit:fill;border-radius:inherit;pointer-events:none; }
.workspace-word-shape-element.workspace-word-shape-text { display:flex;flex-direction:column;white-space:pre-wrap;
  overflow:hidden;text-align:left;word-break:normal;overflow-wrap:break-word; }
.workspace-word-shape-paragraph { position:relative;z-index:1;display:block;min-height:1em;padding:0;border:0;white-space:pre-wrap; }
.workspace-word-page .workspace-word-shape figcaption { max-width:100%;font-size:11px;color:var(--pd-text-secondary);
  overflow-wrap:anywhere;text-align:center; }
.workspace-word-page .workspace-word-equation { margin:12px auto;display:grid;justify-items:center;gap:6px; }
.workspace-word-page .workspace-word-equation-placeholder { max-width:100%;padding:12px 18px;border:1px solid var(--pd-border);
  border-radius:8px;background:color-mix(in srgb,var(--pd-app-word) 4%,var(--pd-surface));
  color:var(--pd-text);font:15px/1.5 "Cambria Math","Times New Roman",serif;white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-word-page button.workspace-word-equation-placeholder { cursor:pointer;appearance:none; }
.workspace-word-page button.workspace-word-equation-placeholder:hover { border-color:var(--pd-accent-muted);
  background:color-mix(in srgb,var(--pd-app-word) 8%,var(--pd-surface)); }
.workspace-word-page button.workspace-word-equation-placeholder:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.workspace-word-equation-placeholder math { max-width:100%;font-size:1.2em; }
.workspace-word-equation-inline { display:inline-flex;max-width:100%;margin:0 .12em;padding:0 .18em;
  align-items:baseline;vertical-align:-.12em;border:0;border-radius:4px;background:transparent;
  color:inherit;font:inherit;font-family:"Cambria Math","STIX Two Math","Times New Roman",serif; }
button.workspace-word-equation-inline { cursor:pointer;appearance:none; }
button.workspace-word-equation-inline:hover { background:color-mix(in srgb,var(--pd-app-word) 9%,transparent); }
button.workspace-word-equation-inline:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px; }
.workspace-word-equation-inline math { max-width:100%;font-size:1.08em; }
.workspace-word-image-inline { display:inline-flex;max-width:100%;margin:0 .12em;padding:0;
  align-items:center;vertical-align:middle;border:0;border-radius:4px;background:transparent;
  color:inherit;font:inherit;overflow:hidden; }
.workspace-word-image-inline img { display:block;max-width:100%;max-height:8em;object-fit:contain; }
.workspace-word-note-reference { display:inline-block;margin:0 .08em;padding:0 .12em;border:0;
  background:transparent;color:var(--pd-accent);font:inherit;font-size:.72em;line-height:1;
  vertical-align:super;text-decoration:underline;text-underline-offset:.12em; }
button.workspace-word-note-reference { cursor:pointer; }
.workspace-word-notes { margin-top:1.5rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);
  font-size:.86em; }
.workspace-word-notes-title { margin-bottom:.35rem;font-weight:700; }
.workspace-word-notes ol { margin:.25rem 0 0;padding-left:1.8em; }
.workspace-word-notes li { padding-left:.25em; }
.workspace-word-notes li > p { margin:.18em 0; }
button.workspace-word-image-inline { cursor:pointer;appearance:none; }
button.workspace-word-image-inline:hover { background:color-mix(in srgb,var(--pd-app-word) 9%,transparent); }
button.workspace-word-image-inline:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px; }
.workspace-word-page .workspace-word-equation figcaption { max-width:100%;font-size:11px;color:var(--pd-text-secondary);
  overflow-wrap:anywhere;text-align:center; }
.workspace-word-page code { padding:1px 5px;border-radius:5px;background:var(--pd-hover);
  font:.9em Consolas,"Cascadia Mono",monospace; }
.workspace-word-link { color:var(--pd-accent-strong);text-decoration:underline;text-underline-offset:2px; }
.workspace-word-page table { width:100%;margin:10px 0 12px;border-collapse:collapse;
  table-layout:fixed;font-size:12.5px; }
.workspace-word-page th,.workspace-word-page td { padding:7px 9px;border:1px solid var(--pd-border);
  text-align:left;vertical-align:top;overflow-wrap:anywhere; }
.workspace-word-page th { background:color-mix(in srgb,var(--pd-app-word) 9%,var(--pd-surface));font-weight:650; }
.workspace-sheet thead th { position:relative; }
.workspace-sheet-column-resizer { position:absolute;top:0;right:-4px;z-index:6;width:9px;height:100%;
  cursor:col-resize;touch-action:none; }
.workspace-sheet-column-resizer:hover, .workspace-sheet-column-resizer:active {
  background:linear-gradient(to right, transparent 3px, var(--pd-accent-muted) 3px,
    var(--pd-accent-muted) 6px, transparent 6px); }
.workspace-sheet td[data-in-range="true"] {
  background:color-mix(in srgb, var(--pd-app-excel) 11%, var(--pd-surface)); }
.workspace-sheet td[data-in-range="true"] .workspace-sheet-cell { background:transparent; }
.workspace-pane[data-drop-active="true"]::after { content:"";position:absolute;inset:6px;z-index:80;
  pointer-events:none;border:2px dashed var(--pd-accent);border-radius:12px;
  background:color-mix(in srgb, var(--pd-accent) 8%, transparent);
  animation:pd-fade-in var(--pd-dur-fast) var(--pd-ease); }
.workspace-pdf-empty { gap:7px;padding:26px 30px;border:1px dashed var(--pd-border);border-radius:12px;
  background:var(--pd-surface);box-shadow:var(--pd-shadow-raise);
  animation:pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); }
.workspace-pdf-empty svg { color:var(--pd-app-pdf);margin-bottom:3px; }
.workspace-pdf-empty-title { color:var(--pd-text);font-weight:650; }
.workspace-pdf-empty-hint { color:var(--pd-text-muted);font-size:11px; }
.workspace-pdf-empty-open { min-height:30px;margin-top:6px;padding:0 14px;border:0;border-radius:15px;
  background:var(--pd-accent);color:var(--pd-on-accent);font:600 11.5px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.workspace-pdf-empty-open:hover { background:var(--pd-accent-strong); }
.workspace-pdf-empty-open:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:2px; }

/* Presentation editor */
.workspace-slides-pane { container-type:inline-size; }
.workspace-slides-status { max-width:240px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;
  border-radius:11px;background:var(--pd-hover);color:var(--pd-text-secondary);font-size:10px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.workspace-slides-status::before { content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--pd-text-faint); }
.workspace-slides-body { flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr);
  overflow:hidden;background:var(--pd-bg); }
.workspace-slides-sidebar { min-width:0;min-height:0;display:flex;flex-direction:column;
  border-right:1px solid var(--pd-border);background:var(--pd-surface); }
.workspace-slides-side-actions { display:flex;align-items:center;gap:4px;padding:7px;
  border-bottom:1px solid var(--pd-divider); }
.workspace-slides-side-actions .workspace-action { min-width:28px;padding:0 6px; }
.workspace-slides-side-actions .workspace-action-label { display:none; }
.workspace-slides-live-status { position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0; }
.workspace-slides-list { flex:1;min-height:0;display:flex;flex-direction:column;gap:7px;overflow:auto;padding:8px 7px 14px; }
.workspace-slides-thumbnail { position:relative;width:100%;display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;
  align-items:start;padding:3px;border:1px solid transparent;border-radius:8px;background:transparent;
  color:var(--pd-text);cursor:grab;text-align:left; }
.workspace-slides-thumbnail:active { cursor:grabbing; }
.workspace-slides-thumbnail[data-dragging="true"] { opacity:.46; }
.workspace-slides-thumbnail[data-drop-position]::after { content:"";position:absolute;z-index:3;left:25px;right:3px;
  height:3px;border-radius:2px;background:var(--pd-app-slides);box-shadow:0 0 0 2px color-mix(in srgb,var(--pd-app-slides) 16%,transparent); }
.workspace-slides-thumbnail[data-drop-position="before"]::after { top:-5px; }
.workspace-slides-thumbnail[data-drop-position="after"]::after { bottom:-5px; }
.workspace-slides-thumbnail:hover { background:var(--pd-hover); }
.workspace-slides-thumbnail[data-selected="true"] { border-color:var(--pd-app-slides);background:color-mix(in srgb,var(--pd-app-slides) 10%,var(--pd-surface)); }
.workspace-slides-thumbnail:focus-visible { outline:3px solid color-mix(in srgb,var(--pd-app-slides) 25%,transparent);outline-offset:1px; }
.workspace-slides-thumbnail-number { padding-top:16px;color:var(--pd-text-muted);font:600 10px/1 "Segoe UI",sans-serif;text-align:center; }
.workspace-slides-thumbnail-preview { aspect-ratio:16/9;min-width:0;display:flex;flex-direction:column;
  justify-content:center;gap:4px;padding:10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--slides-text) 18%,transparent);
  border-radius:3px;background:var(--slides-bg);color:var(--slides-text);box-shadow:0 2px 7px rgba(var(--pd-shadow-rgb),.12); }
.workspace-slides-thumbnail-preview::before { content:"";width:24%;height:2px;border-radius:2px;background:var(--slides-accent); }
.workspace-slides-thumbnail-preview strong,.workspace-slides-thumbnail-preview span { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-slides-thumbnail-preview strong { font-size:9px; }
.workspace-slides-thumbnail-preview span { opacity:.72;font-size:6px; }
.workspace-slides-editor { min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden; }
.workspace-slides-editor-bar { min-height:38px;display:flex;align-items:center;gap:5px;padding:5px 9px;
  overflow-x:auto;scrollbar-width:thin;border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-slides-editor-bar button { width:28px;height:27px;border:1px solid var(--pd-border);border-radius:6px;
  flex:0 0 28px;background:var(--pd-surface);color:var(--pd-text-secondary);cursor:pointer; }
.workspace-slides-editor-bar button:hover:not(:disabled) { background:var(--pd-hover);color:var(--pd-text); }
.workspace-slides-editor-bar button:disabled { opacity:.4;cursor:default; }
.workspace-slides-counter { min-width:54px;color:var(--pd-text-muted);font:600 10px/1 "Segoe UI",sans-serif;text-align:center; }
.workspace-slides-theme-label,.workspace-slides-layout-label,.workspace-slides-preset-label { display:flex;align-items:center;gap:6px;color:var(--pd-text-muted);font-size:10px; }
.workspace-slides-theme-label { margin-left:auto; }
.workspace-slides-theme-label select,.workspace-slides-layout-label select,.workspace-slides-preset-label select { height:27px;max-width:120px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font-size:11px; }
.workspace-slides-canvas-wrap { flex:1;min-height:0;display:grid;place-items:center;overflow:auto;padding:24px;
  background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--pd-surface) 86%,transparent),transparent 62%),var(--pd-bg-deep); }
.workspace-slides-canvas { position:relative;width:min(100%,980px);aspect-ratio:16/9;display:flex;flex-direction:column;
  justify-content:center;gap:4%;padding:7% 8%;overflow:hidden;background:var(--slides-bg);color:var(--slides-text);
  border:1px solid color-mix(in srgb,var(--slides-text) 15%,transparent);box-shadow:0 9px 32px rgba(var(--pd-shadow-rgb),.22); }
.workspace-slides-accent { width:20%;height:6px;flex:none;border-radius:5px;background:var(--slides-accent); }
.workspace-slides-title-editor,.workspace-slides-body-editor { width:100%;resize:none;overflow:auto;border:1px solid transparent;
  border-radius:5px;outline:0;background:transparent;color:inherit;font-family:"Segoe UI Variable Display","Segoe UI",sans-serif; }
.workspace-slides-title-editor { height:30%;min-height:46px;padding:5px;font-size:clamp(20px,4.2cqw,48px);line-height:1.08;font-weight:700; }
.workspace-slides-body-editor { flex:1;min-height:68px;padding:7px;font-size:clamp(12px,2.2cqw,25px);line-height:1.45; }
.workspace-slides-canvas[data-layout="title"] { text-align:center; }
.workspace-slides-canvas[data-layout="title"] .workspace-slides-title-editor { height:38%;font-size:clamp(24px,5cqw,58px);text-align:center; }
.workspace-slides-canvas[data-layout="title"] .workspace-slides-accent { margin-inline:auto; }
.workspace-slides-canvas[data-layout="title"] .workspace-slides-body-editor { flex:0 1 28%;text-align:center; }
.workspace-slides-canvas[data-layout="section"] { padding-inline:9%; }
.workspace-slides-canvas[data-layout="section"] .workspace-slides-title-editor { height:42%;font-size:clamp(23px,4.7cqw,54px); }
.workspace-slides-canvas[data-layout="section"] .workspace-slides-accent { width:30%; }
.workspace-slides-canvas[data-layout="section"] .workspace-slides-body-editor { flex:0 1 24%; }
.workspace-slides-title-editor:hover,.workspace-slides-body-editor:hover { border-color:color-mix(in srgb,var(--slides-text) 25%,transparent); }
.workspace-slides-title-editor:focus,.workspace-slides-body-editor:focus { border-color:var(--slides-accent);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--slides-accent) 22%,transparent); }
.workspace-slides-title-editor::placeholder,.workspace-slides-body-editor::placeholder { color:currentColor;opacity:.42; }
.workspace-slides-notes-label { min-height:68px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;
  align-items:start;padding:8px 11px;border-top:1px solid var(--pd-border);background:var(--pd-surface);
  color:var(--pd-text-muted);font:600 10px/1.6 "Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.04em; }
.workspace-slides-notes-editor { width:100%;min-height:48px;resize:vertical;padding:5px 7px;border:1px solid var(--pd-divider);
  border-radius:6px;outline:0;background:var(--pd-bg);color:var(--pd-text);font:12px/1.45 "Segoe UI",sans-serif;text-transform:none;letter-spacing:normal; }
.workspace-slides-notes-editor:focus { border-color:var(--pd-app-slides);box-shadow:0 0 0 2px color-mix(in srgb,var(--pd-app-slides) 18%,transparent); }
.workspace-slides-presenter { position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:44px 72px;
  background:#08080c;color:#fff;animation:pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.workspace-slides-presenter-stage { width:min(100%,calc((100vh - 110px) * 16 / 9));aspect-ratio:16/9;display:flex;
  flex-direction:column;justify-content:center;gap:4%;padding:7% 8%;overflow:hidden;background:var(--slides-bg);color:var(--slides-text);
  box-shadow:0 18px 65px rgba(0,0,0,.55); }
.workspace-slides-presenter[data-blank="true"] .workspace-slides-presenter-stage { opacity:0; }
.workspace-slides-presenter-stage::before { content:"";width:20%;height:8px;border-radius:6px;background:var(--slides-accent); }
.workspace-slides-presenter-stage h1 { margin:0;font-size:clamp(28px,5vw,74px);line-height:1.08; }
.workspace-slides-presenter-body { font-size:clamp(17px,2.6vw,38px);line-height:1.45;white-space:pre-wrap; }
.workspace-slides-presenter-body p,.workspace-slides-presenter-body li { margin:.18em 0; }
.workspace-slides-presenter-stage[data-layout="title"] { text-align:center; }
.workspace-slides-presenter-stage[data-layout="title"]::before { order:2;margin-inline:auto; }
.workspace-slides-presenter-stage[data-layout="title"] h1 { order:1;font-size:clamp(34px,6vw,88px); }
.workspace-slides-presenter-stage[data-layout="title"] .workspace-slides-presenter-body { order:3; }
.workspace-slides-presenter-stage[data-layout="section"] h1 { font-size:clamp(32px,5.5vw,82px); }
.workspace-slides-presenter-status { position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font:600 12px "Segoe UI",sans-serif;color:#bbb; }
.workspace-slides-presenter-progress { position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.12); }
.workspace-slides-presenter-progress span { display:block;height:100%;background:var(--pd-app-slides);transition:width .18s ease; }
.workspace-slides-presenter-notes { position:absolute;z-index:3;top:62px;right:18px;width:min(340px,42vw);max-height:calc(100vh - 120px);
  overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(12,15,24,.92);
  color:#f1f3f4;font:14px/1.55 "Segoe UI",sans-serif;white-space:pre-wrap;box-shadow:0 10px 30px rgba(0,0,0,.35); }
.workspace-slides-presenter-notes-toggle { position:absolute;top:14px;right:62px;width:38px;height:38px;border:0;border-radius:50%;
  background:rgba(255,255,255,.1);color:#fff;font:700 13px/1 "Segoe UI",sans-serif;cursor:pointer; }
.workspace-slides-presenter-notes-toggle[aria-pressed="true"] { background:var(--pd-app-slides);color:#18130e; }
.workspace-slides-presenter-timer { position:absolute;top:18px;left:18px;min-width:52px;color:#ddd;
  font:700 15px/34px Consolas,"Cascadia Code",monospace;font-variant-numeric:tabular-nums; }
.workspace-slides-presenter-timer-toggle,.workspace-slides-presenter-timer-reset,
.workspace-slides-presenter-blank-toggle { position:absolute;top:16px;width:34px;height:34px;
  border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font:700 12px/1 "Segoe UI",sans-serif;cursor:pointer; }
.workspace-slides-presenter-timer-toggle { left:78px; }.workspace-slides-presenter-timer-reset { left:118px;font-size:17px; }
.workspace-slides-presenter-blank-toggle { left:158px; }
.workspace-slides-presenter-timer-toggle[aria-pressed="true"] { background:var(--pd-app-slides);color:#18130e; }
.workspace-slides-presenter-blank-toggle[aria-pressed="true"] { background:#fff;color:#111; }
.workspace-slides-presenter-timer-toggle:hover,.workspace-slides-presenter-timer-reset:hover,
.workspace-slides-presenter-blank-toggle:hover { background:rgba(255,255,255,.2); }
.workspace-slides-presenter-timer-toggle:focus-visible,.workspace-slides-presenter-timer-reset:focus-visible,
.workspace-slides-presenter-blank-toggle:focus-visible {
  outline:2px solid var(--pd-app-slides);outline-offset:2px; }
.workspace-slides-presenter-close,.workspace-slides-presenter-nav { position:absolute;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;cursor:pointer; }
.workspace-slides-presenter-close { top:14px;right:16px;width:38px;height:38px;font-size:24px; }
.workspace-slides-presenter-nav { top:50%;width:44px;height:64px;transform:translateY(-50%);font-size:36px; }
.workspace-slides-presenter-nav.previous { left:14px; }.workspace-slides-presenter-nav.next { right:14px; }
.workspace-slides-presenter-close:hover,.workspace-slides-presenter-nav:hover:not(:disabled) { background:rgba(255,255,255,.2); }
.workspace-slides-presenter-nav:disabled { opacity:.22;cursor:default; }
@container (max-width:620px) {
  .workspace-slides-body { grid-template-columns:142px minmax(0,1fr); }
  .workspace-slides-thumbnail { grid-template-columns:18px minmax(0,1fr); }
  .workspace-slides-canvas-wrap { padding:10px; }
  .workspace-slides-theme-label,.workspace-slides-layout-label,.workspace-slides-preset-label { max-width:105px;min-width:0;overflow:hidden; }
  .workspace-slides-theme-label select,.workspace-slides-layout-label select,.workspace-slides-preset-label select { min-width:0; }
}
@container (max-width:420px) {
  .workspace-slides-theme-label,.workspace-slides-layout-label,.workspace-slides-preset-label { max-width:76px;gap:0;font-size:0; }
}
@media (max-width:620px) {
  .workspace-slides-presenter { padding:42px 8px; }
  .workspace-slides-presenter-nav { top:auto;bottom:8px;height:38px;transform:none; }
}
@container (max-width:620px) {
  .workspace-word-body { grid-template-columns:1fr;
    grid-template-rows:minmax(140px,var(--workspace-split-primary)) 5px minmax(140px,1fr); }
  .workspace-word-source { border-right:0;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
}
@media (max-width:780px) {
  .workspace-word-body { grid-template-columns:1fr;
    grid-template-rows:minmax(140px,var(--workspace-split-primary)) 5px minmax(140px,1fr); }
  .workspace-word-source { border-right:0;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
  .workspace-word-preview { padding:8px; }
}
.workspace-word-body[data-preview-visible="false"] {
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
}
.workspace-word-body[data-preview-visible="false"] > .workspace-word-source {
  border-right:0;
  border-bottom:0;
}
.workspace-word-body[data-preview-visible="false"] > .workspace-split-resizer,
.workspace-word-body[data-preview-visible="false"] > .workspace-word-preview-wrap {
  display:none;
}

/* -- chat polish layer (appended; asserted rules above stay byte-stable) -- */
.workspace-chat-message { border-radius:12px 12px 12px 4px; }
.workspace-chat-message[data-role="user"] { border-radius:12px 12px 4px 12px; }
.workspace-chat-input-row, [data-conversation-input-row] {
  transition:border-color var(--pd-dur-fast) var(--pd-ease), box-shadow var(--pd-dur-base) var(--pd-ease);
}
/* User-directed: the composer border does not change at all while typing —
   every token in this palette reads lavender, so any "subtle" focus shade
   still showed as a purple box. The caret is the focus indication. */

/* contain, not cover: slide thumbnails are wide WSI strips, and cover crops
   them to an unrecognizable sliver inside the square icon. */
.workspace-file-row[data-file-role="slide"] .workspace-file-icon img { width:100%;height:100%;object-fit:contain;border-radius:6px;display:block;background:var(--pd-surface-sunken,#f1f3f4); }

/* Home navigation is structurally separate from the Workspace workbench. */
.viewer-ai-navigation { display:none; }
body.viewer-chat-home #viewer-home-surface .viewer-ai-navigation {
  position:absolute;
  inset:54px 0 var(--viewer-account-height) 0;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
  padding:8px 12px 12px;
  overflow:hidden;
  color:var(--pd-text);
}
.viewer-ai-new-chat,
.viewer-ai-recent-item {
  width:100%;
  min-height:40px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--pd-text-secondary);
  font:560 13px/1.2 "Segoe UI",Roboto,sans-serif;
  text-align:start;
  cursor:pointer;
}
.viewer-ai-new-chat {
  min-height:44px;
  margin:8px 0 6px;
  background:color-mix(in srgb,var(--pd-accent) 9%,var(--pd-surface));
  color:var(--pd-text);
  font-weight:650;
}
/* Keep the creation label on its own flex track. Without an explicit track,
   later shell controls can make the anonymous flex sizing collapse to a
   single glyph even though the button itself still spans the sidebar. */
.viewer-ai-new-chat > svg { flex:0 0 auto; }
.viewer-ai-new-chat > [data-ai-nav-label="new-chat"] {
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.viewer-ai-new-chat:hover,
.viewer-ai-recent-item:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-ai-new-chat:focus-visible,
.viewer-ai-recent-item:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);
  outline-offset:-2px;
}
.viewer-ai-nav-section { min-height:0;margin-top:18px;overflow:hidden; }
.viewer-ai-nav-heading {
  padding:0 12px 8px;
  color:var(--pd-text-muted);
  font:650 11px/1.2 "Segoe UI",Roboto,sans-serif;
  letter-spacing:.01em;
}
.viewer-ai-recent-dot { width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--pd-text-faint); }
.viewer-ai-recent-item span:last-child { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
body.viewer-chat-home #viewer-account-slot {
  background:color-mix(in srgb,var(--pd-bg) 78%,var(--pd-surface));
}

body.viewer-chat-home .workspace-chat {
  position:relative;
  background:var(--pd-surface);
  font-family:"Segoe UI Variable Text","Segoe UI",Roboto,sans-serif;
}
body.viewer-chat-home .workspace-chat-header {
  height:58px;
  min-height:58px;
  gap:8px;
  padding:0 22px;
  border-bottom:0;
}
body.viewer-chat-home .workspace-chat-title { visibility:hidden; }
body.viewer-chat-home .workspace-chat-status,
body.viewer-chat-home .workspace-chat-power { display:none; }
body.viewer-chat-home .workspace-chat-settings { margin-left:auto; }
.workspace-chat-settings {
  width:38px;
  height:38px;
  min-width:38px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--pd-text-secondary);
  cursor:pointer;
}
.workspace-chat-settings svg { width:21px;height:21px; }
.workspace-chat-settings:hover,
.workspace-chat-settings[aria-expanded="true"] { background:var(--pd-hover);color:var(--pd-text); }
.workspace-chat-language-row { height:auto; }
.workspace-chat-controls[hidden] { display:none !important; }
body.viewer-chat-home .workspace-chat-controls {
  position:absolute;
  z-index:8;
  top:52px;
  inset-inline-end:20px;
  width:min(320px,calc(100% - 40px));
  min-height:0;
  border:1px solid var(--pd-border);
  border-radius:12px;
  border-bottom:1px solid var(--pd-border);
  background:var(--pd-surface);
  box-shadow:var(--pd-shadow-menu);
}
body.viewer-chat-home .workspace-chat-context { display:none; }
body.viewer-chat-home .workspace-chat-body { background:var(--pd-surface); }
body.viewer-chat-home .workspace-chat-messages {
  width:min(900px,calc(100% - 64px));
  height:100%;
  margin:0 auto;
  padding:24px 0 32px;
  box-sizing:border-box;
  gap:16px;
}
body.viewer-chat-home .workspace-chat-message {
  max-width:min(78%,720px);
  padding:11px 14px;
  border-color:transparent;
  border-radius:16px 16px 16px 5px;
  line-height:1.6;
}
body.viewer-chat-home .workspace-chat-message[data-role="user"] {
  border-radius:16px 16px 5px 16px;
  background:color-mix(in srgb,var(--pd-accent) 11%,var(--pd-surface));
}
.workspace-chat-empty[hidden] { display:none !important; }
body.viewer-chat-home .workspace-chat-empty {
  place-items:center;
  padding:20px 32px 10px;
}
.workspace-chat-hero { max-width:760px;display:flex;flex-direction:column;align-items:center; }
.workspace-chat-hero-brand {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-bottom:15px;
  color:var(--pd-text);
  font:680 clamp(22px,2vw,31px)/1 "Segoe UI Variable Display","Segoe UI",sans-serif;
  letter-spacing:-.03em;
}
.workspace-chat-hero-brand img { width:39px;height:39px;display:block;object-fit:contain; }
.workspace-chat-hero h1 {
  margin:0;
  color:var(--pd-text);
  font:520 clamp(28px,3.2vw,46px)/1.16 "Segoe UI Variable Display","Segoe UI",sans-serif;
  letter-spacing:-.045em;
}
.workspace-chat-hero p {
  max-width:620px;
  margin:13px 0 0;
  color:var(--pd-text-muted);
  font-size:14px;
  line-height:1.55;
}
body.viewer-chat-home .workspace-chat-composer {
  width:min(900px,calc(100% - 64px));
  margin:0 auto clamp(24px,7vh,72px);
  padding:0;
  box-sizing:border-box;
  border-top:0;
  background:transparent;
}
body.viewer-chat-home .workspace-chat-input-row {
  min-height:94px;
  align-items:flex-end;
  gap:10px;
  padding:16px 14px 12px 20px;
  border-color:var(--pd-border);
  border-radius:24px;
  background:var(--pd-surface);
  box-shadow:0 10px 34px rgba(var(--pd-shadow-rgb),.08),0 1px 3px rgba(var(--pd-shadow-rgb),.08);
}
body.viewer-chat-home .workspace-chat-input {
  min-height:54px;
  max-height:150px;
  padding:2px 0;
  font-size:16px;
  line-height:1.55;
}
body.viewer-chat-home .workspace-chat-send {
  width:36px;
  height:36px;
  min-width:36px;
}
.workspace-chat-composer-meta {
  min-height:26px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding:7px 8px 0;
  color:var(--pd-text-muted);
  font-size:11px;
}
.workspace-chat-privacy-label {
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.workspace-chat-privacy-label::before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--pd-success);
}
.workspace-chat-privacy-label[data-status="checking"]::before,
.workspace-chat-privacy-label[data-status="off"]::before { background:var(--pd-text-muted); }
.workspace-chat-privacy-label[data-status="unavailable"]::before { background:var(--pd-warning); }
.workspace-chat-privacy-label[data-status="error"]::before { background:var(--pd-danger); }
.workspace-chat-suggestions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:13px;
}
.workspace-chat-suggestion {
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--pd-border);
  border-radius:12px;
  background:var(--pd-surface);
  color:var(--pd-text-secondary);
  font:600 12px "Segoe UI",Roboto,sans-serif;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(var(--pd-shadow-rgb),.04);
}
.workspace-chat-suggestion::before { margin-right:7px;color:var(--pd-text-muted); }
/* The / "" alternative text keeps these decorative glyphs out of the
   accessibility tree. */
.workspace-chat-suggestion[data-icon="slides"]::before { content:"◇" / ""; }
.workspace-chat-suggestion[data-icon="report"]::before { content:"▤" / ""; }
.workspace-chat-suggestion[data-icon="code"]::before { content:"</>" / "";font-family:Consolas,monospace; }
.workspace-chat-suggestion[data-icon="data"]::before { content:"⌁" / ""; }
.workspace-chat-suggestion:hover { border-color:var(--pd-accent-muted);background:var(--pd-accent-faint);color:var(--pd-text); }
.workspace-chat[data-empty="false"] .workspace-chat-suggestions { display:none; }
.workspace-chat[data-empty="false"] .workspace-chat-composer {
  margin-bottom:18px !important;
}
.workspace-chat[data-empty="true"] .workspace-chat-status,
.workspace-chat[data-empty="true"] .workspace-chat-power { display:none; }


@media (max-width:780px) {
  body.viewer-chat-home .workspace-chat-header { padding:0 12px; }
  body.viewer-chat-home .workspace-chat-title {
    visibility:visible;
    overflow:hidden;
    font-size:15px;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.viewer-chat-home .workspace-chat[data-empty="true"] .workspace-chat-title {
    visibility:hidden;
  }
  body.viewer-chat-home .workspace-chat-status-text { display:none; }
  body.viewer-chat-home .workspace-chat-status { width:28px;padding:0;justify-content:center; }
  body.viewer-chat-home .workspace-chat-power { display:none; }
  .workspace-chat-hero-brand { font-size:20px; }
  .workspace-chat-hero-brand img { width:32px;height:32px; }
  .workspace-chat-hero h1 { font-size:clamp(27px,9vw,38px); }
  .workspace-chat-hero p { font-size:13px; }
  body.viewer-chat-home .workspace-chat-messages,
  body.viewer-chat-home .workspace-chat-composer {
    width:calc(100% - 24px);
  }
  body.viewer-chat-home .workspace-chat-composer { margin-bottom:18px; }
  body.viewer-chat-home .workspace-chat-input-row {
    min-height:82px;
    padding:13px 11px 10px 15px;
    border-radius:20px;
  }
  .workspace-chat-composer-meta {
    min-height:20px;
    display:flex;
    justify-content:center;
    padding:6px 4px 0;
  }
  .workspace-chat-privacy-label {
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .workspace-chat-suggestions { gap:6px;margin-top:10px; }
  .workspace-chat-suggestion { min-height:34px;padding:0 10px;font-size:11px; }
}

@media (max-width:520px) {
  .workspace-chat-hero p { display:none; }
  .workspace-chat-suggestions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workspace-chat-suggestion { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
}

/* One shell mode control moves between the active sidebar slot and the
   floating fallback slot while that sidebar is collapsed or off screen. */
.shell-mode-tabs {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: var(--pd-bg-deep);
  border: 1px solid var(--pd-border);
}
/* Sidebar-hosted fallback mode controls share one geometry on both surfaces. */
.shell-mode-tabs[data-variant="sidebar"] { margin-block: 10px 4px; margin-inline: 10px; height: 33px; box-sizing: border-box; max-width: calc(100% - 20px); }
.shell-mode-tabs[data-variant="sidebar"] .shell-mode-tab { flex: 0 1 auto; min-width: 0; padding: 5px 9px; gap: 5px; }
.shell-mode-tab span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* The resizer permits a 200px Explorer. Keep both English labels deliberate at
   that minimum instead of falling into accidental one-character ellipses. */
@container (max-width: 220px) {
  #viewer-explorer-region > .shell-mode-tabs[data-variant="sidebar"] .shell-mode-tab {
    padding-inline: 6px;
    gap: 4px;
    font-size: 12px;
  }
}

/* The sidebar pill is the Explorer's only title chrome. Its 47px flow block
   (10+33+4) is the complete content offset; search begins immediately below. */
#viewer-explorer-region:has(> .shell-mode-tabs[data-variant="sidebar"]) #viewer-explorer-content {
  top: 47px;
}
.shell-mode-tabs[data-variant="floating"] {
  display: none;
  position: fixed;
  top: 0;
  inset-inline-start: 0;
  inset-inline-end: auto;
  width: var(--viewer-explorer-width);
  height: var(--viewer-tab-height);
  box-sizing: border-box;
  padding: 4px 8px;
  border: 0;
  border-inline-end: 1px solid var(--viewer-border);
  border-bottom: 1px solid var(--viewer-border);
  border-radius: 0;
  background: var(--pd-surface);
  transform: none;
  /* The document tab bar also owns z-index 90. Keep the page-lifetime surface
     switch one layer above it so route tabs cannot paint over Home/Workspace
     while a compact Explorer drawer is open. */
  z-index: 91;
  /* The painted bar spans the sidebar, but only its navigation buttons are
     interactive. Pointer input in the trailing cell belongs to the Home
     sidebar toggle below this shared chrome. */
  pointer-events: none;
}
.shell-mode-tabs--shown[data-variant="floating"] { display: inline-flex; }
.shell-mode-tabs--shown[data-variant="floating"] .shell-mode-tab {
  /* The leading bar follows the active sidebar width, but its two navigation
     controls must not stretch with that resizable column. Keep the controls
     on the same 32px top-bar rhythm as document tabs and retain identical
     bounds when switching between Home and Workspace. */
  flex: 0 0 auto;
  min-width: 0;
  height: 32px;
  padding-inline: 8px;
  gap: 5px;
  pointer-events: auto;
}
/* Home and Workspace use the same full-width rectangular top-bar treatment.
   Only the owning sidebar width differs: Home follows its own resizable width
   while Workspace follows the Explorer width from the base rule above. */
body.viewer-chat-home
    .shell-mode-tabs--shown[data-variant="floating"] {
  width:min(100vw,var(--viewer-sidebar-width,272px));
  z-index:97;
}
@media (max-width: 780px) {
  .shell-mode-tabs--shown[data-variant="floating"] {
    width: min(86vw,340px);
  }
}
/* The floating mode pill owns the shared 40px top band. Explorer content
   clears that band in the base shell style and needs no second title row. */
body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tabbar {
  padding-inline-start:var(--viewer-explorer-width);
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-tabbar {
  padding-inline-start: 240px;
}
/* Live theme switches cross-fade the sidebar; the chat column matches so the
   home does not flip in two phases. */
#viewer-chat-region, #viewer-chat-content {
  transition: background-color var(--pd-dur-slow) var(--pd-ease), color var(--pd-dur-slow) var(--pd-ease);
}

/* Viewer pane restore affordance, positioned from the live stage bounds. */
.viewer-pane-restore-chip { position:fixed;z-index:93;transform:translateX(-50%);height:26px;
  display:flex;align-items:center;gap:6px;padding:0 12px;border:0;border-radius:13px;cursor:pointer;
  background:color-mix(in srgb,var(--pd-surface) 82%,transparent);box-shadow:var(--pd-shadow-raise);
  backdrop-filter:blur(6px);font:600 11.5px "Segoe UI",Roboto,sans-serif;color:var(--pd-accent-strong); }
.viewer-pane-restore-chip:disabled { cursor:wait;opacity:.68; }
.viewer-pane-restore-chip:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }

/* Viewer keyboard help is a modal, surface-scoped overlay with one stable
   keyboard target and a responsive two-column shortcut grid. */
.viewer-shortcuts-backdrop { position:fixed;inset:0;z-index:2147483004;display:grid;place-items:center;
  padding:14px;background:rgba(var(--pd-shadow-rgb),.42);box-sizing:border-box;pointer-events:auto; }
.viewer-shortcuts-dialog { width:min(680px,100%);max-height:min(760px,calc(100vh - 28px));display:flex;
  flex-direction:column;overflow:hidden;border:1px solid var(--pd-border);border-radius:12px;
  background:var(--pd-surface);color:var(--pd-text);box-shadow:var(--pd-shadow-dialog);
  font:13px/1.5 "Segoe UI",Roboto,Pretendard,sans-serif;animation:pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); }
.viewer-shortcuts-header { min-height:48px;display:flex;align-items:center;gap:10px;padding:0 10px 0 18px;
  border-bottom:1px solid var(--pd-border); }
.viewer-shortcuts-title { min-width:0;flex:1;margin:0;font-size:16px;line-height:1.3; }
.viewer-shortcuts-close { width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;
  background:transparent;color:var(--pd-text-secondary);font:21px/1 Arial,sans-serif;cursor:pointer; }
.viewer-shortcuts-close:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-shortcuts-close:focus-visible { outline:3px solid color-mix(in srgb,var(--pd-accent) 24%,transparent);
  outline-offset:-2px; }
.viewer-shortcuts-body { min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;padding:16px 18px 20px;overscroll-behavior:contain; }
.viewer-shortcuts-group { min-width:0; }
.viewer-shortcuts-group h3 { margin:0 0 6px;color:var(--pd-accent-strong);font-size:13px;line-height:1.35; }
.viewer-shortcuts-list { display:grid;gap:3px; }
.viewer-shortcut-row { min-width:0;display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);
  gap:12px;align-items:baseline; }
.viewer-shortcut-row kbd { overflow-wrap:anywhere;color:var(--pd-text);font:600 12px/1.45 ui-monospace,
  "Cascadia Code","SFMono-Regular",Consolas,monospace;font-variant-numeric:tabular-nums; }
.viewer-shortcut-row span { min-width:0;color:var(--pd-text-secondary);overflow-wrap:anywhere; }
@media (max-width:680px) {
  .viewer-shortcuts-body { grid-template-columns:minmax(0,1fr); }
  .viewer-shortcut-row { grid-template-columns:minmax(108px,42%) minmax(0,1fr); }
}

/* Viewer agent audit trail. It stays inside the visual work area when the
   docked chat is present and becomes a viewport-safe sheet on compact screens. */
#agent-trace-panel[hidden] { display: none !important; }
.agent-trace-panel {
  position: fixed;
  inset-inline-end: 14px;
  bottom: calc(52px + env(safe-area-inset-bottom, 0px));
  z-index: 24;
  display: flex;
  width: min(360px, calc(100vw - 28px));
  max-height: min(520px, 46vh);
  flex-direction: column;
  overflow: hidden;
  color: var(--pd-text);
  background: color-mix(in srgb, var(--pd-surface) 94%, transparent);
  border: 1px solid var(--pd-border);
  border-radius: 12px;
  box-shadow: var(--pd-shadow-raise);
  backdrop-filter: blur(10px);
  font: 12px "Segoe UI", Roboto, sans-serif;
}
body:not(.viewer-chat-home):not(.viewer-chat-closed) .agent-trace-panel {
  inset-inline-end: calc(var(--viewer-chat-width) + 14px);
}
.agent-trace-header {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 7px;
  padding: 6px 8px 6px 11px;
  border-bottom: 1px solid var(--pd-border);
  background: color-mix(in srgb, var(--pd-surface-raised) 74%, transparent);
}
.agent-trace-title {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agent-trace-stage-summary {
  flex: none;
  padding: 2px 7px;
  color: var(--pd-accent-strong);
  background: var(--pd-accent-soft);
  border: 1px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 18px;
}
.agent-trace-action,
.agent-trace-close {
  flex: none;
  min-width: 28px;
  min-height: 28px;
  padding: 0 6px;
  color: var(--pd-text-secondary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  cursor: pointer;
  font: 600 11px/1 "Segoe UI", sans-serif;
}
.agent-trace-close { padding: 0; font-size: 17px; }
.agent-trace-action:hover,
.agent-trace-close:hover {
  color: var(--pd-text);
  background: var(--pd-hover);
  border-color: var(--pd-border);
}
.agent-trace-action:focus-visible,
.agent-trace-close:focus-visible {
  outline: 2px solid var(--pd-accent);
  outline-offset: 1px;
}
.agent-trace-action:disabled { opacity: .42; cursor: default; }
.agent-trace-question,
.agent-trace-execution {
  display: flex;
  flex: none;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4px 8px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--pd-border);
}
.agent-trace-question .agent-trace-action {
  color: var(--pd-accent-strong);
  background: var(--pd-accent-soft);
}
[data-agent-trace-question-status],
[data-agent-trace-execution-status],
[data-agent-trace-start-status] {
  flex: 1 1 140px;
  color: var(--pd-text-secondary);
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
[data-agent-trace-start-status] { flex-basis: 100%; }
[data-agent-trace-start-status]:empty { display: none; }
.agent-trace-scroll {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-block: 4px;
}
.agent-trace-list { min-height: 0; }
.agent-trace-reading-stages {
  flex: none;
  padding: 7px 10px;
  border-bottom: 1px solid var(--pd-border);
  color: var(--pd-text-secondary);
  font-size: 11px;
}
.agent-trace-reading-stages summary { cursor: pointer; font-weight: 650; }
.agent-trace-reading-stages summary:focus-visible {
  outline: 2px solid var(--pd-accent);
  outline-offset: 2px;
}
.agent-trace-reading-stages ol { margin: 6px 0; padding-inline-start: 20px; }
.agent-trace-reading-stages li { padding: 2px 0; }
.agent-trace-reading-stages li > span:first-child { display: inline-block; min-width: 66%; }
.agent-trace-reading-stages [data-state="reported"] { color: var(--pd-accent-strong); }
.agent-trace-reading-stages p { margin: 5px 0 0; font-size: 10px; line-height: 1.5; }
.agent-trace-reading-stages [data-agent-reading-goal] {
  max-height: 96px;
  overflow: auto;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.agent-trace-row:focus-visible { outline: 2px solid var(--pd-accent-strong); outline-offset: -2px; }
.agent-trace-empty {
  padding: 14px 12px;
  color: var(--pd-text-secondary);
  text-align: center;
}
.agent-trace-row {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-bottom: 1px solid color-mix(in srgb, var(--pd-border) 45%, transparent);
}
.agent-trace-row:last-child { border-bottom: 0; }
.agent-trace-row--stage {
  min-height: 40px;
  border-inline-start: 3px solid var(--pd-accent);
  background: color-mix(in srgb, var(--pd-accent) 9%, transparent);
}
.agent-trace-dot {
  width: 7px;
  height: 7px;
  flex: none;
  border-radius: 50%;
  background: #4caf7d;
  box-shadow: 0 0 0 2px color-mix(in srgb, #4caf7d 14%, transparent);
}
.agent-trace-dot[data-state="error"] {
  background: #e05d5d;
  box-shadow: 0 0 0 2px color-mix(in srgb, #e05d5d 14%, transparent);
}
.agent-trace-row--stage .agent-trace-dot {
  width: 9px;
  height: 9px;
  background: var(--pd-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--pd-accent) 16%, transparent);
}
.agent-trace-thumbnail {
  width: 58px;
  height: 34px;
  flex: none;
  align-self: center;
  object-fit: cover;
  border: 1px solid var(--pd-border);
  border-radius: 5px;
}
.agent-trace-row-name {
  flex: none;
  font-family: Consolas, "SFMono-Regular", monospace;
  font-size: 11.5px;
  font-weight: 650;
  white-space: nowrap;
}
.agent-trace-row--stage .agent-trace-row-name {
  color: var(--pd-accent-strong);
  font-family: inherit;
}
.agent-trace-row-detail {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  color: var(--pd-text-secondary);
  font-size: 11.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.agent-trace-row--error .agent-trace-row-detail { color: #e05d5d; }
.agent-trace-row-meta {
  flex: none;
  color: var(--pd-text-secondary);
  font-size: 10.5px;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 780px) {
  .agent-trace-panel,
  body:not(.viewer-chat-home):not(.viewer-chat-closed) .agent-trace-panel {
    inset-inline: 10px;
    bottom: calc(58px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: 54vh;
  }
}
@media (max-width: 420px) {
  .agent-trace-row { gap: 6px; padding-inline: 8px; }
  .agent-trace-row-meta { display: none; }
  .agent-trace-stage-summary { max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
.shell-mode-tab {
  display: inline-flex;
  flex: none;
  justify-content: center;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--pd-text-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background var(--pd-dur-fast) var(--pd-ease),
      color var(--pd-dur-fast) var(--pd-ease);
}
.shell-mode-tab:hover { color: var(--pd-text); background: var(--pd-hover); }
.shell-mode-tab:focus-visible { outline: 2px solid var(--pd-accent); outline-offset: 1px; }
.shell-mode-tab.active {
  background: var(--pd-surface-raised);
  border-color: var(--pd-border);
  color: var(--pd-text);
  box-shadow: 0 1px 2px rgba(var(--pd-shadow-rgb), .12);
}
.shell-mode-tab svg { flex: none; }
@media (max-width: 640px) {
  .shell-mode-tab span { display: none; }
  .shell-mode-tab { padding: 6px 10px; }
}

.workspace-chat-stopped-badge { display:block;margin-top:6px;font-size:11px;color:var(--pd-text-muted);user-select:none; }
.workspace-chat-source-badge { display:block;width:max-content;margin-top:7px;padding:2px 7px;border-radius:999px;
  background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-size:10px;font-weight:600;line-height:16px;user-select:none; }
.workspace-chat-answer-meta { display:block;margin-top:5px;font-size:10px;color:var(--pd-text-muted);
  font-variant-numeric:tabular-nums;user-select:none; }

/* PDF load failure surfaced in the pane body (toolbar status is sr-only on compact layouts) */
.workspace-pdf-empty-error { max-width:340px;color:var(--pd-danger);font-size:11px;overflow-wrap:anywhere; }
.workspace-pdf-empty-error:empty { display:none; }

.workspace-chat-visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0; }
.workspace-chat-input[readonly] { opacity:.65; }
.workspace-chat-messages:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 45%, transparent);outline-offset:-2px; }

.workspace-sheet-column-resizer:focus-visible {
  background:linear-gradient(to right, transparent 3px, var(--pd-accent) 3px, var(--pd-accent) 6px, transparent 6px);
  outline:2px solid var(--pd-accent);outline-offset:-1px; }

button.viewer-tab-close { appearance:none;background:none;border:0;padding:0;cursor:pointer; }
button.viewer-tab-close:focus-visible { outline:2px solid var(--pd-accent, currentColor);outline-offset:1px; }

.viewer-auth-retry { width:100%;min-height:38px;margin-top:10px;padding:8px 14px;border:1px solid var(--pd-border);border-radius:8px;
  background:var(--pd-surface);color:var(--pd-text-secondary);font:600 13px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.viewer-auth-retry:hover { border-color:var(--pd-accent);background:var(--pd-hover);color:var(--pd-text); }
.viewer-auth-retry:focus-visible { outline:3px solid color-mix(in srgb, var(--pd-accent) 22%, transparent);outline-offset:1px; }
.viewer-auth-retry:disabled { cursor:wait;opacity:.62; }
.viewer-auth-retry[hidden] { display:none; }

.workspace-explorer-empty-state-hint { max-width:210px;color:var(--pd-text-muted);font:10.5px/1.5 "Segoe UI",Roboto,sans-serif; }
.workspace-trash-row { flex-wrap:wrap; }
.workspace-trash-error { flex-basis:100%;min-width:0;padding:0 2px 3px;color:var(--pd-danger-text);font-size:10.5px;line-height:1.45;overflow-wrap:anywhere; }
.workspace-trash-error[hidden] { display:none; }

/* -- home sidebar collapse + resize ---------------------------------------- */
body.viewer-chat-home #viewer-home-sidebar-toggle {
  position:fixed;
  top:4px;
  inset-inline-start:calc(min(100vw,var(--viewer-sidebar-width,272px)) - 42px);
  z-index:98;
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  padding:0;
  border:1px solid var(--pd-divider);
  border-radius:10px;
  background:var(--pd-surface);
  color:var(--pd-text-secondary);
  box-shadow:var(--pd-shadow-raise);
  cursor:pointer;
}
body.viewer-chat-home #viewer-home-sidebar-toggle:hover { background:var(--pd-hover);color:var(--pd-text); }
body.viewer-chat-home #viewer-home-sidebar-toggle:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 22%,transparent);
  outline-offset:-2px;
}
body.viewer-chat-home #viewer-home-sidebar-resizer {
  position:absolute;
  top:0;
  bottom:0;
  inset-inline-end:0;
  z-index:60;
  display:block;
  width:9px;
  cursor:col-resize;
  touch-action:none;
}
body.viewer-chat-home #viewer-home-sidebar-resizer:hover,
body.viewer-chat-home #viewer-home-sidebar-resizer:focus-visible {
  background:color-mix(in srgb,var(--pd-accent) 30%,transparent);
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-home-sidebar-resizer { display:none; }
@media (max-width: 780px) {
  body.viewer-chat-home #viewer-home-sidebar-resizer { display:none !important; }
}

#viewer-ai-recent-list { display:flex;flex-direction:column;gap:1px;min-height:0;overflow-y:auto;max-height:40vh; }
#viewer-ai-recent-list[hidden],
[data-ai-nav="current-chat"][hidden] { display:none !important; }
.viewer-ai-recent-row { display:flex;align-items:center;gap:1px;min-width:0; }
.viewer-ai-recent-row .viewer-ai-recent-item { flex:1;min-width:0; }
.viewer-ai-recent-delete { flex:0 0 auto;width:22px;height:22px;padding:0;border:0;border-radius:6px;
  display:grid;place-items:center;background:transparent;color:var(--pd-text-muted);
  font:400 14px/1 "Segoe UI",Roboto,sans-serif;cursor:pointer;opacity:0;
  transition:opacity var(--pd-dur-fast) var(--pd-ease); }
@media (hover: none) { .viewer-ai-recent-delete { opacity:1; } }
.viewer-ai-recent-row:hover .viewer-ai-recent-delete,
.viewer-ai-recent-row:focus-within .viewer-ai-recent-delete { opacity:1; }
.viewer-ai-recent-delete:hover { background:var(--pd-hover);color:var(--pd-danger); }
.viewer-ai-recent-delete:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-1px;opacity:1; }

/* -- auth gate: scroll path on short viewports ------------------------------ */
#viewer-auth-gate { overflow-y: auto; }
#viewer-auth-gate .viewer-auth-card { margin: auto; overflow-y: auto;
  max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); }

/* -- embedded language control (settings card + clones) --------------------- */
.viewer-language-control--embedded { width:100%;height:38px;box-sizing:border-box;display:flex;align-items:center;gap:7px;
  padding:0 10px;border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-surface);color:var(--pd-text-secondary);
  font:13px "Segoe UI",Roboto,sans-serif;direction:ltr; }
.viewer-language-control--embedded select { flex:1;min-width:0;height:28px;border:0;background:transparent;color:var(--pd-text);
  font:13px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.viewer-language-control--embedded select:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px;border-radius:4px; }

/* -- chat error line inline action (retry / re-enable) ---------------------- */
.workspace-chat-error-text { min-width:0;overflow-wrap:anywhere; }
.workspace-chat-error[data-kind="unavailable"] { color:var(--pd-warning-text); }
.workspace-chat-error-action { margin-inline-start:8px;padding:1px 10px;border:1px solid var(--pd-divider);border-radius:7px;
  background:var(--pd-surface);color:var(--pd-text);font-size:11px;line-height:1.5;cursor:pointer; }
.workspace-chat-error-action:hover { background:var(--pd-hover); }
.workspace-chat-error-action[hidden] { display:none; }

/* -- post-handoff inert recents rows ---------------------------------------- */
.viewer-ai-recent-item[aria-disabled="true"],
.viewer-ai-recent-delete[aria-disabled="true"] { opacity:.55;cursor:default; }

/* -- mobile home sidebar drawer (<=780px) ---------------------------------- */
.viewer-home-sidebar-backdrop { display:none; }
@media (max-width: 780px) {
  body.viewer-chat-home:not(.viewer-home-sidebar-collapsed) .viewer-home-sidebar-backdrop {
    display:block;
    position:fixed;
    inset:0;
    z-index:95;
    background:color-mix(in srgb, var(--pd-bg) 55%, transparent);
  }
  body.viewer-chat-home:not(.viewer-home-sidebar-collapsed) #viewer-home-sidebar-toggle {
    inset-inline-start:calc(min(300px,84vw) - 42px);
  }
  /* The collapsed corner keeps the canonical 32px sidebar toggle centered in
     the shared 40px top bar after the icon-only mode pill. Keep the visible
     PreDoctor title in normal flow after both controls. */
  body.viewer-chat-home.viewer-home-sidebar-collapsed .workspace-chat-header {
    padding-inline-start:144px;
  }
}
@media (min-width:641px) and (max-width:780px) {
  /* Compact tablets retain the full-width Home/Workspace bar. Reserve that
     exact leading bar plus one 8px gutter for the public Chat title; the
     phone layout below 641px instead uses the 144px icon-row reservation. */
  body.viewer-chat-home.viewer-home-sidebar-collapsed .workspace-chat-header {
    padding-inline-start:calc(min(100vw,var(--viewer-sidebar-width,272px)) + 8px);
  }
}

.workspace-chat-control-label { color:var(--pd-text-muted);font:600 12px "Segoe UI",Roboto,sans-serif;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

/* The mention machinery mounts onto the shared composer when the workspace
   opens; the chat home keeps a plain composer. */
body.viewer-chat-home .workspace-chat-mention-trigger,
body.viewer-chat-home .workspace-chat-mention-context,
body.viewer-chat-home .workspace-chat-mention-popover,
body.viewer-chat-home .workspace-chat-mention-inspector { display:none !important; }

/* -- independent top-level surface roots -----------------------------------
   Home owns the server DeepSeek DOM. Workspace owns Explorer, document stage
   and local Qwen DOM. The roots are siblings; neither assistant is ever
   reparented into or painted through the other surface. */
#viewer-shell-root { isolation:isolate; }
#viewer-home-surface[hidden],
#viewer-workspace-surface[hidden] { display:none !important; }

/* Each page-lifetime surface begins with one keyboard-only route past its
   persistent navigation chrome. It remains visually outside the viewport
   until focused, then clears every shell layer with a full touch-size target. */
.viewer-skip-link {
  position:fixed;
  inset-block-start:10px;
  inset-inline-start:10px;
  z-index:110;
  display:inline-flex;
  min-height:44px;
  box-sizing:border-box;
  align-items:center;
  padding:9px 14px;
  border:1px solid color-mix(in srgb,var(--pd-on-accent) 38%,transparent);
  border-radius:9px;
  background:var(--pd-accent);
  color:var(--pd-on-accent);
  box-shadow:0 5px 18px rgba(var(--pd-shadow-rgb),.28);
  font:650 13px/1.3 Roboto,"Segoe UI",Pretendard,sans-serif;
  text-decoration:none;
  opacity:0;
  pointer-events:none;
  transform:translateY(calc(-100% - 20px));
  transition:transform var(--pd-dur-fast) var(--pd-ease),
             opacity var(--pd-dur-fast) var(--pd-ease);
}
.viewer-skip-link:focus,
.viewer-skip-link:focus-visible {
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
  outline:3px solid color-mix(in srgb,var(--pd-accent) 28%,transparent);
  outline-offset:2px;
}
#viewer-home-assistant-region:focus:not(:focus-visible),
#viewer-main-region:focus:not(:focus-visible) { outline:none; }
#viewer-home-assistant-region:focus-visible,
#viewer-main-region:focus-visible {
  outline:3px solid color-mix(in srgb,var(--pd-accent) 38%,transparent);
  outline-offset:-3px;
}

body.viewer-chat-home #viewer-home-surface {
  display:grid;
  grid-template-columns:minmax(200px,var(--viewer-sidebar-width,272px)) minmax(0,1fr);
  grid-template-areas:"home-sidebar home-assistant";
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-home-surface {
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"home-assistant";
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-home-sidebar-region {
  display:none !important;
}
#viewer-home-sidebar-region {
  grid-area:home-sidebar;
  container-type:inline-size;
}
#viewer-home-assistant-region { grid-area:home-assistant; }
#viewer-home-chat-content,
#viewer-home-chat-content > #viewer-public-chat { width:100%;height:100%; }
body.viewer-chat-home #viewer-home-chat-content {
  max-width:none;
  margin:0;
  border:0;
  background:var(--pd-surface);
}

body.viewer-chat-home #viewer-ai-navigation {
  position:absolute;
  inset:54px 0 var(--viewer-account-height) 0;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:0;
  padding:8px 12px 12px;
  overflow:hidden;
}

/* Account is global shell chrome. Its width inherits from the shell-level
   workbench column variable so the row remains flush with Explorer after any
   resize. One controller and one DOM node keep account state canonical. */
#viewer-account-slot {
  position:absolute;
  inset:auto;
  inset-block-end:0;
  inset-inline-start:0;
  inset-inline-end:auto;
  width:var(--viewer-explorer-width);
  box-sizing:border-box;
}
/* An open account dialog must remain interactive above shell notices. The
   slot, not the child dialog, owns this stacking-context promotion. */
#viewer-account-slot[data-account-menu-open] { z-index:100; }
body.viewer-chat-home #viewer-account-slot {
  width:min(100vw,var(--viewer-sidebar-width,272px));
  background:color-mix(in srgb,var(--pd-bg) 78%,var(--pd-surface));
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-account-slot { display:none; }

/* The account row belongs to Explorer. When Explorer is closed, retain one
   avatar-sized shell fallback in the main document top bar. On desktop the
   fallback follows the resizable Chat boundary instead of disappearing behind
   Chat, so settings, updates, and sign-out remain reachable in every two-pane
   layout. Compact drawers keep their existing viewport-corner placement. */
body:not(.viewer-chat-home).viewer-explorer-closed #viewer-account-slot {
  display:flex;
  inset:auto;
  inset-block-start:0;
  inset-inline-start:auto;
  inset-inline-end:0;
  width:42px;
  height:var(--viewer-tab-height);
  padding:4px 5px;
  align-items:center;
  justify-content:center;
  border:0;
  z-index:98;
  background:transparent;
}
@media (min-width:781px) {
  body:not(.viewer-chat-home).viewer-explorer-closed:not(.viewer-chat-closed)
      #viewer-account-slot {
    inset-inline-end:var(--viewer-chat-width);
  }
  body:not(.viewer-chat-home).viewer-explorer-closed:not(.viewer-chat-closed)
      .viewer-account-menu {
    inset-inline-end:calc(var(--viewer-chat-width) + 5px) !important;
  }
}
@media (max-width:780px) {
  body:not(.viewer-chat-home).viewer-explorer-closed:not(.viewer-chat-closed):not(.viewer-compact-panel-open)
      #viewer-account-slot {
    display:none;
  }
}
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-account-slot > div,
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-public-account {
  box-sizing:border-box;
  width:32px;
  height:32px;
  min-width:32px;
}
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-public-account {
  justify-content:center;
  padding:1px;
  border-radius:50%;
  background:var(--pd-surface);
  box-shadow:0 1px 5px rgba(var(--pd-shadow-rgb),.18);
}
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-public-account .viewer-public-account-avatar {
  box-sizing:border-box;
}
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-public-account-label,
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-public-account > span:last-child {
  display:none;
}
body:not(.viewer-chat-home).viewer-explorer-closed
    .viewer-account-menu {
  position:fixed !important;
  inset:auto !important;
  inset-block-start:48px !important;
  inset-inline-end:8px !important;
}

/* The shell owns one keyed notice stack for both the Service Worker and the
   local runtime. The stack is mounted in the shell overlay root instead of
   the account row so compact drawers can close without hiding update state. */
#viewer-shell-notice-stack {
  position:fixed;
  inset:auto;
  inset-block-end:calc(var(--viewer-account-height) + 8px);
  inset-inline-start:8px;
  z-index:99;
  display:flex;
  flex-direction:column;
  gap:7px;
  width:calc(var(--viewer-explorer-width) - 16px);
  max-width:calc(100vw - 16px);
  box-sizing:border-box;
  pointer-events:none;
}
body.viewer-chat-home #viewer-shell-notice-stack {
  width:calc(min(100vw,var(--viewer-sidebar-width,272px)) - 16px);
}
body.viewer-chat-home.viewer-home-sidebar-collapsed #viewer-shell-notice-stack,
body:not(.viewer-chat-home).viewer-explorer-closed #viewer-shell-notice-stack {
  inset-block-end:8px;
  inset-inline-start:8px;
  width:min(360px,calc(100vw - 16px));
}
#viewer-shell-notice-stack[hidden] { display:none !important; }
#viewer-shell-notice-stack > * {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  box-sizing:border-box;
  pointer-events:auto;
}
#viewer-shell-notice-stack > #viewer-update-toast > span:first-child {
  min-width:0;
  flex:1;
  overflow-wrap:anywhere;
}
.viewer-shell-notice {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px 10px;
  padding:10px 11px;
  border:1px solid var(--pd-border);
  border-radius:12px;
  background:var(--pd-surface-raised);
  color:var(--pd-text);
  box-shadow:0 4px 16px rgba(var(--pd-shadow-rgb),.22);
  font:12px/1.4 Roboto,"Segoe UI",Pretendard,sans-serif;
}
.viewer-shell-notice[data-tone="working"] { border-color:var(--pd-accent-soft-border); }
.viewer-shell-notice[data-tone="success"] { border-color:var(--pd-success); }
.viewer-shell-notice[data-tone="error"] {
  border-color:var(--pd-danger-border);
  background:var(--pd-danger-soft);
}
.viewer-shell-notice-copy { min-width:0;display:flex;flex-direction:column;gap:2px; }
.viewer-shell-notice-copy strong { overflow-wrap:anywhere;font-size:12px;font-weight:650; }
.viewer-shell-notice-copy > span {
  color:var(--pd-text-secondary);font-size:11px;overflow-wrap:anywhere;
}
.viewer-shell-notice-actions { display:flex;align-items:center;gap:4px; }
.viewer-shell-notice-actions button {
  min-height:28px;
  padding:4px 8px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--pd-accent-strong);
  font:600 11px Roboto,"Segoe UI",Pretendard,sans-serif;
  cursor:pointer;
}
.viewer-shell-notice-actions [data-shell-notice-dismiss] {
  min-width:28px;padding:4px;color:var(--pd-text-secondary);font-size:17px;line-height:1;
}
.viewer-shell-notice-progress {
  grid-column:1 / -1;
  display:block;
  height:3px;
  overflow:hidden;
  border-radius:2px;
  background:var(--pd-divider);
}
.viewer-shell-notice-progress[hidden] { display:none; }
.viewer-shell-notice-progress > span {
  display:block;height:100%;border-radius:inherit;background:var(--pd-accent);
  transition:width 160ms ease;
}

/* Chat owns the detailed PreTensor setup card while it is mounted. Keep the
   PWA update notice global, but suppress the duplicate runtime summary until
   Chat closes. */
body:not(.viewer-chat-home):not(.viewer-chat-closed)
  #viewer-shell-notice-stack >
  [data-shell-notice-key="pretensor-runtime"]:not([data-phase="completed"]) {
  display:none !important;
}

@media (max-width:780px) {
  body.viewer-chat-home #viewer-home-surface { display:block; }
  body.viewer-chat-home #viewer-home-assistant-region { position:absolute;inset:0; }
  body.viewer-chat-home:not(.viewer-home-sidebar-collapsed) #viewer-home-sidebar-region {
    display:block !important;
    position:fixed !important;
    inset:0 !important;
    inset-inline-end:auto !important;
    width:min(300px,84vw) !important;
    z-index:96;
    border-inline-end:1px solid var(--pd-divider);
    box-shadow:var(--pd-shadow-raise);
  }
  body.viewer-chat-home:not(.viewer-home-sidebar-collapsed) #viewer-account-slot {
    width:min(300px,84vw);
    z-index:97;
  }
  body:not(.viewer-chat-home):not(.viewer-explorer-closed) #viewer-account-slot {
    display:flex;
    position:fixed;
    inset:auto;
    inset-block-end:0;
    inset-inline-start:0;
    inset-inline-end:auto;
    width:min(86vw,340px);
    height:var(--viewer-account-height);
    align-items:center;
    padding:var(--viewer-card-inset);
    border-block-start:1px solid var(--viewer-border);
    background:var(--pd-surface);
    z-index:85;
  }
  body.viewer-chat-home:not(.viewer-home-sidebar-collapsed) #viewer-shell-notice-stack {
    width:calc(min(300px,84vw) - 16px);
  }
  body:not(.viewer-chat-home):not(.viewer-explorer-closed) #viewer-shell-notice-stack {
    inset-block-end:calc(var(--viewer-account-height) + 8px);
    width:calc(min(86vw,340px) - 16px);
  }
  body:not(.viewer-chat-home).viewer-explorer-closed:not(.viewer-chat-closed)
    #viewer-shell-notice-stack {
    inset-block-start:8px;
    inset-block-end:auto;
  }
  .viewer-shell-notice-actions button {
    min-width:36px;
    min-height:36px;
    padding:7px 10px;
  }
}

/* -- workbench panel chrome (workbench_panel_chrome.js) ---------------------
   One page-lifetime Explorer/chat control pair remains in the tab-bar corner.
   Viewer claims its commands, never its DOM, so Start/Viewer route changes do
   not swap icons, focus targets or dimensions. */
#viewer-workbench-panel-controls {
  min-width:max-content;
  display:flex;
  align-items:center;
  gap:5px;
  padding:3px var(--viewer-card-inset);
  border-left:1px solid var(--viewer-divider);
}
#viewer-workbench-panel-controls[hidden] { display:none; }
#viewer-workbench-panel-controls button {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--pd-border);
  border-radius:7px;
  background:var(--pd-surface);
  color:var(--pd-text-secondary);
  cursor:pointer;
  transition:background-color var(--pd-dur-fast) ease, color var(--pd-dur-fast) ease;
}
#viewer-workbench-panel-controls button:hover {
  background:var(--pd-hover);
  color:var(--pd-text);
}
/* Opening a panel must not swap the control's visual identity. The visible
   Explorer/Chat column already communicates state; aria-pressed and the
   localized Show/Hide label retain the semantic state without making Start
   look as though it has a separate pair of close buttons. */
#viewer-workbench-panel-controls button:focus-visible {
  outline:3px solid color-mix(in srgb, var(--pd-accent) 24%, transparent);
  outline-offset:-2px;
}

/* One canonical Explorer/Chat toggle pair owns both open and close at every
   viewport. Embedded panels do not create panel-local close buttons; an open
   panel is closed through the same page-lifetime control that opened it. */
@media (max-width:780px) {
  body:not(.viewer-chat-home) #viewer-tabbar {
    position:relative;
    z-index:90;
  }
  body:not(.viewer-chat-home) #viewer-explorer-region,
  body:not(.viewer-chat-home) #viewer-chat-region {
    top:var(--viewer-tab-height);
  }
  body:not(.viewer-chat-home) #viewer-panel-scrim {
    top:var(--viewer-tab-height);
  }
  body:not(.viewer-chat-home) #viewer-explorer-content {
    top:0;
  }
}
@media (min-width:641px) and (max-width:780px) {
  body:not(.viewer-chat-home) #viewer-tabbar,
  body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tabbar {
    padding-inline-start:min(86vw,340px);
  }
}
@media (max-width:640px) {
  body:not(.viewer-chat-home) #viewer-tabbar,
  body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tabbar {
    padding-inline-start:100px;
  }
  .shell-mode-tabs--shown[data-variant="floating"] {
    inset-inline-start:10px;
    width:auto;
    padding:3px;
    border:1px solid var(--pd-border);
    border-radius:999px;
    background:var(--pd-bg-deep);
  }
}

/* -- home corner row: shared mode bar + canonical sidebar toggle ------------
   The toggle occupies the trailing 32px cell of the same full-width mode bar.
   At phone width the shared switcher becomes the same compact pill used by
   Workspace, so the toggle follows immediately after its two icon buttons. */
@media (max-width:640px) {
  body.viewer-chat-home #viewer-home-sidebar-toggle {
    inset-inline-start:104px;
  }
}

/* The Explorer-closed fallback completes the same 32px/5px control rhythm as
   the Explorer and Chat buttons. Its 42px cell contains one exact 32px account
   button with 5px outer padding. Reserve that cell whether Chat is docked or
   closed so collapsing either side never moves the canonical panel controls. */
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-workbench-panel-controls {
  margin-inline-end:42px;
  padding-inline-end:0;
}

/* With the Explorer closed, the floating shell-mode pill owns the shared
   40px top-bar band where the annotation tool palette otherwise starts; and
   the docked 42px account cell covers the slide-session toolbar that mounts
   into #viewer-tab-actions. Reserve both footprints. */
body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tool-palette {
  margin-top:var(--viewer-tab-height);
}
#viewer-tab-actions:empty { display:none; }
#viewer-tab-actions[hidden] { display:none !important; }
/* Viewer-only actions (for example Focus mode) are a separate group. They may
   appear after WASM starts, but the page-lifetime Explorer/Chat pair keeps the
   same two-button silhouette it had on the Start surface. */
#viewer-tab-actions:not(:empty):not([hidden]) {
  border-left:1px solid var(--viewer-divider);
}
body:not(.viewer-chat-home).viewer-explorer-closed
    #viewer-tab-actions {
  margin-inline-end:42px;
}

/* Phone workbench chrome uses two stable rows. The surface switcher and the
   canonical Explorer/Chat controls stay in the first row whether either
   drawer is open or closed; document tabs own the complete second row. Keep
   this after the desktop avatar/tool reservations so those conditional
   margins cannot move the phone controls when a drawer changes state. */
@media (max-width:480px) {
  .viewer-app-launcher-menu:not([hidden]) { left:8px !important;right:8px;top:auto !important;bottom:8px;width:auto !important;
    max-height:calc(100vh - 16px);padding:9px;border-radius:14px; }
  body:not(.viewer-chat-home) #viewer-tabbar,
  body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tabbar {
    --viewer-phone-tab-navigation-width:32px;
    height:calc(var(--viewer-tab-height) * 2);
    min-height:calc(var(--viewer-tab-height) * 2);
    display:grid;
    grid-template-columns:100px minmax(0,1fr) max-content 42px;
    grid-template-rows:var(--viewer-tab-height) var(--viewer-tab-height);
    align-items:stretch;
    padding-inline-start:0;
  }
  body:not(.viewer-chat-home) #viewer-tabbar:has(#viewer-tab-navigation[data-has-overflow="true"]) {
    --viewer-phone-tab-navigation-width:104px;
  }
  body:not(.viewer-chat-home) #viewer-tabs {
    grid-column:1 / -1;
    grid-row:2;
    width:auto;
    box-sizing:border-box;
    border-top:1px solid var(--viewer-divider);
  }
  body:not(.viewer-chat-home) #viewer-tabs:has(+ #viewer-tab-navigation:not([hidden])) {
    margin-inline-end:var(--viewer-phone-tab-navigation-width);
  }
  body:not(.viewer-chat-home) #viewer-tab-navigation {
    position:absolute;
    inset-block-start:var(--viewer-tab-height);
    inset-inline-end:0;
    width:var(--viewer-phone-tab-navigation-width);
    height:var(--viewer-tab-height);
    box-sizing:border-box;
    border-left:0;
    border-inline-start:1px solid var(--viewer-divider);
  }
  body:not(.viewer-chat-home) #viewer-workbench-panel-controls,
  body:not(.viewer-chat-home).viewer-explorer-closed:is(.viewer-chat-closed, .viewer-compact-panel-open)
      #viewer-workbench-panel-controls {
    grid-column:3;
    grid-row:1;
    margin-inline-end:0;
    padding-inline-end:0;
    border-inline-start:1px solid var(--viewer-divider);
  }
  body:not(.viewer-chat-home) #viewer-tab-actions,
  body:not(.viewer-chat-home).viewer-explorer-closed:is(.viewer-chat-closed, .viewer-compact-panel-open)
      #viewer-tab-actions {
    grid-column:2;
    grid-row:1;
    min-width:0;
    justify-self:end;
    margin-inline-end:0;
  }
  body:not(.viewer-chat-home):not(.viewer-explorer-closed)
      .shell-mode-tabs--shown[data-variant="floating"],
  body:not(.viewer-chat-home).viewer-explorer-closed
      .shell-mode-tabs--shown[data-variant="floating"] {
    inset-inline-start:10px;
    width:auto;
    padding:3px;
    border:1px solid var(--pd-border);
    border-radius:999px;
    background:var(--pd-bg-deep);
  }
  body:not(.viewer-chat-home) #viewer-explorer-region,
  body:not(.viewer-chat-home) #viewer-chat-region,
  body:not(.viewer-chat-home) #viewer-panel-scrim {
    top:calc(var(--viewer-tab-height) * 2);
  }
  body:not(.viewer-chat-home).viewer-explorer-closed #viewer-tool-palette {
    margin-top:0;
  }
}

/* ---- Annotation class dialog (in-app replacement for native prompt) ---- */
.viewer-class-dialog-backdrop { position:fixed;inset:0;z-index:2147483005;display:grid;place-items:center;padding:14px;
  background:rgba(var(--pd-shadow-rgb),.30);backdrop-filter:blur(2px);
  animation:pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.viewer-class-dialog { width:min(360px,100%);display:flex;flex-direction:column;gap:11px;padding:16px 16px 14px;
  border:1px solid var(--viewer-border,#dadce0);border-radius:14px;background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 18px 48px rgba(var(--pd-shadow-rgb),.26);font:12px/1.45 "Segoe UI",Roboto,sans-serif; }
.viewer-class-dialog-title { margin:0;font-size:13.5px;line-height:1.35;font-weight:650; }
.viewer-class-dialog-input { min-height:34px;padding:0 11px;border:1px solid var(--pd-border);border-radius:9px;
  background:var(--pd-surface);color:var(--pd-text);font:12.5px "Segoe UI",Roboto,sans-serif; }
.viewer-class-dialog-input:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:-1px; }
.viewer-class-dialog-suggestions { display:flex;flex-wrap:wrap;gap:6px; }
.viewer-class-dialog-suggestion { min-height:26px;display:inline-flex;align-items:center;gap:6px;padding:0 10px 0 7px;
  border:1px solid var(--pd-border);border-radius:13px;background:transparent;color:var(--pd-text);
  font:11.5px "Segoe UI",Roboto,sans-serif;cursor:pointer;
  transition:background-color var(--pd-dur-fast) var(--pd-ease),border-color var(--pd-dur-fast) var(--pd-ease); }
.viewer-class-dialog-suggestion:hover { background:var(--viewer-hover,#f1f3f4);border-color:var(--pd-accent); }
.viewer-class-dialog-suggestion:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:1px; }
.viewer-class-dialog-swatch { width:11px;height:11px;border-radius:50%;border:1px solid rgba(var(--pd-shadow-rgb),.25); }
.viewer-class-dialog-actions { display:flex;justify-content:flex-end;gap:8px;margin-top:2px; }
.viewer-class-dialog-actions button { min-height:30px;padding:0 14px;border-radius:15px;cursor:pointer;
  font:600 11.5px "Segoe UI",Roboto,sans-serif; }
.viewer-class-dialog-cancel { border:1px solid var(--pd-border);background:transparent;color:var(--pd-text-secondary); }
.viewer-class-dialog-cancel:hover { background:var(--viewer-hover,#f1f3f4);color:var(--pd-text); }
.viewer-class-dialog-confirm { border:0;background:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-class-dialog-confirm:hover { background:var(--pd-accent-strong); }
.viewer-conversation-actions-toggle { position:relative;display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;min-width:30px;padding:0;border:0;border-radius:50%;background:transparent;
  color:var(--pd-text-secondary);cursor:pointer; }
.viewer-conversation-actions-toggle:hover,
.viewer-conversation-actions-toggle[aria-expanded="true"] { background:var(--pd-accent-faint);color:var(--pd-accent); }
.viewer-conversation-actions-toggle[data-recording="true"]::after { content:"";position:absolute;right:2px;top:2px;
  width:7px;height:7px;border-radius:50%;background:var(--pd-danger-strong);border:1px solid var(--pd-surface); }
.viewer-conversation-actions-menu { position:fixed;inset:auto;margin:0;padding:5px;box-sizing:border-box;
  overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--pd-border);border-radius:12px;
  background:var(--pd-surface);color:var(--pd-text);box-shadow:0 8px 28px rgba(var(--pd-shadow-rgb),.20); }
.viewer-conversation-actions-menu[hidden] { display:none; }
.viewer-conversation-actions-item { display:flex;align-items:center;gap:10px;width:100%;min-height:38px;
  padding:8px 10px;box-sizing:border-box;border:0;border-radius:8px;background:transparent;
  color:var(--pd-text-secondary);text-align:start;font:12px/18px "Segoe UI",Roboto,sans-serif;cursor:pointer; }
.viewer-conversation-actions-item svg { flex-shrink:0; }
.viewer-conversation-actions-item:not(:disabled):hover { background:var(--pd-accent-faint);color:var(--pd-accent); }
.viewer-conversation-actions-item:focus-visible,
.viewer-conversation-actions-toggle:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
.viewer-class-dialog-actions button:focus-visible { outline:2px solid color-mix(in srgb, var(--pd-accent) 34%, transparent);outline-offset:2px; }

.workspace-word-object-panel { padding:10px;border-bottom:1px solid var(--pd-border);max-height:55%;overflow:auto;flex-shrink:0; }
.workspace-word-object-panel[hidden] { display:none; }
.workspace-word-object-panel header { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px; }
.workspace-word-object-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px; }
.workspace-word-object-fields label { display:grid;gap:4px;min-width:0;font-size:12px;color:var(--pd-text-secondary); }
.workspace-word-object-fields input,.workspace-word-object-fields select,.workspace-word-object-fields textarea {
  box-sizing:border-box;width:100%;min-width:0;padding:6px;border:1px solid var(--pd-border);border-radius:5px;background:var(--pd-surface);color:var(--pd-text); }
.workspace-word-object-fields label:has(textarea) { grid-column:1/-1; }
.workspace-word-table-clipboard { grid-column:1/-1;min-width:0; }
.workspace-word-table-clipboard summary { cursor:pointer;font-size:12px;padding:6px 0; }
.workspace-word-object-fields textarea { min-height:66px;resize:vertical; }
.workspace-word-object-fields input[type="checkbox"] { width:18px;height:18px; }
.workspace-word-object-actions,.workspace-word-equation-templates { display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1; }
.workspace-word-object-status { margin:6px 0 0;font-size:12px;overflow-wrap:anywhere; }
.workspace-word-object-status[data-state="error"] { color:var(--pd-danger-text); }
.workspace-word-image-edit { padding:0;border:1px solid transparent;background:transparent;max-width:100%;cursor:pointer; }
.workspace-word-image-edit:focus-visible,.workspace-word-image-edit:hover { outline:2px solid var(--pd-accent);outline-offset:2px; }
.workspace-word-equation-templates .workspace-editor-tool { width:auto;padding:4px 8px; }
.workspace-word-equation-fonts { display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0; }
.workspace-word-equation-fonts button[aria-pressed="true"] { border-color:var(--pd-accent);background:var(--pd-accent-soft); }
.workspace-word-equation-fonts button[aria-pressed="mixed"] { border-style:dashed;border-color:var(--pd-accent); }
.workspace-word-equation-selection { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;margin:6px 0;grid-column:1/-1; }
.workspace-word-equation-selection small { grid-column:1/-1;font-size:11px;color:var(--pd-text-secondary); }
.workspace-word-equation-selection select { min-width:0; }
.workspace-word-equation-editor-preview [data-office-equation-part] { cursor:pointer; }
.workspace-word-equation-editor-preview [data-office-equation-selected="true"] { outline:2px solid var(--pd-accent);outline-offset:2px;background:var(--pd-accent-soft); }
.workspace-word-object-fields > .workspace-word-equation-editor-preview { grid-column:1/-1; }
.workspace-word-equation-inline-fonts { display:flex;gap:12px;grid-column:1/-1; }
.workspace-word-equation-inline-fonts label { display:flex;align-items:center;gap:5px; }
.workspace-word-cell-grid { display:grid;gap:3px;margin-top:8px;max-width:100%;overflow:auto; }
.workspace-word-cell-grid button { min-height:32px;min-width:0;padding:5px;border:1px solid var(--pd-border);
  background:var(--pd-surface);color:var(--pd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer; }
.workspace-word-cell-grid button[aria-pressed="true"] { border-color:var(--pd-accent);background:var(--pd-accent-soft,#e9f0ff); }

.workspace-word-source > .workspace-code-heading { height:auto;min-height:34px;flex-shrink:0;align-items:flex-start;padding-top:5px;padding-bottom:5px; }
.workspace-word-source .workspace-editor-tools { flex-wrap:wrap;overflow:visible;justify-content:flex-end; }

.workspace-word-formatting { max-height:55%;min-height:0;flex-shrink:1;overflow:auto; }
.workspace-word-formatting > p { margin:6px 0;font-size:12px; }
.workspace-word-format-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;min-width:0;border:1px solid var(--pd-border);margin:8px 0;padding:10px; }
.workspace-word-format-fields legend { padding:0 6px;font-weight:600; }
.workspace-word-format-fields label { display:grid;gap:4px;font-size:12px;min-width:0; }
.workspace-word-format-fields input,.workspace-word-format-fields select { box-sizing:border-box;min-width:0;width:100%;min-height:32px;border:1px solid var(--pd-border);border-radius:4px;padding:4px 6px;background:var(--pd-surface);color:var(--pd-text); }
.workspace-word-format-fields input:focus-visible,.workspace-word-format-fields select:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px; }
.workspace-word-page-background { grid-column:1/-1;min-width:0;margin:0;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-page-background > legend { padding:0 5px;font-size:12px;font-weight:650; }
.workspace-word-page-background > label,.workspace-word-page-background-fields > label { display:grid;gap:4px;min-width:0;font-size:12px; }
.workspace-word-page-background-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:8px;align-items:end; }
.workspace-word-page-background-upload { grid-column:1/-1;display:flex;align-items:center;gap:8px;min-height:32px; }
.workspace-word-page-background-upload-status { color:var(--pd-text-muted);font-size:11px; }
.workspace-word-tab-fields { grid-column:1/-1;min-width:0;border-top:1px solid var(--pd-border);padding-top:10px; }
.workspace-word-line-spacing-fields { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.workspace-word-effect-controls { display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px; }
.workspace-word-effect-controls input[type="color"] { width:34px;min-width:0;height:32px;padding:2px; }
.workspace-word-paragraph-borders { display:grid;gap:8px;grid-column:1/-1; }
.workspace-word-page-border-variants { display:grid;gap:8px;grid-column:1/-1;min-width:0;border-top:1px solid var(--pd-border);padding-top:10px; }
.workspace-word-page-border-variants > p { margin:0;font-size:12px;color:var(--pd-text-secondary); }
.workspace-word-page-border-variants > p[data-state="error"] { color:var(--pd-danger); }
.workspace-word-page-border-variant-editors { display:grid;gap:10px; }
.workspace-word-page-border-variant { display:grid;gap:8px;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-page-border-variant > label { display:grid;gap:4px; }
.workspace-word-page-border-variant-actions { display:flex;flex-wrap:wrap;gap:8px; }
.workspace-word-character-border { display:grid;grid-template-columns:repeat(3,minmax(84px,1fr));gap:7px;grid-column:1/-1;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-character-border > strong { grid-column:1/-1;color:var(--pd-text-secondary); }
.workspace-word-character-border label { display:grid;gap:4px;min-width:0; }
.workspace-word-character-border-edge { display:grid;grid-template-columns:minmax(70px,.8fr) repeat(3,minmax(76px,1fr));gap:7px;grid-column:1/-1;align-items:end; }
.workspace-word-character-border-edge > span { align-self:center;color:var(--pd-text-secondary);font-size:12px;font-weight:650; }
.workspace-word-character-fill { display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;grid-column:1/-1;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-character-fill > strong { grid-column:1/-1;color:var(--pd-text-secondary); }
.workspace-word-character-fill label { display:grid;gap:4px;min-width:0; }
.workspace-word-character-fill-fields { display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;grid-column:1/-1;align-items:end; }
.workspace-word-paragraph-border-row { display:grid;grid-template-columns:minmax(110px,1fr) repeat(3,minmax(84px,.7fr));gap:7px;margin:0;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-paragraph-border-row legend { padding:0 4px;color:var(--pd-text-secondary);font-weight:600; }
.workspace-word-paragraph-border-row label { display:grid;gap:4px;min-width:0; }
.workspace-word-paragraph-gradient { display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px;grid-column:1/-1;padding:9px;border:1px solid var(--pd-border);border-radius:7px; }
.workspace-word-paragraph-gradient > strong { grid-column:1/-1; }
.workspace-word-paragraph-gradient label { display:grid;gap:4px;min-width:0; }
.workspace-word-gradient-colors { display:grid;gap:7px;grid-column:1/-1; }
.workspace-word-gradient-color-list { display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px; }
.workspace-word-gradient-color-list label { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:end;min-width:0;padding:7px;border:1px solid var(--pd-border);border-radius:6px; }
.workspace-word-gradient-color-list label > input { grid-column:1;width:100%;min-height:32px; }
.workspace-word-gradient-color-list label > button { grid-column:2;grid-row:1/3;align-self:end;min-height:32px; }
.workspace-word-gradient-colors > [data-word-paragraph-gradient-add-color],.workspace-word-gradient-colors > [data-word-table-gradient-add-color] { justify-self:start; }
.workspace-word-gradient-colors[data-complex="true"]::after { content:"2–8";align-self:end;color:var(--pd-text-secondary);font-size:11px; }
@media (max-width:760px) { .workspace-word-paragraph-border-row { grid-template-columns:1fr 1fr; } .workspace-word-character-border,.workspace-word-character-border-edge { grid-template-columns:1fr; } }
.workspace-word-tab-fields > p { margin:6px 0;font-size:12px;color:var(--pd-text-secondary); }
.workspace-word-tab-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:6px;align-items:end;margin:8px 0; }
.workspace-word-tab-row > button { min-height:32px; }
.workspace-word-tab-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
.workspace-word-tab-actions label { display:flex;align-items:center;gap:6px; }
.workspace-word-tab-actions input[type=checkbox] { width:auto;min-height:0;margin:0; }
.workspace-word-column-layout { grid-column:1/-1;min-width:0;border-top:1px solid var(--pd-border);padding-top:10px; }
.workspace-word-column-layout > p { margin:6px 0;font-size:12px;color:var(--pd-text-secondary); }
.workspace-word-column-row { display:grid;grid-template-columns:minmax(52px,.6fr) repeat(2,minmax(0,1fr));gap:6px;align-items:end;margin:8px 0; }
.workspace-word-column-row > strong { align-self:center;font-size:12px; }
.workspace-word-column-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
@media (max-width:520px) { .workspace-word-column-row { grid-template-columns:1fr 1fr; } .workspace-word-column-row > strong { grid-column:1/-1; } }
.workspace-word-unequal-columns { display:flex;position:relative;align-items:flex-start;width:100%;min-width:0; }
.workspace-word-unequal-column { display:block;box-sizing:border-box;flex:0 0 auto;min-width:0; }
.workspace-word-unequal-column-separator { position:absolute;top:0;bottom:0;width:1px;background:#000;pointer-events:none; }
.workspace-word-formatting .workspace-word-object-actions { position:sticky;bottom:0;background:var(--pd-surface);padding:8px 0; }

.workspace-word-style-select { max-width:120px;min-height:28px;min-width:0;border:1px solid var(--pd-border);border-radius:4px;background:var(--pd-surface);color:var(--pd-text); }

.workspace-word-formatting summary { cursor:pointer;padding:8px 0;font-weight:600; }

.workspace-word-source > .workspace-code-heading { flex-wrap:wrap;gap:6px;white-space:nowrap; }
.workspace-word-source > .workspace-code-heading > .workspace-editor-tools { flex-basis:100%; }

.workspace-word-format-painter > label {
  display: grid;
  gap: 6px;
}
.workspace-word-format-painter select {
  width: 100%;
  min-width: 0;
}
.workspace-word-format-painter [data-word-painter-copied] {
  overflow-wrap: anywhere;
}

/* The hidden attribute is this app's only visibility switch, and the UA rule
   that implements it loses to any class or inline display. Panels built in JS
   set display in style.cssText, so el.hidden = true was a no-op for them: a
   modal overlay could not be dismissed and collapsed rows kept their box. This
   rule makes the attribute authoritative everywhere; no [hidden] rule in this
   sheet assigns a visible display, and :not([hidden]) selectors are untouched.
   It is last in the sheet because ties between !important declarations of the
   same specificity are broken by document order. */
[hidden] { display: none !important; }
