/* FIX2786 source: pasted-tables.css */
/* Same defaults in editor and public view; saved inline formatting wins. */
table.nga-pasted-table{width:auto;max-width:none;border-collapse:collapse;margin:14px 0;background:transparent;color:inherit;font:inherit;table-layout:auto}
table.nga-pasted-table th,table.nga-pasted-table td{border:1px solid #cbd5e1;padding:8px;min-width:0;background:transparent;color:inherit;vertical-align:top;text-align:left;font:inherit;white-space:normal}
.nga-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.nga-table-scroll:focus{outline:2px solid #2676d9}
@media print{.nga-table-scroll{overflow:visible}}

/* FIX2786 source: fix180-responsive.css */
/* FIX180 — reader mobile image width, normalized prose and About features. */
@media (max-width: 700px) {
  body.lesson-page .lesson-layout .reader-content,
  body.lesson-page .lesson-layout .lesson-topic .reader-content { min-width:0; width:100%; }
  body.lesson-page .lesson-layout .reader-content :is(img,video,svg) {
    display:block !important; width:100% !important; max-width:100% !important;
    height:auto !important; max-height:none; object-fit:contain !important;
    margin-left:auto !important; margin-right:auto !important;
  }
  body.lesson-page .lesson-layout .reader-content :is(figure,p,div):has(> img) {
    max-width:100% !important; width:100% !important; box-sizing:border-box !important;
  }
  body.lesson-page .lesson-layout .reader-content :is(p,li) { font-size:var(--nga-lesson-font-size,15.5px) !important; line-height:1.7 !important; }
  body.lesson-page .lesson-layout .reader-content :is(p,li) :is(span,font,b,strong,i,em,u) { font-size:inherit !important; line-height:inherit !important; }
  body.lesson-page .lesson-layout .reader-content :is(figcaption,small) { font-size:0.9em !important; }
  body.lesson-page .lesson-layout .reader-content :is(pre,code,kbd,samp) { font-family:ui-monospace,SFMono-Regular,Consolas,monospace !important; }
}
/* About feature badges: readable labels without splitting words. */
.nga122-about-badges { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px !important; max-width:100% !important; }
.nga122-about-badges > span { display:flex !important; align-items:center !important; justify-content:center; min-width:0; gap:8px !important; }
.nga122-about-badges b { display:block; font-size:clamp(11px,1vw,14px) !important; line-height:1.35 !important; overflow-wrap:normal !important; word-break:keep-all !important; hyphens:none !important; }
@media(max-width:700px) {
  .nga122-about-badges { grid-template-columns:1fr !important; gap:10px !important; }
  .nga122-about-badges > span { justify-content:flex-start; padding:7px 4px; }
  .nga122-about-badges b { font-size:14px !important; }
}

.nga180-zoomable{cursor:zoom-in}.nga180-zoomable:focus-visible{outline:3px solid #1976d2;outline-offset:3px}
.nga180-image-dialog{width:96vw;max-width:96vw;height:94dvh;max-height:94dvh;padding:12px;border:0;border-radius:12px;background:#fff;box-sizing:border-box}
.nga180-image-dialog::backdrop{background:rgba(0,12,30,.85)}.nga180-image-close{display:block;margin:0 0 10px auto;border:0;background:#103f70;color:#fff;border-radius:8px;padding:10px 16px;cursor:pointer}
.nga180-image-frame{width:100%;height:calc(100% - 56px);overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;touch-action:pan-x pan-y}
.nga180-image-frame img{width:max-content;max-width:none;height:auto;max-height:none;margin:auto;object-fit:contain}

/* FIX2786 source: fix181-mobile-reader.css */
/* FIX181: Mobile lesson reading corrections. No content/database modifications. */
@media(max-width:700px){
 body.lesson-page .lesson-layout .reader-content {font-size:16px!important;line-height:1.6!important;min-width:0!important;overflow:visible!important}
 body.lesson-page .lesson-layout .reader-content :is(p,li) {font-size:var(--nga-lesson-font-size,16px)!important;line-height:1.6!important}
 body.lesson-page .lesson-layout .reader-content :is(p,li) :is(span,font,strong,b,em,i,u) {font-size:inherit!important;line-height:inherit!important}
 body.lesson-page .lesson-layout .reader-content > div:not(.nga-mobile-table-scroll):not(.notice):not(.callout):not(.alert):not(.highlight):not(.code-block):not(.table-responsive) {font-size:var(--nga-lesson-font-size,16px)!important;line-height:1.6!important}
 body.lesson-page .lesson-layout .reader-content > div:not(.nga-mobile-table-scroll):not(.notice):not(.callout):not(.alert):not(.highlight):not(.code-block):not(.table-responsive) > :is(span,font) {font-size:inherit!important;line-height:inherit!important}
 body.lesson-page .lesson-layout .reader-content :is(h1,h2,h3,h4) {line-height:1.3!important}
 body.lesson-page .lesson-layout .reader-content :is(h2){font-size:21px!important}
 body.lesson-page .lesson-layout .reader-content :is(h3){font-size:18px!important}
 body.lesson-page .lesson-layout .reader-content :is(h4){font-size:16px!important}
 body.lesson-page .lesson-layout .reader-content :is(img,figure>img,p>img,div>img):not(.nga181-dialog-image) {display:block!important;box-sizing:border-box!important;width:calc(100vw - 20px)!important;max-width:none!important;height:auto!important;max-height:none!important;object-fit:contain!important;position:relative!important;left:50%!important;transform:translateX(-50%)!important;margin:12px 0!important}
 body.lesson-page .lesson-layout .reader-content :is(figure,p,div):has(> img) {overflow:visible!important;max-width:100%!important}
 body.lesson-page .lesson-layout .reader-content table img {position:static!important;left:auto!important;transform:none!important;width:100%!important;max-width:100%!important}
 body.lesson-page .lesson-layout .reader-content :is(pre,code,kbd,samp) {font-size:13px!important}
}
/* Small, controlled enlargement rather than the original full-resolution zoom. */
.nga180-image-dialog {width:min(96vw,900px)!important;max-width:96vw!important;height:auto!important;max-height:86dvh!important;padding:12px!important}
.nga180-image-frame {width:100%!important;height:auto!important;max-height:calc(86dvh - 70px)!important;overflow:auto!important;display:block!important;text-align:center!important}
.nga180-image-frame img {display:block!important;width:120%!important;min-width:120%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;object-fit:contain!important}

/* FIX2786 source: fix182-mobile-reader.css */
/* FIX182: Mobile lesson typography and contained media. Loaded after FIX180/181. */
@media(max-width:700px){
 body.lesson-page .lesson-layout, body.lesson-page .lesson-layout article.content-block,body.lesson-page .lesson-layout .reader-content{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
 body.lesson-page .lesson-layout .reader-content{font-size:16px!important;line-height:1.6!important;overflow-wrap:break-word}
 body.lesson-page .lesson-layout .reader-content :is(p,li){font-size:var(--nga-lesson-font-size,16px)!important;line-height:1.6!important}
 body.lesson-page .lesson-layout .reader-content :is(p,li) :is(span,font,b,strong,i,em,u,a){font-size:inherit!important;line-height:inherit!important}
 body.lesson-page .lesson-layout .reader-content :is(p,li,blockquote) :is(div,span,font):not(.nga-mobile-table-scroll){font-size:inherit!important;line-height:inherit!important}
 body.lesson-page .lesson-layout .reader-content > :is(div,section):not(.nga-mobile-table-scroll):not(.notice):not(.callout):not(.alert):not(.highlight):not(.code-block):not(.table-responsive){font-size:16px!important;line-height:1.6!important}
 body.lesson-page .lesson-layout .reader-content :is(h1,h2,h3,h4){line-height:1.3!important}
 body.lesson-page .lesson-layout .reader-content h2{font-size:21px!important}
 body.lesson-page .lesson-layout .reader-content h3{font-size:18px!important}
 body.lesson-page .lesson-layout .reader-content h4{font-size:16px!important}
 /* Remove FIX181 viewport breakout/transform: respect actual content box. */
 body.lesson-page .lesson-layout .reader-content img:not(.nga182-dialog-image){display:block!important;position:static!important;left:auto!important;right:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:12px auto!important;box-sizing:border-box!important}
 body.lesson-page .lesson-layout .reader-content :is(figure,p,div):has(> img){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:visible!important}
 body.lesson-page .lesson-layout .reader-content figure{margin-left:0!important;margin-right:0!important}
 body.lesson-page .lesson-layout .reader-content :is(table,.nga-mobile-table-scroll) img{width:100%!important;max-width:100%!important}
 body.lesson-page .lesson-layout .reader-content :is(pre,code,kbd,samp){font-size:13px!important}
}
/* Image dialog follows the image dimensions, rather than consuming the whole screen. */
.nga180-image-dialog{width:min(96vw,960px)!important;max-width:96vw!important;height:fit-content!important;max-height:85dvh!important;overflow:auto!important;padding:12px!important;border-radius:12px!important}
.nga180-image-frame{width:100%!important;height:auto!important;max-height:calc(85dvh - 70px)!important;overflow:auto!important;display:block!important;text-align:center!important}
.nga180-image-frame img.nga182-dialog-image{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;max-height:calc(85dvh - 85px)!important;object-fit:contain!important;margin:0 auto!important;position:static!important;transform:none!important}

/* FIX2786 source: fix183-editor-reader.css */
/* FIX183: shared editor viewport and reader paragraph normalization. */
.rte.rte-fullscreen{
 position:fixed!important;inset:6px!important;width:auto!important;max-width:none!important;
 height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;
 z-index:100200!important;display:flex!important;flex-direction:column!important;
 overflow:hidden!important;box-sizing:border-box!important;background:#fff!important;
}
.rte.rte-fullscreen .nga-ribbon{flex:0 0 auto!important;max-height:min(38dvh,260px)!important;overflow:auto!important}
.rte.rte-fullscreen .nga-ribbon-header{position:sticky;top:0;z-index:5;background:#f5f8fc}
.rte.rte-fullscreen .rte-authoring-status,.rte.rte-fullscreen .rte-command-actions,.rte.rte-fullscreen .rte-command-help{flex:0 0 auto!important}
.rte.rte-fullscreen .rte-editor,.rte.rte-fullscreen .rte-source{
 flex:1 1 0!important;min-height:0!important;max-height:none!important;height:0!important;
 overflow-y:auto!important;overflow-x:auto!important;overscroll-behavior:contain;
}
.rte .nga183-maximize{white-space:nowrap!important}
@media(max-width:700px){
 .rte.rte-fullscreen{inset:2px!important;height:calc(100dvh - 4px)!important;max-height:calc(100dvh - 4px)!important}
 .rte.rte-fullscreen .nga-ribbon{max-height:min(42dvh,260px)!important}
 body.lesson-page .lesson-layout .reader-content p:not(table p):not(.nga-command-box p),
 body.lesson-page .lesson-layout .reader-content > :is(h1,h2,h3,h4,h5,h6) > p{
   font-size:16px!important;line-height:1.6!important;font-weight:400!important;
 }
 body.lesson-page .lesson-layout .reader-content > :is(h1,h2,h3,h4,h5,h6) > p *{
   font-size:inherit!important;line-height:inherit!important;
 }
}

/* FIX2786 source: fix184-editor-viewport.css */
/* FIX184: true viewport fullscreen for shared rich-text editors. */
body > .rte.nga184-viewport.rte-fullscreen {
 position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
 inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;
 max-width:none!important;max-height:none!important;margin:0!important;border-radius:0!important;
 z-index:2147483000!important;display:flex!important;flex-direction:column!important;
 overflow:hidden!important;background:#fff!important;box-sizing:border-box!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon {
 flex:0 0 auto!important;min-height:0!important;max-height:min(38dvh,240px)!important;
 overflow-y:auto!important;overflow-x:hidden!important;margin:0!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-header {position:sticky!important;top:0!important;z-index:10!important}
body > .rte.nga184-viewport.rte-fullscreen .rte-editor,
body > .rte.nga184-viewport.rte-fullscreen .rte-source {
 flex:1 1 0!important;min-height:0!important;height:0!important;max-height:none!important;
 overflow:auto!important;overscroll-behavior:contain!important;
}
body > .rte.nga184-viewport.rte-fullscreen .rte-authoring-status {flex:0 0 auto!important}
body > .rte.nga184-viewport.rte-fullscreen .rte-fullscreen-btn {white-space:nowrap!important}
@media(max-width:700px){
 body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon{max-height:min(45dvh,240px)!important}
}

/* FIX2786 source: fix188-editor.css */
.nga188-mini[hidden]{display:none!important}.nga188-mini{position:fixed;z-index:2147483000;display:flex;gap:5px;padding:7px;background:white;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 8px 22px #0003}.nga188-mini button,.nga188-table button{background:white;border:1px solid #cbd5e1;border-radius:5px;padding:6px 9px;cursor:pointer}.nga188-table{display:flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #dbe4ee;border-radius:8px;padding:8px;margin:8px}.nga188-table legend{font-weight:600}.nga188-table input{width:140px}.nga188-table small{flex-basis:100%}.rte-editor table[data-nga188-width],.reader-content table[data-nga188-width]{max-width:100%!important;margin-left:0!important;margin-right:auto!important}
/* FIX2786 source: fix189-compact-ribbon.css */
/* FIX189: compact professional ribbon; preserve every toolbar control. */
/* Scope to maximized RTE only, so normal editor layout is unchanged. */
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon {
  flex:0 0 auto!important;
  max-height:min(42dvh,300px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  margin:0!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-header {
  min-height:0!important;
  padding:0 10px!important;
  gap:4px 10px!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-tabs button {
  padding:8px 12px!important;
  min-height:34px!important;
  font-size:13px!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .nga-ribbon-actions {
  padding:3px 0!important;
  gap:4px!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .rte-toolbar {
  padding:7px 10px!important;
  gap:7px!important;
  align-items:flex-start!important;
  align-content:flex-start!important;
  min-height:0!important;
  max-height:none!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-group {
  gap:4px!important;
  padding-right:9px!important;
  flex-grow:0!important;
  align-self:flex-start!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-tools {
  gap:4px!important;
  align-content:flex-start!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .nga-ribbon-tools button,
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .nga-ribbon-tools select,
body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .nga-ribbon-actions button {
  height:30px!important;
  min-height:30px!important;
  padding:3px 7px!important;
}
/* Command-box help and actions remain fully available in a slim contextual band. */
body > .rte.nga184-viewport.rte-fullscreen .rte-command-help {
  padding:3px 10px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.35!important;
  min-height:0!important;
}
body > .rte.nga184-viewport.rte-fullscreen .rte-command-actions {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:5px!important;
  padding:3px 10px 5px!important;
  margin:0!important;
  min-height:0!important;
}
body > .rte.nga184-viewport.rte-fullscreen .rte-command-actions button {
  min-height:30px!important;
  padding:4px 9px!important;
  margin:0!important;
  font-size:12px!important;
}
body > .rte.nga184-viewport.rte-fullscreen .rte-authoring-status {
  padding:4px 10px!important;
  line-height:1.3!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga-insert-panel {
  padding:7px 10px!important;
}
body > .rte.nga184-viewport.rte-fullscreen .nga188-table {
  padding:5px 8px!important;
  margin:4px!important;
  gap:5px!important;
}
@media(max-width:700px) {
 body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon {max-height:min(48dvh,320px)!important;}
 body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon .rte-toolbar {gap:6px!important;padding:6px 8px!important;}
 body > .rte.nga184-viewport.rte-fullscreen .nga-ribbon-group {padding-right:5px!important;}
 body > .rte.nga184-viewport.rte-fullscreen .rte-command-help {font-size:11px!important;}
}

/* FIX190.2 — Compact fullscreen ribbon alignment.
   Preserve every toolbar control. */

body > .rte.nga184-viewport.rte-fullscreen
.nga-ribbon .rte-toolbar {
    align-items: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding: 6px 8px !important;
}

body > .rte.nga184-viewport.rte-fullscreen
.nga-ribbon-group {
    align-self: flex-start !important;
    flex-grow: 0 !important;
    gap: 4px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body > .rte.nga184-viewport.rte-fullscreen
.nga-ribbon-tools {
    align-items: center !important;
    align-content: flex-start !important;
    gap: 4px !important;
}

body > .rte.nga184-viewport.rte-fullscreen
.nga-ribbon-panel {
    min-height: 0 !important;
}

@media (max-width: 767px) {
    body > .rte.nga184-viewport.rte-fullscreen
    .nga-ribbon-tabs {
        overflow-x: auto !important;
        flex-wrap: nowrap !important;
        max-width: 100% !important;
    }

    body > .rte.nga184-viewport.rte-fullscreen
    .nga-ribbon-tabs button {
        flex: 0 0 auto !important;
    }
}

/* FIX2786 source: fix190-mobile-ux.css */
/* FIX190: mobile reader and editor; all existing controls retained. */
@media(max-width:767px){
 .reader-content, .lesson-content {font-size:16px;line-height:1.68;overflow-wrap:break-word;min-width:0}
 .reader-content :is(h1,h2,h3,h4),.lesson-content :is(h1,h2,h3,h4){line-height:1.3;overflow-wrap:break-word;margin-block:1.15em .55em}
 .reader-content :is(p,ul,ol),.lesson-content :is(p,ul,ol){margin-block:.55em .9em}
 .reader-content :is(ul,ol),.lesson-content :is(ul,ol){padding-inline-start:1.5em}
 .reader-content li+li,.lesson-content li+li{margin-top:.35em}
 .reader-content :is(pre,.nga-command-box),.lesson-content :is(pre,.nga-command-box){max-width:100%;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important;tab-size:4}
 .reader-content pre *,.lesson-content pre *{white-space:inherit!important;overflow-wrap:normal!important;word-break:normal!important}
 .reader-content :is(code,pre),.lesson-content :is(code,pre){font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;font-variant-ligatures:none}
 .reader-content :is(table),.lesson-content :is(table){width:max-content;min-width:min(100%,480px);max-width:none!important;table-layout:auto!important;border-collapse:collapse;overflow-wrap:normal!important;word-break:normal!important}
 .reader-content :is(td,th),.lesson-content :is(td,th){min-width:90px;white-space:normal;word-break:normal!important;overflow-wrap:normal!important;vertical-align:top}
 .reader-content :is(td,th) code,.lesson-content :is(td,th) code{white-space:nowrap}
 .reader-content .nga190-table-scroll,.lesson-content .nga190-table-scroll{display:block;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin:1em 0;border-radius:8px}
 .reader-content :is(img,video,svg),.lesson-content :is(img,video,svg){max-width:100%;height:auto}
 .reader-content .nga190-zoomable,.lesson-content .nga190-zoomable{cursor:zoom-in}
 .rte .nga-ribbon-header{gap:4px;flex-wrap:wrap}
 .rte .nga-ribbon-tabs{max-width:100%;overflow-x:auto;scrollbar-width:thin;white-space:nowrap}
 .rte .nga-ribbon .rte-toolbar{align-content:flex-start;gap:5px!important}
 .rte .nga-ribbon-group{flex:0 0 auto;min-width:0}
 .rte .nga-ribbon-tools{gap:4px!important}
 .rte .nga-ribbon :is(button,select){max-width:100%}
 .rte .rte-command-actions{display:flex;flex-wrap:wrap;gap:5px}
 .rte.rte-fullscreen .nga-ribbon{max-height:min(48dvh,300px)!important;overflow-y:auto!important;overscroll-behavior:contain}
 .rte.rte-fullscreen .rte-editor{min-height:0;overflow:auto!important}
 .nga188-mini{max-width:calc(100vw - 16px);overflow-x:auto;touch-action:manipulation}
}
/* Selection toolbar must be visible even when parent editor moves in fullscreen. */
.nga188-mini:not([hidden]){display:flex!important;position:fixed!important;z-index:2147483000!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
.nga188-mini[hidden]{display:none!important}

.nga190-dialog{border:0;border-radius:12px;padding:42px 12px 12px;max-width:96vw;max-height:94dvh;background:#fff;box-shadow:0 12px 50px #0006}.nga190-dialog::backdrop{background:#000b}.nga190-dialog img{display:block;max-width:90vw;max-height:80dvh;object-fit:contain}.nga190-close{position:absolute;right:10px;top:8px;border:1px solid #cbd5e1;background:white;border-radius:6px;padding:6px 12px;cursor:pointer}

