.ql-page { max-width:1180px; margin-inline:auto; color:var(--text,#193b40); }
.ql-page [hidden],.ql-related-practice [hidden] { display:none!important; }
.ql-page h1 { font-size:clamp(2rem,4vw,3.2rem); line-height:1.1; letter-spacing:-.04em; margin:14px 0 20px; max-width:850px; }
.ql-page h1:focus { outline:none; }
.ql-page h2 { font-size:1.5rem; line-height:1.3; margin:0 0 16px; letter-spacing:-.02em; }
.ql-page h3 { font-size:1.12rem; line-height:1.4; margin:24px 0 10px; }
.ql-page p,.ql-page li,.ql-page td,.ql-page dd { line-height:1.75; overflow-wrap:anywhere; }
.ql-page p { margin:10px 0; white-space:pre-line; }
.ql-page a { color:#0b6861; text-underline-offset:3px; }
.ql-page button,.ql-page input,.ql-page select,.ql-page textarea { font:inherit; }
.ql-page :focus-visible,.ql-tabs :focus-visible,.ql-portal :focus-visible,.ql-related-practice :focus-visible { outline:3px solid #b96018; outline-offset:4px; }
.ql-heading { padding:30px 0 26px; }
.ql-heading>p { max-width:820px; font-size:1.05rem; color:#50696b; }
.ql-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.ql-meta>span { border:1px solid #d4e4df; padding:7px 12px; border-radius:30px; font-size:.8rem; background:#f5faf8; }
.ql-tabs { display:flex; flex-wrap:wrap; gap:8px; border-bottom:1px solid #dce8e4; padding:10px 0 16px; margin:10px 0 20px; }
.ql-tabs a { text-decoration:none; padding:10px 14px; border-radius:8px; color:#315957; font-weight:650; background:#edf4f1; }
.ql-tabs a[aria-current] { background:#10584f; color:white; }
.ql-portal { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding:30px; margin:30px 0; background:#edf5ef; border:1px solid #cbded2; border-radius:18px; }
.ql-portal h2 { font-size:1.6rem; line-height:1.25; margin:12px 0; color:#163d38; }
.ql-portal p { color:#45645e; line-height:1.7; margin:0; }
.ql-portal__links { display:grid; gap:12px; }
.ql-portal__links a { padding:18px 20px; display:grid; gap:7px; border:1px solid #cbded2; border-radius:12px; background:white; text-decoration:none; color:#10584f; }
.ql-portal__links span { font-size:.85rem; line-height:1.5; }
.ql-related-practice { display:grid; grid-template-columns:1.4fr 1fr; gap:24px; border:1px solid #cbded2; border-left:5px solid #398374; border-radius:12px; background:#f3f8f4; padding:24px; margin:20px 0 28px; }
.ql-related-practice h2 { font-size:1.4rem; margin:10px 0; }
.ql-related-practice p { color:#4c6560; line-height:1.65; margin:10px 0; }
.ql-links { display:grid; align-content:center; gap:12px; }
.ql-links a { color:#0d665b; font-weight:650; line-height:1.5; }
.ql-note { background:#fff9eb; border:1px solid #eddfb9; border-radius:12px; padding:22px 26px; margin:0 0 26px; color:#634d28; }
.ql-note strong { color:#4c391d; }
.ql-note p { font-size:.94rem; }
.ql-search { display:grid; gap:8px; max-width:620px; margin:28px 0 12px; font-weight:650; }
.ql-search input { width:100%; min-width:0; border:1px solid #bdcfca; border-radius:10px; padding:14px 16px; background:white; color:#183b36; }
.ql-page [data-ql-count] { color:#5d716e; font-size:.87rem; }
.ql-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:24px 0; }
.ql-card { min-width:0; display:flex; flex-direction:column; padding:24px; border:1px solid #d9e5df; background:#fff; border-radius:14px; box-shadow:0 4px 18px #173f3306; }
.ql-card__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; gap:10px; }
.ql-card__top>span:last-child { font-size:.63rem; letter-spacing:.09em; color:#637c72; font-weight:750; }
.ql-number { display:inline-grid; place-content:center; flex-shrink:0; width:42px; height:42px; background:#e9f3ee; color:#267158; font-weight:700; border-radius:10px; font-variant-numeric:tabular-nums; }
.ql-card h2 { font-size:1.2rem; margin:0 0 8px; }
.ql-card h2 a { text-decoration:none; }
.ql-card h2 a:hover { text-decoration:underline; }
.ql-card p { color:#526b63; font-size:.88rem; margin:0 0 24px; }
.ql-card__foot { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid #edf1ee; font-size:.78rem; }
.ql-card__foot>span { max-width:70%; color:#60776c; }
.ql-card__foot>a { white-space:nowrap; font-weight:700; }
.ql-jumps { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.ql-jumps button { background:white; color:#245f53; border:1px solid #c9ddd3; border-radius:24px; padding:10px 16px; font-size:.86rem; cursor:pointer; }
.ql-panel { background:white; border:1px solid #dbe6df; border-radius:14px; padding:28px; margin:22px 0; min-width:0; }
.ql-panel>h2 { margin-top:6px; }
.ql-panel li { margin:8px 0; padding-left:3px; }
.ql-panel ul { padding-left:22px; }
.ql-panel>summary { cursor:pointer; font-size:1rem; font-weight:700; line-height:1.5; color:#245b4d; }
.ql-panel[open]>summary { margin-bottom:22px; }
.ql-document-part { display:flex; gap:20px; }
.ql-document-part>div { min-width:0; flex:1; }
.ql-document-part h3 { margin-top:6px; }
.ql-example { padding:20px 22px; margin:18px 0; border-left:4px solid #4b9275; background:#f0f7f1; border-radius:0 10px 10px 0; }
.ql-example>strong,.ql-example>span { color:#2d7454; font-size:.78rem; letter-spacing:.03em; }
.ql-example h4 { margin:8px 0 10px; font-size:1.2rem; }
.ql-example p { margin:8px 0 0; }
.ql-mistake { color:#815529; font-size:.88rem; }
.ql-full-example { border-top:5px solid #27694f; }
.ql-full-example h3 { border-bottom:1px solid #e2e9e3; padding-bottom:10px; margin-top:28px; }
.ql-document-meta { display:flex; gap:25px; flex-wrap:wrap; background:#f7f9f6; padding:18px; border-radius:8px; }
.ql-document-meta dt { font-size:.76rem; color:#627263; font-weight:650; }
.ql-document-meta dd { margin:4px 0 0; font-size:.9rem; }
.ql-downloads { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:18px 0 8px; }
.ql-downloads .button { text-align:center; white-space:normal; line-height:1.5; min-height:44px; }
.ql-downloads .button--primary { color:white; }
.ql-field { margin:26px 0; }
.ql-field label { display:grid; gap:8px; margin-bottom:10px; }
.ql-field label span { font-size:.9rem; color:#607064; line-height:1.6; }
.ql-field textarea { display:block; width:100%; resize:vertical; background:#fcfdfb; border:1px solid #bdcfc1; border-radius:9px; color:#253f30; padding:14px; line-height:1.65; min-height:125px; }
.ql-field details { font-size:.9rem; margin-top:10px; color:#456a4d; }
.ql-field summary { cursor:pointer; }
.ql-field details p { background:#f1f6ee; border-radius:8px; padding:14px; }
.ql-question { border:1px solid #d2dfd5; border-radius:10px; margin:20px 0; padding:18px; }
.ql-question legend { font-weight:700; line-height:1.6; padding:0 8px; }
.ql-question label { display:flex; gap:10px; align-items:start; line-height:1.6; padding:10px 0; cursor:pointer; }
.ql-question input { flex-shrink:0; margin-top:6px; width:17px; height:17px; accent-color:#257558; }
.ql-question p { padding:14px; background:#f1f7f0; border-radius:8px; }
.ql-reading-lesson .ql-panel>p,.ql-reading-lesson .ql-document-part p { max-width:78ch; }
.ql-reading-lesson .ql-full-example p { white-space:pre-line; }
.ql-objective-test { border-top:4px solid #397b59; }
.ql-objective-test .ql-question label { min-height:44px; border-radius:6px; padding:10px 8px; }
.ql-objective-test .ql-question label:has(input:checked) { background:#eaf4ea; }
.ql-objective-test .ql-question label:focus-within { outline:2px solid #397b59; outline-offset:2px; }
.ql-footer { padding:22px 0; margin-top:28px; border-top:1px solid #d8e4da; }
.ql-footer p { font-size:.85rem; color:#647368; }
.ql-empty { text-align:center; background:#f2f7f2; border-radius:12px; padding:35px 20px; }
.ql-case { background:#edf5ef; border:1px solid #ccdfd0; border-radius:14px; padding:28px; margin:24px 0; }
.ql-case h2 { margin-top:12px; }
.ql-case__data { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:16px; margin-top:20px; border-top:1px solid #c9ddcb; }
.ql-case__data strong { color:#36714d; font-size:.85rem; }
.ql-case__data p { font-size:.95rem; }
.ql-video-section { margin:34px 0; }
.ql-video { display:block; width:100%; aspect-ratio:16/9; background:#143c36; border-radius:14px; margin-top:22px; }
.ql-video-tools { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:14px; font-size:.85rem; line-height:1.6; padding:14px 0; }
.ql-video-tools label { display:flex; align-items:center; gap:8px; }
.ql-video-tools select { border:1px solid #bccfc4; border-radius:6px; background:#fff; padding:8px; }
.ql-chapters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.ql-chapters button { display:flex; align-items:center; gap:12px; text-align:left; background:#f5f8f3; color:#315a3f; border:1px solid #dce7d9; padding:14px; border-radius:9px; cursor:pointer; line-height:1.5; }
.ql-chapters button span { font-variant-numeric:tabular-nums; color:#357956; font-weight:700; }
.ql-media-error { padding:16px; background:#fff0dc; border-radius:8px; color:#775222; }
.ql-document-player .ql-video::cue { color:#fff; background:rgba(6,30,27,.92); font-family:Arial,sans-serif; font-size:clamp(14px,2.2vw,32px); }
.ql-document-player .ql-video-tools .button { font-size:.83rem; min-height:40px; padding:8px 13px; }
.ql-scene-current { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px 22px; padding:15px 19px; background:#eef6f0; border:1px solid #d0e3d5; border-radius:10px; }
.ql-scene-current p { margin:0; font-size:.89rem; font-weight:650; flex:1 1 250px; }
.ql-scene-current a { font-size:.82rem; font-weight:650; }
.ql-scene-chapters button { padding:12px; gap:13px; border:2px solid #dce7d9; }
.ql-scene-chapters button[aria-current="step"] { border-color:#216b52; background:#e4f2e7; box-shadow:inset 3px 0 #216b52; }
.ql-scene-chapters img { display:block; width:100px; max-width:33%; height:auto; aspect-ratio:16/9; object-fit:contain; border:1px solid #d6e2d6; border-radius:5px; flex-shrink:0; background:#edf4ee; }
.ql-scene-chapters .ql-chapter-label { display:grid; gap:5px; color:#284d37; font-size:.85rem; line-height:1.5; font-weight:600; min-width:0; }
.ql-scene-chapters .ql-chapter-label>span { font-size:.78rem; color:#357956; }
.ql-demo__head { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin:20px 0; }
.ql-demo__head p { font-size:.85rem; font-weight:700; color:#4f735b; }
.ql-demo__head progress { flex:1; max-width:300px; min-width:100px; height:8px; accent-color:#348058; }
.ql-demo__controls { display:flex; justify-content:space-between; gap:12px; margin:24px 0; }
.ql-demo__controls button { white-space:normal; }
.ql-demo__controls button:disabled { opacity:.5; cursor:default; }
.ql-demo__controls .button--primary { color:#fff; }
.ql-filled { display:grid; gap:12px; }
.ql-filled>div { border-bottom:1px solid #dae6d9; padding-bottom:12px; }
.ql-filled dt { font-weight:700; color:#326143; }
.ql-filled dd { margin:8px 0 0; white-space:pre-line; }
.ql-table-wrap { overflow-x:auto; max-width:100%; margin:20px 0; border:1px solid #dce6d9; border-radius:10px; }
.ql-table-wrap table { border-collapse:collapse; width:100%; font-size:.88rem; min-width:650px; }
.ql-table-wrap caption { text-align:left; padding:16px; background:#f3f7ef; font-weight:700; color:#315740; }
.ql-table-wrap th,.ql-table-wrap td { padding:14px; border-bottom:1px solid #dce6d9; vertical-align:top; text-align:left; min-width:115px; max-width:330px; }
.ql-table-wrap thead th { background:#e9f2e7; color:#2a613b; font-size:.82rem; }
.ql-table-wrap tbody th { background:#f8faf6; font-weight:650; }
.ql-page section[id] { scroll-margin-top:100px; }
.ql-page [data-ql-save] { font-size:.88rem; color:#53684e; }
.ql-study-overview { border:1px solid #cddfd5; border-radius:14px; padding:26px; background:#eef6f0; margin:0 0 24px; }
.ql-study-summary { display:grid; grid-template-columns:1.2fr 1fr; gap:32px; }
.ql-study-summary h2 { font-size:1.22rem; margin:0 0 6px; }
.ql-study-summary [data-ql-progress] { font-size:.87rem; color:#4b6858; }
.ql-study-summary progress { width:100%; height:10px; accent-color:#287453; }
.ql-study-counts { display:flex; flex-wrap:wrap; gap:24px; margin:18px 0 0; }
.ql-study-counts div { display:flex; flex-direction:column-reverse; gap:3px; }
.ql-study-counts dt { font-size:.76rem; color:#50685b; }
.ql-study-counts dd { font-size:1.45rem; font-weight:750; margin:0; line-height:1.2; font-variant-numeric:tabular-nums; }
.ql-resume { border-left:1px solid #c8ddce; padding-left:28px; align-content:center; }
.ql-resume h3 { margin:6px 0; }
.ql-resume p { font-size:.88rem; margin:8px 0 14px; }
.ql-resume a { font-weight:700; line-height:1.6; }
.ql-choosing { margin:22px 0; }
.ql-choosing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:24px 0; }
.ql-choosing-grid>div { border-left:3px solid #c8dcca; padding:0 0 0 18px; min-width:0; }
.ql-choosing-grid h3 { margin:0 0 8px; }
.ql-choosing-grid p { font-size:.9rem; }
.ql-choosing-grid .button { white-space:normal; height:auto; line-height:1.5; font-size:.82rem; text-align:left; }
.ql-comparison { border-top:1px solid #d9e4dc; padding-top:10px; }
.ql-comparison article+article { border-top:1px solid #e2eae4; margin-top:22px; }
.ql-comparison p { font-size:.9rem; }
.ql-catalog-controls { display:grid; grid-template-columns:1.2fr 1fr 1fr; align-items:start; gap:18px; margin:28px 0 0; }
.ql-catalog-controls>label { display:grid; gap:9px; font-size:.86rem; font-weight:650; min-width:0; }
.ql-catalog-controls .ql-search { margin:0; max-width:none; }
.ql-catalog-controls input,.ql-catalog-controls select { width:100%; min-width:0; padding:13px 12px; min-height:48px; border:1px solid #bdcfca; border-radius:9px; background:#fff; color:#183b36; font-size:.9rem; }
.ql-catalog-controls>p { grid-column:1/-1; margin:0; padding:14px 18px; border-left:3px solid #417b58; background:#edf5ee; font-size:.9rem; }
.ql-filter-result { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.ql-filter-result .button { font-size:.82rem; padding:8px 12px; min-height:40px; }
.ql-kit { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px; margin:24px 0; border:1px solid #bfd9c8; background:#eff7f1; border-radius:10px; }
.ql-kit h3 { margin:0 0 8px; }
.ql-kit p { margin:0; font-size:.88rem; }
.ql-kit>a { flex-shrink:0; color:#fff; white-space:normal; text-align:center; line-height:1.5; }
.ql-application-count { padding:10px 14px; background:#f0f6ef; border-radius:8px; font-size:.85rem; color:#416347; }
@media(max-width:1150px) { .ql-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) {
  .ql-grid,.ql-portal,.ql-related-practice,.ql-case__data,.ql-chapters { grid-template-columns:1fr; }
  .ql-heading { padding-top:24px; }
  .ql-heading h1 { font-size:2rem; }
  .ql-card,.ql-portal,.ql-related-practice,.ql-panel,.ql-case { padding:20px; }
  .ql-panel { border-radius:11px; }
  .ql-document-part { gap:12px; }
  .ql-document-part>.ql-number { width:30px; height:30px; border-radius:7px; font-size:.8rem; }
  .ql-example { padding:14px; }
  .ql-document-part .ql-example { margin-left:-42px; }
  .ql-card__top { margin-bottom:18px; }
  .ql-note { padding:18px; }
  .ql-page h2 { font-size:1.3rem; }
  .ql-tabs a { font-size:.81rem; padding:9px 11px; }
  .ql-jumps { gap:8px; }
  .ql-jumps button { font-size:.79rem; padding:9px 12px; }
  .ql-meta { gap:8px; }
  .ql-meta>span { font-size:.74rem; }
  .ql-downloads { align-items:stretch; }
  .ql-downloads>.button { width:100%; justify-content:center; }
  .ql-demo__controls .button { padding:10px; font-size:.8rem; }
  .ql-portal__links a { padding:16px; }
  .ql-video { border-radius:9px; }
  .ql-study-summary,.ql-choosing-grid,.ql-catalog-controls { grid-template-columns:1fr; }
  .ql-study-overview { padding:20px; }
  .ql-study-summary { gap:20px; }
  .ql-resume { border-left:0; border-top:1px solid #c8ddce; padding:18px 0 0; }
  .ql-study-counts { gap:20px; }
  .ql-catalog-controls { gap:16px; }
  .ql-kit { display:block; padding:18px; }
  .ql-kit>a { display:flex; justify-content:center; margin-top:18px; width:100%; }
}
@media(prefers-reduced-motion:reduce) { .ql-page * { scroll-behavior:auto!important; } }

/* Individual artwork for reading lessons and the initial state of real videos. */
.ql-cover { position:relative; isolation:isolate; aspect-ratio:16/9; overflow:hidden; border-radius:14px; background:#073c40; color:#fff8e4; }
.ql-cover--reading { margin:26px 0 0; }
.ql-cover__fallback { position:absolute; inset:0; display:grid; align-content:center; padding:8%; background:linear-gradient(135deg,#073c40,#145a5b); }
.ql-cover__fallback p { max-width:24ch; font-weight:800; line-height:1.15; font-size:clamp(1.15rem,3.5vw,2.8rem); }
.ql-cover>img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; opacity:0; }
.ql-cover.is-ready>img { opacity:1; }
.ql-cover__identity { position:absolute; top:0; left:0; right:0; padding:12px 16px; display:flex; gap:12px; justify-content:space-between; align-items:center; font-size:clamp(.58rem,1vw,.9rem); letter-spacing:.035em; background:linear-gradient(#073c40b3,transparent); pointer-events:none; }
.ql-cover__identity strong { white-space:nowrap; color:#fff8e4; }
.ql-cover__identity strong span { color:#d6ef31; }
.ql-cover__identity>span { text-align:right; }
.ql-video-stage { position:relative; margin-top:22px; isolation:isolate; }
.ql-video-stage>.ql-video { margin-top:0; }
.ql-video-stage>.ql-cover { position:absolute; inset:0; z-index:2; }
.ql-cover__play { position:absolute; inset:0; width:100%; height:100%; border:0; background:transparent; padding:0; cursor:pointer; color:#073c40; border-radius:inherit; }
.ql-cover__play-label,.ql-cover__reading-label { position:absolute; right:14px; bottom:14px; display:inline-flex; align-items:center; gap:9px; padding:12px 16px; border-radius:9px; background:#d6ef31; font-size:clamp(.75rem,1.1vw,.95rem); font-weight:800; line-height:1.2; box-shadow:0 2px 12px #052d3270; }
.ql-cover__play-label { min-height:46px; }
.ql-cover__play:hover .ql-cover__play-label { background:#e8ff67; }
.ql-cover__play[aria-busy=true] .ql-cover__play-label { background:#f4f7d8; }
.ql-cover__play:focus-visible { outline:4px solid #d6ef31; outline-offset:-5px; }
.ql-cover__reading-label { background:#073c40e8; color:#fff8e4; font-size:.7rem; letter-spacing:.06em; padding:8px 11px; }
@media(max-width:600px) {
 .ql-cover { border-radius:9px; }
 /* Page branding and lesson headings already identify the mobile view. */
 .ql-cover__identity { display:none; }
 .ql-cover__play-label { right:8px; bottom:8px; padding:10px 12px; }
 .ql-cover__reading-label { right:8px; bottom:8px; padding:5px 8px; font-size:.57rem; }
}

/* Photographic document lessons; controls use the main course's visual system. */
.qdc-section { margin:28px 0 32px; }
.qdc-player { margin:0; }
.qdc-player audio { display:none; }
.qdc-picture { position:relative; aspect-ratio:16/9; container-type:inline-size; isolation:isolate; overflow:hidden; background:#103b3c; }
.qdc-picture>img { display:block; width:100%; height:100%; object-fit:contain; }
.qdc-picture>[data-qdc-overlay] { position:absolute; inset:0; pointer-events:none; }
.qdc-picture>.ql-cover { position:absolute; inset:0; z-index:5; border-radius:0; }
.qdc-picture>.learning-scene__badge { top:12px; left:12px; z-index:2; background:#073c40db; color:#fff; }
.qdc-scene-fallback { position:absolute; inset:0; padding:12%; background:#103b3c; color:white; }
.qdc-scene-fallback strong { font-size:clamp(1rem,3vw,2rem); }
.qdc-paper { position:absolute; left:22%; top:20%; width:56%; height:52%; overflow:hidden; color:#103b3c; display:flex; flex-direction:column; gap:1.5cqw; font-family:Arial,sans-serif; }
.qdc-paper>strong { font-size:2.55cqw; line-height:1.12; letter-spacing:-.03em; }
.qdc-paper>div { display:grid; gap:.8cqw; }
.qdc-paper-field { display:grid; grid-template-columns:1fr 2fr; gap:1cqw; border-top:1px solid #9ab8ad; padding:.6cqw .7cqw; font-size:1.5cqw; line-height:1.3; }
.qdc-paper-field.is-current { background:#d5eb72ab; border-left:3px solid #0f7772; }
.qdc-paper-field b { font-size:1.35cqw; }
.qdc-captions { pointer-events:none; z-index:3; bottom:4%!important; left:5%!important; right:5%!important; width:90%!important; background:transparent!important; text-align:center; color:white; text-shadow:0 2px 5px #000,0 0 2px #000; }
.qdc-captions .caption-active { display:block; font-size:clamp(13px,2.1cqw,28px); font-weight:700; line-height:1.25; }
.qdc-captions .caption-context { display:block; opacity:.5; font-size:clamp(12px,1.5cqw,20px); line-height:1.25; }
.qdc-progress { position:relative; margin:0; line-height:0; }
.qdc-progress input { display:block; width:100%; height:20px; margin:0; cursor:pointer; accent-color:#c8f24f; position:relative; z-index:1; }
.qdc-markers { position:absolute; inset:0; pointer-events:none; z-index:2; }
.qdc-markers i { position:absolute; top:8px; height:4px; width:1px; background:#07535b; opacity:.65; }
.qdc-player .learning-player__controls { padding:16px 20px 18px; }
.learning-cinema .qdc-player .learning-player__transport .learning-control,.learning-cinema .qdc-player .learning-play { min-width:44px; min-height:44px; }
.qdc-player .learning-player__cue select { max-width:100%; }
.qdc-player .learning-player__speed { min-width:170px; }
.qdc-player [hidden] { display:none!important; }
.qdc-notices { padding:0 20px; background:#f1f7ed; color:#173b35; }
.qdc-notices p { margin:0; padding:14px 0; font-size:.9rem; }
.qdc-notices:empty { display:none; }
.qdc-notices button { color:#095d5b; font-weight:700; text-decoration:underline; background:transparent; border:0; min-height:44px; padding:6px 10px; cursor:pointer; }
.qdc-scene-reading { background:#f3f6ee; padding:0 20px 20px; color:#183c36; }
.qdc-scene-reading summary { padding:16px 0 0; font-weight:700; cursor:pointer; min-height:44px; }
.qdc-scene-reading h3 { margin:18px 0 12px; }
.qdc-data { margin:16px 0; }
.qdc-data>div { display:grid; grid-template-columns:minmax(110px,1fr) 3fr; gap:18px; padding:12px 0; border-top:1px solid #c5d9cc; }
.qdc-data dt { font-weight:700; }
.qdc-data dd { margin:0; }
.qdc-transcript { margin-top:22px; }
.qdc-downloads { display:flex; flex-wrap:wrap; gap:12px 24px; font-size:.85rem; color:#426252; margin:14px 0 0; }
.qdc-downloads a { font-weight:700; color:#095d5b; }
.learning-live-dialog .qdc-player { width:100%; }
.learning-live-dialog .qdc-section h2 { display:none; }
@media(max-width:680px) {
 .qdc-player .learning-player__controls { padding:12px; }
 .qdc-player .learning-player__transport { gap:10px; }
 .qdc-player .learning-player__speed { min-width:0; }
 .qdc-paper { left:22%; top:20%; width:56%; height:54%; gap:1cqw; }
 .qdc-paper>strong { font-size:3.2cqw; }
 .qdc-paper-field { grid-template-columns:1fr; font-size:2.8cqw; padding:1cqw; gap:.8cqw; }
 .qdc-paper-field:not(.is-current) { display:none; }
 .qdc-paper-field b { font-size:3cqw; }
 .qdc-paper-field span { font-size:2.5cqw; }
 .qdc-captions .caption-context { font-size:12px; }
 .qdc-captions .caption-active { font-size:14px; }
 .qdc-data>div { display:block; }
 .qdc-data dt { margin-bottom:6px; }
 .qdc-picture>.learning-scene__badge { top:6px; left:6px; font-size:.65rem; padding:4px 6px; }
}

.qdc-stage { position:relative; }
.qdc-player:not(.has-started) .qdc-captions { visibility:hidden; }
@media(max-width:680px) {
 .qdc-player .qdc-captions { position:static!important; width:100%!important; padding:10px 12px; min-height:100px; box-sizing:border-box; background:#073f46!important; }
 .qdc-player:not(.has-started) .qdc-captions { display:none; }
 .qdc-player .qdc-paper { top:18%; height:64%; gap:2cqw; }
 .qdc-player .qdc-paper>strong { font-size:3.7cqw; }
 .qdc-player .qdc-paper-field b { font-size:3.5cqw; }
 .qdc-player .qdc-paper-field span { font-size:3.3cqw; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
}
.qdc-player .qdc-paper { left:var(--paper-x); top:var(--paper-y); width:var(--paper-w); height:var(--paper-h); }
.qdc-paper--compact .qdc-paper-field:not(.is-current) { display:none; }
@media(max-width:680px) { .qdc-player .qdc-paper { height:var(--paper-mobile-h); } }

/* Each narrated explanation has a readable, source-grounded teaching object.
   Natural height on small screens keeps the actual example visible. */
.qdc-picture.is-teaching { aspect-ratio:auto; background:#e9eee4; }
.qdc-picture [data-qdc-teaching] { position:relative; width:100%; }
.qdc-player .qdc-captions { position:static!important; width:100%!important; padding:12px 20px; min-height:100px; box-sizing:border-box; background:#073f46!important; text-shadow:none; }
.qdc-player:not(.has-started) .qdc-captions { display:none; }
.qdc-player .qdc-captions .caption-active { font-size:clamp(14px,1.6vw,21px); }
.qdc-player .qdc-captions .caption-context { font-size:clamp(12px,1.25vw,16px); }
.qdt { box-sizing:border-box; min-height:56.25cqw; display:flex; flex-direction:column; gap:2.4cqw; padding:3.2cqw 4cqw; color:#153b3d; background:#f5f4ec; text-align:left; font-size:clamp(14px,1.8cqw,20px); line-height:1.4; overflow-wrap:anywhere; }
.qdt * { box-sizing:border-box; }
.qdt header { display:block; padding:0; background:transparent; border:0; }
.qdt .qdt-eyebrow { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 20px; font-size:clamp(11px,1.25cqw,14px); font-weight:700; letter-spacing:.04em; color:#44605a; margin:0 0 1.1cqw; }
.qdt h3 { color:#153b3d; font-size:clamp(22px,3.2cqw,36px); line-height:1.12; font-weight:750; letter-spacing:-.035em; margin:0; max-width:100%; }
.qdt .qdt-lead { color:#4b625e; font-size:clamp(13px,1.6cqw,18px); line-height:1.4; margin:1cqw 0 0; max-width:100%; }
.qdt-body { margin:auto 0; min-width:0; }
.qdt ol,.qdt dl { padding:0; margin:0; }
.qdt li { list-style:none; margin:0; }
.qdt dt,.qdt strong { font-weight:750; }
.qdt dd,.qdt li p { margin:0; }
.qdt footer { display:flex; gap:10px; align-items:flex-start; margin:0; padding:1.4cqw 0 0; border-top:1px solid #b7c9be; background:none; color:#34564e; font-size:clamp(13px,1.55cqw,18px); line-height:1.4; }
.qdt footer>span { font-weight:800; color:#07535b; }
.qdt footer p { margin:0; max-width:100%; }
.qdt-document { background:#fffef8; box-shadow:0 8px 20px #17382e0a; border:1px solid #becbbb; border-top:5px solid #07535b; }
.qdt-document>div { padding:1.35cqw 2cqw; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.4fr); gap:1.5cqw; }
.qdt-document>div+div { border-top:1px solid #d4ddd0; }
.qdt-document>div.is-focus { background:#e5f1b4; box-shadow:inset 4px 0 #07535b; }
.qdt-document dt { color:#45635b; font-size:.85em; }
.qdt-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.6cqw; }
.qdt-compare>div { padding:2cqw; border:1px solid #b9ceca; border-top:5px solid #07535b; background:#e6f0e9; }
.qdt-compare>div:nth-child(even) { border-color:#d5c2a3; border-top-color:#8a592b; background:#f4ebd9; }
.qdt-compare>div:last-child:nth-child(odd) { grid-column:1/-1; }
.qdt-compare dt { font-size:1.08em; padding-bottom:1cqw; line-height:1.25; }
.qdt-flow { display:grid; grid-template-columns:repeat(var(--qdt-count),minmax(0,1fr)); gap:2.5cqw; }
.qdt-flow>li { position:relative; padding:1.5cqw; background:#e4ede0; border-top:4px solid #07535b; }
.qdt-flow>li+li:before { content:'→'; position:absolute; left:-2.6cqw; top:50%; transform:translateY(-50%); width:2.6cqw; color:#07535b; text-align:center; font-size:clamp(16px,2.5cqw,28px); }
.qdt-step { display:inline-grid; place-items:center; min-width:30px; height:30px; padding:0 6px; background:#07535b; color:#fff; font-size:12px; font-weight:750; }
.qdt-flow .qdt-step { margin-bottom:1.2cqw; }
.qdt-flow strong { display:block; font-size:.95em; line-height:1.25; margin-bottom:.8cqw; }
.qdt-flow p { font-size:.9em; }
.qdt-timeline>li { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr); gap:1.6cqw; padding:1.2cqw 0; }
.qdt-timeline>li+li { border-top:1px solid #d3ddd0; }
.qdt-timeline>li:before { content:''; position:absolute; top:0; bottom:0; left:14px; width:2px; background:#8fb4a6; }
.qdt-timeline .qdt-step { position:relative; z-index:1; border-radius:50%; }
.qdt-timeline>li>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:1.5cqw; align-items:center; }
.qdt-timeline strong { color:#07535b; }
.qdt-roles { border-top:3px solid #07535b; }
.qdt-roles>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:3cqw; padding:1.8cqw 0; border-bottom:1px solid #b7c9be; }
.qdt-roles dt { position:relative; color:#07535b; padding-right:22px; }
.qdt-roles dt:after { content:'→'; position:absolute; right:0; top:0; }
.qdt-review,.qdt-checklist { display:grid; gap:1.1cqw; }
.qdt-review>li,.qdt-checklist>li { display:flex; gap:1.4cqw; align-items:flex-start; border:1px solid #c6d5c5; padding:1.3cqw; background:#edf2e6; }
.qdt-review strong { display:none; }
.qdt-checklist strong { display:block; margin-bottom:.2cqw; color:#07535b; }
.qdt-review .qdt-step,.qdt-checklist .qdt-step { flex-shrink:0; }
.qdt-evidence>li { display:grid; grid-template-columns:30px minmax(0,1fr); gap:1.5cqw; padding:1.4cqw 0; border-bottom:1px solid #bdcec1; }
.qdt-evidence .qdt-step { background:#d5e9db; color:#07535b; border-radius:50%; }
.qdt-evidence strong { color:#07535b; display:block; margin-bottom:.3cqw; }
.qdt-evidence>li:last-child { border-bottom:0; }
.qdt-branch-root { width:fit-content; margin:0 auto 2.5cqw; border:1px solid #9ebbb0; background:#dfece0; padding:.7cqw 2cqw; font-size:.85em; }
.qdt-decision dl { display:grid; grid-template-columns:repeat(var(--qdt-count),minmax(0,1fr)); gap:2cqw; padding-top:2cqw; border-top:2px solid #8baba0; }
.qdt-decision dl>div { position:relative; padding:1.8cqw; background:#e4ede0; border-left:3px solid #07535b; }
.qdt-decision dl>div:before { content:'↓'; position:absolute; top:-2.4cqw; left:50%; line-height:1; font-size:1em; color:#07535b; }
.qdt-decision dt { color:#07535b; line-height:1.2; padding-bottom:1cqw; }
.qdt-decision dl>div:nth-child(2) { background:#f1e9d9; border-color:#8a592b; }
.qdt-return { border-bottom:2px solid #8baba0; color:#07535b; padding:.6cqw; margin:1.5cqw 0 0; text-align:right; }
.qdt-measure { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:4cqw; align-items:center; }
.qdt-dots { display:grid; grid-template-columns:repeat(var(--qdt-columns),minmax(0,1fr)); gap:.45cqw; max-width:30cqw; }
.qdt-dots i { aspect-ratio:1; display:block; border:1px solid #8fac9f; background:#e0e7d7; border-radius:3px; }
.qdt-dots i.is-counted { background:#07535b; border-color:#07535b; }
.qdt-quantity>p { margin:1.2cqw 0 0; font-size:.85em; }
.qdt-equation { display:flex; align-items:center; flex-wrap:wrap; gap:1cqw; color:#07535b; font-size:clamp(21px,3.2cqw,40px); }
.qdt-equation strong { font-size:1.2em; background:#d6ed9a; padding:.3cqw .8cqw; }
.qdt-fraction { display:flex; flex-direction:column; text-align:center; }
.qdt-fraction>b { padding:.2cqw 1.2cqw; }
.qdt-fraction>b+b,.qdt-fraction>div+div { border-top:2px solid #07535b; }
.qdt-calculation dl { margin-top:2cqw; font-size:.85em; }
.qdt-calculation dl>div+div { margin-top:1cqw; }
.qdt-calculation dt { color:#07535b; }
.qdt-formula { display:flex; align-items:center; justify-content:center; gap:3cqw; padding:1cqw; }
.qdt-formula .qdt-fraction { max-width:70%; }
.qdt-formula .qdt-fraction>div { display:flex; flex-direction:column; gap:1cqw; padding:2cqw; }
.qdt-formula .qdt-fraction b { font-size:1.25em; color:#07535b; }
.qdt-formula>strong { font-size:clamp(22px,3cqw,36px); white-space:nowrap; }
@container(max-width:640px) {
 .qdt { padding:20px 16px; gap:18px; min-height:0; font-size:14px; }
 .qdt .qdt-eyebrow { font-size:10px; margin-bottom:10px; }
 .qdt h3 { font-size:23px; }
 .qdt .qdt-lead { font-size:13px; margin-top:8px; }
 .qdt footer { padding-top:12px; font-size:13px; }
 .qdt-document>div { grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); gap:10px; padding:11px; }
 .qdt-document dt { font-size:12px; }
 .qdt-compare { grid-template-columns:1fr; gap:10px; }
 .qdt-compare>div { padding:13px; }
 .qdt-compare dt { padding-bottom:7px; font-size:15px; }
 .qdt-flow { grid-template-columns:1fr; gap:20px; }
 .qdt-flow>li { display:flex; gap:12px; padding:12px; border-top:0; border-left:3px solid #07535b; }
 .qdt-flow .qdt-step { flex-shrink:0; margin:0; }
 .qdt-flow strong { font-size:14px; margin-bottom:4px; }
 .qdt-flow p { font-size:14px; }
 .qdt-flow>li+li:before { content:'↓'; top:-18px; left:14px; transform:none; width:22px; line-height:18px; font-size:18px; }
 .qdt-timeline>li { gap:12px; padding:12px 0; }
 .qdt-timeline>li>div { display:block; }
 .qdt-timeline p { margin-top:4px; }
 .qdt-roles>div { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:24px; padding:13px 0; }
 .qdt-roles dt:after { right:0; }
 .qdt-review,.qdt-checklist { gap:9px; }
 .qdt-review>li,.qdt-checklist>li { gap:10px; padding:10px; }
 .qdt-evidence>li { gap:12px; padding:12px 0; }
 .qdt-evidence strong { margin-bottom:5px; }
 .qdt-decision dl { grid-template-columns:1fr; gap:14px; padding-top:0; border-top:0; padding-left:14px; border-left:2px solid #8baba0; }
 .qdt-decision dl>div { padding:13px; }
 .qdt-decision dl>div:before { content:'→'; left:-19px; top:14px; }
 .qdt-decision dt { padding-bottom:7px; }
 .qdt-branch-root { margin:0 0 12px; padding:6px 10px; }
 .qdt-return { padding:8px 0; margin-top:12px; }
 .qdt-measure { grid-template-columns:1fr; gap:18px; }
 .qdt-quantity { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; align-items:center; }
 .qdt-dots { max-width:none; gap:3px; }
 .qdt-quantity>p { font-size:13px; margin:0; }
 .qdt-equation { justify-content:center; gap:10px; font-size:30px; }
 .qdt-equation strong { padding:3px 7px; }
 .qdt-fraction>b { padding:0 14px; }
 .qdt-calculation dl { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin-top:14px; font-size:13px; }
 .qdt-calculation dl>div+div { margin-top:0; }
 .qdt-formula { padding:0; gap:12px; }
 .qdt-formula .qdt-fraction>div { gap:8px; padding:14px 5px; }
 .qdt-formula>strong { font-size:22px; }
}
