.uwriter{
  --bg:#f6f7fb; --panel:#fff; --text:#1f2328; --muted:#6a737d;
  --border:#d0d7de; --shadow:0 10px 24px rgba(0,0,0,.08);
  --primary:#2563eb; --hover:rgba(37,99,235,.10);
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  --page-width: 794px;
  --page-height: 1123px;
  --page-padding: 24px 28px;
  --page-pad-y: 24px;
  --page-pad-x: 28px;
}
.uwriter.ih-shell[data-theme="dark"]{
  --bg:#0b1220; --panel:#0f172a; --text:#e5e7eb; --muted:#9aa4b2;
  --border:#2b3345; --shadow:0 12px 32px rgba(0,0,0,.28);
  --primary:#60a5fa; --hover:rgba(96,165,250,.12);
}
.uwriter.ih-shell{
  font-family: var(--sans);
  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  min-height: 560px;
  position: relative;
}
.uwriter .ih-topbar{ background: var(--panel); border-bottom: 1px solid var(--border); }
.uwriter .ih-topbar-main{
  display:grid;
  grid-template-columns: 220px 1fr auto;
  align-items:center;
  gap:12px;
  padding:10px 12px 8px;
}
.uwriter .ih-top-left, .uwriter .ih-top-right{ align-self:stretch; display:flex; align-items:center; }
.uwriter .ih-top-left{ justify-content:flex-start; }
.uwriter .ih-top-right{ justify-content:flex-end; gap:10px; }
.uwriter .ih-top-center{ min-width:0; display:flex; flex-direction:column; gap:6px; }
.uwriter .ih-brand{ display:flex; align-items:center; gap:10px; }
.uwriter .ih-logo{
  width:28px;height:28px;border-radius:8px;background:var(--primary);
  color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;
  font-size:12px;
}
.uwriter .ih-appname{ font-weight:700; font-size:15px; }
.uwriter .ih-title-row{ display:flex; align-items:center; min-width:0; }
.uwriter .ih-title{
  font-weight:700;
  font-size:18px;
  padding: 4px 8px;
  border-radius: 8px;
  border: 1px solid transparent;
  outline:none;
  min-width: 220px;
  max-width: 100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.uwriter .ih-title:focus{ border-color: var(--primary); background: var(--hover); }
.uwriter .ih-menu-row{ display:flex; align-items:center; min-width:0; }
.uwriter .ih-menugroup{ display:flex; gap:2px; flex-wrap:wrap; align-items:center; }
.uwriter .ih-menu .btn.ih-menu-btn{
  color:var(--text);
  text-decoration:none;
  padding:4px 8px;
  border-radius:8px;
  border:0;
}
.ih-menu .btn.ih-menu-btn:hover,
.uwriter .ih-menu .btn.ih-menu-btn:focus{ background:var(--hover); color:var(--text); }
.ih-menu-root,
.uwriter .ih-submenu{
  list-style:none;
  margin:0;
  padding:6px 0;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  box-shadow: var(--shadow);
  min-width:392px;
}
.uwriter .ih-menu-root{ margin-top:4px; }
.uwriter .ih-menu-item{ position:relative; }
/* Menu item layout
 * ----------------
 * Menu rows are intentionally rendered as a strict four-column grid:
 *   icon | label | shortcut | submenu arrow
 * The fixed right-side metadata columns are important because Bootstrap/browser
 * default anchor flow can otherwise make labels and shortcuts collapse into
 * strings such as "Open...Ctrl+O".  Keep this rule highly specific and avoid
 * changing it to inline/flex unless the menu renderer is changed together. */
.uwriter .ih-menu-link{
  position:relative;
  display:grid !important;
  grid-template-columns:28px minmax(190px, 1fr) 92px 18px;
  column-gap:12px;
  align-items:center;
  color:var(--text);
  text-decoration:none;
  padding:8px 14px 8px 16px;
  font-size:14px;
  min-height:36px;
}
.uwriter .ih-menu-link:hover{ background:var(--hover); color:var(--text); }
.uwriter .ih-mi-icon{ grid-column:1; width:28px; text-align:center; color:var(--muted); display:inline-flex; align-items:center; justify-content:center; }
.uwriter .ih-mi-icon i{ width:1.1em; text-align:center; }
.uwriter .ih-mi-label{ grid-column:2; display:block; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.uwriter .ih-mi-shortcut{ grid-column:3; display:block; justify-self:end; color:var(--muted); white-space:nowrap; font-size:12px; }
.uwriter .ih-mi-caret{ grid-column:4; display:block; justify-self:end; color:var(--muted); font-size:12px; line-height:1; }

/* v5.24.4: final menu alignment guard.
 * This block is deliberately placed after the base item rules so later Bootstrap
 * dropdown styles cannot collapse the internal menu columns. */
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{ min-width:392px; }
.uwriter.ih-shell .ih-menu-link{
  display:grid !important;
  grid-template-columns:28px minmax(190px, 1fr) 92px 18px !important;
  column-gap:12px !important;
  align-items:center !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-icon{ grid-column:1 !important; width:28px; min-width:28px; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{ grid-column:2 !important; display:block; min-width:0; padding-right:8px; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-shortcut{ grid-column:3 !important; display:block; justify-self:end; min-width:92px; text-align:right; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-caret{ grid-column:4 !important; display:block; justify-self:end; min-width:18px; text-align:right; }


/* v5.24.5: adaptive menu metadata columns.
 * A menu that has no shortcut keys and no submenus (for example Insert) should
 * not reserve the wide right-side metadata area used by File menus.  The row
 * markup still contains icon/label/shortcut/caret slots, but these root-level
 * classes shrink or hide unused columns so plain menus look like Google Docs
 * menus instead of a wide empty panel. */
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain{ min-width:300px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-menu-link{
  grid-template-columns:28px minmax(190px, 1fr) 0 0 !important;
  column-gap:12px !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-mi-shortcut,
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-mi-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-mi-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-mi-caret{
  display:none !important;
  min-width:0 !important;
  width:0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut{ min-width:340px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-menu-link{
  grid-template-columns:28px minmax(165px, 1fr) 78px 0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-mi-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-mi-caret{ display:none !important; min-width:0 !important; width:0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret{ min-width:320px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-menu-link{
  grid-template-columns:28px minmax(210px, 1fr) 0 18px !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-mi-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-mi-shortcut{ display:none !important; min-width:0 !important; width:0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both{ min-width:392px !important; }

.uwriter .ih-menu-sep{ height:1px; background:var(--border); margin:6px 8px; }
.uwriter .ih-submenu{ position:absolute; left:100%; top:-6px; display:none; z-index:1100; }
.uwriter .ih-menu-item.has-children.open > .ih-submenu{ display:block; }
.uwriter .ih-header-actions{ display:flex; align-items:center; gap:6px; }
.uwriter .ih-chipgroup{ display:flex; align-items:center; gap:8px; }
.uwriter .ih-chip{
  border:1px solid var(--border);
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--muted);
  font-size: 12px;
}
.uwriter .ih-toolbar{
  padding: 8px 12px;
  background: var(--panel);
  border-top: 1px solid rgba(0,0,0,0);
  border-bottom: 1px solid var(--border);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.uwriter .ih-toolbar .group{ display:flex; gap:6px; align-items:center; }
.uwriter .ih-toolbar .group.middle{ flex:1; justify-content:center; }
.uwriter .ih-toolbar .group.right{ justify-content:flex-end; }
.uwriter .ih-toolbar .btn, .uwriter .ih-header-actions .btn{ border-radius: 10px; }
.uwriter .ih-toolbar .btn-icon, .uwriter .ih-header-actions .btn-icon{ width:34px; height:32px; padding:0; display:inline-flex; align-items:center; justify-content:center; }
.uwriter .ih-body{ flex:1; display:flex; min-height:0; }
.uwriter .ih-left{
  width: 290px; min-width: 220px; max-width: 520px;
  background: var(--panel);
  border-right: 1px solid var(--border);
  display:flex; flex-direction:column; min-height:0;
}
.uwriter .ih-main{ flex:1; min-width:0; display:flex; flex-direction:column; min-height:0; }
.uwriter .ih-right{
  width: 320px; min-width: 240px; max-width: 560px;
  background: var(--panel);
  border-left: 1px solid var(--border);
  display:flex; flex-direction:column; min-height:0;
}
.uwriter .ih-leftslot, .uwriter .ih-mainslot, .uwriter .ih-rightslot{ flex:1; min-height:0; overflow:auto; }
.uwriter .ih-statusbar{
  padding: 8px 12px;
  background: var(--panel);
  border-top: 1px solid var(--border);
  color: var(--muted);
  display:flex; gap:14px; flex-wrap:wrap;
  font-size: 12px;
}
.uwriter .ih-statusbar .mono{ font-family: var(--mono); }
.uwriter .ih-toast{
  position:absolute; right: 16px; bottom: 16px;
  background: var(--panel); color: var(--text);
  border:1px solid var(--border);
  border-radius: 14px;
  padding: 10px 12px;
  min-width: 240px;
  box-shadow: var(--shadow);
  display:none;
  z-index: 50;
}
.uwriter .ih-toast .small{ font-size:12px; color: var(--muted); margin-top:2px; }

/* Editor / Preview */
.uwriter .unified-writer-editor-wrap{ padding: 16px; }
.uwriter .unified-writer-sheet{
  margin: 0 auto;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  min-height: 600px;
  width: var(--page-width);
  padding: var(--page-padding);
  position: relative;
}
.uwriter .unified-writer-pagebreak{
  border: 0;
  border-top: 2px dashed rgba(127,127,127,.45);
  margin: 14px 0;
}
.uwriter.ih-shell[data-theme="dark"] .unified-writer-pagebreak{ border-top-color: rgba(200,200,200,.35); }

.uwriter .unified-writer-edit-pagebg .note-editable{
  background-image:
    linear-gradient(to bottom,
      rgba(127,127,127,.22) 0,
      rgba(127,127,127,.22) 1px,
      transparent 1px,
      transparent calc(var(--page-height) - 1px)
    );
  background-size: 100% var(--page-height);
  background-repeat: repeat-y;
  background-position: 0 0;
  padding-bottom: 600px;
}

.uwriter.ih-shell[data-theme="dark"] .note-editor.note-frame{
  border-color: var(--border);
  background: var(--panel);
}
.uwriter.ih-shell[data-theme="dark"] .note-editor.note-frame .note-editable{
  background-color: transparent !important;
  color: var(--text) !important;
}
.uwriter.ih-shell[data-theme="dark"] .note-toolbar{ background: transparent; border-color: var(--border); }
.uwriter.ih-shell[data-theme="dark"] .note-btn{
  background: rgba(255,255,255,.06);
  border-color: var(--border);
  color: var(--text);
}
.uwriter.ih-shell[data-theme="dark"] .note-dropdown-menu{
  background: var(--panel);
  border-color: var(--border);
  color: var(--text);
}
.uwriter.ih-shell[data-theme="dark"] .note-modal-content,
.uwriter.ih-shell[data-theme="dark"] .modal-content{
  background: var(--panel);
  color: var(--text);
}
.uwriter.ih-shell[data-theme="dark"] .form-control,
.uwriter.ih-shell[data-theme="dark"] .form-select{
  background: rgba(255,255,255,.06);
  border-color: var(--border);
  color: var(--text);
}

/* Preview pages */
.uwriter .unified-writer-preview{ padding: 16px; }
.uwriter .unified-writer-page{
  width: var(--page-width);
  min-height: var(--page-height);
  margin: 0 auto 14px auto;
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: var(--page-padding);
  overflow:hidden;
}
.uwriter .unified-writer-page .content{ min-height: 200px; }

/* Find marks */
.uwriter .unified-writer-find-hit{
  background: rgba(255, 215, 0, .35);
  border-radius: 4px;
  padding: 0 1px;
}
.uwriter .unified-writer-find-hit.active{
  outline: 2px solid rgba(255, 165, 0, .7);
}

/* Outline */
.uwriter .unified-writer-outline-item{
  padding: 6px 8px;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid transparent;
}
.uwriter .unified-writer-outline-item:hover{ background: var(--hover); border-color: var(--border); }
.uwriter .unified-writer-outline-small{ font-size: 12px; color: var(--muted); }

/* Right pane tabs */
.uwriter .unified-writer-tabs{
  display:flex; gap:6px; padding:10px; border-bottom: 1px solid var(--border);
}
.uwriter .unified-writer-tab{
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius: 999px;
  cursor:pointer;
  color: var(--muted);
  user-select:none;
}
.uwriter .unified-writer-tab.active{
  color: var(--text);
  border-color: var(--primary);
  background: var(--hover);
}
.uwriter .unified-writer-tabpanel{ padding: 10px; }

@media print{
  .uwriter{ background: #fff !important; }
  .uwriter .ih-topbar, .uwriter .ih-left, .uwriter .ih-right, .uwriter .ih-statusbar, .uwriter .ih-toast{ display:none !important; }
  .uwriter .ih-mainslot{ overflow: visible !important; }
  .uwriter .unified-writer-editor-wrap, .uwriter .unified-writer-preview{ padding:0 !important; }
  .uwriter .unified-writer-sheet, .uwriter .unified-writer-page{
    width: auto !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  hr.unified-writer-pagebreak{
    break-after: page;
    page-break-after: always;
    border-top: 0 !important;
    margin: 0 !important;
  }
}

.uwriter .unified-writer-cmt-mark{
  background: rgba(99, 102, 241, .18);
  border-bottom: 2px solid rgba(99, 102, 241, .55);
  border-radius: 4px;
  padding: 0 1px;
}
.uwriter .unified-writer-cmt-mark.resolved{
  background: rgba(16, 185, 129, .16);
  border-bottom-color: rgba(16, 185, 129, .55);
}
.uwriter .unified-writer-cmt-card{
  border:1px solid var(--border);
  border-radius: 14px;
  padding:10px;
  background: var(--panel);
}
.uwriter .unified-writer-cmt-card .meta{ color: var(--muted); font-size: 12px; }
.uwriter .unified-writer-cmt-card .txt{ margin-top:6px; white-space: pre-wrap; }
.uwriter .unified-writer-cmt-actions{ display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }

.uwriter .unified-writer-hist-item{
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  cursor: pointer;
}
.uwriter .unified-writer-hist-item:hover{ background: var(--hover); border-color: var(--border); }
.uwriter .unified-writer-hist-item.active{ background: var(--hover); border-color: var(--primary); }

@media (max-width: 1100px){
  .uwriter .ih-topbar-main{ grid-template-columns: 180px 1fr; }
  .uwriter .ih-top-right{ grid-column: 1 / -1; justify-content:flex-end; }
}
@media (max-width: 760px){
  .uwriter .ih-topbar-main{ grid-template-columns: 1fr; }
  .uwriter .ih-top-left, .uwriter .ih-top-right{ justify-content:flex-start; }
  .uwriter .ih-toolbar .group.middle{ justify-content:flex-start; flex:0 0 100%; }
  .uwriter .ih-left, .uwriter .ih-right{ min-width:180px; }
}

/* Common modal dialog styling */
.uwriter.ih-shell .ui-widget-overlay{
  position:absolute; inset:0; background:rgba(15,23,42,.38); z-index:2000;
}
.uwriter.ih-shell .unified-writer-modal-dialog.ui-dialog{
  z-index:2010 !important;
  background:var(--panel); color:var(--text);
  border:1px solid var(--border); border-radius:14px;
  box-shadow:0 22px 54px rgba(15,23,42,.26);
  padding:0; overflow:hidden;
}
.uwriter.ih-shell .unified-writer-modal-dialog .ui-dialog-titlebar{
  border:0; border-bottom:1px solid var(--border);
  background:var(--panel); color:var(--text);
  padding:12px 16px; font-weight:700;
}
.uwriter.ih-shell .unified-writer-modal-dialog .ui-dialog-titlebar-close{
  float:right; border:1px solid var(--border); border-radius:8px;
  background:transparent; color:var(--muted); width:28px; height:26px;
}
.uwriter.ih-shell .unified-writer-modal-dialog .ui-dialog-content{
  padding:16px; background:var(--panel); color:var(--text);
}
.uwriter.ih-shell .unified-writer-modal-dialog .ui-dialog-buttonpane{
  border-top:1px solid var(--border); margin:0; padding:10px 16px; background:var(--panel);
}
.uwriter.ih-shell .unified-writer-modal-dialog .ui-dialog-buttonset{ display:flex; gap:8px; justify-content:flex-end; }
.uwriter.ih-shell .unified-writer-settings fieldset{ border-color:var(--border) !important; }
.uwriter.ih-shell .unified-writer-settings .form-control,
.uwriter.ih-shell .unified-writer-settings .form-select{
  background:var(--panel); color:var(--text); border-color:var(--border);
}

/* v5.14.1: single-file policy additions */
.uwriter .ih-shell.hide-statusbar .ih-statusbar{ display:none; }
.uwriter.ih-shell .ui-widget-overlay{ background:rgba(15,23,42,.28); opacity:1; }
.uwriter .unified-writer-modal-dialog{ z-index:10050 !important; border:1px solid #cbd5e1 !important; border-radius:12px !important; box-shadow:0 18px 48px rgba(15,23,42,.22) !important; background:#fff !important; }
.uwriter .unified-writer-modal-dialog .ui-dialog-titlebar{ background:#fff !important; border:0 !important; border-bottom:1px solid #e5e7eb !important; border-radius:12px 12px 0 0 !important; padding:12px 16px !important; font-weight:700; }
.uwriter .unified-writer-modal-dialog .ui-dialog-content{ padding:16px !important; background:#fff !important; }
.uwriter .unified-writer-modal-dialog .ui-dialog-buttonpane{ border-top:1px solid #e5e7eb !important; padding:10px 16px !important; background:#fff !important; }


/* v5.14.4 Google Docs-like editor/page view refinement */
:root{
  --bg:#f8fafd;
  --panel:#ffffff;
  --text:#202124;
  --muted:#5f6368;
  --border:#dadce0;
  --shadow:none;
  --primary:#1a73e8;
  --hover:#e8f0fe;
}
.uwriter.ih-shell{
  border:0;
  border-radius:0;
  box-shadow:none;
  background:#f8fafd;
  font-family: Arial, "Noto Sans", "Noto Sans JP", "Noto Sans SC", sans-serif;
}
.uwriter .ih-topbar{
  background:#fff;
  border-bottom:1px solid #dadce0;
  box-shadow:none;
}
.uwriter .ih-topbar-main{
  grid-template-columns: 220px minmax(420px,1fr) auto;
  gap:10px;
  padding:8px 16px 4px;
}
.uwriter .ih-logo{
  width:32px;
  height:32px;
  border-radius:4px;
  background:#4285f4;
  font-size:12px;
}
.uwriter .ih-appname{ font-size:16px; font-weight:600; color:#202124; }
.uwriter .ih-title{
  font-size:18px;
  font-weight:500;
  padding:2px 4px;
  border-radius:4px;
  min-width:220px;
  color:#202124;
}
.uwriter .ih-title:focus{ background:#f8fafd; border-color:#dadce0; }
.uwriter .ih-menugroup{ gap:4px; }
.uwriter .ih-menu .btn.ih-menu-btn{
  font-size:14px;
  line-height:22px;
  padding:1px 6px;
  border-radius:4px;
  color:#202124;
}
.ih-menu .btn.ih-menu-btn:hover,
.uwriter .ih-menu .btn.ih-menu-btn:focus{ background:#f1f3f4; }
.uwriter .ih-menu-root, .uwriter .ih-submenu{
  border-radius:6px;
  box-shadow:0 4px 14px rgba(60,64,67,.25);
  border:1px solid #dadce0;
}
.uwriter .ih-toolbar{
  min-height:42px;
  padding:5px 10px;
  background:#f1f3f4;
  border-top:0;
  border-bottom:1px solid #dadce0;
  gap:6px;
  flex-wrap:nowrap;
  overflow-x:auto;
}
.uwriter .ih-toolbar .group{ gap:2px; }
.uwriter .ih-toolbar .group.middle{ justify-content:center; }
.ih-toolbar .btn,
.uwriter .ih-header-actions .btn{
  border:0 !important;
  background:transparent !important;
  border-radius:4px !important;
  color:#3c4043;
  box-shadow:none !important;
}
.ih-toolbar .btn:hover,
.uwriter .ih-header-actions .btn:hover{ background:#e0e3e7 !important; }
.ih-toolbar .btn-icon,
.uwriter .ih-header-actions .btn-icon{
  min-width:32px;
  width:auto;
  height:32px;
  padding:0 8px;
  font-size:15px;
}
.uwriter .ih-chip{
  background:#e8f0fe;
  color:#1967d2;
  border:0;
  font-weight:600;
}
.uwriter .ih-ruler{
  height:28px;
  background:#fff;
  border-bottom:1px solid #dadce0;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  overflow:hidden;
}
.uwriter .ih-ruler-inner{
  width:var(--page-width);
  height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  color:#3c4043;
  font-size:11px;
  padding:0 0 3px;
  background:
    repeating-linear-gradient(to right, transparent 0, transparent 39px, #dadce0 40px),
    linear-gradient(to bottom, transparent 0, transparent 18px, #dadce0 18px, #dadce0 19px, transparent 19px);
}
.uwriter .ih-body{ background:#f8fafd; }
.uwriter .ih-left{
  width:300px;
  min-width:240px;
  background:#f8fafd;
  border-right:1px solid #dadce0;
}
.uwriter .ih-right{
  background:#fff;
  border-left:1px solid #dadce0;
}
.uwriter .ih-mainslot{
  background:#f8fafd;
  overflow:auto;
}
.uwriter .ih-statusbar{
  min-height:28px;
  padding:6px 12px;
  background:#fff;
  border-top:1px solid #dadce0;
}
.uwriter .unified-writer-editor-wrap{
  height:100%;
  min-height:100%;
  overflow:auto;
  background:#f8fafd;
  padding:24px 32px 56px;
  box-sizing:border-box;
}
.uwriter .unified-writer-sheet{
  width:var(--page-width);
  min-height:var(--page-height);
  margin:0 auto 16px;
  padding:0;
  background:#fff;
  border:1px solid #dadce0;
  border-radius:0;
  box-shadow:0 1px 2px rgba(60,64,67,.18);
  box-sizing:border-box;
}
.uwriter .unified-writer-sheet .simditor{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.uwriter .unified-writer-sheet .simditor-toolbar{
  display:none !important;
}
.uwriter .unified-writer-sheet .simditor-body{
  min-height:calc(var(--page-height) - 168px);
  padding:var(--page-padding) !important;
  color:#202124;
  font-family: Arial, "Noto Sans", "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size:14px;
  line-height:1.65;
  background:#fff !important;
  border:0 !important;
  overflow:visible !important;
  box-sizing:border-box;
}
.uwriter .unified-writer-sheet .simditor-body h1{ font-size:32px; margin:24px 0 12px; }
.uwriter .unified-writer-sheet .simditor-body h2{ font-size:24px; margin:22px 0 10px; }
.uwriter .unified-writer-sheet .simditor-body h3{ font-size:18px; margin:18px 0 8px; }
.uwriter .unified-writer-pagebreak{
  height:18px;
  margin:20px calc(-1 * 72px);
  border:0;
  border-top:1px solid #dadce0;
  border-bottom:1px solid #dadce0;
  background:#f8fafd;
}
.uwriter .unified-writer-preview{
  height:100%;
  min-height:100%;
  overflow:auto;
  background:#f8fafd;
  padding:0;
}
.uwriter .unified-writer-preview-scroll{
  min-height:100%;
  padding:24px 32px 56px;
  box-sizing:border-box;
}
.uwriter .unified-writer-preview-pages{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.uwriter .unified-writer-pagewrap{
  width:var(--page-width);
  flex:0 0 auto;
}
.uwriter .unified-writer-page{
  width:var(--page-width);
  height:var(--page-height);
  min-height:var(--page-height);
  margin:0;
  padding:0;
  background:#fff;
  border:1px solid #dadce0;
  border-radius:0;
  box-shadow:0 1px 2px rgba(60,64,67,.18);
  overflow:hidden;
  box-sizing:border-box;
}
.uwriter .unified-writer-page .content{
  height:100%;
  padding:var(--page-padding);
  box-sizing:border-box;
  overflow:hidden;
  color:#202124;
  font-family: Arial, "Noto Sans", "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size:14px;
  line-height:1.65;
}
.uwriter .unified-writer-page-measure{
  box-shadow:none !important;
  border:0 !important;
}
.uwriter .unified-writer-page-measure .content{
  height:auto;
  min-height:0;
  overflow:visible;
}
.uwriter .unified-writer-tabs{ background:#fff; }
.uwriter .unified-writer-tab{ border-radius:18px; }
@media (max-width: 1200px){
  .uwriter .ih-topbar-main{ grid-template-columns:180px minmax(260px,1fr) auto; }
  .uwriter .ih-ruler-inner{ transform:scale(.9); transform-origin:top center; }
}

/* Editable layout modes: Google Docs-like print layout and normal layout */
.uwriter .unified-writer-editor-wrap{
  height:100%;
  min-height:100%;
  overflow:auto;
  box-sizing:border-box;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print{
  background:#f8fafd;
  padding:24px 32px 56px;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet{
  width:var(--page-width);
  min-height:var(--page-height);
  margin:0 auto 48px;
  padding:0;
  background:#fff;
  border:1px solid #dadce0;
  border-radius:0;
  box-shadow:0 1px 2px rgba(60,64,67,.18);
  box-sizing:border-box;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .simditor-body{
  min-height:calc(var(--page-height) - 2px);
  padding:var(--page-padding) !important;
  background-color:#fff !important;
  background-image:
    linear-gradient(to bottom,
      transparent 0,
      transparent calc(var(--page-height) - 2px),
      #f8fafd calc(var(--page-height) - 2px),
      #f8fafd var(--page-height)
    );
  background-size:100% var(--page-height);
  background-repeat:repeat-y;
  box-sizing:border-box;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal{
  background:#fff;
  padding:0;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet{
  width:auto;
  max-width:none;
  min-height:100%;
  margin:0;
  padding:0;
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet .simditor-body{
  min-height:calc(100vh - 220px);
  padding:28px 42px 80px !important;
  background:#fff !important;
  background-image:none !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-pagebreak{
  height:0;
  margin:18px 0;
  border-top:1px dashed #dadce0;
  border-bottom:0;
  background:transparent;
}
.uwriter .ih-ruler{
  background:#f8fafd;
  border-bottom:1px solid #dadce0;
  height:28px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.uwriter .ih-ruler-inner{
  width:var(--page-width);
  color:#3c4043;
  font-size:12px;
  line-height:24px;
  display:flex;
  justify-content:space-between;
  border-left:1px solid #dadce0;
  border-right:1px solid #dadce0;
  background:repeating-linear-gradient(to right, transparent 0, transparent 25px, rgba(60,64,67,.24) 25px, rgba(60,64,67,.24) 26px);
  padding:0 8px;
  box-sizing:border-box;
}
.uwriter .ih-shell[data-edit-layout="normal"] .ih-ruler{
  display:none !important;
}

/* Editable print layout must remain an active editor surface. */
.unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet,
.unified-writer-editor-wrap.unified-writer-edit-layout-print .simditor,
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .simditor-body{
  pointer-events:auto !important;
  user-select:text !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .simditor-body{
  cursor:text;
  outline:none;
}


/* v5.14.8 Native editable surface ----------------------------------------
   Simditor is no longer required.  The compatibility class names below are
   intentionally kept so older UnifiedWriter helpers and CSS selectors continue to
   work while the actual editor is a first-party contenteditable surface. */
.uwriter .unified-writer-sheet .unified-writer-native-editor{
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  width:100%;
  min-height:100%;
}
.uwriter .unified-writer-sheet .unified-writer-native-editor-body{
  outline:none;
  white-space:normal;
  word-wrap:break-word;
  overflow-wrap:anywhere;
  -webkit-user-select:text;
  user-select:text;
  cursor:text;
}
.uwriter .unified-writer-sheet .unified-writer-native-editor-body:empty:before{
  content:' ';
  display:block;
  min-height:1em;
}
.uwriter .unified-writer-sheet .unified-writer-native-editor-body img{
  max-width:100%;
  height:auto;
}

/* Editable Print Layout: editable paper, not read-only preview. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print{
  background:#f1f3f4 !important;
  padding:24px 32px 64px !important;
  overflow:auto !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet{
  width:var(--page-width) !important;
  min-height:var(--page-height) !important;
  margin:0 auto 48px !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid #dadce0 !important;
  border-radius:0 !important;
  box-shadow:0 1px 2px rgba(60,64,67,.18) !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .simditor,
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .unified-writer-native-editor{
  min-height:var(--page-height) !important;
  background:#fff !important;
}
.unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .simditor-body,
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .unified-writer-native-editor-body{
  min-height:calc(var(--page-height) - 2px) !important;
  padding:var(--page-padding) !important;
  background:#fff !important;
  background-image:none !important;
  color:#202124 !important;
  border:0 !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
  user-select:text !important;
  font-family:Arial, "Noto Sans", "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size:14px;
  line-height:1.65;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-pagebreak{
  display:block;
  height:22px;
  margin:32px calc(-1 * 72px);
  border:0;
  border-top:1px solid #dadce0;
  border-bottom:1px solid #dadce0;
  background:#f1f3f4;
}

/* Editable Normal Layout: continuous edit surface. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal{
  background:#fff !important;
  padding:0 !important;
  overflow:auto !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet{
  width:auto !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:#fff !important;
}
.unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet .simditor-body,
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet .unified-writer-native-editor-body{
  min-height:calc(100vh - 220px) !important;
  padding:28px 42px 80px !important;
  background:#fff !important;
  background-image:none !important;
}


/* v5.14.9 Real-time editable pagination ---------------------------------
   The editable Print Layout is now composed of actual editable page surfaces.
   Page Preview remains read-only; Print Layout is the primary editing surface. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print{
  background:#f1f3f4 !important;
  padding:24px 32px 72px !important;
  overflow:auto !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet{
  width:auto !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-native-editor{
  width:100% !important;
  min-height:100% !important;
  background:transparent !important;
}
.uwriter .unified-writer-paged-editor{
  outline:none;
  width:100%;
  box-sizing:border-box;
}
.uwriter .unified-writer-paged-editor.unified-writer-paginated-editor{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  background:transparent;
}
.uwriter .unified-writer-edit-page{
  width:var(--page-width);
  height:var(--page-height);
  padding:var(--page-padding);
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dadce0;
  box-shadow:0 1px 2px rgba(60,64,67,.18);
  position:relative;
  overflow:hidden;
  flex:none;
}
.uwriter .unified-writer-edit-page-content{
  width:100%;
  min-height:1.6em;
  outline:none;
  overflow:visible;
  box-sizing:border-box;
  color:#202124;
  font-family:Arial, "Noto Sans", "Noto Sans JP", "Noto Sans SC", sans-serif;
  font-size:14px;
  line-height:1.65;
  white-space:normal;
  overflow-wrap:anywhere;
  word-wrap:break-word;
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
}
.uwriter .unified-writer-edit-page-content:empty:before{
  content:' ';
  display:block;
  min-height:1em;
}
.uwriter .unified-writer-edit-page-content img{
  max-width:100%;
  height:auto;
}
.uwriter .unified-writer-edit-page-content h1{ font-size:32px; margin:24px 0 12px; }
.uwriter .unified-writer-edit-page-content h2{ font-size:24px; margin:22px 0 10px; }
.uwriter .unified-writer-edit-page-content h3{ font-size:18px; margin:18px 0 8px; }
.uwriter .unified-writer-edit-page-content p{ margin:0 0 10px; }
.unified-writer-edit-page-content ul,
.uwriter .unified-writer-edit-page-content ol{ margin-top:0; margin-bottom:10px; }
.uwriter .unified-writer-edit-page-content table{
  max-width:100%;
  width:100%;
  border-collapse:collapse;
  margin:0 0 12px;
  table-layout:auto;
}
.uwriter .unified-writer-edit-page-content table.unified-writer-model-block{
  display:table;
}
.unified-writer-edit-page-content td,
.uwriter .unified-writer-edit-page-content th{
  border:1px solid #dadce0;
  padding:4px 6px;
  vertical-align:top;
  min-width:36px;
}
.unified-writer-edit-page-content td p,
.uwriter .unified-writer-edit-page-content th p{
  margin:0 0 6px;
}
.unified-writer-edit-page-content td p:last-child,
.uwriter .unified-writer-edit-page-content th p:last-child{
  margin-bottom:0;
}
.uwriter .unified-writer-edit-page-content .unified-writer-pagebreak{
  display:block;
  height:18px;
  margin:18px 0;
  border:0;
  border-top:1px dashed #9aa0a6;
  background:transparent;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal{
  background:#fff !important;
  padding:0 !important;
  overflow:auto !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-sheet{
  width:auto !important;
  min-height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-paged-editor{
  display:block;
  background:#fff;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page{
  width:auto !important;
  height:auto !important;
  min-height:calc(100vh - 220px) !important;
  margin:0 !important;
  padding:28px 42px 80px !important;
  border:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page-content{
  height:auto !important;
  min-height:calc(100vh - 320px) !important;
  overflow:visible !important;
}


/* v5.15.0 Real-time auto-pagination hardening -----------------------------
   Print Layout is an editable paged surface.  Overflow is resolved by the
   NativeEditorAdapter and these styles keep each page as a fixed editing box. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-paged-editor.unified-writer-paginated-editor{
  align-items:center !important;
  gap:18px !important;
  padding:0 0 64px !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page{
  height:var(--page-height) !important;
  min-height:var(--page-height) !important;
  max-height:var(--page-height) !important;
  overflow:hidden !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content{
  display:block !important;
  height:auto !important;
  min-height:1.6em !important;
  max-height:none !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content > *:first-child{
  margin-top:0;
}


/* v5.15.1: keep the editable flow at the top of each page.
   The page itself is the fixed clipping box; the contenteditable flow is
   auto-height so clicking blank space does not create text near the bottom. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page{
  cursor:text;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content p{
  margin-top:0;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content:focus{
  outline:none;
}


/* v5.15.2: editable pagination measurement fix.
   Page content must not inherit legacy .unified-writer-native-editor-body page-level
   padding/min-height rules.  The fixed page owns paper padding; the editable
   content owns only the text flow. */
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .unified-writer-edit-page .unified-writer-edit-page-content{
  padding:0 !important;
  margin:0 !important;
  min-height:1.6em !important;
  height:auto !important;
  max-height:none !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .unified-writer-edit-page .unified-writer-edit-page-content > *:first-child{
  margin-top:0 !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-sheet .unified-writer-edit-page .unified-writer-edit-page-content > *:last-child{
  margin-bottom:0;
}
.uwriter .unified-writer-edit-page-content [data-unified-writer-caret="1"]{
  display:inline-block !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
}

/* v5.15.3 clean page-break semantics.
   - .unified-writer-hr is a normal horizontal rule.
   - .unified-writer-manual-pagebreak is a hidden model marker that forces a new page.
   Legacy .unified-writer-pagebreak is not treated as a command by the runtime anymore. */
.unified-writer-edit-page-content > hr.unified-writer-hr,
.uwriter .unified-writer-edit-page-content > hr:not(.unified-writer-manual-pagebreak){
  display:block;
  height:0;
  margin:18px 0;
  border:0;
  border-top:1px solid #dadce0;
  background:transparent;
}
.uwriter .unified-writer-edit-page-content > hr.unified-writer-manual-pagebreak{
  display:none !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

/* v5.15.4: prevent native scroll anchoring from moving fixed pages while
   Enter is being converted into a cross-page paragraph. */
.unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-paged-editor,
.unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page,
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content{
  overflow-anchor:none !important;
}

/* v5.16 DocumentModel driven editor */
.uwriter .unified-writer-model-editor{
  background: transparent;
  border: 0;
  box-shadow: none;
  width: 100%;
}
.uwriter .unified-writer-model-editor-body{
  background: transparent;
  min-height: 0;
  outline: none;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-model-editor-body.unified-writer-paginated-editor{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 28px 0 56px;
  background: #eef1f4;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page{
  width: var(--page-width);
  height: var(--page-height);
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d6dbe1;
  box-shadow: 0 1px 3px rgba(60,64,67,.18);
  border-radius: 0;
  padding: var(--page-padding);
  overflow: hidden;
  position: relative;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-print .unified-writer-edit-page-content{
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible;
  outline: none;
  background: transparent;
  line-height: 1.55;
  font-size: 16px;
  color: #202124;
}
.uwriter .unified-writer-model-block{
  outline: none;
  box-sizing: border-box;
  max-width: 100%;
}
.uwriter .unified-writer-edit-page-content > .unified-writer-model-block:first-child{
  margin-top: 0;
}
.uwriter .unified-writer-edit-page-content > p.unified-writer-model-block{
  margin: 0 0 10px;
  min-height: 1.55em;
}
.uwriter .unified-writer-edit-page-content > h1.unified-writer-model-block{
  font-size: 32px;
  line-height: 1.25;
  margin: 24px 0 14px;
  font-weight: 500;
}
.uwriter .unified-writer-edit-page-content > h2.unified-writer-model-block{
  font-size: 24px;
  line-height: 1.3;
  margin: 20px 0 12px;
  font-weight: 500;
}
.uwriter .unified-writer-edit-page-content > h3.unified-writer-model-block{
  font-size: 18px;
  line-height: 1.35;
  margin: 16px 0 10px;
  font-weight: 600;
}
.unified-writer-edit-page-content > ul.unified-writer-model-block,
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block{
  margin: 0 0 10px 28px;
  padding-left: 16px;
}
.uwriter .unified-writer-edit-page-content > blockquote.unified-writer-model-block{
  margin: 0 0 10px;
  padding-left: 14px;
  border-left: 3px solid #dadce0;
  color: #3c4043;
}
.uwriter .unified-writer-edit-page-content > pre.unified-writer-model-block{
  margin: 0 0 10px;
  padding: 10px;
  background: #f1f3f4;
  border-radius: 6px;
  white-space: pre-wrap;
}
.unified-writer-edit-page-content > hr.unified-writer-model-block,
.uwriter .unified-writer-edit-page-content > hr.unified-writer-hr{
  border: 0;
  border-top: 1px solid #dadce0;
  margin: 18px 0;
  height: 0;
}
.uwriter .unified-writer-model-block[contenteditable="true"]:focus{
  outline: none;
}
.uwriter .unified-writer-model-block img{
  max-width: 100%;
  height: auto;
}
.uwriter .unified-writer-model-block table{
  max-width: 100%;
  border-collapse: collapse;
}
.unified-writer-model-block td,
.uwriter .unified-writer-model-block th{
  border: 1px solid #dadce0;
  padding: 4px 6px;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-model-editor-body{
  background: #fff;
  padding: 32px 56px;
  min-height: 720px;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page{
  width: auto;
  height: auto;
  min-height: 520px;
  box-shadow: none;
  border: 0;
  background: transparent;
  padding: 0;
  overflow: visible;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page-content{
  height: auto;
  min-height: 520px;
  overflow: visible;
}
.uwriter .unified-writer-pagebreak-marker{
  display: none !important;
}

/* v5.17.2: deterministic editable page measurement.
   The JS renderer sets the same height inline, but the CSS rule documents the
   required structure and protects Host/Demo wrappers that omit layout classes. */
.uwriter .unified-writer-paginated-editor .unified-writer-edit-page-content{
  height: calc(var(--page-height) - (var(--page-pad-y) * 2)) !important;
  min-height: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* v5.20.0 block-flow DocumentModel pagination overrides
   Source of truth is DocumentModel. Visible pages and hidden measurement pages
   share the same block flow metrics. Legacy editor/page shims are intentionally
   overridden during active development. */
.uwriter .unified-writer-paged-editor.unified-writer-model-editor-body{
  background:#f1f3f4;
  padding:24px 0 56px;
  overflow:auto;
}
.uwriter .unified-writer-paged-editor .unified-writer-edit-page{
  width:var(--page-width) !important;
  height:var(--page-height) !important;
  min-height:var(--page-height) !important;
  max-height:var(--page-height) !important;
  box-sizing:border-box !important;
  padding:var(--page-padding) !important;
  margin:0 auto 16px !important;
  background:#fff !important;
  border:1px solid #dadce0 !important;
  box-shadow:0 1px 2px rgba(60,64,67,.18) !important;
  overflow:hidden !important;
}
.uwriter .unified-writer-paged-editor .unified-writer-edit-page-content{
  box-sizing:border-box !important;
  width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.uwriter .unified-writer-model-block{
  box-sizing:border-box;
  outline:none;
  overflow-wrap:anywhere;
}
.uwriter .unified-writer-edit-page-content > .unified-writer-model-block:first-child{ margin-top:0 !important; }
.uwriter .unified-writer-edit-page-content > p.unified-writer-model-block{ margin:0 0 10px !important; min-height:1.55em; line-height:1.55; }
.uwriter .unified-writer-edit-page-content > h1.unified-writer-model-block{ font-size:32px; line-height:1.25; margin:24px 0 14px !important; font-weight:500; }
.uwriter .unified-writer-edit-page-content > h2.unified-writer-model-block{ font-size:24px; line-height:1.3; margin:20px 0 12px !important; font-weight:500; }
.uwriter .unified-writer-edit-page-content > h3.unified-writer-model-block{ font-size:18px; line-height:1.35; margin:16px 0 10px !important; font-weight:600; }
.unified-writer-edit-page-content > ul.unified-writer-model-block,
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block{ margin:0 0 10px 28px !important; padding-left:16px !important; }
.uwriter .unified-writer-edit-page-content > blockquote.unified-writer-model-block{ margin:0 0 10px !important; padding-left:14px; border-left:3px solid #dadce0; color:#3c4043; }
.uwriter .unified-writer-edit-page-content > pre.unified-writer-model-block{ margin:0 0 10px !important; padding:10px; background:#f1f3f4; border-radius:6px; white-space:pre-wrap; }
.unified-writer-edit-page-content > hr.unified-writer-model-block,
.uwriter .unified-writer-edit-page-content > hr.unified-writer-hr{ border:0; border-top:1px solid #dadce0; margin:18px 0 !important; height:0; }
.uwriter .unified-writer-measure-page{
  position:absolute !important;
  left:-20000px !important;
  top:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  margin:0 !important;
  z-index:-1 !important;
}
.uwriter .unified-writer-measure-page .unified-writer-measure-content{
  height:auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-paged-editor{
  background:#fff;
  padding:20px 24px 40px;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page{
  width:auto !important;
  height:auto !important;
  min-height:520px !important;
  max-height:none !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
}
.uwriter .unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-edit-page-content{
  height:auto !important;
  max-height:none !important;
  min-height:520px !important;
  overflow:visible !important;
}

/* v5.20.0: visual fragments for exceptional over-one-page paragraphs.
   The logical DocumentModel block remains one paragraph; fragments are only
   rendered layout pieces and must share normal paragraph metrics. */
.uwriter .unified-writer-model-fragment{
  position:relative;
}
.uwriter .unified-writer-model-fragment::after{
  content:'';
  display:block;
  clear:both;
}

/* v5.20.5 model-first input proxy: rendered pages are not editable DOM. */
.uwriter .unified-writer-input-proxy{
  position:fixed !important;
  left:0 !important;
  top:0 !important;
  width:2px !important;
  height:20px !important;
  opacity:0 !important;
  color:transparent !important;
  caret-color:transparent !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  padding:0 !important;
  margin:0 !important;
  resize:none !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:2147483000 !important;
}
.uwriter .unified-writer-model-editor-body{
  outline:none !important;
}
.uwriter .unified-writer-model-block{
  cursor:text;
  user-select:text;
  -webkit-user-select:text;
}
.uwriter .unified-writer-model-block-active{
  outline:none !important;
}
.uwriter .unified-writer-model-block-range-selected{
  background:rgba(26,115,232,.12) !important;
}
.uwriter .unified-writer-model-caret{
  display:inline-block;
  width:0;
  height:1.15em;
  border-left:1.5px solid #1a73e8;
  vertical-align:-0.18em;
  margin-left:-1px;
  animation:unified-writer-caret-blink 1s step-end infinite;
}
@keyframes unified-writer-caret-blink{
  0%, 49%{ opacity:1; }
  50%, 100%{ opacity:0; }
}

/* v5.20.5 list model rendering: list blocks must always show markers. */
.uwriter .unified-writer-edit-page-content > ul.unified-writer-model-block{
  list-style-type:disc !important;
  list-style-position:outside !important;
}
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block{
  list-style-type:decimal !important;
  list-style-position:outside !important;
}
.unified-writer-edit-page-content > ul.unified-writer-model-block > li,
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li{
  display:list-item !important;
  margin:0 0 4px 0 !important;
  padding-left:0 !important;
}

/* v5.21.0 model-first editing polish: native-looking selection and stable caret. */
.unified-writer-model-block::selection,
.uwriter .unified-writer-model-block *::selection{
  background:#d2e3fc;
}
.uwriter .unified-writer-model-caret{
  pointer-events:none;
}
.uwriter .unified-writer-input-proxy{
  ime-mode:active;
}

/* UnifiedWriter v5.21.4 Google Docs-style toolbar status */
.uwriter .ih-toolbar .ih-tool-select{
  width:auto;
  min-width:92px;
  height:32px;
  padding:3px 24px 3px 8px;
  border-radius:10px;
  border:1px solid var(--border);
  background-color:var(--panel);
  color:var(--text);
  font-size:13px;
}
.uwriter .ih-toolbar .ih-tool-select[data-act="fontSizeSelect"]{ min-width:64px; }

.ih-toolbar button[data-act="unorderedList"],
.uwriter .ih-toolbar button[data-act="orderedList"]{
  min-width:32px;
}
.ih-toolbar .btn-icon.active,
.uwriter .ih-toolbar .btn-icon[aria-pressed="true"]{
  background:#d3e3fd;
  border-color:#d3e3fd;
  color:#0b57d0;
  box-shadow:none;
}
.ih-toolbar .btn-icon.active:hover,
.uwriter .ih-toolbar .btn-icon[aria-pressed="true"]:hover{
  background:#c2d7fb;
  border-color:#c2d7fb;
  color:#0b57d0;
}


/* UnifiedWriter dev-5.21.8: Google Docs-like pressed toolbar button state */
.uwriter.ih-shell .ih-toolbar .btn-icon.active,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"],
.uwriter.ih-shell .ih-toolbar button.btn-icon.active,
.uwriter.ih-shell .ih-toolbar button.btn-icon[aria-pressed="true"]{
  background:#d3e3fd !important;
  border-color:#d3e3fd !important;
  color:#0b57d0 !important;
  border-radius:6px !important;
  box-shadow:none !important;
}
.uwriter.ih-shell .ih-toolbar .btn-icon.active:hover,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"]:hover,
.uwriter.ih-shell .ih-toolbar button.btn-icon.active:hover,
.uwriter.ih-shell .ih-toolbar button.btn-icon[aria-pressed="true"]:hover{
  background:#c2d7fb !important;
  border-color:#c2d7fb !important;
  color:#0b57d0 !important;
}
.uwriter.ih-shell .ih-toolbar .btn-icon.active b,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"] b,
.uwriter.ih-shell .ih-toolbar .btn-icon.active i,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"] i,
.uwriter.ih-shell .ih-toolbar .btn-icon.active u,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"] u,
.uwriter.ih-shell .ih-toolbar .btn-icon.active .fa-solid,
.uwriter.ih-shell .ih-toolbar .btn-icon[aria-pressed="true"] .fa-solid{
  color:#0b57d0 !important;
}
.uwriter.ih-shell[data-theme="dark"] .ih-toolbar .btn-icon.active,
.uwriter.ih-shell[data-theme="dark"] .ih-toolbar .btn-icon[aria-pressed="true"]{
  background:#1e3a5f !important;
  border-color:#1e3a5f !important;
  color:#8ab4f8 !important;
}

/* v5.22.2 Google Docs-style flat list indent model.
   The DocumentModel keeps one <ul>/<ol> block; nested-looking list levels are
   represented by data-unified-writer-list-indent on top-level <li> nodes so editing
   offsets remain stable. */
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="1"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="1"]{ margin-left:1.5em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="2"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="2"]{ margin-left:3em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="3"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="3"]{ margin-left:4.5em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="4"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="4"]{ margin-left:6em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="5"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="5"]{ margin-left:7.5em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="6"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="6"]{ margin-left:9em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="1"],
.uwriter .unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="4"]{ list-style-type:circle !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="2"],
.uwriter .unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-unified-writer-list-indent="5"]{ list-style-type:square !important; }
.unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="1"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="4"]{ list-style-type:lower-alpha !important; }
.unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="2"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-unified-writer-list-indent="5"]{ list-style-type:lower-roman !important; }


/* v5.24.0 feature map panel. */
.uwriter .unified-writer-feature-card{
  border:1px solid var(--border);
  background:var(--card-bg, var(--surface));
  border-radius:10px;
  padding:10px 12px;
  margin:0 0 10px 0;
}
.uwriter .unified-writer-feature-title{ font-weight:800; display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
.uwriter .unified-writer-feature-title span{ font-size:11px; font-weight:700; color:var(--muted); border:1px solid var(--border); border-radius:999px; padding:2px 7px; }
.uwriter .unified-writer-feature-card ul{ margin:0; padding-left:18px; }
.uwriter .unified-writer-feature-card code{ display:inline-block; margin:2px 3px 0 0; padding:2px 5px; border-radius:6px; background:var(--hover); }

/* v5.24.0 DOCX importer metadata visual bridge. */
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-uw-list-level="1"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-uw-list-level="1"]{ margin-left:1.5em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-uw-list-level="2"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-uw-list-level="2"]{ margin-left:3em !important; }
.unified-writer-edit-page-content > ul.unified-writer-model-block > li[data-uw-list-level="3"],
.uwriter .unified-writer-edit-page-content > ol.unified-writer-model-block > li[data-uw-list-level="3"]{ margin-left:4.5em !important; }

/* v5.24.3: final menu metadata alignment uses the grid definition above.
 * Keep this block intentionally empty so old flex/absolute overrides do not return. */

/* v5.24.3: left pane is a document navigator first, not a storage chooser. */
.uwriter .unified-writer-left-pane{ height:100%; overflow:auto; }
.uwriter .unified-writer-left-title{ font-weight:700; color:var(--text); display:flex; align-items:center; gap:6px; }
.uwriter .unified-writer-left-recent{ border-top:1px solid var(--border); padding-top:10px; }
.uwriter .unified-writer-left-recent summary{ cursor:pointer; color:var(--muted); font-size:12px; font-weight:700; }
.uwriter .unified-writer-left-recent[open] summary{ color:var(--text); }

/* v5.24.6: menu width normalization.  Keep icon/shortcut/caret alignment but
 * do not reserve large empty right-side columns for menus that do not use them. */
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  width:max-content !important;
  min-width:260px !important;
  max-width:min(420px, calc(100vw - 32px)) !important;
}
.uwriter.ih-shell .ih-menu-link{
  grid-template-columns:28px minmax(130px, max-content) 72px 16px !important;
  column-gap:10px !important;
  padding:8px 12px 8px 16px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{ padding-right:0 !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-shortcut{ min-width:64px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-caret{ min-width:16px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain{ min-width:220px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-menu-link{
  grid-template-columns:28px minmax(110px, max-content) 0 0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut{ min-width:260px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-menu-link{
  grid-template-columns:28px minmax(115px, max-content) 70px 0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret{ min-width:250px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-menu-link{
  grid-template-columns:28px minmax(120px, max-content) 0 16px !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both{ min-width:300px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both .ih-menu-link{
  grid-template-columns:28px minmax(120px, max-content) 70px 16px !important;
}


/* UnifiedWriter dev-5.27.1: Google Docs-like compact menu density.
 * Keep the icon / label / shortcut / submenu-arrow model, but reduce reserved
 * metadata width so Japanese menus do not open with unnecessary blank space.
 * Submenus still receive a caret column only when children exist. */
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  min-width:auto !important;
  padding:4px 0 !important;
  border-radius:8px !important;
}
.uwriter.ih-shell .ih-menu-link{
  min-height:30px !important;
  padding:5px 12px !important;
  font-size:14px !important;
  column-gap:8px !important;
  grid-template-columns:24px minmax(118px, max-content) 66px 14px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-icon{
  width:24px !important;
  min-width:24px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{
  padding-right:6px !important;
  max-width:260px;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-shortcut{
  min-width:66px !important;
  font-size:12px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-caret{
  min-width:14px !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain{ min-width:220px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-menu-link{
  grid-template-columns:24px minmax(118px, max-content) 0 0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut{ min-width:250px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-menu-link{
  grid-template-columns:24px minmax(118px, 1fr) 66px 0 !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret{ min-width:260px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-menu-link{
  grid-template-columns:24px minmax(150px, max-content) 0 14px !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both{ min-width:300px !important; }
.uwriter .ih-menu-sep{ margin:4px 10px !important; }

/* Toolbar quick-format additions. */
.uwriter.ih-shell .ih-toolbar .btn-icon[data-act="textColorTool"],
.uwriter.ih-shell .ih-toolbar .btn-icon[data-act="highlightColorTool"],
.uwriter.ih-shell .ih-toolbar .btn-icon[data-act="lineSpacingTool"]{
  min-width:30px;
}
.uwriter .uw-tool-color{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-weight:600;
  min-width:16px;
}
.uwriter .uw-tool-color b{
  display:block;
  width:16px;
  height:3px;
  margin-top:2px;
  border-radius:2px;
  background:#202124;
}
.uwriter .unified-writer-command-palette{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:4px 0;
}
.uwriter .unified-writer-command-palette .uw-palette-item{
  border:0;
  background:transparent;
  min-height:32px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px;
  border-radius:6px;
  text-align:left;
}
.uwriter .unified-writer-command-palette .uw-palette-item:hover{ background:#f1f3f4; }
.uwriter .uw-palette-swatch{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--uw-swatch);
  border:1px solid rgba(60,64,67,.35);
  flex:0 0 auto;
}

/* v5.27.2 Display Format menu refinement.  Keep the flat theme aligned with
 * the base theme so demo screenshots do not drift by theme selection. */
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  font-size:14px !important;
  padding:6px 0 !important;
  border-radius:8px !important;
}
.uwriter.ih-shell .ih-menu-link{
  min-height:30px !important;
  padding:4px 10px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-icon{
  width:22px !important;
  min-width:22px !important;
  color:#5f6368;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{ white-space:nowrap; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain{ min-width:210px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-menu-link{ grid-template-columns:24px minmax(120px, max-content) 0 0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret{ min-width:240px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-menu-link{ grid-template-columns:24px minmax(150px, max-content) 0 14px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut{ min-width:260px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-menu-link{ grid-template-columns:24px minmax(120px, max-content) 72px 0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both{ min-width:300px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both .ih-menu-link{ grid-template-columns:24px minmax(130px, max-content) 72px 14px !important; }
.uwriter.ih-shell .ih-menu-sep{ margin:4px 10px !important; }

/* v5.29.0 Outline / ruler foundation ----------------------------------- */
.uwriter .unified-writer-ruler-panel{position:sticky;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;margin:0 auto 10px;pointer-events:auto;}
.uwriter .unified-writer-ruler-track{display:flex;justify-content:center;width:100%;overflow:hidden;}
.uwriter .unified-writer-ruler-page{position:relative;height:26px;width:var(--page-width);background:#fff;border:1px solid #dadce0;border-radius:2px;box-sizing:border-box;cursor:pointer;background-image:repeating-linear-gradient(to right, transparent 0, transparent 23px, rgba(60,64,67,.18) 23px, rgba(60,64,67,.18) 24px),linear-gradient(to bottom, transparent 0, transparent 16px, rgba(60,64,67,.2) 16px, rgba(60,64,67,.2) 17px, transparent 17px);}
.uwriter .unified-writer-ruler-margin{position:absolute;top:0;bottom:0;background:rgba(218,220,224,.55);pointer-events:none;}.unified-writer-ruler-margin-left{left:0;}.unified-writer-ruler-margin-right{right:0;}
.uwriter .unified-writer-ruler-marker{position:absolute;top:4px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid #1a73e8;background:transparent;padding:0;margin-left:-7px;border-top:0;cursor:ew-resize;outline:none;}
.uwriter .unified-writer-ruler-marker:focus{filter:drop-shadow(0 0 0 2px rgba(26,115,232,.25));}.unified-writer-ruler-caption{color:#5f6368;font-size:11px;line-height:1.2;min-height:13px;}.uwriter.unified-writer-ruler-dragging{cursor:ew-resize !important;user-select:none !important;}.unified-writer-editor-wrap.unified-writer-edit-layout-normal .unified-writer-ruler-panel{display:none;}
.uwriter .unified-writer-outline-tools{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}.unified-writer-outline-tools .btn-xs{padding:2px 6px;font-size:11px;line-height:1.3;border-radius:8px;}.unified-writer-outline-node{margin:1px 0;}.unified-writer-outline-children{margin-left:6px;border-left:1px solid rgba(218,220,224,.7);}.unified-writer-outline-item{display:flex;align-items:center;gap:6px;min-height:28px;}.unified-writer-outline-item.active{background:#e8f0fe;color:#174ea6;border-color:#d2e3fc;}.unified-writer-outline-level{flex:0 0 auto;min-width:22px;color:#5f6368;font-size:10px;font-weight:700;}.unified-writer-outline-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.unified-writer-outline-target{outline:2px solid rgba(26,115,232,.35);outline-offset:2px;border-radius:4px;}

/* v5.31.0 Table editing foundation. */
.unified-writer-edit-page-content td.unified-writer-table-cell-selected,
.uwriter .unified-writer-edit-page-content th.unified-writer-table-cell-selected{outline:2px solid #1a73e8;outline-offset:-2px;background:rgba(26,115,232,.08);position:relative;}
.unified-writer-edit-page-content td.unified-writer-table-cell-selected:after,
.uwriter .unified-writer-edit-page-content th.unified-writer-table-cell-selected:after{content:'';position:absolute;right:-4px;bottom:-4px;width:7px;height:7px;background:#1a73e8;border:1px solid #fff;border-radius:50%;}
.uwriter .unified-writer-table-dialog .form-group{margin-bottom:10px;}.unified-writer-table-cell-dialog textarea{min-height:120px;resize:vertical;}


/* v5.31.1: Unified jQuery UI dialog frame for table/link/command dialogs.
 * jQuery UI CSS is intentionally not required by the package demos; the Control
 * owns modal look-and-feel so Host pages do not need to load a specific jQuery UI
 * theme.  The close button text is hidden and replaced with a compact × mark to
 * avoid the raw "Close" label overlapping dialog titles when no jQuery UI CSS is
 * present. */
.uwriter .unified-writer-modal-dialog.ui-dialog{
  box-sizing:border-box !important;
  background:#fff !important;
  color:#202124 !important;
  border:1px solid #dadce0 !important;
  border-radius:12px !important;
  box-shadow:0 18px 48px rgba(60,64,67,.30) !important;
  padding:0 !important;
  overflow:hidden !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-titlebar{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  min-height:48px !important;
  padding:12px 48px 12px 16px !important;
  background:#fff !important;
  border:0 !important;
  border-bottom:1px solid #e0e0e0 !important;
  color:#202124 !important;
  font-weight:600 !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-title{
  display:block !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-titlebar-close{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  width:28px !important;
  height:28px !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  color:#5f6368 !important;
  cursor:pointer !important;
  font-size:0 !important;
  line-height:28px !important;
  overflow:hidden !important;
  text-indent:0 !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-titlebar-close::after{
  content:"×";
  display:block;
  width:28px;
  height:28px;
  text-align:center;
  font-size:20px;
  line-height:26px;
  font-weight:400;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-titlebar-close:hover{ background:#f1f3f4 !important; }
.uwriter .unified-writer-modal-dialog .ui-dialog-content{
  display:block !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#202124 !important;
  padding:16px !important;
  overflow:auto !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-buttonpane{
  margin:0 !important;
  padding:10px 16px !important;
  background:#fff !important;
  border:0 !important;
  border-top:1px solid #e0e0e0 !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-buttonset{
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-buttonset button{
  min-width:72px;
  min-height:32px;
  padding:6px 12px;
  border-radius:6px;
  border:1px solid #dadce0;
  background:#fff;
  color:#202124;
}
.uwriter .unified-writer-modal-dialog .ui-dialog-buttonset button.btn-primary{
  background:#1a73e8;
  border-color:#1a73e8;
  color:#fff;
}
.unified-writer-table-insert-modal .unified-writer-table-dialog .form-group,
.uwriter .unified-writer-table-cell-modal .unified-writer-table-cell-dialog .form-group{ margin-bottom:12px; }
.unified-writer-table-insert-modal .form-label,
.uwriter .unified-writer-table-cell-modal .form-label{ display:block; margin:0 0 6px; font-weight:600; color:#202124; }
.unified-writer-table-insert-modal input.form-control,
.unified-writer-table-cell-modal textarea.form-control,
.unified-writer-link-modal input.form-control,
.unified-writer-prompt-modal input.form-control,
.uwriter .unified-writer-prompt-modal textarea.form-control{
  box-sizing:border-box;
  width:100%;
  border:1px solid #dadce0;
  border-radius:6px;
  padding:7px 10px;
  background:#fff;
  color:#202124;
}
.uwriter .unified-writer-table-insert-modal .unified-writer-outline-small{
  margin-top:8px;
  color:#5f6368;
  font-size:12px;
}

/* v5.31.2 Table inline editing and structural selection. */
.uwriter .unified-writer-edit-page-content td.unified-writer-table-row-selected, .uwriter .unified-writer-edit-page-content th.unified-writer-table-row-selected, .uwriter .unified-writer-edit-page-content td.unified-writer-table-column-selected, .uwriter .unified-writer-edit-page-content th.unified-writer-table-column-selected, .uwriter .unified-writer-edit-page-content td.unified-writer-table-range-selected, .uwriter .unified-writer-edit-page-content th.unified-writer-table-range-selected{background:rgba(26,115,232,.10);outline:1px solid rgba(26,115,232,.55);outline-offset:-1px;position:relative;}
.uwriter .unified-writer-edit-page-content td.unified-writer-table-active-cell, .uwriter .unified-writer-edit-page-content th.unified-writer-table-active-cell{outline:2px solid #1a73e8 !important;outline-offset:-2px;}
.uwriter .unified-writer-edit-page-content td.unified-writer-table-inline-editing, .uwriter .unified-writer-edit-page-content th.unified-writer-table-inline-editing{background:#fff !important;outline:2px solid #1a73e8 !important;outline-offset:-2px;min-height:24px;cursor:text;}
.uwriter .unified-writer-edit-page-content td.unified-writer-table-inline-editing:focus, .uwriter .unified-writer-edit-page-content th.unified-writer-table-inline-editing:focus{box-shadow:inset 0 0 0 1px rgba(26,115,232,.35);}

/* v5.31.3 Table advanced editing */
.uwriter .unified-writer-table-props-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;}.unified-writer-table-props-dialog .form-group,.unified-writer-table-style-dialog .form-group,.unified-writer-table-size-dialog .form-group{margin-bottom:12px;}.unified-writer-table-props-dialog input.form-control,.unified-writer-table-style-dialog input.form-control,.unified-writer-table-size-dialog input.form-control{width:100%;height:34px;border:1px solid #dadce0;border-radius:6px;padding:4px 8px;box-sizing:border-box;}.unified-writer-edit-page-content table.unified-writer-model-block{border-collapse:collapse;width:100%;table-layout:fixed;}.unified-writer-edit-page-content table.unified-writer-model-block td,.unified-writer-edit-page-content table.unified-writer-model-block th{border:1px solid #dadce0;padding:6px 8px;min-width:48px;min-height:24px;vertical-align:top;position:relative;}.unified-writer-edit-page-content td.unified-writer-table-range-selected,.unified-writer-edit-page-content th.unified-writer-table-range-selected{background:rgba(26,115,232,.10);}


/* v5.32.0 image/link/comment editing ----------------------------------
 * The resize box is transient editor chrome.  It lives under the editor host
 * and is never serialized into the DocumentModel/UWPSX package. */
.uwriter .unified-writer-native-editor{position:relative;}
.uwriter .unified-writer-edit-page-content img.unified-writer-inline-image{max-width:100%;height:auto;vertical-align:baseline;cursor:default;}
.uwriter .unified-writer-edit-page-content img.unified-writer-image-selected{outline:2px solid #1a73e8;outline-offset:2px;}
.uwriter .unified-writer-image-resize-box{position:absolute;z-index:30;pointer-events:none;border:1px solid rgba(26,115,232,.85);box-sizing:border-box;}
.uwriter .unified-writer-image-resize-handle{position:absolute;right:-6px;bottom:-6px;width:10px;height:10px;background:#1a73e8;border:1px solid #fff;border-radius:50%;box-shadow:0 1px 2px rgba(0,0,0,.25);cursor:nwse-resize;pointer-events:auto;}
.uwriter.unified-writer-resizing-image{cursor:nwse-resize !important;user-select:none;}
.uwriter .unified-writer-image-options-dialog .form-label{display:block;margin:0 0 6px;font-weight:600;color:#202124;}
.uwriter .unified-writer-image-options-dialog input.form-control, .uwriter .unified-writer-image-options-dialog select.form-control{width:100%;height:34px;border:1px solid #dadce0;border-radius:6px;padding:4px 8px;box-sizing:border-box;}
.uwriter .unified-writer-link-dialog .form-label{display:block;margin:0 0 6px;font-weight:600;color:#202124;}
.uwriter .unified-writer-link-dialog input.form-control{width:100%;height:34px;border:1px solid #dadce0;border-radius:6px;padding:4px 8px;box-sizing:border-box;}
.uwriter .unified-writer-cmt-card .txt{white-space:pre-wrap;}
.uwriter .unified-writer-cmt-mark.active{box-shadow:0 0 0 2px rgba(26,115,232,.35);}

/* UnifiedWriter dev-5.32.1: editor-owned context menu and image contextual toolbar. */
.uwriter .unified-writer-context-menu{
  position:absolute;
  z-index:12050;
  min-width:220px;
  max-width:320px;
  padding:6px 0;
  border:1px solid #dadce0;
  border-radius:10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(60,64,67,.24);
  color:#202124;
  font-size:13px;
  line-height:1.35;
}
.uwriter .unified-writer-context-menu .uw-context-item{
  width:100%;
  display:grid;
  grid-template-columns:28px minmax(120px,1fr);
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.unified-writer-context-menu .uw-context-item:hover,
.uwriter .unified-writer-context-menu .uw-context-item:focus{ background:#f1f3f4; outline:none; }
.uwriter .unified-writer-context-menu .uw-context-icon{ width:24px; text-align:center; color:#5f6368; }
.uwriter .unified-writer-context-menu .uw-context-label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.uwriter .unified-writer-context-menu .uw-context-sep{ height:1px; margin:5px 0; background:#e0e0e0; }
.uwriter .ih-toolbar .uw-image-tool{ display:none !important; }
.uwriter .ih-shell.unified-writer-image-selected-mode .ih-toolbar .uw-image-tool{ display:inline-flex !important; }
.uwriter .ih-shell.unified-writer-image-selected-mode .ih-toolbar .uw-image-tool.ih-tool-select{ display:inline-block !important; }

/* v5.39.0 first-stage practical editing polish.
 * These styles are renderer chrome only. Header/footer/page numbers, image
 * captions, table resize handles and footnote lists are painted from model
 * metadata and are removed/rebuilt on each render. They must never become the
 * canonical document data. */
.uwriter .unified-writer-edit-page{ position:relative; }
.unified-writer-page-header-layer,
.uwriter .unified-writer-page-footer-layer{ position:absolute; left:var(--page-pad-x,72px); right:var(--page-pad-x,72px); min-height:22px; font-size:11px; line-height:18px; color:#5f6368; pointer-events:auto; user-select:text; border-bottom:1px dashed transparent; z-index:3; }
.uwriter .unified-writer-page-header-layer{ top:18px; }
.uwriter .unified-writer-page-footer-layer{ bottom:18px; display:flex; justify-content:space-between; gap:12px; border-top:1px dashed transparent; border-bottom:0; }
.unified-writer-page-header-layer:hover,
.uwriter .unified-writer-page-footer-layer:hover{ border-color:#dadce0; background:rgba(241,243,244,.55); }
.uwriter .unified-writer-page-number-token{ margin-left:auto; color:#3c4043; font-variant-numeric:tabular-nums; }
.uwriter .unified-writer-page-footnotes-layer{ position:absolute; left:var(--page-pad-x,72px); right:var(--page-pad-x,72px); bottom:44px; border-top:1px solid #dadce0; padding-top:4px; font-size:10px; line-height:1.35; color:#3c4043; background:rgba(255,255,255,.92); z-index:2; }
.uwriter .unified-writer-footnote-line{ margin:2px 0; }
.uwriter .unified-writer-footnote-card{ border:1px solid var(--border,#e5e7eb); border-radius:10px; padding:8px; margin:8px; background:var(--panel,#fff); }
.uwriter .unified-writer-comment-replies{ border-left:3px solid #e8f0fe; margin-left:4px; padding-left:8px; }
.uwriter .unified-writer-comment-reply{ font-size:12px; color:#5f6368; margin:3px 0; }
.uwriter .unified-writer-edit-page-content img.uw-img-inline{ display:inline-block; vertical-align:baseline; }
.uwriter .unified-writer-edit-page-content img.uw-img-break{ display:block; margin-left:auto; margin-right:auto; }
.uwriter .unified-writer-edit-page-content img.uw-img-wrap{ float:left; margin:4px 12px 8px 0; }
.uwriter .unified-writer-edit-page-content img.uw-img-front{ position:relative; z-index:5; box-shadow:0 1px 4px rgba(60,64,67,.22); }
.uwriter .unified-writer-edit-page-content img.uw-img-behind{ position:relative; z-index:0; opacity:.92; }
.uwriter .unified-writer-image-caption-ui{ font-size:11px; color:#5f6368; text-align:center; margin:3px 0 8px; }
.uwriter .unified-writer-practical-table{ table-layout:auto; }
.uwriter .unified-writer-practical-table td,
.uwriter .unified-writer-practical-table th{ position:relative; }
.uwriter .unified-writer-table-col-resizer{ position:absolute; top:0; right:-3px; width:6px; height:100%; cursor:col-resize; z-index:4; }
.uwriter .unified-writer-table-row-resizer{ position:absolute; left:0; bottom:-3px; width:100%; height:6px; cursor:row-resize; z-index:4; }
.uwriter .unified-writer-table-col-resizer:hover,
.uwriter .unified-writer-table-row-resizer:hover{ background:rgba(26,115,232,.18); }
.uwriter.unified-writer-resizing-table{ cursor:col-resize; user-select:none; }


/* v5.45.0 Stage 2/3 diagnostics and product-readiness polish */
.uwriter .unified-writer-stage245-card{ border-left:4px solid #1a73e8; }
.uwriter .uw-stage-checks{ margin:8px 0 0 0; padding-left:18px; }
.uwriter .uw-stage-check{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; font-size:12px; font-weight:800; margin-right:4px; }
.uwriter .uw-stage-check.ok{ background:#e6f4ea; color:#188038; }
.uwriter .uw-stage-check.ng{ background:#fce8e6; color:#d93025; }
.uwriter .unified-writer-readiness-dialog .unified-writer-feature-card{ margin:0; }

/* UnifiedWriter dev-5.46.0: UI polish / menu-toolbar finalization.
 * This block intentionally stays in the shell theme layer because menu density,
 * toolbar overflow, disabled command state and contextual object-tool visibility
 * are Host-facing Control chrome, not document content styles. */
.uwriter.ih-shell .ih-menu .btn.ih-menu-btn{
  min-height:24px !important;
  padding:2px 8px !important;
  border-radius:6px !important;
  font-size:13px !important;
  line-height:20px !important;
}
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  max-height:min(72vh, 620px) !important;
  overflow-y:auto !important;
  padding:5px 0 !important;
  border-radius:8px !important;
}
.uwriter.ih-shell .ih-menu-link{
  min-height:26px !important;
  padding:3px 8px !important;
  font-size:13px !important;
  line-height:18px !important;
}
.uwriter.ih-shell .ih-menu-link > .ih-mi-icon{ width:22px !important; min-width:22px !important; color:#5f6368; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{ padding-right:6px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-shortcut{ color:#5f6368; font-size:11px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-caret{ color:#5f6368; font-size:12px !important; }
.uwriter.ih-shell .ih-menu-sep{ margin:3px 8px !important; }
.uwriter.ih-shell .ih-toolbar{
  padding:5px 8px !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:thin;
}
.uwriter.ih-shell .ih-toolbar .group{ gap:4px !important; flex:0 0 auto; }
.uwriter.ih-shell .ih-toolbar .group.middle{ flex:1 1 auto; justify-content:flex-start !important; min-width:0; }
.uwriter.ih-shell .ih-toolbar .btn-icon,
.uwriter.ih-shell .ih-header-actions .btn-icon{
  width:30px !important;
  height:28px !important;
  border-radius:7px !important;
  font-size:13px !important;
}
.uwriter.ih-shell .ih-toolbar .ih-tool-select{
  min-height:28px !important;
  height:28px !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
  font-size:12px !important;
}
.uwriter.ih-shell .ih-toolbar .ih-tool-select[data-act="formatStyle"]{ width:138px !important; }
.uwriter.ih-shell .ih-toolbar .ih-tool-select[data-act="fontSizeSelect"]{ width:62px !important; }
.uwriter.ih-shell [data-act].disabled,
.uwriter.ih-shell [data-act][aria-disabled="true"]{
  opacity:.42 !important;
  pointer-events:none !important;
  cursor:default !important;
}
.uwriter.ih-shell .ih-menu-link.disabled{ background:transparent !important; color:#9aa0a6 !important; }
.uwriter.ih-shell .ih-state-mixed{
  box-shadow: inset 0 -2px 0 #fbbc04 !important;
}
.uwriter .ih-toolbar .uw-table-tool{ display:none !important; }
.uwriter .ih-shell.unified-writer-table-selected-mode .ih-toolbar .uw-table-tool{ display:inline-flex !important; }
.uwriter .ih-shell.unified-writer-table-selected-mode .ih-toolbar .uw-table-tool.ih-tool-select{ display:inline-block !important; }
.ih-shell.unified-writer-image-selected-mode .ih-toolbar .uw-image-tool,
.uwriter .ih-shell.unified-writer-table-selected-mode .ih-toolbar .uw-table-tool{
  background:#e8f0fe !important;
  border-color:#d2e3fc !important;
  color:#174ea6 !important;
}
.ih-shell.unified-writer-selection-mode-image .ih-statusbar [data-bind="selectionMode"],
.uwriter .ih-shell.unified-writer-selection-mode-table .ih-statusbar [data-bind="selectionMode"]{
  color:#174ea6;
  font-weight:700;
}
@media (max-width: 960px){
  .uwriter.ih-shell .ih-toolbar{ padding-right:4px !important; }
  .uwriter.ih-shell .ih-toolbar .ih-tool-select[data-act="formatStyle"]{ width:118px !important; }
  .uwriter.ih-shell .ih-menu-root,.uwriter.ih-shell .ih-submenu{ max-height:62vh !important; }
}

/* UnifiedWriter dev-5.46.3: reliable nested File menu popouts.
 * Import / Export are submenu parents, so the root dropdown must not become a
 * scroll container.  CSS overflow:auto clips absolutely-positioned submenus and
 * shows a horizontal scrollbar instead of the child panel.  Keep menu panels
 * visible and let the child submenu render outside the parent, matching Google
 * Docs/Word style menus. */
.uwriter.ih-shell .ih-menugroup,
.uwriter.ih-shell .ih-menu,
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-menu-item{
  overflow:visible !important;
}
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  max-height:none !important;
  overflow:visible !important;
}
.uwriter.ih-shell .ih-submenu{
  position:absolute !important;
  left:calc(100% - 4px) !important;
  top:-5px !important;
  display:none !important;
  z-index:99999 !important;
}
.uwriter.ih-shell .ih-menu-item.has-children.open > .ih-submenu{
  display:block !important;
}
.uwriter.ih-shell .ih-menu-item.has-children.open > .ih-menu-link{
  background:var(--hover) !important;
}


/* UnifiedWriter dev-5.52.0: productization diagnostics and readiness dialogs. */
.uwriter .uw-v552-card{ border-left:4px solid #1a73e8; }
.uwriter .uw-v552-diag-table{ width:100%; border-collapse:collapse; font-size:12px; }
.uwriter .uw-v552-diag-table td{ padding:6px 8px; border-bottom:1px solid #edf0f5; vertical-align:top; }
.uwriter .uw-v552-diag-table td:first-child{ width:28px; }
.uwriter .uw-stage-check.ok{ background:#e6f4ea; color:#137333; }
.uwriter .uw-stage-check.warn{ background:#fef7e0; color:#b06000; }
.uwriter .uw-stage-check.ng{ background:#fce8e6; color:#c5221f; }
.uwriter .uw-v552-json{ max-height:420px; overflow:auto; background:#f8fafc; border:1px solid #d9e1ee; border-radius:8px; padding:10px; font-size:12px; }
.uwriter .uw-v552-ok{ padding:10px 12px; border-radius:8px; background:#e6f4ea; color:#137333; font-weight:700; }
.uwriter .unified-writer-v552-modal .ui-dialog-content{ max-height:70vh !important; overflow:auto; }

/* UnifiedWriter dev-5.64.3: compact menu geometry and Outline de-duplication. */
.uwriter.ih-shell .ih-menu-root,
.uwriter.ih-shell .ih-submenu{
  width:max-content !important;
  min-width:220px !important;
  max-width:min(360px, calc(100vw - 24px)) !important;
}
.uwriter.ih-shell .ih-menu-link{ column-gap:7px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-label{
  max-width:220px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain{ min-width:210px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-plain .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-plain .ih-menu-link{ grid-template-columns:22px minmax(118px, 220px) 0 0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret{ min-width:238px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-caret .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-caret .ih-menu-link{ grid-template-columns:22px minmax(132px, 220px) 0 12px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut{ min-width:254px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-shortcut .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-shortcut .ih-menu-link{ grid-template-columns:22px minmax(118px, 190px) 64px 0 !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both{ min-width:284px !important; }
.uwriter.ih-shell .ih-menu-root.ih-menu-meta-both .ih-menu-link,
.uwriter.ih-shell .ih-submenu.ih-menu-meta-both .ih-menu-link{ grid-template-columns:22px minmax(124px, 190px) 58px 12px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-shortcut{ min-width:58px !important; }
.uwriter.ih-shell .ih-menu-link > .ih-mi-caret{ min-width:12px !important; }

/* v5.67.1: Package-scoped floating UI support for Host/Demo dialogs.
 * Demo File Save uses SaveFile callback outside the Control DOM, so the dialog
 * carries styleScope.overlayClass (.uwriter-floating-ui) rather than relying on
 * body/html or generic .ui-dialog selectors. */
.uwriter-floating-ui.unified-writer-modal-dialog.ui-dialog{
  box-sizing:border-box !important;
  background:#fff !important;
  color:#202124 !important;
  border:1px solid #dadce0 !important;
  border-radius:12px !important;
  box-shadow:0 18px 48px rgba(60,64,67,.30) !important;
  padding:0 !important;
  overflow:hidden !important;
  z-index:10050 !important;
}
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-titlebar{
  position:relative !important; display:flex !important; align-items:center !important;
  min-height:48px !important; padding:12px 48px 12px 16px !important;
  background:#fff !important; border:0 !important; border-bottom:1px solid #e0e0e0 !important;
  color:#202124 !important; font-weight:600 !important;
}
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-title{ display:block !important; overflow:hidden !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-titlebar-close{
  position:absolute !important; top:10px !important; right:10px !important; width:28px !important; height:28px !important;
  border:0 !important; border-radius:50% !important; background:transparent !important; color:#5f6368 !important;
  cursor:pointer !important; font-size:0 !important; line-height:28px !important; overflow:hidden !important; text-indent:0 !important;
}
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-titlebar-close::after{ content:"×"; display:block; width:28px; height:28px; text-align:center; font-size:20px; line-height:26px; font-weight:400; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-titlebar-close:hover{ background:#f1f3f4 !important; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-content{ display:block !important; box-sizing:border-box !important; background:#fff !important; color:#202124 !important; padding:16px !important; overflow:auto !important; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-buttonpane{ margin:0 !important; padding:10px 16px !important; background:#fff !important; border:0 !important; border-top:1px solid #e0e0e0 !important; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-buttonset{ display:flex !important; justify-content:flex-end !important; gap:8px !important; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-buttonset button{ min-width:72px; min-height:32px; padding:6px 12px; border-radius:6px; border:1px solid #dadce0; background:#fff; color:#202124; }
.uwriter-floating-ui.unified-writer-modal-dialog .ui-dialog-buttonset button.btn-primary{ background:#1a73e8; border-color:#1a73e8; color:#fff; }
.uwriter-floating-ui .uw-demo-saveas-dialog .form-label{ display:block; margin:0 0 6px; font-weight:600; color:#202124; }
.uwriter-floating-ui .uw-demo-saveas-dialog .form-control{ box-sizing:border-box; width:100%; border:1px solid #dadce0; border-radius:6px; padding:7px 10px; background:#fff; color:#202124; }
