/* BioStudio AI — Word: tabbed Office ribbon + report authoring UI.
   The .office-rb-* block is app-neutral (driven by --office-rb-accent) so any
   Office-like app can adopt it; everything under .word-app is document-specific. */

/* ==========================================================================
   Shared ribbon
   ========================================================================== */

.office-rb {
  --office-rb-accent: #1b5bb0;
  --office-rb-accent-dark: #164a90;
  --office-rb-hover: #eaf0f9;
  --office-rb-hover-border: #c6d6ec;
  flex: 0 0 auto;
  color: #242832;
  background: #fff;
  border-bottom: 1px solid #cfd3db;
  box-shadow: 0 2px 5px rgba(25, 32, 45, 0.07);
  z-index: 3;
  overflow: visible;
}

.office-rb-tabs {
  display: flex;
  align-items: center;
  height: 29px;
  min-height: 29px;
  padding: 0 10px;
  border-bottom: 1px solid #e4e6ea;
}

.office-rb-quick {
  display: flex;
  gap: 2px;
  margin-right: 8px;
  padding-right: 8px;
  border-right: 1px solid #e0e2e7;
}
.office-rb-quick-btn {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #555c68;
  font-size: 14px;
  cursor: pointer;
}
.office-rb-quick-btn:hover:not(:disabled) { background: #eceef2; color: #20242d; }
.office-rb-quick-btn:disabled { opacity: 0.32; cursor: default; }

.office-rb-tabset {
  display: flex;
  align-self: stretch;
  align-items: stretch;
  gap: 2px;
}
.office-rb-tab {
  position: relative;
  height: 28px;
  padding: 4px 11px 3px;
  border: 0;
  border-radius: 0;
  color: #565c68;
  background: transparent;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  white-space: nowrap;
}
.office-rb-tab:hover { background: #f3f3f5; color: #20242d; }
.office-rb-tab.active { color: var(--office-rb-accent-dark); }
.office-rb-tab.active::after {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -1px;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--office-rb-accent);
}
.office-rb-tab.contextual {
  color: #8a4b13;
  background: #fdf3e6;
  border-radius: 4px 4px 0 0;
}
.office-rb-tab.contextual.active { color: #8a4b13; }
.office-rb-tab.contextual.active::after { background: #c9761f; }

.office-rb-context {
  min-width: 0;
  margin-left: auto;
  padding-left: 18px;
  color: #3d424c;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.office-rb-context-label {
  margin-right: 7px;
  color: #9297a2;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.office-rb-body {
  display: flex;
  align-items: stretch;
  gap: 2px;
  min-height: 66px;
  padding: 4px 8px 2px;
  overflow-x: auto;
  overflow-y: hidden;
  background: #fff;
  scrollbar-width: thin;
}
.office-rb-group {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2px;
  min-width: 90px;
  padding: 0 8px;
  border-right: 1px solid #e1e3e8;
}
.office-rb-group:first-child { padding-left: 0; }
.office-rb-group:last-child { border-right: 0; }
.office-rb-group.custom { min-width: 200px; }
.office-rb-group.wide { min-width: 280px; }
.office-rb-label {
  color: #8b909b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}

.office-rb-items {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, 24px);
  grid-auto-columns: max-content;
  align-content: start;
  gap: 2px 4px;
}
.office-rb-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 24px;
  min-width: 0;
  padding: 1px 7px;
  border: 1px solid transparent;
  border-radius: 5px;
  color: #303540;
  background: transparent;
  font-size: 10.5px;
  line-height: 1.1;
  white-space: nowrap;
  cursor: pointer;
}
.office-rb-btn:hover { background: var(--office-rb-hover); border-color: var(--office-rb-hover-border); }
.office-rb-btn.active {
  background: var(--office-rb-hover);
  border-color: var(--office-rb-accent);
  color: var(--office-rb-accent-dark);
}
.office-rb-btn.big {
  grid-row: span 2;
  width: 56px;
  height: 50px;
  padding: 3px;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  gap: 3px;
}
.office-rb-btn.big .office-rb-icon { font-size: 16px; }
.office-rb-btn.primary {
  color: #fff;
  background: var(--office-rb-accent);
  border-color: var(--office-rb-accent);
}
.office-rb-btn.primary:hover { background: var(--office-rb-accent-dark); border-color: var(--office-rb-accent-dark); }
.office-rb-btn.ai { color: #176d68; background: #e8f4f2; border-color: #cae5e1; }
.office-rb-btn.danger { color: #b3261e; }
.office-rb-btn.disabled { opacity: 0.42; cursor: default; }
.office-rb-btn.disabled:hover { background: transparent; border-color: transparent; }
.office-rb-icon { font-size: 12px; line-height: 1; }
.office-rb-caret { margin-left: 1px; font-size: 8px; opacity: 0.7; }
.office-rb-sep { width: 1px; margin: 2px 3px; background: #e1e3e8; }

.office-rb-select {
  height: 24px;
  padding: 0 4px;
  border: 1px solid #ccd0d8;
  border-radius: 5px;
  background: #fff;
  color: #242832;
  font-size: 11.5px;
}
.office-rb-color {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 24px;
  border: 1px solid transparent;
  border-radius: 5px;
  cursor: pointer;
}
.office-rb-color:hover { background: var(--office-rb-hover); border-color: var(--office-rb-hover-border); }
.office-rb-color-glyph { font-size: 11px; font-weight: 700; line-height: 1; }
.office-rb-color-bar { width: 16px; height: 4px; margin-top: 1px; border-radius: 1px; }
.office-rb-color-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }

/* PowerPoint Studio keeps its orange accent on the shared chrome. */
.ps-office-ribbon { --office-rb-accent: #c05621; --office-rb-accent-dark: #9c4419; --office-rb-hover: #f5e9e5; --office-rb-hover-border: #ead0c8; }
/* ==========================================================================
   Word — Microsoft 365 look (Fluent). The chrome shared with Report Studio
   (title bar, ribbon, menus, panes, status bar, backstage, dialogs) lives in
   css/report-studio-word.css keyed on .wd-root; below are the Word app's own
   chrome pieces (.wd-*) and the document itself (.word-page / .w-*).
   ========================================================================== */

.word-app.wd-root {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  container-type: inline-size;
  container-name: word-app;
  background: var(--rw-bg);
  font-family: var(--rw-font);
}
.wd-root > .wd-app { flex: 1 1 auto; min-height: 0; }
.wd-root > .wd-app[hidden] { display: none; }
.wd-root > .wd-backstage { flex: 1 1 auto; min-height: 0; }
.wd-root > .wd-backstage[hidden] { display: none; }

/* ---- Title bar -------------------------------------------------------------- */
.wd-titlebar { height: 42px; padding: 0 8px 0 6px; }
.wd-appmark { width: 26px; height: 26px; margin: 0 4px 0 2px; border-radius: 5px; background: #185abd; }
.wd-appmark .rw-ic svg { width: 20px; height: 20px; }
.wd-qat-split { display: inline-flex; align-items: center; }
.wd-titlebar .rw-docname-state { font-weight: 400; }
.wd-searchslot { position: relative; z-index: 40; }
.wd-account {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer;
}
.wd-account:hover { background: var(--rw-hover-chrome); }
.wd-account .rw-avatar { width: 26px; height: 26px; background: #185abd; font-size: 10.5px; }
.wd-tb-flag {
  display: inline-flex; align-items: center; gap: 5px; height: 22px; padding: 0 8px; border-radius: 11px;
  color: var(--rw-text-2); --rw-c: var(--rw-text-2); background: var(--rw-hover-chrome); font-size: 11.5px;
}
.wd-docname-pop { display: flex; flex-direction: column; gap: 10px; width: 300px; padding: 14px 14px 8px; }
.wd-docname-pop .rw-dfield span, .wd-docname-loc .wd-dlabel { color: #424242; font-size: 12px; }
.wd-docname-in { height: 30px; padding: 0 8px; border: 1px solid #d1d1d1; border-bottom-color: #616161; border-radius: 4px; font: inherit; font-size: 13px; }
.wd-docname-in:focus { outline: none; border-bottom: 2px solid #0f6cbd; }
.wd-docname-loc div { font-size: 12.5px; color: #242424; }

/* ---- Ribbon ------------------------------------------------------------------------ */
.wd-ribbon-host { flex: 0 0 auto; position: relative; z-index: 20; }
.wd-app.wd-ribbon-collapsed .wd-ribbon-host .rw-ribbon-body { display: none; }
.wd-ribbon-host .rw-ribbon.wd-peek .rw-ribbon-body {
  position: absolute; left: 0; right: 0; z-index: 30; box-shadow: var(--rw-shadow-pop);
}
.wd-app.wd-fullscreen .wd-ribbon-host .rw-tabrow { display: none; }
.wd-app.wd-fullscreen .wd-ribbon-host .rw-ribbon.wd-peek .rw-tabrow { display: flex; }
.wd-app.wd-fullscreen .wd-titlebar { height: 32px; }
.wd-rlabel {
  display: inline-flex; align-items: center; width: 130px; height: 20px; padding-left: 2px;
  color: var(--rw-text-2); --rw-c: var(--rw-text-2); font-size: 12px; font-weight: 600;
}
.wd-layout-para .rw-row { gap: 12px; }
.wd-layout-para .rw-spin { grid-template-columns: 18px 44px 60px 16px; }
.wd-record-no { display: inline-flex; min-width: 30px; height: 22px; align-items: center; justify-content: center; border: 1px solid var(--rw-border-strong); border-radius: 3px; font-size: 12px; background: var(--rw-surface); }
.rw-ribbon-body .rw-gallery-cells .rw-gallery-item { flex: 0 0 auto; }
.wd-rw-gap { width: 6px; }
.rw-ribbon-body .wd-eq-symbols {
  display: grid; grid-template-columns: repeat(14, 22px); grid-auto-rows: 22px; gap: 1px;
  height: 68px; overflow-y: auto; padding: 1px; border: 1px solid var(--rw-border); border-radius: 4px; background: var(--rw-surface);
}
.wd-eq-sym { padding: 0; border: 0; border-radius: 2px; background: transparent; color: var(--rw-text); --rw-c: var(--rw-text); font: 14px "Cambria Math", Cambria, Georgia, serif; cursor: pointer; }
.wd-eq-sym:hover { background: var(--rw-hover); }
.wd-app.wd-recording .wd-titlebar::after { content: "● Recording"; position: absolute; left: 50%; bottom: 2px; transform: translateX(-50%); color: #c50f1f; font-size: 10px; }
.wd-titlebar { position: relative; }

/* Gallery and grid popovers (cover pages, watermarks, themes, shapes, TOC) */
.wd-gallery-pop { display: flex; flex-direction: column; gap: 2px; padding: 4px 6px 6px; max-width: 560px; }
.wd-gallery-grid { display: grid; gap: 8px; padding: 6px 4px 8px; }
.wd-gallery-grid.covers { grid-template-columns: repeat(3, 120px); }
.wd-gallery-grid.watermarks { grid-template-columns: repeat(4, 104px); }
.wd-gallery-grid.themes { grid-template-columns: repeat(5, 90px); }
.wd-gallery-grid.sets { grid-template-columns: repeat(4, 110px); }
.wd-gallery-grid.tables { grid-template-columns: repeat(7, 62px); gap: 6px; }
.wd-gallery-grid.wordart { grid-template-columns: repeat(5, 52px); }
.wd-gallery-grid.picstyles { grid-template-columns: repeat(6, 74px); }
.wd-gallery-grid.shapestyles { grid-template-columns: repeat(6, 64px); }
.wd-gallery-cell {
  display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 4px; border: 1px solid transparent; border-radius: 4px;
  background: transparent; cursor: pointer; color: #242424;
}
.wd-gallery-cell:hover { border-color: #c8c6c4; background: #f5f5f5; }
.wd-gallery-cell.active { border-color: #185abd; background: #e8f0fb; }
.wd-gallery-cap { font-size: 11px; color: #424242; text-align: center; line-height: 1.2; }
.wd-mini-page { position: relative; display: block; width: 100px; aspect-ratio: .7727; background: #fff; box-shadow: 0 0 0 1px #d1d1d1, 0 1px 3px rgba(0, 0, 0, .12); overflow: hidden; }
.wd-cover-art { position: absolute; inset: 0; }
.wd-cover-art i { display: block; }
.wd-wm-art { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #bfbfbf; font: 700 11px var(--rw-font); letter-spacing: .04em; }
.wd-wm-art.diagonal { transform: rotate(-45deg); }
.wd-theme-art { display: flex; flex-direction: column; width: 82px; height: 58px; padding: 6px; background: #fff; box-shadow: 0 0 0 1px #d1d1d1; }
.wd-theme-aa { font-size: 22px; line-height: 1; color: #242424; }
.wd-theme-bars { display: flex; gap: 2px; margin-top: auto; }
.wd-theme-bars i { flex: 1; height: 10px; }
.wd-set-art { display: flex; flex-direction: column; gap: 3px; width: 50px; height: 58px; padding: 5px 4px; background: #fff; box-shadow: 0 0 0 1px #e0e0e0; text-align: left; overflow: hidden; }
.wd-gallery-grid.sets .wd-set-art { width: 96px; height: 70px; }
.wd-set-art b { font: 400 11px var(--rw-font-display); color: #000; }
.wd-set-art i { font: normal 8px var(--rw-font); color: #0f4761; }
.wd-set-art u { display: block; height: 2px; background: #d6d6d6; text-decoration: none; }
.wd-set-art.s-elegant b, .wd-set-art.s-elegant i { text-transform: uppercase; letter-spacing: .08em; }
.wd-set-art.s-simple i, .wd-set-art.s-title b { font-weight: 700; color: #0e2841; }
.wd-set-art.s-stylish i { font-variant: small-caps; }
.wd-set-art.s-casual i { color: #c05e21; font-style: italic; }
.wd-set-art.s-centered b, .wd-set-art.s-centered i { text-align: center; }
.wd-set-art.s-lines-distinctive i { border-bottom: 2px solid #156082; }
.wd-set-art.s-lines-simple i { border-bottom: 1px solid #156082; }
.wd-set-art.s-lines-stylish i { border-top: 1px solid #156082; border-bottom: 1px solid #156082; }
.wd-set-art.s-minimalist i { color: #7f7f7f; font-weight: 300; }
.wd-set-art.s-shaded i { color: #fff; background: #156082; padding: 0 2px; }
.wd-set-art.s-custom b { font-family: Calibri, sans-serif; }
.wd-set-art.s-custom i { color: #1b3a6b; font-weight: 600; }
.wd-wordart-art { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font: 700 30px var(--rw-font); }
.wd-pic-art { display: block; width: 58px; height: 42px; background: linear-gradient(135deg, #9cc3e5, #2e75b5); }
.wd-shape-style-art { display: flex; align-items: center; justify-content: center; width: 52px; height: 30px; border-radius: 3px; font: 12px var(--rw-font); }
.wd-swatches { display: inline-flex; gap: 1px; }
.wd-swatches i { width: 10px; height: 14px; }
.rw-menu-item .wd-swatches + * { margin-left: 4px; }
.wd-fontpair { display: flex; flex-direction: column; gap: 1px; }
.wd-fontpair b { font-weight: 400; font-size: 14px; }
.wd-fontpair span { font-size: 12px; color: #616161; }
.wd-list-glyph { display: inline-flex; align-items: center; justify-content: center; width: 24px; font-size: 14px; color: #242424; }
.wd-num-sample { display: inline-flex; flex-direction: column; font-size: 8px; line-height: 1.1; }
.wd-num-sample i { font-style: normal; }
.wd-inline-palette { width: 232px; padding: 4px 10px 8px; }

.wd-shapes-pop { display: flex; flex-direction: column; padding: 2px 6px 6px; width: 344px; }
.wd-shapes-sec .rw-menu-header { margin: 2px -6px 2px; }
.wd-shapes-grid { display: grid; grid-template-columns: repeat(12, 26px); gap: 2px; padding: 3px 2px 6px; }
.wd-shape-cell { width: 26px; height: 26px; padding: 3px; border: 1px solid transparent; border-radius: 3px; background: transparent; cursor: pointer; color: #424242; }
.wd-shape-cell svg { width: 100%; height: 100%; }
.wd-shape-cell:hover { border-color: #c8c6c4; background: #f0f0f0; }

.wd-gallery-pop.toc { width: 360px; }
.wd-toc-cell { display: block; width: 100%; padding: 6px 8px 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; text-align: left; cursor: pointer; }
.wd-toc-cell:hover { background: #f5f5f5; border-color: #e0e0e0; }
.wd-toc-cell-name { font-size: 11.5px; font-weight: 600; color: #424242; margin-bottom: 4px; }
.wd-toc-sample { padding: 8px 10px; background: #fff; box-shadow: 0 0 0 1px #e0e0e0; font-size: 11px; }
.wd-toc-sample b { display: block; margin-bottom: 4px; font: 13px var(--rw-font-display); color: #0f4761; font-weight: 400; }
.wd-toc-line { display: flex; gap: 4px; align-items: baseline; color: #242424; }
.wd-toc-line i { flex: 1; border-bottom: 1px dotted #808080; }
.wd-toc-line.l2 { padding-left: 10px; }
.wd-toc-line.l3 { padding-left: 20px; }

.wd-gallery-pop.hf { width: 380px; max-height: 480px; }
.wd-hf-list { display: flex; flex-direction: column; gap: 6px; padding: 4px; overflow: auto; }
.wd-hf-cell { display: flex; flex-direction: column; gap: 4px; padding: 6px; border: 1px solid transparent; border-radius: 4px; background: transparent; cursor: pointer; text-align: left; }
.wd-hf-cell:hover { background: #f5f5f5; border-color: #e0e0e0; }
.wd-hf-cell .wd-gallery-cap { text-align: left; font-weight: 600; }
.wd-hf-art { padding: 8px 12px; min-height: 30px; background: #fff; box-shadow: 0 0 0 1px #e0e0e0; font: 11px var(--rw-font); color: #595959; }
.wd-hf-art p { margin: 0; }

.wd-symbol-pop .rw-symbol-grid { grid-template-columns: repeat(10, 28px); }
.wd-corrections { display: grid; grid-template-columns: repeat(5, 72px); gap: 6px; padding: 6px; }
.wd-corrections img { width: 64px; height: 44px; object-fit: cover; }

/* ---- Canvas ----------------------------------------------------------------------- */
.wd-app .rw-main { background: var(--rw-canvas); }
.wd-canvas-col { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; min-height: 0; }
.wd-root .word-scroll {
  flex: 1 1 auto; min-height: 0; overflow: auto; padding: 0 24px 40px;
  background: var(--rw-canvas); display: block;
}
.wd-root .word-doc-frame { position: relative; margin: 20px auto 0; max-width: none; width: 816px; }
.wd-root .word-page-sheets { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.wd-root .word-page-sheet {
  position: absolute; left: 0; right: auto; background: #fff;
  box-shadow: var(--rw-page-shadow);
}
.wd-app.wd-hf-mode .word-page { opacity: .5; }
.wd-app.wd-hf-mode .word-page-sheet .word-sheet-header, .wd-app.wd-hf-mode .word-page-sheet .word-sheet-footer { opacity: 1; }
.wd-app.wd-hf-mode .word-page-sheet.wd-hf-active .word-sheet-header,
.wd-app.wd-hf-mode .word-page-sheet.wd-hf-active .word-sheet-footer { visibility: hidden; }
.wd-app.wd-viewing .word-page { caret-color: transparent; }
.wd-app.wd-painting .word-page, .wd-app.wd-painting .word-page * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22'%3E%3Cpath d='M2 2v14h3v4h2v-4h1' fill='none' stroke='%23000'/%3E%3Crect x='9' y='3' width='9' height='6' rx='1' fill='%23fff' stroke='%23000'/%3E%3C/svg%3E") 2 2, text;
}
.wd-app.wd-drawing-table .word-page, .wd-app.wd-drawing-table .word-page * { cursor: crosshair; }
.wd-app.wd-erasing-table .word-page td, .wd-app.wd-erasing-table .word-page th { cursor: cell; }
.wd-app.wd-inking .word-page, .wd-app.wd-inking .word-page * { cursor: crosshair; }
.wd-app[data-draw-tool="eraser"] .word-page, .wd-app[data-draw-tool="eraser"] .word-page * { cursor: cell; }
.wd-draw-rect { position: fixed; z-index: 10070; border: 1px dashed #000; pointer-events: none; }
.wd-root .word-doc-frame.wd-grid-bg::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: linear-gradient(rgba(0, 0, 0, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, .07) 1px, transparent 1px);
  background-size: 18px 18px;
}

/* Web Layout and Draft: no page stack */
.wd-root .word-page.w-view-web { width: auto !important; min-height: 100% !important; padding: 24px 32px !important; background: #fff; }
.wd-root .word-page.w-view-web > [data-word-gap], .wd-root .word-page.w-view-draft > [data-word-gap] { display: none; }
.wd-app[data-view="web"] .word-doc-frame { width: auto !important; margin: 0; zoom: 1 !important; }
.wd-app[data-view="web"] .word-scroll { padding: 0; background: #fff; }
.wd-app[data-view="draft"] .word-scroll { background: #fff; padding: 0; }
.wd-app[data-view="draft"] .word-doc-frame { margin: 0 0 0 24px; }
.wd-root .word-page.w-view-draft { padding-top: 18px !important; }
.wd-root .word-page.w-view-draft .w-pagebreak, .wd-root .word-page.w-view-draft .w-sectionbreak { height: auto; margin: 8px 0; visibility: visible; }
.wd-root .word-page.w-view-draft .w-pagebreak span, .wd-root .word-page.w-view-draft .w-sectionbreak span { display: inline-block; }
.wd-app[data-view="outline"] .word-scroll { background: #fff; }
.wd-app[data-view="outline"] .word-doc-frame { margin: 0 auto; }

/* Outline view */
.word-page.w-view-outline > * { position: relative; padding-left: 22px !important; }
.word-page.w-view-outline > [data-w-oc="1"] { display: none !important; }
.word-page.w-view-outline > [data-w-outline-sym]::before {
  position: absolute; left: 2px; top: .1em; width: 16px; text-align: center; font: 13px/1 "Segoe UI Symbol", var(--rw-font); color: #7f7f7f; cursor: pointer;
}
.word-page.w-view-outline > [data-w-outline-sym="plus"]::before { content: "⊕"; }
.word-page.w-view-outline > [data-w-outline-sym="minus"]::before { content: "⊖"; }
.word-page.w-view-outline > [data-w-outline-sym="body"]::before { content: "•"; font-size: 11px; top: .35em; }
.word-page.w-view-outline > h2 { margin-left: 24px !important; }
.word-page.w-view-outline > h3 { margin-left: 48px !important; }
.word-page.w-view-outline > h4, .word-page.w-view-outline > h5, .word-page.w-view-outline > h6 { margin-left: 72px !important; }
.word-page.w-view-outline.w-outline-firstline > p { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.word-page.w-view-outline.w-outline-plain > * { font: 11pt/1.3 var(--w-body-font) !important; color: #000 !important; }

/* ---- Ruler ------------------------------------------------------------------------ */
.wd-ruler {
  position: sticky; top: 0; z-index: 8; height: 22px; margin: 0 auto; padding-top: 3px;
  background: var(--rw-canvas);
}
.wd-ruler[hidden] { display: none; }
.wd-ruler-track {
  position: relative; height: 17px; margin: 0 auto; background: #fff;
  box-shadow: inset 0 0 0 1px #c8c6c4; overflow: visible; user-select: none;
}
.wd-ruler-margin { position: absolute; top: 0; bottom: 0; background: #d9d9d9; }
.wd-ruler-margin.l { left: 0; }
.wd-ruler-margin.r { right: 0; }
.wd-ruler-tick { position: absolute; bottom: 5px; width: 1px; background: #605e5c; transform: translateX(-.5px); }
.wd-ruler-num { position: absolute; top: 3px; transform: translateX(-50%); color: #323130; font: 9px/1 var(--rw-font); }
.wd-rm { position: absolute; z-index: 2; width: 10px; height: 8px; margin-left: -5px; cursor: ew-resize; }
.wd-rm.first { top: -1px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: #a6a6a6; border-top: 1px solid #605e5c; }
.wd-rm.first::after { content: ""; position: absolute; inset: 1px 1px 2px; clip-path: polygon(0 0, 100% 0, 50% 100%); background: #f3f3f3; }
.wd-rm.hanging { bottom: 6px; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: #605e5c; }
.wd-rm.hanging::after { content: ""; position: absolute; inset: 2px 1px 1px; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: #f3f3f3; }
.wd-rm.left { bottom: 0; height: 6px; border: 1px solid #605e5c; background: #f3f3f3; box-sizing: border-box; }
.wd-rm.right { bottom: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: #605e5c; height: 9px; }
.wd-rm.right::after { content: ""; position: absolute; inset: 2px 1px 1px; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: #f3f3f3; }
.wd-rm:hover::after { background: #cde3f8; }
.wd-ruler-guide { position: absolute; top: 0; bottom: 0; z-index: 9; width: 0; border-left: 1px dotted #000; pointer-events: none; }

/* ---- Navigation and task panes ------------------------------------------------------ */
.wd-navpane[hidden], .wd-taskpane[hidden] { display: none; }
.wd-navpane { width: var(--rw-nav-w, 290px); }
.wd-taskpane { width: var(--rw-task-w, 320px); }
.wd-pane-body { padding: 0 16px 16px; font-size: 12.5px; color: var(--rw-text); --rw-c: var(--rw-text); }
.wd-pane-menu { width: 20px; }
.wd-nav-input {
  width: 100%; height: 30px; padding: 0 56px 0 10px; border: 1px solid var(--rw-border-strong); border-radius: 4px;
  color: var(--rw-text); background: var(--rw-surface); font: inherit; font-size: 12.5px; outline: none;
}
.wd-nav-input:focus { box-shadow: inset 0 -2px 0 var(--rw-focus); }
.wd-nav-searchopts {
  position: absolute; right: 3px; top: 3px; display: inline-flex; align-items: center; gap: 2px; height: 24px; padding: 0 5px;
  border: 0; border-radius: 3px; background: transparent; color: var(--rw-text-2); --rw-c: var(--rw-text-2); cursor: pointer;
}
.wd-nav-searchopts:hover { background: var(--rw-hover); }
.wd-nav-count { display: flex; align-items: center; justify-content: space-between; margin: -2px 16px 6px; color: var(--rw-text-2); --rw-c: var(--rw-text-2); font-size: 12px; }
.wd-nav-steps { display: inline-flex; gap: 2px; }
.wd-nav-steps button { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; }
.wd-nav-steps button:hover { background: var(--rw-hover); }
.wd-nav-h { gap: 2px; padding-top: 3px; padding-bottom: 3px; }
.wd-nav-h.level-1 { font-weight: 600; }
.wd-nav-h.dragging { opacity: .45; }
.wd-nav-h.drop-target { box-shadow: inset 0 2px 0 var(--rw-accent); }
.wd-nav-twist { width: 16px; height: 16px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; }
.wd-nav-twist .rw-ic svg { width: 9px; height: 9px; }
.wd-nav-htext { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rw-nav-result.active { background: var(--rw-accent-soft); }
.rw-nav-page-frame.wd-thumb { overflow: hidden; background: #fff; }
.rw-nav-page-frame.wd-thumb .word-page-sheet { position: absolute !important; left: 0; top: 0; }

.wd-pane-sep { height: 1px; margin: 12px 0; background: var(--rw-border); }
.wd-pane-actions { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.wd-pbtn {
  display: inline-flex; align-items: center; gap: 5px; height: 28px; padding: 0 10px; border: 1px solid var(--rw-border-strong); border-radius: 4px;
  color: var(--rw-text); --rw-c: var(--rw-text); background: var(--rw-surface); font: inherit; font-size: 12px; cursor: pointer; white-space: nowrap;
}
.wd-pbtn:hover { background: var(--rw-hover); }
.wd-pbtn:disabled { opacity: .45; cursor: default; }
.wd-pbtn.primary { color: #fff; --rw-c: #fff; border-color: var(--rw-accent); background: var(--rw-accent); }
.wd-pbtn.primary .rw-ic { color: #fff; --rw-c: #fff; }
.wd-pbtn.primary:hover { background: var(--rw-accent-hover); }
.wd-muted { color: var(--rw-text-3); --rw-c: var(--rw-text-3); font-size: 12px; }
.wd-editor-sec { margin: 14px 0 6px; color: var(--rw-text); --rw-c: var(--rw-text); font-size: 13px; font-weight: 600; }

.wd-style-row {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 26px; padding: 3px 8px;
  border: 1px solid transparent; border-radius: 3px; background: transparent; color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer;
}
.wd-style-row:hover { border-color: var(--rw-border-strong); background: var(--rw-hover); }
.wd-style-row.active { border-color: var(--rw-accent); background: var(--rw-accent-soft); }
.wd-style-name { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wd-style-kind { color: var(--rw-text-3); --rw-c: var(--rw-text-3); font-size: 11px; }
.wd-style-row.clear .wd-style-name { color: var(--rw-text-2); --rw-c: var(--rw-text-2); }

.wd-comment { margin-bottom: 8px; cursor: pointer; }
.wd-comment.resolved { opacity: .72; }
.wd-comment-more { width: 24px; height: 24px; margin-left: auto; }
.wd-reply {
  width: 100%; height: 28px; margin-top: 8px; padding: 0 8px; border: 1px solid var(--rw-border-strong); border-radius: 4px;
  color: var(--rw-text); background: var(--rw-surface); font: inherit; font-size: 12px; outline: none;
}
.wd-reply:focus { box-shadow: inset 0 -2px 0 var(--rw-focus); }
.wd-comment-draft { width: 100%; min-height: 60px; margin: 4px 0; padding: 6px 8px; border: 1px solid var(--rw-border-strong); border-radius: 4px; font: inherit; font-size: 12.5px; resize: vertical; }
.wd-reply-item { display: flex; gap: 8px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--rw-border); }
.rw-avatar.sm { width: 20px; height: 20px; font-size: 9px; }
.rw-avatar.lg { width: 56px; height: 56px; font-size: 20px; }
.wd-resolved-tag { margin-top: 6px; color: #107c10; --rw-c: #107c10; font-size: 11.5px; font-weight: 600; }

.wd-editor-score { display: flex; align-items: center; gap: 14px; padding: 8px 0 4px; }
.wd-ring {
  --p: 100;
  width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: conic-gradient(#185abd calc(var(--p) * 1%), #e0e0e0 0);
}
.wd-ring b { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--rw-surface); font-size: 13px; }
.wd-editor-row {
  display: flex; align-items: center; justify-content: space-between; width: 100%; height: 34px; margin: 2px 0; padding: 0 12px;
  border: 1px solid var(--rw-border); border-radius: 4px; background: var(--rw-surface); color: var(--rw-text); --rw-c: var(--rw-text); font: inherit; font-size: 12.5px; cursor: pointer;
}
.wd-editor-row:hover:not(:disabled) { border-color: var(--rw-accent); }
.wd-editor-row b { display: inline-flex; min-width: 22px; height: 20px; align-items: center; justify-content: center; padding: 0 6px; border-radius: 10px; background: #c50f1f; color: #fff; --rw-c: #fff; font-size: 11px; }
.wd-editor-row.done b { background: transparent; color: #107c10; --rw-c: #107c10; font-size: 14px; }
.wd-editor-row:disabled { cursor: default; }
.wd-editor-card { display: flex; flex-direction: column; gap: 8px; }
.wd-editor-kind { display: flex; justify-content: space-between; font-weight: 600; }
.wd-editor-kind span { font-weight: 400; color: var(--rw-text-3); --rw-c: var(--rw-text-3); }
.wd-editor-ctx { padding: 8px 10px; border-radius: 4px; background: var(--rw-surface-2); line-height: 1.5; }
.wd-editor-ctx mark { background: transparent; color: inherit; text-decoration: underline wavy #c50f1f; }
.wd-editor-msg { margin: 0; color: var(--rw-text-2); --rw-c: var(--rw-text-2); }
.wd-suggest {
  height: 32px; padding: 0 12px; border: 1px solid var(--rw-border-strong); border-radius: 4px; background: var(--rw-surface);
  color: var(--rw-text); --rw-c: var(--rw-text); font: 600 13px var(--rw-font); text-align: left; cursor: pointer;
}
.wd-suggest:hover { border-color: var(--rw-accent); background: var(--rw-accent-soft); }
.wd-editor-actions { display: flex; gap: 14px; }

.wd-thes-item { display: flex; align-items: center; justify-content: space-between; padding: 2px 4px; border-radius: 3px; }
.wd-thes-item:hover { background: var(--rw-hover); }
.wd-thes-menu { width: 20px; height: 20px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; opacity: 0; }
.wd-thes-item:hover .wd-thes-menu, .wd-clip-item:hover .wd-thes-menu { opacity: 1; }

.wd-acc-group { margin: 4px 0; }
.wd-acc-group summary { display: flex; gap: 6px; padding: 4px 0; font-weight: 600; cursor: pointer; }
.wd-acc-item { display: flex; flex-direction: column; gap: 1px; width: 100%; margin: 2px 0; padding: 6px 10px; border: 0; border-left: 3px solid #c50f1f; border-radius: 0 4px 4px 0; background: var(--rw-surface-2); color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12px; }
.wd-acc-item.warning { border-left-color: #eaa300; }
.wd-acc-item.tip { border-left-color: #0f6cbd; }
.wd-acc-item span { color: var(--rw-text-3); --rw-c: var(--rw-text-3); font-size: 11.5px; }
.wd-acc-item:hover { background: var(--rw-hover); }
.wd-acc-ok { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 16px 8px; text-align: center; color: var(--rw-text-2); --rw-c: var(--rw-text-2); }
.wd-acc-help p { margin: 2px 0 8px; color: var(--rw-text-2); --rw-c: var(--rw-text-2); }

.wd-rev-summary { display: flex; flex-direction: column; gap: 2px; padding: 8px 10px; border-radius: 4px; background: var(--rw-surface-2); margin-bottom: 8px; }
.wd-rev { display: block; width: 100%; margin: 4px 0; padding: 6px 10px; border: 0; border-left: 3px solid #107c10; border-radius: 0 4px 4px 0; background: var(--rw-surface); box-shadow: 0 0 0 1px var(--rw-border); color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12px; }
.wd-rev.del { border-left-color: #c50f1f; }
.wd-rev.cm { border-left-color: #8764b8; }
.wd-rev-text { margin-top: 3px; color: var(--rw-text-2); --rw-c: var(--rw-text-2); white-space: pre-wrap; }
.wd-restrict .rw-check, .wd-restrict select { margin: 4px 0; }
.wd-restrict select { width: 100%; height: 30px; }
.wd-restrict p { margin: 6px 0; }

.wd-clip-item { display: flex; align-items: flex-start; gap: 4px; margin: 4px 0; }
.wd-clip-body { display: flex; align-items: flex-start; gap: 8px; flex: 1 1 auto; min-width: 0; padding: 6px 8px; border: 1px solid var(--rw-border); border-radius: 4px; background: var(--rw-surface); color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12px; }
.wd-clip-body span:last-child { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.wd-clip-body:hover { border-color: var(--rw-accent); }
.wd-sel-row { display: flex; align-items: center; gap: 4px; border-radius: 3px; }
.wd-sel-row.active { background: var(--rw-accent-soft); }
.wd-sel-name { flex: 1 1 auto; height: 28px; padding: 0 8px; border: 0; background: transparent; color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12.5px; }
.wd-eye { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; }
.wd-eye:hover, .wd-sel-name:hover { background: var(--rw-hover); }
.wd-note-row { display: flex; align-items: flex-start; gap: 6px; margin: 4px 0; }
.wd-note-edit { flex: 1 1 auto; min-height: 44px; padding: 4px 6px; border: 1px solid var(--rw-border-strong); border-radius: 4px; font: inherit; font-size: 12px; resize: vertical; }
.wd-help-topic {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 36px; padding: 6px 8px; border: 0; border-radius: 4px;
  background: transparent; color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12.5px;
}
.wd-help-topic:hover { background: var(--rw-hover); }
.wd-help-article h3 { margin: 10px 0 6px; font-size: 16px; }
.wd-help-article p { margin: 0 0 8px; line-height: 1.5; color: var(--rw-text-2); --rw-c: var(--rw-text-2); }
.wd-thes .rw-nav-search, .wd-help .rw-nav-search { margin: 0 0 8px; }
.wd-thes .rw-nav-search input, .wd-help .rw-nav-search input { width: 100%; height: 30px; padding: 0 30px 0 10px; border: 1px solid var(--rw-border-strong); border-radius: 4px; font: inherit; font-size: 12.5px; }
.wd-assist-hero { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 6px; background: linear-gradient(135deg, rgba(123, 97, 255, .1), rgba(43, 168, 255, .1)); }
.wd-assist-sugg { display: flex; flex-direction: column; gap: 2px; width: 100%; margin: 4px 0; padding: 8px 10px; border: 1px solid var(--rw-border); border-radius: 6px; background: var(--rw-surface); color: var(--rw-text); --rw-c: var(--rw-text); text-align: left; cursor: pointer; font: inherit; font-size: 12px; }
.wd-assist-sugg span { color: var(--rw-text-3); --rw-c: var(--rw-text-3); }
.wd-assist-sugg:hover { border-color: var(--rw-accent); }
.wd-assist-card { margin: 6px 0; padding: 8px 10px; border-left: 3px solid #8a8886; border-radius: 0 4px 4px 0; background: var(--rw-surface-2); }
.wd-assist-card p { margin: 3px 0 0; color: var(--rw-text-2); --rw-c: var(--rw-text-2); line-height: 1.45; }
.wd-assist-card.ok { border-left-color: #107c10; }
.wd-assist-card.info { border-left-color: #0f6cbd; }
.wd-assist-card.warning { border-left-color: #eaa300; }
.wd-assist-card.bad { border-left-color: #c50f1f; }
.wd-linked-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 6px 0; padding: 8px; border: 1px solid var(--rw-border); border-radius: 6px; background: var(--rw-surface); }
.wd-mm-nav { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.wd-mm .rw-linkb { display: block; margin: 4px 0; }

/* Read Aloud controls */
.wd-readbar {
  position: absolute; top: 10px; right: 24px; z-index: 25; display: flex; gap: 2px; padding: 4px; border-radius: 6px;
  background: var(--rw-surface); box-shadow: var(--rw-shadow-pop);
}
.wd-readbar button { width: 30px; height: 28px; padding: 0; border: 0; border-radius: 4px; background: transparent; cursor: pointer; color: var(--rw-text); font-size: 12px; }
.wd-readbar button:hover { background: var(--rw-hover); }
::highlight(wd-read-aloud) { background-color: #b4d5fe; }

/* ---- Status bar --------------------------------------------------------------------- */
.wd-sbar .wd-views { display: inline-flex; gap: 1px; margin-left: 4px; }
.wd-sbar .wd-status-msg { color: var(--rw-text-3); --rw-c: var(--rw-text-3); }
.wd-app.rw-focus .wd-sbar { display: flex; }
.wd-app.rw-focus .wd-ruler { display: none; }

/* ---- Message bar -------------------------------------------------------------------- */
.wd-msg-host .rw-msgbar { margin-top: 0; }

/* ---- Key tips and the Mini Toolbar ---------------------------------------------------- */
.wd-keytips { position: fixed; inset: 0; z-index: 10090; pointer-events: none; }
.wd-keytip {
  position: fixed; transform: translate(-50%, 0); min-width: 14px; height: 17px; padding: 0 4px; border-radius: 3px;
  background: #3b3a39; color: #fff; font: 600 11px/17px var(--rw-font, sans-serif); text-align: center; box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}
.wd-keytip.dim { opacity: .3; }
.wd-mini {
  position: fixed; z-index: 10065; display: flex; flex-direction: column; gap: 3px; padding: 4px 5px;
  border: 1px solid rgba(0, 0, 0, .12); border-radius: 6px; background: #fff; color: #242424;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .18); font-family: "Segoe UI Variable Text", "Segoe UI", -apple-system, sans-serif; font-size: 12px;
  transition: opacity .12s ease;
}
.wd-mini.faded { opacity: .45; }
.wd-mini-row { display: flex; align-items: center; gap: 1px; }
.wd-mini .rw-cmd { color: #242424; }
.wd-mini .rw-combo-input { height: 24px; padding: 0 20px 0 6px; border: 1px solid #d1d1d1; border-radius: 4px; font: 12px var(--rw-font, sans-serif); }
.wd-mini .rw-cmd.active { background: #e1dfdd; border-color: #c8c6c4; }
.wd-mini .rw-cmd:hover { background: #f0f0f0; }
.wd-mini .rw-ic { color: #424242; }
.wd-mini .rw-ic .a { fill: #2b7cd3; }
.wd-mini .rw-small .rw-ic svg, .wd-mini .rw-icon .rw-ic svg { width: 16px; height: 16px; }
.rw-popover.wd-ctx .rw-menu { min-width: 240px; }
.wd-paste-opts { display: flex; align-items: center; gap: 4px; padding: 2px 8px 4px 34px; }
.wd-paste-label { position: absolute; left: 34px; margin-top: -30px; font-size: 12px; color: #424242; display: none; }
.wd-paste-btn { width: 32px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 4px; background: transparent; cursor: pointer; }
.wd-paste-btn:hover { background: #f0f0f0; border-color: #c8c6c4; }
.wd-paste-opts::before { content: "Paste Options:"; margin-right: 4px; font-size: 12.5px; color: #242424; }

/* ---- Object selection frame ------------------------------------------------------------ */
.wd-objsel { position: absolute; z-index: 30; pointer-events: none; outline: 1px solid #185abd; }
.wd-objsel[hidden] { display: none; }
.wd-objsel.dragging { outline-style: dashed; opacity: .7; }
.wd-objsel .wd-h {
  position: absolute; width: 9px; height: 9px; margin: -5px 0 0 -5px; border: 1px solid #605e5c; border-radius: 50%; background: #fff; pointer-events: auto;
}
.wd-h-nw { left: 0; top: 0; cursor: nwse-resize; }
.wd-h-n { left: 50%; top: 0; cursor: ns-resize; }
.wd-h-ne { left: 100%; top: 0; cursor: nesw-resize; }
.wd-h-e { left: 100%; top: 50%; cursor: ew-resize; }
.wd-h-se { left: 100%; top: 100%; cursor: nwse-resize; }
.wd-h-s { left: 50%; top: 100%; cursor: ns-resize; }
.wd-h-sw { left: 0; top: 100%; cursor: nesw-resize; }
.wd-h-w { left: 0; top: 50%; cursor: ew-resize; }
.wd-objsel.cropping .wd-h { width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 0; background: #000; border-color: #fff; }
.wd-h-rot {
  position: absolute; left: 50%; top: -24px; width: 14px; height: 14px; margin-left: -7px; pointer-events: auto; cursor: grab;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M11.5 7A4.5 4.5 0 1 1 7 2.5h2' fill='none' stroke='%23605e5c' stroke-width='1.4'/%3E%3Cpath d='M8 .8 10 2.5 8 4.2' fill='none' stroke='%23605e5c' stroke-width='1.4'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.wd-objsel.line .wd-h-n, .wd-objsel.line .wd-h-s, .wd-objsel.line .wd-h-e, .wd-objsel.line .wd-h-w, .wd-objsel.line .wd-h-rot { display: none; }
.wd-layout-opt {
  position: absolute; left: calc(100% + 8px); top: 0; width: 24px; height: 24px; padding: 0; pointer-events: auto;
  border: 1px solid #c8c6c4; border-radius: 3px; background: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.wd-layout-opt:hover { background: #f0f0f0; }

/* Header/footer editing */
.wd-hf-editor {
  position: absolute; z-index: 12; min-height: 18px; outline: none; font: 11pt var(--w-body-font, Aptos, Calibri, sans-serif); color: #000;
  font-size: 11pt; line-height: 1.2;
}
.wd-hf-editor p { margin: 0; }
.wd-hf-line { position: absolute; left: 0; right: 0; z-index: 11; border-top: 1px dashed #185abd; pointer-events: none; }
.wd-hf-tag {
  position: absolute; left: 0; z-index: 12; transform: translateY(-2px); padding: 2px 8px; border-radius: 0 3px 3px 0;
  background: #185abd; color: #fff; font: 11px var(--rw-font, sans-serif); pointer-events: none;
}

/* Line numbers */
.word-line-numbers { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.word-ln { position: absolute; width: 22px; text-align: right; color: #7f7f7f; font: 9pt var(--w-body-font, Aptos, sans-serif); }

/* ---- Overlays: Read Mode, Immersive Reader, pages view, split ------------------------------- */
.wd-read { position: absolute; inset: 0; z-index: 60; }
.wd-read.sepia { background: #f7f0e1; }
.wd-read.inverse { background: #1f1f1f; color: #f3f3f3; }
.wd-read.inverse .rw-read-bar { background: #2b2b2b; border-color: #3d3d3d; }
.wd-read.inverse .rw-read-bar button, .wd-read.inverse .rw-read-title, .wd-read.inverse .rw-read-foot { color: #f3f3f3; }
.wd-read.none { background: #fff; }
.wd-read .rw-read-bar { background: #f3f3f3; border-bottom: 1px solid #e0e0e0; }
.wd-read-body { padding: 24px 64px; }
.wd-read-viewport { position: relative; flex: 1 1 auto; height: 100%; overflow: hidden; }
.wd-read-content.word-page {
  width: auto !important; height: 100%; min-height: 0 !important; padding: 0 !important; margin: 0;
  column-gap: 64px; column-fill: auto; transition: transform .25s ease; color: inherit; background: transparent;
  font-size: 13pt !important; line-height: 1.55 !important;
}
.wd-read.spaced .wd-read-content { letter-spacing: .04em; word-spacing: .12em; line-height: 1.9 !important; }
.wd-read.inverse .wd-read-content { color: #f3f3f3; }
.wd-read.paper .wd-read-viewport { max-width: 816px; margin: 0 auto; box-shadow: 0 2px 10px rgba(0, 0, 0, .15); background: #fff; padding: 48px; }
.wd-read-content img { max-height: 70vh; }
.wd-ir { position: absolute; inset: 0; z-index: 60; display: flex; flex-direction: column; background: #fff; }
.wd-ir-bar { display: flex; align-items: center; gap: 4px; height: 46px; padding: 0 12px; border-bottom: 1px solid #e0e0e0; background: #f3f3f3; }
.wd-ir-title { margin-right: 16px; font-weight: 600; font-size: 13px; color: #242424; }
.wd-ir-btn { display: inline-flex; flex-direction: column; align-items: center; gap: 1px; height: 42px; padding: 2px 8px; border: 0; border-radius: 4px; background: transparent; cursor: pointer; font: 11px var(--rw-font, sans-serif); color: #242424; }
.wd-ir-btn:hover { background: #e6e6e6; }
.wd-ir-scroll { position: relative; flex: 1 1 auto; overflow: auto; padding: 40px 0 80px; }
.wd-ir-content.word-page { width: 680px !important; min-height: 0 !important; margin: 0 auto; padding: 0 !important; font-size: 18pt !important; line-height: 1.8 !important; background: transparent; }
.wd-ir[data-width="veryNarrow"] .wd-ir-content { width: 420px !important; }
.wd-ir[data-width="narrow"] .wd-ir-content { width: 540px !important; }
.wd-ir[data-width="wide"] .wd-ir-content { width: 860px !important; }
.wd-ir.spaced .wd-ir-content { letter-spacing: .06em; word-spacing: .18em; }
.wd-ir[data-color="sepia"] { background: #f7f0e1; }
.wd-ir[data-color="inverse"] { background: #111; }
.wd-ir[data-color="inverse"] .wd-ir-content { color: #eee; }
.wd-ir[data-color="mint"] { background: #e6f4ea; }
.wd-ir[data-color="sky"] { background: #e7f1fb; }
.wd-ir-mask { position: absolute; inset: 0; pointer-events: none; display: none; }
.wd-ir:not([data-focus="none"]) .wd-ir-mask {
  display: block;
  --band: 1.8em;
  background: linear-gradient(rgba(0, 0, 0, .55) calc(var(--y, 200px) - var(--band)), transparent calc(var(--y, 200px) - var(--band)), transparent calc(var(--y, 200px) + var(--band)), rgba(0, 0, 0, .55) calc(var(--y, 200px) + var(--band)));
}
.wd-ir[data-focus="3"] .wd-ir-mask { --band: 2.8em; }
.wd-ir[data-focus="5"] .wd-ir-mask { --band: 4.6em; }
.wd-side { position: absolute; left: 0; right: 0; bottom: 24px; z-index: 55; display: flex; flex-direction: column; background: var(--rw-canvas); }
.wd-side-bar { display: flex; align-items: center; gap: 10px; height: 36px; padding: 0 14px; border-bottom: 1px solid var(--rw-border); background: var(--rw-bg); color: var(--rw-text); font-size: 12.5px; }
.wd-side-strip { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 20px; }
.wd-side-strip.horizontal { display: flex; gap: 24px; align-items: flex-start; }
.wd-side-strip.grid { display: flex; flex-wrap: wrap; gap: 24px; justify-content: center; }
.wd-side-page { position: relative; flex: 0 0 auto; padding: 0; border: 0; background: #fff; box-shadow: var(--rw-page-shadow); cursor: pointer; overflow: hidden; }
.wd-side-page:hover { outline: 2px solid var(--rw-accent); }
.wd-side-page .word-page-sheet { position: absolute !important; left: 0; top: 0; }
.wd-side-n { position: absolute; left: 50%; bottom: -20px; transform: translateX(-50%); font-size: 11.5px; color: var(--rw-text-2); }
.wd-split-pane { flex: 0 0 38%; display: flex; flex-direction: column; min-height: 0; border-bottom: 4px solid var(--rw-border-strong); background: var(--rw-canvas); }
.wd-split-note { padding: 4px 12px; font-size: 11.5px; color: var(--rw-text-3); background: var(--rw-bg); }
.wd-split-scroll { flex: 1 1 auto; overflow: auto; padding: 16px; }
.wd-split-scroll .word-page { width: 700px !important; margin: 0 auto; padding: 48px !important; background: #fff; min-height: 0 !important; }

/* ---- Dialogs (Word-specific pieces on the shared .rw-dialog) ---------------------------- */
.rw-dialog.wd-dialog { max-height: calc(100vh - 40px); }
.wd-dialog .rw-dialog-title { font-size: 18px; }
.wd-dialog .rw-dialog-body { gap: 10px; }
.wd-dialog .rw-dialog-foot { flex-wrap: wrap; }
.wd-dfield { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.wd-dlabel { color: #424242; font-size: 12.5px; }
.wd-drow { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.wd-drow > .wd-dfield { flex: 1 1 140px; }
.wd-group { margin: 0; padding: 8px 12px 10px; border: 1px solid #e0e0e0; border-radius: 6px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wd-group legend { padding: 0 4px; color: #242424; font-size: 12.5px; font-weight: 600; }
.wd-dtabs { display: flex; gap: 2px; border-bottom: 1px solid #e0e0e0; margin: 0 0 10px; }
.wd-dtab { position: relative; height: 32px; padding: 0 12px; border: 0; background: transparent; color: #424242; font: 13px var(--rw-font, sans-serif); cursor: pointer; }
.wd-dtab:hover { color: #242424; background: #f5f5f5; }
.wd-dtab.active { color: #242424; font-weight: 600; }
.wd-dtab.active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 3px; border-radius: 2px; background: #185abd; }
.wd-dpanel { display: flex; flex-direction: column; gap: 10px; }
.wd-dpanel[hidden] { display: none; }
.rw-dialog .wd-num, .rw-dialog .wd-select, .rw-dialog .wd-text { height: 30px; padding: 0 8px; }
.rw-dialog textarea.wd-text { height: auto; padding: 6px 8px; }
.wd-num-wrap { display: inline-flex; align-items: center; gap: 4px; }
.wd-unit { color: #616161; font-size: 12px; }
.rw-dialog .wd-color { width: 64px; height: 30px; padding: 2px; border: 1px solid #d1d1d1; border-radius: 4px; background: #fff; }
.wd-check { font-size: 12.5px; }
.wd-radios { display: flex; flex-direction: column; gap: 5px; }
.wd-listbox { overflow: auto; border: 1px solid #d1d1d1; border-radius: 4px; background: #fff; }
.wd-listrow { padding: 3px 8px; font-size: 12.5px; color: #242424; cursor: default; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wd-listrow:hover { background: #f0f0f0; }
.wd-listrow.sel { background: #cfe4fa; }
.wd-font-grid { display: grid; grid-template-columns: 1.6fr 1fr .7fr; gap: 12px; }
.wd-combo-list { display: flex; flex-direction: column; gap: 3px; }
.wd-fx-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; }
.wd-preview { min-height: 70px; padding: 10px; border: 1px solid #e0e0e0; border-radius: 4px; background: #fff; overflow: hidden; }
.wd-preview.font { display: flex; align-items: center; justify-content: center; }
.wd-preview.para p { margin: 0 0 4px; font-size: 7px; line-height: 1.3; color: #242424; }
.wd-preview.para p.gray { color: #bfbfbf; }
.wd-ori-row, .wd-col-presets { display: flex; gap: 8px; }
.wd-ori { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; width: 84px; padding: 8px 4px; border: 1px solid transparent; border-radius: 4px; background: transparent; font: 12px var(--rw-font, sans-serif); color: #242424; cursor: pointer; }
.wd-ori:hover { background: #f5f5f5; }
.wd-ori.active { border-color: #185abd; background: #e8f0fb; }
.wd-inline-btns { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.wd-inline-btns .rw-dbtn { min-width: 0; }
.wd-find-foot { display: flex; align-items: center; gap: 12px; margin-top: 4px; }
.wd-find-status { flex: 1 1 auto; color: #424242; font-size: 12.5px; }
.wd-goto { display: grid; grid-template-columns: 180px 1fr; gap: 12px; }
.wd-hint { margin: 4px 0; color: #616161; font-size: 12px; line-height: 1.45; }
.wd-sym-grid { display: grid; grid-template-columns: repeat(16, 1fr); gap: 1px; height: 190px; overflow: auto; border: 1px solid #d1d1d1; background: #fff; }
.wd-sym { height: 28px; padding: 0; border: 1px solid #f0f0f0; background: #fff; font-size: 16px; cursor: pointer; }
.wd-sym:hover { border-color: #c8c6c4; background: #f5f5f5; }
.wd-sym.sel { background: #185abd; color: #fff; }
.wd-sym-recent { display: flex; gap: 1px; }
.wd-sym-recent .wd-sym { width: 30px; }
.wd-sym-info { color: #616161; font-size: 12px; }
.wd-special { display: grid; grid-template-columns: 30px 1fr auto; gap: 8px; }
.wd-special small { color: #616161; }
.wd-link-body { display: grid; grid-template-columns: 140px 1fr; gap: 12px; min-height: 220px; }
.wd-link-side { display: flex; flex-direction: column; gap: 4px; }
.wd-link-kind { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 6px; border: 1px solid transparent; border-radius: 4px; background: transparent; font: 12px var(--rw-font, sans-serif); color: #242424; cursor: pointer; text-align: center; }
.wd-link-kind:hover { background: #f5f5f5; }
.wd-link-kind.active { border-color: #185abd; background: #e8f0fb; }
.wd-link-main .wd-listbox { height: 190px; }
.wd-empty-list { padding: 18px; color: #616161; font-size: 12.5px; text-align: center; border: 1px dashed #d1d1d1; border-radius: 4px; }
.wd-datetime { display: grid; grid-template-columns: 1fr 180px; gap: 14px; }
.wd-borders { display: grid; grid-template-columns: 110px 1fr 140px; gap: 14px; }
.wd-border-preview { width: 120px; height: 120px; background: #fff; }
.wd-zoom-preview { display: flex; align-items: center; justify-content: center; height: 60px; background: #fff; border: 1px solid #e0e0e0; font-size: 22px; }
.wd-grid-wrap { max-height: 320px; overflow: auto; border: 1px solid #d1d1d1; border-radius: 4px; }
.wd-grid { border-collapse: collapse; font-size: 12px; min-width: 100%; }
.wd-grid th { position: sticky; top: 0; background: #f5f5f5; font-weight: 600; text-align: left; }
.wd-grid th, .wd-grid td { padding: 4px 8px; border: 1px solid #e0e0e0; min-width: 80px; white-space: nowrap; }
.wd-grid td:focus { outline: 2px solid #185abd; outline-offset: -2px; }
.wd-kbd-scroll { max-height: 420px; overflow: auto; margin-top: 8px; }
.wd-prop-row { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 8px; }
.wd-options { display: grid; grid-template-columns: 160px 1fr; gap: 16px; min-height: 420px; }
.wd-opt-nav { display: flex; flex-direction: column; gap: 1px; border-right: 1px solid #e0e0e0; padding-right: 8px; }
.wd-opt-item { height: 32px; padding: 0 10px; border: 0; border-radius: 4px; background: transparent; text-align: left; font: 13px var(--rw-font, sans-serif); color: #242424; cursor: pointer; }
.wd-opt-item:hover { background: #f5f5f5; }
.wd-opt-item.active { background: #e8f0fb; font-weight: 600; }
.wd-opt-main { display: flex; flex-direction: column; gap: 10px; max-height: 520px; overflow: auto; }
.wd-opt-main h3 { margin: 0; font-size: 13px; font-weight: 400; color: #424242; }
.wd-icons-dlg { display: flex; flex-direction: column; gap: 10px; }
.wd-icon-cats { display: flex; flex-wrap: wrap; gap: 6px; }
.wd-chip { height: 26px; padding: 0 10px; border: 1px solid #d1d1d1; border-radius: 13px; background: #fff; font: 12px var(--rw-font, sans-serif); color: #242424; cursor: pointer; }
.wd-chip.active { border-color: #185abd; background: #185abd; color: #fff; }
.wd-icon-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 8px; height: 380px; overflow: auto; padding: 4px; }
.wd-icon-cell { display: flex; align-items: center; justify-content: center; height: 76px; padding: 6px; border: 2px solid transparent; border-radius: 6px; background: #fafafa; cursor: pointer; }
.wd-icon-cell svg { max-width: 100%; max-height: 100%; }
.wd-icon-cell:hover { background: #f0f0f0; }
.wd-icon-cell.sel { border-color: #185abd; background: #e8f0fb; }
.wd-chart-dlg { display: grid; grid-template-columns: 180px 1fr; gap: 16px; }
.wd-chart-left { display: flex; flex-direction: column; gap: 8px; }
.wd-chart-right { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.wd-chart-preview { display: flex; align-items: center; justify-content: center; min-height: 200px; border: 1px solid #e0e0e0; border-radius: 4px; background: #fff; }
.wd-chart-preview svg { max-width: 100%; height: auto; }
.wd-chart-grid td, .wd-chart-grid th { min-width: 60px; }
.wd-smart-dlg { display: grid; grid-template-columns: 260px 1fr; gap: 16px; }
.wd-smart-text { width: 100%; font-family: var(--rw-font, sans-serif); tab-size: 2; }
.wd-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wd-sm-list { display: flex; flex-direction: column; max-height: 220px; overflow: auto; border: 1px solid #d1d1d1; border-radius: 4px; }
.wd-sm-row { display: flex; gap: 8px; padding: 6px 8px; border: 0; border-bottom: 1px solid #f0f0f0; background: #fff; text-align: left; cursor: pointer; font: 12.5px var(--rw-font, sans-serif); }
.wd-sm-row.sel { background: #cfe4fa; }
.wd-sm-row span { color: #424242; }
.wd-sm-preview { padding: 8px; border: 1px solid #e0e0e0; border-radius: 4px; background: #fafafa; font-size: 12.5px; }

/* ---- Backstage (Word pieces on the shared .rw-backstage) -------------------------------- */
.wd-backstage .rw-bs-nav { background: #185abd; }
.wd-bs-noicon { width: 18px; }
.wd-backstage .rw-bs-item { font-size: 14px; }
.wd-tmpl-art { position: absolute; inset: 12% 14%; display: block; }
.wd-more-tmpl { display: block; margin: 8px 0 0 auto; }
.wd-bs-search { display: flex; align-items: center; gap: 8px; max-width: 520px; height: 34px; margin: 18px 0 12px; padding: 0 10px; border: 1px solid var(--rw-border-strong); border-radius: 4px; background: var(--rw-surface); }
.wd-bs-search input { flex: 1 1 auto; height: 100%; border: 0; outline: none; background: transparent; font: inherit; font-size: 13px; color: var(--rw-text); }
.wd-bs-suggest { margin: -4px 0 16px; font-size: 12.5px; color: var(--rw-text-2); }
.wd-bs-suggest .rw-linkb { margin-right: 10px; }
.wd-bs-tabs { display: flex; gap: 16px; margin: 8px 0 4px; border-bottom: 1px solid var(--rw-border); }
.wd-recent-head { display: grid; grid-template-columns: 36px minmax(0, 1fr) 180px; gap: 12px; padding: 6px 10px; color: var(--rw-text-3); font-size: 12px; }
.wd-recent-row { grid-template-columns: 36px minmax(0, 1fr) 180px; }
.wd-recent-name { font-weight: 600; }
.wd-recent-when { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: var(--rw-text-2); font-size: 12.5px; }
.wd-pin { width: 26px; height: 26px; padding: 0; border: 0; border-radius: 3px; background: transparent; cursor: pointer; opacity: 0; }
.wd-recent-row:hover .wd-pin, .wd-pin .rw-ic-pinned { opacity: 1; }
.wd-pin:hover { background: var(--rw-hover); }
.wd-bs-empty { padding: 20px 0; }
.wd-bs-docname { display: flex; flex-direction: column; gap: 2px; margin: -8px 0 16px; }
.wd-bs-docname small { color: var(--rw-text-3); font-size: 12px; }
.wd-bs-props { display: flex; flex-direction: column; gap: 6px; }
.wd-prop { display: grid; grid-template-columns: 130px 1fr; gap: 10px; align-items: center; }
.wd-prop dt { color: var(--rw-text-3); font-size: 12.5px; }
.wd-prop dd { margin: 0; font-size: 12.5px; }
.wd-prop-in { width: 100%; height: 26px; padding: 0 6px; border: 1px solid transparent; border-radius: 3px; background: transparent; font: inherit; color: var(--rw-text); }
.wd-prop-in:hover { border-color: var(--rw-border-strong); }
.wd-prop-in:focus { border-color: var(--rw-border-strong); background: var(--rw-surface); outline: none; box-shadow: inset 0 -2px 0 var(--rw-focus); }
.wd-bs-path { display: flex; align-items: center; gap: 6px; margin: 4px 0 12px; color: var(--rw-text-2); font-size: 12.5px; }
.wd-bs-saverow { display: flex; gap: 8px; max-width: 520px; margin-bottom: 8px; }
.wd-bs-name { flex: 1 1 auto; height: 32px; padding: 0 10px; border: 1px solid var(--rw-border-strong); border-radius: 4px; background: var(--rw-surface); font: inherit; font-size: 13px; color: var(--rw-text); }
.wd-bs-type { display: block; width: 100%; max-width: 520px; height: 32px; margin: 4px 0; padding: 0 8px; border: 1px solid var(--rw-border-strong); border-radius: 4px; background: var(--rw-surface); font: inherit; font-size: 13px; color: var(--rw-text); }
.wd-files { margin-top: 8px; }
.wd-bs-code { display: block; margin: 6px 0; padding: 6px 8px; border-radius: 4px; background: var(--rw-surface-2); font-size: 12px; }
.wd-bs-account { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 980px; }
.wd-acct { display: flex; align-items: center; gap: 14px; margin: 8px 0 16px; }
.wd-product { display: flex; align-items: center; gap: 12px; margin: 8px 0 16px; }
.rw-appmark.lg { width: 44px; height: 44px; border-radius: 8px; background: #185abd; }
.wd-print-settings { display: flex; flex-direction: column; gap: 6px; }
.wd-print-top { display: flex; align-items: center; gap: 16px; }
.wd-print-top label { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.wd-print-top .wd-num { width: 64px; height: 30px; padding: 0 6px; border: 1px solid var(--rw-border-strong); border-radius: 4px; }
.wd-printer { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border: 1px solid var(--rw-border); border-radius: 4px; }
.wd-printer small { display: block; color: var(--rw-text-3); }
.wd-pages { display: flex; align-items: center; gap: 6px; font-size: 12.5px; }
.wd-printview { height: calc(100% - 44px); min-height: 360px; }
.wd-print-frame { position: relative; flex: 0 0 auto; background: #fff; box-shadow: var(--rw-page-shadow); overflow: hidden; }
.wd-print-frame .word-page-sheet { position: absolute !important; left: 0; top: 0; }
.wd-print-nav { display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 8px; color: var(--rw-text-2); font-size: 12.5px; }
.wd-print-zoom { width: 120px; }

/* ==========================================================================
   The document (.word-page): Word's Normal style and its relatives.
   ========================================================================== */

.wd-root .word-page {
  position: relative; z-index: 1; box-sizing: border-box; margin: 0 auto; outline: none;
  color: #000; background: transparent;
  font-family: var(--w-body-font, Aptos, Calibri, "Segoe UI", sans-serif);
  font-size: 12pt; line-height: 1.15;
  tab-size: 48px; overflow-wrap: break-word;
}
.word-page, .word-page * { caret-color: #000; }
.word-page ::selection { background: #b4d5fe; }
.word-page-gap {
  pointer-events: none; user-select: none;
  margin-left: calc(-1 * var(--w-margin-left, 96px)) !important;
  margin-right: calc(-1 * var(--w-margin-right, 96px)) !important;
}
.word-page > * { position: relative; }
.word-page p { margin: 0 0 var(--w-para-space, 10.67px); }
.word-page h1, .word-page h2, .word-page h3, .word-page h4, .word-page h5, .word-page h6 {
  color: var(--w-heading-color, #0f4761);
  font-family: var(--w-heading-font, inherit);
  font-weight: var(--w-heading-weight, 400);
  line-height: 1.15;
}
.word-page h1 { font-size: calc(20pt * var(--w-heading-scale, 1)); margin: 18pt 0 4pt; }
.word-page h2 { font-size: calc(16pt * var(--w-heading-scale, 1)); margin: 8pt 0 4pt; }
.word-page h3 { font-size: calc(14pt * var(--w-heading-scale, 1)); margin: 8pt 0 4pt; font-family: var(--w-body-font, inherit); }
.word-page h4 { font-size: calc(12pt * var(--w-heading-scale, 1)); margin: 4pt 0 2pt; font-style: italic; font-family: var(--w-body-font, inherit); }
.word-page h5 { font-size: calc(12pt * var(--w-heading-scale, 1)); margin: 4pt 0 2pt; font-family: var(--w-body-font, inherit); }
.word-page h6 { font-size: calc(12pt * var(--w-heading-scale, 1)); margin: 2pt 0 0; font-style: italic; color: #595959; font-family: var(--w-body-font, inherit); }
.word-page > :first-child { margin-top: 0; }
.word-page img { max-width: 100%; height: auto; }
.word-page a { color: var(--w-hlink, #467886); text-decoration: underline; }
.word-page a:hover { cursor: text; }
.word-page ul, .word-page ol { margin: 0 0 var(--w-para-space, 10.67px); padding-left: 0.5in; }
.word-page li { margin: 0; padding-left: 2px; }
.word-page li > p { margin: 0; }
.word-page ul ul, .word-page ol ol, .word-page ul ol, .word-page ol ul { margin: 0; }
.word-page ul { list-style-type: disc; }
.word-page ul ul { list-style-type: circle; }
.word-page ul ul ul { list-style-type: square; }
.word-page blockquote { margin: 0 0 var(--w-para-space, 10.67px); }
.word-page.w-hyphenate { hyphens: auto; -webkit-hyphens: auto; }
.word-page .w-tab { white-space: pre; tab-size: 48px; }
.word-page .w-hidden { display: none; }
.word-page.w-show-marks .w-hidden { display: inline; text-decoration: underline dotted #7a9cd3; }

/* Heading numbering (presentational; becomes real OOXML numbering on export) */
.word-page.w-numbered-headings { counter-reset: wh1; }
.word-page.w-numbered-headings h1 { counter-increment: wh1; counter-reset: wh2; }
.word-page.w-numbered-headings h1::before { content: counter(wh1) "  "; }
.word-page.w-numbered-headings h2 { counter-increment: wh2; counter-reset: wh3; }
.word-page.w-numbered-headings h2::before { content: counter(wh1) "." counter(wh2) "  "; }
.word-page.w-numbered-headings h3 { counter-increment: wh3; }
.word-page.w-numbered-headings h3::before { content: counter(wh1) "." counter(wh2) "." counter(wh3) "  "; }
.word-page.w-numbered-headings .w-toc h1::before,
.word-page.w-numbered-headings .w-cover h1::before { content: none; }

/* Paragraph styles */
.word-page .w-style-title {
  font-family: var(--w-heading-font, inherit); font-size: calc(28pt * var(--w-heading-scale, 1)) !important; line-height: 1.05;
  font-weight: var(--w-heading-weight, 400); letter-spacing: -.5px; color: #000; margin: 0 0 4pt; text-align: inherit;
}
.word-page .w-style-subtitle { font-size: 14pt; color: #595959; letter-spacing: .75pt; margin: 0 0 8pt; text-align: inherit; }
.word-page .w-style-nospacing { margin: 0 !important; line-height: 1 !important; }
.word-page .w-style-quote { margin: 8pt 0.6in; padding: 0; border: 0; text-align: center; font-style: italic; color: #404040; }
.word-page .w-style-intense-quote {
  margin: 18pt 0.6in; padding: 10pt 0; border-top: 1px solid var(--w-heading-color, #0f4761); border-bottom: 1px solid var(--w-heading-color, #0f4761);
  text-align: center; font-style: italic; color: var(--w-heading-color, #0f4761);
}
.word-page .w-style-list-paragraph { margin-left: 0.5in; }
.word-page .w-style-code { margin: 10px 0; padding: 8px 10px; background: #f4f5f7; border-radius: 4px; font-family: Consolas, "Cascadia Mono", monospace; font-size: 10pt; white-space: pre-wrap; }

/* Character styles */
.word-page .w-cs-subtle-emphasis { font-style: italic; color: #404040; }
.word-page .w-cs-emphasis { font-style: italic; }
.word-page .w-cs-intense-emphasis { font-style: italic; color: var(--w-heading-color, #0f4761); }
.word-page .w-cs-strong { font-weight: 700; }
.word-page .w-cs-subtle-reference { font-variant: small-caps; color: #5a5a5a; }
.word-page .w-cs-intense-reference { font-variant: small-caps; font-weight: 700; color: var(--w-heading-color, #0f4761); letter-spacing: .25pt; }
.word-page .w-cs-book-title { font-weight: 700; font-style: italic; letter-spacing: .25pt; }

/* Style sets (Design › Document Formatting) */
.word-page.w-set-elegant h1, .word-page.w-set-elegant h2, .word-page.w-set-elegant .w-style-title { text-transform: uppercase; letter-spacing: .08em; }
.word-page.w-set-elegant .w-style-title { text-align: center; }
.word-page.w-set-simple h1, .word-page.w-set-simple h2 { color: var(--w-dk2, #0e2841); }
.word-page.w-set-stylish h1, .word-page.w-set-stylish h2 { font-variant: small-caps; letter-spacing: .03em; }
.word-page.w-set-casual h1 { font-size: calc(22pt * var(--w-heading-scale, 1)); }
.word-page.w-set-centered h1, .word-page.w-set-centered h2, .word-page.w-set-centered .w-style-title, .word-page.w-set-centered .w-style-subtitle { text-align: center; }
.word-page.w-set-lines-distinctive h1 { border-bottom: 3px solid var(--w-accent1, #156082); padding-bottom: 3pt; }
.word-page.w-set-lines-distinctive h2 { border-bottom: 1px solid var(--w-accent1, #156082); padding-bottom: 2pt; }
.word-page.w-set-lines-simple h1 { border-bottom: 1px solid var(--w-accent1, #156082); padding-bottom: 2pt; }
.word-page.w-set-lines-stylish h1 { border-top: 1px solid var(--w-accent1, #156082); border-bottom: 1px solid var(--w-accent1, #156082); padding: 3pt 0; }
.word-page.w-set-minimalist h1, .word-page.w-set-minimalist h2 { letter-spacing: .02em; }
.word-page.w-set-shaded h1 { background: var(--w-accent1, #156082); color: #fff !important; padding: 2pt 6pt; }
.word-page.w-set-shaded h2 { background: var(--w-accent1-light, #cfe4ee); padding: 1pt 6pt; }
.word-page.w-set-title .w-style-title { font-size: 36pt !important; font-weight: 700; }
.word-page.w-set-title h1 { font-size: calc(22pt * var(--w-heading-scale, 1)); }

/* Lists: Word's numbering and multilevel libraries */
@counter-style w-decimal-paren { system: extends decimal; suffix: ") "; }
@counter-style w-lower-alpha-paren { system: extends lower-alpha; suffix: ") "; }
@counter-style w-lower-roman-paren { system: extends lower-roman; suffix: ") "; }
.word-page ol.w-ml-outline { list-style-type: decimal; }
.word-page ol.w-ml-outline ol { list-style-type: lower-alpha; }
.word-page ol.w-ml-outline ol ol { list-style-type: lower-roman; }
.word-page ol.w-ml-paren { list-style-type: w-decimal-paren; }
.word-page ol.w-ml-paren ol { list-style-type: w-lower-alpha-paren; }
.word-page ol.w-ml-paren ol ol { list-style-type: w-lower-roman-paren; }
.word-page ol.w-ml-legal li::marker, .word-page ol.w-ml-legal ol li::marker { content: counters(list-item, ".") ". "; }
.word-page ol.w-ml-legal ol { padding-left: 0.4in; }
.word-page ul.w-ml-bullets { list-style-type: disc; }
.word-page ul.w-ml-bullets ul { list-style-type: circle; }
.word-page ul.w-ml-bullets ul ul { list-style-type: square; }

/* Breaks: invisible until Show/Hide ¶, as in Word */
.word-page .w-pagebreak, .word-page .w-sectionbreak, .word-page .w-colbreak {
  display: flex; align-items: center; gap: 6px; height: 0; margin: 0; overflow: hidden; visibility: hidden;
  color: #5b87c9; font: 9px var(--rw-font, sans-serif); letter-spacing: .02em; user-select: none;
}
.word-page .w-colbreak { break-after: column; }
.word-page.w-show-marks .w-pagebreak, .word-page.w-show-marks .w-sectionbreak, .word-page.w-show-marks .w-colbreak { height: auto; margin: 2px 0; visibility: visible; overflow: visible; }
.word-page .w-pagebreak::before, .word-page .w-pagebreak::after,
.word-page .w-sectionbreak::before, .word-page .w-sectionbreak::after,
.word-page .w-colbreak::before, .word-page .w-colbreak::after { content: ""; flex: 1; border-top: 1px dotted #5b87c9; }
.word-page .w-sectionbreak::before, .word-page .w-sectionbreak::after { border-top-style: double; border-top-width: 3px; }

/* Formatting marks */
.word-page.w-show-marks :is(p, h1, h2, h3, h4, h5, h6, li, blockquote)::after { content: "¶"; margin-left: 1px; color: #7a9cd3; font-weight: 400; font-style: normal; font-size: 11pt; }
.word-page.w-show-marks .w-tab { position: relative; }
.word-page.w-show-marks .w-tab::before { content: "→"; position: absolute; left: 2px; color: #7a9cd3; font-size: 9pt; }
.word-page.w-show-marks td::after, .word-page.w-show-marks th::after { content: "¤"; color: #7a9cd3; font-size: 9pt; }
.word-page.w-show-marks .w-float::before { content: "⚓"; position: absolute; left: -18px; top: 0; color: #7a9cd3; font-size: 11px; }
.word-page.w-show-marks .w-xe, .word-page.w-show-marks .w-field-code { display: inline; }

/* Figures, captions */
.word-page .w-figure { margin: 0 0 var(--w-para-space, 10.67px); text-align: center; }
.word-page .w-figure img { max-width: 100%; }
.word-page .w-caption { margin: 0 0 10pt; color: #0e2841; font-size: 9pt; font-style: italic; text-align: left; }
.word-page .w-figure .w-caption { text-align: center; }
.word-page .w-caption-label { font-style: italic; font-weight: 400; }
.word-page .w-interpretation { color: #1f2937; }
.word-page .w-icon { vertical-align: middle; }
.word-page .w-chart img, .word-page .w-smartart img { display: block; margin: 0 auto; }
.word-page img.w-obj-selected, .word-page .w-obj-selected { outline: 1px solid transparent; }

/* Tables of contents / figures / authorities, index, bibliography */
.word-page .w-toc, .word-page .w-tof, .word-page .w-toa, .word-page .w-index { margin: 0 0 12pt; user-select: none; }
.word-page .w-toc-title, .word-page .w-bib-title { margin: 12pt 0 6pt; color: var(--w-heading-color, #0f4761); font-family: var(--w-heading-font, inherit); font-size: 16pt; }
.word-page .w-toc-row { display: flex; align-items: baseline; gap: 4px; margin: 0 0 5pt; color: inherit; text-decoration: none; font-size: 12pt; }
.word-page .w-toc-row.lvl2 { padding-left: 0.15in; }
.word-page .w-toc-row.lvl3 { padding-left: 0.3in; }
.word-page .w-toc-dots { flex: 1; border-bottom: 1.5px dotted #000; transform: translateY(-4px); }
.word-page .w-toc-empty, .word-page .w-bib-empty { color: #7f7f7f; font-size: 10pt; font-style: italic; }
.word-page .w-toa-cat { margin: 8pt 0 4pt; font-weight: 700; }
.word-page .w-index { column-count: 2; column-gap: 0.5in; }
.word-page .w-index-letter { font-weight: 700; margin: 6pt 0 2pt; break-after: avoid; }
.word-page .w-index-entry { margin: 0; }
.word-page .w-index-entry.sub { padding-left: 0.2in; }
.word-page .w-xe { display: none; color: #7a9cd3; font-size: 9pt; }
.word-page .w-bibliography { margin: 12pt 0; user-select: none; }
.word-page .w-bib-item { margin: 0 0 7pt; padding-left: 0.5in; text-indent: -0.5in; font-size: 12pt; }

/* Citations, cross-references, notes, fields, bookmarks */
.word-page .w-cite { color: inherit; cursor: default; }
.word-page .w-cite.superscript { vertical-align: super; font-size: 78%; }
.word-page .w-cite.broken, .word-page .w-xref.broken { color: #c00000; font-weight: 700; }
.word-page .w-xref { color: inherit; text-decoration: none; cursor: text; }
.word-page .w-fnref, .word-page .w-enref { color: inherit; font-size: 70%; vertical-align: super; line-height: 0; cursor: help; }
.word-page .w-field { background: #e6e6e6; border-radius: 1px; }
.word-page .w-field:hover { background: #d0d0d0; }
.word-page .w-bookmark { outline: 0; }
.word-page.w-show-marks .w-bookmark::before { content: "["; color: #7f7f7f; }
.word-page.w-show-marks .w-bookmark::after { content: "]"; color: #7f7f7f; }
.word-page .w-ta { background: rgba(255, 241, 0, .15); }
.word-page .w-endnotes { margin-top: 18pt; font-size: 10pt; }
.word-note-rule { width: 2in; margin: 0 0 4pt; border-top: 1px solid #000; }
.word-note { margin: 0 0 2pt; font: 10pt/1.2 var(--w-body-font, Aptos, Calibri, sans-serif); color: #000; }
.word-note sup { font-size: 70%; }

/* Tables — Word's default Table Grid, and the older report styles */
.word-page table { border-collapse: collapse; margin: 0 0 var(--w-para-space, 10.67px); font-size: inherit; }
.word-page td, .word-page th { position: relative; min-width: 24px; padding: 0 7px; vertical-align: top; text-align: left; font-weight: inherit; }
.word-page td > p, .word-page th > p { margin: 0; }
.word-page table.w-sheet-table td { font-family: Aptos Narrow, Calibri, sans-serif; font-size: 11pt; }
body.w-table-resizing, body.w-table-resizing * { user-select: none !important; }
body.w-table-resizing-column, body.w-table-resizing-column * { cursor: col-resize !important; }
body.w-table-resizing-row, body.w-table-resizing-row * { cursor: row-resize !important; }
.word-page table:not([data-ts-id]) td, .word-page table:not([data-ts-id]) th { border: 1px solid #9aa0a6; padding: 4px 7px; }
.word-page table.w-table:not([data-ts-id]) th { background: #1b5bb0; color: #fff; font-weight: 600; }
.word-page .w-tbl-plain td, .word-page .w-tbl-plain th { border-color: transparent; }
.word-page .w-tbl-plain th { background: transparent !important; color: inherit !important; border-bottom: 2px solid #1b1b1f; }
.word-page .w-tbl-lines td, .word-page .w-tbl-lines th { border-left: 0; border-right: 0; }
.word-page .w-tbl-lines th { background: transparent !important; color: inherit !important; border-bottom: 2px solid #374151; }
.word-page .w-tbl-banded tbody tr:nth-child(even) { background: #f4f6fa; }
.word-page .w-tbl-report th { background: #1b3a6b !important; }
.word-page .w-tbl-report tbody tr:nth-child(even) { background: #f6f8fb; }
.word-page .w-tbl-autofit { width: auto; }
.word-page .w-linked-table { max-width: 100%; overflow-x: auto; break-inside: avoid; }
.word-page .w-linked-table > table { max-width: 100%; }
.word-page:not(.w-hide-table-grid) table[data-ts-id]:not(.w-ts-grid) td, .word-page:not(.w-hide-table-grid) table[data-ts-id]:not(.w-ts-grid) th { outline: 1px dashed rgba(91, 135, 201, .35); outline-offset: -1px; }
.word-page.w-show-gridlines table td, .word-page.w-show-gridlines table th { outline: 1px dashed rgba(27, 91, 176, .4); }

/* Word table styles (Table Design gallery). Accent colours come from the theme
   via --ts-accent*; Table Style Options are data-ts-* on the table. */
.word-page table[data-ts-id] > * > tr > * { border: 0; background: transparent; color: inherit; }
.word-page table.w-ts-grid > * > tr > * { border: 0.5pt solid #000; }
.word-page table.w-ts-plain1 > * > tr > * { border: 0.5pt solid #bfbfbf; }
.word-page table.w-ts-plain2 { border-top: 0.5pt solid #7f7f7f; border-bottom: 0.5pt solid #7f7f7f; }
.word-page table.w-ts-plain2 > * > tr > * { border-bottom: 0.5pt solid #7f7f7f; }
.word-page table.w-ts-plain3[data-ts-header="1"] > thead > tr > * { text-transform: uppercase; font-weight: 700; border-bottom: 0.5pt solid #7f7f7f; }
.word-page table.w-ts-plain3[data-ts-first-col="1"] > * > tr > :first-child { text-transform: uppercase; font-weight: 700; border-right: 0.5pt solid #7f7f7f; }
.word-page table.w-ts-plain5[data-ts-header="1"] > thead > tr > * { font-style: italic; font-size: 13pt; border-bottom: 0.5pt solid #7f7f7f; }
.word-page table.w-ts-plain5[data-ts-first-col="1"] > * > tr > :first-child { font-style: italic; text-align: right; border-right: 0.5pt solid #7f7f7f; }
.word-page table:is(.w-ts-plain1, .w-ts-plain3, .w-ts-plain4, .w-ts-plain5)[data-ts-band-rows="1"] > tbody > tr:nth-child(odd) > * { background: #f2f2f2; }
.word-page table:is(.w-ts-plain1, .w-ts-plain2, .w-ts-plain4, .w-ts-gridlight, .w-ts-grid4, .w-ts-list1, .w-ts-list4)[data-ts-header="1"] > thead > tr > * { font-weight: 700; }
.word-page table:is(.w-ts-plain1, .w-ts-plain2, .w-ts-plain4, .w-ts-gridlight, .w-ts-grid4, .w-ts-grid6, .w-ts-list1, .w-ts-list3, .w-ts-list4, .w-ts-list6)[data-ts-first-col="1"] > * > tr > :first-child { font-weight: 700; }
.word-page table:is(.w-ts-gridlight, .w-ts-grid4, .w-ts-grid6) > * > tr > * { border: 0.5pt solid var(--ts-accent-light); }
.word-page table:is(.w-ts-gridlight, .w-ts-grid6, .w-ts-list1)[data-ts-header="1"] > thead > tr > * { border-bottom: 1.5pt solid var(--ts-accent-light); font-weight: 700; }
.word-page table.w-ts-grid4[data-ts-header="1"] > thead > tr > * { background: var(--ts-accent); color: #fff; border-color: var(--ts-accent); }
.word-page table:is(.w-ts-grid4, .w-ts-grid6, .w-ts-list1, .w-ts-list4, .w-ts-list6)[data-ts-band-rows="1"] > tbody > tr:nth-child(odd) > * { background: var(--ts-accent-lighter); }
.word-page table.w-ts-grid5dark > * > tr > * { background: var(--ts-accent-lighter); border: 0.5pt solid #fff; }
.word-page table.w-ts-grid5dark[data-ts-band-rows="1"] > tbody > tr:nth-child(odd) > * { background: var(--ts-accent-light); }
.word-page table.w-ts-grid5dark[data-ts-header="1"] > thead > tr > *, .word-page table.w-ts-grid5dark[data-ts-first-col="1"] > * > tr > :first-child { background: var(--ts-accent); color: #fff; font-weight: 700; }
.word-page table:is(.w-ts-grid6, .w-ts-list6, .w-ts-list7) { color: var(--ts-accent-dark); }
.word-page table.w-ts-list3 { border: 1pt solid var(--ts-accent); }
.word-page table.w-ts-list3[data-ts-header="1"] > thead > tr > * { background: var(--ts-accent); color: #fff; font-weight: 700; }
.word-page table.w-ts-list3 > tbody > tr > * { border-bottom: 0.5pt solid var(--ts-accent); }
.word-page table.w-ts-list4 { border-top: 0.5pt solid var(--ts-accent-light); border-bottom: 0.5pt solid var(--ts-accent-light); }
.word-page table.w-ts-list4 > * > tr > * { border-bottom: 0.5pt solid var(--ts-accent-light); }
.word-page table.w-ts-list4[data-ts-header="1"] > thead > tr > * { background: var(--ts-accent); color: #fff; }
.word-page table.w-ts-list6 { border-top: 1pt solid var(--ts-accent); border-bottom: 1pt solid var(--ts-accent); }
.word-page table.w-ts-list6[data-ts-header="1"] > thead > tr > * { font-weight: 700; border-bottom: 1pt solid var(--ts-accent); }
.word-page table.w-ts-list7[data-ts-header="1"] > thead > tr > * { font-style: italic; font-size: 13pt; border-bottom: 0.5pt solid var(--ts-accent); }
.word-page table.w-ts-list7[data-ts-first-col="1"] > * > tr > :first-child { font-style: italic; text-align: right; border-right: 0.5pt solid var(--ts-accent); }
.word-page table.w-ts-list7[data-ts-band-rows="1"] > tbody > tr:nth-child(odd) > * { background: #f2f2f2; }
.word-page table[data-ts-id][data-ts-total="1"] > tbody > tr:last-child > * { font-weight: 700; border-top: 1.5pt double currentColor; background: transparent; }
.word-page table[data-ts-id][data-ts-last-col="1"] > * > tr > :last-child { font-weight: 700; }
.word-page table[data-ts-id][data-ts-band-cols="1"] > tbody > tr > :nth-child(odd) { box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .04); }

/* Table style miniatures (gallery) */
.wd-ts-art { display: flex; flex-direction: column; width: 50px; height: 40px; padding: 2px; background: #fff; }
.wd-ts-art i { display: flex; flex: 1; }
.wd-ts-art b { flex: 1; margin: 0 0 -.5px -.5px; }
.wd-ts-art.w-ts-grid b, .wd-ts-art.w-ts-plain1 b { border: .5px solid #7f7f7f; }
.wd-ts-art.w-ts-plain1 i.o b, .wd-ts-art.w-ts-plain3 i.o b, .wd-ts-art.w-ts-plain4 i.o b, .wd-ts-art.w-ts-plain5 i.o b, .wd-ts-art.w-ts-list7 i.o b { background: #e7e7e7; }
.wd-ts-art.w-ts-plain2 i { border-bottom: .5px solid #7f7f7f; }
.wd-ts-art.w-ts-plain3 i.h, .wd-ts-art.w-ts-plain5 i.h { border-bottom: 1px solid #7f7f7f; }
.wd-ts-art:is(.w-ts-gridlight, .w-ts-grid4, .w-ts-grid6) b { border: .5px solid var(--ts-accent-light); }
.wd-ts-art:is(.w-ts-gridlight, .w-ts-grid6, .w-ts-list1) i.h { border-bottom: 1.5px solid var(--ts-accent-light); }
.wd-ts-art:is(.w-ts-grid4, .w-ts-list3, .w-ts-list4) i.h b { background: var(--ts-accent); }
.wd-ts-art:is(.w-ts-grid4, .w-ts-grid6, .w-ts-list1, .w-ts-list4, .w-ts-list6) i.o b { background: var(--ts-accent-lighter); }
.wd-ts-art.w-ts-grid5dark b { background: var(--ts-accent-lighter); border: .5px solid #fff; }
.wd-ts-art.w-ts-grid5dark i.o b { background: var(--ts-accent-light); }
.wd-ts-art.w-ts-grid5dark i.h b, .wd-ts-art.w-ts-grid5dark b:first-child { background: var(--ts-accent); }
.wd-ts-art.w-ts-list3 { box-shadow: inset 0 0 0 1px var(--ts-accent); }
.wd-ts-art.w-ts-list4 i { border-bottom: .5px solid var(--ts-accent-light); }
.wd-ts-art.w-ts-list6 { border-top: 1px solid var(--ts-accent); border-bottom: 1px solid var(--ts-accent); }
.wd-ts-art.w-ts-list6 i.h { border-bottom: 1px solid var(--ts-accent); }
.wd-ts-art.w-ts-list7 i.h { border-bottom: .5px solid var(--ts-accent); }

/* Comments, tracked changes, find highlights */
.word-page .w-comment-anchor { background: rgba(255, 241, 138, .55); border-bottom: 1px solid #e0b000; }
.word-page .w-comment-anchor.resolved { background: rgba(16, 124, 16, .08); border-bottom-color: #9ecb9e; }
.word-page .w-comment-anchor.flash { animation: w-flash 1.1s ease; }
.word-page.w-hide-comments .w-comment-anchor { background: none; border: 0; }
@keyframes w-flash { 0%, 100% { background: rgba(255, 241, 138, .55); } 40% { background: rgba(255, 175, 40, .85); } }
.word-page ins { color: #c00000; text-decoration: underline; }
.word-page del { color: #c00000; text-decoration: line-through; }
.word-page[data-markup="simple"] ins { color: inherit; text-decoration: none; }
.word-page[data-markup="simple"] del { display: none; }
.word-page[data-markup="none"] ins { color: inherit; text-decoration: none; }
.word-page[data-markup="none"] del { display: none; }
.word-page[data-markup="original"] ins { display: none; }
.word-page[data-markup="original"] del { color: inherit; text-decoration: none; }
.word-page.w-hide-revisions ins { color: inherit; text-decoration: none; }
.word-page.w-hide-revisions del { display: none; }
.word-page.w-tracking { caret-color: #c00000; }
mark.w-find-hit { background: #fff100; color: inherit; padding: 0; }
mark.w-find-hit.current { background: #ff9e3d; }

/* Mail merge */
.word-page .w-mergefield { color: inherit; }
.word-page.w-merge-highlight .w-mergefield { background: #d9d9d9; }

/* Floating objects: shapes, text boxes, WordArt, drawing canvases */
.word-page .w-float { box-sizing: border-box; }
.word-page .w-float[data-wrap="front"], .word-page .w-float[data-wrap="behind"] { position: absolute; z-index: 5; }
.word-page .w-float[data-wrap="behind"] { z-index: -1 !important; }
.word-page .w-float[data-wrap="square"], .word-page .w-float[data-wrap="tight"], .word-page .w-float[data-wrap="through"] { float: left; margin: 0 12px 6px 0; }
.word-page .w-float[data-wrap="square"][data-side="right"], .word-page .w-float[data-wrap="tight"][data-side="right"] { float: right; margin: 0 0 6px 12px; }
.word-page .w-float[data-wrap="topBottom"] { display: block; margin: 6px auto; }
.word-page .w-float[data-wrap="inline"] { position: relative; display: inline-block; vertical-align: bottom; }
.word-page .w-float > img { display: block; width: 100%; height: 100%; object-fit: fill; }
.word-page .w-shape { --shape-fill: #156082; --shape-stroke: #0b3345; }
.word-page .w-shape-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.word-page .w-tb-body {
  position: relative; display: flex; flex-direction: column; justify-content: flex-start; width: 100%; height: 100%;
  padding: 0.05in 0.1in; box-sizing: border-box; overflow: hidden; outline: none; cursor: text; font-size: 12pt;
}
.word-page .w-shape .w-tb-body { justify-content: center; text-align: center; color: #fff; }
.word-page .w-tb-body p { margin: 0 0 4pt; }
.word-page .w-textbox { border: 0.75pt solid #000; background: var(--shape-fill, #fff); }
.word-page .w-wordart { background: transparent; }
.word-page .w-wordart .w-tb-body { justify-content: center; overflow: visible; }
.word-page .w-canvas { border: 1px dashed rgba(0, 0, 0, .25); background: transparent; }
.word-page .w-canvas .w-ink-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.word-page .w-ink-layer { position: absolute; left: 0; top: 0; z-index: 6; pointer-events: none; }
.word-page .w-ink-layer svg { overflow: visible; }
.wd-app.wd-inking .word-page .w-ink-layer, .wd-app.wd-inking .word-page .w-canvas { pointer-events: auto; }
.wd-app.wd-hide-ink .word-page :is(.w-ink-layer, .w-ink-svg) { visibility: hidden; }
.word-page .w-ink-sel { filter: drop-shadow(0 0 2px #0078d4); }
.word-page .w-obj-selected { outline: none; }
.word-page .w-float:hover:not(.w-obj-selected) { outline: 1px solid rgba(24, 90, 189, .35); }

/* Equations */
.word-page .w-eq { display: inline-block; padding: 0 2px; font-family: "Cambria Math", Cambria, "STIX Two Math", "Latin Modern Math", Georgia, serif; font-style: normal; cursor: pointer; }
.word-page .w-eq:hover { background: #e8f0fb; }
.word-page .w-eq math { font-size: 1.05em; }
.word-page .w-eq.editing { background: #f3f3f3; outline: 1px solid #c8c6c4; padding: 0 4px; }
.word-page .w-eq-edit { outline: none; white-space: pre; font-style: italic; min-width: 1ch; display: inline-block; }
.word-page .w-eq-placeholder { color: #7f7f7f; }
.word-page .w-eq-box { color: #7f7f7f; }

/* Drop caps, signature lines, envelopes, labels */
.word-page .w-dropcap[data-position="dropped"] { float: left; font-size: calc(var(--dc-lines, 3) * 1.15em); line-height: .85; margin: .05em .08em 0 0; initial-letter: var(--dc-lines, 3); }
.word-page .w-dropcap[data-position="margin"] { position: absolute; left: -0.9in; font-size: calc(var(--dc-lines, 3) * 1.15em); line-height: .85; initial-letter: var(--dc-lines, 3); }
.word-page .w-signature { width: 3in; margin: 24pt 0 10pt; user-select: none; }
.word-page .w-sig-row { display: flex; align-items: flex-end; gap: 6px; height: 0.6in; }
.word-page .w-sig-x { font-size: 24pt; line-height: 1; }
.word-page .w-sig-line { flex: 1; border-bottom: 1.5px solid #000; }
.word-page .w-sig-name, .word-page .w-sig-title { font-size: 10pt; }
.word-page .w-sig-date { font-size: 10pt; color: #595959; }
.word-page .w-envelope { position: relative; height: 3.5in; margin: 0 0 12pt; border: 1px dashed #bfbfbf; font-size: 11pt; }
.word-page .w-env-return { position: absolute; left: 0.2in; top: 0.2in; }
.word-page .w-env-delivery { position: absolute; left: 3.5in; top: 1.6in; }
.word-page table.w-labels td { border: 1px dashed rgba(0, 0, 0, .12); padding: 0.05in 0.12in; vertical-align: middle; font-size: 11pt; }

/* Cover pages */
.word-page .w-cover { position: relative; min-height: 8.5in; margin: 0; }
.word-page .w-cover p { margin: 0; }
.word-page .w-cover [data-placeholder]:empty::before { content: attr(data-placeholder); color: #808080; }
.word-page .w-cover-title { font-family: var(--w-heading-font, inherit); font-size: 36pt; line-height: 1.05; color: #000; }
.word-page .w-cover-subtitle { font-size: 16pt; color: #595959; margin-top: 8pt !important; }
.word-page .w-cover-author { font-size: 12pt; margin-top: 18pt !important; }
.word-page .w-cover-date { font-size: 12pt; color: #595959; margin-top: 6pt !important; }
.word-page .w-cover-abstract { font-size: 11pt; color: #fff; max-width: 5in; }
.word-page .w-cover-top { margin: calc(-1 * var(--w-margin-top, 96px)) calc(-1 * var(--w-margin-right, 96px)) 36pt calc(-1 * var(--w-margin-left, 96px)); padding: 1.4in var(--w-margin-right, 96px) 0.5in var(--w-margin-left, 96px); min-height: 3.2in; box-sizing: border-box; }
.word-page .w-cover-austin .w-cover-title { margin-top: 40pt !important; }
.word-page .w-cover-band { margin: 2.2in calc(-1 * var(--w-margin-right, 96px)) 36pt calc(-1 * var(--w-margin-left, 96px)); padding: 0.5in var(--w-margin-right, 96px) 0.5in var(--w-margin-left, 96px); }
.word-page .w-cover-band .w-cover-title, .word-page .w-cover-band .w-cover-subtitle { color: #fff; }
.word-page .w-cover-facet { position: absolute; left: calc(-1 * var(--w-margin-left, 96px)); top: calc(-1 * var(--w-margin-top, 96px)); bottom: -1in; width: 0.9in; background: linear-gradient(90deg, var(--c2) 0 45%, var(--c1) 45%); }
.word-page .w-cover-bottom { position: absolute; left: 0.3in; right: 0; bottom: 0.5in; }
.word-page .w-cover-dark { margin: calc(-1 * var(--w-margin-top, 96px)) calc(-1 * var(--w-margin-right, 96px)) 0 calc(-1 * var(--w-margin-left, 96px)); padding: 3in var(--w-margin-right, 96px) 1in var(--w-margin-left, 96px); min-height: 10in; background: #262626; box-sizing: border-box; }
.word-page .w-cover-dark .w-cover-title, .word-page .w-cover-dark .w-cover-author, .word-page .w-cover-dark .w-cover-date { color: #fff; }
.word-page .w-cover-dark .w-cover-subtitle { color: #d9d9d9; }
.word-page .w-cover-rule { height: 4px; width: 2in; margin: 14pt 0 !important; }
.word-page .w-cover-frame { margin-top: 1.2in; padding: 1in 0.5in; border: 3px solid; text-align: center; }
.word-page .w-cover-frame .w-cover-rule { margin: 14pt auto !important; }
.word-page .w-cover-side { margin-top: 1.4in; padding-left: 0.3in; border-left: 5px solid; }
.word-page .w-cover:not([data-cover]) { padding: 150px 0 40px; text-align: center; }
.word-page .w-cover-meta { color: #6b7280; font-size: 11pt; }

/* Consecutive pasted/project figures form a two-up gallery. */
.word-page .w-auto-figure { display: inline-flex; flex-direction: column; width: calc(50% - 8px); margin: 8px 12px 12px 0; vertical-align: top; break-inside: avoid; }
.word-page .w-auto-figure:nth-of-type(even) { margin-right: 0; }
.word-page .w-auto-figure img { width: 100%; max-height: 290px; object-fit: contain; }

/* ---- Sheets: header, footer, watermark, page border, footnotes ------------------------- */
.word-page-sheet .word-sheet-header, .word-page-sheet .word-sheet-footer {
  position: absolute; z-index: 1; overflow: hidden; color: #000;
  font: 11pt/1.2 var(--w-body-font, Aptos, Calibri, sans-serif);
}
.word-page-sheet .word-sheet-header p, .word-page-sheet .word-sheet-footer p { margin: 0; }
.word-page-sheet .word-sheet-footer { transform: none; }
.word-sheet-header.empty, .word-sheet-footer.empty { min-height: 14px; }
.word-page-sheet .w-hf-3col { display: flex; justify-content: space-between; gap: 12px; }
.word-page-sheet .w-hf-band, .wd-hf-editor .w-hf-band { padding: 3pt 6pt; }
.word-page-sheet .w-hf-austin { padding-bottom: 2pt; }
.word-page-sheet .w-pn-circle, .wd-hf-editor .w-pn-circle { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #156082; color: #fff; }
.word-page-sheet [data-placeholder]:empty::before { content: ""; }
.wd-hf-editor [data-placeholder]:empty::before { content: attr(data-placeholder); color: #808080; }
.wd-hf-editor .w-hf-3col { display: flex; justify-content: space-between; gap: 12px; }
.wd-hf-editor .w-hf-3col > span { min-width: 60px; }
.wd-hf-editor .w-field { background: #e6e6e6; }
.word-sheet-border { position: absolute; inset: 24pt; z-index: 0; pointer-events: none; }
.word-sheet-watermark { position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; pointer-events: none; }
.word-sheet-watermark span { white-space: nowrap; font-weight: 400; line-height: 1; }
.word-sheet-watermark.diagonal span { transform: rotate(-45deg); }
.word-sheet-watermark img { max-width: 80%; max-height: 80%; }
.word-sheet-notes { position: absolute; z-index: 1; }

/* Print clones */
.wd-print-sheet .word-page.wd-print-body > [data-word-gap] { display: none; }
.wd-print-sheet { overflow: hidden; }
@media print {
  .word-page .w-comment-anchor { background: none; border: 0; }
  .word-page .w-field { background: none; }
  .word-page .w-mergefield { background: none; }
}

/* ---- Window colour themes ------------------------------------------------------------------
   css/app-color-themes.css forces colour and surfaces on many class shapes; Word's
   own chrome keeps its palette (see the shared guard block in report-studio-word.css). */
#os#os .wd-root :is([class^="wd-"], [class*=" wd-"]):not(.word-page):not(.word-page *):not(.word-page-sheet *):not(.wd-hf-editor *) { color: var(--rw-c, var(--rw-text)) !important; }
#os#os .wd-root .wd-canvas-col, #os#os .wd-root .word-scroll { background-color: var(--rw-canvas) !important; border-color: transparent !important; }
#os#os .wd-root .wd-titlebar, #os#os .wd-root .wd-ribbon-host { background-color: var(--rw-bg) !important; }
#os#os .wd-root .word-page-sheet { background-color: #fff; }
#os#os .wd-root .word-page { color: #000 !important; background: transparent !important; border-color: transparent !important; }
/* Word never draws a focus ring around the document. */
#os#os .wd-root .word-page:is(:focus, :focus-visible) { outline: none !important; box-shadow: none !important; }
/* Template thumbnails are pictures of documents: white paper in every theme. */
#os#os .wd-backstage .rw-bs-tile-art { background-color: #fff !important; }
#os#os .wd-root .wd-pane-body :is(input, select, textarea) { color: var(--rw-text) !important; background-color: var(--rw-surface) !important; border-color: var(--rw-border-strong) !important; }
#os#os .wd-root .wd-pbtn.primary { color: #fff !important; background-color: var(--rw-accent) !important; border-color: var(--rw-accent) !important; }
#os#os .wd-root .wd-pbtn:not(.primary) { background-color: var(--rw-surface) !important; border-color: var(--rw-border-strong) !important; }
#os#os .wd-root .wd-editor-row b { color: #fff !important; }
#os#os .wd-root .wd-editor-row.done b { color: #107c10 !important; }
#os#os .wd-root .wd-backstage .rw-bs-nav, #os#os .wd-root .wd-backstage .rw-bs-nav * { color: #fff !important; }
#os#os .wd-root .wd-backstage .rw-bs-nav { background-color: #185abd !important; }
#os#os .wd-root .wd-appmark { background-color: #185abd !important; }
#os#os .wd-root .wd-read.inverse .wd-read-content { color: #f3f3f3 !important; }
#os#os .wd-root .wd-ruler-track { background-color: #fff !important; }
#os#os .wd-root .wd-ruler-margin { background-color: #d9d9d9 !important; }
#os#os .wd-root .wd-ruler-num { color: #323130 !important; }
#os#os .wd-root .wd-ruler { background-color: var(--rw-canvas) !important; }

/* Dark Office theme (Word Options › Office Theme › Black / Dark Gray, or a dark window):
   the chrome goes dark, the page stays white, as Word does by default. */
.wd-root.rw-dark .wd-ruler-track { background: #fff; }

/* ---- Function / concept search (top-right) ---- */
.word-ribbon .office-rb-trailing {
  display: flex;
  align-items: center;
  align-self: center;
  margin-left: 8px;
  flex: none;
  position: relative;
  z-index: 12;
  overflow: visible;
}
.word-ribbon .word-fnsearch {
  --fn-accent: var(--office-rb-accent, #1b5bb0);
  position: relative; z-index: 12; flex: none; flex-shrink: 0;
}
.word-fnsearch-field {
  display: flex; align-items: center; gap: 6px;
  height: 22px; width: 178px; padding: 0 10px 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--fn-accent) 11%, #fff);
  border: 1px solid color-mix(in srgb, var(--fn-accent) 28%, #cfd3db);
  color: #1f2733;
  box-sizing: border-box;
  transition: background .14s ease, border-color .14s ease, box-shadow .14s ease, width .18s ease, color .14s ease;
}
.word-fnsearch-field:hover {
  background: color-mix(in srgb, var(--fn-accent) 16%, #fff);
  border-color: color-mix(in srgb, var(--fn-accent) 42%, #cfd3db);
}
.word-fnsearch.open .word-fnsearch-field,
.word-fnsearch-field.on,
.word-fnsearch-field:focus-within {
  background: #fff;
  border-color: var(--fn-accent);
  color: #1f2733;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--fn-accent) 28%, transparent),
    0 8px 22px rgba(16, 32, 72, .16);
}
.word-fnsearch-ic { display: inline-flex; align-items: center; justify-content: center; color: inherit; opacity: .92; flex: none; }
.word-fnsearch-ic svg { width: 14px; height: 14px; display: block; overflow: visible; stroke-width: 2; }
.word-fnsearch-input {
  flex: 1; min-width: 0; height: 100%;
  border: 0; background: transparent; color: inherit;
  font: inherit; font-size: 12px; font-weight: 500; outline: none;
  padding: 0; line-height: 1;
}
.word-fnsearch-input:focus,
.word-fnsearch-input:focus-visible { outline: none; }
.word-fnsearch-input::-webkit-search-decoration,
.word-fnsearch-input::-webkit-search-cancel-button { display: none; }
.word-fnsearch-input::placeholder { color: #6c7686; font-weight: 500; }
.word-fnsearch.open .word-fnsearch-input::placeholder,
.word-fnsearch-field.on .word-fnsearch-input::placeholder,
.word-fnsearch-field:focus-within .word-fnsearch-input::placeholder { color: #6c7686; }

.word-fnsearch-pop {
  --fn-pop-bg: #fff;
  --fn-pop-ink: #1f2733;
  --fn-pop-muted: #5c6573;
  --fn-pop-line: #d7dce6;
  --fn-pop-accent: var(--fn-accent, #2f6bd4);
  --fn-pop-shadow: 0 22px 56px rgba(16, 32, 72, .28), 0 2px 8px rgba(16, 32, 72, .08);
  display: flex;
  position: absolute; top: calc(100% + 7px); right: 0;
  width: min(540px, calc(100vw - 48px));
  width: min(540px, calc(100cqi - 24px));
  max-height: min(420px, 72vh);
  isolation: isolate;
  background-color: var(--fn-pop-bg);
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--fn-pop-accent) 9%, transparent), transparent 2.4rem);
  color: var(--fn-pop-ink);
  border: 1px solid var(--fn-pop-line);
  border-radius: 14px;
  box-shadow: var(--fn-pop-shadow);
  z-index: 80;
  overflow: hidden;
  flex-direction: column;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-6px) scale(.985);
  transform-origin: top right;
  transition: opacity .14s ease, transform .16s ease, visibility 0s linear .16s;
}
.word-fnsearch-pop.on {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity .14s ease, transform .16s ease, visibility 0s;
}
.word-fnsearch-head {
  display: flex; align-items: baseline; gap: 8px; flex: none;
  padding: 10px 14px 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--fn-pop-line) 85%, transparent);
}
.word-fnsearch-title {
  font-size: 10.5px; font-weight: 800; letter-spacing: .72px;
  text-transform: uppercase; color: var(--fn-pop-muted);
}
.word-fnsearch-count {
  margin-left: auto; font-size: 11px; color: var(--fn-pop-muted);
  font-variant-numeric: tabular-nums; font-weight: 600;
}
.word-fnsearch-pop.is-suggest .word-fnsearch-count { display: none; }
.word-fnsearch-list {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 6px;
  padding: 8px; overflow: auto; min-height: 0; flex: 1 1 auto;
  scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--fn-pop-muted) 45%, transparent) transparent;
}
.word-fnsearch-list::-webkit-scrollbar { width: 8px; height: 8px; }
.word-fnsearch-list::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--fn-pop-muted) 40%, transparent);
  border-radius: 99px; border: 2px solid transparent; background-clip: padding-box;
}
.word-fnsearch-list.cols-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.word-fnsearch-item {
  display: flex; align-items: center; gap: 8px;
  width: 100%; min-width: 0; text-align: left;
  border: 1px solid transparent; background: transparent;
  color: var(--fn-pop-ink); border-radius: 10px;
  padding: 6px 8px; cursor: pointer; min-height: 40px;
  box-sizing: border-box; overflow: hidden;
  transition: background .08s ease, border-color .08s ease, color .08s ease, box-shadow .08s ease;
}
.word-fnsearch-item:hover {
  background: color-mix(in srgb, var(--fn-pop-accent) 8%, transparent);
  border-color: color-mix(in srgb, var(--fn-pop-accent) 18%, transparent);
}
.word-fnsearch-item.is-active,
.word-fnsearch-item:hover.is-active {
  background: var(--fn-pop-accent);
  border-color: var(--fn-pop-accent);
  color: #fff;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--fn-pop-accent) 38%, transparent);
}
.word-fnsearch-item:focus { outline: none; }
.word-fnsearch-item:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--fn-pop-accent) 65%, #fff);
  outline-offset: -2px;
}
.word-fnsearch-item.is-active:focus-visible {
  outline-color: rgba(255,255,255,.72);
}
.word-fnsearch-item-ic {
  flex: none; width: 28px; height: 28px; border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  background: color-mix(in srgb, var(--fn-pop-accent) 12%, transparent);
  color: var(--fn-pop-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fn-pop-accent) 14%, transparent);
}
.word-fnsearch-item:hover:not(.is-active) .word-fnsearch-item-ic {
  background: color-mix(in srgb, var(--fn-pop-accent) 18%, transparent);
}
.word-fnsearch-item.is-active .word-fnsearch-item-ic {
  background: rgba(255,255,255,.18); color: #fff; box-shadow: none;
}
.word-fnsearch-item-ic svg { width: 15px; height: 15px; display: block; overflow: visible; }
.word-fnsearch-item-text { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.word-fnsearch-item-name {
  font-size: 12.5px; font-weight: 600; line-height: 1.2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.word-fnsearch-item-hint {
  font-size: 10.5px; color: var(--fn-pop-muted); line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.word-fnsearch-item.is-active .word-fnsearch-item-hint { color: rgba(255,255,255,.82); }
.word-fnsearch-pop.is-empty {
  background-image: none;
  background-color: var(--fn-pop-bg);
  color: var(--fn-pop-ink);
}
.word-fnsearch-pop.is-empty .word-fnsearch-list {
  grid-template-columns: minmax(0, 1fr);
  min-height: 168px;
  background-color: transparent;
}
.word-fnsearch-empty {
  grid-column: 1 / -1;
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  gap: 8px; padding: 28px 20px 24px; color: var(--fn-pop-muted);
  min-height: 168px; background: transparent;
}
.word-fnsearch-empty-ic {
  width: 40px; height: 40px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--fn-pop-accent);
  background: color-mix(in srgb, var(--fn-pop-accent) 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fn-pop-accent) 16%, transparent);
}
.word-fnsearch-empty-ic svg { width: 18px; height: 18px; overflow: visible; }
.word-fnsearch-empty strong {
  color: var(--fn-pop-ink); font-size: 13px; font-weight: 700;
  max-width: 100%; overflow-wrap: anywhere;
}
.word-fnsearch-empty p { margin: 0; font-size: 12px; line-height: 1.45; max-width: 320px; }
.word-fnsearch-foot {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; flex: none;
  padding: 7px 12px 8px;
  border-top: 1px solid var(--fn-pop-line);
  background: color-mix(in srgb, var(--fn-pop-ink) 2.5%, var(--fn-pop-bg));
  font-size: 10.5px; color: var(--fn-pop-muted);
}
.word-fnsearch-k { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.word-fnsearch-k kbd {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 16px; padding: 0 5px;
  border-radius: 4px; font: 600 10px/1 ui-sans-serif, system-ui, sans-serif;
  color: var(--fn-pop-ink);
  background: color-mix(in srgb, var(--fn-pop-ink) 6%, var(--fn-pop-bg));
  box-shadow: inset 0 0 0 1px var(--fn-pop-line);
}
.word-fnsearch-pop:not(.cols-2) .word-fnsearch-k-cols,
.word-fnsearch-pop.is-empty .word-fnsearch-k-move,
.word-fnsearch-pop.is-empty .word-fnsearch-k-cols,
.word-fnsearch-pop.is-empty .word-fnsearch-k-open { display: none; }

.dark .word-fnsearch-pop,
#os.dark .word-fnsearch-pop,
.window[data-app-color-tone="dark"] .word-fnsearch-pop {
  --fn-pop-bg: #1c212b;
  --fn-pop-ink: #e8ecf3;
  --fn-pop-muted: #9aa5b5;
  --fn-pop-line: #3a4252;
  --fn-pop-shadow: 0 28px 64px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.06);
}
.dark .word-fnsearch-field,
#os.dark .word-fnsearch-field,
.window[data-app-color-tone="dark"] .word-fnsearch-field {
  background: color-mix(in srgb, var(--fn-accent) 18%, #1c212b);
  border-color: color-mix(in srgb, var(--fn-accent) 38%, #3a4252);
  color: #e8ecf3;
}
.dark .word-fnsearch-input::placeholder,
#os.dark .word-fnsearch-input::placeholder,
.window[data-app-color-tone="dark"] .word-fnsearch-input::placeholder { color: #9aa5b5; }
.dark .word-fnsearch.open .word-fnsearch-field,
.dark .word-fnsearch-field.on,
.dark .word-fnsearch-field:focus-within,
#os.dark .word-fnsearch.open .word-fnsearch-field,
#os.dark .word-fnsearch-field.on,
#os.dark .word-fnsearch-field:focus-within,
.window[data-app-color-tone="dark"] .word-fnsearch.open .word-fnsearch-field,
.window[data-app-color-tone="dark"] .word-fnsearch-field.on,
.window[data-app-color-tone="dark"] .word-fnsearch-field:focus-within {
  background: #fff;
  color: #1f2733;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--fn-accent) 45%, transparent),
    0 10px 24px rgba(0, 0, 0, .45);
}
.dark .word-fnsearch-item:hover:not(.is-active),
#os.dark .word-fnsearch-item:hover:not(.is-active),
.window[data-app-color-tone="dark"] .word-fnsearch-item:hover:not(.is-active) {
  background: color-mix(in srgb, var(--fn-pop-accent) 14%, transparent);
  border-color: color-mix(in srgb, var(--fn-pop-accent) 28%, transparent);
}
.dark .word-fnsearch-item-ic,
#os.dark .word-fnsearch-item-ic,
.window[data-app-color-tone="dark"] .word-fnsearch-item-ic {
  background: color-mix(in srgb, var(--fn-pop-accent) 16%, transparent);
  color: color-mix(in srgb, var(--fn-pop-accent) 70%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fn-pop-accent) 22%, transparent);
}
@media (prefers-reduced-motion: reduce) {
  .word-fnsearch-field, .word-fnsearch-pop, .word-fnsearch-pop.on, .word-fnsearch-item { transition: none; transform: none; }
}
@media (max-width: 1080px) { .word-fnsearch-field { width: 156px; } }
@media (max-width: 920px) {
  .word-fnsearch-field { width: 138px; padding: 0 8px 0 7px; }
  .word-fnsearch-input { font-size: 11.5px; }
}
@media (max-width: 760px) {
  .word-fnsearch-field { width: 32px; padding: 0 8px; gap: 0; overflow: hidden; }
  .word-fnsearch-input { width: 0; min-width: 0; padding: 0; opacity: 0; pointer-events: none; }
  .word-fnsearch.open .word-fnsearch-field,
  .word-fnsearch-field.on,
  .word-fnsearch-field:focus-within { width: 158px; gap: 6px; overflow: visible; }
  .word-fnsearch.open .word-fnsearch-input,
  .word-fnsearch-field.on .word-fnsearch-input,
  .word-fnsearch-field:focus-within .word-fnsearch-input {
    width: auto; opacity: 1; pointer-events: auto; flex: 1;
  }
}
@container word-app (max-width: 1080px) {
  .word-fnsearch-field { width: 156px; }
}
@container word-app (max-width: 920px) {
  .word-ribbon .office-rb-context { display: none; }
  .word-ribbon .office-rb-trailing { margin-left: auto; }
  .word-fnsearch-field { width: 138px; padding: 0 8px 0 7px; }
  .word-fnsearch-input { font-size: 11.5px; }
}
@container word-app (max-width: 760px) {
  .word-fnsearch-field { width: 32px; padding: 0 8px; gap: 0; overflow: hidden; cursor: pointer; }
  .word-fnsearch-input { width: 0; min-width: 0; padding: 0; opacity: 0; pointer-events: none; }
  .word-fnsearch.open .word-fnsearch-field,
  .word-fnsearch-field.on,
  .word-fnsearch-field:focus-within { width: 158px; gap: 6px; overflow: visible; cursor: text; }
  .word-fnsearch.open .word-fnsearch-input,
  .word-fnsearch-field.on .word-fnsearch-input,
  .word-fnsearch-field:focus-within .word-fnsearch-input {
    width: auto; opacity: 1; pointer-events: auto; flex: 1;
  }
}

/* Beat OS per-window color-theme input/surface !important (Word-scoped). */
#os .window[data-app-color-theme] .word-app input.word-fnsearch-input:not([type="color"]):not([type="range"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]),
body .window[data-app-color-theme] .word-app input.word-fnsearch-input:not([type="color"]):not([type="range"]):not([type="file"]):not([type="checkbox"]):not([type="radio"]) {
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  line-height: 1 !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-input::placeholder,
body .window[data-app-color-theme] .word-app .word-fnsearch-input::placeholder {
  color: #6c7686 !important;
  opacity: 1;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-head,
#os .window[data-app-color-theme] .word-app .word-fnsearch-list,
#os .window[data-app-color-theme] .word-app .word-fnsearch-empty,
body .window[data-app-color-theme] .word-app .word-fnsearch-head,
body .window[data-app-color-theme] .word-app .word-fnsearch-list,
body .window[data-app-color-theme] .word-app .word-fnsearch-empty {
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-pop,
#os .window[data-app-color-theme] .word-app .word-fnsearch-pop.is-empty,
body .window[data-app-color-theme] .word-app .word-fnsearch-pop,
body .window[data-app-color-theme] .word-app .word-fnsearch-pop.is-empty {
  background-color: var(--fn-pop-bg, #fff) !important;
  color: var(--fn-pop-ink, #1f2733) !important;
  border-color: var(--fn-pop-line, #d7dce6) !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-empty strong,
body .window[data-app-color-theme] .word-app .word-fnsearch-empty strong {
  color: var(--fn-pop-ink, #1f2733) !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-foot,
body .window[data-app-color-theme] .word-app .word-fnsearch-foot {
  background: color-mix(in srgb, var(--fn-pop-ink) 2.5%, var(--fn-pop-bg)) !important;
  color: var(--fn-pop-muted) !important;
  border-top-color: var(--fn-pop-line) !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-item,
body .window[data-app-color-theme] .word-app .word-fnsearch-item {
  background: transparent !important;
  color: var(--fn-pop-ink) !important;
  border-color: transparent !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-item:hover,
body .window[data-app-color-theme] .word-app .word-fnsearch-item:hover {
  background: color-mix(in srgb, var(--fn-pop-accent) 8%, transparent) !important;
  border-color: color-mix(in srgb, var(--fn-pop-accent) 18%, transparent) !important;
  color: var(--fn-pop-ink) !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-item.is-active,
#os .window[data-app-color-theme] .word-app .word-fnsearch-item:hover.is-active,
body .window[data-app-color-theme] .word-app .word-fnsearch-item.is-active,
body .window[data-app-color-theme] .word-app .word-fnsearch-item:hover.is-active {
  background: var(--fn-pop-accent) !important;
  border-color: var(--fn-pop-accent) !important;
  color: #fff !important;
}
#os .window[data-app-color-theme] .word-app .word-fnsearch-item.is-active .word-fnsearch-item-hint,
body .window[data-app-color-theme] .word-app .word-fnsearch-item.is-active .word-fnsearch-item-hint {
  color: rgba(255,255,255,.82) !important;
}
#os.dark .window[data-app-color-theme] .word-app .word-fnsearch-pop,
#os.dark .window[data-app-color-theme] .word-app .word-fnsearch-pop.is-empty,
.dark #os .window[data-app-color-theme] .word-app .word-fnsearch-pop,
.window[data-app-color-tone="dark"] .word-app .word-fnsearch-pop,
.window[data-app-color-tone="dark"] .word-app .word-fnsearch-pop.is-empty {
  --fn-pop-bg: #1c212b;
  --fn-pop-ink: #e8ecf3;
  --fn-pop-muted: #9aa5b5;
  --fn-pop-line: #3a4252;
  background-color: #1c212b !important;
  color: #e8ecf3 !important;
  border-color: #3a4252 !important;
}

/* ---- Word's Search box (Alt+Q) in the title bar ---------------------------------------
   The function search above, restyled as Word's centred Search field. */
.wd-searchslot .word-fnsearch { --fn-accent: #185abd; width: 100%; max-width: 468px; position: relative; z-index: 40; }
#os#os .wd-root .wd-searchslot .word-fnsearch-field,
.wd-root .wd-searchslot .word-fnsearch-field {
  width: 100% !important; height: 30px !important; padding: 0 10px !important; gap: 8px;
  border-radius: 6px !important; border: 1px solid transparent !important;
  background: var(--rw-surface) !important; color: var(--rw-text) !important;
  box-shadow: 0 0 0 1px var(--rw-border) inset !important; transition: none;
}
#os#os .wd-root .wd-searchslot .word-fnsearch-field:hover,
.wd-root .wd-searchslot .word-fnsearch-field:hover { box-shadow: 0 0 0 1px var(--rw-border-strong) inset !important; }
#os#os .wd-root .wd-searchslot .word-fnsearch-field:focus-within,
#os#os .wd-root .wd-searchslot .word-fnsearch-field.on,
.wd-root .wd-searchslot .word-fnsearch-field:focus-within,
.wd-root .wd-searchslot .word-fnsearch-field.on {
  background: var(--rw-surface) !important;
  box-shadow: 0 0 0 1px var(--rw-border) inset, inset 0 -2px 0 var(--rw-focus) !important;
}
.wd-root .wd-searchslot .word-fnsearch-ic { color: var(--rw-text-3); }
.wd-root .wd-searchslot .word-fnsearch-input { font-size: 12.5px !important; font-weight: 400 !important; color: var(--rw-text) !important; }
#os#os .wd-root .wd-searchslot .word-fnsearch-input::placeholder,
.wd-root .wd-searchslot .word-fnsearch-input::placeholder { color: var(--rw-text-3) !important; font-weight: 400; }
.wd-root .wd-searchslot .word-fnsearch-pop {
  left: 0; right: 0; width: auto; min-width: 420px; top: calc(100% + 4px);
  border-radius: 8px; transform-origin: top center; background-image: none;
}
@container word-app (max-width: 760px) {
  .wd-root .wd-searchslot .word-fnsearch-field { width: 32px !important; }
  .wd-root .wd-searchslot .word-fnsearch-field:focus-within { width: 100% !important; }
}

/* Collapsed ribbon groups (narrow windows) and their drop-downs */
.rw-group.wd-collapsed { justify-content: flex-start; padding-top: 2px; }
.rw-group.wd-collapsed .wd-group-drop { height: 88px; max-width: 84px; }
.wd-group-popover { padding: 0; }
.wd-group-pop { display: flex; flex-direction: column; padding: 6px 8px 0; background: #fff; }
.wd-group-pop .rw-cols, .wd-group-pop .rw-rows { height: 72px; }
.wd-group-pop .rw-cmd { color: #242424; }
.wd-group-pop .rw-group-label { color: #616161; }

/* Big buttons: the icon area never shrinks (it is the button's main half) */
.wd-root .rw-big .rw-big-top { flex: 0 0 auto; }
.wd-root .rw-big-label.wd-two-line { display: block; text-align: center; }
.wd-root .rw-big-label.wd-two-line .rw-big-text { display: inline; -webkit-line-clamp: unset; }
.wd-root .rw-big-label.wd-two-line .rw-ic { display: inline-flex; vertical-align: middle; margin-left: 2px; }

/* Galleries shed their last styles before a group collapses (fitRibbon). */
.wd-root .rw-gallery-item[hidden] { display: none !important; }

/* Narrow windows: Comments and Editing drop to icons first, then Share, as in Word. */
@container word-app (max-width: 1000px) {
  .wd-root .rw-trb:not(.primary) .wd-trb-label { display: none; }
}
@container word-app (max-width: 820px) {
  .wd-root .rw-trb.primary .wd-trb-label { display: none; }
}
