/* Learning Studio — document canvas and shared reading typography. */
.cms-studio{container-type:inline-size;--cms-line:#dce5f0;--cms-ink:#173b6b;--cms-muted:#566b82;--cms-ease:cubic-bezier(.22,1,.36,1)}
.cms-studio-hero{position:relative;isolation:isolate;overflow:hidden;padding:30px!important;border:1px solid #d8e4f3;border-radius:22px;background:linear-gradient(115deg,#fff,#edf4ff);box-shadow:0 14px 45px #173b6b08}
.cms-studio-hero>*:not(canvas){position:relative;z-index:1}
.cms-ambient-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.cms-studio-hero h2{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.045em;color:#173b6b}
.cms-studio-hero>p{max-width:68ch;line-height:1.7;color:#435d7b}
.cms-studio-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cms-studio-meta span{padding:7px 11px;border:1px solid #dbe5f1;border-radius:999px;background:#ffffffbf;font-size:.72rem;font-weight:600;color:#385779}
.cms-studio .editorial-section{border-radius:18px;border:1px solid #dce5f0;background:#fff;box-shadow:0 8px 30px #173b6b05}
.cms-studio .editorial-section-head h4{font-size:1.15rem;letter-spacing:-.02em}
.cms-studio.workspace-editorial .editorial-form{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.cms-studio .cms-settings-sidebar{grid-column:1;display:grid;gap:16px;align-self:start}
.cms-studio .editorial-form>.editorial-section{grid-column:1;min-width:0}
.cms-studio .editorial-form>.modal-actions,.cms-studio .editorial-form>.cms-draft-state{grid-column:1/-1}
.cms-studio .cms-settings-sidebar .editorial-fields{grid-template-columns:1fr}
.cms-studio .editorial-section{padding:20px}
.cms-studio .editorial-section-head{gap:12px}
.cms-studio .editorial-section-head p{font-size:.8rem}
.cms-focus-button{display:inline-flex;align-items:center;justify-content:center;margin-top:16px;min-height:44px;padding:10px 16px;border:1px solid #b9cce4;border-radius:10px;background:#fff;color:#173b6b;font-size:.8rem;font-weight:700}
.cms-focus-button:focus-visible{outline:3px solid #b94b00;outline-offset:3px}
.cms-studio.cms-focus-writing .editorial-form{grid-template-columns:1fr}
.cms-focus-writing .editorial-form>.editorial-section{grid-column:1}
.cms-focus-writing .cms-settings-sidebar{display:none}
/* Columns follow usable editor width, including tablet portrait and browser zoom. */
@container (min-width:1000px){
  .cms-studio.workspace-editorial:not(.cms-focus-writing) .editorial-form{grid-template-columns:300px minmax(0,1fr)}
  .cms-studio:not(.cms-focus-writing) .editorial-form>.editorial-section{grid-column:2}
}
@container (min-width:650px) and (max-width:999px){.cms-studio .cms-settings-sidebar .editorial-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cms-studio :is(.cms-settings-sidebar,.editorial-section,.editorial-section-head>div,.editorial-fields,.lesson-block-list,.lesson-block-fields,.cms-rich-host,.cms-writing-surface){min-width:0;max-width:100%}
.cms-studio :is(input,select,textarea){min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.cms-studio select{padding-right:36px;text-overflow:ellipsis}
.cms-studio .editorial-section-head :is(h4,p){overflow-wrap:anywhere;white-space:normal}
.cms-studio .editorial-section-head h4{line-height:1.4}
.cms-studio .editorial-fields label{line-height:1.55}
.cms-studio .editorial-fields small{display:block;line-height:1.6;margin-top:6px}
.cms-studio .lesson-block-head strong{min-width:0;overflow-wrap:anywhere}
.cms-studio .lesson-block-toolbar button{min-width:0;white-space:normal;line-height:1.5}
@container (max-width:649px){
  .cms-studio .editorial-section{padding:18px 16px}
  .cms-studio .cms-settings-sidebar .editorial-fields{grid-template-columns:minmax(0,1fr)}
  .cms-studio .editorial-section-head{gap:10px;margin-bottom:18px}
  .cms-studio .editorial-section-head h4{font-size:1.05rem}
  .cms-studio .lesson-block-fields{padding:16px}
}
@container (max-width:400px){
  .cms-studio .editorial-section{padding:16px 12px}
  .cms-studio .lesson-block-fields{padding:14px 12px}
  .cms-studio .cms-writing-surface{padding:20px 14px}
  .cms-studio .lesson-block-toolbar{padding:10px;gap:8px}
}
.cms-studio .cms-writing-surface{overflow-x:auto;overscroll-behavior-x:contain}
.cms-studio .cms-rich-host table{min-width:420px!important}
.cms-studio .lesson-block-list{grid-template-columns:minmax(0,1fr)}
.cms-studio .lesson-block-card{min-width:0;max-width:100%}

.cms-studio .lesson-block-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:14px;border:1px solid #dce5f0;border-radius:14px;background:#f5f8fd}
.cms-studio .lesson-block-toolbar button{min-height:44px;padding:10px 13px;border:1px solid #d5e1ed;border-radius:10px;background:#fff;color:#29496f;font-size:.78rem;font-weight:700;transition:box-shadow .2s,border-color .2s}
.cms-studio .lesson-block-toolbar button:hover{border-color:#87a8cf;box-shadow:0 4px 12px #173b6b10}
.cms-studio .lesson-block-toolbar .cms-featured-tool{background:#173b6b;color:#fff;border-color:#173b6b}
.cms-studio .lesson-block-card{overflow:visible;margin-top:18px;padding:0;border:1px solid #d6e2ef;border-radius:16px;background:#fff;box-shadow:0 5px 24px #173b6b06;transition:border-color .2s,box-shadow .2s}
.cms-studio .lesson-block-card:focus-within{border-color:#91acd0;box-shadow:0 0 0 3px #edf3fc}
.cms-studio .lesson-block-head{margin:0;padding:12px 16px;border-bottom:1px solid #e3eaf3;border-radius:16px 16px 0 0;background:#f7f9fd}
.cms-studio .lesson-block-head strong{font-size:.85rem;color:#173b6b}
.cms-studio .lesson-block-number{font-size:.7rem;font-variant-numeric:tabular-nums}
.cms-studio .lesson-block-fields{padding:20px}
.cms-studio .lesson-block-fields:has(.cms-rich-host){padding:0;display:block}
.cms-studio .lesson-block-actions button{width:44px;min-height:44px;border-radius:9px}
.cms-format-toolbar{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:4px;padding:10px 14px;border-bottom:1px solid #e0e8f2;background:#ffffffed;backdrop-filter:blur(12px)}
.cms-format-toolbar button{min-width:40px;min-height:44px;padding:8px;border:0;border-radius:8px;background:transparent;color:#395675;font-size:.85rem;font-weight:700;transition:background .15s,color .15s}
.cms-format-toolbar button[data-format="bold"]{font-weight:900}
.cms-format-toolbar button[data-format="italic"]{font-style:italic}
.cms-format-toolbar button[data-format="underline"]{text-decoration:underline}
.cms-format-toolbar button:hover{background:#f0f4fa}
.cms-format-toolbar button[aria-pressed="true"]{background:#e5efff;color:#17427d;box-shadow:inset 0 0 0 1px #b9ceec}
.cms-rich-host [hidden]{display:none!important}
.cms-rich-host .cms-writing-surface{padding:clamp(20px,4vw,44px);cursor:text}
.cms-rich-host .tiptap{outline:none;min-height:220px}
.cms-rich-host .tiptap:focus-visible{outline:2px solid #a4bfdf;outline-offset:10px;border-radius:3px}
.cms-rich-host .tiptap p:first-child:only-child:empty:before{content:attr(data-placeholder);color:#76899d;float:left;height:0;pointer-events:none}
.cms-writing-status{display:flex;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #e3eaf3;border-radius:0 0 16px 16px;background:#fafcff;color:#637990;font-size:.69rem;line-height:1.5}
.cms-writing-status>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.cms-link-controls,.cms-table-tools{display:flex;flex-wrap:wrap;align-items:end;gap:8px;padding:12px 18px;background:#edf4ff;border-bottom:1px solid #d5e3f5}
.cms-link-controls label{flex:1;min-width:160px;font-size:.75rem;color:#244971}
.cms-link-controls button,.cms-table-tools button{min-height:44px;padding:8px 12px;border:1px solid #c8d9ed;border-radius:8px;background:#fff;color:#244971;font-size:.75rem}
.cms-editor-loading{padding:36px;color:#61758c;font-size:.85rem}
.cms-divider-sample{text-align:center;color:#60758d;font-size:.8rem;padding:20px}
.cms-divider-sample hr{border:0;border-top:1px solid #d8e3ef;margin:0 0 14px}

/* Identical prose rules for writing, previews and published documents. */
.cms-prose{font-family:"Be Vietnam Pro",sans-serif;font-size:1rem;line-height:1.85;color:#334963;overflow-wrap:anywhere}
.cms-prose>*:first-child{margin-top:0}.cms-prose>*:last-child{margin-bottom:0}
.cms-prose p{margin:0 0 1.1em!important;line-height:1.85;color:#334963!important;white-space:pre-wrap}
.cms-prose h2,.cms-prose h3{font-weight:800!important;line-height:1.35!important;letter-spacing:-.025em;color:#173b6b!important;scroll-margin-top:30px}
.cms-prose h2{font-size:clamp(1.35rem,2vw,1.7rem)!important;margin:1.8em 0 .7em!important}
.cms-prose h3{font-size:clamp(1.1rem,1.6vw,1.3rem)!important;margin:1.6em 0 .65em!important}
.cms-prose a{color:#19599b;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.cms-prose strong{font-weight:800;color:#243f60}
.cms-prose ul,.cms-prose ol{padding-left:1.6em;margin:1em 0 1.4em;list-style-position:outside}
.cms-prose ul{list-style-type:disc}.cms-prose ol{list-style-type:decimal}
.cms-prose li{display:list-item;padding-left:.3em;margin:.45em 0}.cms-prose li p{margin:.2em 0!important}
.cms-prose blockquote{margin:1.5em 0;padding:20px 24px;border:0;border-left:4px solid #da8750;border-radius:0 14px 14px 0;background:#fff7f0;font-style:italic;color:#725039}
.cms-prose blockquote p{color:#725039!important}
.cms-prose code{padding:.15em .35em;border-radius:5px;background:#edf2f9;font-family:Consolas,monospace;font-size:.88em;color:#244b78}
.cms-prose pre{max-width:100%;overflow:auto;padding:22px;border-radius:14px;background:#152b49;color:#e4ecf8;white-space:pre}
.cms-prose pre code{padding:0;background:none;color:inherit;white-space:pre}
.cms-prose hr,.cms-divider{margin:32px 0;border:0;border-top:1px solid #d9e4ef}
.cms-prose table{border-collapse:collapse;width:100%;table-layout:fixed;margin:1.3em 0;font-size:.9rem}
.cms-prose td,.cms-prose th{min-width:80px;vertical-align:top;border:1px solid #ccdaeb;padding:12px 15px;position:relative}
.cms-prose th{background:#edf3fc;font-weight:800;color:#173b6b;text-align:left}
.cms-prose td p,.cms-prose th p{margin:0!important}
.cms-prose .selectedCell{background:#e3edff}
.cms-table-scroll{max-width:100%;overflow-x:auto;border-radius:12px;margin:20px 0}.cms-table-scroll table{min-width:400px;margin:0}
.cms-table-scroll:focus-visible{outline:3px solid #b94b00;outline-offset:3px}
.lesson-rich-content{max-width:780px;margin-inline:auto}
.lesson-rich-content>.cms-document{margin-block:28px}
.cms-figure{margin:32px 0;padding:0}.cms-figure img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;background:#f3f6fb;border-radius:16px}
.cms-figure figcaption{margin-top:12px;text-align:center;color:#63768b;font-size:.8rem;line-height:1.6}
.cms-callout{display:flex;align-items:start;gap:16px;margin:28px 0;padding:24px;border:1px solid #c9dcf1;border-radius:16px;background:#f0f6ff;color:#294d78}
.cms-callout-symbol{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#d9e8fc;color:#234e86;font-weight:800;font-family:Georgia,serif}
.cms-callout h3{font-size:1rem!important;margin:0 0 8px!important;color:inherit!important}.cms-callout p{margin:0 0 8px;line-height:1.8}
.cms-callout.tone-tip{border-color:#c2e2d4;background:#f0f9f4;color:#285c45}.cms-callout.tone-tip .cms-callout-symbol{background:#d9eee2;color:#285c45}
.cms-callout.tone-warning{border-color:#efdab9;background:#fff8ed;color:#77502a}.cms-callout.tone-warning .cms-callout-symbol{background:#f8e8cc;color:#77502a}
.cms-reading-header{max-width:780px;margin:0 auto 28px;padding:22px 0;border-bottom:1px solid #dce5ef}
.cms-reading-header span{font-size:.7rem;letter-spacing:.1em;font-weight:800;color:#a64a0a}.cms-reading-header h2{font-size:1.55rem;margin:9px 0;color:#173b6b;letter-spacing:-.03em}.cms-reading-header p{font-size:.83rem;color:#60758d}
.cms-reading-outline{max-width:780px;margin:0 auto 24px;border:1px solid #dce5ef;border-radius:14px;background:#f7faff;padding:18px 22px}
.cms-reading-outline summary{cursor:pointer;font-weight:700;color:#264b78;font-size:.85rem;min-height:30px}
.cms-reading-outline nav{display:grid;gap:6px;margin-top:10px}.cms-reading-outline button{padding:10px 0;min-height:44px;border:0;background:none;text-align:left;font-size:.85rem;color:#3b597a}
.cms-reading-outline button:hover{color:#a64a0a}.cms-reading-outline button:focus-visible,.cms-format-toolbar button:focus-visible{outline:3px solid #b94b00;outline-offset:2px}
.cms-document h2,.cms-document h3{scroll-margin-top:30px}
@keyframes cms-block-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.cms-studio .lesson-block-card{animation:cms-block-enter .3s cubic-bezier(.22,1,.36,1)}.cms-studio .lesson-block-toolbar button:active{transform:scale(.98)}}
@media(prefers-reduced-motion:reduce){.cms-studio *{animation:none!important;transition:none!important}}
@media(max-width:650px){.cms-studio-hero{padding:22px!important}.cms-studio-meta{gap:6px}.cms-studio-meta span{font-size:.65rem}.cms-studio .lesson-block-fields{padding:16px}.cms-studio .lesson-block-head{padding:10px;gap:7px;flex-wrap:wrap}.cms-studio .lesson-block-actions{margin-left:auto}.cms-format-toolbar{padding:8px;gap:2px}.cms-format-toolbar button{min-width:38px}.cms-writing-status>span:first-child{display:none}.cms-writing-status{justify-content:end}.cms-prose{font-size:.95rem}.cms-prose blockquote{padding:16px}.cms-callout{padding:18px;gap:12px}.cms-studio .lesson-block-toolbar{padding:10px}.cms-studio .lesson-block-toolbar button{flex:1 1 130px;text-align:left}.cms-reading-header h2{font-size:1.3rem}}

.cms-format-toolbar button:disabled{opacity:.35;cursor:not-allowed}

.dashboard-page.editor-mode[data-section="lessons"] .admin-workspace{padding:0;min-width:0}
.cms-studio .editorial-form{padding-top:20px!important}
.cms-studio .editorial-form>.modal-actions{padding:18px 20px}
@media(max-width:1024px){.dashboard-page.editor-mode[data-section="lessons"] .dash-main{padding-inline:20px}.cms-studio-hero{padding:24px!important}}
@media(max-width:600px){.dashboard-page.editor-mode[data-section="lessons"] .dash-main{padding-inline:12px}.cms-studio-hero{padding:22px 16px!important}.cms-studio .editorial-form{gap:16px;padding-top:16px!important}.cms-studio .editorial-form>.modal-actions{padding:16px 12px;gap:8px}.cms-studio .editorial-form>.modal-actions button{flex:1 1 120px;white-space:normal}.cms-studio .cms-draft-state{padding:14px 16px;font-size:.78rem;line-height:1.6}}

@container (max-width:649px){
  .cms-studio .lesson-block-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-studio .lesson-block-toolbar .cms-featured-tool{grid-column:1/-1}
  .cms-studio .lesson-block-toolbar button{padding:10px 8px;font-size:.75rem}
}
