/* 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 (src/bootstrap/auth_gate_view.js) -- */
[data-server-slide-library-panel] :is(button, input):focus-visible {
  outline: 2px solid var(--pd-accent-strong); outline-offset: 2px;
}
#viewer-auth-gate { position: fixed; inset: 0; z-index: 2147483647; display: grid;
  place-items: center; box-sizing: border-box; padding: 24px; overflow-y:auto;
  overscroll-behavior:contain; color: var(--pd-text);
  background: var(--pd-bg);
  font-family: var(--pd-font-ui); }
#viewer-auth-gate[hidden] { display: none; }
.viewer-auth-card { width: min(440px, 100%); min-width:0; margin:auto; box-sizing: border-box; padding: 32px;
  border: 1px solid var(--pd-border); border-radius: var(--pd-radius-xl); text-align: start;
  overflow-wrap:anywhere;
  background: var(--pd-surface); box-shadow: 0 2px 8px rgba(var(--pd-shadow-rgb), .12); }
.viewer-auth-brand { display: flex; align-items: center; gap: var(--pd-space-10);
  margin: 0 0 24px; padding-bottom:20px; border-bottom:1px solid var(--pd-divider);
  color: var(--pd-text-secondary); font-size: var(--pd-font-size-md); font-weight: 600; line-height:1.5; }
.viewer-auth-logo { width: 28px; height: 28px; flex:none; display: block; object-fit: contain; }
.viewer-auth-title { margin: 0; color: var(--pd-text); font-size: clamp(20px, 4vw, 24px); font-weight: 650; line-height: 1.35; letter-spacing:-.02em; }
.viewer-auth-title:focus-visible { outline:2px solid var(--pd-accent);outline-offset:4px;border-radius:2px; }
.viewer-auth-message { margin: var(--pd-space-14) 0 0; color: var(--pd-text-secondary); font-size: var(--pd-font-size-lg); line-height: 1.65; }
.viewer-auth-detail { margin: var(--pd-space-12) 0 0; padding:12px; border:1px solid var(--pd-divider);
  border-radius:var(--pd-radius-md); background:var(--pd-bg); color: var(--pd-text-secondary);
  font-size: var(--pd-font-size-md); line-height: 1.6; }
.viewer-auth-button { width: 100%; min-height: 44px; margin-top: 26px; padding: var(--pd-space-10) 18px;
  border: 1px solid var(--pd-accent); border-radius: var(--pd-radius-md); color: var(--pd-on-accent); background: var(--pd-accent);
  font: inherit; font-size: var(--pd-font-size-lg); font-weight: 600; cursor: pointer;
  box-shadow: 0 1px 2px rgba(var(--pd-shadow-rgb), .16); }
.viewer-auth-button:hover:not(:disabled) { 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:disabled { cursor: wait; opacity: .62; }
.viewer-auth-cancel { width:100%;min-height:44px;margin-top:8px;padding:var(--pd-space-8) var(--pd-space-14);border:0;border-radius:var(--pd-radius-md);
  background:transparent;color:var(--pd-text-secondary);font:600 var(--pd-font-size-md) var(--pd-font-ui);cursor:pointer; }
.viewer-auth-cancel:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-auth-spinner { width: 28px; height: 28px; margin: 0 0 20px; border-radius: 50%;
  border: 3px solid var(--pd-divider); border-top-color: var(--pd-accent);
  animation: viewer-auth-spin .8s linear infinite; }
.viewer-auth-card--checking { text-align:center; }
.viewer-auth-card--checking .viewer-auth-brand { justify-content:center; }
.viewer-auth-card--checking .viewer-auth-spinner { margin-inline:auto; }
.viewer-auth-countdown { margin: var(--pd-space-16) 0 0; color: var(--pd-text-secondary); font-size: var(--pd-font-size-sm); line-height: 1.55; font-variant-numeric:tabular-nums; }
.viewer-auth-retry { width:100%;min-height:44px;margin-top:var(--pd-space-10);padding:var(--pd-space-8) var(--pd-space-14);border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:var(--pd-surface);color:var(--pd-text-secondary);font:600 var(--pd-font-size-md) var(--pd-font-ui);cursor:pointer; }
.viewer-auth-retry:hover:not(:disabled) { border-color:var(--pd-accent);background:var(--pd-hover);color:var(--pd-text); }
.viewer-auth-retry:disabled { cursor:wait;opacity:.62; }
.viewer-auth-card button { box-sizing:border-box; white-space:normal; overflow-wrap:anywhere; }
.viewer-auth-card button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:3px; }
.viewer-auth-card [hidden] { display:none; }
@media (max-width: 520px) {
  #viewer-auth-gate { padding: 16px; }
  .viewer-auth-card { padding: 24px 20px; border-radius: var(--pd-radius-lg); }
}
@keyframes viewer-auth-spin { to { transform: rotate(360deg); } }

/* -- viewer_server sign-in (src/bootstrap/viewer_server_login.js) --
   Mirrors Figma vZl6dc8B4dqaDvmYKSUE6Z "Web Viewer / Server Sign-in" (Light 96:451,
   Dark 96:499, States 96:516) and Sign-in Card v2 (95:485). The column centres 20px
   above the viewport middle: top padding 42 = bottom 28 + chip 30 + its margin 24 - 40. */
#viewer-server-login { position: fixed; inset: 0; z-index: 2147483647; display: flex;
  flex-direction: column; align-items: center; box-sizing: border-box; padding: 42px 16px 28px;
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; color: var(--pd-text);
  background: var(--pd-bg); font-family: var(--pd-font-ui); }
.viewer-server-login-glow { position: fixed; top: -300px; left: 50%; width: 980px; height: 560px;
  margin-left: -490px; border-radius: 50%; background: var(--pd-accent-faint); filter: blur(70px);
  pointer-events: none; }
.viewer-server-login-column { position: relative; display: flex; flex-direction: column;
  align-items: center; width: min(380px, 100%); margin-block: auto; text-align: center; }
.viewer-server-login-app-icon { display: grid; place-items: center; width: 64px; height: 64px;
  box-sizing: border-box; border: 1px solid var(--pd-divider); border-radius: var(--pd-radius-xl);
  background: var(--pd-surface); box-shadow: var(--pd-shadow-card); }
.viewer-server-login-logo { display: block; width: 40px; height: 40px; object-fit: contain; }
.viewer-server-login-title { margin: 24px 0 0; color: var(--pd-text); font-size: 28px; font-weight: 700;
  line-height: 36px; letter-spacing: -.42px; }
.viewer-server-login-title:focus-visible { outline: 2px solid var(--pd-accent); outline-offset: 4px;
  border-radius: 2px; }
.viewer-server-login-subtitle { margin: var(--pd-space-8) 0 0; color: var(--pd-text-secondary);
  font-size: var(--pd-font-size-lg); line-height: 20px; }
.viewer-server-login-card { display: flex; flex-direction: column; gap: var(--pd-space-16); width: 100%;
  box-sizing: border-box; margin: 32px 0 0; padding: var(--pd-space-24); border: 1px solid var(--pd-divider);
  border-radius: var(--pd-radius-xl); background: var(--pd-surface); box-shadow: var(--pd-shadow-dialog);
  text-align: start; }
/* Figma strokes the group 1.5px inside; a border would snap to 1px at DPR 1. */
.viewer-server-login-fields { padding: 1.5px; border-radius: var(--pd-radius-lg); background: var(--pd-surface);
  box-shadow: inset 0 0 0 1.5px var(--pd-border); }
.viewer-server-login-fields:focus-within { box-shadow: inset 0 0 0 1.5px var(--pd-accent); }
.viewer-server-login-card[data-state="error"] .viewer-server-login-fields {
  box-shadow: inset 0 0 0 1.5px var(--pd-danger); }
.viewer-server-login-field { display: flex; flex-direction: column; gap: var(--pd-space-2);
  padding: var(--pd-space-10) var(--pd-space-14); cursor: text; }
.viewer-server-login-field + .viewer-server-login-field { border-top: 1px solid var(--pd-divider); }
.viewer-server-login-field span { color: var(--pd-text-muted); font-size: var(--pd-font-size-xs);
  font-weight: 500; line-height: 16px; }
.viewer-server-login-field input { width: 100%; min-width: 0; box-sizing: border-box; margin: 0; padding: 0;
  border: 0; outline: none; background: transparent; color: var(--pd-text);
  font: 400 15px/22px var(--pd-font-ui); }
.viewer-server-login-field input::placeholder { color: var(--pd-text-faint); opacity: 1; }
.viewer-server-login-error { display: flex; align-items: flex-start; gap: var(--pd-space-6); margin: 0;
  color: var(--pd-danger-text); font-size: var(--pd-font-size-md); line-height: 18px; }
.viewer-server-login-error[hidden] { display: none; }
.viewer-server-login-error-icon { flex: none; }
.viewer-server-login-submit { height: 44px; border: 0; border-radius: var(--pd-radius-md);
  background: var(--pd-accent); color: var(--pd-on-accent); font: 500 15px/22px var(--pd-font-ui);
  cursor: pointer; }
.viewer-server-login-submit:hover:not(:disabled) { background: var(--pd-accent-strong); }
.viewer-server-login-submit:disabled { cursor: wait; opacity: .62; }
.viewer-server-login-help { margin: var(--pd-space-20) 0 0; color: var(--pd-text-muted);
  font-size: var(--pd-font-size-sm); line-height: 18px; }
.viewer-server-login-skip { margin: var(--pd-space-12) 0 0; padding: var(--pd-space-6) var(--pd-space-12);
  border: 0; border-radius: var(--pd-radius-md); background: transparent; color: var(--pd-accent);
  font: 500 var(--pd-font-size-lg)/20px var(--pd-font-ui); cursor: pointer; }
.viewer-server-login-skip:hover { background: var(--pd-hover); }
.viewer-server-login-submit:focus-visible,
.viewer-server-login-skip:focus-visible { outline: 2px solid var(--pd-accent); outline-offset: 3px; }
.viewer-server-login-host { position: relative; display: inline-flex; align-items: center;
  gap: var(--pd-space-6); margin: var(--pd-space-24) 0 0;
  padding: var(--pd-space-6) var(--pd-space-12) var(--pd-space-6) var(--pd-space-10);
  border: 1px solid var(--pd-divider); border-radius: var(--pd-radius-full);
  background: var(--pd-surface-raised); color: var(--pd-text-secondary);
  font-size: var(--pd-font-size-sm); line-height: 16px; }
.viewer-server-login-host-icon { flex: none; color: var(--pd-text-muted); }
.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; }
@media (prefers-reduced-motion: reduce) {
  .viewer-auth-card, .viewer-auth-spinner { animation:none; }
  .viewer-auth-button { transition:none; }
}

/* -- 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 var(--pd-font-ui); }
.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 var(--pd-font-ui);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 var(--pd-font-ui);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 var(--pd-font-ui);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 var(--pd-font-ui);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 var(--pd-font-ui); }
.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:32px;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:var(--pd-font-size-md) var(--pd-font-ui);
  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 var(--pd-font-ui);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 0 var(--pd-space-12);padding:var(--pd-space-12);border:1px solid var(--pd-danger-border);
  border-radius:var(--pd-radius-md);background:var(--pd-danger-faint);color:var(--pd-danger-text);font-size:var(--pd-font-size-md);line-height:1.6; }
.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 var(--pd-font-ui); }
.workspace-chat-input::placeholder { color:var(--pd-text-muted);opacity:1; }
.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 var(--pd-font-ui);
  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:44px;display:grid;grid-template-columns:16px minmax(0,1fr) repeat(3,32px);align-items:center;
  gap:var(--pd-space-4);padding:var(--pd-space-8);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 { grid-row:1;grid-column:1;width:16px;height:16px;display:grid;place-items:center;color:var(--pd-text-muted); }
.viewer-conversation-message-search input {
  grid-row:1;grid-column:2;min-width:0;height:32px;padding:0 var(--pd-space-8);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);outline:0;
  background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui);
}
.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 {
  grid-row:2;grid-column:2 / -1;min-width:0;color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);
  text-align:start;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;
}
.viewer-conversation-message-search-status[data-state="empty"] { color:var(--pd-text-secondary); }
.viewer-conversation-message-search-action {
  grid-row:1;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--pd-radius-sm);
  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[data-conversation-message-search-previous] { grid-column:3; }
.viewer-conversation-message-search-action[data-conversation-message-search-next] { grid-column:4; }
.viewer-conversation-message-search-action[data-conversation-message-search-close] { grid-column:5; }
.viewer-conversation-message-search-action:disabled { opacity:.3;cursor:default; }
.viewer-conversation-message-search-action:focus-visible {
  outline:2px solid var(--pd-accent);outline-offset:-2px;
}
[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;grid-template-rows:minmax(0,1fr);place-items:start center;padding:clamp(16px,6dvh,64px) 16px;
  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(680px,100%);min-width:0;max-height:100%;display:grid;
  grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:0;overflow:hidden;padding:var(--pd-space-16);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:var(--pd-font-ui);
  animation:pd-rise-in var(--pd-dur-slow,220ms) var(--pd-ease-out,ease-out);
}
.viewer-conversation-history-search-dialog > header {
  min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:var(--pd-space-12);padding:0 0 var(--pd-space-12);
}
.viewer-conversation-history-search-dialog h2 { min-width:0;margin:0;font-size:var(--pd-font-size-xl);line-height:24px;font-weight:650;overflow-wrap:anywhere; }
.viewer-conversation-history-search-dialog > header button {
  flex:none;width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--pd-radius-sm);
  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 var(--pd-font-ui);
}
.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;flex-wrap:wrap;align-items:center;gap:var(--pd-space-4);padding:var(--pd-space-12) 0 var(--pd-space-4);
}
.viewer-conversation-history-search-scopes > button {
  min-width:0;min-height:36px;display:inline-flex;align-items:center;gap:var(--pd-space-8);padding:6px 10px;border:1px solid transparent;
  border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text-secondary);font:600 var(--pd-font-size-md)/20px var(--pd-font-ui);
  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:2px solid var(--pd-accent);outline-offset:-2px;
}
.viewer-conversation-history-search-scopes [data-conversation-history-search-scope-count] {
  flex:none;min-width:24px;min-height:24px;display:inline-grid;place-items:center;padding:0 5px;box-sizing:border-box;border-radius:var(--pd-radius-full);
  background:color-mix(in srgb,currentColor 9%,transparent);font-size:var(--pd-font-size-sm);font-variant-numeric:tabular-nums;
}
.viewer-conversation-history-search-status {
  min-height:28px;padding:var(--pd-space-4) 0 var(--pd-space-8);color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/20px var(--pd-font-ui);
  overflow-wrap:anywhere;font-variant-numeric:tabular-nums;
}
.viewer-conversation-history-search-status[data-state="empty"] { color:var(--pd-text-secondary); }
.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 {
  flex:none;width:100%;min-height:72px;display:flex;flex-direction:column;align-items:stretch;gap:var(--pd-space-6);padding:var(--pd-space-12);
  box-sizing:border-box;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--pd-text);
  text-align:start;font-family:var(--pd-font-ui);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;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:var(--pd-space-12);row-gap:var(--pd-space-4); }
.viewer-conversation-history-search-result-heading strong {
  min-width:0;max-width:100%;overflow-wrap:anywhere;font-size:var(--pd-font-size-md);line-height:20px;
}
.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-secondary);font-size:var(--pd-font-size-sm);line-height:18px;
  font-weight:600;vertical-align:1px;
}
.viewer-conversation-history-search-result-heading > span {
  min-width:0;max-width:100%;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);line-height:18px;overflow-wrap:anywhere;
}
.viewer-conversation-history-search-result-preview {
  overflow:hidden;overflow-wrap:anywhere;color:var(--pd-text-secondary);font-size:var(--pd-font-size-md);line-height:20px;
  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 {
  min-height:0;overflow:auto;padding:24px 12px;color:var(--pd-text-secondary);font:var(--pd-font-size-md)/21px var(--pd-font-ui);text-align:center;overflow-wrap:anywhere;
}
.viewer-conversation-history-search-dialog > header button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
@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; }
}

.viewer-conversation-rename-overlay { position:fixed;inset:0;z-index:10003;display:flex;align-items:safe center;justify-content:center;
  padding:16px;box-sizing:border-box;overflow:auto;background:rgba(var(--pd-shadow-rgb),.42);font:var(--pd-font-size-md) var(--pd-font-ui);
  animation:pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.viewer-conversation-rename-dialog { flex:none;width:min(420px,100%);max-height:100%;overflow:auto;padding:var(--pd-space-24);box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-text);box-shadow:var(--pd-shadow-dialog);
  animation:pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); }
.viewer-conversation-rename-dialog h2 { margin:0 0 var(--pd-space-20);font:650 var(--pd-font-size-xl)/24px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-rename-dialog label { display:block;color:var(--pd-text-secondary);font:600 var(--pd-font-size-md)/20px var(--pd-font-ui); }
.viewer-conversation-rename-dialog input { width:100%;height:40px;margin-top:var(--pd-space-8);padding:0 var(--pd-space-12);box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-lg) var(--pd-font-ui); }
.viewer-conversation-rename-dialog input[aria-invalid="true"] { border-color:var(--pd-danger-border); }
.viewer-conversation-rename-error { margin-top:var(--pd-space-8);color:var(--pd-danger-text);font:var(--pd-font-size-sm)/20px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-rename-actions { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--pd-space-8);margin-top:var(--pd-space-24); }
.viewer-conversation-rename-actions button { min-height:36px;max-width:100%;padding:7px 14px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:600 var(--pd-font-size-md)/20px var(--pd-font-ui);cursor:pointer;overflow-wrap:anywhere; }
.viewer-conversation-rename-actions button[type="submit"] { background:var(--pd-accent);border-color:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-conversation-rename-dialog :is(button,input):focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.viewer-conversation-rename-dialog :disabled { opacity:.55;cursor:default; }
.viewer-conversation-context-menu { position:fixed;z-index:10002;width:min(264px,calc(100vw - 16px));max-height:calc(100dvh - 16px);box-sizing:border-box;
  padding:var(--pd-space-4);overflow:auto;overscroll-behavior:contain;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:var(--pd-surface);color:var(--pd-text);box-shadow:var(--pd-shadow-menu);font:var(--pd-font-size-md) var(--pd-font-ui);
  transform-origin:top;animation:pd-pop-in var(--pd-dur-base) var(--pd-ease-out); }
.viewer-conversation-context-menu [role="separator"] { height:1px;margin:var(--pd-space-4) var(--pd-space-8);background:var(--pd-divider); }
.viewer-conversation-context-menu [role="menuitem"] { width:100%;min-height:36px;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:var(--pd-space-8);
  padding:var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);font:500 var(--pd-font-size-md)/20px var(--pd-font-ui);
  text-align:start;cursor:pointer;overflow-wrap:anywhere; }
.viewer-conversation-context-menu [data-danger="true"] { color:var(--pd-danger-text); }
.viewer-conversation-context-menu [role="menuitem"]:hover,.viewer-conversation-context-menu [role="menuitem"]:focus-visible { background:var(--pd-hover); }
.viewer-conversation-context-menu [role="menuitem"]:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
.viewer-conversation-context-menu-icon { width:18px;height:18px;display:grid;place-items:center; }

.viewer-conversation-context-bar { flex:none;min-width:0;display:flex;flex-direction:column;gap:var(--pd-space-4);
  padding:var(--pd-space-4) var(--pd-space-6);box-sizing:border-box;border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.viewer-conversation-provider-control { position:relative;width:64px;min-width:64px;max-width:64px;height:32px;display:flex;align-items:center;
  flex:none;padding:0;box-sizing:border-box;border:1px solid var(--pd-accent-soft-border);
  border-radius:var(--pd-radius-full);background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.viewer-conversation-provider-control::after { position:absolute;inset-inline-end:8px;top:10px;width:6px;height:6px;
  box-sizing:border-box;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  z-index:3;content:"";pointer-events:none;transform:rotate(45deg);transition:transform 140ms ease,top 140ms ease; }
.viewer-conversation-provider-control[data-open="true"]::after { top:13px;transform:rotate(225deg); }
.viewer-conversation-provider-label { position:absolute;inset:0;z-index:1;display:flex;align-items:center;
  justify-content:center;padding:0 18px;box-sizing:border-box;font:500 var(--pd-font-size-md)/20px var(--pd-font-ui);
  white-space:nowrap;pointer-events:none; }
.viewer-conversation-provider-trigger { position:absolute;inset:-1px;z-index:2;width:auto;height:auto;padding:0;border:0;
  border-radius:inherit;background:transparent;color:transparent;cursor:pointer; }
.viewer-conversation-provider-select { position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap; }
.viewer-conversation-provider-select option { background:var(--pd-surface);color:var(--pd-text); }
.viewer-conversation-provider-control:focus-within { border-color:var(--pd-accent-strong);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--pd-accent) 20%,transparent); }
.viewer-conversation-provider-trigger:focus { outline:0; }
.viewer-conversation-provider-control:has(.viewer-conversation-provider-trigger:disabled) { color:var(--pd-text-muted);opacity:.66; }
.viewer-conversation-provider-menu { position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:20;
  width:96px;padding:4px;box-sizing:border-box;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:var(--pd-surface-raised);box-shadow:var(--pd-shadow-menu); }
.viewer-conversation-provider-menu[hidden] { display:none; }
.viewer-conversation-provider-choice { width:100%;min-height:34px;display:flex;align-items:center;justify-content:center;
  padding:6px 10px;border:0;border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);
  font:500 var(--pd-font-size-md)/20px var(--pd-font-ui);white-space:nowrap;cursor:pointer; }
.viewer-conversation-provider-choice[aria-selected="true"] { background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-weight:650; }
.viewer-conversation-provider-choice:is(:hover,:focus-visible) { background:var(--pd-hover);outline:0; }
@media (prefers-reduced-motion:reduce) {
  .viewer-conversation-provider-control::after { transition:none; }
}
.viewer-conversation-context-popover { position:fixed;inset:auto;z-index:30;width:min(280px,calc(100% - 16px));
  padding:6px;box-sizing:border-box;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:var(--pd-surface-raised);box-shadow:var(--pd-shadow-menu); }
.viewer-conversation-context-popover[hidden] { display:none; }
.viewer-conversation-context-usage { width:100%;min-height:36px;display:flex;align-items:center;gap:var(--pd-space-8);box-sizing:border-box;
  padding:var(--pd-space-6) var(--pd-space-8);border:1px solid var(--pd-divider);border-radius:var(--pd-radius-sm);background:var(--pd-surface-raised); }
.viewer-conversation-context-usage[data-state="active"] { border-color:var(--pd-accent-soft-border);background:var(--pd-accent-faint); }
.viewer-conversation-context-usage[data-state="error"] { border-color:var(--pd-danger-border);background:var(--pd-danger-faint); }
.viewer-conversation-context-usage-copy { min-width:0;max-width:82%;display:flex;flex-direction:column;align-items:flex-end; }
.viewer-conversation-context-usage-text { min-width:0;color:var(--pd-text-secondary);font:500 var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-align:end; }
.viewer-conversation-context-usage[data-state="active"] .viewer-conversation-context-usage-text { color:var(--pd-accent-strong); }
.viewer-conversation-context-usage[data-state="error"] .viewer-conversation-context-usage-text { color:var(--pd-danger-text); }
.viewer-conversation-context-capacity { min-width:0;color:var(--pd-text-muted);font:var(--pd-font-size-sm)/16px var(--pd-font-ui);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;text-align:end; }
.viewer-conversation-context-controls { width:100%;min-width:0;min-height:32px;display:flex;align-items:center;gap:var(--pd-space-4); }
.viewer-conversation-context-select { min-width:0;height:32px;flex:1;padding:0 var(--pd-space-8);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:var(--pd-font-size-md) var(--pd-font-ui);cursor:pointer; }
.viewer-conversation-context-action { width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;
  padding:0;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text-secondary);cursor:pointer; }
.viewer-conversation-context-action:hover:not(:disabled) { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-context-controls :is(button,select):focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }

/* Entry and recovery copy shares the same type/target scale as setup. Long
   localized text flows inside its own scroll region, never over the composer. */
.viewer-conversation-empty { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:safe center;gap:var(--pd-space-12);padding:var(--pd-space-24);box-sizing:border-box;
  overflow:auto;overscroll-behavior:contain;text-align:center;color:var(--pd-text-secondary); }
.viewer-conversation-empty > svg { flex:none; }
.viewer-conversation-empty-title { max-width:100%;color:var(--pd-text);font:650 var(--pd-font-size-lg)/22px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-empty-detail { max-width:320px;font:var(--pd-font-size-md)/21px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-empty-action { flex:none;max-width:100%;min-height:var(--pd-control-lg);align-items:center;justify-content:center;gap:var(--pd-space-8);
  margin-top:var(--pd-space-4);padding:var(--pd-space-8) var(--pd-space-14);border:1px solid var(--pd-accent);border-radius:var(--pd-radius-sm);
  background:var(--pd-accent);color:var(--pd-on-accent);font:600 var(--pd-font-size-md)/20px var(--pd-font-ui);cursor:pointer;overflow-wrap:anywhere; }
.viewer-conversation-empty-action svg { flex:none; }
.viewer-conversation-suggestions { flex:none;max-width:320px;width:100%;display:flex;flex-direction:column;gap:var(--pd-space-8);margin-top:var(--pd-space-4); }
.viewer-conversation-suggestion { width:100%;max-width:100%;min-height:36px;padding:var(--pd-space-8) var(--pd-space-12);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:500 var(--pd-font-size-md)/20px var(--pd-font-ui);white-space:normal;overflow-wrap:anywhere;cursor:pointer;text-align:start; }
.viewer-conversation-suggestion:hover:not(:disabled),.viewer-conversation-suggestion:focus-visible { background:var(--pd-accent-faint);border-color:var(--pd-accent-soft-border); }
.viewer-conversation-inline-error { min-width:0;margin:0 0 var(--pd-space-8);color:var(--pd-danger-text);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-model-start { min-width:0;grid-template-columns:32px minmax(0,1fr);gap:var(--pd-space-12);
  margin:0 0 var(--pd-space-8);padding:var(--pd-space-12);border:1px solid var(--pd-accent-soft-border);border-radius:var(--pd-radius-md);
  background:var(--pd-accent-faint);box-sizing:border-box; }
.viewer-conversation-model-start-icon { width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-accent); }
.viewer-conversation-model-start-copy { min-width:0;display:flex;flex-direction:column;gap:var(--pd-space-4); }
.viewer-conversation-model-start-title { color:var(--pd-text);font:650 var(--pd-font-size-md)/20px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-model-start-detail { color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere; }
.viewer-conversation-model-start-actions { display:flex;flex-wrap:wrap;gap:var(--pd-space-8);margin-top:var(--pd-space-4); }
.viewer-conversation-model-start-action { min-height:32px;max-width:100%;align-items:center;padding:var(--pd-space-6) var(--pd-space-10);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);cursor:pointer;overflow-wrap:anywhere; }
.viewer-conversation-model-start-action--primary { border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-conversation-empty button:focus-visible,.viewer-conversation-model-start button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }

/* -- 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:var(--pd-space-12);margin:0 var(--pd-space-2) var(--pd-space-8);padding:var(--pd-space-12);
  box-sizing:border-box;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:color-mix(in srgb,var(--pd-surface-subtle) 92%,var(--pd-surface));
  color:var(--pd-text);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);
  container:pretensor-setup / inline-size;
}
.workspace-pretensor-setup [hidden] { display:none !important; }
.workspace-pretensor-setup-header {
  min-width:0;min-height:32px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--pd-space-8);
}
.workspace-pretensor-setup-title { flex:none;color:var(--pd-text);font-size:var(--pd-font-size-lg);line-height:20px; }
.workspace-pretensor-setup-progress {
  display:none;flex:none;align-items:center;min-height:24px;padding:0 var(--pd-space-8);border:1px solid var(--pd-accent-soft-border);
  border-radius:var(--pd-radius-full);background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);white-space:nowrap;
}
.workspace-pretensor-ready-summary {
  display:none;min-width:min(100%,160px);flex:1 1 160px;overflow-wrap:normal;word-break:normal;
  color:var(--pd-success-text);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);text-align:start;
}
.viewer-conversation-model-settings {
  flex:none;align-items:center;justify-content:center;height:32px;min-width:32px;padding:0 8px;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-full);background:var(--pd-surface-raised);
  color:var(--pd-success-text);font:650 var(--pd-font-size-sm)/18px var(--pd-font-ui);
  white-space:nowrap;cursor:pointer;
}
.viewer-conversation-model-settings:hover,
.viewer-conversation-model-settings:focus-visible {
  border-color:var(--pd-success-border);background:var(--pd-success-soft);
  color:var(--pd-success-text);
}
.viewer-conversation-content > .workspace-pretensor-setup[data-placement="header"] {
  flex-shrink:0;max-height:45%;overflow-y:auto;overscroll-behavior:contain;
  margin:4px 6px;box-sizing:border-box;
}
.viewer-conversation-content > .viewer-conversation-model-start {
  flex-shrink:0;max-height:45%;overflow-y:auto;overscroll-behavior:contain;
  margin:4px 6px var(--pd-space-8);box-sizing:border-box;
}
.viewer-conversation-content > .workspace-pretensor-setup[data-placement="header"][data-phase="ready"][data-collapsed="true"] {
  display:none !important;
}
.workspace-pretensor-setup-toggle {
  display:none;min-width:0;min-height:32px;flex:1 1 100%;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--pd-space-8);
  padding:0 var(--pd-space-4) 0 var(--pd-space-6);border:0;border-radius:var(--pd-radius-sm);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;min-height:24px;margin-inline-start:auto;padding:0 var(--pd-space-8);
  border:1px solid var(--pd-accent-soft-border);border-radius:var(--pd-radius-full);
  background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font:650 var(--pd-font-size-sm)/18px var(--pd-font-ui);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:var(--pd-space-8); }
.workspace-pretensor-step {
  min-width:0;min-height:48px;display:grid;grid-template-columns:24px minmax(0,1fr);
  align-items:start;gap:var(--pd-space-8);padding:var(--pd-space-8);box-sizing:border-box;border:1px solid transparent;border-radius:var(--pd-radius-sm);
}
.workspace-pretensor-step-marker {
  width:24px;height:24px;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 var(--pd-font-size-sm)/1 var(--pd-font-ui);
}
.workspace-pretensor-step-copy { min-width:0;display:flex;flex-direction:column; }
.workspace-pretensor-step-name { min-width:0;color:var(--pd-text);font:600 var(--pd-font-size-md)/20px var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-pretensor-step-status {
  min-width:0;overflow-wrap:anywhere;color:var(--pd-text-secondary);
}
.workspace-pretensor-step-action {
  grid-column:2;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--pd-space-8);
}
.workspace-pretensor-step-action:not(:has(> :not([hidden]):not([style*="display: none"]))) { display:none; }
.workspace-pretensor-step-action > button[aria-busy="true"]::before {
  content:'';width:12px;height:12px;flex:none;box-sizing:border-box;border:2px solid currentColor;
  border-inline-end-color:transparent;border-radius:50%;animation:viewer-auth-spin .8s linear infinite;
}
@media (prefers-reduced-motion:reduce) {
  .workspace-pretensor-step-action > button[aria-busy="true"]::before { animation:none; }
}
.workspace-pretensor-step--model {
  align-items:start;
}
.workspace-pretensor-step--model .workspace-pretensor-step-marker { grid-row:1 / span 2;margin-top:var(--pd-space-2); }
.workspace-pretensor-step--model .workspace-pretensor-step-action {
  grid-column:2;width:100%;justify-content:stretch;margin-top:var(--pd-space-2);
}
.workspace-pretensor-model-library {
  width:100%;min-width:0;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);
  background:var(--pd-surface);overflow:hidden;
}
.workspace-pretensor-model-library-header {
  min-height:40px;display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:var(--pd-space-6);
  padding:var(--pd-space-8);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 var(--pd-font-ui);
  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 var(--pd-font-size-md)/20px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-library-summary {
  min-width:0;color:var(--pd-text-secondary);font:500 var(--pd-font-size-sm)/18px var(--pd-font-ui);
  text-align:end;overflow-wrap:anywhere;
}
.workspace-pretensor-model-library-list {
  min-width:0;display:grid;gap:5px;padding:var(--pd-space-8);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:var(--pd-space-6);padding:var(--pd-space-6) var(--pd-space-8);box-sizing:border-box;border:1px solid transparent;
  border-radius:var(--pd-radius-sm);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 var(--pd-font-size-md)/20px var(--pd-font-ui);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.workspace-pretensor-model-choice-meta {
  min-width:0;color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-choice-status {
  min-width:0;padding:var(--pd-space-2) var(--pd-space-6);border-radius:var(--pd-radius-full);background:var(--pd-surface);
  color:var(--pd-text-secondary);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);text-align:end;
  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:var(--pd-space-8);margin-inline-start:32px;padding:var(--pd-space-12);
  box-sizing:border-box;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);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:var(--pd-space-4) var(--pd-space-8);
}
.workspace-pretensor-model-profile-name {
  min-width:0;color:var(--pd-text);font:650 var(--pd-font-size-md)/20px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-profile-status {
  min-width:0;justify-self:end;padding:var(--pd-space-2) var(--pd-space-6);border-radius:var(--pd-radius-full);background:var(--pd-surface-subtle);
  color:var(--pd-text-secondary);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);text-align:end;
  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:var(--pd-space-4); }
.workspace-pretensor-model-badge {
  min-height:20px;display:inline-flex;align-items:center;padding:1px var(--pd-space-8);box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--pd-border) 70%,transparent);border-radius:var(--pd-radius-full);
  background:var(--pd-surface-subtle);color:var(--pd-text-secondary);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);white-space:normal;overflow-wrap:anywhere;max-width:100%;
}
.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:var(--pd-space-8);
  padding:var(--pd-space-8);box-sizing:border-box;border:1px solid var(--pd-accent-soft-border);border-radius:var(--pd-radius-md);
  background:var(--pd-accent-faint);
}
.workspace-pretensor-model-recommendation-copy { min-width:0;display:flex;flex-direction:column;gap:var(--pd-space-2); }
.workspace-pretensor-model-recommendation-title {
  min-width:0;color:var(--pd-accent-strong);font:650 var(--pd-font-size-md)/20px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-recommendation-detail {
  min-width:0;color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-recommendation-action {
  min-height:32px;max-width:132px;padding:6px 10px;border:1px solid var(--pd-accent);border-radius:var(--pd-radius-sm);
  background:var(--pd-accent);color:var(--pd-on-accent);font:650 var(--pd-font-size-sm)/18px var(--pd-font-ui);
  white-space:normal;cursor:pointer;
}
.workspace-pretensor-model-storage-plan {
  display:none;min-width:0;flex-direction:column;gap:5px;padding:var(--pd-space-8) var(--pd-space-8);box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);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:var(--pd-space-6); }
.workspace-pretensor-model-storage-summary {
  min-width:0;flex:1;color:var(--pd-text);font:650 var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-storage-refresh {
  display:none;align-items:center;min-height:32px;padding:6px 8px;border:1px solid var(--pd-danger-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-danger-strong);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);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:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-actions { min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--pd-space-8); }
.workspace-pretensor-model-action {
  display:none;align-items:center;min-height:32px;padding:6px var(--pd-space-8);border-radius:var(--pd-radius-sm);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);cursor:pointer;overflow-wrap:anywhere;
}
.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);gap:var(--pd-space-8);
  margin-inline-start:32px;padding:var(--pd-space-8) 0 0;font:var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere;
}
.workspace-pretensor-model-controls { display:flex;flex-wrap:wrap;align-items:center;gap:var(--pd-space-8); }
.workspace-pretensor-action {
  display:inline-flex;box-sizing:border-box;min-width:0;min-height:32px;max-width:100%;align-items:center;justify-content:center;
  padding:6px 10px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);
  white-space:normal;overflow-wrap:anywhere;text-align:start;text-decoration:none;cursor:pointer;
}
.workspace-pretensor-action--primary { border-color:var(--pd-accent);background:var(--pd-accent);color:var(--pd-on-accent); }
.workspace-pretensor-action:hover:not(:disabled):not([aria-disabled="true"]) { filter:brightness(.96); }
.workspace-pretensor-action:disabled { opacity:.55;cursor:not-allowed; }
.workspace-pretensor-setup :is(button,a,summary):focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.workspace-pretensor-runtime-progress,
.workspace-pretensor-runtime-summary {
  min-width:0;gap:var(--pd-space-8);margin-inline-start:32px;padding:var(--pd-space-12);box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);overflow-wrap:anywhere;
}
.workspace-pretensor-runtime-progress { grid-template-columns:minmax(0,1fr); }
.workspace-pretensor-runtime-summary { flex-direction:column; }
.workspace-pretensor-runtime-summary-header { display:flex;flex-wrap:wrap;min-width:0;align-items:center;gap:var(--pd-space-8); }
.workspace-pretensor-runtime-vision {
  align-items:center;min-height:24px;padding:0 var(--pd-space-8);border-radius:var(--pd-radius-full);
  background:var(--pd-success-soft);color:var(--pd-success-text);font-weight:600;
}
.workspace-pretensor-runtime-metrics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pd-space-8);margin:0; }
.workspace-pretensor-runtime-metric { display:flex;min-width:0;flex-direction:column;gap:var(--pd-space-4);padding:var(--pd-space-8);border-radius:var(--pd-radius-sm);background:var(--pd-surface-subtle); }
.workspace-pretensor-runtime-metric dt { color:var(--pd-text-secondary); }
.workspace-pretensor-runtime-metric dd { margin:0;color:var(--pd-text);font-weight:600;font-variant-numeric:tabular-nums; }
.workspace-pretensor-support-row { display:flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--pd-space-8);padding-top:var(--pd-space-4); }

@container pretensor-setup (max-width:360px) {
  .workspace-pretensor-model-library-header { grid-template-columns:14px minmax(0,1fr); }
  .workspace-pretensor-model-library-summary { grid-column:2;justify-self:start;text-align:start; }
  .workspace-pretensor-model-profile,
  .workspace-pretensor-model-acquisition,
  .workspace-pretensor-runtime-progress,
  .workspace-pretensor-runtime-summary { margin-inline-start:0; }
  .workspace-pretensor-runtime-metrics { grid-template-columns:minmax(0,1fr); }
  .workspace-pretensor-runtime-metric { flex-direction:row;flex-wrap:wrap;justify-content:space-between; }
  .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:var(--pd-space-10);padding:var(--pd-space-8) var(--pd-space-12);
  transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--pd-border) 78%,transparent);
  border-radius:var(--pd-radius-lg);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:var(--pd-space-2); }
.viewer-source-open-status-title { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font:650 var(--pd-font-size-sm)/1.25 var(--pd-font-ui); }
.viewer-source-open-status-detail { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--pd-text-secondary);font:400 var(--pd-font-size-xs)/1.25 var(--pd-font-ui); }
.viewer-source-open-status-cancel { flex:0 0 auto;min-height:28px;padding:0 var(--pd-space-10);border:1px solid
  color-mix(in srgb,var(--pd-accent) 30%,var(--pd-border));border-radius:var(--pd-radius-full);background:var(--pd-surface);
  color:var(--pd-accent-strong);font:650 var(--pd-font-size-xs)/1 var(--pd-font-ui);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:var(--pd-space-8);min-height:44px;padding:var(--pd-space-6) var(--pd-space-10);
  box-sizing:border-box;overflow:hidden;border-radius:var(--pd-radius-md);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:var(--pd-space-8);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:var(--pd-radius-sm);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:var(--pd-radius-full);background:var(--pd-accent-soft-border);color:var(--pd-accent-strong);
  font-size:var(--pd-font-size-2xs);font-weight:700; }
.viewer-catalog-open-state { align-items:center;gap:var(--pd-space-4);height:20px;padding:0 7px;flex:0 0 auto;
  border-radius:var(--pd-radius-full);background:var(--pd-accent-faint);color:var(--pd-accent-strong);
  font-size:var(--pd-font-size-2xs);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:var(--pd-space-6);min-height:40px;padding:var(--pd-space-4) var(--pd-space-6); }
[data-viewer-catalog-compact="true"] .viewer-catalog-slide-row[data-nested="true"] { padding-inline-start:var(--pd-space-14); }
[data-viewer-catalog-compact="true"] .viewer-catalog-open-button { gap:var(--pd-space-6); }
[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:var(--pd-space-8) var(--pd-space-12); }
  .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:var(--pd-space-4);
  margin-bottom:var(--pd-space-2);padding:var(--pd-space-8);box-sizing:border-box;border-radius:var(--pd-radius-lg);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 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui);
  letter-spacing:.08em;text-transform:uppercase; }
.viewer-empty-state-title { max-width:100%;margin:0;color:var(--pd-text);
  font:700 19px/1.25 var(--pd-font-ui); }
.viewer-empty-state-description { max-width:370px;margin:0;color:var(--pd-text-secondary);
  font:400 var(--pd-font-size-sm)/1.55 var(--pd-font-ui); }
.viewer-empty-state-count { display:inline-flex;align-items:center;min-height:24px;padding:0 var(--pd-space-8);border-radius:var(--pd-radius-full);
  background:var(--pd-hover);color:var(--pd-text-secondary);font:600 var(--pd-font-size-xs)/1 var(--pd-font-ui); }
.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:var(--pd-space-4); }
.viewer-empty-state-primary,.viewer-empty-state-secondary { min-height:34px;padding:0 var(--pd-space-14);border-radius:var(--pd-radius-md);
  font:650 var(--pd-font-size-sm)/1 var(--pd-font-ui);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:var(--pd-space-2) 0 0;color:var(--pd-danger-text);
  font:500 var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.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:var(--pd-radius-sm);
  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:var(--pd-radius-md);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:var(--pd-space-6) var(--pd-space-6) var(--pd-space-4);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;
  gap:7px;min-height:34px;padding:0 var(--pd-space-8);border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-sm);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 var(--pd-font-size-sm) var(--pd-font-ui); }
.viewer-tab-list-results { min-height:0;display:grid;align-content:start;gap:var(--pd-space-2);padding:var(--pd-space-2) var(--pd-space-4);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:var(--pd-space-8);padding:0 var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:500 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-font-size-2xs); }
.viewer-tab-list-status { min-height:27px;display:flex;align-items:center;padding:0 var(--pd-space-10);border-top:1px solid var(--pd-hover);
  justify-content:space-between;gap:var(--pd-space-8);color:var(--pd-text-muted);font:500 var(--pd-font-size-2xs) var(--pd-font-ui); }
.viewer-tab-list-reopen { min-height:23px;max-width:58%;padding:0 7px;border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-accent);
  font:600 var(--pd-font-size-2xs) var(--pd-font-ui);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 var(--pd-font-size-sm) var(--pd-font-ui);text-align:center; }
.viewer-app-launcher-menu { position:fixed;z-index:2147482903;width:min(292px,calc(100vw - 16px));display:grid;gap:7px;
  padding:var(--pd-space-8);border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-md);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:var(--pd-space-8);
  padding:var(--pd-space-4) var(--pd-space-4) var(--pd-space-4);color:var(--pd-text-muted);font:650 var(--pd-font-size-2xs)/1.3 var(--pd-font-ui);
  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:var(--pd-space-4) var(--pd-space-8);border-radius:var(--pd-radius-full);background:var(--pd-hover);color:var(--pd-text-muted);
  font:650 var(--pd-font-size-2xs)/1.25 var(--pd-font-ui);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 var(--pd-space-2);padding:0 var(--pd-space-8);border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);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 var(--pd-font-size-sm) var(--pd-font-ui); }
.viewer-app-launcher-grid { min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--pd-space-4);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 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-space-8);padding:var(--pd-space-6) var(--pd-space-8);border:0;
  border-radius:var(--pd-radius-md);background:var(--pd-surface);color:var(--pd-text);font:600 var(--pd-font-size-sm)/1.3 var(--pd-font-ui);
  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:var(--pd-radius-full);
  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:var(--pd-radius-full);
  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:var(--pd-radius-md);
  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 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui);
  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:var(--pd-space-2);
  padding:4px;border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-md);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:var(--pd-space-8);padding:0 var(--pd-space-8);border:0;
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);font:500 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-radius-md);background:var(--pd-surface);
  box-shadow:0 14px 38px rgba(var(--pd-shadow-rgb),.24);color:var(--pd-text);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.viewer-tab-mru-switcher[hidden] { display:none; }
.viewer-tab-mru-header { min-height:36px;display:flex;align-items:center;gap:var(--pd-space-8);padding:0 var(--pd-space-12);
  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:var(--pd-space-8);padding:0 var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:500 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-font-size-2xs); }
.viewer-tab-mru-footer { min-height:29px;display:flex;align-items:center;justify-content:space-between;gap:var(--pd-space-10);
  padding:0 var(--pd-space-12);border-top:1px solid var(--pd-hover);color:var(--pd-text-muted);font-size:var(--pd-font-size-2xs); }
#viewer-file-explorer { position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;
  min-height:0;overflow-y:auto;overflow-x:hidden;container:workspace-explorer / inline-size;
  background:var(--pd-surface);color:var(--viewer-text,#202124);font:var(--pd-font-size-sm) var(--pd-font-ui); }
#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:var(--pd-radius-lg);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:var(--pd-radius-lg);background:var(--pd-accent-soft); }
.workspace-explorer-external-drop strong { max-width:230px;color:var(--pd-text);font:700 var(--pd-font-size-lg)/1.3 var(--pd-font-ui); }
.workspace-explorer-external-drop > span:last-child { max-width:230px;color:var(--pd-text-secondary);
  font:500 var(--pd-font-size-xs)/1.45 var(--pd-font-ui);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:var(--pd-radius-lg);
  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:var(--pd-space-8) var(--pd-space-12);
  overflow:hidden;
  border:1px solid var(--pd-accent-muted);
  border-radius:var(--pd-radius-full);
  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 var(--pd-font-ui);
  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:var(--pd-radius-md);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:var(--pd-radius-sm);background:var(--pd-surface);color:var(--viewer-text,#202124);font:500 var(--pd-font-size-sm) var(--pd-font-ui);
  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:var(--pd-font-size-2xs) var(--pd-font-ui); }
.workspace-explorer-action-heading { min-height:24px;display:flex;align-items:center;padding:var(--pd-space-4) var(--pd-space-8) 0;color:var(--pd-text-muted);
  font:700 var(--pd-font-size-2xs) var(--pd-font-ui);letter-spacing:.05em;text-transform:uppercase; }
.workspace-explorer-action-separator { height:1px;margin:var(--pd-space-2) var(--pd-space-4);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:var(--pd-space-2);padding:4px;border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-md);background:var(--pd-surface);
  color:var(--pd-text);box-shadow:0 10px 30px rgba(var(--pd-shadow-rgb),.2);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-explorer-context-menu[hidden] { display:none; }
.workspace-explorer-context-header { min-width:0;display:flex;align-items:center;gap:7px;padding:var(--pd-space-8) var(--pd-space-8) var(--pd-space-6);
  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:var(--pd-space-2) var(--pd-space-6);border:1px solid var(--pd-accent-soft-border);border-radius:var(--pd-radius-md);
  background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-size:var(--pd-font-size-2xs);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:var(--pd-space-8);padding:0 8px;border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:500 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-space-2) var(--pd-space-4);background:var(--viewer-divider,#e8eaed); }
[data-workspace-context-text] { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-conversation-workspace-context { height:36px;min-height:36px;flex-shrink:0;display:flex;align-items:center;gap:5px;
  padding:0 7px;box-sizing:border-box;border-bottom:1px solid var(--pd-accent-soft-border);background:var(--pd-accent-faint);
  color:var(--pd-accent-strong);font:600 12px/18px var(--pd-font-ui); }
.viewer-conversation-workspace-context > svg { flex:none; }
.viewer-conversation-draft-status { height:18px;min-height:18px;display:flex;align-items:center;justify-content:flex-end;gap:4px;
  padding:0 8px;color:var(--pd-text-muted);font:12px/18px var(--pd-font-ui); }
.viewer-conversation-draft-status > [aria-hidden="true"] { width:5px;height:5px;flex:none;border-radius:50%;background:var(--pd-success); }
.workspace-context-inspector-toggle { width:32px;height:32px;min-width:32px;display:grid;place-items:center;margin-left:auto;
  padding:0;border:0;border-radius:var(--pd-radius-sm);background:transparent;color:inherit;cursor:pointer; }
.viewer-conversation-workspace-context .workspace-context-inspector-toggle { width:32px;height:32px;min-width:32px; }
.viewer-conversation-workspace-context .workspace-context-inspector-toggle:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.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:var(--pd-radius-md);
  background:var(--pd-surface);color:var(--pd-text);box-shadow:0 12px 34px rgba(var(--pd-shadow-rgb),.22);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-context-inspector-header { min-height:40px;display:flex;align-items:center;gap:var(--pd-space-8);padding:0 var(--pd-space-8) 0 var(--pd-space-12);
  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:32px;height:32px;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:var(--pd-space-8);
  padding:var(--pd-space-8) var(--pd-space-12);border-bottom:1px solid var(--pd-hover); }
.workspace-context-inspector-label { color:var(--pd-text-muted);font-size:var(--pd-font-size-sm);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-detail { margin-top:2px;color:var(--pd-text-muted);font-size:var(--pd-font-size-sm); }
.workspace-context-inspector-action { position:relative;display:block;width:calc(100% + 12px);min-width:0;margin:-4px -6px;padding:var(--pd-space-4) 22px var(--pd-space-4) var(--pd-space-6);
  border:0;border-radius:var(--pd-radius-sm);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%;min-height:30px;display:inline-flex;align-items:center;padding:3px 8px;border:1px solid var(--pd-accent-soft-border);border-radius:10px;background:var(--pd-accent-faint);
  color:var(--pd-accent-strong);font-size:12px;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:32px;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 12px var(--pd-font-ui);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:12px;line-height:1.4; }
.workspace-context-reference { min-width:0;min-height:36px;display:grid;grid-template-columns:22px 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 12px var(--pd-font-ui);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:22px;height:22px;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:12px;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:var(--pd-space-8) var(--pd-space-12);background:var(--pd-bg);
  color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);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 var(--pd-font-ui);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:12px/18px var(--pd-font-ui);overscroll-behavior-x:contain;scroll-padding-inline:6px; }
.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 var(--pd-font-ui);
  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:34px;
  overflow:hidden;border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-full);background:var(--pd-surface);color:var(--pd-accent-strong);
  font:600 12px/18px var(--pd-font-ui); }
.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:32px;align-self:stretch;display:flex;align-items:center;padding:0 4px 0 10px;
  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 var(--pd-accent-strong);outline-offset:-2px; }
.workspace-chat-mention-chip-main,.workspace-chat-mention-chip-remove { scroll-margin-inline:6px; }
.workspace-chat-mention-chip-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-chat-mention-chip-remove { width:32px;height:32px;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 var(--pd-font-ui);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;min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 6px;
  overflow:hidden;border:1px solid var(--pd-accent-muted);border-radius:12px;background:var(--pd-surface);color:var(--pd-accent-strong);
  font:600 12px/1.3 var(--pd-font-ui);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:16px;height:16px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-size:11px; }
.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));
  max-height:calc(100vh - 16px);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:12px var(--pd-font-ui); }
.workspace-chat-mention-inspector-header { min-height:44px;flex:none;display:grid;grid-template-columns:24px minmax(0,1fr) 32px;
  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:12px; }
.workspace-chat-mention-inspector-title span { margin-top:1px;color:var(--pd-text-muted);font-size:12px; }
.workspace-chat-mention-inspector-close { width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);font:18px/1 var(--pd-font-ui);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 { min-height:0;display:grid;grid-template-columns:80px minmax(0,1fr);overflow:auto;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 { flex:none;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:12px;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:44px;flex:none;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:32px;padding:0 9px;border:1px solid var(--pd-border);border-radius:7px;
  background:var(--pd-surface);color:var(--pd-text);font:650 12px var(--pd-font-ui);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:12px var(--pd-font-ui); }
.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 12px var(--pd-font-ui);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:12px; }
.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:12px;font-weight:750; }
.workspace-chat-mention-selected-path { flex:none;display:grid;gap:2px;max-height:84px;overflow:auto;padding:6px 10px;
  border-top:1px solid var(--pd-hover);background:var(--pd-surface-subtle);color:var(--pd-text-muted);line-height:17px; }
.workspace-chat-mention-selected-path[hidden] { display:none; }
.workspace-chat-mention-selected-value { color:var(--pd-text);overflow-wrap:anywhere;unicode-bidi:plaintext; }
.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:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;
  border-top:1px solid var(--pd-hover);color:var(--pd-text-muted);font-size:12px; }
.workspace-chat-mention-footer strong { color:var(--pd-success);font-weight:650; }
.workspace-explorer-search { min-height:36px;flex-shrink:0;display:flex;align-items:center;gap:var(--pd-space-4);margin:var(--pd-space-4) var(--pd-space-4) 0;padding:0 var(--pd-space-6);
  border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-md);background:var(--pd-surface);color:var(--pd-text-secondary); }
.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:32px;padding:0;border:0;outline:0;background:transparent;
  color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui); }
.workspace-explorer-search input::placeholder { color:var(--pd-text-muted);opacity:1; }
.workspace-explorer-search button { width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;padding:0;border:0;
  border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text-secondary);cursor:pointer; }
.workspace-explorer-search button:hover { background:var(--pd-hover); }
.workspace-explorer-search button:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.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:var(--pd-space-4) var(--pd-space-8);color:var(--pd-text-muted);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis; }
.workspace-explorer-status[data-has-folder="true"] { min-height:32px;display:block;padding:0 8px;
  color:var(--viewer-text,#202124);font:600 var(--pd-font-size-sm)/32px var(--pd-font-ui); }
.workspace-explorer-status[data-transient="true"] { min-height:42px;max-height:42px;display:-webkit-box;
  padding:var(--pd-space-4) var(--pd-space-8);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:40px;flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--pd-space-6);padding:var(--pd-space-6) var(--pd-space-8);
  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 0 7ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:var(--pd-font-size-sm);font-weight:650;font-variant-numeric:tabular-nums; }
.workspace-explorer-selection button { min-height:30px;min-width:0;max-width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:var(--pd-space-4);
  padding:var(--pd-space-4) var(--pd-space-8);border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-accent-strong);
  font:600 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);cursor:pointer;white-space:normal;overflow-wrap:anywhere; }
.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:30px;min-width:30px;flex:none;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 workspace-explorer (max-width:230px) {
  .workspace-explorer-selection { display:grid;grid-template-columns:minmax(0,1fr) auto; }
  .workspace-explorer-selection-count { grid-column:1 / -1;grid-row:1; }
  .workspace-explorer-selection [data-workspace-selection-chat] { grid-column:1;grid-row:2; }
  .workspace-explorer-selection-clear { grid-column:2;grid-row:2; }
  .viewer-bookmark-header { display:grid !important;grid-template-columns:minmax(0,1fr) auto auto;row-gap:var(--pd-space-4) !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;min-height:32px;display:flex;align-items:center;gap:var(--pd-space-4);margin:5px 0 1px;padding:var(--pd-space-6) var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);
  background:var(--pd-accent-faint);color:var(--pd-text-secondary);font:600 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);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:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal; }
.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:var(--pd-radius-lg);background:var(--pd-accent-faint);box-shadow:inset 0 0 0 2px var(--pd-accent-muted); }
.workspace-explorer-empty { padding:var(--pd-space-24) var(--pd-space-16);color:var(--pd-text-secondary);text-align:center;font-size:var(--pd-font-size-md);line-height:1.55;overflow-wrap:anywhere; }
.workspace-trash-panel { flex:none;margin:0;border:0;border-top:1px solid var(--viewer-border,#dadce0);background:var(--pd-surface);overflow:hidden; }
.workspace-trash-panel[hidden] { display:none; }
.workspace-trash-summary { min-height:38px;display:flex;align-items:center;gap:var(--pd-space-6);padding:0 var(--pd-space-10);box-sizing:border-box;color:var(--viewer-text,#202124);font:600 var(--pd-font-size-sm) var(--pd-font-ui);cursor:pointer;list-style:none; }
.workspace-trash-summary::-webkit-details-marker { display:none; }
.workspace-trash-summary::before { content:"▸";flex:none;color:var(--pd-text-muted);font-size:var(--pd-font-size-2xs);transition:transform 120ms ease; }
.workspace-trash-panel[open] .workspace-trash-summary::before { transform:rotate(90deg); }
.workspace-trash-summary:hover { background:var(--viewer-hover,#f1f3f4); }
.workspace-trash-summary:focus-visible { outline:2px solid var(--viewer-primary,#1a73e8);outline-offset:-2px; }
.workspace-trash-summary-icon,.workspace-trash-icon { flex:none;width:17px;height:17px;display:grid;place-items:center;color:var(--pd-text-secondary); }
.workspace-trash-summary-icon svg,.workspace-trash-icon svg { width:17px;height:17px; }
.workspace-trash-count { margin-inline-start:auto;min-width:18px;padding:var(--pd-space-2) var(--pd-space-6);box-sizing:border-box;border-radius:var(--pd-radius-full);background:var(--pd-hover);color:var(--pd-text-secondary);font-size:var(--pd-font-size-2xs);text-align:center; }
.workspace-trash-list { max-height:min(230px,35vh);overflow:auto;padding:var(--pd-space-4);border-top:1px solid var(--pd-divider); }
.workspace-trash-empty { padding:var(--pd-space-10);color:var(--pd-text-muted);font-size:var(--pd-font-size-xs);line-height:1.45;text-align:center; }
.workspace-trash-row { min-height:46px;display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:var(--pd-space-6);padding:var(--pd-space-4) var(--pd-space-6);border-radius:var(--pd-radius-md); }
.workspace-trash-row:hover { background:var(--viewer-hover,#f1f3f4); }
.workspace-trash-row[data-linked="true"] .workspace-trash-icon { color:var(--pd-accent); }
.workspace-trash-copy { min-width:0;display:grid;gap:1px; }
.workspace-trash-name,.workspace-trash-meta { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-trash-name { color:var(--pd-text);font-size:var(--pd-font-size-xs);font-weight:600; }
.workspace-trash-meta { color:var(--pd-text-muted);font-size:var(--pd-font-size-2xs); }
.workspace-trash-restore { flex:none;min-height:28px;padding:0 var(--pd-space-8);border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-accent);font:650 var(--pd-font-size-2xs) var(--pd-font-ui);cursor:pointer; }
.workspace-trash-restore:hover { background:var(--pd-accent-soft); }
.workspace-trash-restore:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px; }
.workspace-trash-restore:disabled { opacity:.55;cursor:wait; }
.workspace-trash-error { grid-column:2 / 4;min-width:0;padding-bottom:var(--pd-space-4);color:var(--pd-danger-text);font-size:var(--pd-font-size-xs);line-height:1.4;overflow-wrap:anywhere; }
.workspace-trash-error[hidden] { display:none; }
.workspace-entry-dialog-backdrop { position:fixed;inset:0;z-index:2147483002;display:grid;place-items:center;padding:var(--pd-space-16);
  background:rgba(var(--pd-shadow-rgb),.28);backdrop-filter:blur(2px); }
.workspace-entry-dialog { width:min(440px,100%);padding:var(--pd-space-16);border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-xl);
  background:var(--pd-surface);color:var(--viewer-text,#202124);box-shadow:0 18px 46px rgba(var(--pd-shadow-rgb),.22);font:var(--pd-font-size-md) var(--pd-font-ui); }
.workspace-entry-dialog h2 { margin:0 0 var(--pd-space-4);font-size:18px;line-height:1.3; }
.workspace-entry-dialog-description { margin:0 0 var(--pd-space-14);color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);line-height:1.5; }
.workspace-entry-dialog-field { display:grid;gap:var(--pd-space-6);margin-top:var(--pd-space-12);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:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui); }
.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:var(--pd-space-8);color:var(--pd-danger-text);font-size:var(--pd-font-size-xs);line-height:1.4; }
.workspace-entry-dialog-actions { display:flex;justify-content:flex-end;gap:var(--pd-space-8);margin-top:var(--pd-space-10); }
.workspace-entry-dialog-actions button { min-height:36px;padding:0 var(--pd-space-14);border:1px solid var(--viewer-border,#dadce0);
  border-radius:var(--pd-radius-full);background:var(--pd-surface);color:var(--pd-text);font:650 var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-space-14);
  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:var(--pd-radius-lg);background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 18px 48px rgba(var(--pd-shadow-rgb),.26);font:var(--pd-font-size-sm)/1.45 var(--pd-font-ui); }
.workspace-shortcuts-header { min-height:46px;display:flex;align-items:center;gap:var(--pd-space-10);padding:0 var(--pd-space-10) 0 var(--pd-space-16);
  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:var(--pd-radius-sm);
  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:var(--pd-space-12) var(--pd-space-16) var(--pd-space-14); }
.workspace-shortcuts-intro { margin:0 0 var(--pd-space-12);color:var(--pd-text-secondary); }
.workspace-shortcuts-groups { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--pd-space-14) var(--pd-space-20); }
.workspace-shortcuts-group h3 { margin:0;padding:0 0 var(--pd-space-6);border-bottom:1px solid var(--pd-divider);color:var(--pd-text);
  font-size:var(--pd-font-size-sm);font-weight:750; }
.workspace-shortcut-row { min-height:34px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:var(--pd-space-10);padding:var(--pd-space-4) 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:var(--pd-space-4) var(--pd-space-8);border:1px solid var(--pd-border);border-bottom-width:2px;
  border-radius:var(--pd-radius-sm);background:var(--pd-bg);color:var(--pd-text);font:600 var(--pd-font-size-2xs)/14px var(--pd-font-ui);
  text-align:center;white-space:nowrap; }
.workspace-shortcuts-scope { margin:var(--pd-space-12) 0 0;padding-top:var(--pd-space-10);border-top:1px solid var(--pd-divider);color:var(--pd-text-muted);font-size:var(--pd-font-size-2xs); }
.workspace-quick-open-backdrop { position:fixed;inset:0;z-index:2147483003;display:flex;align-items:flex-start;
  justify-content:center;padding:9vh var(--pd-space-12) var(--pd-space-12);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:var(--pd-radius-lg);background:var(--pd-surface);color:var(--viewer-text,#202124);
  box-shadow:0 16px 42px rgba(var(--pd-shadow-rgb),.2);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-quick-open-header { min-height:38px;display:flex;align-items:center;gap:var(--pd-space-8);padding:0 var(--pd-space-12);
  border-bottom:1px solid var(--viewer-divider,#e8eaed);font-weight:700; }
.workspace-quick-open-header kbd { margin-left:auto;padding:var(--pd-space-2) var(--pd-space-6);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-bg);color:var(--pd-text-secondary);font:var(--pd-font-size-2xs) var(--pd-font-ui); }
.workspace-quick-open-search { min-height:46px;display:flex;align-items:center;gap:var(--pd-space-8);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:var(--pd-font-size-lg) var(--pd-font-ui); }
.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:var(--pd-space-8);padding:var(--pd-space-4) var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-font-size-2xs); }
.workspace-quick-open-result-badge { grid-column:3;grid-row:1 / span 2;padding:var(--pd-space-2) var(--pd-space-6);border:1px solid var(--pd-accent-soft-border);
  border-radius:var(--pd-radius-md);background:var(--pd-accent-faint);color:var(--pd-accent-strong);font-size:var(--pd-font-size-2xs);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:var(--pd-space-8) var(--pd-space-8) var(--pd-space-4);background:color-mix(in srgb,var(--pd-surface) 94%,transparent);color:var(--pd-text-muted);
  font:650 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui);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:var(--pd-space-2) var(--pd-space-6);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--pd-radius-md);background:var(--pd-hover);color:var(--pd-text-secondary);
  font-size:var(--pd-font-size-2xs);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:var(--pd-space-2) var(--pd-space-6);border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-bg);color:var(--pd-text-secondary);font:var(--pd-font-size-2xs) var(--pd-font-ui);white-space:nowrap; }
.workspace-content-search { width:min(760px,100%); }
.workspace-content-search-options { flex:none;display:flex;align-items:center;gap:var(--pd-space-2); }
.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:var(--pd-space-8);
  padding:var(--pd-space-6) var(--pd-space-8);border:0;border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-space-2) var(--pd-space-6);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:var(--pd-space-10); }
.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:var(--pd-space-2) var(--pd-space-6);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:var(--pd-space-20) var(--pd-space-12);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:var(--pd-font-size-2xs); }
.workspace-file-row { width:100%;max-width:100%;min-height:28px;display:flex;align-items:center;gap:var(--pd-space-4);padding-inline-end:var(--pd-space-4);
  box-sizing:border-box;overflow:hidden;border:0;border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);font:var(--pd-font-size-sm) var(--pd-font-ui);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:var(--pd-font-size-2xs);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"] { min-height:32px;color:var(--viewer-text,#202124);font-size:var(--pd-font-size-md);font-weight:600; }
.workspace-file-tree[data-explorer-density="compact"] .workspace-file-row[data-kind="directory"] { min-height:28px;font-size:var(--pd-font-size-sm); }
.workspace-folder-toggle { width:12px;min-width:12px;display:grid;place-items:center;color:var(--pd-text-muted);font-size:var(--pd-font-size-2xs);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:var(--pd-font-size-2xs);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:var(--pd-font-size-2xs);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:var(--pd-font-size-sm);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:var(--pd-radius-sm);
  background:var(--pd-surface);overflow:hidden; }
.workspace-slide-block-heading { display:flex;align-items:center;gap:var(--pd-space-4);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;
  overflow:hidden;border-radius:0;background:transparent; }
.workspace-slide-stain-actions { display:flex;flex:1;flex-wrap:wrap;gap:var(--pd-space-4);align-items:center;min-width:0;
  padding:var(--pd-space-4) var(--pd-space-6) var(--pd-space-4) 0; }
.workspace-slide-stain-action { position:relative;flex:0 1 auto;min-width:0;max-width:100%;box-sizing:border-box;min-height:28px;
  white-space:normal;overflow-wrap:anywhere;padding:2px 10px;text-align:center;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);font:600 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);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] { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.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:var(--pd-space-6);min-width:0;padding:var(--pd-space-6); }
.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:var(--pd-font-size-2xs); }
.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 var(--pd-font-size-xs)/1.2 var(--pd-font-ui); }
.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:var(--pd-radius-sm);
  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:var(--pd-space-24);box-sizing:border-box; }
.workspace-start-pane[data-project-ready="true"] { justify-content:flex-start;overflow:auto;scrollbar-gutter:stable; }
.workspace-start-pane-content { width:min(440px,100%);max-height:100%;display:grid;justify-items:center;gap:var(--pd-space-10);padding:30px var(--pd-space-24);
  box-sizing:border-box;overflow:auto;border:1px solid var(--pd-border);border-radius:var(--pd-radius-xl);background:var(--pd-surface);text-align:center;
  box-shadow:var(--pd-shadow-card); }
.workspace-start-pane-intro { min-width:0;display:grid;justify-items:center;gap:var(--pd-space-10); }
.workspace-start-pane-copy { min-width:0;display:grid;justify-items:center;gap:var(--pd-space-6); }
.workspace-start-pane-icon { width:54px;height:54px;display:grid;place-items:center;border-radius:var(--pd-radius-lg);
  background:var(--pd-accent-faint);color:var(--pd-accent-strong); }
.workspace-start-pane h2 { margin:var(--pd-space-4) 0 0;color:var(--pd-text);font:650 var(--pd-font-size-xl)/1.25 var(--pd-font-ui); }
.workspace-start-pane-body { max-width:330px;margin:0;color:var(--pd-text-muted);font:var(--pd-font-size-sm)/1.6 var(--pd-font-ui); }
.workspace-start-pane-project-meta { width:100%;min-width:0;display:flex;align-items:center;gap:var(--pd-space-10); }
.workspace-start-pane-status { min-width:0;max-width:100%;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--pd-text-secondary);
  font:600 var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.workspace-start-pane-project-actions { min-width:0;display:flex;align-items:center;gap:var(--pd-space-4);margin-left:auto; }
.workspace-start-pane-project-actions[hidden],.workspace-start-pane-project-action[hidden] { display:none; }
.workspace-start-pane-project-action { min-height:var(--pd-control-md);display:inline-flex;align-items:center;gap:var(--pd-space-6);padding:0 var(--pd-space-10);border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text-secondary);font:500 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);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:var(--pd-control-lg);margin-top:5px;padding:0 18px;border:0;border-radius:var(--pd-radius-full);
  background:var(--pd-accent);color:var(--pd-on-accent);font:650 var(--pd-font-size-sm) var(--pd-font-ui);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(1080px,100%);max-height:none;flex:none;justify-items:stretch;gap:var(--pd-space-24);padding:var(--pd-space-8) 0;
  overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:start; }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-intro { display:flex;align-items:flex-start;justify-items:initial;gap:var(--pd-space-14); }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-copy { flex:1;justify-items:start;gap:var(--pd-space-8); }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-icon { width:46px;height:46px;min-width:46px;border-radius:var(--pd-radius-lg); }
.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:var(--pd-font-size-2xl); }
.workspace-start-pane-content[data-ready="true"] .workspace-start-pane-body { max-width:none; }
.workspace-start-pane-dashboard { min-width:0;display:grid;gap:var(--pd-space-20); }
.workspace-start-pane-dashboard[hidden] { display:none; }
.workspace-start-pane-columns { display:grid;grid-template-columns:minmax(0,1fr);gap:var(--pd-space-20);min-width:0;align-items:start; }
.workspace-start-pane-work,.workspace-start-pane-tools { min-width:0;display:grid;gap:var(--pd-space-20);container-type:inline-size; }
.workspace-start-pane-summary { min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pd-space-12); }
.workspace-start-pane-metric { position:relative;min-width:0;display:grid;justify-items:start;align-content:center;gap:var(--pd-space-4);padding:var(--pd-space-16);border-radius:var(--pd-radius-md);
  border:1px solid var(--pd-divider);background:var(--pd-surface);color:var(--pd-text-secondary);text-align:start;
  font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);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:'›';position:absolute;inset-inline-end:var(--pd-space-16);top:var(--pd-space-20);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 { max-width:100%;overflow-wrap:anywhere;color:var(--pd-text);font-size:var(--pd-font-size-2xl);font-weight:650;font-variant-numeric:tabular-nums;line-height:1.4; }
.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:var(--pd-space-16);padding:var(--pd-space-20);border:1px solid var(--pd-divider);border-radius:var(--pd-radius-lg);background:var(--pd-surface); }
.workspace-start-pane-section-title { margin:0;color:var(--pd-text);font:600 var(--pd-font-size-lg)/1.45 var(--pd-font-ui); }
.workspace-start-pane-app-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--pd-space-8); }
.workspace-start-pane-app { min-width:0;min-height:62px;display:grid;justify-items:center;align-content:center;gap:var(--pd-space-6);padding:var(--pd-space-8) var(--pd-space-4);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);background:var(--pd-surface);color:var(--pd-text-secondary);
  font:600 var(--pd-font-size-xs)/1.25 var(--pd-font-ui);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:var(--pd-radius-md);
  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:var(--pd-accent); }
[data-app-kind="excel"],[data-app-icon="excel"] { --workspace-app-color:var(--pd-app-excel); }
[data-app-kind="word"],[data-app-icon="word"] { --workspace-app-color:var(--pd-app-word); }
[data-app-kind="slides"],[data-app-icon="slides"] { --workspace-app-color:var(--pd-app-slides); }
[data-app-kind="pdf"],[data-app-icon="pdf"] { --workspace-app-color:var(--pd-app-pdf); }
[data-app-kind="python"],[data-app-icon="python"] { --workspace-app-color:var(--pd-app-python); }
[data-app-kind="latex"],[data-app-icon="latex"] { --workspace-app-color:var(--pd-app-latex); }
.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:minmax(0,1fr);gap:var(--pd-space-8); }
.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:var(--pd-space-8);padding:var(--pd-space-8) var(--pd-space-12);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);background:var(--pd-surface);color:var(--pd-text);text-align:left;cursor:pointer;
  font:600 var(--pd-font-size-sm)/1.35 var(--pd-font-ui);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:var(--pd-radius-md);
  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:var(--pd-space-2); }
.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:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-start-pane-quick-meta { min-width:0;padding:var(--pd-space-2) var(--pd-space-4);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-hover);
  color:var(--pd-text-muted);font:var(--pd-font-size-2xs)/1.2 var(--pd-font-ui);white-space:nowrap; }
.workspace-start-pane-quick-meta[hidden] { display:none; }
.workspace-start-pane-case-empty { margin:var(--pd-space-2) 0 0;padding:var(--pd-space-12);border:1px dashed var(--pd-border);border-radius:var(--pd-radius-md);
  color:var(--pd-text-muted);font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);text-align:center; }
.workspace-start-pane-case-list { min-width:0;max-height:320px;overflow:auto;scrollbar-gutter:stable;display:grid;gap:var(--pd-space-4);padding:var(--pd-space-4);margin:calc(-1 * var(--pd-space-4)); }
.workspace-start-pane-case-list[hidden] { display:none; }
.workspace-start-pane-case-row { width:100%;min-width:0;display:grid;gap:var(--pd-space-2);padding:var(--pd-space-10) var(--pd-space-12);border:1px solid transparent;
  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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.workspace-start-pane-case-meta { min-width:0;color:var(--pd-text-muted);font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-start-pane-recent-empty { margin:var(--pd-space-2) 0 0;padding:var(--pd-space-12);border:1px dashed var(--pd-border);border-radius:var(--pd-radius-md);
  color:var(--pd-text-muted);font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);text-align:center; }
.workspace-start-pane-recent-list { min-width:0;display:grid;gap:var(--pd-space-4); }
.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:var(--pd-space-2);
  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:var(--pd-space-10);padding:var(--pd-space-8) var(--pd-space-8);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:var(--pd-radius-sm);
  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:var(--pd-space-4) var(--pd-space-4);box-sizing:border-box;border-radius:var(--pd-radius-sm);
  background:var(--pd-hover);color:var(--pd-text-secondary);font:700 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui);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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.workspace-start-pane-recent-meta { min-width:0;display:flex;align-items:center;gap:var(--pd-space-6);color:var(--pd-text-muted);
  font:var(--pd-font-size-xs)/1.35 var(--pd-font-ui); }
.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:var(--pd-space-6);color:var(--pd-border-strong,var(--pd-text-muted)); }
.workspace-start-pane-recent-state { padding:var(--pd-space-4) var(--pd-space-8);border-radius:var(--pd-radius-full);background:var(--pd-hover);color:var(--pd-text-muted);
  font:600 var(--pd-font-size-2xs)/1.3 var(--pd-font-ui); }
.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:var(--pd-space-14); }
  .workspace-start-pane-content[data-ready="true"] { gap:var(--pd-space-20);padding:var(--pd-space-4) 0; }
  .workspace-start-pane-section { padding:var(--pd-space-16); }
  .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:var(--pd-space-6); }
  .workspace-start-pane-project-actions { margin-left:0; }
  .workspace-start-pane-quick-actions { grid-template-columns:1fr; }
}
@container (max-width:360px) {
  .workspace-start-pane-summary { gap:var(--pd-space-6); }
  .workspace-start-pane-metric { gap:var(--pd-space-4);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-start-pane-recent-row { grid-template-columns:32px minmax(0,1fr);gap:var(--pd-space-8); }
  .workspace-start-pane-recent-extension { width:32px; }
  .workspace-start-pane-recent-state { grid-column:2;justify-self:start; }
  .workspace-start-pane-recent-meta { flex-wrap:wrap; }
  .workspace-start-pane-quick-action { grid-template-columns:28px minmax(0,1fr); }
  .workspace-start-pane-quick-meta { grid-column:2;justify-self:start; }
}
@container (min-width:560px) {
  .workspace-start-pane-quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .workspace-start-pane-app-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
}
@container (min-width:900px) {
  .workspace-start-pane-columns { grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr); }
}
@media (prefers-reduced-motion:reduce) {
  .workspace-start-pane button { transition:none; }
  .workspace-start-pane button:hover { transform:none; }
  .workspace-start-pane-project-action[data-busy="true"] svg { animation:none; }
}
.workspace-start-pane :is(button):focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:2px; }
.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:var(--workspace-document-tools-top,41px);inset-inline-end:6px;width:min(420px,calc(100% - 12px));
  box-sizing:border-box;max-height:var(--workspace-document-tools-max-height,calc(100% - 48px));overflow:auto;overscroll-behavior:contain;display:grid;gap:8px;padding:10px;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);
  color:var(--pd-text);box-shadow:var(--pd-shadow-menu);font:var(--pd-font-size-md)/20px var(--pd-font-ui); }
.workspace-document-search-row { min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) repeat(3,32px);
  align-items:center;gap:var(--pd-space-4); }
.workspace-document-replace-toggle { grid-column:1;grid-row:1; }
.workspace-document-find-input { grid-column:2 / 5;grid-row:1; }
.workspace-document-search-close { grid-column:5;grid-row:1; }
.workspace-document-search-count { grid-column:1 / 3;grid-row:2;min-width:0;color:var(--pd-text-secondary);
  font-size:var(--pd-font-size-sm);line-height:18px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
.workspace-document-search-case { grid-column:3;grid-row:2; }
.workspace-document-search-previous { grid-column:4;grid-row:2; }
.workspace-document-search-next { grid-column:5;grid-row:2; }
.workspace-document-replace-row { grid-template-columns:repeat(2,minmax(0,1fr));padding-top:8px;border-top:1px solid var(--pd-divider); }
.workspace-document-replace-row > span { display:none; }
.workspace-document-replace-row > input { grid-column:1 / -1; }
.workspace-document-replace-row[hidden] { display:none; }
.workspace-document-search input { min-width:0;width:100%;box-sizing:border-box;height:36px;padding:0 9px;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);outline:0;background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md)/20px var(--pd-font-ui); }
.workspace-document-search input:focus { border-color:var(--pd-accent-strong);box-shadow:0 0 0 1px var(--pd-accent-strong); }
.workspace-go-to-line { position:absolute;z-index:13;top:var(--workspace-document-tools-top,41px);inset-inline-end:6px;width:min(360px,calc(100% - 12px));
  box-sizing:border-box;max-height:var(--workspace-document-tools-max-height,calc(100% - 48px));overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:24px minmax(0,1fr) 32px;
  align-items:center;gap:8px;padding:10px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-text);
  box-shadow:var(--pd-shadow-menu);font:var(--pd-font-size-md)/20px var(--pd-font-ui); }
.workspace-go-to-line-prefix { grid-column:1;grid-row:1;color:var(--pd-accent-strong);font-weight:700;text-align:center; }
.workspace-go-to-line input { grid-column:2;grid-row:1;min-width:0;width:100%;box-sizing:border-box;height:36px;padding:0 9px;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);outline:0;background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md)/20px var(--pd-font-ui); }
.workspace-go-to-line input:focus { border-color:var(--pd-accent-strong);box-shadow:0 0 0 1px var(--pd-accent-strong); }
.workspace-go-to-line[data-invalid="true"] input { border-color:var(--pd-danger-text);box-shadow:0 0 0 1px var(--pd-danger-text); }
.workspace-go-to-line-status { grid-column:1 / -1;grid-row:2;min-width:0;color:var(--pd-text-secondary);
  font-size:var(--pd-font-size-sm);line-height:18px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
.workspace-go-to-line[data-invalid="true"] .workspace-go-to-line-status { color:var(--pd-danger-text); }
.workspace-go-to-line button { grid-column:3;grid-row:1;width:32px;height:32px;padding:0;border:0;border-radius:var(--pd-radius-sm);background:transparent;
  color:var(--pd-text-secondary);font:var(--pd-font-size-xl)/1 var(--pd-font-ui);cursor:pointer; }
.workspace-go-to-line button:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-editor-statusbar { min-height:36px;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 6px;
  border-top:1px solid var(--pd-divider);background:var(--pd-surface);color:var(--pd-text-secondary);
  font:var(--pd-font-size-sm)/18px var(--pd-font-ui);box-sizing:border-box; }
.workspace-editor-position { min-height:32px;max-width:100%;padding:0 6px;border:0;border-radius:var(--pd-radius-sm);background:transparent;color:inherit;
  font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer; }
.workspace-editor-position:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-editor-selection { min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
.workspace-editor-selection[hidden] { display:none; }
.workspace-editor-outline { min-width:104px;min-height:32px;flex:1;display:flex;align-items:center;gap:6px;padding:0 6px;
  border:0;border-inline-start:1px solid var(--pd-divider);border-radius:var(--pd-radius-sm);background:transparent;
  color:var(--pd-text-secondary);font:inherit;text-align:start;cursor:pointer;overflow:hidden; }
.workspace-editor-outline:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-editor-outline-icon { width:16px;height:16px;flex:0 0 16px; }
.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-secondary);white-space:nowrap; }
.workspace-document-search button { width:32px;min-height:32px;display:grid;place-items:center;padding:0;border:1px solid transparent;
  border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text-secondary);font:var(--pd-font-size-md)/20px var(--pd-font-ui);cursor:pointer; }
.workspace-document-search button:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-document-search button:focus-visible,.workspace-go-to-line button:focus-visible,
.workspace-editor-statusbar button:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:1px; }
.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-document-replace-row > button { width:100%;min-height:36px;padding:6px 8px;border-color:var(--pd-border);overflow-wrap:anywhere; }
@container (max-width:340px) {
  .workspace-editor-statusbar { display:grid;grid-template-columns:minmax(0,1fr) auto; }
  .workspace-editor-position { grid-column:1;grid-row:1;justify-self:start; }
  .workspace-editor-selection { grid-column:2;grid-row:1; }
  .workspace-editor-outline { grid-column:1;grid-row:2;border-inline-start:0; }
  .workspace-editor-language { grid-column:2;grid-row:2;text-align:end; }
}
.workspace-action { height:28px;flex:none;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 var(--pd-font-size-sm)/1 var(--pd-font-ui);white-space:nowrap;cursor:pointer;box-shadow:0 1px 1px rgba(var(--pd-shadow-rgb),.04); }
.workspace-action-label { font:inherit;line-height:inherit; }
.workspace-action[hidden] { display:none; }
.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(300px,calc(100% - 8px));display:grid;gap:4px;
  box-sizing:border-box;overflow:auto;overscroll-behavior:contain;padding:6px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);
  box-shadow:var(--pd-shadow-menu); }
.workspace-word-export-menu[hidden] { display:none; }
.workspace-word-export-option { min-height:52px;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 var(--pd-font-size-sm)/1.5 var(--pd-font-ui);text-align:start;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-secondary);font-size:var(--pd-font-size-sm);font-weight:400;overflow-wrap:anywhere; }
.workspace-python-body { --workspace-split-primary:55%;--workspace-split-primary-min:180px;--workspace-split-secondary-min:160px;
  flex:1;min-height:0;display:grid;overflow:auto;overscroll-behavior:contain;
  grid-template-columns:minmax(var(--workspace-split-primary-min),var(--workspace-split-primary)) 5px minmax(var(--workspace-split-secondary-min),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 var(--pd-font-ui);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 var(--pd-font-ui);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 var(--pd-font-size-2xs)/1 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);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 var(--pd-font-size-2xs)/1 var(--pd-font-ui); }
.workspace-python-history-select { width:min(150px,22vw);height:24px;min-width:72px;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text-secondary);font:var(--pd-font-size-2xs) var(--pd-font-ui); }
.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-pane .workspace-code-panel.output { overflow:auto;overscroll-behavior:contain; }
.workspace-python-pane .workspace-python-status { font-size:var(--pd-font-size-sm); }
.workspace-python-pane .workspace-code-panel.output > .workspace-code-heading { flex:none; }
.workspace-python-output { min-width:0;min-height:144px;max-height:360px;box-sizing:border-box;flex:0 0 auto;overflow:auto;margin:0;padding:12px;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 { flex:none;display:flex;flex-wrap:wrap;align-items:start;gap:8px;padding:0 12px 12px;background:var(--pd-terminal-bg); }
.workspace-python-artifacts:empty { display:none; }
.workspace-python-pane .workspace-python-artifacts .workspace-action { width:auto;height:auto;min-height:32px;max-width:100%;padding:6px 10px;white-space:normal;overflow-wrap:anywhere;font-size:var(--pd-font-size-sm); }
.workspace-python-artifacts img { max-width:min(100%,420px);max-height:280px;object-fit:contain;background:var(--pd-surface);border-radius:var(--pd-radius-sm); }
.workspace-python-application { flex:1 1 100%;min-width:0;overflow:hidden;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);background:var(--pd-surface); }
.workspace-python-application-toolbar { min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border-bottom:1px solid var(--pd-border);color:var(--pd-text);font:var(--pd-font-size-sm)/1.4 var(--pd-font-ui); }
.workspace-python-application-toolbar strong { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:ltr; }
.workspace-python-application-frame { display:block;width:100%;height:clamp(320px,48vh,620px);border:0;background:#fff;color-scheme:light; }
.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:var(--pd-radius-md);
  background:var(--viewer-hover,#f1f3f4);color:var(--pd-text-secondary);font-size:var(--pd-font-size-2xs);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-excel-pane { overflow:auto;overscroll-behavior:contain; }
.workspace-excel-pane > .workspace-pane-toolbar { flex:0 0 auto;gap:6px;padding:6px; }
.workspace-excel-pane > .workspace-pane-toolbar .workspace-action { min-width:32px;height:32px;border-radius:var(--pd-radius-sm); }
.workspace-excel-pane .workspace-sheet-status { font-size:var(--pd-font-size-sm);line-height:18px; }
.workspace-excel-pane .workspace-action:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:1px; }
.workspace-sheet-formula { flex:0 0 auto;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:4px 6px;padding:6px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed);background:var(--pd-surface); }
.workspace-sheet-address { min-width:0;color:var(--pd-text-secondary);font:600 12px/20px Consolas,monospace;text-align:center;overflow-wrap:anywhere; }
.workspace-sheet-formula > input { min-width:0;width:100%;height:36px;box-sizing:border-box;padding:0 9px;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);outline:0;background:var(--pd-surface);color:var(--pd-text);font:13px/20px Consolas,monospace; }
.workspace-sheet-formula > input:focus { border-color:var(--pd-accent-strong);box-shadow:0 0 0 1px var(--pd-accent-strong); }
.workspace-sheet-tools { grid-column:1 / -1;display:flex;min-width:0;align-items:center;gap:4px;padding:2px;
  overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin; }
.workspace-sheet-tool { flex:0 0 32px;width:32px;height:32px;padding:0;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text-secondary);font:700 var(--pd-font-size-md)/1 var(--pd-font-ui);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 var(--pd-success-text);outline-offset:1px; }
.workspace-sheet-tool[aria-pressed="true"] { border-color:var(--pd-success-text);background:var(--pd-success-soft);color:var(--pd-success-text); }
.workspace-sheet-tool[aria-pressed="mixed"] { border-color:var(--pd-success-text);border-style:dashed;background:var(--pd-hover);color:var(--pd-success-text); }
[data-workspace-command="excel-format-italic"] { font-style:italic; }
[data-workspace-command="excel-format-underline"] { text-decoration:underline; }
[data-workspace-command="excel-format-strike"] { text-decoration:line-through; }
.workspace-sheet-tool:disabled { opacity:.35;cursor:default; }
.workspace-sheet-wrap { position:relative;flex:1 0 96px;min-height:96px;overflow:auto;overscroll-behavior:contain;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 var(--pd-font-ui); }
.workspace-sheet th { position:sticky;top:0;z-index:3;width:104px;min-width:104px;height:32px;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 { inset-inline-start:0;z-index:5;width:46px;min-width:46px; }
.workspace-sheet tbody th { position:sticky;inset-inline-start:0;z-index:2;width:46px;min-width:46px;background:var(--pd-hover); }
.workspace-sheet td { width:104px;min-width:104px;height:33px;padding:0;border:0;border-right:1px solid var(--pd-divider);
  border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-sheet[data-show-grid-lines="false"] :is(th,td) { border-color:transparent; }
.workspace-sheet-cell { box-sizing:border-box;width:100%;height:32px;padding:0 6px;border:0;outline:0;background:transparent;color:var(--pd-text);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-sheet-cell:focus { box-shadow:inset 0 0 0 2px var(--pd-app-excel); }
.workspace-sheet-footer { min-height:40px;flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;margin:0;box-sizing:border-box;
  border:0;border-top:1px solid var(--pd-border);border-radius:0;background:var(--pd-surface);color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
.workspace-sheet-tabs { display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto;flex:1; }
.workspace-sheet-tab { min-height:32px;max-width:220px;flex:0 0 auto;display:block;overflow:hidden;text-overflow:ellipsis;padding:0 12px;border:0;border-bottom:2px solid transparent;
  background:transparent;color:var(--pd-text-secondary);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap; }
.workspace-sheet-tab:hover { color:var(--pd-success-text);background:color-mix(in srgb,var(--pd-app-excel) 8%,transparent); }
.workspace-sheet-tab[data-active="true"] { border-bottom-color:var(--pd-app-excel);color:var(--pd-success-text);font-weight:700; }
.workspace-sheet-tab:focus-visible { outline:2px solid var(--pd-success-text);outline-offset:-2px; }
.workspace-sheet-tab[contenteditable="true"],.workspace-sheet-tab[contenteditable="plaintext-only"] {
  cursor:text;outline:2px solid color-mix(in srgb,var(--pd-app-excel) 40%,transparent);outline-offset:0;
  background:color-mix(in srgb,var(--pd-app-excel) 10%,transparent); }
.workspace-sheet-tab-actions { display:flex;align-items:center;gap:2px;flex:0 0 auto;margin:0 4px; }
.workspace-sheet-tab-action { width:32px;height:32px;padding:0;border:0;border-radius:var(--pd-radius-sm);background:transparent;
  color:var(--pd-text-secondary);font:700 16px/1 var(--pd-font-ui);cursor:pointer; }
.workspace-sheet-tab-action:hover { color:var(--pd-success-text);background:color-mix(in srgb,var(--pd-app-excel) 10%,transparent); }
.workspace-sheet-tab-action:disabled { opacity:.35;cursor:default; }
.workspace-sheet-tab-action:focus-visible { outline:2px solid var(--pd-success-text);outline-offset:1px; }
.workspace-sheet-selection-summary { min-width:0;max-width:100%;margin-inline-start:auto;padding-inline:6px;overflow-wrap:anywhere;
  color:var(--pd-text-secondary);font-variant-numeric:tabular-nums;line-height:18px; }
.workspace-sheet-selection-summary:empty { display:none; }
@container (max-width:720px) {
  .workspace-excel-pane > .workspace-pane-toolbar { flex-wrap:wrap; }
  .workspace-excel-pane > .workspace-pane-toolbar > .workspace-pane-title { flex:1 0 100%;min-width:0; }
  .workspace-excel-pane > .workspace-pane-toolbar > .workspace-sheet-status:not([data-state="error"]):not([data-state="conflict"]) { 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-excel-pane > .workspace-pane-toolbar > .workspace-sheet-status:is([data-state="error"],[data-state="conflict"]) {
    flex:1 0 100%;min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere; }
  .workspace-excel-pane > .workspace-pane-toolbar .workspace-action { width:32px;padding:0; }
  .workspace-excel-pane > .workspace-pane-toolbar .workspace-action-label { display:none; }
  .workspace-sheet-selection-summary { flex-basis:100%;margin:0; }
}
.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-pane { container-type:inline-size; }
.workspace-pdf-pane > .workspace-pane-toolbar { flex:0 0 auto;gap:6px;padding:6px; }
.workspace-pdf-pane > .workspace-pane-toolbar > .workspace-action { min-width:32px;height:32px;border-radius:var(--pd-radius-sm);font-size:var(--pd-font-size-sm); }
.workspace-pdf-pane .workspace-pdf-status { font-size:var(--pd-font-size-sm);line-height:18px; }
.workspace-pdf-pane .workspace-action:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:1px; }
.workspace-pdf-body { position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;
  overflow:auto;overscroll-behavior:contain;background:var(--pd-doc-backdrop); }
.workspace-pdf-body:has(> .workspace-pdf-empty:not([hidden])) { background:var(--pd-hover); }
.workspace-document-reconstruction-notice { padding:8px 12px;font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);
  color:var(--pd-text-secondary);background:var(--pd-surface);border-bottom:1px solid var(--pd-border);overflow-wrap:anywhere; }
.workspace-document-reconstruction-notice[hidden] { display:none; }
.workspace-pdf-body > .workspace-document-reconstruction-notice { flex:0 0 auto;max-height:30%;overflow:auto; }
.workspace-pdf-frame { display:block;flex:1;min-height:80px;width:100%;max-width:100%;min-width:0;height:0;border:0;background:var(--pd-surface); }
.workspace-pdf-view-controls { flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:6px;
  box-sizing:border-box;max-width:100%;border-top:1px solid var(--pd-border);background:var(--pd-surface); }
.workspace-pdf-view-controls[hidden] { display:none; }
.workspace-pdf-control-group { display:flex;flex:0 1 auto;align-items:center;gap:4px;min-width:0;max-width:100%;padding:2px;
  box-sizing:border-box;border:1px solid var(--pd-divider);border-radius:var(--pd-radius-md);background:var(--pd-hover); }
.workspace-pdf-view-controls button { flex:0 0 32px;width:32px;height:32px;padding:0;border:0;border-radius:var(--pd-radius-sm);background:transparent;
  color:var(--pd-text-secondary);font:700 16px/1 var(--pd-font-ui);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 var(--pd-accent-strong);outline-offset:1px; }
.workspace-pdf-view-controls button:disabled { opacity:.35;cursor:default; }
.workspace-pdf-page-input { box-sizing:border-box;width:64px;height:32px;padding:0 4px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:600 13px/20px Consolas,monospace;text-align:center; }
.workspace-pdf-page-input:focus { border-color:var(--pd-accent-strong);box-shadow:0 0 0 1px var(--pd-accent-strong); }
.workspace-pdf-bookmark-select { box-sizing:border-box;min-width:0;width:148px;max-width:100%;height:32px;padding:0 6px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  outline:0;background:var(--pd-surface);color:var(--pd-text-secondary);font:600 var(--pd-font-size-sm)/20px var(--pd-font-ui);cursor:pointer; }
.workspace-pdf-bookmark-select:focus { border-color:var(--pd-accent-strong);box-shadow:0 0 0 1px var(--pd-accent-strong); }
.workspace-pdf-bookmark-select:disabled { opacity:.45;cursor:default; }
.workspace-pdf-zoom-label { min-width:44px;align-self:center;color:var(--pd-text-secondary);
  font:600 12px/20px 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:13px; }
.workspace-pdf-frame[hidden],.workspace-pdf-empty[hidden] { display:none; }
.workspace-pdf-empty svg { color:var(--pd-danger); }
@container (max-width:720px) {
  .workspace-pdf-pane > .workspace-pane-toolbar { flex-wrap:wrap; }
  .workspace-pdf-pane > .workspace-pane-toolbar > .workspace-pane-title { flex:1 0 calc(100% - 12px); }
  .workspace-pdf-pane > .workspace-pane-toolbar > .workspace-pdf-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-pdf-pane > .workspace-pane-toolbar > .workspace-action { width:32px;padding:0; }
  .workspace-pdf-pane > .workspace-pane-toolbar .workspace-action-label { display:none; }
}
.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:0;outline:1px solid var(--pd-border);outline-offset:-1px;
  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;overflow:auto;overscroll-behavior:contain;
  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:1100px) {
  .workspace-word-pane > .workspace-pane-toolbar > .workspace-word-status:not([data-state="error"]):not([data-state="conflict"]):not(:focus) { 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-word-pane > .workspace-pane-toolbar .workspace-action {
    width:var(--workspace-word-action-height);min-width:var(--workspace-word-action-height);padding:0;
  }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-action .workspace-action-label { display:none; }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-word-accessibility-toggle
    .workspace-word-accessibility-badge { display:none; }
}
@container (max-width:420px) {
  .workspace-pane-toolbar { overflow-x:hidden; }
  .workspace-pane-title { min-width:0; }
  .workspace-python-status:not([data-state="error"]):not([data-state="conflict"]), .workspace-sheet-status:not([data-state="error"]):not([data-state="conflict"]), .workspace-pdf-status,
  .workspace-word-status:not([data-state="error"]):not([data-state="conflict"]):not(:focus), .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:var(--pd-space-16);
  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:var(--pd-radius-xl);background:var(--pd-surface);color:var(--viewer-text,#202124);box-shadow:0 12px 36px rgba(var(--pd-shadow-rgb),.24);
  font:var(--pd-font-size-md)/1.5 var(--pd-font-ui); }
.workspace-confirm-title { margin:0 0 var(--pd-space-8);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 var(--pd-space-12);border:1px solid var(--viewer-border,#dadce0);
  border-radius:var(--pd-radius-full);background:var(--pd-surface);color:var(--viewer-secondary-text,#5f6368);font:600 var(--pd-font-size-sm) var(--pd-font-ui);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); }
/* Home conversation deletion retains its own policy and two-button focus loop. */
.workspace-confirm-backdrop:has(.workspace-chat-confirm-card) { box-sizing:border-box;overflow:auto;overscroll-behavior:contain; }
.workspace-chat-confirm-card { box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;
  padding:20px;color:var(--pd-text);border-color:var(--pd-border); }
.workspace-chat-confirm-card .workspace-confirm-title { line-height:1.4;overflow-wrap:anywhere; }
.workspace-chat-confirm-card .workspace-confirm-message { color:var(--pd-text-secondary);font-size:var(--pd-font-size-md); }
.workspace-chat-confirm-card .workspace-confirm-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.workspace-chat-confirm-card button { min-width:0;min-height:40px;padding:8px 12px;border-radius:var(--pd-radius-sm);
  color:var(--pd-text);font-size:var(--pd-font-size-md);line-height:1.5;overflow-wrap:anywhere; }
.workspace-chat-confirm-card button.danger { background:var(--pd-danger-soft);color:var(--pd-danger-text);border-color:var(--pd-danger-border); }
.workspace-chat-confirm-card button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }

/* Transient approval resources own policy/listeners; CSS owns their skin. */
.viewer-conversation-approval-backdrop { position:fixed;inset:0;z-index:10001;display:flex;align-items:safe center;justify-content:center;
  padding:16px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;background:rgba(var(--pd-shadow-rgb),.40);
  font:var(--pd-font-size-md)/1.6 var(--pd-font-ui);animation:pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.viewer-conversation-approval-dialog { display:flex;flex-direction:column;gap:16px;width:min(480px,100%);min-width:0;
  max-height:calc(100dvh - 32px);box-sizing:border-box;padding:20px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);
  background:var(--pd-surface);color:var(--pd-text);box-shadow:var(--pd-shadow-dialog); }
.viewer-conversation-approval-dialog--code { width:min(640px,100%); }
.viewer-conversation-approval-title { flex:none;margin:0;color:var(--pd-text);font-size:18px;line-height:1.4;overflow-wrap:anywhere; }
.viewer-conversation-approval-body { min-height:32px;overflow:auto;overscroll-behavior:contain;scroll-padding:8px;padding:2px; }
.viewer-conversation-approval-body:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px;border-radius:var(--pd-radius-sm); }
.viewer-conversation-approval-badge { display:table;max-width:100%;box-sizing:border-box;padding:3px 9px;margin-bottom:12px;border-radius:var(--pd-radius-sm);
  background:var(--pd-danger-soft);color:var(--pd-danger-text);font-size:var(--pd-font-size-sm);font-weight:700;overflow-wrap:anywhere; }
.viewer-conversation-approval-description { margin:0;color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.viewer-conversation-approval-description p { margin:0 0 10px; }
.viewer-conversation-approval-description p:last-child { margin-bottom:0; }
.viewer-conversation-approval-description [data-conversation-approval-detail="warning"] { color:var(--pd-danger-text);font-weight:650; }
.viewer-conversation-approval-code { margin:12px 0 0;padding:12px;border:1px solid var(--pd-divider);border-radius:var(--pd-radius-sm);
  background:var(--pd-bg);color:var(--pd-text);font:13px/1.6 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;direction:ltr;text-align:start; }
.viewer-conversation-approval-actions { flex:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--pd-divider);padding-top:12px; }
.viewer-conversation-approval-button { min-width:0;min-height:40px;padding:8px 12px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:600 var(--pd-font-size-md)/1.5 var(--pd-font-ui);overflow-wrap:anywhere;cursor:pointer; }
.viewer-conversation-approval-button:hover { background:var(--pd-hover); }
.viewer-conversation-approval-button.is-primary { background:var(--pd-accent);border-color:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-conversation-approval-button.is-dangerous { background:var(--pd-danger-soft);border-color:var(--pd-danger-border);color:var(--pd-danger-text); }
.viewer-conversation-approval-button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
@media (max-height:400px) {
  .viewer-conversation-approval-dialog { padding:16px;gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .viewer-conversation-approval-backdrop { animation:none; }
}
.workspace-save-conflict-card { box-sizing:border-box;width:min(560px,100%);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;
  padding:20px;border-color:var(--pd-border);color:var(--pd-text); }
.workspace-save-conflict-card .workspace-confirm-title { font-size:20px;line-height:1.4;overflow-wrap:anywhere; }
.workspace-save-conflict-card .workspace-confirm-message { color:var(--pd-text-secondary);font-size:var(--pd-font-size-md); }
.workspace-save-conflict-meta { display:flex;align-items:center;gap:7px;margin-top:var(--pd-space-12);padding:var(--pd-space-8) var(--pd-space-10);
  border:1px solid var(--pd-warning-border);border-radius:var(--pd-radius-md);background:var(--pd-warning-soft);color:var(--pd-warning-text);font-size:var(--pd-font-size-sm);overflow-wrap:anywhere; }
.workspace-save-conflict-meta svg { flex:0 0 16px; }
.workspace-save-conflict-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px; }
.workspace-save-conflict-actions button { min-width:0;display:flex;flex-direction:column;justify-content:start;gap:4px;padding:12px;border-radius:var(--pd-radius-md);
  border-color:var(--pd-border);color:var(--pd-text);font-size:var(--pd-font-size-sm);line-height:1.5;text-align:start;overflow-wrap:anywhere; }
.workspace-save-conflict-choice-detail { color:var(--pd-text-secondary);font-weight:400; }
.workspace-save-conflict-actions .primary { border-color:var(--pd-accent-strong);background:var(--pd-accent-strong);color:var(--pd-on-accent); }
.workspace-save-conflict-actions .primary .workspace-save-conflict-choice-detail { color:inherit; }
.workspace-save-conflict-actions button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.workspace-save-conflict-actions button[data-save-conflict-choice="overwrite"] { color:var(--pd-danger-text); }
@media (max-width:480px) {
  .workspace-save-conflict-card { padding:16px; }
  .workspace-save-conflict-actions { grid-template-columns:minmax(0,1fr); }
}
.workspace-history-dialog { width:min(960px,100%);height:min(680px,calc(100vh - 32px));min-height:0;display:flex;
  box-sizing:border-box;flex-direction:column;padding:0;overflow:hidden;border-radius:var(--pd-radius-xl); }
.workspace-history-header { flex:none;min-height:52px;display:flex;align-items:center;gap:10px;padding:12px 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:4px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-close { flex:none;width:32px;height:32px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--pd-radius-sm);
  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:260px minmax(0,1fr);overflow:auto;overscroll-behavior:contain; }
.workspace-history-sidebar { min-width:0;min-height:0;display:flex;flex-direction:column;border-inline-end:1px solid var(--viewer-divider,#e8eaed);
  background:var(--pd-bg); }
.workspace-history-sidebar-actions { flex:none;padding:10px;border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-checkpoint { width:100%;min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 10px;
  border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-accent-strong);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);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) 32px 32px;align-items:center;gap:6px; }
.workspace-history-checkpoint-form[hidden] { display:none; }
.workspace-history-checkpoint-form input { min-width:0;height:36px;box-sizing:border-box;padding:0 9px;border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-sm);
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui); }
.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 input::placeholder,.workspace-history-rename-form input::placeholder { color:var(--pd-text-secondary);opacity:1; }
.workspace-history-checkpoint-form button,.workspace-history-compare-actions button,
.workspace-history-manage button { flex:none;width:32px;height:32px;display:grid;place-items:center;
  padding:0;border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-sm);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;overscroll-behavior:contain;padding:6px; }
.workspace-history-version { width:100%;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;
  min-height:60px;padding:10px 8px;border:0;border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);text-align:start;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:var(--pd-font-size-md);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-version-meta { display:block;margin-top:4px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);white-space:nowrap; }
.workspace-history-version-size { color:var(--pd-text-secondary);font:var(--pd-font-size-sm) Consolas,"Cascadia Code",monospace;white-space:nowrap; }
.workspace-history-version-pin { margin-inline-end:4px;color:var(--pd-warning-text);font-size:var(--pd-font-size-sm); }
.workspace-history-preview { min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--pd-surface); }
.workspace-history-compare { flex:none;min-height:48px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;
  border-bottom:1px solid var(--viewer-divider,#e8eaed); }
.workspace-history-compare-copy { min-width:0;flex:1 0 100%; }
.workspace-history-compare-title { font-size:var(--pd-font-size-md);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-history-compare-meta { margin-top:4px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
.workspace-history-change-counts { display:flex;align-items:center;gap:5px;flex:none;font:600 var(--pd-font-size-sm) 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:6px;flex:none;margin-inline-start:auto; }
.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 { flex:none;min-height:42px;display:flex;align-items:center;gap:8px;padding:8px 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) 32px 32px;align-items:center;gap:6px; }
.workspace-history-rename-form[hidden],.workspace-history-delete-confirm[hidden] { display:none; }
.workspace-history-rename-form input { min-width:0;height:36px;box-sizing:border-box;padding:0 9px;border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-sm);
  outline:0;background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui); }
.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;flex-wrap:wrap;align-items:center;gap:7px; }
.workspace-history-delete-copy { min-width:0;flex:1 0 100%;color:var(--pd-text-secondary);font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-history-delete-confirm .workspace-history-delete-accept { width:auto;min-width:52px;padding:0 10px;border-color:var(--pd-danger);
  border-radius:var(--pd-radius-sm);background:var(--pd-danger-text);color:var(--pd-on-accent);font:600 var(--pd-font-size-sm) var(--pd-font-ui); }
.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:104px;overflow:auto;background:var(--pd-surface);color:var(--pd-text);
  overscroll-behavior:contain;font:var(--pd-font-size-md)/1.65 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-secondary);text-align:right;user-select:none; }
.workspace-history-marker { padding:2px 4px;color:var(--pd-text-secondary);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-secondary); }
.workspace-history-empty { min-height:100%;box-sizing:border-box;display:grid;place-items:center;padding:24px;color:var(--pd-text-secondary);text-align:center;font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui); }
.workspace-history-footer { flex:none;min-height:52px;display:flex;align-items:center;gap:10px;padding:10px 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-secondary);font-size:var(--pd-font-size-sm);overflow-wrap:anywhere; }
.workspace-history-restore { flex:none;min-height:36px;padding:6px 13px;border:1px solid var(--pd-accent);border-radius:var(--pd-radius-sm);background:var(--pd-accent);
  color:var(--pd-on-accent);font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);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-secondary);
  font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui);text-align:center; }
.workspace-history-dialog :is(button,input,[tabindex="0"]):focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.workspace-change-review { width:min(720px,100%);min-width:0;max-height:min(720px,calc(100vh - 32px));display:flex;
  box-sizing:border-box;flex-direction:column;min-height:0;padding:var(--pd-space-16); }
.workspace-change-review > :is(.workspace-confirm-title,.workspace-confirm-message,.workspace-confirm-actions) { flex:none; }
.workspace-change-review .workspace-confirm-message { margin-bottom:var(--pd-space-12); }
.workspace-change-review-body { min-height:0;display:flex;flex-direction:column;gap:var(--pd-space-10);overflow:auto;padding:var(--pd-space-2); }
.workspace-change-review-section { padding:var(--pd-space-12);border:1px solid var(--viewer-border,#dadce0);border-radius:var(--pd-radius-lg);background:var(--pd-bg); }
.workspace-change-review-heading { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--pd-space-10);margin-bottom:var(--pd-space-8); }
.workspace-change-review-name { min-width:0;color:var(--viewer-text,#202124);font-size:var(--pd-font-size-md);font-weight:650;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.workspace-change-review-count { max-width:100%;box-sizing:border-box;padding:var(--pd-space-4) var(--pd-space-8);border-radius:var(--pd-radius-sm);background:var(--pd-accent-soft);color:var(--pd-accent-strong);font-size:var(--pd-font-size-sm);font-weight:650;overflow-wrap:anywhere; }
.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:var(--pd-font-size-md)/1.65 "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 :is(button,[tabindex="0"]):focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.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-secondary); }
.workspace-change-review-note { margin:var(--pd-space-8) var(--pd-space-2) 0;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
@container (max-width:620px) {
  .workspace-python-body { --workspace-split-primary-min:120px;--workspace-split-secondary-min:240px;grid-template-columns:1fr;
    grid-template-rows:minmax(var(--workspace-split-primary-min),var(--workspace-split-primary)) 5px minmax(var(--workspace-split-secondary-min),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 { --workspace-split-primary-min:120px;--workspace-split-secondary-min:240px;grid-template-columns:1fr;
    grid-template-rows:minmax(var(--workspace-split-primary-min),var(--workspace-split-primary)) 5px minmax(var(--workspace-split-secondary-min),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:var(--pd-space-8); }
  .workspace-history-dialog { height:calc(100vh - 16px);border-radius:var(--pd-radius-xl); }
  .workspace-history-body { grid-template-columns:1fr;grid-template-rows:max-content minmax(240px,1fr); }
  .workspace-history-sidebar { border-inline-end: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:220px;min-width:220px; }
  .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; }
  .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;flex-wrap:wrap;padding:8px; }
  .workspace-history-local-note { flex-basis:100%;line-height:1.5; }
  .workspace-history-restore { margin-inline-start:auto; }
}
@media (max-width:480px) {
  .workspace-change-review { padding:12px; }
  .workspace-change-review-section { padding:8px; }
  /* A compact unified diff uses old numbering for removals, new numbering
     otherwise. The +/- marker still distinguishes both kinds without color. */
  .workspace-history-diff-row { grid-template-columns:32px 16px minmax(0,1fr); }
  .workspace-history-diff-row > .workspace-history-line-number:first-child { display:none; }
  .workspace-history-diff-row[data-kind="removed"] > .workspace-history-line-number:first-child { display:block; }
  .workspace-history-diff-row[data-kind="removed"] > .workspace-history-line-number:nth-child(2) { display:none; }
}
/* 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); }
@media (prefers-reduced-motion:reduce) {
  .workspace-history-dialog,.workspace-history-delete-confirm { animation:none; }
}
.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 var(--pd-space-10);padding:22px var(--pd-space-14);
  border:1px dashed var(--pd-border);border-radius:var(--pd-radius-lg);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:var(--pd-space-2);
  border-radius:50%;background:var(--pd-accent-faint);color:var(--pd-accent); }
.workspace-explorer-empty-state-title { color:var(--pd-text);font:650 var(--pd-font-size-md)/1.45 var(--pd-font-ui); }
.workspace-explorer-empty-state-body { max-width:210px;color:var(--pd-text-muted);font:var(--pd-font-size-xs)/1.55 var(--pd-font-ui); }
.workspace-explorer-empty-state-action { min-height:var(--pd-control-md);margin-top:5px;padding:0 14px;border:0;border-radius:var(--pd-radius-full);
  background:var(--pd-accent);color:var(--pd-on-accent);font:600 var(--pd-font-size-sm) var(--pd-font-ui);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:auto;overscroll-behavior:contain;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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-ui);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 var(--pd-font-size-2xs)/1.3 var(--pd-font-ui); }
.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:var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);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; }
@container (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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);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 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui); }
.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:var(--pd-font-size-xs)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui); }
.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:var(--pd-font-size-2xs)/1.2 var(--pd-font-ui); }
@container (max-width:440px) {
  .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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1.2 var(--pd-font-ui); }
.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:var(--pd-font-size-sm)/1.45 var(--pd-font-ui); }
.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:var(--pd-font-size-2xs)/1.4 var(--pd-font-ui); }
.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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-ui);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:var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1.3 var(--pd-font-ui); }
.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:var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1.4 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);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 var(--pd-font-size-2xs)/1 var(--pd-font-ui); }
.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 var(--pd-font-size-sm)/1.35 var(--pd-font-ui); }
.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 var(--pd-font-ui);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:var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.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:var(--pd-font-size-xs)/1.4 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);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:var(--pd-font-size-xs)/1.45 var(--pd-font-ui); }
.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 var(--pd-font-size-2xs)/1 var(--pd-font-ui);cursor:pointer; }
.workspace-word-preview { flex:1;min-height:0;overflow:auto;padding:14px;scrollbar-gutter:stable; }
.workspace-word-viewport-toolbar { flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px;
  padding:5px 8px;border-bottom:1px solid var(--pd-border);color:var(--pd-text); }
.workspace-word-zoom-value { display:inline-flex;align-items:center;gap:3px;font:var(--pd-font-size-sm)/1.2 var(--pd-font-ui); }
.workspace-word-zoom-value input { width:65px;height:28px;box-sizing:border-box;padding:0 4px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:inherit; }
.workspace-word-zoom-value input[aria-invalid="true"] { border-color:#b71c1c; }
.workspace-word-viewport-toolbar button[aria-pressed="true"] { border-color:var(--pd-accent);background:var(--pd-hover); }
.workspace-word-zoom-status { flex:1 0 110px;min-width:0;color:var(--pd-text-secondary);
  font:var(--pd-font-size-xs)/1.3 var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-word-page + .workspace-word-page { margin-top:16px; }
.workspace-word-page-viewport + .workspace-word-page-viewport { 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;flex:0 0 auto; }
.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 { position:absolute;z-index:1;margin:0;padding:0;border:0;
  white-space:pre-wrap;overflow-wrap:anywhere;color:var(--pd-text-secondary);
  font-size:10.5px;line-height:1.45; }
.workspace-word-page-footer { transform:translateY(-100%); }
.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 { margin:5px auto;gap:3px; }
.workspace-word-page-band .workspace-word-image img { max-height:none; }
.workspace-word-page-band .workspace-word-image 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 .workspace-word-shape-placeholder.is-editable { cursor:default; }
.workspace-word-page .workspace-word-shape-placeholder.is-editable:hover,
.workspace-word-page .workspace-word-shape-placeholder.is-editable:focus-within { outline:1px solid var(--pd-accent);outline-offset:2px; }
.workspace-word-page .workspace-word-shape-placeholder.is-editable [data-word-shape-text] { cursor:text;outline:0; }
.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 { position:relative;margin:0;display:block;max-width:100%;text-align:inherit; }
.workspace-word-page .workspace-word-equation-placeholder { display:inline-block;max-width:100%;padding:0;border:0;
  border-radius:2px;background:transparent;color:inherit;font:inherit;
  font-family:"Cambria Math","STIX Two 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 {
  background:color-mix(in srgb,var(--pd-app-word) 9%,transparent); }
.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:inherit; }
.workspace-word-equation-inline { display:inline-flex;max-width:100%;margin:0;padding:0;
  align-items:baseline;vertical-align:baseline;border:0;border-radius:2px;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:inherit; }
.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-image figcaption,
.workspace-word-page .workspace-word-shape figcaption,
.workspace-word-page .workspace-word-equation figcaption { position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;
  overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
.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; }
/* the column headers stay sticky (a position:relative here used to scroll them away); sticky also anchors the resize handle */
.workspace-sheet thead th { position:sticky; }
.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 { box-sizing:border-box;max-width:calc(100% - 24px);flex:0 0 auto;gap:8px;padding:20px;border:1px dashed var(--pd-border);border-radius:var(--pd-radius-lg);
  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;word-break:keep-all;overflow-wrap:anywhere; }
.workspace-pdf-empty-hint { color:var(--pd-text-secondary);font-size:12px;overflow-wrap:anywhere; }
.workspace-pdf-empty-open { min-height:36px;max-width:100%;margin-top:6px;padding:6px 14px;border:0;border-radius:var(--pd-radius-md);
  background:var(--pd-accent-strong);color:var(--pd-on-accent);font:600 13px/20px var(--pd-font-ui);cursor:pointer; }
.workspace-pdf-empty-open:hover { background:var(--pd-accent-strong); }
.workspace-pdf-empty-open:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:2px; }
@media (prefers-reduced-motion:reduce) { .workspace-pdf-empty { animation:none; } }

/* Presentation editor */
.workspace-slides-pane { container:workspace-slides / size;overflow:auto;overscroll-behavior:contain; }
.workspace-slides-pane > .workspace-pane-toolbar { flex:0 0 auto;gap:6px;padding:6px; }
.workspace-slides-pane .workspace-action { min-width:32px;height:32px;border-radius:var(--pd-radius-sm); }
.workspace-slides-pane :is(button,select,input):focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:1px; }
.workspace-slides-status { max-width:240px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;
  border-radius:var(--pd-radius-md);background:var(--pd-hover);color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);
  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 0 300px;min-height:300px;display:grid;grid-template-columns:200px minmax(0,1fr);
  overflow:hidden;background:var(--pd-bg); }
.workspace-slides-sidebar { min-width:0;min-height:0;display:flex;flex-direction:column;
  border-inline-end: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 { width:32px;min-width:32px;padding:0; }
.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-width:0;min-height:0;display:flex;flex-direction:column;gap:7px;overflow:auto;padding:8px 7px 14px;overscroll-behavior:contain; }
.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:var(--pd-radius-md);background:transparent;
  color:var(--pd-text);cursor:grab;text-align:start;flex:none; }
.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-secondary);font:600 var(--pd-font-size-sm)/1 var(--pd-font-ui);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,.workspace-slides-thumbnail-preview span { font-size:var(--pd-font-size-sm);line-height:16px; }
.workspace-slides-editor { min-width:0;min-height:0;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain; }
.workspace-slides-editor > * { flex-shrink:0; }
.workspace-slides-editor-bar { display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px;
  border-bottom:1px solid var(--pd-divider);background:var(--pd-surface); }
.workspace-slides-editor-controls { display:flex;align-items:center;gap:4px; }
.workspace-slides-command-strip { display:contents; }
.workspace-slides-settings-icon { display:none; }
.workspace-slides-settings-disclosure { flex:1 0 100%;min-width:0; }
.workspace-slides-settings-disclosure > summary { min-height:32px;box-sizing:border-box;padding:6px 8px;border-radius:var(--pd-radius-sm);
  background:var(--pd-hover);color:var(--pd-text-secondary);font:600 var(--pd-font-size-sm)/20px var(--pd-font-ui);cursor:pointer; }
.workspace-slides-settings-disclosure > summary:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:1px; }
.workspace-slides-settings-disclosure[open] > summary { margin-bottom:8px; }
.workspace-slides-editor-settings { flex:1 0 100%;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:8px; }
.workspace-slides-preset-controls { display:flex;align-items:end;gap:4px;min-width:0; }
.workspace-slides-preset-controls > label { flex:1; }
.workspace-slides-editor-bar button { width:32px;height:32px;padding:0;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  flex:0 0 32px;background:var(--pd-surface);color:var(--pd-text-secondary);font:600 var(--pd-font-size-md) var(--pd-font-ui);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-secondary);font:600 var(--pd-font-size-sm)/1 var(--pd-font-ui);text-align:center; }
.workspace-slides-theme-label,.workspace-slides-layout-label,.workspace-slides-preset-label { display:grid;min-width:0;gap:4px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);line-height:18px; }
.workspace-slides-theme-label select,.workspace-slides-layout-label select,.workspace-slides-preset-label select { width:100%;min-width:0;height:32px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md) var(--pd-font-ui); }
.workspace-slides-canvas-wrap { flex:1 0 auto;min-height:180px;display:grid;place-items:center;padding:16px;
  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;container-type:inline-size;box-sizing:border-box;width:min(100%,980px);min-height:200px;aspect-ratio:16/9;display:flex;flex-direction:column;
  justify-content:center;gap:8px;padding:6%;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:var(--pd-radius-sm);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-table-label { display:flex;flex-direction:column;gap:4px;margin:8px 12px 0;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);font-weight:600; }

.workspace-slides-images { display:flex;flex-direction:column;gap:6px;margin:8px 12px 0;padding:8px 10px;border:1px dashed var(--pd-border);
  border-radius:10px;background:color-mix(in srgb, var(--pd-surface) 88%, transparent);font-size:var(--pd-font-size-sm);color:var(--pd-text-muted); }
.workspace-slides-images[hidden] { display:none; }
.workspace-slides-images-title { font-weight:700;color:var(--pd-text); }
.workspace-slides-images-list { display:flex;flex-wrap:wrap;gap:8px; }
.workspace-slides-image-item { margin:0;display:flex;flex-direction:column;gap:4px;max-width:180px; }
.workspace-slides-image-item img { max-width:180px;max-height:120px;object-fit:contain;border-radius:6px;background:var(--pd-surface);border:1px solid var(--pd-border); }
.workspace-slides-image-placeholder { min-height:72px;padding:10px;border:1px dashed var(--pd-border);border-radius:6px;display:flex;align-items:center;justify-content:center;text-align:center; }
.workspace-slides-image-item figcaption { font-size:var(--pd-font-size-sm);color:var(--pd-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }

.workspace-slides-image-transform,.workspace-slides-image-layout { display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center;font-size:var(--pd-font-size-sm);color:var(--pd-text-secondary); }
.workspace-slides-image-layout label { display:inline-flex;align-items:center;gap:3px; }
.workspace-slides-image-layout input[type="number"] { width:72px;height:32px;padding:0 4px;border:1px solid var(--pd-border);border-radius:4px;background:var(--pd-surface);color:var(--pd-text);font:inherit; }
.workspace-slides-image-layout-hint { flex:1 0 100%;font-size:var(--pd-font-size-sm); }
.workspace-slides-image-transform select,.workspace-slides-image-crop input { min-height:32px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);font:inherit; }
.workspace-slides-float-layer { position:absolute;inset:0;z-index:4;pointer-events:none; }
.workspace-slides-float-image { position:absolute;box-sizing:border-box;pointer-events:auto;cursor:grab;border:1px solid color-mix(in srgb,var(--pd-app-slides) 55%,transparent);
  border-radius:2px;overflow:visible;background:color-mix(in srgb,var(--pd-surface) 35%,transparent);touch-action:none;user-select:none; }
.workspace-slides-float-image:active { cursor:grabbing; }
.workspace-slides-float-image img { width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;border-radius:1px; }
.workspace-slides-float-image.is-placeholder { display:grid;place-items:center;padding:4px;font:600 var(--pd-font-size-xs)/1.2 var(--pd-font-ui);color:var(--pd-text-muted);text-align:center; }
.workspace-slides-float-handle { position:absolute;width:10px;height:10px;border-radius:2px;background:var(--pd-app-slides);border:1px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--pd-app-slides) 40%,transparent);z-index:2; }
.workspace-slides-float-handle-nw { left:-5px;top:-5px;cursor:nwse-resize; }
.workspace-slides-float-handle-ne { right:-5px;top:-5px;cursor:nesw-resize; }
.workspace-slides-float-handle-sw { left:-5px;bottom:-5px;cursor:nesw-resize; }
.workspace-slides-float-handle-se { right:-5px;bottom:-5px;cursor:nwse-resize; }
.workspace-slides-float-crop { position:absolute;width:8px;height:8px;border-radius:50%;background:#f59e0b;border:1px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,#f59e0b 50%,transparent);z-index:3; }
.workspace-slides-float-crop-n { left:50%;top:-4px;transform:translateX(-50%);cursor:ns-resize; }
.workspace-slides-float-crop-s { left:50%;bottom:-4px;transform:translateX(-50%);cursor:ns-resize; }
.workspace-slides-float-crop-e { right:-4px;top:50%;transform:translateY(-50%);cursor:ew-resize; }
.workspace-slides-float-crop-w { left:-4px;top:50%;transform:translateY(-50%);cursor:ew-resize; }
.workspace-slides-image-crop { display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;font:var(--pd-font-size-sm)/1.3 var(--pd-font-ui); }
.workspace-slides-image-crop label { display:inline-flex;gap:4px;align-items:center; }
.workspace-slides-image-crop input { width:5.5rem; }
.workspace-slides-image-crop-hint { flex:1 1 100%;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
.workspace-python-fs { flex:none;min-width:0;padding:12px;border-top:1px solid var(--pd-border);display:flex;flex-direction:column;gap:8px;background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-sm)/1.5 var(--pd-font-ui); }
.workspace-python-pane .workspace-python-fs .workspace-code-heading { height:auto;min-height:32px;padding:0;border:0;background:transparent;color:var(--pd-text); }
.workspace-python-fs-list { display:flex;flex-direction:column;gap:4px;max-height:192px;overflow:auto;overscroll-behavior:contain; }
.workspace-python-fs-row { display:flex;gap:6px;align-items:center; }
.workspace-python-fs-open { flex:1;min-width:0;min-height:32px;padding:6px 8px;text-align:start;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--pd-text);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit;direction:ltr; }
.workspace-python-fs-open:hover { background:var(--pd-hover); }
.workspace-python-fs-open[aria-pressed="true"] { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-python-pane .workspace-python-fs .workspace-action { width:auto;max-width:100%;min-width:32px;min-height:32px;height:auto;padding:6px 8px;white-space:normal;font-size:var(--pd-font-size-sm);line-height:1.5; }
.workspace-python-fs-row > .workspace-action { flex:none;color:var(--pd-danger-text); }
.workspace-python-pane :is(.workspace-python-output,.workspace-python-fs-preview):focus-visible,
.workspace-python-fs :is(button,input,textarea):focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
.workspace-python-fs-empty { color:var(--pd-text-muted);font-size:var(--pd-font-size-sm); }
.workspace-python-fs-preview { margin:0;max-height:160px;overflow:auto;overscroll-behavior:contain;padding:8px;border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface-raised);color:var(--pd-text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--pd-font-size-sm);direction:ltr; }
.workspace-python-fs-preview:empty { display:none; }
.workspace-python-fs-form { display:grid;gap:8px;grid-template-columns:minmax(0,1fr);align-items:start;padding-top:8px;border-top:1px solid var(--pd-border); }
.workspace-python-fs-field { min-width:0;display:flex;flex-direction:column;gap:4px;color:var(--pd-text-secondary); }
.workspace-python-fs-name { min-width:0;box-sizing:border-box;width:100%;height:32px;padding:0 8px;border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:inherit;direction:ltr; }
.workspace-python-fs-paste { min-width:0;box-sizing:border-box;width:100%;min-height:80px;padding:6px 8px;border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);font:inherit;resize:vertical; }
.workspace-python-fs-form > .workspace-action { justify-self:start; }

.workspace-slides-charts { display:flex;flex-direction:column;gap:6px;margin:8px 12px 0;padding:8px 10px;border:1px dashed var(--pd-border);
  border-radius:8px;background:color-mix(in srgb,var(--pd-hover) 70%,transparent);color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
.workspace-slides-charts[hidden] { display:none; }
.workspace-slides-charts-title { font-weight:700;color:var(--pd-text); }
.workspace-slides-chart-item { line-height:1.4; }
.workspace-slides-table-editor { width:100%;min-height:72px;padding:8px 10px;border:1px solid var(--pd-border);border-radius:8px;
  background:var(--pd-surface);color:var(--pd-text);font:12px/1.45 Consolas,"Cascadia Code",monospace;resize:vertical; }
.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-secondary);font:600 var(--pd-font-size-sm)/1.6 var(--pd-font-ui); }
.workspace-slides-notes-editor { width:100%;min-height:48px;resize:vertical;padding:5px 7px;border:1px solid var(--pd-divider);
  border-radius:var(--pd-radius-sm);outline:0;background:var(--pd-bg);color:var(--pd-text);font:var(--pd-font-size-sm)/1.45 var(--pd-font-ui);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;grid-template-rows:auto minmax(0,1fr) auto 4px;
  background:#08080c;color:#fff;animation:pd-fade-in var(--pd-dur-base) var(--pd-ease); }
.workspace-slides-presenter-toolbar { display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px; }
.workspace-slides-presenter-content { min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;
  gap:12px;overflow:auto;overscroll-behavior:contain;padding:8px 16px; }
.workspace-slides-presenter-stage { container-type:inline-size;flex:none;box-sizing:border-box;width:min(100%,calc((100dvh - 132px) * 16 / 9));
  min-height:224px;aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:safe center;gap:12px;padding:5%;overflow:auto;
  overscroll-behavior:contain;overflow-wrap:anywhere;background:var(--slides-bg);color:var(--slides-text);box-shadow:0 18px 65px rgba(0,0,0,.55); }
.workspace-slides-presenter-content:has(> aside:not([hidden])) .workspace-slides-presenter-stage { width:min(100%,max(240px,calc((100dvh - 300px) * 16 / 9))); }
.workspace-slides-presenter[data-blank="true"] .workspace-slides-presenter-stage { opacity:0; }
.workspace-slides-presenter-stage::before { content:"";width:20%;height:6px;flex:none;border-radius:6px;background:var(--slides-accent); }
.workspace-slides-presenter-stage h1 { margin:0;font-size:clamp(20px,5cqw,64px);line-height:1.2; }
.workspace-slides-presenter-body { font-size:clamp(13px,2.6cqw,32px);line-height:1.5;white-space:pre-wrap; }
.workspace-slides-presenter-body p,.workspace-slides-presenter-body li { margin:.18em 0; }
.workspace-slides-presenter-body li { list-style-position:inside; }
.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(22px,6cqw,74px); }
.workspace-slides-presenter-stage[data-layout="title"] .workspace-slides-presenter-body { order:3; }
.workspace-slides-presenter-stage[data-layout="section"] h1 { font-size:clamp(22px,5.5cqw,70px); }
.workspace-slides-presenter-footer { display:flex;align-items:center;justify-content:center;gap:16px;padding:8px; }
.workspace-slides-presenter-status { min-width:64px;text-align:center;font:600 var(--pd-font-size-sm) var(--pd-font-ui);color:#ddd; }
.workspace-slides-presenter-progress { 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 { box-sizing:border-box;flex:none;width:min(100%,960px);max-height:min(30dvh,200px);
  overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--pd-radius-md);background:#181a22;
  color:#f1f3f4;font:var(--pd-font-size-md)/1.6 var(--pd-font-ui);white-space:pre-wrap;overflow-wrap:anywhere; }
.workspace-slides-presenter-notes[hidden] { display:none; }
.workspace-slides-presenter button { flex:none;width:36px;height:36px;padding:0;border:1px solid #44454f;border-radius:var(--pd-radius-sm);
  background:#23242d;color:#fff;font:700 var(--pd-font-size-md)/1 var(--pd-font-ui);cursor:pointer; }
.workspace-slides-presenter-notes-toggle[aria-pressed="true"] { background:var(--pd-app-slides);color:#18130e; }
.workspace-slides-presenter-timer { min-width:52px;color:#ddd;
  font:700 15px/34px Consolas,"Cascadia Code",monospace;font-variant-numeric:tabular-nums; }
.workspace-slides-presenter .workspace-slides-presenter-timer-reset { font-size:17px; }
.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 button:hover:not(:disabled) { border-color:#ddd; }
.workspace-slides-presenter :is(button,[tabindex]):focus-visible {
  outline:2px solid var(--pd-app-slides);outline-offset:2px; }
.workspace-slides-presenter .workspace-slides-presenter-close { margin-inline-start:auto;font-size:24px; }
.workspace-slides-presenter .workspace-slides-presenter-nav { width:44px;font-size:26px; }
.workspace-slides-presenter-nav:disabled { opacity:.22;cursor:default; }
@container (max-width:720px) {
  .workspace-slides-pane > .workspace-pane-toolbar { flex-wrap:wrap; }
  .workspace-slides-pane > .workspace-pane-toolbar > .workspace-pane-title { flex:1 0 100%; }
  .workspace-slides-pane > .workspace-pane-toolbar .workspace-action { width:32px;padding:0; }
  .workspace-slides-pane > .workspace-pane-toolbar .workspace-action-label { display:none; }
  .workspace-slides-status:not([data-state="error"]):not([data-state="conflict"]) { position:absolute;width:1px;height:1px;
    margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap; }
  .workspace-slides-status:is([data-state="error"],[data-state="conflict"]) { flex:1 0 100%;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere; }
  .workspace-slides-body { grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:360px; }
  .workspace-slides-sidebar { border-inline-end:0;border-bottom:1px solid var(--pd-border); }
  .workspace-slides-side-actions { padding:5px 8px; }
  .workspace-slides-list { flex:none;flex-direction:row;padding:6px 8px;gap:8px; }
  .workspace-slides-thumbnail { width:160px; }
  .workspace-slides-thumbnail { grid-template-columns:18px minmax(0,1fr); }
  .workspace-slides-thumbnail[data-drop-position]::after { inset-block:3px;inset-inline:auto;width:3px;height:auto; }
  .workspace-slides-thumbnail[data-drop-position="before"]::after { inset-inline-start:-5px; }
  .workspace-slides-thumbnail[data-drop-position="after"]::after { inset-inline-end:-5px; }
  .workspace-slides-canvas-wrap { padding:10px; }
}
@container workspace-slides (max-width:720px) and (max-height:420px) {
  .workspace-slides-pane > .workspace-pane-toolbar > .workspace-pane-title { flex:1 1 0;min-width:0; }
  .workspace-slides-thumbnail-number { padding-top:7px; }
  .workspace-slides-list { padding-block:4px; }
  .workspace-slides-thumbnail-preview { aspect-ratio:auto;padding:4px 6px; }
  .workspace-slides-thumbnail-preview::before,.workspace-slides-thumbnail-preview > span { display:none; }
  .workspace-slides-editor-bar { display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:4px;padding:4px; }
  .workspace-slides-command-strip { display:flex;min-width:0;align-items:center;gap:8px;overflow-x:auto;padding-block:2px; }
  .workspace-slides-command-strip > * { flex:none; }
  .workspace-slides-settings-disclosure { align-self:start; }
  .workspace-slides-settings-disclosure > summary { display:flex;width:32px;align-items:center;justify-content:center;list-style:none;padding:0; }
  .workspace-slides-settings-caption { display:none; }
  .workspace-slides-settings-icon { display:flex; }
  .workspace-slides-settings-disclosure[open],.workspace-slides-editor-bar:has(.workspace-slides-settings-disclosure[open]) > .workspace-slides-command-strip { grid-column:1 / -1; }
}
@media (max-height:420px) {
  .workspace-slides-presenter-content { gap:8px; }
  .workspace-slides-presenter-stage { min-height:0;max-height:100%;flex-shrink:1; }
  .workspace-slides-presenter-content:has(> aside:not([hidden])) { display:grid;grid-template-rows:minmax(0,1fr) clamp(56px,26dvh,110px);justify-items:center; }
  .workspace-slides-presenter-content:has(> aside:not([hidden])) .workspace-slides-presenter-stage { height:100%; }
  .workspace-slides-presenter-notes { height:100%;min-height:0;max-height:100%;padding:8px; }
}
@media (max-width:360px) and (max-height:420px) {
  .workspace-slides-presenter-toolbar { gap:4px;padding:6px; }
  .workspace-slides-presenter-toolbar button { width:32px;height:32px; }
  .workspace-slides-presenter-timer { min-width:46px;line-height:32px; }
}
@media (prefers-reduced-motion:reduce) {
  .workspace-slides-presenter { animation:none; }
  .workspace-slides-presenter-progress span { transition:none; }
}
@container (max-width:620px) {
  .workspace-word-body { grid-template-columns:1fr;
    grid-template-rows:minmax(var(--workspace-word-surface-min-height,140px),var(--workspace-split-primary)) 5px minmax(var(--workspace-word-surface-min-height,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(var(--workspace-word-surface-min-height,140px),var(--workspace-split-primary)) 5px minmax(var(--workspace-word-surface-min-height,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;
}
.workspace-word-body[data-document-view="page"] {
  grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);
}
::highlight(predoctor-word-page-selection) {
  background-color:Highlight;color:HighlightText;
}
.workspace-word-body[data-document-view="page"] > .workspace-word-source,
.workspace-word-body[data-document-view="page"] > .workspace-split-resizer {
  display:none;
}
.workspace-word-inspectors {
  display:flex;flex-direction:column;min-height:0;flex:0 1 auto;
  max-height:min(55%,430px);overflow:auto;
}
.workspace-word-inspectors > :is(.workspace-word-object-panel,.workspace-word-formatting-panel,
  .workspace-word-page-band-panel,.workspace-word-link-panel,.workspace-word-note-panel,
  .workspace-word-equation-panel,.workspace-word-accessibility-panel) {
  display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:min(52vh,430px);overflow:hidden;
}
.workspace-word-inspectors > section > header { flex:none; }
.workspace-word-inspectors > section > form {
  flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding-block:8px;
}

/* -- 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. */
.workspace-chat .workspace-chat-input:focus-visible { outline:none;box-shadow:none; }

/* 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 var(--pd-font-ui);
  text-align:start;
  cursor:pointer;
}
.viewer-ai-new-chat {
  flex:none;
  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:2px solid var(--pd-accent);
  outline-offset:-2px;
}
.viewer-ai-nav-section { display:flex;flex-direction:column;flex:1;min-height:0;margin-top:18px;overflow:hidden; }
.viewer-ai-nav-heading {
  flex:none;
  padding:0 12px 8px;
  color:var(--pd-text-muted);
  font:650 12px/1.5 var(--pd-font-ui);
  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;
  container:home-chat / inline-size;
  background:var(--pd-surface);
  font-family:var(--pd-font-ui);
}
/* Empty Home is a single reading flow. A short window scrolls naturally;
   once messages exist the transcript keeps its independent scroll owner. */
body.viewer-chat-home .workspace-chat[data-empty="true"] { overflow-y:auto;overscroll-behavior:contain; }
body.viewer-chat-home .workspace-chat[data-empty="true"] .workspace-chat-body { flex:1 0 auto;display:grid;min-height:min-content;overflow:visible; }
body.viewer-chat-home .workspace-chat[data-empty="true"] .workspace-chat-messages { display:none; }
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 {
  position:relative;
  inset:auto;
  place-items:center;
  padding:24px 32px;
  box-sizing:border-box;
  pointer-events:auto;
}
.workspace-chat-hero { min-width:0;max-width:760px;display:flex;flex-direction:column;align-items:center;overflow-wrap:anywhere; }
.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","Noto Sans KR Variable",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","Noto Sans KR Variable",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-internal {
  justify-content:center;
  overflow-y:auto;
}
.workspace-chat-internal-guide {
  width:min(680px,calc(100% - 40px));
  margin:auto;
  padding:48px 0;
  text-align:center;
}
.workspace-chat-internal-guide h1 {
  margin:0;
  color:var(--pd-text);
  font:520 clamp(28px,3.2vw,46px)/1.16 "Segoe UI Variable Display","Segoe UI","Noto Sans KR Variable",sans-serif;
  letter-spacing:-.045em;
}
.workspace-chat-internal-guide p {
  margin:14px auto 0;
  max-width:580px;
  color:var(--pd-text-secondary);
  font-size:15px;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.workspace-chat-internal-actions {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
  margin-top:28px;
}
.workspace-chat-internal-actions :is(a,button) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 18px;
  border:1px solid var(--pd-accent-soft-border);
  border-radius:12px;
  background:var(--pd-accent-soft);
  color:var(--pd-accent-strong);
  font:600 14px/1.4 var(--pd-font-ui);
  text-decoration:none;
  cursor:pointer;
}
.workspace-chat-internal-actions :is(a,button):hover,
.viewer-ai-internal-setup:hover { background:var(--pd-hover); }
.workspace-chat-internal-actions :is(a,button):focus-visible,
.viewer-ai-internal-setup:focus-visible {
  outline:2px solid var(--pd-accent);
  outline-offset:2px;
}
.workspace-chat-internal-guide .workspace-chat-internal-note {
  margin-top:22px;
  color:var(--pd-text-muted);
  font-size:13px;
}
body.viewer-internal-home.viewer-chat-home #viewer-ai-new-chat,
body.viewer-internal-home.viewer-chat-home .viewer-ai-nav-section { display:none; }
.viewer-ai-internal-setup {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 12px;
  border-radius:10px;
  color:var(--pd-text-secondary);
  font:600 13px var(--pd-font-ui);
  text-decoration:none;
}
body.viewer-chat-home .workspace-chat-composer {
  flex:none;
  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:var(--pd-font-size-sm);
  line-height:18px;
}
.workspace-chat-privacy-label {
  display:inline-flex;
  align-items:center;
  min-width:0;
  max-width:100%;
  gap:5px;
  overflow-wrap:anywhere;
}
.workspace-chat-privacy-label::before {
  content:"";
  width:6px;
  height:6px;
  flex:none;
  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:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  justify-content:center;
  gap:8px;
  margin-top:13px;
}
.workspace-chat-suggestion {
  min-width:0;
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--pd-border);
  border-radius:12px;
  background:var(--pd-surface);
  color:var(--pd-text-secondary);
  font:500 var(--pd-font-size-md)/20px var(--pd-font-ui);
  white-space:normal;
  overflow-wrap:anywhere;
  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 :is(button,a):focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.workspace-chat[data-empty="false"] .workspace-chat-suggestions { display:none; }
.workspace-chat[data-empty="false"] .workspace-chat-composer {
  margin-bottom:18px !important;
  max-height:55%;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.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%;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .workspace-chat-suggestions { gap:6px;margin-top:10px; }
  .workspace-chat-suggestion { min-height:44px;padding:10px;font-size:var(--pd-font-size-md); }
}

@media (max-width:520px) {
  .workspace-chat-suggestions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container home-chat (max-width:680px) {
  .workspace-chat-suggestions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.viewer-chat-home .workspace-chat-messages,
  body.viewer-chat-home .workspace-chat-composer { width:calc(100% - 24px); }
  body.viewer-chat-home .workspace-chat-empty { padding:24px 16px; }
  .workspace-chat-hero h1 { font-size:clamp(27px,6cqi,38px); }
  .workspace-chat-composer-meta { justify-content:center;text-align:center; }
}
@container home-chat (max-width:360px) {
  body.viewer-chat-home .workspace-chat-input::placeholder { font-size:14px; }
}

/* 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: var(--pd-space-2);
  padding: var(--pd-space-4);
  border-radius: var(--pd-radius-full);
  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: var(--pd-space-4) var(--pd-space-8); gap: var(--pd-space-4); }
.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:var(--pd-radius-full);cursor:pointer;
  background:color-mix(in srgb,var(--pd-surface) 82%,transparent);box-shadow:var(--pd-shadow-raise);
  backdrop-filter:blur(6px);font:600 var(--pd-font-size-xs) var(--pd-font-ui);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 toolbox retains its dark instrument surface in either shell theme.
   Its existing data-surface-theme token scope owns the colors. */
#viewport-context-menu { max-height:calc(100vh - 20px);overflow:auto;overscroll-behavior:contain;padding:8px;
  box-sizing:border-box;border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);
  background:var(--pd-bg);color:var(--pd-text);box-shadow:var(--pd-shadow-menu);
  font:var(--pd-font-size-md)/1.45 var(--pd-font-ui);outline:none;user-select:none;transform-origin:top;
  animation:pd-pop-in var(--pd-dur-base) var(--pd-ease-out); }
#viewport-context-menu-title { padding:4px 8px 10px;font-size:var(--pd-font-size-lg);font-weight:650;overflow-wrap:anywhere; }
[data-viewer-context-group] { min-width:0;box-sizing:border-box;width:100%;display:inline-block;break-inside:avoid;
  margin-bottom:7px;padding:5px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-md);background:var(--pd-surface); }
.viewer-context-group-title { padding:6px 8px;color:var(--pd-accent-strong);font-size:var(--pd-font-size-sm);line-height:1.5;font-weight:650;overflow-wrap:anywhere; }
#viewport-context-menu button { box-sizing:border-box;min-width:0;min-height:32px;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);font:600 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);cursor:pointer; }
#viewport-context-menu button:hover { background:var(--pd-hover); }
#viewport-context-menu button:focus-visible,#viewport-context-menu input:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
#viewport-context-menu button[aria-pressed="true"] { background:var(--pd-accent-soft);border-color:var(--pd-accent-muted);color:var(--pd-accent-strong); }
#viewport-context-menu [data-viewer-context-action] { width:100%;display:flex;align-items:center;gap:6px;padding:6px;
  border:0;text-align:start;font-size:var(--pd-font-size-md);font-weight:400; }
.viewer-context-check { width:14px;flex:0 0 14px;color:var(--pd-accent-strong);font-weight:700;text-align:center; }
.viewer-context-label { min-width:0;flex:1;overflow-wrap:anywhere; }
.viewer-context-shortcut { flex:none;max-width:38%;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);line-height:1.5;
  direction:ltr;unicode-bidi:isolate;text-align:end;overflow-wrap:anywhere; }
[data-viewer-context-gamma] { display:grid;grid-template-columns:minmax(0,1fr) auto 32px;gap:4px 6px;padding:4px 6px 8px;align-items:center; }
[data-viewer-context-gamma] > span:first-child { grid-column:1/-1;color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm); }
[data-viewer-context-gamma] input { min-width:0;width:100%;height:32px;margin:0;accent-color:var(--pd-accent); }
[data-viewer-context-gamma-value] { color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);font-variant-numeric:tabular-nums; }
[data-viewer-context-zoom],[data-viewer-context-tools],[data-viewer-context-chips] { display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px 8px; }
[data-viewer-context-zoom-preset] { flex:1 0 34px;padding:4px; }
[data-viewer-context-tool] { width:32px;height:32px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0; }
[data-viewer-context-chip] { max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;overflow-wrap:anywhere;text-align:start; }
[data-viewer-context-chip] > span:last-child { min-width:0; }
[data-viewer-context-info] { display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;font-size:var(--pd-font-size-sm); }
.viewer-context-detail { max-width:100%;color:var(--pd-text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
#viewport-context-menu [role="separator"] { height:1px;margin:4px 6px;background:var(--pd-divider); }
@media (prefers-reduced-motion:reduce) { #viewport-context-menu { animation:none; } }

/* Viewer keyboard help: persistent close target and keyboard-scrollable list. */
.viewer-shortcuts-backdrop { position:fixed;inset:0;z-index:2147483004;display:grid;place-items:center;
  padding:var(--pd-space-14);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;
  min-width:0;box-sizing:border-box;flex-direction:column;overflow:hidden;border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);
  background:var(--pd-surface);color:var(--pd-text);box-shadow:var(--pd-shadow-dialog);
  font:var(--pd-font-size-lg)/1.5 var(--pd-font-ui);animation:pd-rise-in var(--pd-dur-slow) var(--pd-ease-out); }
.viewer-shortcuts-header { min-height:52px;flex:none;display:flex;align-items:center;gap:var(--pd-space-10);padding:8px 10px 8px 18px;box-sizing:border-box;
  border-bottom:1px solid var(--pd-border); }
.viewer-shortcuts-title { min-width:0;flex:1;margin:0;font-size:17px;line-height:1.3;overflow-wrap:anywhere; }
.viewer-shortcuts-close { width:32px;height:32px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:var(--pd-radius-md);
  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,.viewer-shortcuts-body:focus-visible { outline:2px solid var(--pd-accent);
  outline-offset:-2px; }
.viewer-shortcuts-body { min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;
  gap:18px var(--pd-space-24);padding:var(--pd-space-16) 18px var(--pd-space-20);overscroll-behavior:contain; }
.viewer-shortcuts-group { min-width:0; }
.viewer-shortcuts-group h3 { margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid var(--pd-divider);color:var(--pd-accent-strong);font-size:var(--pd-font-size-md);line-height:1.4; }
.viewer-shortcuts-list { display:grid;gap:6px; }
.viewer-shortcut-row { min-width:0;display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);
  gap:12px;align-items:baseline;padding:5px 0; }
.viewer-shortcut-row kbd { min-width:0;justify-self:start;box-sizing:border-box;max-width:100%;padding:2px 6px;border:1px solid var(--pd-border);
  border-bottom-width:2px;border-radius:5px;background:var(--pd-bg);direction:ltr;unicode-bidi:isolate;overflow-wrap:anywhere;color:var(--pd-text);font:600 12px/1.5 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); }
}
@media (max-width:360px) { .viewer-shortcuts-body { padding:12px; } }
@media (prefers-reduced-motion:reduce) { .viewer-shortcuts-dialog { animation:none; } }

/* 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 var(--pd-font-ui);
}
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 var(--pd-font-ui);
}
.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: var(--pd-radius-full);
  background: transparent;
  color: var(--pd-text-muted);
  /* A <button> takes the UA font (Arial) unless the rule names one. */
  font-family: var(--pd-font-ui);
  font-size: var(--pd-font-size-md);
  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: var(--pd-shadow-xs);
}
.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-text);font-size:12px;line-height:18px;overflow-wrap:anywhere; }
.workspace-pdf-empty-error:empty { display:none; }
.workspace-pdf-body > .workspace-pdf-empty-error { flex:0 0 auto;box-sizing:border-box;max-width:none;max-height:35%;overflow:auto;
  padding:8px 12px;background:var(--pd-danger-soft);border-bottom:1px solid var(--pd-border); }
.workspace-pdf-body > .workspace-pdf-empty-error:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }

.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; }

.workspace-explorer-empty-state-hint { max-width:210px;color:var(--pd-text-muted);font:var(--pd-font-size-xs)/1.5 var(--pd-font-ui); }

/* -- 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;flex:1;gap:2px;min-height:0;overflow-y:auto;
  overscroll-behavior:contain;scroll-padding-block:4px; }
[data-ai-nav="current-chat"] { flex:none; }
#viewer-ai-recent-list[hidden],
[data-ai-nav="current-chat"][hidden] { display:none !important; }
.viewer-ai-recent-row { display:flex;flex:none;align-items:center;gap:2px;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:32px;height:32px;padding:0;border:0;border-radius:8px;
  display:grid;place-items:center;background:transparent;color:var(--pd-text-muted);
  font:400 18px/1 var(--pd-font-ui);cursor:pointer; }
.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; }

/* -- 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 var(--pd-font-ui);direction:ltr; }
.viewer-language-control--embedded select { flex:1;min-width:0;height:28px;border:0;background:transparent;color:var(--pd-text);
  font:13px var(--pd-font-ui);cursor:pointer; }
.viewer-language-control--embedded select:focus-visible { outline:2px solid var(--pd-accent);outline-offset:1px;border-radius:4px; }
.viewer-account-control { position:relative;display:flex;align-items:center;width:100%; }
/* Above the stage and its 70-level region resizers, within shell ancestry. */
.viewer-account-menu { position:absolute;inset-inline-start:0;inset-block-end:50px;z-index:75;width:min(340px,calc(100vw - 16px));
  max-height:calc(100dvh - 64px);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;padding:16px;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-text);
  box-shadow:var(--pd-shadow-dialog);font:var(--pd-font-size-md)/1.5 var(--pd-font-ui);text-align:start; }
.viewer-account-menu[hidden] { display:none; }
.viewer-account-menu [hidden] { display:none !important; }
.viewer-account-header { flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0; }
.viewer-account-heading { min-width:0;margin:0;font-size:18px;font-weight:650;line-height:1.4;overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.viewer-account-close { flex:none;width:32px;height:32px;padding:0;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:20px var(--pd-font-ui);cursor:pointer; }
.viewer-account-body { min-height:0;overflow:auto;overscroll-behavior:contain;padding:2px;scroll-padding:8px; }
.viewer-account-identity { color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.viewer-account-expiry { margin-top:10px;padding:10px;border-radius:var(--pd-radius-sm);background:var(--pd-bg);overflow-wrap:anywhere; }
.viewer-account-language { margin-top:14px; }
.viewer-account-language .viewer-language-control--embedded { height:40px; }
.viewer-account-language select { min-height:32px;font-size:var(--pd-font-size-md); }
.viewer-account-install { margin-top:12px;padding:12px;border:1px solid var(--pd-accent-soft-border);border-radius:var(--pd-radius-md);background:var(--pd-accent-faint); }
.viewer-account-install-title { font-weight:650; }
.viewer-account-install-detail,.viewer-account-install-status { color:var(--pd-text-secondary);margin-top:6px;overflow-wrap:anywhere; }
/* Mirrors Figma "Account Slide Server v2" (vZl6dc8B4dqaDvmYKSUE6Z 100:560). */
.viewer-account-server { display:flex;flex-direction:column;gap:var(--pd-space-8);margin-top:12px;padding:var(--pd-space-12);
  border:1px solid var(--pd-divider);border-radius:var(--pd-radius-md);background:var(--pd-bg); }
.viewer-account-server-heading { display:flex;flex-direction:column;gap:var(--pd-space-2);min-width:0; }
.viewer-account-server-title { display:flex;align-items:center;gap:var(--pd-space-6);font-weight:600; }
.viewer-account-server-icon { flex:none;color:var(--pd-text-muted); }
.viewer-account-server-detail { color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.viewer-account-server .viewer-account-button { margin-top:0; }
.viewer-account-permissions { margin-top:12px;border:1px solid var(--pd-divider);border-radius:var(--pd-radius-md);background:var(--pd-bg); }
.viewer-account-permissions summary { min-height:40px;box-sizing:border-box;padding:10px;cursor:pointer;font-weight:600; }
.viewer-account-permissions-body { padding:0 10px 12px;border-top:1px solid var(--pd-divider); }
.viewer-account-permission-status,.viewer-account-permission-hint { margin-top:10px;color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.viewer-account-button { display:block;box-sizing:border-box;width:100%;min-width:0;min-height:40px;margin-top:8px;padding:8px 10px;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text);
  font:500 var(--pd-font-size-md)/1.5 var(--pd-font-ui);cursor:pointer;overflow-wrap:anywhere; }
.viewer-account-button:hover,.viewer-account-close:hover { background:var(--pd-hover); }
.viewer-account-button:disabled { opacity:.6;cursor:wait; }
.viewer-account-install-action { background:var(--pd-accent);color:var(--pd-on-accent);border-color:var(--pd-accent);font-weight:600; }
.viewer-account-install-action:hover { background:var(--pd-accent-strong); }
.viewer-account-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px; }
.viewer-account-contact { margin-top:12px;text-align:center;text-decoration:none;color:var(--pd-accent-strong); }
.viewer-account-version { margin-top:13px;padding-top:10px;border-top:1px solid var(--pd-divider);color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);text-align:center;direction:ltr;overflow-wrap:anywhere; }
.viewer-account-menu :is(button,a,summary):focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }

/* -- 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);background:var(--pd-warning-soft);border-color:var(--pd-warning); }
.workspace-chat-error-action { min-height:32px;max-width:100%;margin-inline-start:8px;padding:6px 10px;border:1px solid var(--pd-divider);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:500 var(--pd-font-size-sm)/18px var(--pd-font-ui);white-space:normal;overflow-wrap:anywhere;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 var(--pd-font-ui);
  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 var(--pd-font-ui);
  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;
}
/* The Workspace surface's page heading. Screen readers navigate by headings,
   and the start pane's h2 and h3 had nothing above them; the visible mode
   switcher already names the surface, so the heading is for them only. Home
   keeps its visible greeting h1. */
#viewer-workspace-heading {
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
#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;
  grid-column:1 / -1;
  overflow-wrap:normal;
  word-break:normal;
}
.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 var(--pd-font-ui);
}
.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 var(--pd-font-ui);
  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) {
  /* Compact drawers own nearly the whole stage. Keep the annotation legend's
     logical preference intact, but remove its box while a drawer is open so
     it cannot sit above or behind Chat/Explorer controls. Closing the drawer
     restores the same mounted legend without another user action. */
  body:not(.viewer-chat-home).viewer-compact-panel-open
      :is(#viewer-stage > #annotation-legend,.viewer-aux-panel,.viewer-aux-tabs) {
    display:none !important;
  }
  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:var(--pd-radius-full);
    background:var(--pd-bg-deep);
  }
  /* Override Home's more-specific desktop width as well. A wide, painted
     floating bar otherwise covers the adjacent toggle and Home title. */
  body.viewer-chat-home .shell-mode-tabs--shown[data-variant="floating"] { width:auto; }
}

/* -- 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:not(:has(> :not([hidden]))) { 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;
  box-sizing:border-box;overflow:auto;overscroll-behavior:contain;
  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(420px,100%);max-height:calc(100dvh - 28px);min-width:0;min-height:0;box-sizing:border-box;
  display:flex;flex-direction:column;gap:16px;padding:20px;overflow:hidden;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);background:var(--pd-surface);color:var(--pd-text);
  box-shadow:var(--pd-shadow-dialog);font:var(--pd-font-size-md)/1.5 var(--pd-font-ui); }
.viewer-class-dialog-title { flex:none;margin:0;font-size:var(--pd-font-size-xl);line-height:1.4;font-weight:650;overflow-wrap:anywhere; }
.viewer-class-dialog-body { display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:4px;padding:2px; }
.viewer-class-dialog-body > * { flex:none; }
.viewer-class-dialog-hint { margin:0;color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.viewer-class-dialog-counter { color:var(--pd-text-secondary);font-size:var(--pd-font-size-sm);text-align:end;font-variant-numeric:tabular-nums; }
.viewer-class-dialog-input { box-sizing:border-box;min-width:0;width:100%;height:40px;padding:0 11px;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-lg) var(--pd-font-ui); }
.viewer-class-dialog-input:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-1px; }
.viewer-class-dialog-suggestions { display:flex;flex-wrap:wrap;gap:6px; }
.viewer-class-dialog-suggestion { min-width:0;max-width:100%;min-height:32px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text);
  font:var(--pd-font-size-md)/1.4 var(--pd-font-ui);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 var(--pd-accent);outline-offset:-2px; }
.viewer-class-dialog-swatch { flex:none;width:11px;height:11px;border-radius:50%;border:1px solid rgba(var(--pd-shadow-rgb),.25); }
.viewer-class-dialog-suggestion > span:last-child { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-class-dialog-actions { flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:12px;border-top:1px solid var(--pd-divider); }
.viewer-class-dialog-actions button { min-width:72px;max-width:100%;min-height:36px;padding:6px 14px;border-radius:var(--pd-radius-sm);cursor:pointer;overflow-wrap:anywhere;
  font:600 var(--pd-font-size-md)/1.4 var(--pd-font-ui); }
.viewer-class-dialog-actions button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.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-measurement-label {
  position:absolute;left:0;top:0;box-sizing:border-box;min-height:32px;padding:6px 9px;
  display:flex;align-items:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:var(--pd-radius-sm);
  border:1px solid var(--pd-border);background:var(--pd-surface);color:var(--pd-text);
  font:var(--pd-font-size-md)/18px var(--pd-font-ui);font-variant-numeric:tabular-nums;
  box-shadow:var(--pd-shadow-raise);pointer-events:auto;transition:none;animation:none;
}
.viewer-measurement-label-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:pre; }
.viewer-scale-bar {
  position:absolute;left:96px;bottom:11px;z-index:5;box-sizing:border-box;
  height:36px;padding:6px 8px;display:flex;flex-direction:column;
  justify-content:center;align-items:flex-start;gap:3px;
  color:var(--pd-text);background:transparent;
  border:1px solid transparent;border-radius:var(--pd-radius-md);
  box-shadow:none;pointer-events:none;user-select:none;
  contain:layout paint style;
}
.viewer-scale-bar-label {
  font:600 var(--pd-font-size-lg)/1 var(--pd-font-ui);
  font-variant-numeric:tabular-nums;white-space:nowrap;
  text-shadow:none;
}
.viewer-scale-bar[data-rail="true"] { align-items:center; }
.viewer-scale-bar-rule {
  box-sizing:border-box;height:4px;flex:none;border:2px solid currentColor;border-top:0;
  filter:drop-shadow(0 0 2px var(--pd-surface));
}
.viewer-measurement-label-name:not(:empty) { margin-inline-end:4px; }
.viewer-measurement-label-value { flex:none;direction:ltr;unicode-bidi:isolate; }
.viewer-measurement-label[role="button"] { cursor:text; }
.viewer-measurement-label[role="button"]:hover { border-color:var(--pd-accent); }
.viewer-measurement-label:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
@media (max-height:400px) {
  .viewer-class-dialog { padding:16px;gap:12px; }
  .viewer-class-dialog-body { gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .viewer-class-dialog-backdrop { animation:none; }
  .viewer-class-dialog-suggestion { transition:none; }
}
/* Workspace conversation presentation. State, capability detection and
   floating-window geometry remain with the conversation owners. */
.viewer-conversation-header { height:40px;min-height:40px;display:flex;align-items:center;gap:6px;
  padding:0 12px;border-bottom:1px solid var(--pd-divider);box-sizing:border-box;user-select:none;touch-action:none; }
.viewer-conversation-title { min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--pd-text);font-size:14px;font-weight:650; }
.viewer-conversation-status-button { min-width:32px;max-width:160px;height:32px;display:flex;align-items:center;
  gap:6px;padding:0 8px;box-sizing:border-box;border:0;border-radius:var(--pd-radius-full);
  background:var(--pd-success-soft);color:var(--pd-success-text);font:var(--pd-font-size-sm)/18px var(--pd-font-ui);
  white-space:nowrap;overflow:hidden;cursor:pointer; }
.viewer-conversation-model-power { position:relative;flex:none;width:46px;min-width:46px;height:32px;padding:4px;
  box-sizing:border-box;direction:ltr;border:0;border-radius:var(--pd-radius-full);background:var(--pd-switch-off);
  cursor:pointer;transition:background 120ms ease; }
.viewer-conversation-model-power-knob { display:block;width:24px;height:24px;border-radius:50%;background:var(--pd-surface);
  box-shadow:0 1px 2px rgba(var(--pd-shadow-rgb),.35);transition:transform 120ms ease; }
.viewer-conversation-header > .viewer-chat-close { flex:none;width:32px;height:32px;padding:0;border:0;
  border-radius:50%;background:transparent;color:var(--pd-text-secondary);font:20px/24px var(--pd-font-ui);cursor:pointer; }
.viewer-conversation-header > button:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:2px; }
[data-conversation-status-disclosure] { transition:transform 140ms ease; }
@media (prefers-reduced-motion: reduce) {
  .viewer-conversation-model-power, .viewer-conversation-model-power-knob,
  [data-conversation-status-disclosure] { transition:none; }
}
/* Shared reply renderer: inherit the surface theme instead of baking light
   colors into generated DOM. Code and wide tables scroll within the reply. */
.conversation-markdown { min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.65; }
.conversation-markdown > p { margin:var(--pd-space-8) 0 0; }
.conversation-markdown > :is(h1,h2,h3,h4) { margin:var(--pd-space-16) 0 var(--pd-space-6);
  color:var(--pd-text);font-weight:650;line-height:1.4; }
.conversation-markdown > h1 { font-size:var(--pd-font-size-xl); }
.conversation-markdown > h2 { font-size:16px; }
.conversation-markdown > :is(h3,h4) { font-size:var(--pd-font-size-lg); }
.conversation-markdown > :first-child { margin-top:0; }
.conversation-markdown a { color:var(--pd-accent-strong);text-decoration:underline;text-underline-offset:3px; }
.conversation-markdown a:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:2px;border-radius:2px; }
.conversation-markdown code { padding:1px var(--pd-space-4);border-radius:4px;background:var(--pd-hover);
  color:var(--pd-code-text);font:var(--pd-font-size-sm)/1.6 Consolas,"Cascadia Mono",monospace; }
.conversation-markdown > hr { height:1px;margin:var(--pd-space-12) 0;border:0;background:var(--pd-border); }
.conversation-markdown > blockquote { margin:var(--pd-space-8) 0;padding:var(--pd-space-4) 0;
  padding-inline-start:var(--pd-space-12);border-inline-start:3px solid var(--pd-accent-muted);color:var(--pd-text-secondary); }
.conversation-markdown > :is(ul,ol) { margin:var(--pd-space-8) 0;padding-inline-start:var(--pd-space-24); }
.conversation-markdown li { margin:var(--pd-space-4) 0;padding-inline-start:1px; }
.conversation-markdown-code { max-width:100%;margin:var(--pd-space-8) 0;overflow:hidden;
  border:1px solid var(--pd-terminal-border);border-radius:var(--pd-radius-md);background:var(--pd-terminal-bg); }
.conversation-markdown-code-label { padding:var(--pd-space-4) var(--pd-space-12);background:var(--pd-terminal-header);
  color:var(--pd-terminal-text-bright);font:500 var(--pd-font-size-xs)/1.6 var(--pd-font-ui); }
.conversation-markdown-code > pre { max-height:240px;margin:0;padding:var(--pd-space-12);overflow:auto;white-space:pre;
  color:var(--pd-terminal-text-bright);font:var(--pd-font-size-sm)/1.6 Consolas,"Cascadia Mono",monospace; }
.conversation-markdown-table { max-width:100%;margin:var(--pd-space-8) 0;overflow-x:auto; }
.conversation-markdown-table > table { min-width:100%;border-collapse:collapse;font-size:var(--pd-font-size-sm); }
.conversation-markdown-table :is(th,td) { min-width:88px;padding:var(--pd-space-8);border:1px solid var(--pd-border);vertical-align:top;text-align:start; }
.conversation-markdown-table th { color:var(--pd-text);background:var(--pd-surface);font-weight:600; }
.viewer-conversation-messages { min-height:0;min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--pd-space-16);padding:var(--pd-space-16) var(--pd-space-12);
  box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; }
.viewer-conversation-message-row { display:flex;flex:0 0 auto;min-width:0;justify-content:flex-start; }
.viewer-conversation-message-row[data-role="user"] { justify-content:flex-end; }
.viewer-conversation-message-bubble { min-width:0;max-width:100%;box-sizing:border-box;padding:var(--pd-space-12);
  white-space:pre-wrap;overflow-wrap:anywhere;color:var(--pd-text);background:var(--pd-surface-subtle);
  border:1px solid var(--pd-divider);border-radius:var(--pd-radius-lg);
  font:var(--pd-font-size-lg)/1.65 var(--pd-font-ui); }
.viewer-conversation-message-bubble[data-tone="user"] { max-width:92%;background:var(--pd-accent-soft);border-color:transparent;
  border-end-end-radius:var(--pd-radius-sm); }
.viewer-conversation-message-bubble[data-tone="error"] { background:var(--pd-danger-soft);border-color:var(--pd-danger-border); }
.viewer-conversation-message-bubble[data-tone="result"] { background:var(--pd-success-soft);border-color:var(--pd-success-border); }
.viewer-conversation-message-bubble[data-conversation-tool-status="true"] { width:100%;padding:0;border:0;background:transparent; }
.viewer-conversation-tool-progress { min-width:0;margin:1px 0;color:var(--pd-text-secondary);font:500 var(--pd-font-size-sm)/1.45 var(--pd-font-ui); }
.viewer-conversation-tool-progress-summary { min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) 14px;align-items:center;
  gap:var(--pd-space-6);padding:5px 4px;border-radius:var(--pd-radius-sm);cursor:pointer;list-style:none; }
.viewer-conversation-tool-progress-summary::-webkit-details-marker { display:none; }
.viewer-conversation-tool-progress-summary:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-tool-progress-marker { width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  border:1.5px solid var(--pd-border-strong,var(--pd-border));border-radius:50%;color:var(--pd-success-text);font:700 10px/1 var(--pd-font-ui); }
.viewer-conversation-tool-progress[data-state="running"] .viewer-conversation-tool-progress-marker { border-color:color-mix(in srgb,var(--pd-accent) 24%,transparent);
  border-top-color:var(--pd-accent);animation:viewer-conversation-tool-spin .8s linear infinite; }
.viewer-conversation-tool-progress[data-state="failed"] .viewer-conversation-tool-progress-marker { border-color:var(--pd-danger-border);background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.viewer-conversation-tool-progress[data-state="complete"] .viewer-conversation-tool-progress-marker { border-color:var(--pd-success-border);background:var(--pd-success-soft); }
.viewer-conversation-tool-progress:is([data-state="cancelled"],[data-state="interrupted"]) .viewer-conversation-tool-progress-marker { background:var(--pd-surface-subtle);color:var(--pd-text-secondary); }
.viewer-conversation-tool-progress-label { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.viewer-conversation-tool-progress-disclosure::before { content:'›';display:block;text-align:center;color:var(--pd-text-muted);font-size:18px;line-height:14px;transition:transform .14s ease; }
.viewer-conversation-tool-progress[open] .viewer-conversation-tool-progress-disclosure::before { transform:rotate(90deg); }
.viewer-conversation-tool-progress[data-empty="true"] .viewer-conversation-tool-progress-disclosure { visibility:hidden; }
.viewer-conversation-tool-progress-detail { max-height:150px;margin:2px 0 4px 28px;padding:8px 10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;
  border-inline-start:1px solid var(--pd-divider);color:var(--pd-text-muted);font:var(--pd-font-size-xs)/1.5 Consolas,"Cascadia Mono",monospace; }
.viewer-conversation-message-row:has([data-conversation-tool-call="true"]):has(+ .viewer-conversation-message-row [data-conversation-tool-result="true"]) { display:none; }
@keyframes viewer-conversation-tool-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .viewer-conversation-tool-progress[data-state="running"] .viewer-conversation-tool-progress-marker { animation:none; } }
/* Figma Analysis/Result 5:106 and Analysis/TaskBadge 20:171. */
.workspace-chat-heading-result { min-width:0;display:grid;gap:var(--pd-space-8);padding:var(--pd-space-16);
  border:1px solid var(--pd-divider);border-radius:10px;background:var(--pd-bg); }
.workspace-chat-heading-result-title { color:var(--pd-text);font:700 14px/20px var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-chat-heading-result-list { display:grid;gap:var(--pd-space-12);margin:0;padding:0;list-style:none;min-width:0; }
.workspace-chat-heading-result-item { display:grid;gap:var(--pd-space-8);min-width:0; }
.workspace-chat-heading-result-item + .workspace-chat-heading-result-item { padding-top:var(--pd-space-12);border-top:1px solid var(--pd-divider); }
.workspace-chat-heading-result-header { display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--pd-space-8);min-width:0; }
.workspace-chat-heading-result-code { min-width:0;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;white-space:pre-wrap;
  padding:var(--pd-space-4) var(--pd-space-8);border-radius:var(--pd-radius-sm);background:var(--pd-accent-soft);
  color:var(--pd-accent-strong);font:500 12px/18px var(--pd-font-ui); }
.workspace-chat-heading-result-name { min-width:0;flex:1 1 120px;white-space:pre-wrap;overflow-wrap:anywhere;
  color:var(--pd-text);font:600 13px/20px var(--pd-font-ui); }
.workspace-chat-heading-result-text { min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;
  color:var(--pd-text);font:400 13px/20px var(--pd-font-ui); }
.workspace-chat-heading-result-detail { min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;
  color:var(--pd-text-secondary);font:400 13px/20px var(--pd-font-ui); }
.workspace-chat-viewer-snapshot-evidence { min-width:0;display:grid;gap:var(--pd-space-4);margin-top:var(--pd-space-8);
  padding:var(--pd-space-8);border:1px solid var(--pd-success-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface); }
.workspace-chat-viewer-snapshot-evidence-title { min-width:0;display:flex;align-items:center;gap:var(--pd-space-6);
  color:var(--pd-success-text);font:700 var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-chat-viewer-snapshot-evidence-dot { width:7px;height:7px;flex:none;border-radius:50%;
  background:var(--pd-success-text);box-shadow:0 0 0 2px var(--pd-success-soft); }
.workspace-chat-viewer-snapshot-evidence-slide { min-width:0;color:var(--pd-text);
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);overflow-wrap:anywhere; }
.workspace-chat-viewer-snapshot-evidence-detail { min-width:0;color:var(--pd-text-secondary);
  font:var(--pd-font-size-sm)/18px var(--pd-font-ui);font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.viewer-conversation-load-more { align-self:center;min-height:var(--pd-control-md);padding:var(--pd-space-4) var(--pd-space-12);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-full);background:var(--pd-surface);
  color:var(--pd-text-secondary);font:500 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);cursor:pointer; }
.viewer-conversation-message-actions { display:flex;align-items:center;flex-wrap:wrap;gap:var(--pd-space-4);margin-top:var(--pd-space-8); }
.viewer-conversation-user-actions { justify-content:flex-end; }
.viewer-conversation-message-action { min-width:var(--pd-control-sm);min-height:var(--pd-control-sm);display:inline-flex;
  align-items:center;justify-content:center;gap:var(--pd-space-4);padding:var(--pd-space-4) var(--pd-space-6);box-sizing:border-box;
  border:0;border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text-secondary);
  font:500 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);cursor:pointer; }
.viewer-conversation-message-action > svg { flex-shrink:0; }
.viewer-conversation-message-action:not(:disabled):hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-conversation-message-action:disabled { opacity:.45;cursor:default; }
.viewer-conversation-usage { margin-top:var(--pd-space-8);color:var(--pd-text-muted);font:var(--pd-font-size-xs)/1.6 var(--pd-font-ui);
  font-variant-numeric:tabular-nums;user-select:none; }
.viewer-conversation-turn-state { display:inline-flex;max-width:100%;margin-top:var(--pd-space-8);padding:2px 6px;
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text-secondary);font:600 var(--pd-font-size-xs)/1.5 var(--pd-font-ui); }
.viewer-conversation-turn-state[data-conversation-turn-state="failed"] { background:var(--pd-danger-soft);color:var(--pd-danger-text); }
.viewer-conversation-message-editor { display:block;width:100%;min-height:88px;max-height:240px;resize:vertical;box-sizing:border-box;
  padding:var(--pd-space-8);border:1px solid var(--pd-accent-muted);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-lg)/1.6 var(--pd-font-ui); }
.viewer-conversation-edit-actions { display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--pd-space-6);margin-top:var(--pd-space-8); }
.viewer-conversation-edit-button { min-height:var(--pd-control-md);max-width:100%;padding:var(--pd-space-4) var(--pd-space-10);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);background:var(--pd-surface);color:var(--pd-text-secondary);
  font:600 var(--pd-font-size-sm)/1.4 var(--pd-font-ui);cursor:pointer; }
.viewer-conversation-edit-save { border-color:transparent;background:var(--pd-accent);color:var(--pd-on-accent); }
.viewer-conversation-message-bubble :is(button,textarea):focus-visible, .viewer-conversation-load-more:focus-visible {
  outline:2px solid var(--pd-accent-strong);outline-offset:2px; }

/* Figma conversation tokens with a quiet, document-like answer flow. User
   turns stay compact and scannable; ordinary assistant turns read as part of
   the panel surface. Error and result tones keep their bounded cards. */
.workspace-chat-messages { gap:var(--pd-space-16);padding:var(--pd-space-16) var(--pd-space-12) var(--pd-space-24); }
.workspace-chat-message[data-role="user"] { max-width:min(88%,38rem);padding:10px 12px;
  border-color:transparent;border-radius:var(--pd-radius-lg) var(--pd-radius-lg) var(--pd-radius-sm) var(--pd-radius-lg); }
.workspace-chat-message[data-role="assistant"]:not([data-failed="true"]):not([data-source="local-guide"]) {
  width:100%;max-width:100%;align-self:stretch;box-sizing:border-box;padding:2px;
  border:0;border-radius:0;background:var(--pd-surface); }
.workspace-chat-message[data-role="assistant"] .workspace-chat-answer-meta { margin-top:var(--pd-space-8); }
.workspace-chat-message[data-role="assistant"][data-streaming="true"]::after {
  width:7px;height:7px;margin-inline-start:5px;border-radius:50%;vertical-align:1px;animation:pd-conversation-pulse 1s ease-in-out infinite; }
.viewer-conversation-messages { gap:22px;padding:var(--pd-space-16) var(--pd-space-14,14px) var(--pd-space-24); }
.viewer-conversation-message-bubble[data-tone="user"] { max-width:min(88%,38rem);padding:10px 12px; }
.viewer-conversation-message-row[data-role="assistant"] .viewer-conversation-message-bubble[data-tone="default"] {
  width:100%;max-width:100%;padding:2px;border:0;border-radius:0;background:var(--pd-surface); }
.viewer-conversation-message-row[data-transient="true"] .viewer-conversation-message-bubble[data-tone="default"]::after {
  content:"";display:inline-block;width:7px;height:7px;margin-inline-start:5px;border-radius:50%;
  background:var(--pd-accent);vertical-align:1px;animation:pd-conversation-pulse 1s ease-in-out infinite; }
@keyframes pd-conversation-pulse { 50% { opacity:.28;transform:scale(.82); } }
@media (prefers-reduced-motion:reduce) {
  .workspace-chat-message[data-role="assistant"][data-streaming="true"]::after,
  .viewer-conversation-message-row[data-transient="true"] .viewer-conversation-message-bubble[data-tone="default"]::after {
    animation:none; }
}
.viewer-conversation-panel { container:conversation-panel / size; }
.viewer-conversation-content { display:contents; }
@container conversation-panel (max-height:640px) {
  .viewer-conversation-content { display:flex;flex:0 1 auto;min-height:0;flex-direction:column;
    overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; }
  .viewer-conversation-content > .workspace-pretensor-setup[data-placement="header"] {
    flex:none;max-height:none;overflow-y:visible;
  }
  .viewer-conversation-content > .viewer-conversation-model-start {
    flex:none;max-height:none;overflow-y:visible;
  }
  .viewer-conversation-panel > .viewer-conversation-body { flex:1 0 0 !important; }
  .viewer-conversation-panel > .viewer-conversation-body:has(> .viewer-conversation-messages > .viewer-conversation-message-row) {
    flex-basis:min(96px,25%) !important;
  }
  .viewer-conversation-panel > .viewer-conversation-composer { flex-shrink:0;max-height:60%; }
}
.viewer-conversation-composer { min-height:0;max-height:100%;padding:12px;box-sizing:border-box;
  overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--pd-divider);background:var(--pd-surface); }
.viewer-conversation-input-row { position:relative;display:grid;grid-template-columns:32px 32px minmax(0,1fr) 32px;
  align-items:end;gap:4px;padding:8px;min-width:0;box-sizing:border-box;
  border:1px solid var(--pd-border);border-radius:16px;background:var(--pd-surface); }
.viewer-conversation-input { grid-row:1;grid-column:1/-1;width:100%;min-width:0;
  resize:none;overflow-y:auto;padding:4px;box-sizing:border-box;border:0;outline:0;
  background:transparent;color:var(--pd-text);font:14px/20px var(--pd-font-ui); }
.viewer-conversation-input::placeholder { color:var(--pd-text-muted);opacity:1; }
.viewer-conversation-input-row > .viewer-conversation-actions-toggle { grid-row:2;grid-column:1; }
.viewer-conversation-input-row > .workspace-chat-mention-trigger { grid-row:2;grid-column:2;
  width:32px;height:32px;min-width:32px; }
.viewer-conversation-context-orb { grid-row:2;grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:50%;background:transparent;
  color:var(--pd-text-secondary);cursor:pointer; }
.viewer-conversation-context-orb:is(:hover,[aria-expanded="true"]) { background:var(--pd-accent-faint);color:var(--pd-accent); }
.viewer-conversation-context-orb:focus-visible { outline:2px solid var(--pd-accent);outline-offset:2px; }
.viewer-conversation-context-orb-value { position:relative;width:16px;height:16px;border-radius:50%;
  background:var(--pd-divider);transition:background 160ms ease,opacity 160ms ease; }
.viewer-conversation-context-orb-value::after { content:"";position:absolute;inset:3px;border-radius:50%;background:var(--pd-surface); }
.viewer-conversation-context-orb[data-state="error"] { color:var(--pd-danger-text); }
.viewer-conversation-send { grid-row:2;grid-column:4;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;padding:0;border:0;border-radius:50%;
  background:var(--pd-accent);color:var(--pd-on-accent);cursor:pointer; }
.viewer-conversation-send:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:2px; }
.viewer-conversation-actions-toggle { position:relative;display:flex;align-items:center;justify-content:center;
  width:32px;height:32px;min-width:32px;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 var(--pd-font-ui);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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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-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:var(--pd-font-size-sm); }
.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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);font-weight:650; }
.workspace-word-page-background > label,.workspace-word-page-background-fields > label { display:grid;gap:4px;min-width:0;font-size:var(--pd-font-size-sm); }
.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:var(--pd-font-size-xs); }
.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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-xs); }
@container (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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-sm); }
.workspace-word-column-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
@container (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;
}

/* Word uses one control scale across document actions, formatting tools and
   native selects. Keeping these values on the pane prevents generic editor
   density rules and platform select defaults from shifting icon baselines. */
.workspace-word-pane {
  container:word-pane / size;
  --workspace-word-action-height:32px;
  --workspace-word-tool-height:32px;
  --workspace-word-icon-size:16px;
  --workspace-word-control-gap:4px;
  --workspace-word-control-font:var(--pd-font-size-sm);
  --workspace-word-panel-title-font:var(--pd-font-size-lg);
  --workspace-word-panel-label-font:var(--pd-font-size-md);
  --workspace-word-panel-field-height:36px;
  --workspace-word-panel-action-height:36px;
  --workspace-word-panel-radius:6px;
}
.workspace-word-pane > .workspace-pane-toolbar {
  min-height:40px;flex:0 0 auto;gap:var(--workspace-word-control-gap);padding:5px 6px;
  box-sizing:border-box;scrollbar-width:none;
}
.workspace-word-pane > .workspace-pane-toolbar::-webkit-scrollbar { display:none; }
.workspace-word-document-actions { display:contents; }
.workspace-word-pane > .workspace-word-format-toolbar {
  flex:0 0 auto;min-width:0;max-width:100%;box-sizing:border-box;
  display:flex;align-items:center;justify-content:flex-start;flex-wrap:nowrap;
  gap:var(--workspace-word-control-gap);padding:4px 8px;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;
  border-bottom:1px solid var(--viewer-divider,var(--pd-border));background:var(--pd-surface);
}
.workspace-word-pane > .workspace-word-format-toolbar > * { flex:0 0 auto; }
.workspace-word-pane > .workspace-word-format-toolbar::-webkit-scrollbar { height:4px; }
.workspace-word-tool-group {
  display:flex;flex-direction:column;align-items:stretch;gap:var(--pd-space-4);
  padding-inline:var(--pd-space-8);min-width:0;
}
.workspace-word-tool-group:first-child { padding-inline-start:0; }
.workspace-word-tool-group + .workspace-word-tool-group {
  border-inline-start:1px solid var(--pd-border);
}
.workspace-word-tool-group-controls {
  display:flex;align-items:center;gap:var(--workspace-word-control-gap);
}
.workspace-word-tool-group-controls > * { flex:0 0 auto; }
/* Everyday formatting controls: compact so the text and paragraph groups fit
   beside the style picker without scrolling the toolbar. */
.workspace-word-pane .workspace-word-style-select.workspace-word-quick-font { width:96px;max-width:96px; }
.workspace-word-pane .workspace-word-style-select.workspace-word-quick-size,
.workspace-word-pane .workspace-word-style-select.workspace-word-quick-spacing { width:64px;max-width:64px; }
.workspace-word-format-toolbar .workspace-editor-tool[aria-pressed="true"] { border-color:var(--pd-accent-muted);background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
/* Table cell selection and context menu */
.workspace-word-preview td.workspace-word-cell-selected,
.workspace-word-preview th.workspace-word-cell-selected { box-shadow:inset 0 0 0 9999px rgba(37,99,235,.28);outline:1px solid rgba(37,99,235,.9);outline-offset:-1px; }
.workspace-word-preview.workspace-word-selecting-cells,
.workspace-word-preview.workspace-word-selecting-cells * { user-select:none;cursor:cell; }
.workspace-word-preview[data-word-resize="column"], .workspace-word-preview[data-word-resize="column"] * { cursor:col-resize !important; }
.workspace-word-preview[data-word-resize="row"], .workspace-word-preview[data-word-resize="row"] * { cursor:row-resize !important; }
.workspace-word-preview.workspace-word-resizing-table, .workspace-word-preview.workspace-word-resizing-table * { user-select:none; }
.workspace-word-table-handle {
  position:fixed;z-index:9999;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--pd-border);border-radius:3px;background:var(--pd-surface);color:var(--pd-text);
  font-size:var(--pd-font-size-sm);line-height:1;cursor:move;box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.workspace-word-table-handle[hidden] { display:none; }
.workspace-word-table-handle:hover { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-word-table-style-panel {
  position:fixed;z-index:10000;min-width:240px;padding:10px;display:flex;flex-direction:column;gap:8px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:var(--pd-font-size-md);
}
.workspace-word-table-style-panel label { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.workspace-word-table-style-panel fieldset { margin:0;padding:6px 8px;border:1px solid var(--pd-border);border-radius:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px; }
.workspace-word-table-style-panel legend { padding:0 4px; }
.workspace-word-table-style-actions, .workspace-word-table-style-presets { display:flex;gap:6px;flex-wrap:wrap; }
.workspace-word-table-style-panel button { padding:4px 10px;border:1px solid var(--pd-border);border-radius:4px;background:var(--pd-surface);color:var(--pd-text);cursor:pointer; }
.workspace-word-table-style-panel button[type="submit"] { background:var(--pd-accent);color:#fff;border-color:var(--pd-accent); }
.workspace-word-table-grip { position:fixed;z-index:9999;width:10px;height:10px;box-sizing:border-box;border:1px solid var(--pd-accent);border-radius:2px;background:var(--pd-surface); }
.workspace-word-table-grip[hidden] { display:none; }
.workspace-word-table-grip:hover { background:var(--pd-accent); }
.workspace-word-table-picker {
  position:fixed;z-index:10000;padding:10px;display:flex;flex-direction:column;gap:8px;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:var(--pd-font-size-md);
}
.workspace-word-table-picker-grid { display:grid;gap:2px; }
.workspace-word-table-picker-cell { width:16px;height:16px;box-sizing:border-box;border:1px solid var(--pd-border);background:var(--pd-surface);cursor:pointer; }
.workspace-word-table-picker-cell.is-active { background:var(--pd-accent-soft);border-color:var(--pd-accent); }
.workspace-word-table-picker-form { display:flex;align-items:center;gap:8px; }
.workspace-word-table-picker-form label { display:flex;align-items:center;gap:4px; }
.workspace-word-table-picker-form input { width:48px;padding:2px 4px;border:1px solid var(--pd-border);border-radius:4px;background:var(--pd-surface);color:var(--pd-text); }
.workspace-word-table-picker-form button { padding:3px 10px;border:1px solid var(--pd-accent);border-radius:4px;background:var(--pd-accent);color:#fff;cursor:pointer; }
/* Shapes: selection frame, handles, drawing band and menus */
.workspace-word-shape-frame { position:fixed;z-index:9998;box-sizing:border-box;border:1px solid var(--pd-accent);pointer-events:none; }
.workspace-word-shape-frame[hidden], .workspace-word-shape-band[hidden] { display:none; }
.workspace-word-shape-frame.is-locked { border-style:dashed; }
.workspace-word-shape-frame-edge { position:absolute;pointer-events:auto;cursor:move;background:transparent; }
.workspace-word-shape-frame-edge.is-top { left:0;right:0;top:-4px;height:8px; }
.workspace-word-shape-frame-edge.is-bottom { left:0;right:0;bottom:-4px;height:8px; }
.workspace-word-shape-frame-edge.is-left { top:0;bottom:0;left:-4px;width:8px; }
.workspace-word-shape-frame-edge.is-right { top:0;bottom:0;right:-4px;width:8px; }
.workspace-word-shape-handle { position:absolute;width:9px;height:9px;box-sizing:border-box;border:1px solid var(--pd-accent);background:var(--pd-surface);pointer-events:auto; }
.workspace-word-shape-frame.is-locked .workspace-word-shape-handle, .workspace-word-shape-frame.is-rotated .workspace-word-shape-handle,
.workspace-word-shape-frame.is-fixed-size .workspace-word-shape-handle { display:none; }
.workspace-word-shape-handle.is-nw { left:-5px;top:-5px;cursor:nwse-resize; } .workspace-word-shape-handle.is-n { left:calc(50% - 5px);top:-5px;cursor:ns-resize; }
.workspace-word-shape-handle.is-ne { right:-5px;top:-5px;cursor:nesw-resize; } .workspace-word-shape-handle.is-e { right:-5px;top:calc(50% - 5px);cursor:ew-resize; }
.workspace-word-shape-handle.is-se { right:-5px;bottom:-5px;cursor:nwse-resize; } .workspace-word-shape-handle.is-s { left:calc(50% - 5px);bottom:-5px;cursor:ns-resize; }
.workspace-word-shape-handle.is-sw { left:-5px;bottom:-5px;cursor:nesw-resize; } .workspace-word-shape-handle.is-w { left:-5px;top:calc(50% - 5px);cursor:ew-resize; }
.workspace-word-shape-band { position:fixed;z-index:9998;box-sizing:border-box;border:1px dashed var(--pd-accent);background:rgba(37,99,235,.12);pointer-events:none; }
.workspace-word-preview.workspace-word-drawing-shape, .workspace-word-preview.workspace-word-drawing-shape * { cursor:crosshair !important; }
.workspace-word-page .workspace-word-shape-placeholder:not(.workspace-word-shape-selected) { cursor:default; }
.workspace-word-shape-menu {
  position:fixed;z-index:10000;min-width:200px;padding:4px;display:flex;flex-direction:column;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:var(--pd-font-size-md);max-height:calc(100vh - 16px);overflow-y:auto;
}
.workspace-word-shape-menu button { all:unset;box-sizing:border-box;padding:6px 10px;border-radius:4px;cursor:pointer;white-space:nowrap; }
.workspace-word-shape-menu button:hover:not(:disabled), .workspace-word-shape-menu button:focus-visible { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-word-shape-menu button:disabled { opacity:.45;cursor:default; }
.workspace-word-shape-menu-colour { display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px; }
.workspace-word-shape-menu-separator { width:100%;margin:4px 0;border:0;border-top:1px solid var(--pd-border); }
.workspace-word-table-menu {
  position:fixed;z-index:10000;min-width:196px;padding:4px;display:flex;flex-direction:column;
  border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface);color:var(--pd-text);
  box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:var(--pd-font-size-md);max-height:calc(100vh - 16px);overflow-y:auto;
}
.workspace-word-table-menu button { all:unset;box-sizing:border-box;padding:6px 10px;border-radius:4px;cursor:pointer;white-space:nowrap; }
.workspace-word-table-menu button:hover:not(:disabled), .workspace-word-table-menu button:focus-visible { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.workspace-word-table-menu button:disabled { opacity:.45;cursor:default; }
.workspace-word-table-menu-separator { width:100%;margin:4px 0;border:0;border-top:1px solid var(--pd-border); }
.workspace-word-quick-color {
  box-sizing:border-box;width:28px;min-width:28px;height:28px;padding:2px;
  border:1px solid var(--pd-border);border-radius:4px;background:var(--pd-surface);cursor:pointer;
}
.workspace-word-quick-color::-webkit-color-swatch-wrapper { padding:0; }
.workspace-word-quick-color::-webkit-color-swatch { border:0;border-radius:2px; }
.workspace-word-tool-group-label {
  /* The group already has an accessible name. Keep redundant captions out of
     the layout at every pane size so the document gets the extra row. */
  display:none;
}
.workspace-word-format-toolbar :is(button,select) { scroll-margin-inline:var(--pd-space-8); }
/* Short document panes retain full-size controls. Secondary chrome stops
   consuming extra rows; the source/page surfaces can scroll into view without
   changing view mode, inspector ownership or the document selection. */
.workspace-word-pane > .workspace-editor-statusbar > .workspace-editor-outline { max-width:100%; }
@container word-pane (max-height:420px) {
  .workspace-word-pane > .workspace-editor-statusbar {
    display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
  }
  .workspace-word-pane > .workspace-editor-statusbar > * { flex:0 0 auto; }
  .workspace-word-body { --workspace-word-surface-min-height:180px; }
  .workspace-word-body > :is(.workspace-word-source,.workspace-word-preview-wrap) { min-height:var(--workspace-word-surface-min-height); }
  .workspace-word-viewport-toolbar {
    flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
  }
  .workspace-word-viewport-toolbar > * { flex:0 0 auto; }
  .workspace-word-preview { padding:8px; }
}
.workspace-word-pane > .workspace-pane-toolbar .workspace-action {
  min-height:var(--workspace-word-action-height);height:var(--workspace-word-action-height);
  box-sizing:border-box;gap:5px;padding-inline:9px;font-size:var(--workspace-word-control-font);
}
.workspace-word-pane > .workspace-pane-toolbar .workspace-action > svg {
  width:var(--workspace-word-icon-size);height:var(--workspace-word-icon-size);
  flex:0 0 var(--workspace-word-icon-size);
}
.workspace-word-pane > .workspace-pane-toolbar .workspace-word-page-band-icon {
  width:var(--workspace-word-icon-size);height:var(--workspace-word-icon-size);flex:0 0 var(--workspace-word-icon-size);
  display:grid;place-items:center;line-height:1;
}
.workspace-word-pane > .workspace-pane-toolbar .workspace-word-status { font-size:var(--pd-font-size-sm);line-height:1.5; }
.workspace-word-pane > .workspace-pane-toolbar:has(> .workspace-word-status:is([data-state="error"],[data-state="conflict"],:focus)) {
  flex-wrap:wrap;
}
.workspace-word-pane > .workspace-pane-toolbar > .workspace-word-status:is([data-state="error"],[data-state="conflict"],:focus) {
  position:static;order:1;flex:1 0 100%;grid-column:1 / -1;
  display:block;box-sizing:border-box;min-width:0;width:100%;max-width:none;
  height:auto;max-height:68px;margin:0;padding:6px 8px;
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  white-space:normal;overflow:auto;overflow-wrap:anywhere;text-overflow:clip;
  scrollbar-width:thin;overscroll-behavior:contain;
}
.workspace-word-pane > .workspace-pane-toolbar > .workspace-word-status:is([data-state="error"],[data-state="conflict"],:focus)::before {
  display:inline-block;vertical-align:middle;margin-inline-end:6px;
}
.workspace-word-pane .workspace-word-status[data-state="error"] {
  color:var(--pd-danger-strong);background:var(--pd-danger-soft);
}
.workspace-word-pane .workspace-word-status:focus-visible {
  outline:2px solid var(--pd-accent-strong);outline-offset:1px;
}

.workspace-word-pane .workspace-word-source > .workspace-code-heading {
  min-height:38px;align-items:center;column-gap:6px;row-gap:var(--workspace-word-control-gap);
  padding:6px 8px;
}
.workspace-word-source > .workspace-code-heading > .workspace-editor-tools {
  flex-basis:100%;justify-content:flex-start;align-items:center;
  min-width:0;max-width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
  column-gap:var(--workspace-word-control-gap);row-gap:0;scrollbar-width:thin;
}
.workspace-word-source > .workspace-code-heading > .workspace-editor-tools::-webkit-scrollbar { height:4px; }
.workspace-word-source > .workspace-code-heading > .workspace-editor-tools > * { flex:0 0 auto; }
.workspace-word-pane .workspace-editor-tool {
  min-width:var(--workspace-word-tool-height);height:var(--workspace-word-tool-height);
  display:inline-grid;place-items:center;box-sizing:border-box;padding:0 7px;
  font:600 var(--workspace-word-control-font)/1 var(--pd-font-ui);
}
.workspace-word-pane .workspace-editor-tool[data-word-tool-icon] { width:var(--workspace-word-tool-height);padding:0; }
.workspace-word-pane .workspace-editor-tool-content {
  min-width:1em;min-height:1em;display:inline-grid;place-items:center;line-height:1;
}
.workspace-word-pane .workspace-editor-tool-icon {
  width:var(--workspace-word-icon-size);height:var(--workspace-word-icon-size);display:block;
  pointer-events:none;vector-effect:non-scaling-stroke;
}
.workspace-word-pane .workspace-editor-tool.is-bold,
.workspace-word-pane .workspace-editor-tool.is-italic {
  width:var(--workspace-word-tool-height);padding:0;font-size:var(--pd-font-size-md);
}
.workspace-word-pane .workspace-editor-tool.is-bold { font-weight:800; }
.workspace-word-pane .workspace-editor-tool.is-italic { font-style:italic; }
.workspace-word-pane .workspace-word-multi-range-tools {
  height:var(--workspace-word-tool-height);display:inline-flex;align-items:center;
  gap:var(--workspace-word-control-gap);white-space:nowrap;
}
.workspace-word-pane .workspace-word-multi-range-count {
  min-width:24px;box-sizing:border-box;padding:0 4px;text-align:center;
  color:var(--pd-text-secondary);font:600 var(--workspace-word-control-font)/1 var(--pd-font-ui);
}
.workspace-word-pane .workspace-word-style-select,
.workspace-word-pane .workspace-word-view-select,
.workspace-word-pane .workspace-word-dynamic-field-tools select,
.workspace-word-pane .workspace-word-section-label select {
  height:var(--workspace-word-tool-height);min-height:var(--workspace-word-tool-height);
  box-sizing:border-box;padding:0 24px 0 7px;border-radius:6px;
  font:600 var(--workspace-word-control-font)/1.2 var(--pd-font-ui);
}
.workspace-word-pane .workspace-word-style-select { max-width:132px; }
.workspace-word-pane .workspace-word-view-select { max-width:148px; }
.workspace-word-pane .workspace-word-dynamic-field-tools,
.workspace-word-pane .workspace-word-section-label {
  min-height:var(--workspace-word-tool-height);height:var(--workspace-word-tool-height);
  align-items:center;gap:var(--workspace-word-control-gap);
}
.workspace-word-pane .workspace-word-section-label { padding-left:2px;font-size:var(--pd-font-size-sm);line-height:1; }
.workspace-word-pane .workspace-word-link-header button,
.workspace-word-pane .workspace-word-note-header button,
.workspace-word-pane .workspace-word-equation-header button:last-child,
.workspace-word-pane .workspace-word-accessibility-header button {
  width:var(--workspace-word-tool-height);height:var(--workspace-word-tool-height);
  display:inline-grid;place-items:center;box-sizing:border-box;padding:0;line-height:1;
}

@container (max-width:620px) {
  .workspace-word-pane > .workspace-pane-toolbar {
    min-height:62px;flex-wrap:wrap;align-content:center;overflow:visible;
  }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-pane-title { flex:1 0 100%; }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-word-status:not([data-state="error"]):not([data-state="conflict"]):not(:focus) {
    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-word-pane > .workspace-pane-toolbar .workspace-action {
    width:var(--workspace-word-action-height);min-width:var(--workspace-word-action-height);
    padding:0;
  }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-action-label { display:none; }
}
@container (max-width:360px) {
  .workspace-word-pane > .workspace-pane-toolbar {
    display:grid;grid-template-columns:repeat(auto-fit,minmax(32px,1fr));grid-template-rows:auto;
    gap:4px;padding-inline:6px;
  }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-pane-title {
    grid-column:1 / -1;width:100%;
  }
  .workspace-word-pane > .workspace-pane-toolbar .workspace-action {
    width:100%;min-width:32px;min-height:32px;height:32px;
  }
  .workspace-word-pane .workspace-word-section-label > span { display:none; }
}
.workspace-word-pane .workspace-word-accessibility-toggle { position:relative; }
/* Keep Save visible while secondary document actions scroll in a short,
   narrow pane. The original buttons, focus order and disclosure owners stay
   intact; display:contents preserves the normal toolbar at larger sizes. */
@container word-pane (max-width:360px) and (max-height:420px) {
  .workspace-word-pane > .workspace-pane-toolbar {
    grid-template-columns:minmax(0,1fr) 32px;grid-template-rows:auto 42px;
    column-gap:6px;align-content:start;
  }
  .workspace-word-pane > .workspace-pane-toolbar > .workspace-pane-title { grid-row:1; }
  .workspace-word-document-actions {
    display:flex;grid-row:2;grid-column:1;align-items:flex-start;gap:4px;
    min-width:0;height:42px;overflow-x:auto;overflow-y:hidden;
    scrollbar-width:thin;overscroll-behavior-inline:contain;scroll-padding-inline:4px;
  }
  .workspace-word-document-actions > .workspace-action { flex:0 0 32px; }
  .workspace-word-pane > .workspace-pane-toolbar > .workspace-action.primary {
    grid-row:2;grid-column:2;align-self:start;
  }
  .workspace-word-pane > .workspace-pane-toolbar > .workspace-word-status:is([data-state="error"],[data-state="conflict"],:focus) {
    grid-row:3;
  }
}
@container (max-width:1100px) {
  .workspace-word-pane .workspace-word-accessibility-badge {
    position:absolute;right:-3px;top:-4px;min-width:16px;width:16px;height:16px;padding:0;font-size:var(--pd-font-size-2xs);
  }
}

/* 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; }

.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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-xs);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:var(--pd-font-size-sm); }
.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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);font-weight:650; }
.workspace-word-page-background > label,.workspace-word-page-background-fields > label { display:grid;gap:4px;min-width:0;font-size:var(--pd-font-size-sm); }
.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:var(--pd-font-size-xs); }
.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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-xs); }
@container (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:var(--pd-font-size-sm);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:var(--pd-font-size-sm);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:var(--pd-font-size-sm); }
.workspace-word-column-actions { display:flex;flex-wrap:wrap;gap:8px;margin-top:8px; }
@container (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;
}

/* Editing panels use the same form scale regardless of whether the active
   object is a link, note, equation, table, image, shape or document format. */
.workspace-word-pane .workspace-word-gradient-colors,
.workspace-word-pane .workspace-word-gradient-color-list { gap:var(--pd-space-8); }
.workspace-word-pane .workspace-word-gradient-color-list {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));
}
.workspace-word-pane .workspace-word-gradient-color-list label { padding:var(--pd-space-8); }
.workspace-word-pane .workspace-word-gradient-colors button {
  box-sizing:border-box;min-height:32px;max-width:100%;padding:var(--pd-space-4) var(--pd-space-8);
  border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);
  background:var(--pd-surface);color:var(--pd-text-secondary);
  font:500 var(--pd-font-size-sm)/18px var(--pd-font-ui);cursor:pointer;
}
.workspace-word-pane .workspace-word-gradient-colors button:hover:not(:disabled) {
  background:var(--pd-hover);color:var(--pd-text);
}
.workspace-word-pane .workspace-word-gradient-colors button:focus-visible {
  outline:2px solid var(--pd-accent);outline-offset:2px;
}
.workspace-word-pane .workspace-word-gradient-colors button:disabled { opacity:.5;cursor:not-allowed; }
.workspace-word-pane :is(
    .workspace-word-link-header,
    .workspace-word-note-header,
    .workspace-word-equation-header,
    .workspace-word-accessibility-header,
    .workspace-word-object-panel > header) > :is(h3,strong) {
  font-size:var(--workspace-word-panel-title-font);line-height:1.35;font-weight:650;
}
.workspace-word-pane .workspace-word-equation-header [data-workspace-command="word-discard-equation"] {
  height:var(--workspace-word-tool-height);min-height:var(--workspace-word-tool-height);
  padding-block:0;padding-inline:8px;
}
.workspace-word-pane :is(
    .workspace-word-link-form,
    .workspace-word-note-form,
    .workspace-word-equation-form,
    .workspace-word-accessibility-edit-form,
    .workspace-word-object-fields,.workspace-word-format-fields) label {
  font-size:var(--workspace-word-panel-label-font);line-height:1.35;
}
.workspace-word-pane :is(
    .workspace-word-accessibility-summary,
    .workspace-word-accessibility-human-review fieldset,
    .workspace-word-accessibility-empty,
    .workspace-word-accessibility-item) {
  font-size:var(--workspace-word-panel-label-font);line-height:1.45;
}
.workspace-word-pane .workspace-word-accessibility-human-review label {
  font-size:var(--workspace-word-panel-label-font);line-height:1.35;
}
.workspace-word-pane .workspace-word-link-form input,
.workspace-word-pane .workspace-word-note-form select,
.workspace-word-pane .workspace-word-equation-form :is(input,select),
.workspace-word-pane .workspace-word-accessibility-edit-form :is(input,select),
.workspace-word-pane .workspace-word-object-fields input:not([type="checkbox"]),
.workspace-word-pane .workspace-word-object-fields select,
.workspace-word-pane .workspace-word-format-fields :is(input,select) {
  height:var(--workspace-word-panel-field-height);min-height:var(--workspace-word-panel-field-height);
  box-sizing:border-box;padding-inline:8px;border-radius:var(--workspace-word-panel-radius);
  font:400 var(--workspace-word-panel-label-font)/1.35 var(--pd-font-ui);
}
.workspace-word-pane :is(
    .workspace-word-link-form,
    .workspace-word-note-form,
    .workspace-word-equation-form,
    .workspace-word-object-fields) textarea {
  font:400 var(--workspace-word-panel-label-font)/1.45 var(--pd-font-ui);
}
.workspace-word-pane .workspace-word-equation-form textarea {
  font-family:Consolas,"Cascadia Mono",monospace;
}
.workspace-word-pane :is(
    .workspace-word-link-actions,
    .workspace-word-note-actions,
    .workspace-word-equation-actions,
    .workspace-word-accessibility-human-review-actions,
    .workspace-word-accessibility-edit-form,
    .workspace-word-object-actions) button {
  height:var(--workspace-word-panel-action-height);min-height:var(--workspace-word-panel-action-height);
  box-sizing:border-box;padding-block:0;padding-inline:10px;border-radius:var(--workspace-word-panel-radius);
  font:600 var(--workspace-word-panel-label-font)/1 var(--pd-font-ui);
}
.workspace-word-pane :is(.workspace-word-page-band-tools select,
    .workspace-word-page-number-tools select,
    .workspace-word-page-number-tools input) {
  height:var(--workspace-word-tool-height);min-height:var(--workspace-word-tool-height);
  box-sizing:border-box;font-size:var(--pd-font-size-sm);line-height:1.2;
}
.workspace-word-pane :is(.workspace-word-page-band-tools,
    .workspace-word-page-number-tools) label {
  font-size:var(--pd-font-size-sm);line-height:1.5;
}

/* Named styles and the painter keep their header outside the detail scroller. */
.workspace-word-pane :is(.workspace-word-named-styles,.workspace-word-format-painter) {
  min-width:0;box-sizing:border-box;display:flex;flex-direction:column;min-height:0;overflow:hidden;
  color:var(--pd-text);background:var(--pd-surface);padding:12px;
}
.workspace-word-pane :is(.workspace-word-named-styles,.workspace-word-format-painter)[hidden] { display:none; }
.workspace-word-pane :is(.workspace-word-named-styles,.workspace-word-format-painter) > header {
  flex:none;min-width:0;margin:0 0 8px;gap:6px;
}
.workspace-word-pane :is(.workspace-word-named-styles,.workspace-word-format-painter) > header > strong {
  flex:1;min-width:0;overflow-wrap:anywhere;
}
.workspace-word-pane .workspace-word-detail-body {
  flex:1 1 auto;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-padding:4px;
  padding:2px;font:var(--pd-font-size-md)/1.5 var(--pd-font-ui);
}
.workspace-word-detail-body > p { margin:0 0 12px;color:var(--pd-text-secondary);overflow-wrap:anywhere; }
.workspace-word-detail-body > label { display:grid;gap:6px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-md); }
.workspace-word-pane .workspace-word-detail-body select {
  min-width:0;width:100%;box-sizing:border-box;height:36px;padding:0 8px;border:1px solid var(--pd-border);border-radius:6px;
  background:var(--pd-surface);color:var(--pd-text);font:var(--pd-font-size-md)/1.5 var(--pd-font-ui);
}
.workspace-word-detail-body [data-word-painter-copied] {
  margin:12px 0;padding:8px 10px;border:1px solid var(--pd-border);border-radius:6px;background:var(--pd-surface-raised);
}
.workspace-word-pane .workspace-word-detail-body .workspace-word-format-fields { margin:0 0 12px;padding:0;border:0; }
.workspace-word-pane .workspace-word-detail-body .workspace-word-object-actions button {
  height:auto;min-height:36px;padding:6px 10px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;
}
.workspace-word-detail-body .workspace-word-object-status { margin:12px 0 0; }
.workspace-word-detail-body .workspace-word-object-status:empty { display:none; }
.workspace-word-detail-body .workspace-word-object-status[data-state="success"] { color:var(--pd-success-text); }
.workspace-word-detail-body details { margin-top:12px;color:var(--pd-text-secondary); }
.workspace-word-detail-body summary { padding:8px 0;cursor:pointer;font-weight:600; }
.workspace-word-detail-body summary:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
.workspace-word-pane .workspace-word-detail-body [data-workspace-command="word-style-delete"] { color:var(--pd-danger-text); }
@container (max-width:420px) {
  .workspace-word-pane > .workspace-word-inspectors:has(.workspace-word-detail-body) :is(.workspace-word-named-styles,.workspace-word-format-painter) { padding-block:8px; }
  .workspace-word-pane > .workspace-word-inspectors:has(> section:not([hidden])) ~ .workspace-editor-statusbar {
    display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;
  }
  .workspace-word-pane > .workspace-word-inspectors:has(> section:not([hidden])) ~ .workspace-editor-statusbar > :is(.workspace-editor-position,.workspace-editor-selection,.workspace-editor-outline,.workspace-editor-language) { flex:0 0 auto; }
}

/* Shared editor chrome stays distinct from document typography. Tool strips
   scroll in their own row; they never compress the source heading or editor. */
:is(.workspace-python-pane,.workspace-latex-pane) > .workspace-pane-toolbar {
  min-height:44px;flex:0 0 auto;gap:6px;padding:6px 8px;box-sizing:border-box;
}
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-action {
  min-width:32px;height:32px;border-radius:var(--pd-radius-sm);
}
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-code-heading {
  min-height:38px;height:auto;flex:0 0 auto;padding:6px 8px;box-sizing:border-box;
  font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);letter-spacing:0;text-transform:none;
}
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-code-heading:has(.workspace-editor-tools > :nth-child(2)) {
  flex-wrap:wrap;
}
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-code-heading:has(.workspace-editor-tools > :nth-child(2)) > .workspace-editor-tools {
  flex:1 0 100%;margin-inline:0;gap:4px;padding-block:2px;scrollbar-width:thin;
}
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-editor-tools::-webkit-scrollbar { height:4px; }
:is(.workspace-python-pane,.workspace-latex-pane) .workspace-editor-tool {
  flex:none;min-width:32px;height:32px;padding:0 8px;font:600 var(--pd-font-size-sm)/18px var(--pd-font-ui);
}
.workspace-python-pane .workspace-python-history-select {
  flex:none;width:150px;height:32px;font:var(--pd-font-size-sm)/18px var(--pd-font-ui);
}
:is(.workspace-python-pane,.workspace-latex-pane,.workspace-word-pane) :is(.workspace-editor-tool,.workspace-action,select):focus-visible {
  outline:2px solid var(--pd-accent-strong);outline-offset:1px;
}
.workspace-document-preview-meta { min-width:0;margin-inline-start:auto;font-weight:400;letter-spacing:0;text-transform:none;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
@container (max-width:420px) {
  :is(.workspace-python-pane,.workspace-latex-pane) > .workspace-pane-toolbar { flex-wrap:wrap; }
  :is(.workspace-python-pane,.workspace-latex-pane) > .workspace-pane-toolbar > .workspace-pane-title { flex:1 0 100%; }
  .workspace-python-pane > .workspace-pane-toolbar > .workspace-python-status:is([data-state="error"],[data-state="conflict"]) {
    flex:1 0 100%;max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;
  }
}

/* Keep long formatting groups independently scrollable so their fields never
   sit underneath the commit controls. The same structure is used by document
   and page-band formatting panels. */
.workspace-word-pane .workspace-word-formatting {
  display:flex;flex-direction:column;overflow:hidden;
}
.workspace-word-pane .workspace-word-formatting > header,
.workspace-word-pane .workspace-word-formatting > p,
.workspace-word-pane .workspace-word-formatting > form > .workspace-word-object-status,
.workspace-word-pane .workspace-word-formatting > form > .workspace-word-object-actions {
  flex:none;
}
.workspace-word-pane .workspace-word-formatting > form {
  display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:visible;
}
.workspace-word-pane .workspace-word-formatting-body {
  min-height:0;flex:1 1 auto;overflow:auto;overscroll-behavior:contain;
  scroll-padding-block:8px;
}
.workspace-word-formatting-scope { margin:6px 0;font-size:var(--pd-font-size-sm);color:var(--pd-text-secondary); }
.workspace-word-pane .workspace-word-formatting > header { min-width:0; }
.workspace-word-pane .workspace-word-formatting > header > strong { flex:1;min-width:0;overflow-wrap:anywhere; }
.workspace-word-pane .workspace-word-formatting > header > button { flex:none;white-space:nowrap; }
.workspace-word-object-fields > :is(.workspace-word-cell-grid,.workspace-word-object-status) { grid-column:1/-1; }
.workspace-word-object-fields > .workspace-word-cell-grid { min-height:min-content; }
.workspace-word-pane .workspace-word-formatting .workspace-word-object-actions {
  position:static;z-index:auto;margin:0 -10px -10px;padding:8px 10px 10px;
  border-top:1px solid var(--pd-border);background:var(--pd-surface);
  box-shadow:0 -5px 12px rgba(var(--pd-shadow-rgb),.08);
}
.workspace-word-pane .workspace-word-object-placement > summary,
.workspace-word-pane .workspace-word-formatting summary {
  min-height:32px;display:flex;align-items:center;gap:7px;box-sizing:border-box;
  padding:6px 2px;list-style:none;font:650 var(--workspace-word-panel-title-font)/1.35 var(--pd-font-ui);
}
.workspace-word-pane .workspace-word-object-placement > summary::-webkit-details-marker,
.workspace-word-pane .workspace-word-formatting summary::-webkit-details-marker { display:none; }
.workspace-word-object-placement { grid-column:1/-1;min-width:0; }
.workspace-word-pane .workspace-word-object-placement > summary::before,
.workspace-word-pane .workspace-word-formatting summary::before {
  content:"";width:7px;height:7px;flex:0 0 7px;box-sizing:border-box;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(-45deg);transform-origin:50% 50%;
}
.workspace-word-pane .workspace-word-object-placement[open] > summary::before,
.workspace-word-pane .workspace-word-formatting details[open] > summary::before {
  transform:rotate(45deg) translate(-1px,-1px);
}
.workspace-word-pane .workspace-word-object-placement > summary:focus-visible,
.workspace-word-pane .workspace-word-formatting summary:focus-visible {
  outline:2px solid var(--pd-accent);outline-offset:-2px;border-radius:var(--workspace-word-panel-radius);
}
.workspace-word-inspectors:has(> .workspace-word-formatting:not([hidden])) {
  height:min(52vh,430px);overflow:hidden;container:word-format-inspector / size;
}
.workspace-word-pane .workspace-word-inspectors > .workspace-word-formatting {
  height:100%;max-height:100%;flex:1 1 auto;
}
/* When a split pane is short, keep one usable scroll surface below the header.
   The commit row joins that flow instead of squeezing the fields to zero. */
@container word-format-inspector (max-height:240px) {
  .workspace-word-pane .workspace-word-formatting { padding-block:4px; }
  .workspace-word-pane .workspace-word-formatting > form { display:block;overflow:auto; }
  .workspace-word-pane .workspace-word-formatting-body { overflow:visible; }
  .workspace-word-pane .workspace-word-formatting .workspace-word-object-actions {
    margin:8px 0 0;padding:8px 0 0;box-shadow:none;
  }
}

/* The page editor marks paragraphs editable after the page flow. cursor and
   caret-color are inherited, so a rule keyed on that late marker restyled
   every span of the document on each keystroke; they come with the
   paragraph's own identity instead. */
.workspace-word-page :is([data-word-source-line], [data-word-paragraph-target], [data-word-page-alias], [data-word-page-editable]) {
  white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;caret-color:var(--pd-accent);
}
/* The paragraph being edited shows its caret, not a box around it (Word and
   Hancom draw none); a high-contrast mode still gets the system focus ring. */
.workspace-word-page [data-word-page-editable]:focus-visible { outline:0; }
@media (forced-colors: active) {
  .workspace-word-page [data-word-page-editable]:focus-visible { outline:1px solid Highlight;outline-offset:2px; }
}

/* -- Windows high contrast (forced colors) ----------------------------------
   The browser swaps every color for a system color, keeps only the alpha of a
   background and drops box-shadows. Anything that shows its state only through
   a background or a shadow vanishes: the selected quick-open and command
   palette row, the selected file row, the active mode tab and document tab,
   the Local AI switch, filled buttons without a border, and the resizer lines.
   These rules restate those states in system colors; none of them applies
   outside forced colors. The Local AI switch is styled inline, hence
   !important. */
@media (forced-colors: active) {
  .workspace-quick-open-result[aria-selected="true"],
  .workspace-file-row[data-selected="true"] { outline:2px solid Highlight;outline-offset:-2px; }
  .viewer-document-tab[aria-selected="true"]::after { forced-color-adjust:none;background:Highlight; }
  .shell-mode-tab.active { position:relative; }
  .shell-mode-tab.active::after { content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;
    border-radius:var(--pd-radius-full);forced-color-adjust:none;background:Highlight; }
  .workspace-start-pane-action,
  .workspace-explorer-empty-state-action,
  [data-conversation-power-action],
  [data-conversation-model-power] { border:1px solid ButtonText !important; }
  [data-conversation-model-power] > span { forced-color-adjust:none;background:ButtonText !important; }
  [data-conversation-model-power][aria-pressed="true"] { forced-color-adjust:none;background:Highlight !important; }
  [data-conversation-model-power][aria-pressed="true"] > span { background:HighlightText !important; }
  .workspace-split-resizer::before { forced-color-adjust:none;background:CanvasText; }
  .workspace-card-resizer:hover::before,
  .workspace-card-resizer:focus-visible::before,
  body.viewer-resizing-cards .workspace-card-resizer[data-active="true"]::before,
  .workspace-split-resizer:hover::before,
  .workspace-split-resizer:focus-visible::before,
  .workspace-split-resizer[data-active="true"]::before { forced-color-adjust:none;background:Highlight; }
  body.viewer-chat-home #viewer-home-sidebar-resizer:hover,
  body.viewer-chat-home #viewer-home-sidebar-resizer:focus-visible { outline:2px solid Highlight;outline-offset:-2px; }
  .viewer-server-login-fields { outline:1px solid CanvasText;outline-offset:-1px; }
  .viewer-server-login-fields:focus-within { outline:2px solid Highlight;outline-offset:-2px; }
}

/* 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; }

.workspace-slides-table-grid { display:flex; flex-direction:column; gap:4px; width:100%;overflow-x:auto;overscroll-behavior-inline:contain; }
.workspace-slides-table-row, .workspace-slides-chart-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(72px,1fr); gap:4px; }
.workspace-slides-table-row,.workspace-slides-chart-row { min-width:max-content; }
.workspace-slides-table-cell, .workspace-slides-chart-cell { min-width:0;min-height:32px;box-sizing:border-box;padding:6px 8px; border:1px solid var(--pd-border); border-radius:6px; background:var(--pd-surface); color:var(--pd-text); font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-slides-table-actions { display:flex;flex-wrap:wrap; gap:8px; margin-top:6px; }
.workspace-slides-table-actions .workspace-action { width:auto;max-width:100%;height:auto;min-height:32px;padding:5px 8px;white-space:normal; }
.workspace-slides-table-label[hidden],.workspace-slides-table-actions[hidden],.workspace-slides-table-switcher[hidden] { display:none; }
.workspace-slides-table-switcher { display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px; }
.workspace-slides-chart-heading { font-weight:600; margin-bottom:4px; }
.workspace-slides-chart-grid { display:flex; flex-direction:column; gap:4px; margin-top:6px;overflow-x:auto;overscroll-behavior-inline:contain; }
.workspace-sheet-cell[data-merge-cover="true"] { background: color-mix(in srgb, var(--pd-border) 35%, transparent); }
.workspace-sheet td.workspace-sheet-merge-origin {
  background: color-mix(in srgb, var(--pd-app-excel) 10%, var(--pd-surface));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--pd-app-excel) 45%, transparent);
  vertical-align: middle;
}
.workspace-sheet td.workspace-sheet-merge-origin .workspace-sheet-cell {
  min-height: 100%;
  height: 100%;
  font-weight: 600;
}
.workspace-slides-chart-toolbar { display:flex; gap:8px; align-items:center; margin:4px 0 6px; flex-wrap:wrap; }
.workspace-slides-chart-type-label { display:inline-flex;min-width:0;gap:6px; align-items:center; font-size:var(--pd-font-size-sm); color:var(--pd-text-secondary); }
.workspace-slides-chart-type { min-width:0;height:32px; border:1px solid var(--pd-border); border-radius:6px; background:var(--pd-surface); color:var(--pd-text); font:inherit; }
.workspace-slides-chart-preview { margin:4px 0 8px; max-width:100%; overflow:auto; border:1px solid var(--pd-border); border-radius:8px; background:var(--pd-surface); }
.workspace-slides-chart-preview svg { display:block; max-width:100%; height:auto; }
.workspace-python-fs-scope { font-size:var(--pd-font-size-sm); color:var(--pd-text-muted); line-height:1.35; }
.workspace-python-fs-scope[data-mode="project"] { color:var(--pd-accent); }
.workspace-python-fs-sync { align-self:start; }


.workspace-slides-chart-toggle { display:inline-flex;min-height:32px;gap:4px; align-items:center; font-size:var(--pd-font-size-sm); color:var(--pd-text-secondary); }
.workspace-slides-chart-colors { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 6px; }
.workspace-slides-chart-color { width:32px; height:32px; padding:0; border:1px solid var(--pd-border); border-radius:6px; background:transparent; cursor:pointer; }
.workspace-python-fs-conflicts { margin:4px 0;padding:10px;border:1px solid var(--pd-warning-border);border-radius:8px;background:var(--pd-warning-soft);display:flex;flex-direction:column;gap:10px; }
.workspace-python-fs-conflicts[hidden] { display:none; }
.workspace-python-fs-conflict-title { font-weight:600; font-size:var(--pd-font-size-sm); color:var(--pd-text); }
.workspace-python-fs-conflict-row { display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--pd-warning-border); }
.workspace-python-fs-conflict-path { font-family:ui-monospace,monospace; font-size:var(--pd-font-size-sm); color:var(--pd-accent); word-break:break-all; }
.workspace-python-fs-conflict-actions { display:flex; flex-wrap:wrap; gap:6px; }
.workspace-sheet-charts { flex:0 0 auto;max-height:30%;overflow:auto;overscroll-behavior:contain;margin:6px 10px 0; padding:8px 10px; border:1px dashed var(--pd-border); border-radius:8px; display:flex; flex-direction:column; gap:4px; }
.workspace-sheet-charts[hidden] { display:none; }
.workspace-sheet-charts-title { font-weight:700; font-size:var(--pd-font-size-sm); color:var(--pd-text); }
.workspace-sheet-chart-placeholder { font-size:var(--pd-font-size-sm); color:var(--pd-text-secondary); line-height:1.5; }

.workspace-slides-chart-axis-titles { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 6px; }
.workspace-slides-chart-axis-title { flex:1 1 140px; min-width:0;height:32px; padding:0 8px; border:1px solid var(--pd-border); border-radius:6px; background:var(--pd-surface); color:var(--pd-text); font:inherit; }
.workspace-slides-table-toggle { display:inline-flex;min-height:32px;gap:4px; align-items:center; font-size:var(--pd-font-size-sm); color:var(--pd-text-secondary); font-weight:500; }
.workspace-slides-image-hint { font-size:var(--pd-font-size-sm); color:var(--pd-text-secondary); margin-top:2px; }
.workspace-sheet-chart-editor { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
.workspace-sheet-chart-grid { display:flex; flex-direction:column; gap:4px;overflow-x:auto; }
.workspace-sheet-chart-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(64px,1fr); gap:4px; }
.workspace-sheet-chart-cell { min-width:0;min-height:32px;box-sizing:border-box;padding:4px 6px; border:1px solid var(--pd-border); border-radius:6px; background:var(--pd-surface); color:var(--pd-text); font:inherit; }
.workspace-python-fs-budget { font-size:var(--pd-font-size-sm);color:var(--pd-text-secondary);margin:0; }
.workspace-python-fs-refresh-hint { font-size:var(--pd-font-size-sm);color:var(--pd-text-secondary);margin:0; }


/* Presenter notes rich toolbar + contenteditable surface */
.workspace-slides-notes-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px 10px;
  align-items: start;
}
.workspace-slides-notes-toolbar {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: nowrap;
  min-width:0;
  overflow-x:auto;
  padding:2px;
  scrollbar-width:thin;
  gap: 4px;
}
.workspace-slides-notes-tool {
  flex:none;
  min-width: 32px;
  height: 32px;
  padding: 0 6px;
  border: 1px solid var(--pd-divider);
  border-radius: 6px;
  background: var(--pd-surface-raised);
  color: var(--pd-text);
  font-size: var(--pd-font-size-sm);
  font-weight: 600;
  cursor: pointer;
}
.workspace-slides-notes-tool:hover {
  border-color: var(--pd-app-slides);
}
.workspace-slides-notes-size,.workspace-slides-notes-font {
  flex:none;
  max-width:140px;
  height: 32px;
  border: 1px solid var(--pd-border);
  border-radius: 6px;
  background: var(--pd-surface);
  color: var(--pd-text);
  font: inherit;
  font-size: var(--pd-font-size-sm);
  padding: 0 4px;
}
.workspace-slides-notes-color,
.workspace-slides-notes-highlight {
  flex:none;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid var(--pd-border);
  border-radius: 6px;
  background: var(--pd-surface);
  cursor: pointer;
}
.workspace-python-fs-last-sync {
  font-size: var(--pd-font-size-sm);
  color: var(--pd-text-secondary);
  margin: 0 0 4px;
}

.workspace-slides-notes-editor[contenteditable="true"] {
  grid-column: 1 / -1;
  box-sizing:border-box;
  width: 100%;
  min-height: 72px;
  max-height: 220px;
  overflow: auto;
  resize: vertical;
  padding: 6px 8px;
  border: 1px solid var(--pd-divider);
  border-radius: 8px;
  background: var(--pd-input, var(--pd-surface-raised));
  color: var(--pd-text);
  font:var(--pd-font-size-md)/1.6 var(--pd-font-ui);
  white-space: pre-wrap;
}
.workspace-slides-notes-editor[contenteditable="true"]:empty:before {
  content: attr(data-placeholder);
  color: var(--pd-text-muted);
  pointer-events: none;
}
.workspace-slides-notes-editor[contenteditable="true"]:focus {
  border-color: var(--pd-app-slides);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--pd-app-slides) 18%, transparent);
  outline: none;
}
.workspace-slides-notes-editor [data-list][data-indent="1"] { padding-left: 1.25em; }
.workspace-slides-notes-editor [data-list][data-indent="2"] { padding-left: 2.5em; }
.workspace-slides-notes-editor [data-list][data-indent="3"] { padding-left: 3.75em; }

.workspace-slides-notes-editor code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.92em;
  padding: 0 3px;
  border-radius: 3px;
  background: color-mix(in srgb, var(--pd-text) 8%, transparent);
}

/* Excel category summary (lightweight pivot-like rollup) */
.workspace-sheet-category-summary {
  flex: 0 0 auto;
  max-height: 35%;
  overflow: auto;
  overscroll-behavior: contain;
  margin: 6px 8px;
  padding: 0 10px;
  border: 1px solid var(--pd-divider);
  border-radius: var(--pd-radius-md);
  background: var(--pd-surface-raised);
}
.workspace-sheet-category-summary-title {
  position: sticky;
  top: 0;
  z-index: 1;
  min-height: 36px;
  box-sizing: border-box;
  padding: 9px 0;
  background: var(--pd-surface-raised);
  color: var(--pd-text);
  font-size: var(--pd-font-size-sm);
  font-weight: 600;
  line-height: 18px;
  cursor: pointer;
}
.workspace-sheet-category-summary-title:focus-visible { outline:2px solid var(--pd-success-text);outline-offset:-2px; }
.workspace-sheet-category-summary-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
  gap: 10px;
  align-items: end;
  margin-bottom: 8px;
}
.workspace-sheet-category-summary-controls label {
  display: grid;
  min-width: 0;
  gap: 4px;
  font-size: var(--pd-font-size-sm);
  line-height: 18px;
  color: var(--pd-text-secondary);
}
.workspace-sheet-category-summary-select {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: 36px;
  padding: 0 6px;
  border-radius: 6px;
  border: 1px solid var(--pd-divider);
  background: var(--pd-surface);
  color: var(--pd-text);
  font: var(--pd-font-size-md)/20px var(--pd-font-ui);
}
.workspace-sheet-category-summary-controls .workspace-action { min-height:36px;width:auto;height:auto;min-width:0;padding:6px 10px;
  white-space:normal;border-radius:var(--pd-radius-sm);font-size:var(--pd-font-size-sm);line-height:18px; }
.workspace-sheet-category-summary :is(input,select):focus { outline:2px solid var(--pd-success-text);outline-offset:1px; }
.workspace-sheet-category-summary-table {
  display: grid;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  gap: 2px;
  font-size: var(--pd-font-size-sm);
}
.workspace-sheet-category-summary-row {
  display: grid;
  min-width: max-content;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  padding: 4px 6px;
  border-radius: 4px;
}
.workspace-sheet-category-summary-row.is-head {
  font-weight: 600;
  color: var(--pd-text-secondary);
}
.workspace-sheet-category-summary-filter {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 36px;
  padding: 4px 8px;
  border: 1px solid var(--pd-border);
  border-radius: 6px;
  background: var(--pd-surface);
  color: var(--pd-text);
  font-size: var(--pd-font-size-sm);
}
.workspace-sheet-category-summary-select[multiple] {
  min-height: 76px;
}
.workspace-python-fs-conflict-bulk {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 2px;
}
.workspace-sheet-category-summary-empty {
  color: var(--pd-text-secondary);
  font-size: var(--pd-font-size-sm);
  padding: 4px 0;
}

.workspace-python-fs-conflict-path {
  font-size: var(--pd-font-size-sm);
  word-break: break-all;
}

/* Auxiliary image tools: projection owns live geometry and media lifetime. */
.viewer-aux-panel {
  position:fixed;z-index:8;display:flex;flex-direction:column;box-sizing:border-box;
  min-width:0;min-height:0;overflow:hidden;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-md);background:var(--pd-surface);color:var(--pd-text);
  box-shadow:var(--pd-shadow-dialog);font:var(--pd-font-size-md)/1.5 var(--pd-font-ui);
}
.viewer-aux-panel:focus-within { z-index:9; }
.viewer-aux-panel[hidden],.viewer-aux-tabs[hidden] { display:none; }
.viewer-aux-tabs { position:fixed;z-index:9;display:flex;gap:2px;height:36px;padding:1px;
  box-sizing:border-box;overflow:auto hidden;border:1px solid var(--pd-border);
  border-radius:var(--pd-radius-sm);background:var(--pd-surface);box-shadow:var(--pd-shadow-raise); }
.viewer-aux-tabs button { min-width:0;flex:1;border:0;border-radius:4px;padding:0 6px;
  background:transparent;color:var(--pd-text-secondary);font:500 12px/24px var(--pd-font-ui);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer; }
.viewer-aux-tabs button[aria-selected="true"] { background:var(--pd-accent-soft);color:var(--pd-accent-strong); }
.viewer-aux-tabs button:focus-visible { outline:2px solid var(--pd-accent-strong);outline-offset:-2px; }
#viewer-stage[data-viewer-auxiliary-compact] > #annotation-legend {
  max-height:min(140px,calc(100% - 24px));
  width:min(320px,calc(100% - 88px));left:auto;right:12px;
}
#annotation-legend .pd-legend-header { position:sticky;top:-8px;z-index:1;background:var(--pd-surface); }
.viewer-aux-header {
  display:flex;align-items:center;gap:4px;flex:none;min-height:44px;box-sizing:border-box;
  padding:5px 6px;border-bottom:1px solid var(--pd-divider);background:var(--pd-surface);
  cursor:move;user-select:none;touch-action:none;
}
.viewer-aux-move,.viewer-aux-close,.viewer-aux-resize {
  box-sizing:border-box;min-width:32px;height:32px;padding:0;border:0;
  border-radius:var(--pd-radius-sm);background:transparent;color:var(--pd-text-secondary);
  font:inherit;cursor:pointer;
}
.viewer-aux-move {
  flex:1;min-width:0;padding-inline:6px;color:var(--pd-text);font-weight:600;
  text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:move;
}
.viewer-aux-close { flex:none;width:32px;font-size:20px;line-height:1; }
.viewer-aux-panel button:hover { background:var(--pd-hover);color:var(--pd-text); }
.viewer-aux-panel button:focus-visible { outline:2px solid var(--pd-accent);outline-offset:-2px; }
.viewer-aux-media { position:relative;min-height:0;flex:1;overflow:hidden;background:var(--pd-bg);touch-action:none; }
.viewer-aux-image { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;user-select:none; }
.viewer-aux-qc-overlay { position:absolute;pointer-events:none;image-rendering:pixelated; }
.viewer-aux-status {
  position:absolute;inset:0;display:flex;align-items:safe center;justify-content:center;
  padding:12px 12px 36px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;
  text-align:center;color:var(--pd-text-secondary);overflow-wrap:anywhere;
}
.viewer-aux-panel:is([data-state="load-failed"],[data-state="display-failed"]) .viewer-aux-status {
  background:var(--pd-danger-faint);color:var(--pd-danger-text);
}
.viewer-aux-viewport {
  position:absolute;box-sizing:border-box;pointer-events:none;border:2px solid var(--pd-accent);
  background:color-mix(in srgb,var(--pd-accent) 9%,transparent);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--pd-surface) 65%,transparent);
}
.viewer-aux-resize {
  position:absolute;right:0;bottom:0;width:32px;z-index:3;cursor:nwse-resize;
  touch-action:none;border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm) 0 0;
  background:var(--pd-surface);
}
.viewer-aux-resize::after {
  content:"";position:absolute;inset:8px;background:linear-gradient(135deg,transparent 0 48%,
    currentColor 49% 55%,transparent 56% 66%,currentColor 67% 73%,transparent 74%);
}

/* Excel-style range outline, fill handle and drag feedback */
.workspace-sheet-selection-box { position:absolute;z-index:1;box-sizing:border-box;pointer-events:none;
  border:2px solid var(--pd-app-excel); }
.workspace-sheet-fill-handle { position:absolute;z-index:1;box-sizing:border-box;width:9px;height:9px;
  border:1px solid var(--pd-surface);background:var(--pd-app-excel);cursor:crosshair;touch-action:none; }
.workspace-sheet-fill-handle[hidden], .workspace-sheet-selection-box[hidden] { display:none; }
.workspace-sheet td[data-fill-preview="true"] { outline:1px dashed var(--pd-app-excel);outline-offset:-1px;
  background:color-mix(in srgb, var(--pd-app-excel) 7%, var(--pd-surface)); }
.workspace-sheet[data-range-dragging="true"] .workspace-sheet-cell { user-select:none;caret-color:transparent;cursor:cell; }
.workspace-sheet[data-filling="true"] .workspace-sheet-cell { cursor:crosshair; }

/* chart insertion menu and the charts panel of a sheet */
.workspace-sheet-chart-menu { position:fixed;z-index:200;display:grid;min-width:168px;padding:4px;
  border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-surface);
  box-shadow:0 8px 24px rgba(var(--pd-shadow-rgb), .22); }
.workspace-sheet-chart-menu-item { display:flex;align-items:center;gap:10px;padding:7px 10px;border:0;border-radius:6px;
  background:transparent;color:var(--pd-text);font:inherit;text-align:left;cursor:pointer; }
.workspace-sheet-chart-menu-item:hover, .workspace-sheet-chart-menu-item:focus-visible { background:var(--pd-hover);outline:0; }
.workspace-sheet-chart-menu-icon { width:18px;text-align:center;color:var(--pd-app-excel); }
.workspace-sheet-chart-heading { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.workspace-sheet-chart-remove { flex:none;width:32px;height:32px;border:0;border-radius:6px;background:transparent;
  color:var(--pd-text-secondary);font-size:16px;line-height:1;cursor:pointer; }
.workspace-sheet-chart-remove:hover { background:var(--pd-hover);color:var(--pd-text); }
.workspace-sheet-chart-source { padding:2px 2px 6px;color:var(--pd-text-secondary);font-size:var(--pd-font-size-xs); }

/* charts floating over the sheet */
.workspace-sheet-chart-layer { position:absolute;left:0;top:0;z-index:1;pointer-events:none; }
.workspace-sheet-chart-layer[hidden] { display:none; }
.workspace-sheet-chart-frame { position:absolute;box-sizing:border-box;pointer-events:auto;cursor:move;touch-action:none;
  border:1px solid var(--pd-border);border-radius:8px;background:var(--pd-surface);
  box-shadow:0 2px 10px rgba(var(--pd-shadow-rgb), .16); }
.workspace-sheet-chart-frame:focus-visible { outline:2px solid var(--pd-app-excel);outline-offset:1px; }
.workspace-sheet-chart-frame[data-selected="true"] { border-color:var(--pd-app-excel);
  box-shadow:0 0 0 1px var(--pd-app-excel), 0 4px 16px rgba(var(--pd-shadow-rgb), .24); }
.workspace-sheet-chart-frame[data-moving="true"] { opacity:.9; }
.workspace-sheet-chart-frame-body { width:100%;height:100%;overflow:hidden;border-radius:8px;pointer-events:none; }
.workspace-sheet-chart-frame-body svg { display:block;width:100%;height:100%; }
.workspace-sheet-chart-handle { position:absolute;display:none;box-sizing:border-box;width:10px;height:10px;
  border:1px solid var(--pd-app-excel);border-radius:2px;background:var(--pd-surface); }
.workspace-sheet-chart-frame[data-selected="true"] .workspace-sheet-chart-handle { display:block; }
.workspace-sheet-chart-handle[data-direction="nw"] { left:-6px;top:-6px;cursor:nwse-resize; }
.workspace-sheet-chart-handle[data-direction="n"]  { left:calc(50% - 5px);top:-6px;cursor:ns-resize; }
.workspace-sheet-chart-handle[data-direction="ne"] { right:-6px;top:-6px;cursor:nesw-resize; }
.workspace-sheet-chart-handle[data-direction="e"]  { right:-6px;top:calc(50% - 5px);cursor:ew-resize; }
.workspace-sheet-chart-handle[data-direction="se"] { right:-6px;bottom:-6px;cursor:nwse-resize; }
.workspace-sheet-chart-handle[data-direction="s"]  { left:calc(50% - 5px);bottom:-6px;cursor:ns-resize; }
.workspace-sheet-chart-handle[data-direction="sw"] { left:-6px;bottom:-6px;cursor:nesw-resize; }
.workspace-sheet-chart-handle[data-direction="w"]  { left:-6px;top:calc(50% - 5px);cursor:ew-resize; }
.workspace-sheet-chart-close { position:absolute;right:4px;top:4px;display:none;width:32px;height:32px;border:0;
  border-radius:6px;background:color-mix(in srgb, var(--pd-surface) 88%, transparent);color:var(--pd-text-secondary);
  font-size:16px;line-height:1;cursor:pointer; }
.workspace-sheet-chart-frame[data-selected="true"] .workspace-sheet-chart-close { display:block; }
.workspace-sheet-chart-close:hover { background:var(--pd-hover);color:var(--pd-text); }

/* title box and kind list of the selected chart */
.workspace-sheet-chart-tools { position:absolute;left:4px;top:4px;right:44px;z-index:1;display:none;gap:4px;
  align-items:center;pointer-events:auto;cursor:default; }
.workspace-sheet-chart-frame[data-selected="true"] .workspace-sheet-chart-tools { display:flex; }
.workspace-sheet-chart-title-input { flex:1 1 auto;min-width:0;height:32px;box-sizing:border-box;padding:0 8px;
  border:1px solid var(--pd-border);border-radius:6px;background:color-mix(in srgb, var(--pd-surface) 92%, transparent);
  color:var(--pd-text);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-sheet-chart-kind-select { flex:none;max-width:42%;height:32px;box-sizing:border-box;padding:0 6px;
  border:1px solid var(--pd-border);border-radius:6px;background:color-mix(in srgb, var(--pd-surface) 92%, transparent);
  color:var(--pd-text);font:var(--pd-font-size-sm) var(--pd-font-ui); }
.workspace-sheet-chart-title-input:focus-visible, .workspace-sheet-chart-kind-select:focus-visible {
  outline:2px solid var(--pd-app-excel);outline-offset:0; }
