:root{--accent:var(--course-accent,#5b3f5f);--ink:var(--course-ink,#2f2d32);--muted:var(--course-muted,#625961);--line:var(--course-line,#d4cdc0);--course-font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea,[contenteditable]{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[contenteditable]:focus-visible{outline:3px solid var(--course-accent,#5b3f5f)}[hidden]{display:none!important}.course-block{padding:24px 48px;font-family:var(--course-font);font-size:17px;line-height:1.7;overflow-wrap:anywhere}.course-block p,.rich p{margin:0}.rich p:last-child{margin-bottom:0}.rich:empty:before{content:attr(data-placeholder);color:var(--course-muted,#625961)}.rich ul,.rich ol{padding-left:24px}.rich a{color:var(--course-accent,#5b3f5f)}.content-heading{font-size:28px;font-weight:700;line-height:1.3;margin-bottom:18px}.image-layout img{width:100%;height:auto;display:block;border-radius:8px}.media-box{position:relative;min-width:0}.image-aside{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.image-overlay{position:relative}.image-overlay>.media-box img{min-height:310px;max-height:480px;object-fit:cover}.image-overlay .image-copy{position:absolute;bottom:0;left:0;right:0;color:white;padding:50px 30px 28px;background:linear-gradient(transparent,rgba(0,0,0,.84));border-radius:8px;pointer-events:none}.image-overlay .image-copy [contenteditable]{pointer-events:auto}.image-copy:not(:empty){margin-top:18px}.image-aside .image-copy{margin:0}.replace-label{position:absolute;top:12px;right:12px;padding:6px 11px;border-radius:5px;background:#fff;color:var(--course-ink,#2f2d32);font-size:12px;font-weight:600;box-shadow:0 2px 10px #0003}.image-placeholder{min-height:180px;background:var(--course-tint,#f5ebce);border:1px dashed var(--course-border,#8a7b8d);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:38px;color:var(--course-muted,#625961)}.image-placeholder span{font-size:14px}.content-list>li{padding-left:0;margin-bottom:0}.content-list li::marker{color:var(--accent);font-weight:bold}.flashcard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.flashcard{border:1px solid var(--course-border,#8a7b8d);background:#fff;box-shadow:0 4px 15px #303f2b0c;border-radius:10px;padding:26px 20px;min-height:240px;color:var(--ink);font-size:16px;line-height:1.6}.flashcard[aria-expanded=true]{background:var(--course-tint,#f5ebce)}.flashcard small{display:block;margin-top:20px;font-size:11px;color:var(--course-muted,#625961);letter-spacing:1px;text-transform:uppercase}.editing-cards{display:block}.card-pair{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:20px;border:1px solid var(--course-border,#8a7b8d);border-radius:8px;overflow:hidden}.card-pair>div{padding:20px}.card-pair>div+div{background:var(--course-tint,#f5ebce);border-left:1px solid var(--course-border,#8a7b8d)}.card-pair small{font-size:10px;letter-spacing:1.5px;color:var(--course-muted,#625961);display:block;margin-bottom:12px}.question-title{font-size:21px;font-weight:600;line-height:1.5;margin-bottom:25px}.answers{display:grid;gap:12px}.answer-row{display:flex;align-items:center;gap:14px;border:1px solid var(--course-border,#8a7b8d);border-radius:8px;padding:16px;background:#fff;color:var(--course-ink,#2f2d32)}.answer-row .rich,.answer-row label{flex:1}.answer-row label{cursor:pointer}.answer-row input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.correct-answer{border-color:#79ac99;background:#f6fbf8}.correct-answer small{color:#477b67;font-size:11px}.matching-row{display:grid;grid-template-columns:1fr 1.4fr;gap:18px;align-items:center;background:var(--course-tint,#f5ebce);border-radius:6px;padding:14px;color:var(--course-ink,#2f2d32)}.matching-row select{width:100%;padding:11px;border:1px solid var(--course-border,#8a7b8d);border-radius:6px;background:white;color:var(--course-ink,#2f2d32);font-size:15px}.check-button,.course-link{display:inline-block;background:var(--accent);color:#fff;border:0;border-radius:5px;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;margin-top:22px}.course-link.rich{width:max-content;max-width:100%}.edit-hint,.gate-message{font-size:12px;line-height:1.6;color:var(--course-muted,#625961);margin:14px 0 0}.graphic-stage{position:relative}.graphic-stage img{width:100%;display:block;border-radius:6px}.graphic-marker{position:absolute;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid white;border-radius:50%;background:var(--accent);color:white;font-size:14px;font-weight:700;box-shadow:0 2px 7px #0007;touch-action:none}.family-quote blockquote{font-size:27px;border-left:4px solid var(--accent);margin:0;padding-left:25px;line-height:1.5}.quote-name{font-size:15px;margin:15px 0 0 30px;color:var(--course-muted,#625961)}.button-stack article+article{margin-top:32px}.course-block details,.edit-disclosure{border:1px solid var(--course-border,#8a7b8d);border-radius:7px;background:white;margin-bottom:12px;color:var(--course-ink,#2f2d32)}.course-block summary{cursor:pointer;padding:18px;font-weight:bold}.course-block details>div,.edit-disclosure{padding:22px}.course-block video{width:100%;border-radius:8px;background:var(--course-ink,#2f2d32)}.course-block audio{width:100%}.player-shell{display:grid;grid-template-columns:275px 1fr;min-height:100vh;background:#f7f3e9}.player-side{background:var(--course-surface,#fbfaf7);border-right:1px solid var(--line);padding:30px 22px;position:sticky;top:0;height:100vh;overflow:auto}.player-brand{font-size:11px;letter-spacing:2px;font-weight:bold;color:var(--course-muted,#625961);text-transform:uppercase}.player-side h1{font-size:22px;line-height:1.35;margin:26px 0}.player-side nav{display:grid;gap:7px}.player-side nav button{border:0;border-radius:6px;background:transparent;text-align:left;color:var(--course-muted,#625961);padding:13px 10px;font-size:14px;line-height:1.5}.player-side nav button.active{background:var(--course-tint,#f5ebce);color:var(--course-accent,#5b3f5f);font-weight:600}.player-progress{margin:22px 0;font-size:12px;color:var(--course-muted,#625961)}.progress-track{height:5px;background:var(--course-tint,#f5ebce);margin-top:9px;border-radius:3px}.progress-track span{height:100%;display:block;background:var(--accent);border-radius:3px}.player-main{max-width:1050px;width:100%;margin:0 auto;padding:38px 40px}.player-page{background:var(--course-surface,#fbfaf7);border-radius:10px;overflow:hidden;box-shadow:0 1px 5px #303f2b08}.lesson-hero{padding:50px 48px 34px;background:var(--course-tint,#f5ebce);border-bottom:1px solid var(--course-line,#d4cdc0)}.lesson-hero small{font-size:11px;letter-spacing:2px;color:var(--course-muted,#625961);text-transform:uppercase}.lesson-hero h1{font-size:36px;line-height:1.25;margin:14px 0 0}.player-cover{padding:45px}.player-cover img{width:100%;height:280px;object-fit:cover;border-radius:7px}.player-cover h1{font-size:40px;line-height:1.2;margin:28px 0}.player-cover .rich{font-size:18px;line-height:1.8}.player-footer{display:flex;gap:12px;justify-content:center;padding:0 48px 24px}.player-footer button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:6px 14px;min-height:36px;font-size:.875rem;line-height:1.4;font-weight:500}.player-footer button:not(:disabled):hover{background:var(--course-tint,#f5ebce);border-color:var(--course-border,#8a7b8d);color:var(--ink)}.begin-course{border:0;background:var(--accent);color:#fff;border-radius:5px;padding:13px 22px;font-weight:600}.begin-course{margin-top:25px}.player-note{font-size:12px;color:var(--course-muted,#625961);line-height:1.7;margin-top:28px}.player-reset{border:0;padding:8px 0;background:none;color:var(--course-muted,#625961);font-size:12px}.course-dialog{border:0;border-radius:12px;padding:35px;max-width:650px;width:90%;color:var(--course-ink,#2f2d32);box-shadow:0 20px 80px #0004}.course-dialog::backdrop{background:#232d2088}.course-dialog img{max-width:100%}.course-dialog .close-dialog{float:right;border:0;background:var(--course-tint,#f5ebce);border-radius:50%;width:32px;height:32px;font-size:20px}.course-dialog .dialog-body{font-size:18px;line-height:1.8}.player-menu{display:none}.complete-banner{padding:24px;background:#e5f4eb;color:#286847;border-radius:8px;margin-bottom:20px}.skip{position:absolute;left:-10000px}.skip:focus{left:15px;top:15px;background:white;padding:12px;z-index:30}@media(max-width:700px){.course-block{padding-left:22px;padding-right:22px;font-size:16px}.image-aside,.card-pair{grid-template-columns:1fr}.matching-row{grid-template-columns:1fr;gap:8px}.player-shell{display:block}.player-side{display:none;position:static;height:auto}.player-side.open{display:block}.player-menu{display:block;padding:12px 20px;border:0;background:var(--course-surface,#fbfaf7);width:100%;text-align:left;color:var(--course-muted,#625961)}.player-main{padding:16px}.lesson-hero{padding:32px 24px}.lesson-hero h1{font-size:28px}.player-cover{padding:25px}.player-cover h1{font-size:32px}.player-footer{padding:0 8px 24px;gap:8px}.player-footer button{padding-inline:10px}.image-overlay .image-copy{padding:22px;font-size:15px}.flashcard-grid{grid-template-columns:1fr}}

/* Mark results on each answer, without adding a separate result panel. */
.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}
.player-blocks .answer-row,.player-blocks .matching-row{position:relative;border:2px solid var(--course-border,#8a7b8d);padding:16px 58px 16px 16px;min-height:65px}
.player-blocks .answer-right{border-color:#28804a;background:#e7f5eb;box-shadow:inset 0 0 0 1px #28804a22}
.player-blocks .answer-wrong{border-color:#c93e45;background:#fff0f0;box-shadow:inset 0 0 0 1px #c93e4522}
.answer-result-icon{position:absolute;right:11px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;pointer-events:none}
.answer-result-icon svg{display:block;width:32px;height:32px}
.answer-right .answer-result-icon{color:#237b43}
.answer-wrong .answer-result-icon{color:#c72f3b}
.answer-right input{accent-color:#28804a}
.answer-wrong input{accent-color:#c93e45}
.matching-row.answer-right select{border-color:#75ae89;background:#f6fcf8}
.matching-row.answer-wrong select{border-color:#df9297;background:#fffafa}
.quiz-prompt{font-size:14px;color:var(--course-muted,#625961);line-height:1.5;margin:12px 0 0}

/* Keep text readable on custom block backgrounds and constrain long media labels. */
.dark-background .edit-hint,.dark-background .gate-message,.dark-background .quote-name,.dark-background .quiz-prompt{color:var(--course-tint,#f5ebce)}
.dark-background>.rich a,.dark-background .image-copy a{color:var(--course-pale,#f7e7dc)}
.dark-background .card-pair{background:#fff;color:var(--course-ink,#2f2d32)}
.course-link[aria-disabled=true]{opacity:.55;cursor:default}
.matching-row>*{min-width:0}
.image-overlay .image-copy{max-height:100%;overflow:auto}
.player-side h1,.player-side nav button{overflow-wrap:anywhere}

/* A small celebratory burst, kept separate from the answer's persistent check mark. */
.answer-confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none!important;z-index:2147483647;contain:strict}
.answer-confetti i{position:absolute;width:6px;height:9px;border-radius:1px;opacity:0;animation:answer-confetti-pop 1000ms ease-out forwards;will-change:transform,opacity}
@keyframes answer-confetti-pop{0%{opacity:0;transform:translate(-50%,-50%) rotate(0)}8%{opacity:1}55%{opacity:1;transform:translate(var(--cx),var(--cy)) rotate(var(--spin))}100%{opacity:0;transform:translate(var(--cx),var(--fall)) rotate(var(--spin))}}
@media(prefers-reduced-motion:reduce){.answer-confetti{display:none}}

/* Matching uses movable pieces; the author still edits each correct pair in place. */
.matching-instructions{font-size:16px;line-height:1.55;margin:0 0 20px;color:inherit}
.matching-workspace{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(0,1.5fr);gap:22px;align-items:start;text-align:left}
.matching-workspace h3{font-size:16px;line-height:1.4;margin:0 0 12px;color:inherit}
.matching-bank{display:grid;gap:12px;align-content:start;padding:12px;border:2px solid var(--course-border,#8a7b8d);border-radius:10px;background:var(--course-tint,#f5ebce);min-height:120px}
.matching-piece,.matching-slot-button{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:62px;padding:14px;border:2px solid var(--course-border,#8a7b8d);border-radius:7px;background:var(--course-surface,#fbfaf7);color:var(--course-ink,#2f2d32);text-align:left;font-size:16px;line-height:1.5;overflow-wrap:anywhere;white-space:normal}
.matching-piece{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 2px 3px #2f2d3212}
.matching-piece:active{cursor:grabbing}
.matching-piece-text{min-width:0;white-space:pre-line;flex:1}
.matching-grip{flex:0 0 13px;color:var(--course-muted,#625961);font-size:20px;line-height:1}
.matching-piece.matching-selected{outline:3px solid var(--course-accent,#5b3f5f);outline-offset:2px}
.matching-workspace .matching-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:12px;padding:0;border:0;border-radius:0;background:transparent;margin-bottom:16px;min-height:0;align-items:stretch;box-shadow:none}
.matching-prompt{border:1px solid var(--course-border,#8a7b8d);border-radius:8px;padding:15px;background:var(--course-surface,#fbfaf7);color:var(--course-ink,#2f2d32);font-size:16px;line-height:1.5;display:flex;flex-direction:column;justify-content:center;min-width:0}
.matching-prompt p{margin:0}.matching-prompt p+p{margin-top:0}
.matching-slot{position:relative;border:2px dashed var(--course-border,#8a7b8d);border-radius:8px;background:var(--course-surface,#fbfaf7);min-width:0;display:flex;flex-direction:column}
.matching-slot-button{flex:1;border:0;box-shadow:none;background:transparent;padding:14px 45px 14px 12px;color:var(--course-accent,#5b3f5f);border-radius:6px;min-height:70px}
.matching-slot-button:not(.matching-piece){padding-right:12px;justify-content:center;text-align:center}
.matching-slot:has(.matching-piece){border-style:solid;border-color:var(--course-border,#8a7b8d)}
.matching-return{align-self:flex-start;border:0;background:transparent;padding:4px 12px 9px;color:var(--course-muted,#625961);font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:3px}
.matching-bank-empty{font-size:15px;line-height:1.5;color:var(--course-muted,#625961);margin:3px}
.matching-slot .answer-result-icon{top:33px;right:7px}
.matching-slot.answer-right{border-color:#28804a;border-style:solid;background:#e7f5eb}
.matching-slot.answer-wrong{border-color:#c93e45;border-style:solid;background:#fff0f0}
.matching-has-selection .matching-slot:not(.answer-right):not(.answer-wrong):not(:has(.matching-selected)){border-color:var(--course-accent,#5b3f5f);background:var(--course-tint,#f5ebce)}
.matching-bank.matching-drop-active,.matching-slot.matching-drop-active{outline:3px solid var(--course-accent,#5b3f5f);outline-offset:3px;background:var(--course-tint,#f5ebce)}
.matching-dragging{opacity:.4}
.matching-drag-ghost{position:fixed;pointer-events:none;z-index:2147483646;padding:14px;border:2px solid var(--course-accent,#5b3f5f);border-radius:8px;background:var(--course-surface,#fbfaf7);color:var(--course-ink,#2f2d32);box-shadow:0 8px 28px #2f2d3240;font:16px/1.5 Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere;max-height:180px;overflow:hidden}
@media(max-width:700px){.matching-workspace{grid-template-columns:1fr;gap:22px}.matching-bank{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:10px}.matching-piece{padding:12px 9px}.matching-bank-empty{grid-column:1/-1}.matching-workspace .matching-row{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9px}.matching-prompt{padding:12px 10px}.matching-slot-button{padding:12px 40px 12px 9px}.matching-grip{flex-basis:10px}}

/* Labeled-image hover information, shared by Preview and exported courses. */
.graphic-popover{position:fixed;z-index:100;width:min(400px,calc(100vw - 24px));max-height:min(480px,calc(100vh - 24px));overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:22px 24px;border:1px solid var(--course-border,#8a7b8d);border-radius:10px;background:var(--course-surface,#fbfaf7);color:var(--course-ink,#2f2d32);box-shadow:0 8px 30px #2f2d3233;font-family:var(--course-font);font-size:17px;font-weight:400;line-height:1.65;text-align:left;overflow-wrap:anywhere;cursor:auto}
.graphic-popover h2{margin:0 0 12px;font-size:21px;line-height:1.3;color:var(--course-accent,#5b3f5f)}
.graphic-popover .rich p:last-child{margin-bottom:0}
.graphic-popover:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.graphic-marker[aria-haspopup]{touch-action:manipulation}
.graphic-marker[aria-expanded=true]{box-shadow:0 0 0 4px #fbfaf780,0 2px 7px #0007}

/* A distinct reading style shared by all interactive card faces. */
.interactive-card-copy{display:block;font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:500;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere;white-space:normal}
.interactive-card-copy p:last-child{margin-bottom:0}
.interactive-card-content{flex:1;min-width:0}
.interactive-card-image{display:block;width:100%;margin:0 0 16px}
.interactive-card-image img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:7px;user-select:none;-webkit-user-drag:none}
.flashcard .card-front,.flashcard .card-back{display:block}
.flashcard small,.card-pair small{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:1px}
.sort-card .interactive-card-copy,.studio-sort-editor .interactive-card-copy,.matching-piece .interactive-card-copy,.matching-row .interactive-card-copy,.activity-order .interactive-card-copy{font-size:22px}
.sort-card .interactive-card-image img,.matching-piece .interactive-card-image img,.activity-order .interactive-card-image img{max-height:150px}
.sort-card:has(.interactive-card-image){width:min(100%,260px)}
.card-image-controls{margin:12px 0 20px}
/* Shared image sizing in the editor, learner preview and website exports. */
.media-box.sized-image{width:100%;max-width:min(100%,var(--image-width,560px));margin:18px auto;min-width:0;position:relative}
.media-box.sized-image img{display:block;width:auto;height:auto;min-height:0;max-width:100%;max-height:var(--image-height,360px);margin:0 auto;border-radius:7px;object-fit:contain;object-position:var(--image-x,50%) var(--image-y,50%)}
.media-box.sized-image.image-size-full img{width:100%;max-height:none}
.media-box.sized-image.image-fit-crop img{width:100%;height:var(--image-height,360px);max-height:60vh;object-fit:cover}
.media-box.sized-image.image-fit-crop.image-size-full img{height:360px}
.media-box.sized-image .image-enlarge{display:block;position:relative;width:fit-content;max-width:100%;margin:0 auto;padding:0;border:0;border-radius:7px;background:transparent;color:inherit;cursor:zoom-in}
.media-box.sized-image.image-fit-crop .image-enlarge,.media-box.sized-image.image-size-full .image-enlarge{width:100%}
.image-enlarge-hint{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #5b3f5f33;border-radius:50%;background:#fbfaf7f2;color:#5b3f5f;box-shadow:0 1px 4px #0003;pointer-events:none;opacity:0}
.image-enlarge-hint .studio-inline-icon{font-size:20px}
.image-enlarge:hover .image-enlarge-hint,.image-enlarge:focus-visible .image-enlarge-hint{opacity:1}
@media(hover:none),(any-pointer:coarse){.image-enlarge-hint{opacity:1}}
.image-overlay>.sized-image{max-width:100%;margin:0}
.player-cover>.sized-image{max-width:100%;margin-top:0}
.player-main,.player-shell>*{min-width:0}
.course-dialog.image-viewer{width:min(1200px,96vw);max-width:96vw;max-height:96vh}
.course-dialog.image-viewer img{display:block;width:auto;height:auto;max-width:100%;max-height:75vh;margin:auto;object-fit:contain}
.course-dialog.image-viewer h2{font-size:20px;margin:0 35px 16px 0}
@media(max-width:600px){.media-box.sized-image:not(.image-size-full) img{max-height:min(var(--image-height,360px),60vh)}.course-dialog.image-viewer{padding:20px}}
.card-image-controls .activity-media-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
@media(max-width:700px){.interactive-card-copy{font-size:24px}.card-pair .interactive-card-image img{max-height:200px}}

/* Keep secondary lesson navigation close to the last visible Continue bar. */
.player-blocks > [data-block]:last-child > .family-continue{padding-bottom:16px!important}
.player-blocks .family-continue .gate-message:empty{display:none}
.player-page > .completion-hint{margin:0;padding:0 24px 24px;text-align:center}

/* Shared Continue typography. The font travels with every website export. */
@font-face{font-family:'Studio Poppins';src:url('fonts/Poppins-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
.continue-button,.continue-edit{
  display:grid;grid-template-columns:26px minmax(0,1fr) 26px;align-items:center;gap:8px;
  width:100%;padding:19px 14px;border:1px solid #fff;border-radius:10px;
  background:var(--accent);color:#fff;text-align:center;
  font-family:'Studio Poppins',Arial,Helvetica,sans-serif;font-size:1.375rem;font-weight:600;line-height:1.4;
  box-shadow:0 0 0 1px var(--course-ink,#2f2d32);
  transition:background-color 160ms ease,box-shadow 160ms ease;
}
.continue-button::before,.continue-edit::before{content:'';width:26px}
.continue-label{min-width:0;overflow-wrap:anywhere}
.continue-edit .rich{min-height:1.4em;line-height:1.4}
.continue-arrow{display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform 160ms ease}
.continue-arrow .studio-inline-icon{width:24px;height:24px;user-select:none}
.course-block .continue-button:not(:disabled):is(:hover,:focus-visible),.continue-edit:hover{
  background:color-mix(in srgb,var(--accent),#fff 10%);
  box-shadow:0 0 0 1px var(--course-ink,#2f2d32),0 4px 12px #30233422;
}
.continue-button:not(:disabled):hover .continue-arrow{transform:translateY(2px)}
.continue-button:disabled{opacity:1;background:var(--course-tint,#f5ebce);color:var(--course-ink,#2f2d32);box-shadow:none;border-color:var(--course-line,#d4cdc0)}
.continue-button:disabled .continue-arrow{visibility:hidden}
@media(prefers-reduced-motion:reduce){
  .continue-button,.continue-edit,.continue-arrow{transition:none}
  .continue-button:not(:disabled):hover .continue-arrow{transform:none}
}
@media(pointer:coarse){.player-footer button{min-height:44px}}

/* Progress can be remembered without retaining learner responses. */
.player-remember{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.5;margin:12px 0;color:var(--course-ink,#2f2d32)}
.player-remember input{margin-top:4px;flex:none;accent-color:var(--accent)}
.saved-activity{border:1px solid var(--course-border,#8a7b8d);border-radius:10px;background:var(--course-surface,#fbfaf7);color:var(--course-ink,#2f2d32)}
.saved-activity h2{font-size:22px;line-height:1.4}.saved-activity p{font-size:16px;line-height:1.6}
.player-cover .begin-course{margin:12px 12px 0 0}

/* Text block roles: 32px headings, 28px subheadings and 17px body by default.
   Relative sizes retain that hierarchy when the author changes the block size. */
.family-text .text-heading{font-size:1.8823529412em;font-weight:700}
.family-text .text-subheading{font-size:1.6470588235em;font-weight:700}
.family-text .text-body{font-size:1em;font-weight:400}
.family-text .text-body :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}
.rich li:is([style*="text-align: center"],[style*="text-align: right"]){list-style-position:inside}
.rich li:is([style*="text-align: center"],[style*="text-align: right"])>:is(p,div):first-child{display:inline}
.rich li:has(>:is(p,div):first-child[style*="text-align: center"]){text-align:center;list-style-position:inside}
.rich li:has(>:is(p,div):first-child[style*="text-align: right"]){text-align:right;list-style-position:inside}
.rich li:has(>:is(p,div):first-child[style*="text-align: left"]){text-align:left;list-style-position:outside}
.rich li:has(>:is(p,div):first-child[style*="text-align: justify"]){text-align:justify;list-style-position:outside}
.rich li>:is(p,div):first-child:is([style*="text-align: center"],[style*="text-align: right"]){display:inline}
.rich li>:is(p,div):first-child:is([style*="text-align: left"],[style*="text-align: justify"]){display:block}

/* Authored list markers follow their opening text throughout the library. */
:is(.rich li,[data-studio-text-list]>li){list-style-position:outside}
:is(.rich li,[data-studio-text-list]>li)[data-studio-list-align="inside"]{list-style-position:inside}
[data-studio-text-align="center"],[data-studio-text-align="-webkit-center"]{text-align:center}
[data-studio-text-align="right"],[data-studio-text-align="-webkit-right"]{text-align:right}
[data-studio-text-align="left"]{text-align:left}
[data-studio-text-align="justify"]{text-align:justify}
[data-studio-text-align="start"]{text-align:start}
[data-studio-text-align="end"]{text-align:end}
[data-studio-list-flow]{display:inline}
:is(.rich li,[data-studio-text-list]>li)::marker{font-size:var(--studio-marker-size,1em)}
.rich :is(ol,ul),[data-studio-text-list]{padding-inline-start:var(--studio-marker-gutter,24px)}
.content-list>li[data-studio-list-indent]{margin-inline-start:var(--studio-list-indent)}
[data-studio-list-indent-source]{margin-inline-start:0!important}
/* Nested heading markup must use the field's preset unless explicitly resized. */
:is(.content-heading,.custom-item-heading) :is(h1,h2,h3,h4){font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}

/* Knowledge-check introductions share Subheader and Text defaults in editing
   and playback. Answer controls keep their own interaction styles. */
.family-knowledgeCheck .question-title{font-family:var(--course-font);font-size:28px;font-weight:700;line-height:1.4;margin:0 0 18px}
.family-knowledgeCheck .question-title :is(h1,h2,h3,h4){font-size:inherit;font-weight:inherit;line-height:inherit;margin:0}
.family-knowledgeCheck .question-description{font-family:var(--course-font);font-size:17px;font-weight:400;line-height:1.7;margin:0 0 20px}
.family-knowledgeCheck .question-description:not([contenteditable]):empty{display:none}

/* Keep each button beside its explanation in both editing and learner views. */
.button-stack>article{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:24px;align-items:start}
.button-stack>article>.course-link{width:100%;min-width:0;margin:0;text-align:center;white-space:normal}
.button-stack>article>.button-description{min-width:0;padding-top:8px}
@media(max-width:650px){.button-stack>article{grid-template-columns:minmax(90px,110px) minmax(0,1fr);gap:14px}.button-stack>article>.course-link{padding:10px 12px}}

.matching-prompt{font-size:17px}
.continue-wait{margin:12px 24px;text-align:center;color:var(--ink,#333);font-size:1rem;line-height:1.5}
.continue-button:disabled{cursor:not-allowed;opacity:.55}
