/*
 * PDF Studio — document-reader chrome (Acrobat-style layout).
 *
 *   .ax-topbar    menu · brand · Home · document tabs · AI Assistant · find tools
 *   .ax-docbar    quick tabs (All tools, Edit, Convert, E-Sign) · name · actions
 *   .ax-workspace All tools pane · canvas · dock · icon rail
 *                 canvas floats the quick tools, page navigator, find bar,
 *                 selection bar and annotation bar
 *
 * Class names avoid the substrings the desktop colour themes repaint
 * (toolbar, sidebar, inspector, popover, dialog, modal, -btn, -card, -pane,
 * -panel, -chip, -tab, -empty, -primary). Existing .pdf-* hosts the tests
 * rely on are re-asserted in the #os#os block at the end. Every `color:` is
 * mirrored into --ax-c so that block can restore it.
 */

.pdf-studio.ax-shell {
  --ax-font: "Adobe Clean", "Source Sans 3", "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --ax-bg: #f8f8f8;
  --ax-surface: #ffffff;
  --ax-surface-2: #f5f5f5;
  --ax-canvas: #eaeaea;
  --ax-border: #e1e1e1;
  --ax-border-strong: #c9c9c9;
  --ax-text: #222222;
  --ax-text-2: #464646;
  --ax-text-3: #6d6d6d;
  --ax-hover: rgba(0, 0, 0, .055);
  --ax-pressed: rgba(0, 0, 0, .1);
  --ax-selected: #e3eefd;
  --ax-selected-ink: #0265dc;
  --ax-accent: #0265dc;
  --ax-accent-hover: #0054b6;
  --ax-accent-soft: #eaf2fe;
  --ax-brand: #eb1000;
  --ax-danger: #d31510;
  --ax-success: #12805c;
  --ax-warn: #b85c00;
  --ax-ai-1: #6e3ff5;
  --ax-ai-2: #d6337c;
  --ax-ai-3: #2b7cf6;
  --ax-ai-soft: #f3efff;
  --ax-float-shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 4px 14px rgba(0, 0, 0, .12);
  --ax-menu-shadow: 0 2px 6px rgba(0, 0, 0, .12), 0 10px 32px rgba(0, 0, 0, .16);
  --ax-page-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 1px 3px rgba(0, 0, 0, .12), 0 6px 18px rgba(0, 0, 0, .08);
  --ax-tools-w: 272px;
  --ax-dock-w: 344px;
  --ax-rail-w: 48px;
  --ax-c: var(--ax-text);
  grid-template-rows: 48px auto minmax(0, 1fr) 24px;
  font-family: var(--ax-font);
  font-size: 13px;
  background: var(--ax-bg);
  color: var(--ax-text);
}

:is(.window[data-app-color-tone="dark"], .clarity-studio-overlay[data-clarity-tone="dark"]) .pdf-studio.ax-shell,
.pdf-studio.ax-shell.ax-dark {
  --ax-bg: #1d1d1d;
  --ax-surface: #262626;
  --ax-surface-2: #2c2c2c;
  --ax-canvas: #323232;
  --ax-border: #3a3a3a;
  --ax-border-strong: #4d4d4d;
  --ax-text: #ebebeb;
  --ax-text-2: #cfcfcf;
  --ax-text-3: #9d9d9d;
  --ax-hover: rgba(255, 255, 255, .07);
  --ax-pressed: rgba(255, 255, 255, .12);
  --ax-selected: #20344f;
  --ax-selected-ink: #6aaeff;
  --ax-accent: #3b8cf2;
  --ax-accent-hover: #5ea1f6;
  --ax-accent-soft: #1f2f45;
  --ax-ai-soft: #2c2640;
  --ax-float-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 6px 18px rgba(0, 0, 0, .45);
  --ax-menu-shadow: 0 2px 8px rgba(0, 0, 0, .5), 0 12px 36px rgba(0, 0, 0, .55);
  --ax-page-shadow: 0 0 0 1px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .45);
}

.pdf-studio.ax-shell *,
.pdf-studio.ax-shell *::before,
.pdf-studio.ax-shell *::after { box-sizing: border-box; }

.pdf-studio.ax-shell [hidden] { display: none !important; }

.ax-ic {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  line-height: 0;
}
.ax-ic svg { width: 20px; height: 20px; }
.ax-ic-sm, .ax-ic-sm svg { width: 16px; height: 16px; }
.ax-ic-xs, .ax-ic-xs svg { width: 12px; height: 12px; }
.ax-grow { flex: 1 1 auto; min-width: 0; }

/* ---- Buttons ---------------------------------------------------------- */

.ax-icon-cmd {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  cursor: pointer;
  font: inherit;
}
.ax-icon-cmd:hover:not(:disabled) { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-icon-cmd:active:not(:disabled) { background: var(--ax-pressed); }
.ax-icon-cmd:disabled { opacity: .4; cursor: default; }
.ax-icon-cmd:focus-visible,
.ax-cmd:focus-visible,
.ax-quick:focus-visible,
.ax-rail-item:focus-visible,
.ax-tool:focus-visible,
.ax-row:focus-visible,
.ax-toollist-item:focus-visible { outline: 2px solid var(--ax-accent); outline-offset: 1px; }
.ax-icon-sm { width: 26px; height: 26px; }
.ax-icon-sm .ax-ic, .ax-icon-sm svg { width: 16px; height: 16px; }
.ax-icon-xs { width: 20px; height: 20px; }
.ax-icon-xs .ax-ic, .ax-icon-xs svg { width: 12px; height: 12px; }

.ax-cmd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 16px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12.5px/1 var(--ax-font);
  white-space: nowrap;
  cursor: pointer;
}
.ax-cmd .ax-ic, .ax-cmd .ax-ic svg { width: 16px; height: 16px; }
.ax-cmd:hover:not(:disabled) { background: var(--ax-hover); }
.ax-cmd:disabled { opacity: .45; cursor: default; }
.ax-cmd.is-accent {
  border-color: var(--ax-accent);
  background: var(--ax-accent);
  color: #fff; --ax-c: #fff;
}
.ax-cmd.is-accent:hover:not(:disabled) { background: var(--ax-accent-hover); border-color: var(--ax-accent-hover); }
.ax-cmd.is-danger { color: var(--ax-danger); --ax-c: var(--ax-danger); border-color: color-mix(in srgb, var(--ax-danger) 40%, transparent); }
.ax-cmd.is-large { min-height: 40px; padding: 0 20px; border-radius: 20px; font-size: 14px; }

.ax-divider {
  width: 1px;
  height: 20px;
  margin: 0 4px;
  background: var(--ax-border);
}

.ax-input {
  width: 100%;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 6px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 13px var(--ax-font);
}
.ax-input:focus { outline: 2px solid color-mix(in srgb, var(--ax-accent) 45%, transparent); outline-offset: 0; border-color: var(--ax-accent); }
.ax-color {
  width: 30px;
  height: 30px;
  padding: 2px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 6px;
  background: var(--ax-surface);
  cursor: pointer;
}

/* ---- Top bar ---------------------------------------------------------- */

.pdf-studio.ax-shell .pdf-topbar.ax-topbar {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding: 0 10px 0 6px;
  border-bottom: 1px solid var(--ax-border);
  background: var(--ax-surface);
}
.ax-topbar .pdf-brand { gap: 6px; flex: 0 0 auto; }
.ax-menu-launch,
.ax-home-launch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 34px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 13px var(--ax-font);
  cursor: pointer;
}
.ax-menu-launch:hover,
.ax-home-launch:hover { background: var(--ax-hover); }
.pdf-studio.ax-shell .pdf-brand-icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--ax-brand);
  color: #fff; --ax-c: #fff;
}
.pdf-studio.ax-shell.is-plot-report .pdf-brand-icon { background: #1b6b63; }
.pdf-studio.ax-shell .pdf-brand-icon .ax-ic,
.pdf-studio.ax-shell .pdf-brand-icon svg { width: 18px; height: 18px; }
.ax-brand-name { font: 700 14px var(--ax-font); letter-spacing: -.01em; color: var(--ax-text); --ax-c: var(--ax-text); white-space: nowrap; }

.pdf-studio.ax-shell .pdf-document-tabs {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  align-self: stretch;
  gap: 2px;
  min-width: 0;
  min-height: 0;
  margin-left: 6px;
  padding: 0;
  overflow-x: auto;
  border: 0;
  background: transparent;
  scrollbar-width: none;
}
.pdf-studio.ax-shell .pdf-document-tabs[hidden] { display: flex !important; visibility: hidden; }
.pdf-studio.ax-shell .pdf-document-tab {
  position: relative;
  flex: 0 1 210px;
  min-width: 96px;
  height: 34px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  box-shadow: none;
}
.pdf-studio.ax-shell .pdf-document-tab:hover { background: var(--ax-hover); }
.pdf-studio.ax-shell .pdf-document-tab.active {
  border-color: var(--ax-border);
  background: var(--ax-surface-2);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font-weight: 600;
}
.pdf-studio.ax-shell .pdf-document-tab.active::after {
  position: absolute;
  right: 10px;
  bottom: -1px;
  left: 10px;
  height: 2px;
  border-radius: 2px;
  background: var(--ax-accent);
  content: "";
}
.pdf-studio.ax-shell .pdf-document-tab-main { padding: 0 4px 0 12px; font: inherit; font-size: 12.5px; }
.pdf-studio.ax-shell .pdf-document-tab-close { width: 24px; height: 24px; border-radius: 5px; font-size: 16px; }
.pdf-studio.ax-shell .pdf-document-tab-close:hover { background: var(--ax-pressed); }

.pdf-studio.ax-shell .pdf-top-meta { gap: 8px; margin-left: auto; }
.ax-ai-launch {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 32px;
  padding: 0 14px 0 10px;
  border: 1px solid transparent;
  border-radius: 16px;
  background:
    linear-gradient(var(--ax-surface), var(--ax-surface)) padding-box,
    linear-gradient(120deg, var(--ax-ai-1), var(--ax-ai-2) 55%, var(--ax-ai-3)) border-box;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12.5px var(--ax-font);
  white-space: nowrap;
  cursor: pointer;
}
.ax-ai-launch .ax-ic { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-launch:hover { background:
    linear-gradient(var(--ax-ai-soft), var(--ax-ai-soft)) padding-box,
    linear-gradient(120deg, var(--ax-ai-1), var(--ax-ai-2) 55%, var(--ax-ai-3)) border-box; }
.pdf-studio.ax-shell:not(.dock-closed) .ax-ai-launch.is-open { box-shadow: 0 0 0 3px color-mix(in srgb, var(--ax-ai-1) 18%, transparent); }

/* ---- Doc bar ---------------------------------------------------------- */

.pdf-studio.ax-shell .pdf-chrome { min-width: 0; }
.pdf-studio.ax-shell .pdf-toolbar.ax-docbar {
  display: grid;
  grid-template-columns: var(--ax-tools-w) minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 10px 0 0;
  overflow: visible;
  border-bottom: 1px solid var(--ax-border);
  background: var(--ax-surface);
}
.pdf-studio.ax-shell.tools-collapsed .pdf-toolbar.ax-docbar { grid-template-columns: auto minmax(0, 1fr) auto; }
.ax-qtabs {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 100%;
  padding: 0 8px;
  overflow: hidden;
}
.ax-qtab {
  height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: 15px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font: 600 12.5px var(--ax-font);
  white-space: nowrap;
  cursor: pointer;
}
.ax-qtab:hover { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-qtab.is-active { background: var(--ax-selected); color: var(--ax-selected-ink); --ax-c: var(--ax-selected-ink); }
.ax-docname {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
}
.ax-docname-ic { color: var(--ax-brand); --ax-c: var(--ax-brand); }
.pdf-studio.ax-shell .pdf-title {
  max-width: 100%;
  overflow: hidden;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 13px var(--ax-font);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ax-docbar-actions { display: flex; align-items: center; gap: 2px; }
.ax-docbar-actions .ax-cmd { margin-left: 4px; }

/* ---- Workspace -------------------------------------------------------- */

.pdf-studio.ax-shell .pdf-workspace.ax-workspace {
  display: grid;
  grid-template-columns: var(--ax-tools-w) minmax(0, 1fr) var(--ax-dock-w) var(--ax-rail-w);
  min-width: 0;
  min-height: 0;
  transition: grid-template-columns .16s ease;
}
.pdf-studio.ax-shell.tools-collapsed .ax-workspace { grid-template-columns: 0 minmax(0, 1fr) var(--ax-dock-w) var(--ax-rail-w); }
.pdf-studio.ax-shell.dock-closed .ax-workspace { grid-template-columns: var(--ax-tools-w) minmax(0, 1fr) 0 var(--ax-rail-w); }
.pdf-studio.ax-shell.tools-collapsed.dock-closed .ax-workspace { grid-template-columns: 0 minmax(0, 1fr) 0 var(--ax-rail-w); }
.pdf-studio.ax-shell.is-plot-report .ax-workspace { grid-template-columns: 0 minmax(0, 1fr) var(--ax-dock-w) var(--ax-rail-w); }
.pdf-studio.ax-shell.is-plot-report.dock-closed .ax-workspace { grid-template-columns: 0 minmax(0, 1fr) 0 var(--ax-rail-w); }
.pdf-studio.ax-shell.is-plot-report :is(.ax-tools, .ax-quickbar, .ax-tools-reveal) { display: none !important; }

/* All tools pane */
.ax-tools {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid var(--ax-border);
  background: var(--ax-surface);
}
.pdf-studio.ax-shell.tools-collapsed .ax-tools { border-right: 0; }
.ax-tools-head {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 0 6px 0 12px;
  border-bottom: 1px solid var(--ax-border);
}
.ax-tools-head .ax-tools-back { margin-left: -6px; }
.ax-tools-title { margin: 0; overflow: hidden; color: var(--ax-text); --ax-c: var(--ax-text); font: 700 14px var(--ax-font); text-overflow: ellipsis; white-space: nowrap; }
.ax-tools-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 8px 10px 16px; scrollbar-width: thin; }

.ax-toollist { display: grid; gap: 2px; }
.ax-toollist-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  text-align: left;
  cursor: pointer;
}
.ax-toollist-item:hover { background: var(--ax-hover); }
.ax-toollist-ic {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--tone, #6d6d6d) 13%, transparent);
  color: var(--tone, #6d6d6d); --ax-c: var(--tone, #6d6d6d);
}
.ax-toollist-ic[data-tone="edit"] { --tone: #d6337c; }
.ax-toollist-ic[data-tone="comment"] { --tone: #c98800; }
.ax-toollist-ic[data-tone="fillsign"] { --tone: #7e4ddf; }
.ax-toollist-ic[data-tone="organize"] { --tone: #12805c; }
.ax-toollist-ic[data-tone="combine"] { --tone: #5c5ce0; }
.ax-toollist-ic[data-tone="export"] { --tone: #e34850; }
.ax-toollist-ic[data-tone="ocr"] { --tone: #0f8b8d; }
.ax-toollist-ic[data-tone="redact"] { --tone: #c9252d; }
.ax-toollist-ic[data-tone="compress"] { --tone: #d94700; }
.ax-toollist-ic[data-tone="compare"] { --tone: #0265dc; }
.ax-toollist-ic[data-tone="measure"] { --tone: #6e6e6e; }
.ax-toollist-ic[data-tone="ai"] { --tone: var(--ax-ai-1); }
.ax-toollist-ic[data-tone="read"] { --tone: #2d9d78; }
.ax-toollist-text { display: grid; gap: 1px; min-width: 0; }
.ax-toollist-label { font: 600 13px var(--ax-font); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-toollist-hint { overflow: hidden; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }

.ax-sec { display: grid; gap: 8px; padding: 10px 2px 12px; border-bottom: 1px solid var(--ax-border); }
.ax-sec:last-child { border-bottom: 0; }
.ax-sec-title { margin: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font: 700 11px var(--ax-font); letter-spacing: .06em; text-transform: uppercase; }
.ax-toolgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.ax-tool {
  display: grid;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  padding: 8px 2px 6px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  cursor: pointer;
}
.ax-tool:hover { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-tool.is-active,
.ax-tool.active { border-color: color-mix(in srgb, var(--ax-accent) 35%, transparent); background: var(--ax-selected); color: var(--ax-selected-ink); --ax-c: var(--ax-selected-ink); }
.ax-tool-label { max-width: 100%; overflow: hidden; font: 600 11.5px var(--ax-font); text-overflow: ellipsis; white-space: nowrap; }

.ax-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 36px;
  padding: 6px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  text-align: left;
  cursor: pointer;
}
.ax-row > .ax-ic { color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-row:hover:not(:disabled) { background: var(--ax-hover); }
.ax-row:disabled { opacity: .45; cursor: default; }
.ax-row.is-danger, .ax-row.is-danger > .ax-ic { color: var(--ax-danger); --ax-c: var(--ax-danger); }
.ax-row-text { display: grid; gap: 1px; min-width: 0; }
.ax-row-label { font: 600 12.5px var(--ax-font); }
.ax-row-hint { overflow: hidden; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.ax-memo { margin: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12px; line-height: 1.45; }
.ax-memo.is-info { padding: 8px 10px; border-radius: 8px; background: var(--ax-accent-soft); color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-memo.is-warn { padding: 8px 10px; border-radius: 8px; background: color-mix(in srgb, var(--ax-warn) 12%, transparent); color: var(--ax-warn); --ax-c: var(--ax-warn); }
.ax-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ax-mini-field { display: grid; gap: 4px; min-width: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; }
.ax-mini-field > span { font-weight: 600; }
.ax-checks { display: flex; flex-wrap: wrap; gap: 6px 14px; color: var(--ax-text-2); --ax-c: var(--ax-text-2); font-size: 12.5px; }
.ax-checks.is-column { display: grid; gap: 6px; }
.ax-checks label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.ax-swatches { display: flex; flex-wrap: wrap; gap: 6px; }
.ax-swatch {
  position: relative;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 2px solid var(--ax-surface);
  border-radius: 50%;
  background: var(--sw, #999);
  box-shadow: 0 0 0 1px var(--ax-border-strong);
  cursor: pointer;
}
.ax-swatch.is-on { box-shadow: 0 0 0 2px var(--ax-accent); }
.ax-swatch.is-small { width: 18px; height: 18px; }
.ax-swatch.is-custom { display: grid; place-items: center; overflow: hidden; background: conic-gradient(#f44, #fd0, #4c4, #4cf, #44f, #f4f, #f44); }
.ax-swatch.is-custom .ax-color { width: 32px; height: 32px; opacity: 0; cursor: pointer; }
.ax-panel-foot { display: flex; justify-content: flex-end; padding-top: 12px; }
.ax-filelist { display: grid; gap: 4px; }
.ax-fileitem { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto auto auto; align-items: center; gap: 6px; padding: 4px 4px 4px 8px; border: 1px solid var(--ax-border); border-radius: 8px; }
.ax-fileitem .ax-ic { color: var(--ax-brand); --ax-c: var(--ax-brand); }
.ax-fileitem-name { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ax-fileitem-size { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; }
.ax-result { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--ax-border); border-radius: 8px; background: var(--ax-surface-2); }
.ax-result strong { font-size: 16px; }
.ax-result-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.ax-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ax-statcell { display: grid; gap: 2px; padding: 8px; border-radius: 8px; background: var(--ax-surface-2); text-align: center; }
.ax-statcell strong { font-size: 17px; }
.ax-statcell span { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; }
.ax-statcell.is-add strong { color: var(--ax-success); --ax-c: var(--ax-success); }
.ax-statcell.is-del strong { color: var(--ax-danger); --ax-c: var(--ax-danger); }
.ax-diff { display: grid; gap: 4px; width: 100%; padding: 8px; border: 1px solid var(--ax-border); border-radius: 8px; background: transparent; color: var(--ax-text); --ax-c: var(--ax-text); text-align: left; cursor: pointer; }
.ax-diff:hover { border-color: var(--ax-accent); }
.ax-diff-head { display: flex; gap: 8px; align-items: baseline; }
.ax-diff-add { color: var(--ax-success); --ax-c: var(--ax-success); font-weight: 700; font-size: 12px; }
.ax-diff-del { color: var(--ax-danger); --ax-c: var(--ax-danger); font-weight: 700; font-size: 12px; }
.ax-diff-snip { color: var(--ax-text-2); --ax-c: var(--ax-text-2); font-size: 12px; line-height: 1.5; }
.ax-diff-snip ins { background: color-mix(in srgb, var(--ax-success) 18%, transparent); color: var(--ax-text); --ax-c: var(--ax-text); text-decoration: none; }
.ax-diff-snip del { background: color-mix(in srgb, var(--ax-danger) 14%, transparent); color: var(--ax-text-2); --ax-c: var(--ax-text-2); }

/* Canvas */
.pdf-studio.ax-shell .pdf-canvas-area { background: var(--ax-canvas); }
.pdf-studio.ax-shell .pdf-pages-host { padding: 24px 76px 110px 76px; }
.pdf-studio.ax-shell .pdf-page { box-shadow: var(--ax-page-shadow); }
.pdf-studio.ax-shell .pdf-page-wrap { margin-bottom: 18px; }
.pdf-studio.ax-shell .pdf-page-loading { border: 0; box-shadow: var(--ax-page-shadow); }
.pdf-studio.ax-shell .pdf-page-number { display: none; }
.pdf-pages-host.is-two {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: center;
  gap: 18px 18px;
}
.pdf-pages-host.is-two .pdf-page-wrap { flex: 0 0 auto; margin: 0; min-width: 0; }
.pdf-pages-host.is-single .pdf-page-wrap:not(.is-active) { display: none; }
.pdf-pages-host.is-single { display: flex; flex-direction: column; justify-content: flex-start; }
.pdf-page.ax-flash { animation: ax-flash 1.1s ease 1; }
@keyframes ax-flash { 30% { box-shadow: 0 0 0 4px color-mix(in srgb, var(--ax-accent) 60%, transparent), var(--ax-page-shadow); } }

.ax-quickbar {
  position: absolute;
  z-index: 12;
  top: 14px;
  left: 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 4px;
  border-radius: 10px;
  background: var(--ax-surface);
  box-shadow: var(--ax-float-shadow);
}
.pdf-studio.ax-shell:not(.has-document) .ax-quickbar,
.pdf-studio.ax-shell:not(.has-document) .ax-pagenav,
.pdf-studio.ax-shell.is-home .ax-quickbar,
.pdf-studio.ax-shell.is-home .ax-pagenav,
.pdf-studio.ax-shell.is-organizing .ax-quickbar,
.pdf-studio.ax-shell.is-organizing .ax-pagenav { display: none; }
.ax-quick {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  cursor: pointer;
}
.ax-quick:hover { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-quick.is-active,
.ax-quick.active { background: var(--ax-selected); color: var(--ax-selected-ink); --ax-c: var(--ax-selected-ink); }
.ax-quick-sep { width: 22px; height: 1px; margin: 3px 0; background: var(--ax-border); }
.ax-quick-swatch { width: 16px; height: 16px; margin: 4px 0 2px; border: 2px solid var(--ax-surface); border-radius: 50%; background: var(--ax-ink-color, #facc15); box-shadow: 0 0 0 1px var(--ax-border-strong); }

.ax-pagenav {
  position: absolute;
  z-index: 12;
  right: 16px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 48px;
  padding: 6px 4px;
  border-radius: 12px;
  background: var(--ax-surface);
  box-shadow: var(--ax-float-shadow);
}
.ax-pagenav-page { display: grid; justify-items: center; gap: 2px; padding-bottom: 2px; }
.ax-pagenav-input {
  width: 38px;
  height: 26px;
  padding: 0 2px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 6px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12.5px var(--ax-font);
  text-align: center;
}
.ax-pagenav-input:focus { outline: 2px solid var(--ax-accent); outline-offset: 0; }
.ax-pagenav-count { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; white-space: nowrap; }
.ax-pagenav-sep { width: 24px; height: 1px; margin: 3px 0; background: var(--ax-border); }
.ax-pagenav-zoom {
  width: 42px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font: 600 11px var(--ax-font);
  cursor: pointer;
}
.ax-pagenav-zoom:hover { background: var(--ax-hover); }

.ax-findbar {
  position: absolute;
  z-index: 14;
  top: 12px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 4px 4px 4px 10px;
  border-radius: 10px;
  background: var(--ax-surface);
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  box-shadow: var(--ax-float-shadow);
}
.ax-find-input {
  width: 220px;
  height: 30px;
  padding: 0 6px;
  border: 0;
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 13px var(--ax-font);
  outline: none;
}
.ax-find-count { min-width: 56px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; text-align: right; white-space: nowrap; }
.ax-findbar.is-miss .ax-find-count { color: var(--ax-danger); --ax-c: var(--ax-danger); }
.pdf-studio .pdf-text-layer .ax-find-hit {
  padding: 0;
  border-radius: 2px;
  background: rgba(255, 200, 0, .42);
  color: transparent;
}
.pdf-studio .pdf-text-layer .ax-find-hit.is-current {
  background: rgba(255, 110, 0, .55);
  box-shadow: 0 0 0 1.5px rgba(214, 90, 0, .9);
}

.ax-selpop,
.ax-annobar {
  position: absolute;
  z-index: 20;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  border-radius: 9px;
  background: var(--ax-surface);
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  box-shadow: var(--ax-menu-shadow);
  white-space: nowrap;
}
.ax-selpop-cmd {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  cursor: pointer;
}
.ax-selpop-cmd:hover { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-selpop-cmd .ax-ic, .ax-selpop-cmd svg { width: 18px; height: 18px; }
.ax-selpop-sep { width: 1px; height: 20px; margin: 0 3px; background: var(--ax-border); }
.ax-selpop-spark { display: grid; place-items: center; width: 22px; color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-selpop-spark svg { width: 16px; height: 16px; }
.ax-selpop-ai {
  height: 28px;
  padding: 0 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ax-ai-1); --ax-c: var(--ax-ai-1);
  font: 600 12px var(--ax-font);
  cursor: pointer;
}
.ax-selpop-ai:hover { background: var(--ax-ai-soft); }
.ax-annobar-label { padding: 0 8px 0 6px; color: var(--ax-text); --ax-c: var(--ax-text); font: 600 12px var(--ax-font); }
.ax-annobar .ax-swatch { margin: 0 1px; }

.ax-hint {
  position: absolute;
  z-index: 16;
  top: 12px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 10px;
  background: #1f1f1f;
  color: #fff; --ax-c: #fff;
  box-shadow: var(--ax-float-shadow);
  font-size: 12.5px;
  transform: translateX(-50%);
}
.ax-hint kbd { padding: 1px 5px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 4px; color: #fff; --ax-c: #fff; font: 11px var(--ax-font); }
.ax-hint .ax-ic { color: #c9b8ff; --ax-c: #c9b8ff; }

.ax-tools-reveal {
  position: absolute;
  z-index: 11;
  top: 50%;
  left: 0;
  display: none;
  place-items: center;
  width: 18px;
  height: 52px;
  padding: 0;
  border: 1px solid var(--ax-border);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  background: var(--ax-surface);
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  transform: translateY(-50%);
  cursor: pointer;
}
.pdf-studio.ax-shell.tools-collapsed .ax-tools-reveal { display: grid; }
.pdf-studio.ax-shell.tools-collapsed .ax-quickbar { left: 26px; }
.ax-tools-reveal svg { width: 14px; height: 14px; }

.pdf-studio.ax-shell.is-dropping .pdf-canvas-area::after {
  position: absolute;
  z-index: 30;
  inset: 10px;
  display: grid;
  place-items: center;
  border: 2px dashed var(--ax-accent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--ax-accent) 8%, transparent);
  color: var(--ax-accent); --ax-c: var(--ax-accent);
  content: "Drop PDF files to open them";
  font: 700 16px var(--ax-font);
  pointer-events: none;
}

/* Home */
.pdf-studio.ax-shell .pdf-empty.ax-home {
  z-index: 15;
  display: block;
  overflow: auto;
  padding: 36px 28px 60px;
  background: var(--ax-canvas);
  color: var(--ax-text); --ax-c: var(--ax-text);
  text-align: left;
}
.ax-home-inner { display: grid; gap: 26px; max-width: 980px; margin: 0 auto; }
.ax-home-hero {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 34px 20px 30px;
  border-radius: 16px;
  background: var(--ax-surface);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  text-align: center;
}
.ax-home-mark { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 14px; background: var(--ax-brand); color: #fff; --ax-c: #fff; }
.ax-home-mark svg { width: 34px; height: 34px; }
.ax-home-title { margin: 6px 0 0; font: 700 24px/1.2 var(--ax-font); letter-spacing: -.02em; color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-home-sub { max-width: 560px; margin: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 14px; line-height: 1.5; }
.ax-home-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-top: 8px; }
.ax-home-drop { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 13px; }
.ax-home-h { margin: 0 0 10px; color: var(--ax-text); --ax-c: var(--ax-text); font: 700 15px var(--ax-font); }
.ax-recent { display: grid; overflow: hidden; border-radius: 12px; background: var(--ax-surface); box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
.ax-recent-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 2fr) minmax(0, 2fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 0;
  border-bottom: 1px solid var(--ax-border);
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  text-align: left;
  cursor: pointer;
}
.ax-recent-item:last-child { border-bottom: 0; }
.ax-recent-item:hover { background: var(--ax-hover); }
.ax-recent-item .ax-ic { color: var(--ax-brand); --ax-c: var(--ax-brand); }
.ax-recent-name { overflow: hidden; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ax-recent-where, .ax-recent-when { overflow: hidden; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.ax-home-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.ax-home-tool {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 0;
  border-radius: 12px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  font: 600 13px var(--ax-font);
  text-align: left;
  cursor: pointer;
}
.ax-home-tool:hover { box-shadow: 0 0 0 1px var(--ax-accent), 0 4px 12px rgba(0, 0, 0, .1); }

/* Organize view */
.ax-organize {
  position: absolute;
  z-index: 13;
  inset: 0;
  overflow: auto;
  background: var(--ax-canvas);
}
.ax-org-head {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--ax-border);
  background: color-mix(in srgb, var(--ax-surface) 94%, transparent);
  backdrop-filter: blur(8px);
}
.ax-org-sel { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12px; }
.ax-org-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 22px 18px; padding: 22px; }
.ax-org-item {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 10px 10px 8px;
  border: 2px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  outline: none;
}
.ax-org-item:hover { background: color-mix(in srgb, var(--ax-surface) 55%, transparent); }
.ax-org-item.is-selected { border-color: var(--ax-accent); background: var(--ax-accent-soft); }
.ax-org-item.is-current .ax-org-num { color: var(--ax-accent); --ax-c: var(--ax-accent); }
.ax-org-item.is-dragging { opacity: .4; }
.ax-org-item.drop-before::before,
.ax-org-item.drop-after::after {
  position: absolute;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 2px;
  background: var(--ax-accent);
  content: "";
}
.ax-org-item.drop-before::before { left: -11px; }
.ax-org-item.drop-after::after { right: -11px; }
.ax-org-thumb {
  display: grid;
  place-items: center;
  min-width: 90px;
  min-height: 120px;
  background: #fff;
  box-shadow: var(--ax-page-shadow);
}
.ax-org-thumb img { display: block; max-width: 150px; max-height: 200px; }
.ax-org-thumb > span { color: #999; font-size: 12px; }
.ax-org-num { color: var(--ax-text-2); --ax-c: var(--ax-text-2); font: 600 12px var(--ax-font); }
.ax-org-actions {
  position: absolute;
  top: 6px;
  left: 50%;
  display: flex;
  gap: 1px;
  padding: 2px;
  border-radius: 8px;
  background: var(--ax-surface);
  box-shadow: var(--ax-float-shadow);
  opacity: 0;
  transform: translateX(-50%);
  transition: opacity .12s ease;
}
.ax-org-item:hover .ax-org-actions,
.ax-org-item:focus-within .ax-org-actions { opacity: 1; }
.ax-org-actions .ax-icon-cmd { width: 28px; height: 28px; }
.ax-org-actions .ax-icon-cmd svg { width: 16px; height: 16px; }

/* Dock + rail */
.ax-dock {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-left: 1px solid var(--ax-border);
  background: var(--ax-surface);
}
.pdf-studio.ax-shell.dock-closed .ax-dock { border-left: 0; }
.ax-dock-head {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 0 6px 0 14px;
  border-bottom: 1px solid var(--ax-border);
}
.ax-dock-title { margin: 0; overflow: hidden; color: var(--ax-text); --ax-c: var(--ax-text); font: 700 14px var(--ax-font); text-overflow: ellipsis; white-space: nowrap; }
.ax-dock.is-ai .ax-dock-head {
  position: absolute;
  z-index: 3;
  top: 6px;
  right: 4px;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.ax-dock.is-ai .ax-dock-title { display: none; }
.pdf-studio.ax-shell .ax-dock :is(.pdf-sidebar, .pdf-inspector) {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  border: 0;
  background: var(--ax-surface);
  transform: none;
  box-shadow: none;
  position: static;
  width: auto;
}
.pdf-studio.ax-shell.is-plot-report .ax-dock .pdf-inspector:not([hidden]) { display: flex !important; }
.pdf-studio.ax-shell .pdf-sidebar-body,
.pdf-studio.ax-shell .pdf-inspector-body { padding: 12px; }
.pdf-studio.ax-shell .pdf-inspector-body.is-ai { display: flex; padding: 0; overflow: hidden; }

.pdf-studio.ax-shell .ax-rail.pdf-pane-tabs {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-height: 0;
  padding: 8px 0;
  overflow: auto;
  border: 0;
  border-left: 1px solid var(--ax-border);
  background: var(--ax-surface);
  scrollbar-width: none;
}
.ax-rail-item {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  cursor: pointer;
}
.pdf-studio.ax-shell .ax-rail.pdf-pane-tabs button.ax-rail-item { flex: 0 0 auto; min-width: 0; padding: 0; border-bottom: 0; font-size: inherit; }
.ax-rail-item:hover { background: var(--ax-hover); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-rail-item.active { background: var(--ax-selected); color: var(--ax-selected-ink); --ax-c: var(--ax-selected-ink); }
.ax-rail-item.is-ai { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-rail-item.is-ai.active { background: var(--ax-ai-soft); }
.ax-rail-badge {
  position: absolute;
  top: 2px;
  right: 1px;
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 8px;
  background: var(--ax-accent);
  color: #fff; --ax-c: #fff;
  font: 700 9.5px/15px var(--ax-font);
  text-align: center;
}

.pdf-studio.ax-shell .pdf-statusbar {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
  padding: 0 12px;
  border-top: 1px solid var(--ax-border);
  background: var(--ax-bg);
  color: var(--ax-text-3); --ax-c: var(--ax-text-3);
  font: 11.5px var(--ax-font);
}

/* Thumbnails, lists and cards inside the dock */
.pdf-studio.ax-shell .pdf-thumb-list { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 14px 10px; }
.pdf-studio.ax-shell .pdf-thumb {
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 6px;
  padding: 8px 4px 6px;
  border: 2px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font-size: 11.5px;
  text-align: center;
}
.pdf-studio.ax-shell .pdf-thumb:hover { border-color: transparent; background: var(--ax-hover); }
.pdf-studio.ax-shell .pdf-thumb.active { border-color: var(--ax-accent); background: var(--ax-accent-soft); }
.pdf-studio.ax-shell .pdf-thumb.is-checked { box-shadow: inset 0 0 0 1px var(--ax-accent); }
.pdf-studio.ax-shell .pdf-thumb-paper { width: auto; min-width: 70px; max-width: 110px; border: 0; background: #fff; box-shadow: var(--ax-page-shadow); }
.pdf-studio.ax-shell .pdf-thumb-paper img { width: 100%; height: auto; }
.pdf-studio.ax-shell .pdf-bookmark-row.is-nested { padding-left: 16px; }
.pdf-studio.ax-shell .pdf-inspector-card { border-color: var(--ax-border); border-radius: 10px; background: var(--ax-surface); }
.pdf-studio.ax-shell .pdf-tool-btn { border-radius: 16px; font-family: var(--ax-font); }
.pdf-studio.ax-shell .pdf-search-input { border-radius: 8px; }

.ax-ribbon-ai { display: flex; align-items: center; gap: 12px; padding: 8px 12px; }
.ax-ribbon-ai p { margin: 2px 0 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12px; }
.ax-ribbon-ai > .ax-ic { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }

/* ---- Annotation marks -------------------------------------------------- */

.pdf-studio[data-tool="text_edit"] .pdf-text-layer { pointer-events: auto; }
.pdf-studio[data-tool="text_edit"] .pdf-text-layer span { cursor: text; }
.pdf-studio[data-tool="text_edit"] .pdf-text-layer span:hover {
  outline: 1px solid #2680eb;
  background: rgba(38, 128, 235, .1);
}
.pdf-studio:is([data-tool="whiteout"], [data-tool="crop"], [data-tool="ai_region"], [data-tool="check"], [data-tool="cross"],
  [data-tool="dot"], [data-tool="date"], [data-tool="initials"], [data-tool="stamp"], [data-tool="image"], [data-tool="measure"]) .pdf-page {
  cursor: crosshair;
  touch-action: none;
  user-select: none;
}
.pdf-draft-annotation.pdf-draft-crop,
.pdf-draft-annotation.pdf-draft-ai_region {
  border: 2px dashed #2680eb;
  background: rgba(38, 128, 235, .08);
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, .18);
}
.pdf-draft-annotation.pdf-draft-ai_region { border-color: #6e3ff5; background: rgba(110, 63, 245, .08); }
.pdf-draft-annotation.pdf-draft-whiteout { border: 1px dashed #2680eb; background: rgba(255, 255, 255, .9); }

.pdf-free_text.is-cover {
  padding: 0 1px;
  border: 0;
  background: var(--ann-fill, #fff);
  line-height: 1.12;
  white-space: pre-wrap;
}
.pdf-free_text.is-cover:hover { outline: 1px dashed #2680eb; outline-offset: 0; }
.pdf-free_text.is-plain { border-color: transparent; background: transparent; line-height: 1.15; }
.pdf-free_text.is-plain:hover { border-color: color-mix(in srgb, var(--ann-color) 45%, transparent); }
.pdf-inline-text-editor.is-cover { border-width: 1px; line-height: 1.12; resize: none; }
.pdf-rectangle.is-whiteout { border: 0; background: var(--ann-fill, #fff); opacity: 1; }
.pdf-rectangle.is-whiteout:hover { outline: 1px dashed #2680eb; }
.pdf-stamp.is-mark {
  border: 0;
  background: transparent;
  color: var(--ann-color);
  opacity: 1;
  transform: none;
}
.pdf-stamp.is-mark .ax-mark-ic,
.pdf-stamp.is-mark .ax-mark-ic svg { width: 100%; height: 100%; stroke-width: 2.6; }
.pdf-stamp:not(.is-mark) {
  border-width: 2px;
  border-radius: 6px;
  font-family: var(--ax-font, sans-serif);
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
}
.pdf-image {
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.pdf-note {
  display: grid;
  place-items: center;
  border-radius: 3px;
  background: var(--ann-color);
  color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}
.pdf-note .ax-noteglyph,
.pdf-note .ax-noteglyph svg { width: 72%; height: 72%; }
.pdf-measure-wrap { position: absolute; inset: 0; pointer-events: none; background: transparent; }
.pdf-measure-wrap .pdf-vector-annotation { pointer-events: none; }
.pdf-measure-wrap .pdf-vector-annotation path { pointer-events: stroke; }
.ax-measure-label {
  position: absolute;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 0 0 1px currentColor;
  font: 700 11px/1.3 var(--ax-font, sans-serif);
  white-space: nowrap;
  transform: translate(6px, -120%);
  pointer-events: none;
}
.pdf-measure-wrap.selected .ax-measure-label { box-shadow: 0 0 0 2px #2680eb; }

/* ---- Menus and sheets --------------------------------------------------- */

.pdf-toolbar-popover.ax-menu,
.ax-menu {
  position: absolute;
  z-index: 90;
  display: grid;
  align-content: start;
  width: auto;
  min-width: 220px;
  max-width: 320px;
  gap: 0;
  padding: 6px;
  overflow: auto;
  border: 1px solid var(--ax-border);
  border-radius: 10px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  box-shadow: var(--ax-menu-shadow);
  font-family: var(--ax-font);
  backdrop-filter: none;
  animation: ax-menu-in .12s ease-out;
}
.ax-menu.is-wide { min-width: 300px; max-width: 400px; }
@keyframes ax-menu-in { from { opacity: 0; transform: translateY(-3px); } }
.ax-menu .ax-menu-title { padding: 6px 8px 4px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font: 700 11px var(--ax-font); letter-spacing: .05em; text-transform: uppercase; }
.ax-menu-group { padding: 8px 8px 3px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font: 700 10.5px var(--ax-font); letter-spacing: .05em; text-transform: uppercase; }
.ax-menu-sep { height: 1px; margin: 5px 6px; background: var(--ax-border); }
.pdf-toolbar-popover.ax-menu button.ax-menu-item,
.ax-menu .ax-menu-item {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 32px;
  padding: 5px 8px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 13px var(--ax-font);
  text-align: left;
  cursor: pointer;
}
.ax-menu .ax-menu-item:hover:not(:disabled),
.ax-menu .ax-menu-item:focus-visible { outline: 0; background: var(--ax-hover); }
.ax-menu .ax-menu-item:disabled { opacity: .45; cursor: default; }
.ax-menu .ax-menu-item.danger { color: var(--ax-danger); --ax-c: var(--ax-danger); }
.ax-menu-lead { display: grid; place-items: center; color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-menu-item.is-checked .ax-menu-lead { color: var(--ax-accent); --ax-c: var(--ax-accent); }
.ax-menu-text { display: grid; min-width: 0; }
.ax-menu-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ax-menu-hint { overflow: hidden; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }
.ax-menu-keys { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; white-space: nowrap; }
.ax-menu-more { color: var(--ax-text-3); --ax-c: var(--ax-text-3); }

.ax-scrim {
  position: absolute;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .3);
  animation: ax-fade .12s ease-out;
}
@keyframes ax-fade { from { opacity: 0; } }
.ax-sheet {
  display: grid;
  gap: 12px;
  width: min(440px, 100%);
  max-height: 100%;
  padding: 18px 20px 16px;
  overflow: auto;
  border-radius: 14px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  box-shadow: var(--ax-menu-shadow);
  font-family: var(--ax-font);
}
.ax-sheet.is-wide { width: min(600px, 100%); }
.ax-sheet-head { display: flex; align-items: center; gap: 8px; }
.ax-sheet-title { flex: 1; margin: 0; font: 700 17px var(--ax-font); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-sheet-desc, .ax-sheet-line { margin: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 13px; line-height: 1.5; }
.ax-sheet-body { display: grid; gap: 12px; }
.ax-sheet.is-wide .ax-sheet-body { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ax-sheet.is-wide .ax-sheet-body .ax-sheet-line { grid-column: 1 / -1; }
.ax-field { display: grid; gap: 5px; min-width: 0; color: var(--ax-text-2); --ax-c: var(--ax-text-2); font-size: 12.5px; }
.ax-field.is-check { display: flex; align-items: center; gap: 8px; }
.ax-field-label { font-weight: 600; }
.ax-field-hint { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; }
.ax-field-out { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; }
.ax-seg { display: inline-flex; padding: 2px; border-radius: 16px; background: var(--ax-surface-2); }
.ax-seg-item { height: 26px; padding: 0 12px; border: 0; border-radius: 14px; background: transparent; color: var(--ax-text-2); --ax-c: var(--ax-text-2); font: 600 12px var(--ax-font); cursor: pointer; }
.ax-seg-item.is-on { background: var(--ax-surface); color: var(--ax-text); --ax-c: var(--ax-text); box-shadow: 0 1px 3px rgba(0, 0, 0, .15); }
.ax-sheet-sample { display: grid; place-items: center; min-height: 110px; overflow: hidden; border: 1px solid var(--ax-border); border-radius: 10px; background: #fff; }
.ax-wm-sample span { display: inline-block; font: 800 28px Helvetica, Arial, sans-serif; letter-spacing: .04em; white-space: nowrap; }
.ax-sheet-foot { display: flex; justify-content: flex-end; gap: 8px; padding-top: 4px; }

/* ---- AI Assistant ------------------------------------------------------ */

.ax-ai {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  min-height: 0;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font-family: var(--ax-font);
}
.ax-ai-head { display: flex; align-items: center; gap: 2px; min-height: 44px; padding: 6px 44px 4px 14px; }
.ax-ai-title { display: flex; align-items: center; gap: 8px; font: 700 14px var(--ax-font); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-ai-mark { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-modelrow { display: flex; align-items: center; gap: 8px; padding: 0 12px 10px; border-bottom: 1px solid var(--ax-border); }
.ax-ai-modelbtn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 70%;
  height: 28px;
  padding: 0 8px 0 8px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 14px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12px var(--ax-font);
  cursor: pointer;
}
.ax-ai-modelbtn:hover { border-color: var(--ax-ai-1); }
.ax-ai-model-ic { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-model-ic, .ax-ai-model-ic svg { width: 14px; height: 14px; }
.ax-ai-model-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ax-ai-tier { color: var(--ax-success); --ax-c: var(--ax-success); font-size: 11px; letter-spacing: -.02em; }
.ax-ai-spend {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: 14px;
  background: var(--ax-surface-2);
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font: 12px var(--ax-font);
  line-height: 28px;
  white-space: nowrap;
  cursor: pointer;
}
.ax-ai-spend:hover { background: var(--ax-hover); }
.ax-ai-spend-value { color: var(--ax-text); --ax-c: var(--ax-text); font-weight: 700; font-variant-numeric: tabular-nums; }
.ax-ai-spend-label { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; }

.ax-ai-thread {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  padding: 14px 12px 16px;
  overflow: auto;
  background: var(--ax-surface-2);
  scrollbar-width: thin;
}
.ax-ai-blank { display: grid; justify-items: center; gap: 8px; margin: auto; padding: 20px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); text-align: center; }
.ax-ai-blank strong { color: var(--ax-text); --ax-c: var(--ax-text); font-size: 15px; }
.ax-ai-blank-ic, .ax-ai-blank-ic svg { width: 36px; height: 36px; color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-welcome { display: grid; gap: 8px; }
.ax-ai-welcome-kicker { color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12.5px; }
.ax-ai-welcome-doc { overflow: hidden; color: var(--ax-text); --ax-c: var(--ax-text); font: 700 16px/1.3 var(--ax-font); text-overflow: ellipsis; }
.ax-ai-summarize {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  margin: 6px 0 4px;
  padding: 0 14px;
  border: 1.5px solid transparent;
  border-radius: 12px;
  background:
    linear-gradient(var(--ax-surface), var(--ax-surface)) padding-box,
    linear-gradient(120deg, var(--ax-ai-1), var(--ax-ai-2) 55%, var(--ax-ai-3)) border-box;
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 700 13.5px var(--ax-font);
  cursor: pointer;
}
.ax-ai-summarize .ax-ic { color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-summarize:hover { background:
    linear-gradient(var(--ax-ai-soft), var(--ax-ai-soft)) padding-box,
    linear-gradient(120deg, var(--ax-ai-1), var(--ax-ai-2) 55%, var(--ax-ai-3)) border-box; }
.ax-ai-summary-cost { margin-left: auto; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font: 600 11.5px var(--ax-font); }
.ax-ai-group-label { margin-top: 6px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font: 700 10.5px var(--ax-font); letter-spacing: .06em; text-transform: uppercase; }
.ax-ai-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.ax-ai-action {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 34px;
  padding: 5px 8px;
  border: 1px solid var(--ax-border);
  border-radius: 9px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12px/1.2 var(--ax-font);
  text-align: left;
  cursor: pointer;
}
.ax-ai-action .ax-ic, .ax-ai-action svg { width: 16px; height: 16px; color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-action:hover { border-color: color-mix(in srgb, var(--ax-ai-1) 45%, transparent); background: var(--ax-ai-soft); }
.ax-btn-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.ax-ai-fineprint { margin: 8px 0 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; line-height: 1.45; }

.ax-ai-msg { max-width: 100%; }
.ax-ai-user {
  align-self: flex-end;
  display: grid;
  gap: 3px;
  max-width: 88%;
  padding: 8px 12px;
  border-radius: 14px 14px 4px 14px;
  background: var(--ax-selected);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font-size: 13px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.ax-ai-user-task { color: var(--ax-selected-ink); --ax-c: var(--ax-selected-ink); font: 700 11px var(--ax-font); }
.ax-ai-bot {
  display: grid;
  gap: 8px;
  padding: 12px 12px 8px;
  border: 1px solid var(--ax-border);
  border-radius: 12px;
  background: var(--ax-surface);
}
.ax-ai-bot.is-error { border-color: color-mix(in srgb, var(--ax-danger) 40%, transparent); }
.ax-ai-error { color: var(--ax-danger); --ax-c: var(--ax-danger); font-size: 13px; line-height: 1.45; }
.ax-ai-link {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 5px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--ax-accent); --ax-c: var(--ax-accent);
  font: 600 12.5px var(--ax-font);
  cursor: pointer;
}
.ax-ai-link svg { width: 15px; height: 15px; }
.ax-ai-pending { display: flex; align-items: center; gap: 8px; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12.5px; }
.ax-ai-dots { width: 22px; height: 6px; background: radial-gradient(circle, var(--ax-ai-1) 45%, transparent 50%) 0 0 / 7px 6px repeat-x; animation: ax-dots 1s steps(3) infinite; }
@keyframes ax-dots { 0% { width: 7px; } 100% { width: 28px; } }
.ax-ai-thinking {
  max-height: 64px;
  overflow: hidden;
  color: var(--ax-text-3); --ax-c: var(--ax-text-3);
  font-size: 11.5px;
  font-style: italic;
  line-height: 1.4;
  -webkit-mask-image: linear-gradient(transparent, #000 40%);
  mask-image: linear-gradient(transparent, #000 40%);
}

.ax-md { color: var(--ax-text); --ax-c: var(--ax-text); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.ax-md > :first-child { margin-top: 0; }
.ax-md > :last-child { margin-bottom: 0; }
.ax-md p { margin: 0 0 8px; }
.ax-md .ax-md-h { margin: 12px 0 6px; font: 700 13.5px/1.3 var(--ax-font); color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-md h3.ax-md-h { font-size: 14px; }
.ax-md .ax-md-list { margin: 0 0 8px; padding-left: 20px; }
.ax-md .ax-md-list li { margin: 2px 0; }
.ax-md .ax-md-code { padding: 1px 4px; border-radius: 4px; background: var(--ax-surface-2); font: 12px ui-monospace, "SF Mono", Menlo, monospace; }
.ax-md .ax-md-pre { margin: 0 0 8px; padding: 8px 10px; overflow: auto; border-radius: 8px; background: var(--ax-surface-2); font: 12px/1.45 ui-monospace, "SF Mono", Menlo, monospace; }
.ax-md .ax-md-quote { margin: 0 0 8px; padding: 2px 0 2px 10px; border-left: 3px solid var(--ax-border-strong); color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-md .ax-md-hr { margin: 10px 0; border: 0; border-top: 1px solid var(--ax-border); }
.ax-md .ax-md-link { color: var(--ax-accent); --ax-c: var(--ax-accent); }
.ax-md-check { color: var(--ax-text-3); --ax-c: var(--ax-text-3); }
.ax-md-table-wrap { margin: 0 0 8px; overflow: auto; border: 1px solid var(--ax-border); border-radius: 8px; }
.ax-md-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.ax-md-table th, .ax-md-table td { padding: 5px 8px; border-bottom: 1px solid var(--ax-border); text-align: left; vertical-align: top; }
.ax-md-table th { position: sticky; top: 0; background: var(--ax-surface-2); font-weight: 700; }
.ax-md-table tr:last-child td { border-bottom: 0; }

.ax-cite {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 17px;
  margin: 0 1px;
  padding: 0 5px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: var(--ax-accent-soft);
  color: var(--ax-accent); --ax-c: var(--ax-accent);
  font: 700 10.5px/1 var(--ax-font);
  vertical-align: 1px;
  cursor: pointer;
}
.ax-cite:hover { background: var(--ax-accent); color: #fff; --ax-c: #fff; }
.ax-cite.is-unverified { border-color: color-mix(in srgb, var(--ax-warn) 60%, transparent); border-style: dashed; background: color-mix(in srgb, var(--ax-warn) 10%, transparent); color: var(--ax-warn); --ax-c: var(--ax-warn); }

.ax-ai-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  padding-top: 6px;
  border-top: 1px solid var(--ax-border);
}
.ax-ai-cost {
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--ax-text-3); --ax-c: var(--ax-text-3);
  font: 11.5px var(--ax-font);
  font-variant-numeric: tabular-nums;
  text-align: left;
  cursor: pointer;
}
.ax-ai-cost:hover { color: var(--ax-text); --ax-c: var(--ax-text); }
.ax-ai-ground { padding: 1px 7px; border-radius: 9px; font: 700 10.5px/16px var(--ax-font); white-space: nowrap; }
.ax-ai-ground.is-ok { background: color-mix(in srgb, var(--ax-success) 14%, transparent); color: var(--ax-success); --ax-c: var(--ax-success); }
.ax-ai-ground.is-warn { background: color-mix(in srgb, var(--ax-warn) 14%, transparent); color: var(--ax-warn); --ax-c: var(--ax-warn); }
.ax-ai-foot-actions { display: flex; gap: 0; margin-left: auto; }

.ax-ai-suggest { display: grid; gap: 6px; margin-top: 8px; }
.ax-ai-suggest-item {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid var(--ax-border);
  border-radius: 10px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 12.5px/1.4 var(--ax-font);
  text-align: left;
  cursor: pointer;
}
.ax-ai-suggest-item svg { width: 15px; height: 15px; margin-top: 1px; color: var(--ax-ai-1); --ax-c: var(--ax-ai-1); }
.ax-ai-suggest-item:hover { border-color: var(--ax-ai-1); background: var(--ax-ai-soft); }
.ax-ai-data { display: grid; gap: 8px; }
.ax-ai-muted { margin: 0; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 12.5px; }
.ax-ai-tablebox { display: grid; gap: 6px; }
.ax-ai-table-head { display: flex; align-items: center; gap: 6px; font-size: 12.5px; }
.ax-ai-entities { display: flex; flex-wrap: wrap; gap: 5px; }
.ax-ai-entity { padding: 3px 9px; border: 1px solid var(--ax-border); border-radius: 12px; background: var(--ax-surface); color: var(--ax-text); --ax-c: var(--ax-text); font: 12px var(--ax-font); cursor: pointer; }
.ax-ai-entity:hover { border-color: var(--ax-accent); }
.ax-ai-outline { display: grid; gap: 1px; }
.ax-ai-outline-item { display: flex; align-items: center; gap: 8px; padding: 5px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--ax-text); --ax-c: var(--ax-text); font: 12.5px var(--ax-font); text-align: left; cursor: pointer; }
.ax-ai-outline-item:hover { background: var(--ax-hover); }
.ax-ai-outline-item.level-2 { padding-left: 22px; color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-ai-outline-item.level-3 { padding-left: 36px; color: var(--ax-text-2); --ax-c: var(--ax-text-2); }
.ax-ai-outline-page { margin-left: auto; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11px; }
.ax-ai-go {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 6px;
  height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: 15px;
  background: var(--ax-accent);
  color: #fff; --ax-c: #fff;
  font: 600 12.5px var(--ax-font);
  cursor: pointer;
}
.ax-ai-go:hover { background: var(--ax-accent-hover); }
.ax-ai-go svg { width: 15px; height: 15px; }
.ax-ai-pii { display: grid; gap: 4px; }
.ax-ai-pii-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12.5px; }
.ax-ai-pii-kind { padding: 1px 6px; border-radius: 5px; background: var(--ax-surface-2); color: var(--ax-text-2); --ax-c: var(--ax-text-2); font: 600 10.5px var(--ax-font); text-transform: uppercase; }
.ax-ai-pii-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ax-ai-quiz { display: grid; gap: 6px; padding: 8px 0; border-bottom: 1px solid var(--ax-border); }
.ax-ai-quiz:last-child { border-bottom: 0; }
.ax-ai-quiz-q { font-weight: 700; font-size: 13px; }
.ax-ai-quiz-choices { display: grid; gap: 4px; }
.ax-ai-quiz-choice { padding: 6px 10px; border: 1px solid var(--ax-border); border-radius: 8px; background: var(--ax-surface); color: var(--ax-text); --ax-c: var(--ax-text); font: 12.5px var(--ax-font); text-align: left; cursor: pointer; }
.ax-ai-quiz-choice:hover:not(:disabled) { border-color: var(--ax-accent); }
.ax-ai-quiz-choice.is-right { border-color: var(--ax-success); background: color-mix(in srgb, var(--ax-success) 12%, transparent); }
.ax-ai-quiz-choice.is-wrong { border-color: var(--ax-danger); background: color-mix(in srgb, var(--ax-danger) 10%, transparent); }
.ax-ai-quiz-why { color: var(--ax-text-2); --ax-c: var(--ax-text-2); font-size: 12px; }

.ax-ai-compose { display: grid; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--ax-border); background: var(--ax-surface); }
.ax-ai-opts { display: flex; flex-wrap: wrap; gap: 5px; }
.ax-ai-opt {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 7px 0 9px;
  border: 1px solid var(--ax-border);
  border-radius: 12px;
  background: var(--ax-surface);
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font: 11.5px var(--ax-font);
  cursor: pointer;
}
.ax-ai-opt:hover { border-color: var(--ax-border-strong); background: var(--ax-hover); }
.ax-ai-opt-label { color: var(--ax-text-3); --ax-c: var(--ax-text-3); }
.ax-ai-opt-value { color: var(--ax-text); --ax-c: var(--ax-text); font-weight: 600; }
.ax-ai-selection {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 6px 5px 9px;
  border: 1px dashed var(--ax-border-strong);
  border-radius: 9px;
  color: var(--ax-text-2); --ax-c: var(--ax-text-2);
  font-size: 12px;
}
.ax-ai-selection.is-active { border-style: solid; border-color: var(--ax-ai-1); background: var(--ax-ai-soft); }
.ax-ai-selection-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ax-ai-input {
  width: 100%;
  min-height: 44px;
  max-height: 180px;
  padding: 10px 12px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 12px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 13px/1.45 var(--ax-font);
  resize: none;
}
.ax-ai-input:focus { outline: 2px solid color-mix(in srgb, var(--ax-ai-1) 40%, transparent); outline-offset: 0; border-color: var(--ax-ai-1); }
.ax-ai-input:disabled { background: var(--ax-surface-2); }
.ax-ai-compose-foot { display: flex; align-items: center; gap: 8px; min-height: 30px; }
.ax-ai-estimate { overflow: hidden; color: var(--ax-text-3); --ax-c: var(--ax-text-3); font-size: 11.5px; font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.ax-ai-send {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--ax-ai-1), var(--ax-ai-3));
  color: #fff; --ax-c: #fff;
  cursor: pointer;
}
.ax-ai-send:disabled { opacity: .45; cursor: default; }
.ax-ai-send svg { width: 17px; height: 17px; }
.ax-ai-stop {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 30px;
  padding: 0 12px;
  border: 1px solid var(--ax-border-strong);
  border-radius: 15px;
  background: var(--ax-surface);
  color: var(--ax-text); --ax-c: var(--ax-text);
  font: 600 12px var(--ax-font);
  cursor: pointer;
}
.ax-ai-stop svg { width: 14px; height: 14px; }

/* ---- Small windows ---------------------------------------------------- */

@container pdf-studio (max-width: 1180px) {
  .pdf-studio.ax-shell { --ax-tools-w: 236px; --ax-dock-w: 312px; }
  .ax-brand-name { display: none; }
}
@container pdf-studio (max-width: 980px) {
  .pdf-studio.ax-shell .ax-workspace,
  .pdf-studio.ax-shell.dock-closed .ax-workspace,
  .pdf-studio.ax-shell.tools-collapsed .ax-workspace { grid-template-columns: 0 minmax(0, 1fr) 0 var(--ax-rail-w); }
  .pdf-studio.ax-shell .ax-tools,
  .pdf-studio.ax-shell .ax-dock {
    position: absolute;
    z-index: 40;
    top: 0;
    bottom: 0;
    width: min(340px, 86cqi);
    box-shadow: var(--ax-menu-shadow);
    transition: transform .18s ease;
  }
  .pdf-studio.ax-shell .ax-workspace { position: relative; }
  .pdf-studio.ax-shell .ax-tools { left: 0; transform: translateX(-102%); }
  .pdf-studio.ax-shell .ax-dock { right: var(--ax-rail-w); transform: translateX(calc(100% + var(--ax-rail-w))); }
  .pdf-studio.ax-shell.mobile-sidebar-open .ax-tools { transform: none; }
  .pdf-studio.ax-shell:not(.dock-closed).mobile-inspector-open .ax-dock,
  .pdf-studio.ax-shell:not(.dock-closed) .ax-dock:focus-within { transform: none; }
  .pdf-studio.ax-shell .ax-qtabs,
  .pdf-studio.ax-shell .ax-home-launch span,
  .pdf-studio.ax-shell .ax-ai-launch span { display: none; }
  .pdf-studio.ax-shell .pdf-toolbar.ax-docbar { grid-template-columns: 0 minmax(0, 1fr) auto; }
  .pdf-studio.ax-shell .ax-tools-reveal { display: none !important; }
  .pdf-studio.ax-shell .pdf-mobile-pane-btn { display: inline-flex; align-items: center; height: 28px; padding: 0 10px; border: 1px solid var(--ax-border-strong); border-radius: 14px; background: var(--ax-surface); color: var(--ax-text); --ax-c: var(--ax-text); font: 600 12px var(--ax-font); }
  .pdf-studio.ax-shell .pdf-pages-host { padding: 16px 56px 90px 56px; }
  .pdf-studio.ax-shell .ax-quickbar { left: 8px; }
}
@container pdf-studio (max-width: 640px) {
  .pdf-studio.ax-shell .ax-docbar-actions .ax-cmd span,
  .pdf-studio.ax-shell .ax-docbar-actions .ax-divider { display: none; }
  .pdf-studio.ax-shell .ax-quickbar { flex-direction: row; top: auto; bottom: 12px; left: 50%; transform: translateX(-50%); }
  .pdf-studio.ax-shell .ax-quick-sep { width: 1px; height: 22px; margin: 0 3px; }
  .pdf-studio.ax-shell .ax-pagenav { bottom: 70px; }
  .pdf-studio.ax-shell .pdf-pages-host { padding: 12px 10px 120px; }
}

@media (prefers-reduced-motion: reduce) {
  .pdf-studio.ax-shell .ax-workspace { transition: none; }
}

@media print {
  .ax-quickbar, .ax-pagenav, .ax-findbar, .ax-selpop, .ax-annobar, .ax-tools, .ax-dock, .ax-rail { display: none !important; }
}

/*
 * Desktop colour themes paint any class containing toolbar / sidebar /
 * inspector / statusbar / popover and normalize text colours with !important
 * under `#os .window[data-app-color-theme]`. `#os#os` out-ranks those rules;
 * colours come back from the --ax-c mirror.
 */
#os#os .pdf-studio.ax-shell :is([class^="ax-"], [class*=" ax-"]):not(.pdf-page *):not(.plot-report-page *) { color: var(--ax-c) !important; }
/* Plain text inside ax-* chrome takes the --ax-c mirror too. The ax-* classes
   are spelled out on purpose: a class-attribute test ([class^="ax-"], as the
   rule above uses) placed above a descendant makes Chrome restyle every p, span,
   li, td, ... under ANY element whose class changes, anywhere on the desktop,
   whether or not PDF Studio is open (a window gaining focus restyled all of its
   text). Listed classes are only re-checked when those classes change.
   The list is every ax-* class in js/apps/studios/pdf-studio; none is built at
   run time. tests/css-invalidation-guards.test.mjs fails if one is missing. */
#os#os .pdf-studio.ax-shell :is(
  .ax-ai, .ax-ai-action, .ax-ai-actions, .ax-ai-answer, .ax-ai-blank, .ax-ai-blank-ic, .ax-ai-body,
  .ax-ai-bot, .ax-ai-compose, .ax-ai-compose-foot, .ax-ai-cost, .ax-ai-data, .ax-ai-dots,
  .ax-ai-entities, .ax-ai-entity, .ax-ai-error, .ax-ai-estimate, .ax-ai-fineprint, .ax-ai-foot,
  .ax-ai-foot-actions, .ax-ai-go, .ax-ai-ground, .ax-ai-group-label, .ax-ai-head, .ax-ai-input,
  .ax-ai-launch, .ax-ai-link, .ax-ai-mark, .ax-ai-model-ic, .ax-ai-model-name, .ax-ai-modelbtn,
  .ax-ai-modelrow, .ax-ai-msg, .ax-ai-muted, .ax-ai-opt, .ax-ai-opt-label, .ax-ai-opt-value,
  .ax-ai-opts, .ax-ai-outline, .ax-ai-outline-item, .ax-ai-outline-page, .ax-ai-pending,
  .ax-ai-pii, .ax-ai-pii-kind, .ax-ai-pii-row, .ax-ai-pii-text, .ax-ai-quiz, .ax-ai-quiz-choice,
  .ax-ai-quiz-choices, .ax-ai-quiz-q, .ax-ai-quiz-why, .ax-ai-selection, .ax-ai-selection-text,
  .ax-ai-send, .ax-ai-spend, .ax-ai-spend-label, .ax-ai-spend-value, .ax-ai-stop, .ax-ai-suggest,
  .ax-ai-suggest-item, .ax-ai-summarize, .ax-ai-summary-cost, .ax-ai-table-head, .ax-ai-tablebox,
  .ax-ai-thinking, .ax-ai-thread, .ax-ai-tier, .ax-ai-title, .ax-ai-user, .ax-ai-user-task,
  .ax-ai-user-text, .ax-ai-welcome, .ax-ai-welcome-doc, .ax-ai-welcome-kicker, .ax-annobar,
  .ax-annobar-label, .ax-brand-name, .ax-btn-label, .ax-checks, .ax-cite, .ax-cmd, .ax-color,
  .ax-diff, .ax-diff-add, .ax-diff-del, .ax-diff-head, .ax-diff-snip, .ax-divider, .ax-docbar,
  .ax-docbar-actions, .ax-dock, .ax-dock-head, .ax-dock-title, .ax-docname, .ax-docname-ic,
  .ax-field, .ax-field-hint, .ax-field-label, .ax-field-out, .ax-fields, .ax-fileitem,
  .ax-fileitem-name, .ax-fileitem-size, .ax-filelist, .ax-find-count, .ax-find-hit, .ax-find-input,
  .ax-findbar, .ax-flash, .ax-grow, .ax-hint, .ax-home, .ax-home-actions, .ax-home-drop,
  .ax-home-grid, .ax-home-h, .ax-home-hero, .ax-home-inner, .ax-home-launch, .ax-home-mark,
  .ax-home-recent, .ax-home-sub, .ax-home-title, .ax-home-tool, .ax-home-tools, .ax-ic, .ax-ic-sm,
  .ax-ic-xs, .ax-icon-cmd, .ax-icon-sm, .ax-icon-xs, .ax-input, .ax-mark-ic, .ax-md, .ax-md-check,
  .ax-md-code, .ax-md-h, .ax-md-hr, .ax-md-link, .ax-md-list, .ax-md-pre, .ax-md-quote,
  .ax-md-table, .ax-md-table-wrap, .ax-measure-label, .ax-memo, .ax-menu, .ax-menu-group,
  .ax-menu-hint, .ax-menu-item, .ax-menu-keys, .ax-menu-label, .ax-menu-launch, .ax-menu-lead,
  .ax-menu-more, .ax-menu-sep, .ax-menu-text, .ax-menu-title, .ax-mini-field, .ax-noteglyph,
  .ax-org-actions, .ax-org-grid, .ax-org-head, .ax-org-item, .ax-org-num, .ax-org-sel,
  .ax-org-thumb, .ax-organize, .ax-pagenav, .ax-pagenav-count, .ax-pagenav-input, .ax-pagenav-page,
  .ax-pagenav-sep, .ax-pagenav-zoom, .ax-panel-foot, .ax-qtab, .ax-qtabs, .ax-quick, .ax-quick-sep,
  .ax-quick-swatch, .ax-quickbar, .ax-rail, .ax-rail-badge, .ax-rail-item, .ax-recent,
  .ax-recent-item, .ax-recent-name, .ax-recent-when, .ax-recent-where, .ax-result,
  .ax-result-actions, .ax-ribbon-ai, .ax-row, .ax-row-hint, .ax-row-label, .ax-row-text, .ax-scrim,
  .ax-sec, .ax-sec-title, .ax-seg, .ax-seg-item, .ax-selpop, .ax-selpop-ai, .ax-selpop-cmd,
  .ax-selpop-sep, .ax-selpop-spark, .ax-sheet, .ax-sheet-body, .ax-sheet-desc, .ax-sheet-foot,
  .ax-sheet-head, .ax-sheet-line, .ax-sheet-sample, .ax-sheet-title, .ax-shell, .ax-statcell,
  .ax-stats, .ax-submenu, .ax-swatch, .ax-swatches, .ax-tool, .ax-tool-label, .ax-toolgrid,
  .ax-toollist, .ax-toollist-hint, .ax-toollist-ic, .ax-toollist-item, .ax-toollist-label,
  .ax-toollist-text, .ax-tools, .ax-tools-back, .ax-tools-body, .ax-tools-head, .ax-tools-reveal,
  .ax-tools-title, .ax-topbar, .ax-wm-sample, .ax-workspace
) :is(p, span, strong, b, em, small, li, td, th, h3, h4, h5, h6, code, a, label, blockquote, del, ins, time, kbd, output):not([class*="ax-"]):not(.pdf-page *) { color: var(--ax-c) !important; }
#os#os .pdf-studio.ax-shell { background-color: var(--ax-bg) !important; color: var(--ax-text) !important; }
#os#os .pdf-studio.ax-shell .pdf-topbar,
#os#os .pdf-studio.ax-shell .pdf-toolbar.ax-docbar,
#os#os .pdf-studio.ax-shell .ax-dock,
#os#os .pdf-studio.ax-shell .ax-dock :is(.pdf-sidebar, .pdf-inspector),
#os#os .pdf-studio.ax-shell .ax-rail,
#os#os .pdf-studio.ax-shell .ax-tools { background-color: var(--ax-surface) !important; border-color: var(--ax-border) !important; color: var(--ax-text) !important; }
#os#os .pdf-studio.ax-shell .pdf-statusbar { background-color: var(--ax-bg) !important; border-color: var(--ax-border) !important; color: var(--ax-text-3) !important; }
#os#os .pdf-studio.ax-shell .pdf-statusbar span { color: var(--ax-text-3) !important; }
#os#os .pdf-studio.ax-shell .pdf-canvas-area { background-color: var(--ax-canvas) !important; }
#os#os .pdf-studio.ax-shell .pdf-document-tab { background-color: transparent !important; border-color: transparent !important; color: var(--ax-text-2) !important; }
#os#os .pdf-studio.ax-shell .pdf-document-tab.active { background-color: var(--ax-surface-2) !important; border-color: var(--ax-border) !important; color: var(--ax-text) !important; }
#os#os .pdf-studio.ax-shell .pdf-document-tab :is(button, span) { color: inherit !important; }
#os#os .pdf-studio.ax-shell .pdf-title { color: var(--ax-text) !important; }
#os#os .pdf-studio.ax-shell .pdf-empty.ax-home { background-color: var(--ax-canvas) !important; color: var(--ax-text) !important; }
#os#os .pdf-studio.ax-shell :is(.ax-menu, .pdf-toolbar-popover.ax-menu, .ax-submenu) { background-color: var(--ax-surface) !important; border-color: var(--ax-border) !important; }
#os#os .pdf-studio.ax-shell .ax-menu .ax-menu-item { background-color: transparent !important; }
#os#os .pdf-studio.ax-shell .ax-menu .ax-menu-item:hover:not(:disabled) { background-color: var(--ax-hover) !important; }
#os#os .pdf-studio.ax-shell :is(.ax-input, .ax-ai-input, .ax-find-input, .ax-pagenav-input) { background-color: var(--ax-surface) !important; color: var(--ax-text) !important; border-color: var(--ax-border-strong) !important; }
#os#os .pdf-studio.ax-shell .ax-find-input { border-color: transparent !important; background-color: transparent !important; }
#os#os .pdf-studio.ax-shell :is(.ax-cmd.is-accent, .ax-ai-go, .ax-ai-send) { color: #fff !important; }
#os#os .pdf-studio.ax-shell .ax-cmd.is-accent { background-color: var(--ax-accent) !important; border-color: var(--ax-accent) !important; }
#os#os .pdf-studio.ax-shell :is(.ax-cmd.is-accent, .ax-ai-go, .ax-ai-send) :is(span, svg) { color: #fff !important; }
#os#os .pdf-studio.ax-shell .pdf-sidebar-body :is(.pdf-thumb, .pdf-outline-item, .pdf-search-result, .pdf-annotation-row) { color: var(--ax-text-2) !important; }
#os#os .pdf-studio.ax-shell .pdf-thumb.active { border-color: var(--ax-accent) !important; background-color: var(--ax-accent-soft) !important; }
#os#os .pdf-studio.ax-shell .ax-ai-thread { background-color: var(--ax-surface-2) !important; }
#os#os .pdf-studio.ax-shell :is(.ax-ai-bot, .ax-ai-action, .ax-ai-suggest-item, .ax-ai-compose, .ax-quickbar, .ax-pagenav, .ax-findbar, .ax-selpop, .ax-annobar, .ax-sheet, .ax-recent, .ax-home-tool, .ax-home-hero) { background-color: var(--ax-surface) !important; }
#os#os .pdf-studio.ax-shell .ax-ai-user { background-color: var(--ax-selected) !important; }
.ax-measure-label { color: var(--ann-color, #111); }
#os#os .pdf-studio .pdf-annotation-layer :is(.pdf-free_text, .pdf-stamp, .pdf-signature, .ax-measure-label) { color: var(--ann-color) !important; }
#os#os .pdf-studio .pdf-annotation-layer .pdf-note { color: #fff !important; }
/* The OS text-colour normalization would otherwise paint pdf.js's invisible
   selection layer, doubling every line of the page. */
#os#os .pdf-studio .pdf-text-layer :is(span, br, mark) { color: transparent !important; background-color: transparent; }
#os#os .pdf-studio .pdf-text-layer .ax-find-hit { background-color: rgba(255, 200, 0, .42) !important; }
#os#os .pdf-studio .pdf-text-layer .ax-find-hit.is-current { background-color: rgba(255, 110, 0, .55) !important; }
/* pdf.js lays text out in unrotated page space and rotates the layer
   (the rules its own viewer stylesheet ships). */
.pdf-studio .pdf-text-layer[data-main-rotation="90"] { transform: rotate(90deg) translateX(-100%); }
.pdf-studio .pdf-text-layer[data-main-rotation="180"] { transform: rotate(180deg) translate(-100%, -100%); }
.pdf-studio .pdf-text-layer[data-main-rotation="270"] { transform: rotate(270deg) translateY(-100%); }
.pdf-studio .pdf-text-layer { inset: 0 auto auto 0; }
/* Named areas: a hidden pane (plot reports hide the tools pane) must not
   shift the canvas into its column. */
.pdf-studio.ax-shell .pdf-workspace.ax-workspace { grid-template-areas: "tools canvas dock rail"; }
.pdf-studio.ax-shell .ax-workspace > .ax-tools { grid-area: tools; }
.pdf-studio.ax-shell .ax-workspace > .pdf-canvas-area { grid-area: canvas; }
.pdf-studio.ax-shell .ax-workspace > .ax-dock { grid-area: dock; }
.pdf-studio.ax-shell .ax-workspace > .ax-rail { grid-area: rail; }
