:root{
  --blue:#1264d8;--blue2:#0a9ec1;--ink:#17314f;--muted:#6d8098;--line:#dbe6f1;--soft:#f3f7fb;--bg:#e9f0f7;
  --page-w:8.5in;--page-h:11in;--page-mt:.72in;--page-mr:.72in;--page-mb:.72in;--page-ml:.72in;
  --zoom:1;
}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);overscroll-behavior:none}body{overflow:hidden}button,select,input{font:inherit}.hidden{display:none!important}
.app-shell{position:fixed;inset:0;width:100%;height:auto;min-height:0;display:grid;grid-template-rows:auto auto auto auto 1fr auto;min-width:0;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line);z-index:30}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand img{width:43px;height:43px;object-fit:contain}.brand>div{display:flex;flex-direction:column;min-width:0}.brand strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand span{font-size:11px;color:var(--muted)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.header-actions button,.ribbon button,.find-panel button{border:1px solid var(--line);background:#fff;color:#2d4c6e;border-radius:9px;min-height:36px;padding:7px 10px;font-weight:750;cursor:pointer}.header-actions button:hover,.ribbon button:hover,.find-panel button:hover{background:#f4f8fc}.header-actions .primary,.primary{background:linear-gradient(135deg,var(--blue),#2478ea);color:#fff;border-color:transparent}.header-actions .success,.success{background:linear-gradient(135deg,#0a9865,#12af79);color:#fff;border-color:transparent}.header-actions .secondary,.secondary{background:#f5f9fd}.compact{padding-inline:9px}.icon-btn{width:38px;padding:0!important}.header-actions button:disabled{opacity:.45;cursor:not-allowed}
.privacy-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 14px;background:#f7fbff;border-bottom:1px solid #e3edf6;color:#58708a;font-size:11px;min-height:29px}.privacy-bar span:last-child{text-align:right}
.ribbon-wrap{background:#fff;border-bottom:1px solid var(--line);overflow:hidden;z-index:20}.ribbon{display:flex;align-items:center;gap:7px;padding:7px 10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.tool-group{display:flex;align-items:center;gap:4px;padding-right:7px;border-right:1px solid #e4ebf3;flex:0 0 auto}.tool-group:last-child{border-right:0}.ribbon button{min-width:34px;min-height:34px;padding:5px 8px}.ribbon select{height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#334f6c;padding:4px 7px;max-width:135px}.ribbon #fontSelect{min-width:112px}.ribbon #fontSizeSelect{width:60px}.zoom-label{min-width:52px!important}.color-tool{position:relative;width:35px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;font-weight:850;overflow:hidden;cursor:pointer}.color-tool input{position:absolute;inset:auto 0 0;width:100%;height:7px;border:0;padding:0;cursor:pointer}.color-tool.highlight span{font-size:15px}
.find-panel{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff7da;border-bottom:1px solid #eadfa9;z-index:19}.find-panel input{height:36px;min-width:160px;border:1px solid #d8c985;border-radius:8px;padding:7px 9px;background:#fff}.find-panel #closeFindBtn{margin-left:auto;width:36px;padding:0}
.workspace{position:relative;min-height:0;overflow:hidden}.document-pane{height:100%;min-height:0;position:relative;overflow:hidden;background:#dfe7ef}.app-shell.editor-open .document-pane{background:#dfe7ef}.app-shell.editor-open .canvas-scroller{display:block!important;visibility:visible!important;opacity:1!important}.app-shell.editor-open .empty-state{display:none!important}.empty-state{position:absolute;inset:0;z-index:6;height:100%;display:grid;background:#fff;align-content:center;justify-items:center;text-align:center;padding:30px 18px;overflow:auto}.empty-state img{width:min(520px,82vw);height:auto;max-height:150px;object-fit:contain}.empty-state h1{font-size:clamp(28px,4vw,48px);letter-spacing:-.035em;margin:20px 0 8px;color:#17395f}.empty-state p{max-width:760px;color:#657a92;margin:5px 0;line-height:1.6}.empty-state small{color:#8a99aa}.empty-state .large{border:0;border-radius:13px;padding:12px 20px;font-weight:850;margin-top:16px;cursor:pointer}.drop-hint{font-size:13px}
.canvas-scroller{position:absolute;inset:0;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;background:#dfe7ef;padding:28px 32px 80px}.zoom-surface{width:max-content;min-width:100%;display:flex;justify-content:center;transform-origin:top center}.paper{width:var(--page-w);min-height:var(--page-h);background:#fff;box-shadow:0 5px 24px rgba(29,52,78,.16);position:relative;transform:scale(var(--zoom));transform-origin:top center;margin-bottom:calc((var(--zoom) - 1) * var(--page-h));transition:transform .08s linear}.editor{min-height:var(--page-h);padding:var(--page-mt) var(--page-mr) var(--page-mb) var(--page-ml);outline:none;font-family:Calibri,Arial,sans-serif;font-size:11pt;line-height:1.15;color:#111827;word-wrap:break-word;overflow-wrap:anywhere}.editor:focus{box-shadow:inset 0 0 0 2px rgba(18,100,216,.08)}.editor p{margin:0 0 8pt}.editor h1{font-size:24pt;margin:12pt 0 8pt}.editor h2{font-size:18pt;margin:11pt 0 7pt}.editor h3{font-size:14pt;margin:10pt 0 6pt}.editor blockquote{margin:10pt 0 10pt 24pt;color:#52677f;border-left:3px solid #b9cbe0;padding-left:12pt}.editor ul,.editor ol{margin:5pt 0 8pt 24pt;padding-left:16pt}.editor table{border-collapse:collapse;width:100%;margin:8pt 0}.editor td,.editor th{border:1px solid #9eabb8;padding:5pt;min-width:30px;vertical-align:top}.editor img{max-width:100%;height:auto;display:inline-block}.editor a{color:#0b66c3;text-decoration:underline}.manual-page-break{height:0;border-top:2px dashed #9db4cc;margin:18pt calc(-1 * var(--page-ml));position:relative;break-after:page;page-break-after:always}.manual-page-break span{position:absolute;top:-10px;left:50%;transform:translate(-50%,-50%);background:#fff;color:#7c8fa4;font-size:9pt;padding:0 8px;user-select:none}.editor [data-import-warning]{background:#fff6d4;border:1px solid #f0d982;border-radius:6px;padding:6px 8px;color:#765c00;font-size:9pt}
.status-bar{display:flex;align-items:center;gap:14px;min-height:28px;padding:5px 12px;background:#fff;border-top:1px solid var(--line);font-size:10px;color:#6f8298;white-space:nowrap;overflow:hidden}.status-spacer{flex:1}
.toast{position:fixed;left:50%;bottom:44px;transform:translate(-50%,20px);opacity:0;visibility:hidden;z-index:9999;background:#183a61;color:#fff;padding:10px 14px;border-radius:11px;font-size:12px;box-shadow:0 10px 30px rgba(14,43,76,.25);transition:.18s ease;max-width:min(90vw,520px);text-align:center}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}dialog{border:0;padding:0;border-radius:18px;box-shadow:0 20px 60px rgba(24,47,75,.3)}dialog::backdrop{background:rgba(17,31,49,.35)}.dialog-card{min-width:320px;padding:22px;display:grid;gap:12px}.dialog-card h2{margin:0}.dialog-card label{display:grid;gap:5px;font-size:12px;font-weight:700}.dialog-card input{height:40px;border:1px solid var(--line);border-radius:9px;padding:7px 9px}.dialog-actions{display:flex;justify-content:flex-end;gap:7px}.dialog-actions button{border:1px solid var(--line);border-radius:9px;padding:8px 12px;background:#fff;font-weight:800;cursor:pointer}
.app-splash{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:linear-gradient(145deg,#eef8ff,#f9fcff 58%,#e7f8f6);transition:opacity .42s ease,visibility .42s ease}.app-splash.hide{opacity:0;visibility:hidden}.splash-card{display:grid;justify-items:center;gap:8px}.splash-card img{width:min(34vw,150px);filter:drop-shadow(0 18px 28px rgba(22,79,150,.18))}.splash-card strong{font-size:clamp(22px,4vw,30px);letter-spacing:-.03em;color:#173e6b}.splash-card span{font-size:12px;color:#71869e}
@media(max-width:900px){.app-header{padding:8px 9px;align-items:flex-start}.brand img{width:37px;height:37px}.brand strong{font-size:14px}.brand span{font-size:10px}.header-actions{gap:4px}.header-actions button{font-size:11px;min-height:35px;padding:6px 8px}.header-actions #newBtn{display:none}.privacy-bar{padding:5px 9px}.ribbon{padding:5px 7px}.canvas-scroller{padding:16px 12px 70px}.status-bar{gap:9px}.status-bar span:nth-child(3),.status-bar span:nth-child(5){display:none}}
@media(max-width:620px){body{overflow:hidden}.app-shell{grid-template-rows:auto auto auto auto 1fr auto}.app-header{gap:7px}.brand span{display:none}.header-actions #openBtn{font-size:0;width:36px;padding:0}.header-actions #openBtn:after{content:'📂';font-size:16px}.header-actions #printBtn{font-size:0;width:36px;padding:0}.header-actions #printBtn:after{content:'🖨';font-size:16px}.header-actions #downloadBtn{font-size:0;width:40px;padding:0}.header-actions #downloadBtn:after{content:'⬇';font-size:17px}.header-actions #installBtn{font-size:0;width:36px}.header-actions #installBtn:after{content:'＋';font-size:17px}.privacy-bar{font-size:9px}.privacy-bar span:first-child{max-width:62vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.find-panel{overflow-x:auto}.find-panel input{min-width:130px}.canvas-scroller{padding:12px 8px 64px}.zoom-surface{justify-content:flex-start;min-width:100%}.paper{margin-left:auto;margin-right:auto}.status-bar{font-size:9px}.status-bar span:nth-child(n+4){display:none}}
@media print{
  html,body{background:#fff!important;overflow:visible!important;height:auto!important}.app-header,.privacy-bar,.ribbon-wrap,.find-panel,.status-bar,.toast,.app-splash{display:none!important}.app-shell{display:block!important;position:static!important;inset:auto!important;width:auto!important;height:auto!important}.workspace,.document-pane,.canvas-scroller,.zoom-surface{position:static!important;display:block!important;overflow:visible!important;background:#fff!important;padding:0!important;margin:0!important;width:auto!important;height:auto!important;min-height:0!important}.paper{transform:none!important;box-shadow:none!important;margin:0!important;width:var(--page-w)!important;min-height:var(--page-h)!important}.editor{min-height:0!important}.manual-page-break span{display:none!important}.manual-page-break{border:0!important;margin:0!important;height:0!important;break-after:page!important;page-break-after:always!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v1.1.2 interaction, insert, fonts, find/replace */
.named-tool{min-width:auto!important;padding-inline:10px!important;font-size:12px}
.find-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;overflow:visible}
.find-panel[hidden]{display:none!important}
.find-head{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#594d19}
.find-head strong{font-size:12px}
.find-panel #closeFindBtn{order:-1;margin:0;width:36px;min-width:36px;padding:0;font-size:19px;line-height:1}
.find-controls{display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:thin}
.floating-menu{position:fixed;z-index:5000;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(18,43,72,.22);padding:8px;max-width:min(92vw,380px)}
.floating-menu[hidden]{display:none!important}
.insert-menu{width:min(92vw,320px);display:grid;gap:4px}
.insert-menu button{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;border-radius:10px;padding:10px;cursor:pointer;color:#284968}
.insert-menu button:hover,.insert-menu button:focus-visible{background:#eef6ff;outline:none}
.insert-menu button>span{display:grid;gap:2px}.insert-menu b{font-size:12px}.insert-menu small{font-size:10px;color:var(--muted);font-weight:500}
.font-menu{width:min(92vw,390px);display:grid;gap:8px}
.menu-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 3px}.menu-title button{border:0;background:#edf3f9;width:32px;height:32px;border-radius:9px;font-size:18px;cursor:pointer}
.font-menu>input{width:100%;height:38px;border:1px solid var(--line);border-radius:9px;padding:7px 10px}
.font-list{max-height:min(48vh,340px);overflow:auto;display:grid;gap:2px;padding-right:2px}
.font-option{display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;border-radius:9px;padding:9px 10px;text-align:left;cursor:pointer;color:#243f5d}
.font-option:hover,.font-option:focus-visible{background:#eef6ff;outline:none}.font-option.active{background:#e5f1ff;color:#0b5fb8}
.font-option small{font:10px/1.2 ui-sans-serif,system-ui;color:#7c8da0}
.font-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.font-actions button{min-height:38px;border:1px solid var(--line);border-radius:9px;background:#f7fbff;color:#294b70;font-weight:800;cursor:pointer}
.font-note{font-size:9px;line-height:1.4;color:#7d8da0}
.editor .docx-image{max-width:100%;height:auto;vertical-align:middle}
.editor .docx-image.missing{display:inline-flex;min-width:120px;min-height:50px;border:1px dashed #d59f43;background:#fff8e7;align-items:center;justify-content:center;color:#8a6524;font-size:9pt}
@media(max-width:620px){
  .find-panel{grid-template-columns:1fr;padding:6px 8px;gap:5px}
  .find-head{justify-content:space-between}.find-panel #closeFindBtn{order:initial;margin-left:auto;position:sticky;right:0}
  .find-controls{padding-bottom:1px}.find-controls input{min-width:145px}
  .ribbon #fontSelect{min-width:125px}.named-tool{min-height:34px!important}
  .floating-menu{left:8px!important;right:8px!important;width:auto!important;max-width:none}
}


/* v1.1.3 document canvas recovery + MTBcustoms footer + Donate */
.status-bar .footer-brand{display:inline!important;color:#294b70;font-weight:850;letter-spacing:.01em}
.donate-btn{display:flex;align-items:center;gap:6px;border:1px solid #f3b4c3!important;background:#fff5f7!important;color:#b4234f!important;font-weight:850!important;white-space:nowrap}
.donate-btn:hover{background:#ffe9ef!important;border-color:#e889a1!important}.donate-btn>span:first-child{font-size:16px}
.donate-dialog{width:min(520px,calc(100vw - 28px))}.donate-card{position:relative;min-width:0;width:100%;padding:24px}.donate-close{position:absolute;right:12px;top:12px;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:22px;cursor:pointer}.donate-heading{display:flex;align-items:center;gap:12px;padding-right:42px}.donate-heart{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#fff0f4;color:#c52959;font-size:24px;box-shadow:inset 0 0 0 1px #f5c7d3}.donate-heading small{display:block;color:#b4234f;font-weight:900;font-size:10px;letter-spacing:.12em}.donate-heading h2{margin:2px 0 0}.donate-copy{color:var(--muted);line-height:1.5;margin:14px 0 10px}.donate-tabs{display:flex;gap:7px;margin:12px 0}.donate-tabs button{flex:1;min-height:38px;border:1px solid var(--line);border-radius:9px;font-weight:800;color:var(--muted);background:#f4f8fc;cursor:pointer}.donate-tabs button.active{background:#eaf3ff;border-color:#9cc4ef;color:#0b63b8}.donate-payment{min-height:300px;display:grid;place-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#f6f9fc}.donate-panel{width:100%;display:grid;justify-items:center;gap:9px;text-align:center}.donate-panel small{color:var(--muted);line-height:1.4}.donate-qr-frame{padding:8px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(15,23,42,.08)}.donate-qr-frame img{display:block;width:min(244px,68vw);height:auto;border-radius:10px}.paypal-mark{width:64px;height:64px;display:grid;place-items:center;border-radius:16px;background:#075ea8;color:#fff;font-size:38px;font-weight:900}.paypal-donate-link{width:min(280px,100%);min-height:42px;display:grid;place-items:center;border-radius:9px;background:#075ea8;color:#fff;font-weight:800;text-decoration:none;padding:10px 14px}.donate-note{margin:12px 0 0;text-align:center;color:var(--muted);font-size:12px}
@media(max-width:620px){
  .header-actions #donateBtn{font-size:0;width:36px;min-width:36px;padding:0;justify-content:center}.header-actions #donateBtn:after{content:'♥';font-size:18px}.header-actions #donateBtn>span{display:none}
  .status-bar{min-height:30px;padding:5px max(9px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));gap:8px}
  .status-bar>span{display:none!important}.status-bar #docName,.status-bar .footer-brand{display:inline!important}.status-bar #docName{max-width:58vw;overflow:hidden;text-overflow:ellipsis}.status-bar .footer-brand{margin-left:auto}.footer-brand-full{display:none}
  .donate-card{padding:20px 16px}.donate-payment{min-height:270px;padding:10px}
}


/* v1.1.4 — full-viewport document shell repair
   Do not rely on explicit grid tracks: hidden Find rows could leave the
   workspace with a collapsed computed height on some deployed browsers. */
html,body{height:100%!important;min-height:100%!important}
.app-shell{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
.app-header,.privacy-bar,.ribbon-wrap,.find-panel,.status-bar{flex:0 0 auto!important}
.workspace{
  position:relative!important;
  flex:1 1 0%!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#dfe7ef;
}
.document-pane{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
.canvas-scroller{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  min-height:1px!important;
  overflow:auto!important;
  background:#dfe7ef!important;
}
.app-shell.editor-open .canvas-scroller{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.app-shell.editor-open .zoom-surface{display:flex!important;min-height:100%!important}
.app-shell.editor-open .paper{display:block!important;visibility:visible!important;opacity:1!important}
.app-shell.editor-open .editor{display:block!important;visibility:visible!important;opacity:1!important;color:#111827}
.status-bar{position:relative!important;bottom:auto!important;width:100%!important}
@media(max-width:620px){
  .app-shell{height:100svh!important;height:100dvh!important}
  .workspace{flex-basis:0%!important}
  .canvas-scroller{padding-bottom:calc(64px + env(safe-area-inset-bottom))!important}
}
@media print{
  .app-shell{display:block!important;position:static!important;height:auto!important;overflow:visible!important}
  .workspace,.document-pane,.canvas-scroller{position:static!important;height:auto!important;overflow:visible!important}
}

/* v1.1.6 — permanent canvas mount: DOCX content never depends on display:none toggling. */
.canvas-scroller{display:block!important;visibility:visible!important;opacity:1!important;z-index:1!important}
.zoom-surface,.paper,.editor{visibility:visible!important;opacity:1!important}
.empty-state{z-index:6!important}
.app-shell.editor-open .empty-state,[data-editor-open="true"] .empty-state{display:none!important}
.app-shell:not(.editor-open) .canvas-scroller,[data-editor-open="false"] .canvas-scroller{pointer-events:none}
.app-shell.editor-open .canvas-scroller,[data-editor-open="true"] .canvas-scroller{pointer-events:auto}


/* v1.1.8 — measured page flow, true font fidelity, draggable images */
:root{--page-gap:28px}
.paper{background:transparent!important;box-shadow:none!important}
.editor{background:#fff;box-shadow:0 5px 24px rgba(29,52,78,.16);position:relative}
.auto-page-break,.manual-page-break{position:relative!important;display:block!important;width:calc(100% + var(--page-ml) + var(--page-mr))!important;margin:0 calc(-1 * var(--page-mr)) 0 calc(-1 * var(--page-ml))!important;padding:0!important;border:0!important;background:#fff!important;pointer-events:none!important;user-select:none!important;z-index:1}
.auto-page-break::before,.manual-page-break::before{content:"";position:absolute;left:0;right:0;top:var(--seam-top,0px);height:var(--page-gap,26px);background:#d7e1eb;border-top:1px solid #b9c7d5;border-bottom:1px solid #b9c7d5;box-shadow:inset 0 7px 10px -10px rgba(15,34,56,.55),inset 0 -7px 10px -10px rgba(15,34,56,.55)}
.auto-page-break span,.manual-page-break span{position:absolute!important;left:50%!important;top:calc(var(--seam-top,0px) + var(--page-gap,26px)/2)!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:2px 8px!important;border-radius:999px!important;background:#dfe7ef!important;color:#7c8fa4!important;font-size:9pt!important;line-height:1!important;white-space:nowrap!important}
.editor img.doc-movable{position:relative;cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;z-index:2;transition:outline-color .1s ease,box-shadow .1s ease}
.editor img.doc-movable.image-selected{outline:2px solid #1677e8;outline-offset:3px;box-shadow:0 0 0 5px rgba(22,119,232,.12);z-index:4}
.editor img.doc-movable.image-moving{cursor:grabbing;z-index:5}
@media(max-width:620px){.auto-page-break span{display:none!important}.editor img.doc-movable.image-selected{outline-offset:2px}}
@media print{.auto-page-break{display:none!important}.manual-page-break{height:0!important;min-height:0!important;background:transparent!important}.manual-page-break::before,.manual-page-break span{display:none!important}.editor{box-shadow:none!important}}

/* v1.1.8 page fidelity */
.editor>[data-page-fragment-group]{margin-top:0!important}
.auto-page-break{caret-color:transparent!important}
.paper.legal,.paper.folio13,.paper.letter,.paper.a4{width:var(--page-w);min-height:var(--page-h)}
@media print{.editor>[data-page-fragment-group]{margin-top:inherit!important}}


/* v1.1.9 — Word fidelity controls + strict mobile viewport containment */
html,body,#app,.workspace,.document-pane{max-width:100vw!important;min-width:0!important}
.app-header,.privacy-bar,.ribbon-wrap,.status-bar{max-width:100vw!important;min-width:0!important}
.ribbon-wrap{width:100%!important;min-width:0!important}.ribbon{width:100%!important;max-width:100vw!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important}
.ribbon .font-size-input{width:68px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#334f6c;padding:4px 6px;text-align:center}.indent-tool{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.spacing-tool{height:34px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:2px 5px;color:#536b85;font-size:10px;font-weight:750;white-space:nowrap}.spacing-tool input{width:47px;height:27px;border:0;border-left:1px solid #e5edf5;padding:2px 4px;color:#334f6c;background:transparent;text-align:center;outline:none}
.editor table.docx-table{table-layout:fixed;border-collapse:collapse}.editor table.docx-table td{box-sizing:border-box}.editor table.docx-section-bar{margin-top:0!important;margin-bottom:0!important}.editor table.docx-section-bar td{padding:2px 8px!important;background:#000!important;color:#fff!important;border-color:#000!important;line-height:1.05!important}.editor table.docx-section-bar p{margin:0!important;color:inherit!important;line-height:1.05!important}
.editor .source-page-break{position:relative!important;display:block!important;width:calc(100% + var(--page-ml) + var(--page-mr))!important;margin:0 calc(-1 * var(--page-mr)) 0 calc(-1 * var(--page-ml))!important;padding:0!important;border:0!important;background:#fff!important;pointer-events:none!important;user-select:none!important;z-index:1}.editor .source-page-break::before{content:"";position:absolute;left:0;right:0;top:var(--seam-top,0px);height:var(--page-gap,28px);background:#d7e1eb;border-top:1px solid #b9c7d5;border-bottom:1px solid #b9c7d5}.editor .source-page-break span{position:absolute;left:50%;top:calc(var(--seam-top,0px) + var(--page-gap,28px)/2);transform:translate(-50%,-50%);font-size:9pt;color:#7c8fa4;background:#dfe7ef;padding:2px 8px;border-radius:999px;white-space:nowrap}
@media(max-width:620px){html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overscroll-behavior-x:none!important}.app-shell{width:100vw!important;max-width:100vw!important;left:0!important;right:0!important;overflow-x:hidden!important}.workspace,.document-pane,.canvas-scroller{width:100%!important;max-width:100vw!important;left:0!important;right:0!important;overflow-x:hidden!important}.canvas-scroller{padding-left:0!important;padding-right:0!important;touch-action:pan-y!important}.zoom-surface{width:100%!important;max-width:100%!important;min-width:0!important;justify-content:center!important;overflow:visible!important}.paper{flex:0 0 auto!important;margin-left:auto!important;margin-right:auto!important}.ribbon-wrap{overflow:hidden!important}.ribbon{max-width:100%!important;touch-action:pan-x!important}.status-bar{width:100%!important;max-width:100%!important;overflow:hidden!important}.indent-tool span,.spacing-tool>span{display:none}.spacing-tool{padding:2px 3px}.spacing-tool input{width:45px;border-left:0}.editor .source-page-break span{display:none!important}}
@media print{.source-page-break{display:none!important}}


/* v1.1.11 — selection-aware formatting, print parity, real image object controls */
.image-object-overlay{position:absolute;z-index:40;border:2px solid #1677e8;pointer-events:none;box-sizing:border-box;transform-origin:top left}
.image-object-overlay[hidden]{display:none!important}.image-object-toolbar{position:absolute;left:0;top:-42px;display:flex;gap:4px;align-items:center;pointer-events:auto;background:#fff;border:1px solid #bcd2e8;border-radius:8px;padding:4px;box-shadow:0 5px 18px rgba(20,55,90,.18);white-space:nowrap}
.image-object-toolbar select,.image-object-toolbar button{height:30px;border:1px solid #d8e4f0;border-radius:6px;background:#fff;color:#294b70;font-size:10px;font-weight:750;padding:3px 6px}.image-object-toolbar button{cursor:pointer;color:#a51f3e}
.image-resize-handle{position:absolute;width:12px;height:12px;border:2px solid #fff;background:#1677e8;border-radius:50%;pointer-events:auto;touch-action:none}.image-resize-handle.nw{left:-7px;top:-7px;cursor:nwse-resize}.image-resize-handle.ne{right:-7px;top:-7px;cursor:nesw-resize}.image-resize-handle.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.image-resize-handle.se{right:-7px;bottom:-7px;cursor:nwse-resize}
.editor img.doc-movable{box-sizing:border-box}.editor img.doc-floating{position:absolute!important;max-width:none!important;margin:0!important}.editor img.doc-movable.image-resizing{cursor:nwse-resize}.editor p,.editor h1,.editor h2,.editor h3,.editor li,.editor table{isolation:auto}
@media(max-width:620px){.image-object-toolbar{top:-38px;max-width:min(88vw,330px)}.image-object-toolbar select{max-width:190px}.image-resize-handle{width:14px;height:14px}.image-object-overlay{z-index:60}}
@media print{
  @page{margin:var(--page-mt) var(--page-mr) var(--page-mb) var(--page-ml)}
  .image-object-overlay{display:none!important}
  .paper{width:auto!important;min-height:0!important;background:#fff!important}
  .editor{padding:0!important;width:auto!important;min-height:0!important;box-shadow:none!important;overflow:visible!important}
  .auto-page-break,.source-page-break,.manual-page-break{display:block!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;break-before:page!important;page-break-before:always!important;break-after:auto!important;page-break-after:auto!important;overflow:hidden!important}
  .auto-page-break::before,.source-page-break::before,.manual-page-break::before,.auto-page-break span,.source-page-break span,.manual-page-break span{display:none!important}
}


/* v1.1.11 — mobile Fit lock + zoom pan */
@media(max-width:620px){
  html,body,.app-shell,.workspace,.document-pane{overflow-x:hidden!important;max-width:100vw!important}
  .canvas-scroller.mobile-fit-lock{overflow-x:hidden!important;touch-action:pan-y!important;overscroll-behavior-x:none!important}
  .canvas-scroller.mobile-fit-lock .zoom-surface{width:100%!important;min-width:0!important;max-width:100%!important;justify-content:center!important}
  .canvas-scroller.mobile-zoom-pan{overflow-x:auto!important;overflow-y:auto!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important}
  .canvas-scroller.mobile-zoom-pan .zoom-surface{max-width:none!important;justify-content:flex-start!important}
  .canvas-scroller.mobile-zoom-pan .paper{margin-left:0!important;margin-right:0!important;transform-origin:top left!important}
}
@media(max-width:620px){
  .canvas-scroller.mobile-zoom-pan .zoom-surface{width:var(--mobile-doc-width)!important;min-width:var(--mobile-doc-width)!important;max-width:none!important}
}

/* v1.1.13 — audited two-row ribbon and compact responsive menus */
.ribbon-wrap{overflow:hidden!important}
.ribbon{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:0!important;width:100%!important;max-width:100vw!important;overflow:hidden!important;scrollbar-width:none!important}
.ribbon-row{display:flex;align-items:center;gap:7px;width:100%;min-width:0;padding:5px 8px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c7d5e4 transparent}
.ribbon-row::-webkit-scrollbar{height:4px}.ribbon-row::-webkit-scrollbar-thumb{background:#c7d5e4;border-radius:999px}
.ribbon-row-secondary{border-top:1px solid #edf2f7;background:#fbfdff}
.ribbon-row .tool-group{min-height:34px}
.ribbon-row .tool-group:last-child{border-right:0}
.tool-caption{display:inline-flex;align-items:center;color:#73879d;font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;padding-inline:2px}
.text-style-group #styleSelect{min-width:108px}.text-style-group #fontSelect{min-width:132px;max-width:180px}.text-style-group .font-size-input{width:64px!important}
.paragraph-spacing-group .spacing-tool{min-width:76px}.page-setup-group #pageSizeSelect{max-width:175px;min-width:94px}.zoom-group{margin-left:0}
.font-menu{max-height:min(74vh,620px);overflow:hidden}.font-list{min-height:120px;max-height:min(48vh,380px)}
.font-option{min-height:38px}.font-actions button{min-height:40px}
@media(max-width:900px){.ribbon-row{padding:4px 6px;gap:5px}.tool-group{padding-right:5px}.zoom-group{margin-left:0}.tool-caption{display:none}.text-style-group #fontSelect{min-width:122px}.paragraph-spacing-group .spacing-tool{min-width:auto}}
@media(max-width:620px){
  .ribbon{touch-action:auto!important}.ribbon-row{touch-action:pan-x!important;padding:4px 5px;gap:4px}
  .ribbon-row-primary{border-bottom:0}.ribbon-row-secondary{border-top:1px solid #e5edf5}
  .ribbon button,.ribbon select,.ribbon .font-size-input,.spacing-tool{min-height:32px!important;height:32px!important}
  .ribbon button{padding:4px 7px}.ribbon select{padding:3px 6px}
  .text-style-group #styleSelect{min-width:105px}.text-style-group #fontSelect{min-width:124px;max-width:150px}.text-style-group .font-size-input{width:58px!important}
  .indent-tool span,.spacing-tool>span{display:none!important}.spacing-tool{padding:2px 3px!important;min-width:48px!important}.spacing-tool input{width:44px!important;border-left:0!important}
  .page-setup-group #pageSizeSelect{min-width:92px;max-width:142px}.zoom-label{min-width:48px!important}
  .floating-menu{left:8px!important;right:8px!important;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 84px)!important;border-radius:16px!important}
  .font-menu{grid-template-rows:auto auto minmax(120px,1fr) auto auto}.font-list{max-height:none!important;min-height:120px}.insert-menu{max-height:min(60dvh,440px);overflow:auto}
}
/* v1.1.13 audit polish */
.find-head{justify-content:space-between}.find-panel #closeFindBtn{order:initial;margin-left:auto}
.spacing-tool input{-moz-appearance:textfield}.spacing-tool input::-webkit-outer-spin-button,.spacing-tool input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}


/* v1.1.13 — transformed document height follows the visible zoomed document */
.zoom-surface{height:var(--scaled-doc-height,auto);align-items:flex-start!important}
.paper{margin-bottom:0!important}
@media(max-width:620px){
  .canvas-scroller.mobile-fit-lock .zoom-surface{height:var(--scaled-doc-height,auto)!important;min-height:0!important}
  .canvas-scroller.mobile-zoom-pan .zoom-surface{height:var(--scaled-doc-height,auto)!important;min-height:0!important}
}

/* v1.1.14 — page geometry/reflow stability */
.editor .docx-table{max-width:100%!important}

/* v1.1.15 — source DOCX fidelity preview: repeat preserved Word header/background artwork behind each logical page. */
.paper{isolation:isolate}.source-page-backgrounds{position:absolute;left:0;top:0;width:100%;pointer-events:none;z-index:0;overflow:visible}.source-page-background{position:absolute;left:0;background-position:center center;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}.editor{position:relative;z-index:1;background:transparent}.image-object-overlay{z-index:20}
.editor table.docx-table table.docx-table{width:100%!important;max-width:100%!important;margin:0!important}.editor table.docx-table td>table.docx-table{margin-top:0!important;margin-bottom:0!important}.editor img[data-docx-shape="ellipse"]{object-fit:cover}

.editor table.docx-borderless,.editor table.docx-borderless td,.editor table.docx-borderless th{border-color:transparent!important;border-style:none!important}


/* v1.1.16 — true white physical sheets + Word-table page seams */
.paper{background:transparent!important;box-shadow:none!important;isolation:isolate}
.source-page-backgrounds{position:absolute;inset:0 auto auto 0;width:100%;pointer-events:none;z-index:0;overflow:visible}
.source-page-background{position:absolute;left:0;background:#fff!important;box-shadow:0 5px 24px rgba(29,52,78,.18);overflow:hidden;pointer-events:none}
.source-page-artwork{position:absolute;background-position:0 0;background-repeat:no-repeat;background-size:100% 100%;pointer-events:none}
.editor{position:relative;z-index:2;background:transparent!important;box-shadow:none!important}
.table-page-seam{display:block!important;width:100%!important;min-height:1px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;pointer-events:none!important;user-select:none!important}
.page-gap-masks{position:absolute;inset:0 auto auto 0;width:100%;pointer-events:none;z-index:8;overflow:visible}
.page-gap-mask{position:absolute;left:0;background:#dfe7ef;border-top:1px solid #c4d0dc;border-bottom:1px solid #c4d0dc;box-shadow:inset 0 8px 10px -12px rgba(15,34,56,.7),inset 0 -8px 10px -12px rgba(15,34,56,.7)}
.image-object-overlay{z-index:20}
@media print{.source-page-backgrounds,.page-gap-masks{display:none!important}.paper,.editor{background:#fff!important}.table-page-seam{display:none!important;height:0!important;min-height:0!important}}


/* v1.1.18 — grouped Word DrawingML + canonical image print coordinates */
.editor .docx-has-drawing-group{position:relative!important}
.editor .docx-drawing-group-anchor{position:absolute!important;display:block!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important;z-index:4;overflow:visible;line-height:normal!important;white-space:normal!important}
.editor .docx-drawing-group{position:absolute;left:0;top:0;display:block;overflow:visible;pointer-events:none}
.editor .docx-drawing-subgroup{position:absolute;display:block;overflow:visible}
.editor .docx-group-picture{position:absolute;overflow:hidden;box-sizing:border-box;pointer-events:none}
.editor .docx-group-picture>img{position:absolute!important;display:block!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:fill!important;transform:none!important}
.editor .docx-group-shape{position:absolute;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;justify-content:center;pointer-events:none;line-height:1.05}
.editor .docx-group-shape>div{margin:0!important;padding:0!important;line-height:1.05!important}
.editor .docx-group-line{position:absolute;box-sizing:border-box;pointer-events:none}
@media print{
  .editor .docx-has-drawing-group{position:relative!important}
.editor .docx-drawing-group-anchor{pointer-events:none!important}
  .editor img.doc-floating{transform:translate(var(--print-shift-x,0px),var(--print-shift-y,0px))!important}
}

/* v1.1.18 — exact Word group crop/anchor rendering */
.editor .docx-group-picture>.docx-group-picture-svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important;overflow:visible!important;pointer-events:none!important}
.editor .docx-group-picture>.docx-group-picture-svg image{pointer-events:none!important}


/* v1.1.19 — canonical WYSIWYG print snapshot: print the editor's existing page geometry, do not reflow it */
#wysiwygPrintSnapshot{display:none}
@media print{
  @page{margin:0}
  html,body{margin:0!important;padding:0!important;width:auto!important;max-width:none!important;height:auto!important;overflow:visible!important;background:#fff!important}
  #app{display:none!important}
  #wysiwygPrintSnapshot{display:block!important;visibility:visible!important;position:static!important;margin:0!important;padding:0!important;width:var(--page-w)!important;max-width:none!important;background:#fff!important}
  #wysiwygPrintSnapshot .wysiwyg-print-page{position:relative!important;display:block!important;width:var(--page-w)!important;height:var(--page-h)!important;min-height:var(--page-h)!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important;box-shadow:none!important;break-after:page!important;page-break-after:always!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #wysiwygPrintSnapshot .wysiwyg-print-page:last-child{break-after:auto!important;page-break-after:auto!important}
  #wysiwygPrintSnapshot .print-paper-clone{position:absolute!important;left:0!important;top:var(--snapshot-top,0px)!important;width:var(--page-w)!important;min-width:var(--page-w)!important;max-width:var(--page-w)!important;height:var(--snapshot-doc-height)!important;min-height:var(--snapshot-doc-height)!important;margin:0!important;padding:0!important;transform:none!important;transform-origin:top left!important;box-shadow:none!important;background:transparent!important;overflow:visible!important;transition:none!important}
  #wysiwygPrintSnapshot .print-paper-clone .editor{position:relative!important;width:var(--page-w)!important;min-width:var(--page-w)!important;max-width:var(--page-w)!important;height:auto!important;min-height:var(--snapshot-doc-height)!important;margin:0!important;padding:var(--page-mt) var(--page-mr) var(--page-mb) var(--page-ml)!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;transform:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #wysiwygPrintSnapshot .print-paper-clone .source-page-backgrounds{display:block!important;visibility:visible!important;opacity:1!important}
  #wysiwygPrintSnapshot .print-paper-clone .source-page-background{display:block!important;background:#fff!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  #wysiwygPrintSnapshot .print-source-artwork-img{position:absolute!important;display:block!important;max-width:none!important;max-height:none!important;object-fit:fill!important;pointer-events:none!important}
  #wysiwygPrintSnapshot .print-paper-clone .page-gap-masks,
  #wysiwygPrintSnapshot .print-paper-clone .image-object-overlay{display:none!important}
  #wysiwygPrintSnapshot .print-paper-clone img.doc-floating{transform:none!important}
  #wysiwygPrintSnapshot .print-paper-clone .auto-page-break,
  #wysiwygPrintSnapshot .print-paper-clone .source-page-break,
  #wysiwygPrintSnapshot .print-paper-clone .manual-page-break{display:block!important;position:relative!important;height:var(--snapshot-spacer-height,0px)!important;min-height:var(--snapshot-spacer-height,0px)!important;width:calc(100% + var(--page-ml) + var(--page-mr))!important;margin:0 calc(-1 * var(--page-mr)) 0 calc(-1 * var(--page-ml))!important;padding:0!important;border:0!important;background:transparent!important;break-before:auto!important;page-break-before:auto!important;break-after:auto!important;page-break-after:auto!important;overflow:visible!important}
  #wysiwygPrintSnapshot .print-paper-clone .auto-page-break::before,
  #wysiwygPrintSnapshot .print-paper-clone .source-page-break::before,
  #wysiwygPrintSnapshot .print-paper-clone .manual-page-break::before,
  #wysiwygPrintSnapshot .print-paper-clone .auto-page-break span,
  #wysiwygPrintSnapshot .print-paper-clone .source-page-break span,
  #wysiwygPrintSnapshot .print-paper-clone .manual-page-break span{display:none!important}
  #wysiwygPrintSnapshot .print-paper-clone .table-page-seam{display:block!important;height:var(--snapshot-spacer-height,1px)!important;min-height:var(--snapshot-spacer-height,1px)!important}
}

/* v1.1.20 — mobile physical-page stability, iOS text-size lock, Word shading fidelity */
html,body,#app,.paper,.editor{ -webkit-text-size-adjust:100%!important; text-size-adjust:100%!important; }
.editor table.docx-table td,.editor table.docx-table th{ -webkit-text-size-adjust:100%!important; text-size-adjust:100%!important; }
.editor table.docx-table td[style*="background-color"]{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
/* Old builds promoted any shaded Word cell into a black whole-table section bar. v1.1.20 keeps shading per-cell. */
.editor table.docx-table.docx-section-bar td{background:initial!important;color:inherit!important;border-color:inherit!important;line-height:inherit!important}
.editor table.docx-table.docx-section-bar p{color:inherit!important;line-height:inherit!important}
.source-header-artwork,.source-footer-artwork{background-color:transparent!important}
.image-object-toolbar{max-width:min(96vw,520px);white-space:nowrap}
@media(max-width:620px){
  html,body,#app,.paper,.editor,.editor *{ -webkit-text-size-adjust:100%!important; text-size-adjust:100%!important; }
  .image-object-toolbar{max-width:calc(100vw - 20px)!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;padding:3px!important;gap:3px!important}
  .image-object-toolbar select{max-width:148px!important;flex:0 0 auto}
  .image-object-toolbar button{flex:0 0 auto;padding-inline:6px!important}
}
@media print{
  html,body,#wysiwygPrintSnapshot,#wysiwygPrintSnapshot *{ -webkit-text-size-adjust:100%!important; text-size-adjust:100%!important; }
  #wysiwygPrintSnapshot .source-page-artwork{ -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
  #wysiwygPrintSnapshot .print-paper-clone table td,#wysiwygPrintSnapshot .print-paper-clone table th{ -webkit-print-color-adjust:exact!important; print-color-adjust:exact!important; }
}
.paper,.editor,#wysiwygPrintSnapshot{color-scheme:light!important}


/* v1.1.21 — lossless DOCX recovery and Word physical-table fidelity */
.editor table.docx-table{margin-top:0!important;margin-bottom:0!important}
.editor table.docx-table td,.editor table.docx-table th{padding-top:0!important;padding-bottom:0!important;padding-left:5.4pt;padding-right:5.4pt;box-sizing:border-box}
.editor table.docx-table.docx-physical-width{max-width:none!important}
@media(max-width:620px){.editor table.docx-table.docx-physical-width{max-width:none!important;overflow:visible!important}}


/* v1.1.22 — print sheet integrity: one logical page = one physical sheet; never split footer/page layers */
@media print{
  #wysiwygPrintSnapshot .wysiwyg-print-page{
    box-sizing:border-box!important;
    break-inside:avoid-page!important;
    page-break-inside:avoid!important;
    overflow:hidden!important;
    contain:layout paint size!important;
  }
  #wysiwygPrintSnapshot .print-paper-clone .source-page-background{
    overflow:hidden!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #wysiwygPrintSnapshot .print-paper-clone .source-footer-artwork,
  #wysiwygPrintSnapshot .print-paper-clone .print-source-artwork-img{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}
\n\n/* v1.1.23 — iOS print viewport isolation: decorations belong to one sheet only */
@media print{
  #wysiwygPrintSnapshot .wysiwyg-print-page{
    position:relative!important;
    width:var(--page-w)!important;
    height:var(--page-h)!important;
    min-height:var(--page-h)!important;
    max-height:var(--page-h)!important;
    overflow:hidden!important;
    isolation:isolate!important;
    contain:strict!important;
  }
  #wysiwygPrintSnapshot .print-page-decoration-layer{
    position:absolute!important;
    inset:0!important;
    width:var(--page-w)!important;
    height:var(--page-h)!important;
    overflow:hidden!important;
    z-index:0!important;
    pointer-events:none!important;
    contain:layout paint size!important;
  }
  #wysiwygPrintSnapshot .print-page-decoration-layer>.source-page-background{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:var(--page-w)!important;
    height:var(--page-h)!important;
    min-height:var(--page-h)!important;
    max-height:var(--page-h)!important;
    overflow:hidden!important;
    box-shadow:none!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #wysiwygPrintSnapshot .print-page-local-clone{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:var(--page-w)!important;
    height:var(--page-h)!important;
    min-height:var(--page-h)!important;
    max-height:var(--page-h)!important;
    overflow:hidden!important;
    z-index:1!important;
    contain:layout paint size!important;
  }
  #wysiwygPrintSnapshot .print-page-local-clone>.editor,
  #wysiwygPrintSnapshot .print-page-local-clone .editor{
    position:absolute!important;
    left:0!important;
    top:var(--snapshot-top,0px)!important;
    width:var(--page-w)!important;
    min-width:var(--page-w)!important;
    max-width:var(--page-w)!important;
    height:var(--snapshot-doc-height)!important;
    min-height:var(--snapshot-doc-height)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #wysiwygPrintSnapshot .print-page-local-clone .source-page-backgrounds,
  #wysiwygPrintSnapshot .print-page-local-clone .page-gap-masks{display:none!important}
}

/* v1.2.0 — productivity ribbon, page navigator, recovery, table/image controls */
.ribbon-tabs{display:flex;align-items:end;gap:2px;padding:4px 8px 0;background:#fff;border-bottom:1px solid #e8eef5;overflow-x:auto;scrollbar-width:none}
.ribbon-tabs::-webkit-scrollbar{display:none}.ribbon-tabs button{appearance:none;border:0!important;border-radius:8px 8px 0 0!important;background:transparent!important;color:#61758c!important;min-height:31px!important;padding:5px 13px!important;font-size:11px!important;font-weight:800!important;white-space:nowrap;box-shadow:none!important;position:relative}
.ribbon-tabs button:hover{background:#f4f8fc!important;color:#294d74!important}.ribbon-tabs button.active{color:#1264d8!important;background:#f5f9ff!important}.ribbon-tabs button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:#1264d8}
.ribbon-row[hidden]{display:none!important}.tool-group[hidden]{display:none!important}.review-extra-group{gap:5px}.table-tools-group{gap:4px;max-width:100%}.table-tools-group button{white-space:nowrap}.table-color-tool{display:flex;align-items:center;gap:4px;height:34px;padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#61758c;font-size:9px;font-weight:800;white-space:nowrap}.table-color-tool input{width:25px;height:24px;border:0;padding:0;background:transparent}.table-tools-group select{max-width:82px}
.workspace.page-nav-open .document-pane{margin-left:176px}.document-pane{transition:margin-left .16s ease}.page-navigator{position:absolute;left:0;top:0;bottom:0;width:176px;z-index:12;display:flex;flex-direction:column;background:#f7fafc;border-right:1px solid #cedbe8;box-shadow:5px 0 18px rgba(34,62,91,.07);overflow:hidden}.page-navigator[hidden]{display:none!important}.page-nav-head{height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border-bottom:1px solid #dce6ef;background:#fff}.page-nav-head strong{font-size:12px}.page-nav-head button{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#5f748b;font-weight:900;cursor:pointer}.page-thumb-list{flex:1;min-height:0;overflow:auto;padding:10px 8px 24px;display:grid;align-content:start;gap:11px}.page-thumb{display:grid;justify-items:center;gap:5px;border:1px solid transparent;background:transparent;border-radius:10px;padding:6px;cursor:pointer;color:#657a91}.page-thumb:hover{background:#eef5fc}.page-thumb.active{background:#e8f2ff;border-color:#a8cafa;color:#155aa9}.page-thumb-sheet{display:block;position:relative;width:94px;aspect-ratio:8.5/11;background:#fff;border:1px solid #d7e0ea;border-radius:2px;box-shadow:0 2px 8px rgba(33,57,82,.12);overflow:hidden;padding:12px 9px}.page-thumb-lines{display:grid;gap:4px}.page-thumb-lines i{display:block;width:var(--line-w,80%);height:2px;border-radius:3px;background:#b9c7d6}.page-thumb-lines i:nth-child(3n){background:#d0dae4}.page-thumb-label{font-size:9px;font-weight:800}
.utility-dialog{max-width:min(94vw,620px);max-height:min(88dvh,720px);overflow:hidden}.utility-dialog .dialog-card{width:min(92vw,590px);max-height:min(86dvh,690px);overflow:auto;min-width:0}.dialog-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dialog-title-row small{font-size:9px;color:#75899f;font-weight:850;letter-spacing:.08em}.dialog-title-row h2{margin:1px 0 0}.dialog-title-row>button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#5e738a;font-size:18px;font-weight:800;cursor:pointer}.dialog-help{margin:0;color:#667b91;font-size:12px;line-height:1.45}.history-list{display:grid;gap:7px;min-height:90px;max-height:48dvh;overflow:auto}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #dce6ef;border-radius:11px;background:#fbfdff}.history-item>div{display:grid;gap:2px}.history-item strong{font-size:12px}.history-item span{font-size:10px;color:#74889d}.history-item button{border:1px solid #bdd1e6;border-radius:8px;background:#fff;color:#2365a7;padding:6px 9px;font-weight:800;cursor:pointer}.history-empty{margin:auto;color:#7b8da0;font-size:12px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.stats-grid>div{display:grid;gap:3px;padding:14px;border:1px solid #dce6ef;border-radius:12px;background:#f8fbff}.stats-grid strong{font-size:22px;color:#183f6c;letter-spacing:-.03em}.stats-grid span{font-size:10px;color:#73869b}.page-setup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-setup-grid label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#4f657d}.page-setup-grid input,.page-setup-grid select{height:39px;border:1px solid #d5e1ec;border-radius:9px;background:#fff;padding:6px 8px;color:#294863}.page-setup-grid input:disabled{background:#f0f3f7;color:#9aa8b6}
.image-object-toolbar{top:-44px;max-width:min(96vw,900px)!important;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.image-object-toolbar button.active{background:#e7f2ff;border-color:#9fc5ef;color:#1264d8}.image-size-field{display:flex;align-items:center;gap:3px;height:30px;border:1px solid #d8e4f0;border-radius:6px;padding:2px 4px;background:#fff;color:#58718d;font-size:9px;font-weight:800}.image-size-field input{width:50px;height:24px;border:0;border-left:1px solid #e0e8f0;padding:2px 4px;background:#fff;color:#294b70;font-size:10px;outline:none}.editor td.table-cell-active,.editor th.table-cell-active{outline:2px solid rgba(18,100,216,.22);outline-offset:-2px}
@media(max-width:900px){.ribbon-tabs{padding-left:5px}.ribbon-tabs button{padding-inline:11px!important}.workspace.page-nav-open .document-pane{margin-left:152px}.page-navigator{width:152px}.page-thumb-sheet{width:82px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .ribbon-tabs{padding:3px 4px 0;justify-content:space-between;gap:0}.ribbon-tabs button{flex:1 0 auto;min-width:64px!important;padding:5px 8px!important;font-size:10px!important}.ribbon-row{min-height:42px}.ribbon-row .tool-group{border-right:0;padding-right:3px}.ribbon-row .tool-group+ .tool-group{border-left:1px solid #e5edf5;padding-left:5px}.table-tools-group{max-width:none}.workspace.page-nav-open .document-pane{margin-left:0}.page-navigator{width:min(148px,44vw);box-shadow:8px 0 28px rgba(27,47,70,.24)}.page-thumb-sheet{width:78px}.utility-dialog{width:calc(100vw - 18px);max-width:none;margin:auto}.utility-dialog .dialog-card{width:100%;padding:15px;max-height:82dvh}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.stats-grid>div{padding:10px}.stats-grid strong{font-size:18px}.page-setup-grid{grid-template-columns:1fr 1fr;gap:8px}.image-object-toolbar{top:-40px!important;max-width:calc(100vw - 16px)!important}.image-size-field input{width:44px}.history-item{padding:9px}.history-item strong{font-size:11px}
}
@media(max-width:390px){.ribbon-tabs button{min-width:58px!important;padding-inline:6px!important}.page-setup-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}}
@media print{.page-navigator,.ribbon-tabs,.utility-dialog{display:none!important}.editor thead{display:table-header-group!important}.editor tr[data-header="1"]{break-inside:avoid-page!important;page-break-inside:avoid!important}}

/* v1.2.1 fuller ribbon */
.insert-content-group button,.layout-convenience-group button,.proofing-group button,.view-extra-group button{white-space:nowrap}
.insert-content-group select{min-width:88px}.layout-convenience-group select{min-width:122px}.proofing-group select{min-width:126px}
.ribbon .active-tool,.ribbon button[aria-pressed="true"]{background:#eaf3ff!important;border-color:#b8d5f6!important;color:#0f5ec4!important}
.doc-horizontal-rule{border:0;border-top:1.5px solid #7b8794;margin:10px 0}
.editor.show-formatting-marks p::after,.editor.show-formatting-marks li::after,.editor.show-formatting-marks h1::after,.editor.show-formatting-marks h2::after,.editor.show-formatting-marks h3::after{content:" ¶";color:#86a0bd;font-weight:400;font-size:.8em;user-select:none}
body.dark-workspace .workspace,body.dark-workspace .document-pane,body.dark-workspace .canvas-scroller{background:#1b2430!important}body.dark-workspace .paper{box-shadow:0 4px 26px #0008!important}
body.doc-focus-mode .app-header,body.doc-focus-mode .privacy-bar,body.doc-focus-mode .ribbon-wrap,body.doc-focus-mode .status-bar{display:none!important}body.doc-focus-mode .app-shell{grid-template-rows:1fr!important;height:100dvh!important}body.doc-focus-mode .workspace{min-height:100dvh!important}
@media(max-width:900px){.insert-content-group button,.layout-convenience-group button,.proofing-group button,.view-extra-group button{font-size:10px!important}.insert-content-group select,.layout-convenience-group select,.proofing-group select{max-width:120px}}
@media(max-width:620px){.ribbon-row{scroll-snap-type:x proximity}.ribbon-row .tool-group{scroll-snap-align:start}.insert-content-group button,.layout-convenience-group button,.proofing-group button,.view-extra-group button{min-width:auto!important;padding-inline:8px!important}.insert-content-group select{min-width:84px}.layout-convenience-group select{min-width:105px}.proofing-group select{min-width:108px}.character-group button{min-width:32px!important}}
@media print{.editor.show-formatting-marks p::after,.editor.show-formatting-marks li::after,.editor.show-formatting-marks h1::after,.editor.show-formatting-marks h2::after,.editor.show-formatting-marks h3::after{content:none!important}}

/* v1.2.2 audit fixes — safe focus exit and stable production assets */
.focus-exit-btn{position:fixed;z-index:10000;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));border:1px solid #b9cee5;border-radius:999px;background:#fff;color:#174f88;box-shadow:0 6px 20px rgba(22,55,88,.18);padding:8px 13px;font:800 12px/1 system-ui,-apple-system,Segoe UI,sans-serif;cursor:pointer}
.focus-exit-btn[hidden]{display:none!important}
body.doc-focus-mode .focus-exit-btn{display:block}
@media(max-width:620px){.focus-exit-btn{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));padding:8px 11px;font-size:11px}}
@media print{.focus-exit-btn{display:none!important}}


/* v1.2.4 — action-button hover contrast and stability */
.ribbon-tabs .context-tab{font-weight:850!important}.ribbon-tabs .table-context-tab{color:#7b4f19!important;background:#fff8e9!important}.ribbon-tabs .table-context-tab.active{color:#9a5b00!important;background:#fff2cf!important}.ribbon-tabs .table-context-tab.active:after{background:#d68a16!important}.ribbon-tabs .picture-context-tab{color:#6542b7!important;background:#f7f1ff!important}.ribbon-tabs .picture-context-tab.active{color:#5b35b3!important;background:#eee5ff!important}.ribbon-tabs .picture-context-tab.active:after{background:#7449d8!important}
.text-style-group{gap:5px}.font-browse-tool{padding-inline:8px!important;color:#315e91!important;background:#f5f9ff!important}.paragraph-spacing-group{background:#fbfdff;border-radius:8px}.paragraph-spacing-group .spacing-tool{background:#fff}
.table-tools-group,.picture-tools-group{gap:5px!important}.table-tools-group{background:#fffaf0;border:1px solid #f0dfbd!important;border-radius:9px;padding:4px 7px!important}.picture-tools-group{background:#faf7ff;border:1px solid #e3d9f6!important;border-radius:9px;padding:4px 7px!important}.picture-size-tool{display:flex;align-items:center;gap:4px;height:32px;padding:2px 5px;border:1px solid #dcd5ec;border-radius:7px;background:#fff;color:#6c5b86;font-size:9px;font-weight:850}.picture-size-tool input{width:52px;height:26px;border:0;border-left:1px solid #ece7f5;padding:2px 4px;background:#fff;color:#334b68;outline:none}.picture-delete{color:#b42d46!important;background:#fff4f6!important;border-color:#f0ccd3!important}
.image-object-toolbar{display:none!important}.editor td.table-cell-active,.editor th.table-cell-active{outline:none!important;box-shadow:inset 0 0 0 1px rgba(18,100,216,.24),inset 0 0 0 3px rgba(18,100,216,.045)!important}.ribbon-row .tool-group{transition:background .16s ease,border-color .16s ease}
@media(max-width:620px){.ribbon-tabs{justify-content:flex-start!important}.ribbon-tabs button{flex:0 0 auto!important;min-width:61px!important}.ribbon-tabs .context-tab{min-width:66px!important}.picture-tools-group,.table-tools-group{max-width:none!important;white-space:nowrap}.picture-size-tool input{width:46px}.font-browse-tool{min-width:auto!important}.ribbon-row-secondary{background:#fcfdff}}

/* v1.2.4 — keep header actions readable and visually stable on hover/focus */
@media (hover:hover){
  .header-actions #openBtn:not(:disabled):hover{background:linear-gradient(135deg,#0d58c7,#176fdc)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 12px rgba(18,100,216,.24)}
  .header-actions #downloadBtn:not(:disabled):hover{background:linear-gradient(135deg,#087b52,#0b9664)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 4px 12px rgba(10,152,101,.22)}
  .header-actions #printBtn:not(:disabled):hover,.header-actions #installBtn:not(:disabled):hover{background:#eaf3fb!important;color:#214f7b!important;border-color:#bad1e6!important}
  .header-actions #newBtn:not(:disabled):hover{background:#eaf3fb!important;color:#174d82!important;border-color:#bad1e6!important}
}
.header-actions #openBtn:focus-visible{outline:3px solid rgba(18,100,216,.28);outline-offset:2px;background:linear-gradient(135deg,#0d58c7,#176fdc)!important;color:#fff!important}
.header-actions #downloadBtn:focus-visible{outline:3px solid rgba(10,152,101,.25);outline-offset:2px;background:linear-gradient(135deg,#087b52,#0b9664)!important;color:#fff!important}
.header-actions button:disabled:hover{box-shadow:none}


/* v1.2.5 document structure tools */
.page-header-footer-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:visible;color:#5b6575;font-size:10pt}
.page-hf-sheet{position:absolute;left:0;right:0;pointer-events:none}
.page-hf-header,.page-hf-footer{position:absolute;overflow:hidden;line-height:1.25;white-space:normal}
.page-hf-header{top:0}.page-hf-footer{bottom:0}
.page-hf-content p{margin:0 0 2pt}.page-hf-number{margin-top:2pt;font-variant-numeric:tabular-nums}
.header-footer-group{border-color:#d8ccff!important;background:linear-gradient(180deg,#fbf9ff,#f6f2ff)}
.hf-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hf-editor-grid label,.hf-options label,.crop-grid label{display:grid;gap:6px;font-weight:700;color:#344054}
.hf-content-editor{min-height:92px;max-height:180px;overflow:auto;border:1px solid #cbd5e1;border-radius:10px;background:#fff;padding:10px 12px;font-weight:400;color:#111827;outline:none;white-space:pre-wrap}
.hf-content-editor:empty:before{content:attr(data-placeholder);color:#98a2b3}.hf-content-editor:focus{border-color:#7c5ce0;box-shadow:0 0 0 3px rgba(124,92,224,.13)}
.hf-options{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-top:14px}.hf-options select{min-width:140px}.hf-check{display:flex!important;grid-auto-flow:column;align-items:center;gap:7px!important;padding:8px 0}.hf-check input{width:18px;height:18px}
.nav-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px 8px;border-bottom:1px solid #e6eaf0}.nav-mode-tabs button{border:0;border-radius:8px;padding:7px 8px;background:#f3f5f8;color:#586174;font-weight:700}.nav-mode-tabs button.active{background:#e7efff;color:#1457b8}
.outline-list{padding:8px;overflow:auto;min-height:0}.outline-empty{padding:18px 10px;color:#7a8495;text-align:center;font-size:12px}.outline-item{display:flex;width:100%;align-items:center;gap:8px;border:0;background:transparent;border-radius:8px;padding:7px 8px;text-align:left;color:#344054;cursor:pointer}.outline-item:hover{background:#eef4ff}.outline-item[data-level="2"]{padding-left:20px}.outline-item[data-level="3"]{padding-left:34px}.outline-item .outline-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.outline-item .outline-page{font-size:10px;color:#8a94a5;flex:none}
.doc-toc{border:1px solid #e1e5ec;border-radius:6px;padding:12pt 14pt;margin:0 0 12pt;background:#fff}.doc-toc-title{font-size:16pt;font-weight:700;margin:0 0 8pt!important}.doc-toc-entry{display:flex;align-items:flex-end;gap:7px;margin:2pt 0!important;line-height:1.3}.doc-toc-entry.level-2{padding-left:18pt}.doc-toc-entry.level-3{padding-left:36pt}.doc-toc-entry a{color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.doc-toc-dots{flex:1;border-bottom:1px dotted #98a2b3;transform:translateY(-3px)}.doc-toc-page{font-variant-numeric:tabular-nums}
.table-number-tool{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#667085}.table-number-tool input{width:52px!important;min-width:52px!important;padding:5px 4px!important}.table-tools-group{max-width:min(100%,1100px)}
.crop-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px}.crop-preview-wrap{display:flex;justify-content:center;margin:16px 0}.crop-preview-frame{width:min(100%,420px);height:220px;border:1px solid #d0d5dd;border-radius:10px;background:repeating-conic-gradient(#eef1f5 0 25%,#fff 0 50%) 50%/20px 20px;overflow:hidden;display:flex;align-items:center;justify-content:center}.crop-preview-frame img{max-width:100%;max-height:100%;object-fit:contain}.doc-movable[data-crop-active="1"]{clip-path:inset(var(--crop-top,0%) var(--crop-right,0%) var(--crop-bottom,0%) var(--crop-left,0%))}
@media(max-width:720px){.hf-editor-grid{grid-template-columns:1fr}.hf-options{display:grid;grid-template-columns:1fr 1fr}.hf-check{grid-column:1/-1}.crop-grid{grid-template-columns:1fr 1fr}.header-footer-card,.crop-card{width:min(96vw,680px)}.table-tools-group{min-width:max-content}}
@media print{.page-header-footer-layer{display:block!important}.doc-toc{border:0;padding:0}}

@media print{#wysiwygPrintSnapshot .print-page-local-clone .page-header-footer-layer{position:absolute!important;left:0!important;top:var(--snapshot-top,0px)!important;width:var(--page-w)!important;height:var(--snapshot-doc-height)!important;display:block!important;visibility:visible!important;overflow:visible!important}}


/* v1.2.6 richer ribbon + header/footer designer */
.view-navigation-group,.view-show-group,.layout-paragraph-group,.review-selection-group{gap:5px}
#viewZoomPreset{min-width:72px;max-width:78px}.layout-number-tool{display:flex;align-items:center;gap:4px;height:34px;padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#61758c;font-size:9px;font-weight:800;white-space:nowrap}.layout-number-tool input{width:50px;height:26px;border:0;border-left:1px solid #e3eaf1;padding:2px 4px;color:#294863;background:#fff}.signature-line{width:min(320px,80%);margin:26pt 0 8pt;border-top:1px solid #344054;padding-top:4pt;font-size:9pt;color:#667085}.signature-line:before{content:'Signature';display:block}body.show-margin-guides .paper::after{content:'';position:absolute;top:var(--page-mt);left:var(--page-ml);right:var(--page-mr);bottom:var(--page-mb);border:1px dashed rgba(18,100,216,.35);pointer-events:none;z-index:8}.page-header-footer-layer.hf-screen-hidden{display:none!important}
.hf-design-grid{display:grid;grid-template-columns:2fr 1.5fr .7fr .8fr .8fr;gap:9px}.hf-design-grid label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#53687f}.hf-design-grid select,.hf-design-grid input{height:36px;border:1px solid #d5e1ec;border-radius:9px;background:#fff;padding:5px 7px;color:#294863}.hf-design-grid input[type=color]{padding:3px;width:100%}.hf-format-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #edf2f7;border-bottom:1px solid #edf2f7}.hf-format-strip button{height:34px;border:1px solid #d7e2ed;border-radius:8px;background:#fff;color:#34506d;padding:5px 9px;font-weight:800;cursor:pointer}.hf-format-strip button:hover{background:#f3f8fd}.hf-field-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.hf-field-head select{height:31px;border:1px solid #d6e0eb;border-radius:8px;background:#fff;padding:3px 7px;color:#38536e}.hf-field-head span{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:#667b91}.hf-field-head input{width:16px;height:16px}.hf-preview{display:grid;gap:6px}.hf-preview-title{font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:#75899f}.hf-preview-paper{position:relative;min-height:138px;border:1px solid #d6e0eb;border-radius:10px;background:#fff;box-shadow:0 3px 10px rgba(25,52,80,.06);padding:18px 24px;overflow:hidden}.hf-preview-header,.hf-preview-footer{position:absolute;left:24px;right:24px;font-size:9pt;color:#475467;line-height:1.25}.hf-preview-header{top:12px}.hf-preview-footer{bottom:12px;display:flex;justify-content:space-between;gap:12px}.hf-preview-body{height:72px;margin-top:15px;border-radius:6px;background:repeating-linear-gradient(to bottom,#f1f5f9 0,#f1f5f9 2px,transparent 2px,transparent 11px);opacity:.75}.page-hf-content{font-family:var(--hf-font,Calibri),Arial,sans-serif;font-size:var(--hf-size,9pt);color:var(--hf-color,#475467)}.page-hf-content.hf-line-header{border-bottom:var(--hf-line-width,1px) solid var(--hf-accent,#1264d8);padding-bottom:4px}.page-hf-content.hf-line-footer{border-top:var(--hf-line-width,1px) solid var(--hf-accent,#1264d8);padding-top:4px}.page-hf-number{font-family:inherit;font-size:inherit;color:inherit}
@media(max-width:900px){.hf-design-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.hf-design-grid{grid-template-columns:1fr 1fr}.hf-design-grid label:first-child{grid-column:1/-1}.hf-preview-paper{min-height:120px;padding-inline:14px}.hf-preview-header,.hf-preview-footer{left:14px;right:14px}.layout-number-tool input{width:44px}.view-navigation-group button,.view-show-group button{padding-inline:8px!important}}
#headerFooterDialog{max-width:min(96vw,800px)}#headerFooterDialog .header-footer-card{width:min(94vw,760px);max-width:760px}.hf-format-strip .active-tool{background:#e8f2ff!important;border-color:#9dc5f5!important;color:#0b5cad!important}


/* ---------- v1.3.0 offline review, objects, equations, watermark and ruler ---------- */
.privacy-status{display:flex;align-items:center;gap:12px;min-width:0}.network-status{font-size:10px;font-weight:800;color:#35755f;white-space:nowrap}.network-status.offline{color:#b35c00}.network-status:before{content:"●";font-size:8px;margin-right:5px}.workspace.review-open .document-pane{right:300px}.review-sidebar{position:absolute;right:0;top:0;bottom:0;width:300px;z-index:14;background:#fff;border-left:1px solid #d7e2ed;box-shadow:-7px 0 22px rgba(29,52,77,.08);display:flex;flex-direction:column}.review-sidebar[hidden]{display:none!important}.review-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 9px;border-bottom:1px solid #e4ebf2}.review-sidebar-head>div{display:grid;gap:2px}.review-sidebar-head small{font-size:8px;font-weight:900;letter-spacing:.08em;color:#8a9bae}.review-sidebar-head strong{font-size:13px;color:#264663}.review-sidebar-head button{width:30px;height:30px;border:1px solid #d9e3ed;border-radius:8px;background:#fff;color:#61758a;font-weight:900}.review-sidebar-tabs{display:grid;grid-template-columns:1fr 1fr;padding:8px;border-bottom:1px solid #e8eef4;gap:5px}.review-sidebar-tabs button{height:32px;border:1px solid #dce5ee;border-radius:8px;background:#f7fafc;color:#526a82;font-size:10px;font-weight:850}.review-sidebar-tabs button.active{background:#e9f2ff;border-color:#9ec5f4;color:#155baa}.review-list{flex:1;min-height:0;overflow:auto;padding:9px;display:grid;align-content:start;gap:8px;background:#f8fafc}.review-card{border:1px solid #dce5ed;border-radius:10px;background:#fff;padding:9px;display:grid;gap:6px;box-shadow:0 2px 8px rgba(33,54,76,.04)}.review-card.resolved{opacity:.62}.review-card-head{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#778ca2}.review-card strong{font-size:10px;color:#314f6c}.review-card blockquote{margin:0;padding:6px 8px;border-left:3px solid #f5b642;background:#fffaf0;border-radius:5px;color:#4b5e70;font-size:10px;line-height:1.35}.review-card p{margin:0;color:#536b82;font-size:10px;line-height:1.4}.review-card-actions{display:flex;gap:5px;flex-wrap:wrap}.review-card-actions button{height:27px;padding:3px 7px;border:1px solid #d8e3ed;border-radius:7px;background:#fff;color:#3e607e;font-size:9px;font-weight:800}.doc-comment-anchor{background:linear-gradient(transparent 54%,rgba(255,201,71,.5) 54%);border-bottom:1px dotted #d89000;cursor:pointer}.doc-comment-anchor.comment-resolved{background:linear-gradient(transparent 58%,rgba(153,164,178,.24) 58%);border-bottom-color:#98a2b3}.doc-revision-insertion{background:#eaf8ef;text-decoration:underline;text-decoration-color:#2c9a5a;text-decoration-thickness:2px;text-underline-offset:2px}.doc-revision-deletion{background:#fff0f0;color:#9b2c2c;text-decoration:line-through;text-decoration-thickness:2px}.review-change-insert{border-left:3px solid #39a765}.review-change-delete{border-left:3px solid #d14b4b}.active-tool#trackChangesBtn{background:#fff3df!important;border-color:#f2bb68!important;color:#9a5700!important}.comment-card,.equation-card,.watermark-card,.object-card{width:min(94vw,620px)}.comment-quote{margin:2px 0 10px;padding:8px 10px;border-left:3px solid #f1b338;background:#fffaf0;border-radius:7px;color:#52677b;font-size:11px;max-height:70px;overflow:auto}.dialog-field{display:grid;gap:6px;color:#405b74;font-size:10px;font-weight:850}.dialog-field textarea,.dialog-field input,.equation-fields input,.watermark-grid input,.watermark-grid select,.object-grid input,.object-grid select{width:100%;border:1px solid #d4e0ea;border-radius:9px;background:#fff;color:#243f59;padding:8px;outline:none}.dialog-field textarea:focus,.dialog-field input:focus,.equation-fields input:focus{border-color:#7aa9df;box-shadow:0 0 0 3px rgba(44,121,206,.11)}.equation-presets{display:flex;gap:6px;flex-wrap:wrap}.equation-presets button{min-width:56px;height:36px;border:1px solid #d7e1eb;border-radius:8px;background:#fff;color:#315576;font-size:14px;font-weight:850}.equation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.equation-fields label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#4a6178}.equation-preview{min-height:72px;display:grid;place-items:center;border:1px solid #d9e3ed;border-radius:10px;background:#f8fbfe;font-family:Cambria,"Times New Roman",serif;font-size:25px;color:#1e344b;padding:10px}.doc-equation{display:inline-flex;align-items:center;gap:.12em;font-family:Cambria,"Times New Roman",serif;font-size:1.04em;vertical-align:middle;margin:0 .08em}.doc-equation .eq-frac{display:inline-grid;grid-template-rows:auto auto;text-align:center;line-height:1.05;vertical-align:middle}.doc-equation .eq-frac>span:first-child{border-bottom:1px solid currentColor;padding:0 .16em .05em}.doc-equation .eq-frac>span:last-child{padding:.05em .16em 0}.doc-equation .eq-root{display:inline-flex;align-items:flex-start}.doc-equation .eq-radical{font-size:1.3em;line-height:1}.doc-equation .eq-radicand{border-top:1px solid currentColor;padding:0 .12em}.doc-equation table{display:inline-table!important;border-collapse:collapse!important;margin:0 .2em!important;width:auto!important}.doc-equation td{border:0!important;padding:0 .25em!important;min-width:0!important}.watermark-grid,.object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.watermark-grid label,.object-grid label{display:grid;gap:5px;font-size:10px;font-weight:800;color:#536b82}.watermark-preview{min-height:120px;display:grid;place-items:center;border:1px solid #d8e2ec;border-radius:10px;background:#fff;overflow:hidden}.watermark-preview span{font-size:46px;font-weight:850;letter-spacing:.05em;color:#8a94a6;opacity:.14;transform:rotate(-35deg);white-space:nowrap}.document-watermark-layer{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:visible}.document-watermark-page{position:absolute;left:0;display:grid;place-items:center;overflow:hidden}.document-watermark-text{font-weight:850;letter-spacing:.055em;white-space:nowrap;user-select:none}.page-header-footer-layer{z-index:3}.editor{position:relative;z-index:4}.doc-floating-object{display:block;box-sizing:border-box;position:relative;width:3in;min-height:.75in;margin:10pt 0;padding:10px;border:1px solid #1264d8;background:#fff;color:#1e344b;overflow:hidden}.doc-floating-object[data-align="center"]{margin-left:auto;margin-right:auto}.doc-floating-object[data-align="right"]{margin-left:auto;margin-right:0}.doc-floating-object.shape-rounded{border-radius:16px}.doc-floating-object.shape-circle{border-radius:50%;width:1.7in;height:1.7in;display:grid;place-items:center}.doc-floating-object.shape-callout{border-radius:11px}.doc-floating-object.shape-callout:after{content:"";position:absolute;left:24px;bottom:-16px;border-width:16px 15px 0 0;border-style:solid;border-color:var(--object-border,#1264d8) transparent transparent transparent}.doc-floating-object.shape-arrow{clip-path:polygon(0 28%,72% 28%,72% 0,100% 50%,72% 100%,72% 72%,0 72%);padding-right:30%;display:grid;align-items:center}.doc-floating-object .doc-object-content{min-height:1em;outline:none;white-space:pre-wrap}.doc-floating-object.object-selected{box-shadow:0 0 0 3px rgba(18,100,216,.17)}.document-ruler{position:absolute;left:0;right:0;top:0;height:30px;z-index:10;background:#f7fafc;border-bottom:1px solid #cad8e6;overflow:hidden}.document-pane.ruler-visible .canvas-scroller{top:30px!important}.ruler-track{position:absolute;height:26px;top:2px;border:1px solid #cfdbe7;border-radius:3px;background-color:#fff;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(0.125in - 1px),#bdcbd9 calc(0.125in - 1px),#bdcbd9 0.125in);box-shadow:0 1px 4px rgba(30,54,77,.06);cursor:crosshair}.ruler-marker{position:absolute;width:0;height:0;padding:0;border:0;background:transparent;z-index:3;cursor:ew-resize}.ruler-left{top:14px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid #1264d8;transform:translateX(-6px)}.ruler-first{top:2px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid #7c5ce0;transform:translateX(-6px)}.ruler-right{top:14px;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:9px solid #d06f1a;transform:translateX(-6px)}.ruler-tab-stop{position:absolute;top:4px;width:8px;height:10px;border-left:2px solid #455d75;border-bottom:2px solid #455d75;transform:translateX(-1px);cursor:pointer}.doc-tab-stop{display:inline-block;height:1px;vertical-align:baseline}.status-bar .offline-label{font-weight:750}.status-bar .offline-label.is-offline{color:#b35c00}.status-bar .offline-label.is-online{color:#277b5b}
@media(max-width:900px){.workspace.review-open .document-pane{right:0}.review-sidebar{width:min(310px,88vw);box-shadow:-10px 0 30px rgba(25,48,72,.22)}.watermark-grid,.object-grid{grid-template-columns:1fr 1fr}.equation-fields{grid-template-columns:1fr}.privacy-status{gap:6px}.network-status{display:none}}
@media(max-width:620px){.review-sidebar{width:min(330px,94vw)}.watermark-grid,.object-grid{grid-template-columns:1fr 1fr}.comments-group,.revisions-group{min-width:max-content}.document-ruler{height:28px}.document-pane.ruler-visible .canvas-scroller{top:28px!important}}
@media print{.review-sidebar,.document-ruler{display:none!important}.document-pane.ruler-visible .canvas-scroller{top:0!important}.doc-comment-anchor{background:transparent!important;border:0!important}.doc-revision-insertion{background:transparent!important;text-decoration:none!important}.document-watermark-layer{display:block!important}}

/* ---------- v1.3.1 share-for-review + Alt access keys ---------- */
.share-review-btn{background:#6d3fd6;color:#fff;border-color:#5a32bb;font-weight:700}.share-review-btn:hover:not(:disabled){background:#5930bd;color:#fff;border-color:#4d28a8}.share-review-btn:disabled{opacity:.48}
.review-session-status{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;background:#eef4ff;color:#274690;font-weight:700}.review-session-status.is-syncing{background:#fff7e8;color:#8a5700}.review-session-status.is-offline{background:#fff1f0;color:#a4302a}.review-session-status.is-synced{background:#edf9f1;color:#176b3a}
.share-review-card{width:min(760px,calc(100vw - 24px))}.share-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.share-config-grid label,.share-result label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#475467}.share-config-grid input,.share-config-grid select,.share-link-row input{min-height:40px;border:1px solid #cfd7e6;border-radius:9px;padding:8px 10px;background:#fff;color:#101828}.share-check{grid-column:1/-1;display:flex!important;align-items:center;gap:8px}.share-check input{min-height:0;width:16px;height:16px}.share-permission-note{margin:12px 0;padding:10px 12px;border-radius:10px;background:#f6f8fc;color:#475467;font-size:12px;line-height:1.45}.share-result{margin-top:14px;padding:12px;border-radius:12px;background:#f7f5ff;border:1px solid #ddd4ff}.share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.share-result-actions{display:flex;justify-content:flex-end;margin-top:10px}.share-existing{margin-top:18px}.share-existing h3{font-size:13px;margin:0 0 8px}.share-list,.reviewers-list{display:grid;gap:8px;max-height:280px;overflow:auto}.share-list-item,.reviewer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid #e3e8f2;border-radius:10px;background:#fff}.share-list-item strong,.reviewer-row strong{display:block;font-size:13px;color:#172033}.share-list-item small,.reviewer-row small{display:block;margin-top:2px;color:#667085}.share-list-actions,.reviewer-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.share-list-actions button,.reviewer-actions button{min-height:32px;padding:5px 9px}.share-empty{padding:12px;border:1px dashed #d5dbe8;border-radius:10px;color:#667085;text-align:center;font-size:12px}.review-join-card{width:min(480px,calc(100vw - 24px))}.optional-label{font-weight:400;color:#98a2b3}.review-error{padding:9px 10px;border-radius:8px;background:#fff1f0;color:#b42318;font-size:12px}.review-manage-card{width:min(720px,calc(100vw - 24px))}.review-manage-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.review-meta-chip{padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px;font-weight:700}.review-meta-chip.revoked{background:#fff1f0;color:#b42318}.danger-lite{color:#b42318!important;border-color:#f0b9b5!important;background:#fff8f7!important}
body.review-link-mode .privacy-bar{background:#f7f5ff;border-bottom-color:#e1d9ff}.review-mode-banner{font-weight:700;color:#5b3cc4}
body.review-permission-view .ribbon-tabs [data-ribbon-tab]:not([data-ribbon-tab="view"]):not([data-ribbon-tab="help"]),body.review-permission-comment .ribbon-tabs [data-ribbon-tab]:not([data-ribbon-tab="review"]):not([data-ribbon-tab="view"]):not([data-ribbon-tab="help"]){display:none!important}
body.review-permission-view .ribbon-row .tool-group:not([data-tabs~="view"]):not([data-tabs~="help"]),body.review-permission-comment .ribbon-row .tool-group:not([data-tabs~="review"]):not([data-tabs~="view"]):not([data-tabs~="help"]){display:none!important}
body.review-permission-comment .revisions-group,body.review-permission-comment .proofing-group,body.review-permission-comment .review-extra-group,body.review-permission-comment .review-selection-group{display:none!important}
body.review-permission-suggest #trackChangesBtn{box-shadow:inset 0 0 0 2px #6d3fd6}

/* Alt access-key badges. They only appear after Alt is pressed, so the UI stays clean normally. */
[data-keytip]{position:relative}body.alt-key-mode [data-keytip]::after{content:attr(data-keytip);position:absolute;z-index:9999;left:50%;top:calc(100% + 3px);transform:translateX(-50%);min-width:18px;height:18px;padding:0 4px;border:1px solid #9f87ef;border-radius:4px;background:#fff8cc;color:#3f2b77;font:700 11px/16px system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;box-shadow:0 2px 7px rgba(32,25,60,.18);pointer-events:none}body.alt-key-mode .app-header [data-keytip]::after{top:auto;bottom:-22px}
.alt-key-help{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:10000;padding:7px 12px;border-radius:999px;background:#26243a;color:#fff;font-size:12px;font-weight:650;box-shadow:0 7px 24px rgba(0,0,0,.2);pointer-events:none}

@media(max-width:700px){.share-config-grid{grid-template-columns:1fr}.share-check{grid-column:auto}.share-list-item,.reviewer-row{grid-template-columns:1fr}.share-list-actions,.reviewer-actions{justify-content:flex-start}.review-session-status{max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.owner-review-preview-bar{position:fixed;left:50%;bottom:18px;z-index:10020;transform:translateX(-50%);display:flex;align-items:center;gap:18px;max-width:min(900px,calc(100vw - 24px));padding:10px 12px 10px 14px;border:1px solid #cfc5f5;border-radius:13px;background:#fff;color:#2d244d;box-shadow:0 10px 34px rgba(41,30,82,.22)}.owner-review-preview-bar[hidden]{display:none!important}.owner-review-preview-bar>span{display:grid;gap:2px;min-width:0}.owner-review-preview-bar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owner-review-preview-bar small{color:#736b8a}.owner-review-preview-bar>div{display:flex;gap:7px;flex-wrap:wrap}.owner-review-preview-bar button{white-space:nowrap}
@media(max-width:700px){.owner-review-preview-bar{width:calc(100vw - 20px);bottom:10px;align-items:stretch;flex-direction:column;gap:8px}.owner-review-preview-bar>div{display:grid;grid-template-columns:1fr 1fr}}

/* v1.3.2 import/view normalization */
.view-mode-status{font-size:9px;font-weight:800;color:#607891;white-space:nowrap}.editor .docx-anchor-only-paragraph,.editor .docx-leading-empty-anchor-flow{min-height:0!important;height:0!important;line-height:0!important;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;border:0!important}.editor .docx-anchor-only-paragraph>.docx-drawing-group-anchor{line-height:normal!important}@media(max-width:620px){.view-mode-status{display:none}}


/* ---------- v1.4.0 ribbon polish, table dialog, margins/columns/sections ---------- */
.header-actions button,.ribbon button,.find-panel button{font-weight:560}
.ribbon-tabs button{font-weight:600!important}
.ribbon-tabs button.active{font-weight:760!important}
.ribbon-tabs .context-tab{font-weight:700!important}
.tool-caption{font-weight:650}
.table-color-tool,.table-number-tool,.layout-number-tool,.picture-size-tool{font-weight:560}
.dialog-actions button{font-weight:600}
.dialog-actions button.primary,.utility-dialog .dialog-actions button.primary{background:linear-gradient(135deg,var(--blue),#2478ea)!important;color:#fff!important;border-color:transparent!important}
.table-insert-card{width:min(360px,calc(100vw - 28px));min-width:0!important}
.table-insert-card .dialog-title-row{margin-bottom:2px}.table-insert-card label{font-weight:600}.table-insert-card input{font-size:14px}
.table-insert-card .dialog-actions{margin-top:2px}.table-insert-card .dialog-actions button{min-width:88px;min-height:38px}
.layout-columns-group select{max-width:126px}.compact-layout-number input{width:46px}
.editor table.doc-columns-layout{border-collapse:separate!important;border-spacing:var(--column-gap,.30in) 0!important;table-layout:fixed!important;width:100%!important;margin:8pt 0!important}
.editor table.doc-columns-layout>tbody>tr>td{border:0!important;padding:0!important;vertical-align:top!important;min-width:0!important;background:transparent!important}
.editor:focus table.doc-columns-layout>tbody>tr>td{box-shadow:inset 0 0 0 1px rgba(18,100,216,.10)}
.editor table.doc-columns-layout>tbody>tr>td>p:first-child{margin-top:0}
.doc-section-break{position:relative;display:block;height:22px;margin:12pt calc(-1 * var(--page-ml));border-top:1px dashed #9eb3c8;user-select:none;clear:both}
.doc-section-break span{position:absolute;left:50%;top:-1px;transform:translate(-50%,-50%);padding:0 8px;background:#fff;color:#71869c;font-size:8.5pt;white-space:nowrap}
.doc-section-break.continuous{height:18px;border-top-style:dotted}.doc-section-break.continuous span{color:#806b47}
@media print{.editor table.doc-columns-layout>tbody>tr>td{box-shadow:none!important}.doc-section-break.continuous{height:0!important;border:0!important;margin:0!important}.doc-section-break.continuous span{display:none!important}}


/* ---------- v1.4.1 compact icon ribbon + Help ---------- */
.ribbon-tabs{overflow-x:hidden!important;flex-wrap:wrap!important;row-gap:0}
.ribbon-row{overflow-x:hidden!important;overflow-y:visible!important;flex-wrap:wrap!important;align-content:center!important;scrollbar-width:none!important}
.ribbon-row::-webkit-scrollbar{display:none!important}
.ribbon-row .tool-group{flex:0 1 auto!important;min-width:0!important;flex-wrap:wrap!important;align-content:center!important}
.ribbon-row .icon-tool{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;display:inline-grid!important;place-items:center!important;font-size:15px!important;line-height:1!important;white-space:nowrap!important}
.rsf-only,.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.insert-content-group select{min-width:76px!important;max-width:94px!important}.header-footer-group{gap:3px!important}.text-style-group{gap:3px!important}.text-style-group #styleSelect{max-width:105px!important}.text-style-group #fontSelect{min-width:104px!important;max-width:124px!important}.text-style-group #fontSizeSelect{width:52px!important}.paragraph-group{gap:3px!important}
.page-setup-group select{max-width:118px!important}.layout-convenience-group select{min-width:105px!important;max-width:116px!important}.layout-columns-group select{min-width:92px!important;max-width:112px!important}.proofing-group select{min-width:112px!important;max-width:124px!important}.picture-tools-group select{max-width:104px!important}
.tool-caption{padding-inline:1px!important;margin-right:1px}.ribbon button.icon-tool:hover{background:#eef5fd!important;border-color:#c9d9e9!important}
.help-tools-group{gap:4px!important}.help-card{width:min(820px,calc(100vw - 24px));max-height:min(82dvh,760px);overflow:hidden;display:grid;grid-template-rows:auto auto minmax(220px,1fr) auto}.help-topic-nav{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 10px;border-bottom:1px solid #e6edf4}.help-topic-nav button{min-height:34px;border:1px solid #d8e3ed;border-radius:8px;background:#fff;color:#36536f;padding:5px 9px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.help-topic-nav button:hover,.help-topic-nav button.active{background:#eef5ff;border-color:#afd0f3;color:#0f5fbf}.help-content{overflow:auto;padding:14px 4px 8px;color:#334e68;line-height:1.55;font-size:12px;outline:none}.help-content h3{margin:2px 0 8px;color:#193b5c;font-size:16px}.help-content h4{margin:15px 0 5px;color:#294c6e;font-size:12px}.help-content p{margin:6px 0}.help-content ul{margin:6px 0 10px;padding-left:20px}.help-content li{margin:3px 0}.help-content kbd{display:inline-block;min-width:24px;padding:2px 6px;border:1px solid #cfd9e4;border-bottom-width:2px;border-radius:5px;background:#f8fafc;color:#294763;font:600 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;text-align:center}.help-callout{padding:9px 11px;border-left:3px solid #4c8fd7;border-radius:6px;background:#f5f9fe;margin:10px 0}.help-version{display:inline-flex;padding:3px 8px;border-radius:999px;background:#edf4ff;color:#155baa;font-weight:700}
body.review-permission-view .ribbon-tabs [data-ribbon-tab]:not([data-ribbon-tab="view"]):not([data-ribbon-tab="help"]),body.review-permission-comment .ribbon-tabs [data-ribbon-tab]:not([data-ribbon-tab="review"]):not([data-ribbon-tab="view"]):not([data-ribbon-tab="help"]){display:none!important}
body.review-permission-view .ribbon-row .tool-group:not([data-tabs~="view"]):not([data-tabs~="help"]),body.review-permission-comment .ribbon-row .tool-group:not([data-tabs~="review"]):not([data-tabs~="view"]):not([data-tabs~="help"]){display:none!important}
@media(max-width:900px){.ribbon-row{gap:4px!important;padding:4px 5px!important}.ribbon-row .tool-group{padding-right:4px!important}.ribbon-row .icon-tool{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;font-size:14px!important}.ribbon select{max-width:112px!important}.tool-caption{display:none!important}.help-card{max-height:86dvh}}
@media(max-width:620px){.ribbon-tabs{overflow:hidden!important}.ribbon-tabs button{min-width:54px!important;padding-inline:7px!important}.ribbon-row{max-height:none!important;overflow:hidden!important}.ribbon-row .tool-group{border-left:0!important;border-right:0!important;padding-left:0!important;padding-right:3px!important}.insert-content-group,.header-footer-group,.character-group,.paragraph-group,.layout-convenience-group,.layout-columns-group,.comments-group,.revisions-group,.proofing-group,.table-tools-group,.picture-tools-group,.zoom-group,.view-navigation-group,.view-show-group,.view-extra-group,.help-tools-group{max-width:100%!important}.help-topic-nav button span{display:none}.help-topic-nav button{width:34px;min-width:34px;padding:0;justify-content:center}.help-card{padding:13px!important}}
@media print{#helpDialog{display:none!important}}


/* ---------- v1.4.2 unified SVG ribbon + cleaner Layout ---------- */
.ui-icon-sprite{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.ui-icon{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;flex:0 0 auto}
.header-actions .ui-icon{width:17px;height:17px;display:inline-block;vertical-align:-3px;margin-right:4px}.header-actions .icon-btn .ui-icon{margin:0;width:19px;height:19px}
.privacy-bar>span:first-child{display:inline-flex;align-items:center;gap:5px}.privacy-bar .privacy-icon{width:14px;height:14px;color:#37658f;flex:0 0 auto}
.ribbon-row .icon-tool{color:#315a80!important;border-color:#dbe5ee!important;background:#fff!important;box-shadow:none!important}
.ribbon-row .icon-tool .ui-icon{width:18px;height:18px;stroke-width:1.75}
.ribbon-row .icon-tool:hover{color:#0f63ba!important;background:#f2f7fc!important;border-color:#bfd3e6!important}
.ribbon-row .icon-tool:focus-visible{outline:2px solid #2c7bd0!important;outline-offset:1px!important}
.ribbon-row .icon-tool.active-tool,.ribbon-row .icon-tool[aria-pressed="true"]{color:#0c5fbd!important;background:#eaf3ff!important;border-color:#b5d2ef!important}
.character-group .icon-tool{font-size:14px!important;color:#294e70!important}
.character-group .icon-tool b,.character-group .icon-tool i,.character-group .icon-tool u,.character-group .icon-tool s{font-size:14px;line-height:1}
.help-topic-nav .ui-icon{width:15px;height:15px}

/* Layout is a compact set of clearly separated work areas instead of one long control strip. */
.clean-layout-group{display:grid!important;grid-template-rows:14px auto!important;align-items:start!important;gap:3px!important;padding:4px 8px 5px!important;border-right:1px solid #e2e9f0!important;flex:0 1 auto!important;background:transparent!important}
.clean-layout-group:last-of-type{border-right:0!important}
.clean-layout-group>.tool-caption{display:block!important;margin:0!important;padding:0 1px!important;font-size:9px!important;font-weight:650!important;line-height:12px!important;letter-spacing:.02em!important;text-transform:none!important;color:#72869b!important}
.clean-layout-group>.tool-cluster{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:nowrap}
.clean-layout-group .icon-tool{width:32px!important;min-width:32px!important;max-width:32px!important;height:32px!important;min-height:32px!important;border-radius:7px!important}
.clean-layout-group .icon-tool .ui-icon{width:17px;height:17px}
.ribbon-select-tool{height:32px;display:flex;align-items:center;gap:3px;border:1px solid #dbe5ee;border-radius:7px;background:#fff;color:#315a80;padding-left:6px;min-width:0;overflow:hidden}
.ribbon-select-tool>.ui-icon{width:15px;height:15px;flex:0 0 auto;color:#50799e}
.ribbon-select-tool select{height:30px!important;min-height:30px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:2px 22px 2px 2px!important;outline:0!important;color:#334f6c!important}
.ribbon-select-tool:focus-within{border-color:#9cc4e9;box-shadow:0 0 0 2px rgba(18,100,216,.10)}
.page-setup-group .ribbon-select-tool:first-of-type select{width:82px!important;max-width:82px!important}
.page-setup-group .ribbon-select-tool:last-of-type select{width:102px!important;max-width:102px!important}
.layout-convenience-group .ribbon-select-tool select{width:92px!important;max-width:92px!important}
.layout-columns-group .ribbon-select-tool select{width:104px!important;max-width:104px!important}
.layout-icon-field{height:32px!important;display:flex!important;align-items:center!important;gap:3px!important;padding:2px 5px!important;border:1px solid #dbe5ee!important;border-radius:7px!important;background:#fff!important;color:#506d88!important;font-size:9px!important;min-width:0!important}
.layout-icon-field>span{width:15px!important;display:grid!important;place-items:center!important;flex:0 0 15px!important}
.layout-icon-field .field-icon{width:14px;height:14px;color:#537da3}
.layout-icon-field input{width:45px!important;height:26px!important;border:0!important;background:transparent!important;padding:2px 3px!important;color:#334f6c!important;text-align:center!important;outline:0!important}
.layout-icon-field:focus-within{border-color:#9cc4e9!important;box-shadow:0 0 0 2px rgba(18,100,216,.10)!important}
.layout-paragraph-group .layout-icon-field input{width:41px!important}
.layout-design-group>.tool-cluster{gap:4px}

/* Keep the ribbon compact on standard notebook widths; it can wrap group-by-group without horizontal scrolling. */
@media(min-width:901px){
  .ribbon-row{column-gap:0!important;row-gap:4px!important;padding-top:5px!important;padding-bottom:5px!important}
  .ribbon-row .tool-group:not(.clean-layout-group){padding-top:2px;padding-bottom:2px}
}
@media(max-width:1100px){
  .clean-layout-group{grid-template-rows:auto!important;padding:2px 4px!important;border-right:0!important}
  .clean-layout-group>.tool-caption{display:none!important}
  .clean-layout-group>.tool-cluster{gap:3px;flex-wrap:wrap}
  .ribbon-select-tool{height:31px}.ribbon-select-tool select{height:29px!important;min-height:29px!important}
  .layout-icon-field{height:31px!important}
}
@media(max-width:620px){
  .clean-layout-group{max-width:100%!important;width:auto!important}
  .page-setup-group .ribbon-select-tool:first-of-type select{width:76px!important}
  .page-setup-group .ribbon-select-tool:last-of-type select{width:82px!important}
  .layout-convenience-group .ribbon-select-tool select{width:80px!important}
  .layout-columns-group .ribbon-select-tool select{width:76px!important}
  .layout-icon-field input{width:38px!important}
}


/* v1.4.3 mobile header + ribbon refinement */
.header-actions button,.ribbon button,.find-panel button{font-weight:650}
.tool-caption{font-weight:600}
@media(max-width:620px){
  .app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 10px 10px;gap:8px}
  .brand{width:100%;justify-content:center;align-items:center;text-align:center;gap:8px}
  .brand>div{align-items:center;text-align:center}
  .brand strong{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:15px}
  .brand span{display:block;font-size:10px}
  .header-actions{width:100%;justify-content:center;gap:6px;row-gap:6px;flex-wrap:wrap}
  .header-actions button{font-size:11px;min-height:34px;padding:6px 9px}
  .header-actions #newBtn{display:inline-flex}
  .header-actions #openBtn,.header-actions #printBtn,.header-actions #downloadBtn,.header-actions #installBtn{font-size:11px;width:auto;padding:6px 9px}
  .header-actions #openBtn:after,.header-actions #printBtn:after,.header-actions #downloadBtn:after,.header-actions #installBtn:after{content:none}
  .ribbon-tabs{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;justify-content:flex-start!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:3px 6px 0;gap:2px}
  .ribbon-tabs::-webkit-scrollbar{display:none}
  .ribbon-tabs button{flex:0 0 auto!important;min-width:auto!important;padding:5px 10px!important}
  .ribbon{padding:4px 0 6px}
  .ribbon-row{display:flex;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 6px 6px;gap:8px;max-height:none!important}
  .ribbon-row::-webkit-scrollbar{display:none}
  .ribbon-row .tool-group{flex:0 0 auto!important;white-space:nowrap;border-right:1px solid #e5edf5;padding-right:8px;margin-right:0}
  .ribbon-row .tool-group:last-child{border-right:0}
  .ribbon-row .tool-group+ .tool-group{border-left:0!important;padding-left:0!important}
  .ribbon-row .tool-cluster{flex-wrap:nowrap}
  .ribbon-select-tool,.layout-number-tool,.tool-group select,.tool-group input,.font-size-input{max-width:none}
}


/* v1.4.4 exact two-row mobile header + one-line ribbon track */
.ribbon-tools-track{display:contents}
.header-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.header-action-btn .ui-icon{width:18px;height:18px}
@media(max-width:620px){
  .app-header{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:8px 10px 9px!important}
  .brand{width:100%!important;justify-content:center!important;text-align:center!important}
  .brand>div{align-items:center!important;text-align:center!important}
  .header-actions{width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 2px 1px}
  .header-actions::-webkit-scrollbar{display:none}
  .header-actions .header-action-btn,.header-actions #newBtn{flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border-radius:11px!important;font-size:0!important}
  .header-actions .header-action-label,.header-actions .donate-label{display:none!important}
  .header-actions .ui-icon{width:20px!important;height:20px!important}
  .header-actions #openBtn:after,.header-actions #printBtn:after,.header-actions #downloadBtn:after,.header-actions #installBtn:after{content:none!important}
  .donate-btn{order:initial!important;margin:0!important}
  .ribbon{display:block!important;overflow:hidden!important;padding:0!important}
  .ribbon-tools-track{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding:4px 6px 6px;gap:8px}
  .ribbon-tools-track::-webkit-scrollbar{display:none}
  .ribbon-row:not([hidden]){display:contents!important}
  .ribbon-row[hidden]{display:none!important}
  .ribbon-row-secondary{border-top:0!important;background:transparent!important}
  .ribbon-row .tool-group{flex:0 0 auto!important;white-space:nowrap!important;flex-wrap:nowrap!important;border-right:1px solid #e5edf5!important;padding:0 8px 0 0!important;margin:0!important}
  .ribbon-row .tool-group:last-child{border-right:0!important}
  .ribbon-row .tool-cluster{display:flex!important;flex-wrap:nowrap!important}
}


/* v1.4.5 mobile privacy/status + compact Layout controls */
.privacy-short,.save-status-compact{display:none}
@media(max-width:620px){
  /* Remove the legacy pseudo-heart: SVG is the single Donate icon. */
  .header-actions #donateBtn::after{content:none!important;display:none!important}
  .donate-btn>svg.ui-icon{display:block!important}

  /* Keep the privacy strip useful without letting two long sentences collide. */
  .privacy-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:5px 10px!important;min-height:30px!important;font-size:10px!important;overflow:hidden!important}
  .privacy-copy{display:inline-flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important;max-width:none!important;white-space:nowrap!important;overflow:visible!important}
  .privacy-full{display:none!important}
  .privacy-short{display:inline!important;font-weight:650;color:#486982}
  .privacy-status{display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;white-space:nowrap!important}
  .privacy-status .network-status{display:none!important}
  .privacy-status #saveStatus{display:none!important}
  .privacy-status .save-status-compact{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:right!important;color:#58708a!important}
  .privacy-status .review-session-status:not([hidden]){display:block!important;max-width:44vw!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-right:6px!important}

  /* Layout: icon-only selectors on phones. The real native select remains the tap target. */
  .clean-layout-group .ribbon-select-tool{position:relative!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:38px!important;padding:0!important;justify-content:center!important;overflow:visible!important;border-radius:9px!important}
  .clean-layout-group .ribbon-select-tool>.ui-icon{width:18px!important;height:18px!important;margin:0!important;pointer-events:none!important}
  .clean-layout-group .ribbon-select-tool select{position:absolute!important;inset:0!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;opacity:0!important;cursor:pointer!important;padding:0!important;z-index:2!important}
  .clean-layout-group .ribbon-select-tool::after{content:'';position:absolute;right:4px;bottom:4px;width:5px;height:5px;border-right:1.5px solid #5b7590;border-bottom:1.5px solid #5b7590;transform:rotate(45deg);pointer-events:none}
  .clean-layout-group .icon-tool{width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important}
  .clean-layout-group .layout-icon-field{height:38px!important}
  .clean-layout-group>.tool-cluster{flex-wrap:nowrap!important}
}


/* v1.5 spelling, footnotes, enhanced columns, mobile context tools */
.spell-review-panel{position:fixed;z-index:76;top:0;right:0;width:min(360px,94vw);height:100dvh;background:#fff;border-left:1px solid #dbe6f1;box-shadow:-14px 0 36px rgba(30,55,80,.18);display:flex;flex-direction:column}
.spell-review-panel[hidden]{display:none!important}.spell-review-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid #e7eef6;background:#f8fbff}.spell-review-head>div{display:flex;flex-direction:column;gap:2px}.spell-review-head small{font-size:9px;color:#6b8097;font-weight:700;letter-spacing:.08em}.spell-review-head strong{font-size:16px;color:#173a61}.spell-review-head button{width:34px;height:34px;border:1px solid #d7e2ee;border-radius:9px;background:#fff;color:#395a7d;font-size:20px}.spell-review-body{padding:14px;overflow:auto}.spell-review-status{font-size:12px;color:#60768d;margin:0 0 12px}.spell-word-card{padding:12px;border:1px solid #dce8f5;border-radius:12px;background:#f7fbff;display:grid;gap:4px;margin-bottom:12px}.spell-word-card small{font-size:9px;color:#71859b;text-transform:uppercase;letter-spacing:.05em}.spell-word-card strong{font-size:20px;color:#b42318}.spell-word-card span{font-size:10px;color:#708399}.spell-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.spell-suggestions button{border:1px solid #cad9e8;background:#fff;color:#24496f;border-radius:999px;padding:6px 10px;font-weight:600;cursor:pointer}.spell-suggestions button:hover{background:#eef6ff}.spell-replacement{display:grid;gap:5px;font-size:10px;color:#60768d}.spell-replacement input{height:38px;border:1px solid #cad8e6;border-radius:9px;padding:0 10px;font:inherit;color:#173a61}.spell-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.spell-action-grid button{min-height:38px;border:1px solid #d4e0ec;border-radius:9px;background:#fff;color:#294e74;font-weight:650}.spell-action-grid .primary{background:#1264d8;color:#fff;border-color:#1264d8}.spell-review-note{display:block;margin-top:12px;color:#7a8ca0;line-height:1.4}
.doc-footnote-ref{font-size:.72em;vertical-align:super;color:#1264d8;font-weight:700;cursor:pointer;margin:0 1px}.doc-footnotes{margin-top:28px;padding-top:10px;border-top:1px solid #7d8a98;font-size:.9em}.doc-footnotes h3{font-size:11pt;margin:0 0 9px}.doc-footnote-list{margin:0;padding-left:24px}.doc-footnote-item{margin:5px 0;position:relative}.doc-footnote-text{outline:none}.doc-footnote-text:focus{background:#f4f9ff;box-shadow:0 0 0 2px #d9eaff;border-radius:4px}.doc-footnote-delete{margin-left:7px;border:0;background:transparent;color:#a33;font-size:11px;cursor:pointer}.doc-footnote-number{border:0;background:transparent;color:#1264d8;font-weight:700;cursor:pointer;padding:0 4px 0 0}
.doc-columns-layout.column-separator td+td{border-left:1px solid #9baabc!important}.doc-column-break-marker{display:block;border-top:1px dashed #8ea3b8;color:#71869c;font-size:9px;text-align:center;margin:4px 0;padding-top:2px}
.mobile-context-bar{display:none}
@media(max-width:620px){.spell-review-panel{top:auto;bottom:0;width:100vw;height:min(58dvh,470px);border-left:0;border-top:1px solid #dbe6f1;border-radius:18px 18px 0 0;box-shadow:0 -14px 36px rgba(30,55,80,.18)}.spell-action-grid{grid-template-columns:repeat(3,1fr)}.mobile-context-bar{position:fixed;left:50%;bottom:calc(30px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:72;max-width:calc(100vw - 18px);height:48px;padding:5px 6px;display:flex;align-items:center;gap:5px;border:1px solid #cad9e8;border-radius:15px;background:rgba(255,255,255,.97);box-shadow:0 7px 24px rgba(31,53,76,.22);backdrop-filter:blur(12px)}.mobile-context-bar[hidden]{display:none!important}.mobile-context-label{font-size:9px;font-weight:700;color:#657a91;padding:0 5px;border-right:1px solid #e3ebf3;white-space:nowrap}.mobile-context-actions{display:flex;align-items:center;gap:4px}.mobile-context-actions[hidden]{display:none!important}.mobile-context-bar button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d6e2ed;border-radius:10px;background:#fff;color:#294e73;font-size:14px;padding:0}.mobile-context-bar button:active{background:#edf6ff}.mobile-context-close{font-size:18px!important}.mobile-context-bar .ui-icon{width:18px;height:18px}.canvas-scroller{padding-bottom:108px!important}}
@media print{.spell-review-panel,.mobile-context-bar{display:none!important}.doc-footnote-delete{display:none!important}.doc-footnote-number{color:#111!important}}


/* v1.5.1 fast startup: never flash every ribbon group before JavaScript initializes. */
body.app-starting .ribbon-row .tool-group[data-tabs]:not([data-tabs~='home']){display:none!important}
body.app-starting .ribbon-row[hidden]{display:none!important}


/* v1.5.3 performance + document loading */
.document-loading-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:rgba(239,247,255,.94);backdrop-filter:blur(5px);padding:20px}.document-loading-overlay[hidden]{display:none!important}.document-loading-card{width:min(360px,calc(100vw - 36px));display:grid;justify-items:center;gap:9px;padding:24px 20px;border:1px solid #dce8f5;border-radius:18px;background:#fff;box-shadow:0 22px 70px rgba(34,70,110,.22);text-align:center}.document-loading-card strong{font-size:17px;color:#173e6b}.document-loading-card span{font-size:12px;color:#526b86}.document-loading-card small{min-height:16px;font-size:10px;color:#7b8da1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-loading-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #dce8f5;border-top-color:#1264d8;animation:docLoadSpin .8s linear infinite}.document-loading-track{width:100%;height:5px;border-radius:999px;background:#edf3f9;overflow:hidden}.document-loading-track i{display:block;width:8%;height:100%;border-radius:inherit;background:#1264d8;transition:width .16s ease}@keyframes docLoadSpin{to{transform:rotate(360deg)}}@media print{.document-loading-overlay{display:none!important}}


/* v1.5.5 — physical page visibility fallback. White sheets exist even before DOCX artwork/decorations finish. */
.app-shell.editor-open .paper{background:#fff!important;box-shadow:0 5px 24px rgba(29,52,78,.16)!important}
.app-shell.editor-open .source-page-background{background:#fff!important;box-shadow:0 5px 24px rgba(29,52,78,.18)!important}
.app-shell.editor-open .source-page-backgrounds:not(:empty)~.editor{background:transparent!important;box-shadow:none!important}
@media print{.app-shell.editor-open .paper{background:#fff!important;box-shadow:none!important}}

/* v1.5.7 Word picture crop + shape fidelity */
.editor img[data-docx-shape="ellipse"]{clip-path:ellipse(50% 50% at 50% 50%);border-radius:50%;}

/* v1.5.9 feedback */
.feedback-card{width:min(560px,calc(100vw - 24px));min-width:0}.feedback-field{display:grid;gap:6px;font-size:11px;font-weight:800;color:#4f657d}.feedback-field select,.feedback-field textarea{width:100%;border:1px solid #d5e1ec;border-radius:9px;background:#fff;color:#294863;padding:9px;font:inherit}.feedback-field select{min-height:40px}.feedback-field textarea{min-height:120px;resize:vertical;line-height:1.45}.feedback-privacy{margin:0;padding:9px 11px;border-radius:9px;background:#f4f8fc;color:#61778d;font-size:11px;line-height:1.45}.feedback-dialog .dialog-actions{margin-top:2px}
@media(max-width:620px){.feedback-card{padding:14px!important}.feedback-field textarea{min-height:150px}}


/* v1.6.1 editing-behavior audit baseline */
::highlight(doc-retained-selection){background:rgba(55,130,246,.28);color:inherit}
.ribbon .font-size-combo{display:inline-flex;align-items:stretch;height:34px;position:relative}
.ribbon .font-size-combo .font-size-input{width:54px!important;height:34px;border-radius:8px 0 0 8px!important;border-right:0!important}
.ribbon .font-size-combo .font-size-preset{width:28px;height:34px;border:1px solid var(--line);border-radius:0 8px 8px 0;background:#fff;color:#334f6c;padding:0 2px;cursor:pointer;font-size:11px}
.ribbon .font-size-combo:focus-within{box-shadow:0 0 0 2px rgba(18,100,216,.12);border-radius:8px}
.table-tools-group input:focus,.layout-number-tool input:focus,.spacing-tool input:focus{outline:2px solid rgba(18,100,216,.18);outline-offset:1px}

/* v1.6.1 — uniform ribbon, compact font-size presets, table design/layout controls */
:root{--ribbon-control-h:36px;--ribbon-control-radius:9px;--ribbon-control-border:#d6e2ed;--ribbon-control-bg:#fff;--ribbon-control-hover:#f2f7fc;}
.header-actions .header-action-btn,.header-actions #openBtn,.header-actions #newBtn,.header-actions #printBtn,.header-actions #installBtn{min-height:38px!important;height:38px!important;border-radius:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}
.ribbon-tabs{align-items:center!important;padding:4px 8px!important;gap:4px!important;border-bottom:1px solid #e6edf5!important}
.ribbon-tabs button{height:32px!important;min-height:32px!important;min-width:66px!important;border-radius:8px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.ribbon-tabs button.active:after{left:9px!important;right:9px!important;bottom:-5px!important}
.ribbon-tabs .context-tab{min-width:66px!important;border-radius:8px!important}
.ribbon-row{align-items:center!important;column-gap:6px!important;row-gap:5px!important;padding:5px 8px!important}
.ribbon-row .tool-group{min-height:var(--ribbon-control-h)!important;align-items:center!important;gap:4px!important}
.ribbon-row .icon-tool,.ribbon .color-tool,.ribbon .table-color-tool,.ribbon .table-number-tool,.ribbon .spacing-tool,.ribbon .layout-number-tool,.ribbon .picture-size-tool{height:var(--ribbon-control-h)!important;min-height:var(--ribbon-control-h)!important;border-radius:var(--ribbon-control-radius)!important}
.ribbon-row .icon-tool{width:var(--ribbon-control-h)!important;min-width:var(--ribbon-control-h)!important;max-width:var(--ribbon-control-h)!important;padding:0!important;display:inline-grid!important;place-items:center!important;border:1px solid var(--ribbon-control-border)!important;background:var(--ribbon-control-bg)!important}
.ribbon-row .icon-tool:hover{background:var(--ribbon-control-hover)!important;border-color:#bdd1e5!important}
.ribbon-row .icon-tool.danger-tool{color:#a53046!important}.ribbon-row .icon-tool.danger-tool:hover{background:#fff3f5!important;border-color:#efc6ce!important}
.ribbon select,.ribbon input[type="text"],.ribbon input[type="number"]{height:var(--ribbon-control-h)!important;border-radius:var(--ribbon-control-radius)!important;border-color:var(--ribbon-control-border)!important}
.ribbon select{padding-top:0!important;padding-bottom:0!important}
.ribbon #styleSelect{min-width:108px}.ribbon #fontSelect{min-width:124px}.ribbon #changeCaseSelect{min-width:112px}
.ribbon .font-size-combo{height:var(--ribbon-control-h)!important;display:inline-flex!important;align-items:stretch!important}
.ribbon .font-size-combo .font-size-input{height:var(--ribbon-control-h)!important;width:54px!important;border-radius:var(--ribbon-control-radius) 0 0 var(--ribbon-control-radius)!important;border-right:0!important}
.ribbon .font-size-combo .font-size-preset-btn{height:var(--ribbon-control-h)!important;width:30px!important;min-width:30px!important;max-width:30px!important;border-radius:0 var(--ribbon-control-radius) var(--ribbon-control-radius) 0!important;font-size:13px!important}
.font-size-menu{position:fixed!important;z-index:6000!important;width:184px!important;max-height:230px!important;overflow:auto!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:7px!important;border-radius:12px!important}
.font-size-menu[hidden]{display:none!important}.font-size-menu button{height:34px!important;border:1px solid #d9e4ee!important;border-radius:8px!important;background:#fff!important;color:#2f506f!important;font-size:12px!important;font-weight:700!important;cursor:pointer!important}.font-size-menu button:hover,.font-size-menu button:focus-visible{background:#eaf3ff!important;border-color:#aac8e7!important;outline:none!important;color:#0d5eae!important}
.table-tools-group{background:#fffaf0!important;border:1px solid #eedfbe!important;border-radius:10px!important;padding:4px 6px!important;max-width:none!important;gap:4px!important}
.table-tools-group .tool-caption{color:#82643a!important}
.table-tools-group select{max-width:122px!important;min-width:82px!important;height:var(--ribbon-control-h)!important;border-radius:var(--ribbon-control-radius)!important}
.table-tools-group .table-number-tool,.table-tools-group .table-color-tool{border:1px solid #dfd3bc!important;background:#fff!important;color:#705b3d!important;padding:2px 5px!important;gap:4px!important;white-space:nowrap!important}
.table-tools-group .table-number-tool input{height:28px!important;width:54px!important;min-width:54px!important;border:0!important;border-left:1px solid #ece3d4!important;border-radius:0!important;padding:2px 4px!important;background:#fff!important}
.table-tools-group .table-color-tool input{width:27px!important;height:25px!important;border:0!important;padding:0!important;background:transparent!important}
#tableColumnWidth{width:58px!important}.table-structure-group .icon-tool:nth-of-type(1),.table-structure-group .icon-tool:nth-of-type(3){position:relative}.table-structure-group .icon-tool:nth-of-type(1)::after{content:'↑';position:absolute;right:2px;top:1px;font-size:8px;color:#705b3d}.table-structure-group .icon-tool:nth-of-type(3)::after{content:'←';position:absolute;right:2px;top:1px;font-size:8px;color:#705b3d}.table-structure-group .icon-tool:nth-of-type(2)::after{content:'↓';position:absolute;right:2px;bottom:1px;font-size:8px;color:#705b3d}.table-structure-group .icon-tool:nth-of-type(4)::after{content:'→';position:absolute;right:2px;bottom:1px;font-size:8px;color:#705b3d}
body.show-table-gridlines .editor table.docx-borderless>tbody>tr>td,body.show-table-gridlines .editor table.docx-borderless>tbody>tr>th,body.show-table-gridlines .editor table.docx-borderless>thead>tr>td,body.show-table-gridlines .editor table.docx-borderless>thead>tr>th{border:1px dashed #b8c7d6!important}
body.table-resizing,body.table-resizing *{user-select:none!important;-webkit-user-select:none!important}
.editor td,.editor th{position:relative}
@media(max-width:900px){.ribbon-tabs button{min-width:62px!important;height:31px!important}.ribbon-row .icon-tool{width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important}.table-tools-group{padding:3px 5px!important}.table-tools-group select{max-width:106px!important}.font-size-menu{width:176px!important}}
@media(max-width:620px){.ribbon-tabs{padding:3px 6px!important;gap:3px!important}.ribbon-tabs button,.ribbon-tabs .context-tab{min-width:60px!important;height:30px!important;padding:0 8px!important}.ribbon-tools-track{padding-top:4px!important}.table-tools-group{border-radius:9px!important}.font-size-menu{width:170px!important;max-height:210px!important}.header-actions .header-action-btn,.header-actions #openBtn,.header-actions #printBtn,.header-actions #installBtn{height:38px!important;min-height:38px!important;border-radius:10px!important}}


/* v1.6.2 — unified application header and ribbon geometry */
:root{
  --header-command-h:40px;
  --header-command-w:108px;
  --header-command-radius:10px;
  --header-command-gap:7px;
  --header-command-border:#d3dfeb;
  --header-command-text:#294b6b;
  --header-command-hover:#f2f7fc;
}
.app-header{
  min-height:62px!important;
  padding:9px 14px!important;
  gap:18px!important;
  background:#fff!important;
}
.brand{flex:0 1 auto!important;gap:9px!important}
.brand img{width:40px!important;height:40px!important}
.brand strong{font-size:16px!important;line-height:1.15!important}
.brand span{font-size:10px!important;line-height:1.2!important;margin-top:2px!important}
.header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:var(--header-command-gap)!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
}
.header-actions .header-action-btn,
.header-actions #newBtn,
.header-actions #openBtn,
.header-actions #printBtn,
.header-actions #downloadBtn,
.header-actions #shareReviewBtn,
.header-actions #donateBtn,
.header-actions #installBtn{
  flex:0 0 var(--header-command-w)!important;
  width:var(--header-command-w)!important;
  min-width:var(--header-command-w)!important;
  max-width:var(--header-command-w)!important;
  height:var(--header-command-h)!important;
  min-height:var(--header-command-h)!important;
  padding:0 11px!important;
  border:1px solid var(--header-command-border)!important;
  border-radius:var(--header-command-radius)!important;
  background:#fff!important;
  color:var(--header-command-text)!important;
  box-shadow:0 1px 1px rgba(29,60,90,.025)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:12px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .08s ease!important;
}
.header-actions .header-action-btn .ui-icon,
.header-actions #newBtn .ui-icon,
.header-actions #openBtn .ui-icon,
.header-actions #printBtn .ui-icon,
.header-actions #downloadBtn .ui-icon,
.header-actions #shareReviewBtn .ui-icon,
.header-actions #donateBtn .ui-icon,
.header-actions #installBtn .ui-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
}
.header-actions .header-action-btn:hover:not(:disabled),
.header-actions #newBtn:hover:not(:disabled),
.header-actions #openBtn:hover:not(:disabled),
.header-actions #printBtn:hover:not(:disabled),
.header-actions #downloadBtn:hover:not(:disabled),
.header-actions #shareReviewBtn:hover:not(:disabled),
.header-actions #donateBtn:hover:not(:disabled),
.header-actions #installBtn:hover:not(:disabled){
  background:var(--header-command-hover)!important;
  border-color:#b9ccdf!important;
  box-shadow:0 2px 6px rgba(31,70,105,.08)!important;
}
.header-actions .header-action-btn:active:not(:disabled){transform:translateY(1px)!important}
.header-actions #downloadBtn{
  background:#1264d8!important;
  border-color:#1264d8!important;
  color:#fff!important;
}
.header-actions #downloadBtn:hover:not(:disabled){background:#0f58c1!important;border-color:#0f58c1!important}
.header-actions #donateBtn{
  background:#fff8f7!important;
  border-color:#eed7d4!important;
  color:#a7463d!important;
}
.header-actions #donateBtn:hover:not(:disabled){background:#fff1ef!important;border-color:#e5c1bc!important}
.header-actions .header-action-btn:focus-visible{
  outline:2px solid rgba(18,100,216,.32)!important;
  outline-offset:2px!important;
}
.header-actions .header-action-btn:disabled{
  opacity:.44!important;
  filter:saturate(.65)!important;
  box-shadow:none!important;
}
/* Keep top ribbon tabs aligned to the same visual language. */
.ribbon-tabs button,
.ribbon-tabs .context-tab{
  height:32px!important;
  min-height:32px!important;
  min-width:68px!important;
  border-radius:8px!important;
  border:1px solid transparent!important;
  padding:0 12px!important;
  font-size:12px!important;
  font-weight:650!important;
}
.ribbon-tabs button:hover{background:#f3f7fb!important;border-color:#e2eaf2!important}
.ribbon-tabs button.active{background:#edf5ff!important;border-color:#d5e7fb!important;color:#0d5db4!important}
.ribbon-tabs .context-tab{background:#fff8e9!important;color:#7b5b2a!important}
.ribbon-tabs .context-tab.active{background:#fff2d7!important;border-color:#efd7a4!important;color:#714d13!important}

@media(max-width:1180px){
  :root{--header-command-w:94px}
  .header-actions .header-action-btn{font-size:11px!important;padding-inline:8px!important;gap:5px!important}
}
@media(max-width:1030px){
  .app-header{padding:8px 10px!important;gap:10px!important}
  .brand strong{font-size:15px!important}.brand span{display:none!important}
  .header-actions{gap:6px!important}
  .header-actions .header-action-btn,
  .header-actions #newBtn,.header-actions #openBtn,.header-actions #printBtn,.header-actions #downloadBtn,.header-actions #shareReviewBtn,.header-actions #donateBtn,.header-actions #installBtn{
    flex:0 0 40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border-radius:10px!important;font-size:0!important;gap:0!important;
  }
  .header-actions .header-action-label,.header-actions .donate-label{display:none!important}
  .header-actions .ui-icon{width:19px!important;height:19px!important}
}
@media(max-width:620px){
  .app-header{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:auto!important;padding:7px 8px 8px!important;gap:7px!important}
  .brand{width:100%!important;justify-content:center!important;text-align:center!important;gap:7px!important}
  .brand img{width:36px!important;height:36px!important}
  .brand>div{align-items:center!important;text-align:center!important}
  .brand strong{font-size:14px!important}.brand span{display:block!important;font-size:9px!important;margin-top:1px!important}
  .header-actions{width:100%!important;justify-content:center!important;gap:6px!important;padding:0!important;overflow-x:auto!important;scrollbar-width:none!important}
  .header-actions::-webkit-scrollbar{display:none!important}
  .header-actions .header-action-btn,
  .header-actions #newBtn,.header-actions #openBtn,.header-actions #printBtn,.header-actions #downloadBtn,.header-actions #shareReviewBtn,.header-actions #donateBtn,.header-actions #installBtn{
    flex:0 0 40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;border-radius:10px!important;padding:0!important;font-size:0!important;
  }
  .header-actions .header-action-label,.header-actions .donate-label{display:none!important}
  .header-actions .ui-icon{width:19px!important;height:19px!important}
  .ribbon-tabs button,.ribbon-tabs .context-tab{min-width:62px!important;height:31px!important;min-height:31px!important;padding:0 9px!important;font-size:11px!important}
}


/* v1.6.4 — selection state, compact colors, per-side padding, redundant-control cleanup */
.character-group .icon-tool[aria-pressed="true"]{background:#e8f2ff!important;border-color:#a9cbed!important;color:#0b5fb9!important;box-shadow:inset 0 0 0 1px rgba(18,100,216,.04)}
.character-group .icon-tool[aria-pressed="mixed"],.character-group .icon-tool.mixed-tool{background:linear-gradient(135deg,#eef5fc 50%,#fff 50%)!important;border-color:#b9cadb!important;color:#536c84!important}
.color-combo{display:inline-flex;align-items:center;height:var(--ribbon-control-h,36px);border:1px solid #d7e2ed;border-radius:9px;background:#fff;overflow:hidden;flex:0 0 auto}
.color-combo .color-tool{border:0!important;border-radius:0!important;height:100%!important;min-height:0!important}
.color-hex-input{width:72px!important;min-width:72px!important;height:100%!important;border:0!important;border-left:1px solid #e3ebf3!important;border-radius:0!important;padding:0 6px!important;background:#fff!important;color:#294e73!important;font:600 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace!important;text-transform:uppercase!important}
.color-hex-input::placeholder{color:#8193a6!important;text-transform:none!important}.color-combo.mixed-color{border-style:dashed!important;background:#f8fbff!important}
.table-padding-sides{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto}.table-padding-sides .table-number-tool{min-width:58px!important;width:58px!important}.table-padding-sides .table-number-tool input{width:36px!important;min-width:36px!important;padding:2px 2px!important;text-align:center!important}
.redundant-view-control{display:none!important}.zoom-group #viewZoomPreset{height:var(--ribbon-control-h,36px)!important;min-width:72px!important;width:72px!important;border-radius:9px!important;text-align:center!important;font-weight:700!important;color:#294e73!important}
@media(max-width:900px){.color-hex-input{width:62px!important;min-width:62px!important;font-size:9px!important;padding-inline:4px!important}.table-padding-sides .table-number-tool{width:54px!important;min-width:54px!important}}
@media(max-width:620px){.color-combo{width:38px!important;min-width:38px!important;border:0!important;overflow:visible!important}.color-combo .color-tool{width:38px!important;min-width:38px!important;border:1px solid #d7e2ed!important;border-radius:9px!important}.color-combo .color-hex-input{display:none!important}.table-padding-sides{gap:2px!important}.table-padding-sides .table-number-tool{width:50px!important;min-width:50px!important}.table-padding-sides .table-number-tool input{width:31px!important;min-width:31px!important}.zoom-group #viewZoomPreset{width:66px!important;min-width:66px!important}}

/* v1.6.4 mobile selection-state parity */
.mobile-selection-tools [data-mobile-action][aria-pressed="true"],
.mobile-context-toolbar [data-mobile-action][aria-pressed="true"],
[data-mobile-action][aria-pressed="true"]{background:#e8f2ff!important;border-color:#a9cbed!important;color:#0b5fb9!important}
.mobile-selection-tools [data-mobile-action][aria-pressed="mixed"],
.mobile-context-toolbar [data-mobile-action][aria-pressed="mixed"],
[data-mobile-action][aria-pressed="mixed"]{background:linear-gradient(135deg,#eef5fc 50%,#fff 50%)!important;border-color:#b9cadb!important;color:#536c84!important}

/* v1.6.6 — Word-style text/highlight color split controls */
.color-split{
  --active-color:#111827;
  display:inline-flex;align-items:stretch;height:var(--ribbon-control-h,36px);flex:0 0 auto;
  border:1px solid #d7e2ed;border-radius:9px;background:#fff;overflow:hidden;
  box-shadow:0 1px 1px rgba(16,24,40,.02)
}
.color-split .color-apply-btn{
  position:relative;width:37px!important;min-width:37px!important;height:100%!important;min-height:0!important;
  border:0!important;border-radius:0!important;background:#fff!important;padding:2px 4px 7px!important;color:#243f5b!important
}
.color-split .color-apply-btn:hover,.color-split .color-menu-btn:hover{background:#edf5ff!important;color:#0b5fb9!important}
.color-split .color-glyph{display:block;font-size:16px;font-weight:850;line-height:20px}
.color-split .highlight-glyph{font-size:15px;line-height:20px}
.color-split .color-indicator{position:absolute;left:6px;right:6px;bottom:4px;height:4px;border-radius:4px;background:var(--active-color);box-shadow:0 0 0 1px rgba(15,23,42,.12)}
.color-split.mixed-color .color-indicator{background:linear-gradient(90deg,#111827 0 25%,#ef4444 25% 50%,#2563eb 50% 75%,#facc15 75%);box-shadow:none}
.color-split .color-menu-btn{width:18px!important;min-width:18px!important;height:100%!important;min-height:0!important;padding:0!important;border:0!important;border-left:1px solid #e4ebf3!important;border-radius:0!important;background:#fff!important;color:#647b92!important;font-size:10px!important;font-weight:800!important}
.color-split .native-color-picker{position:fixed!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.doc-color-palette{position:fixed;z-index:10050;width:270px;max-width:calc(100vw - 16px);padding:10px;border:1px solid #d4e0eb;border-radius:12px;background:#fff;box-shadow:0 16px 40px rgba(32,57,83,.2);display:grid;gap:9px}
.doc-color-palette[hidden]{display:none!important}.doc-color-section{display:grid;gap:5px}.doc-color-section-title{font-size:10px;font-weight:800;color:#60758b;letter-spacing:.02em}.doc-color-grid{display:grid;grid-template-columns:repeat(10,20px);gap:4px}
.doc-color-swatch{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;padding:0!important;border:1px solid rgba(15,23,42,.16)!important;border-radius:5px!important;background:var(--swatch)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.doc-color-swatch:hover{outline:2px solid #8fbce8;outline-offset:1px}.doc-color-swatch.is-current{outline:2px solid #1264d8;outline-offset:1px}
.doc-color-empty{font-size:10px;color:#8a9bad;padding:2px 0}.doc-color-actions{display:flex;gap:6px;padding-top:2px;border-top:1px solid #edf1f5}.doc-color-actions button{height:30px!important;min-height:30px!important;padding:0 9px!important;border-radius:8px!important;font-size:10px!important;font-weight:750!important;white-space:nowrap}
.doc-color-custom{flex:1;background:#f8fbff!important;border:1px solid #d6e3ef!important;color:#315879!important}.doc-color-none{background:#fff!important;border:1px solid #d6e3ef!important;color:#536c84!important}
@media(max-width:620px){.color-split{height:38px!important;border-radius:9px!important}.color-split .color-apply-btn{width:35px!important;min-width:35px!important}.color-split .color-menu-btn{width:17px!important;min-width:17px!important}.doc-color-palette{width:260px;padding:9px}.doc-color-grid{grid-template-columns:repeat(10,19px);gap:4px}.doc-color-swatch{width:19px!important;min-width:19px!important;height:19px!important;min-height:19px!important}}


/* v1.6.8 — deterministic startup splash */
body.app-starting .app-shell{visibility:hidden!important;pointer-events:none!important}
.app-splash{z-index:2147483000!important;opacity:1;visibility:visible;transition:opacity .35s ease,visibility .35s ease}
.app-splash.hide{opacity:0;visibility:hidden}
.app-splash .splash-card{padding:20px;text-align:center}
.app-splash .splash-card img{width:min(32vw,132px);height:auto}
.app-splash .splash-loader{width:72px;height:4px;border-radius:999px;background:rgba(18,100,216,.14);overflow:hidden;margin-top:5px}
.app-splash .splash-loader::after{content:"";display:block;width:36%;height:100%;border-radius:inherit;background:#1264d8;animation:splashSlide .9s ease-in-out infinite alternate}
@keyframes splashSlide{from{transform:translateX(0)}to{transform:translateX(178%)}}
@media(max-width:640px){.app-splash .splash-card img{width:108px}.app-splash .splash-card strong{font-size:22px}}
