.academy-main:has(.cw-focus-shell){max-width:1320px;padding-left:50px;padding-right:50px}
.cw-focus-shell{margin:24px 0 48px;min-width:0}
.cw-focus-shell .cw-header>div:first-child{flex:1 1 320px;min-width:0}
.cw-focus-shell .cw-header h1{overflow-wrap:anywhere}
.cw-focus-shell .cw-tabs{align-items:center}
.cw-focus-shell .cw-tabs>a{display:inline-flex;align-items:center;padding:12px 0;border-bottom:3px solid transparent;line-height:inherit}
@media(max-width:1000px){.academy-main:has(.cw-focus-shell){padding-left:30px;padding-right:30px}}
@media(max-width:700px){.academy-main:has(.cw-focus-shell){padding-left:20px;padding-right:20px}}
.cx-workspace-back{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-bottom:28px}
.cw-focus-shell .manage-body h1{font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:normal}
.cw-focus-shell .cw-editor-layout{grid-template-columns:minmax(200px,250px) minmax(0,1fr)}
.cx-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 28px}
.cx-filters .button{font-size:.8rem;padding:8px 14px}
.cx-filters [aria-current]{background:var(--accent);color:var(--ink);border-color:var(--green)}
.cx-catalog{grid-template-columns:repeat(auto-fill,minmax(min(265px,100%),1fr));align-items:stretch}
.manage-body .card.cx-course-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin-bottom:0}
.cx-course-cover{display:flex;position:relative;justify-content:space-between;align-items:flex-end;gap:12px;padding:24px;height:auto;min-height:0;aspect-ratio:16/9;flex-shrink:0;background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green);overflow:hidden}
.cx-course-cover>img,.cx-participant-card .course-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cx-course-cover>img{object-fit:contain;object-position:center}
.cx-course-cover>span:last-child{font-size:.8rem}
.cx-cover-letter{font-size:3.5rem;line-height:1;font-weight:600}
.cx-course-copy{padding:22px;display:flex;flex:1;flex-direction:column;gap:10px;overflow-wrap:anywhere;min-width:0}
.cx-course-copy h2,.cx-course-copy p{margin:0}
.cx-course-copy h2 a:hover{text-decoration:underline}
.cx-course-copy>small{font-size:.75rem;color:var(--muted)}
.cx-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.cx-card-actions form{margin:0}
.cx-card-actions .button{padding:9px 12px}
.cx-text-button{border:0;background:transparent;color:var(--ink);padding:8px 0;font:inherit;font-size:.8rem;cursor:pointer}
.cx-state{display:inline-flex;gap:6px;align-items:center;align-self:flex-start;padding:4px 9px;border-radius:calc(var(--radius)/2);font-size:.75rem;background:var(--paper);border:1px solid var(--border)}
.cx-state svg{width:14px;height:14px}
.cx-state-active{background:color-mix(in srgb,var(--green) 12%,var(--surface));color:var(--green)}
.cx-state-preparation{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}
.manage-body .cx-new-card{padding:24px;display:flex;align-items:center;justify-content:center;margin:0;min-height:280px;border:2px dashed var(--border);background:var(--surface)}
.cx-new-card details{width:100%}
.cx-new-card summary{display:flex;align-items:center;flex-direction:column;gap:12px;list-style:none;padding:20px 0;cursor:pointer}
.cx-new-card summary::-webkit-details-marker{display:none}
.cx-plus{font-size:3rem;line-height:1;color:var(--green)}
.cx-new-card form{margin-top:18px}
.cx-structure-module{border-bottom:1px solid var(--border);margin-bottom:10px}
.cw-outline .cx-structure-module>summary{font-weight:600;padding:14px 3px}
.cx-editor-module-heading{margin:15px 0 24px}
.cx-editor-module-heading p{white-space:pre-line}
.cx-editor-tasks{display:grid;gap:14px}
.cx-editor-tasks-tiles{grid-template-columns:repeat(auto-fill,minmax(min(165px,100%),1fr))}
.cw-workspace .cx-editor-task{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:stretch;flex-direction:column;justify-content:space-between;white-space:normal;text-align:left;min-height:155px;padding:18px;gap:14px;overflow:hidden}
.cx-editor-task:hover{box-shadow:inset 0 0 0 1px var(--green)}
.cx-editor-task strong{font-size:1rem;font-weight:600}
.cx-editor-task small{font-size:.75rem;color:var(--muted)}
.cx-editor-task img{width:100%;height:90px;object-fit:cover;border-radius:calc(var(--radius)/2)}
.cx-editor-number{font-size:1.7rem;line-height:1.2;color:var(--green)}
.cx-editor-tasks-list{grid-template-columns:1fr}
.cw-workspace .cx-editor-tasks-list .cx-editor-task{min-height:60px;flex-direction:row;align-items:center;justify-content:flex-start}
.cx-editor-tasks-list .cx-editor-task small{margin-left:auto}
.cx-editor-tasks-list .cx-editor-task img{width:60px;height:45px}
.cx-media-picker{margin:15px 0;padding:12px 0;border-top:1px solid var(--border);min-width:0}
.cx-image-preview{display:block;width:100%;max-width:260px;max-height:150px;object-fit:contain;border-radius:calc(var(--radius)/2);margin:12px 0}
.cx-manual-award{margin:16px 0;border-top:1px solid var(--border);padding-top:10px}
.cw-workspace .cx-badge-editor{margin:12px 0;padding:12px 20px}
.cx-badge-editor>summary{font-weight:600;cursor:pointer}
.cx-progress{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:.85rem}
.cx-progress small{display:block;color:var(--muted);font-size:.75rem}
.cx-ring{width:68px;height:68px;flex-shrink:0;overflow:visible}
.cx-ring circle{fill:none;stroke-width:4}
.cx-ring .cx-track{stroke:var(--border)}
.cx-ring .cx-value{stroke:var(--green);transform:rotate(-90deg);transform-origin:22px 22px;stroke-linecap:round}
.cx-ring text{fill:var(--ink);font-family:inherit;font-size:8px;font-weight:600;stroke:none}
.cx-participant-card .cx-progress{margin:16px 0 24px}
.cx-participant-card .course-cover{overflow:hidden}
.cl-course-progress{width:auto;min-width:180px}
.cl-course-progress>span{display:block;margin-top:8px;font-size:.75rem}
.cx-rewards{display:flex;flex-wrap:wrap;align-items:center;gap:24px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin:12px 0 8px}
.cx-rewards small{display:block;color:var(--muted);font-size:.75rem}
.cx-points{display:flex;align-items:center;gap:10px}
.cx-points>svg{color:var(--green);width:27px;height:27px}
.cx-badge-collection{flex:1;min-width:min(230px,100%)}
.cx-badge-collection>summary{display:flex;align-items:center;gap:9px;cursor:pointer;flex-wrap:wrap}
.cx-badge-collection>summary::after{content:'Sammlung ansehen';font-size:.75rem;text-decoration:underline}
.cx-badge-collection[open]>summary::after{content:'Sammlung schließen'}
.cx-badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:15px;margin-top:16px}
.cx-badge-grid article{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;text-align:center;background:var(--paper);border-radius:calc(var(--radius)/2);overflow-wrap:anywhere}
.cx-badge-grid img,.cx-badge-grid article>svg{width:70px;height:70px;object-fit:contain;color:var(--green)}
.cx-badge-grid span{font-size:.8rem}
.cx-badge-pending{border:1px dashed var(--border)}
.cx-badge-pending>svg{opacity:.5}
.cx-next-goal{font-size:.8rem;max-width:300px}
.cx-overview{display:block}
.cx-overview .cl-heading{margin-bottom:20px}
.cx-course-intro{max-width:900px;margin-bottom:20px}
.cx-module-links{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}
.cx-module-links .button{font-size:.8rem;padding:9px 13px}
.cx-module-overview{scroll-margin-top:20px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:24px 0}
.cx-module-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.cx-module-heading h2{margin:0}
.cx-module-heading .cx-ring{width:54px;height:54px}
.cx-module-intro{display:flow-root;margin-bottom:22px}
.cx-module-image{float:right;width:clamp(100px,25%,240px);margin:0 0 16px 24px;font-size:.75rem}.cx-module-image img{display:block;width:100%;max-height:180px;object-fit:contain;border-radius:calc(var(--radius)/2)}.cx-module-image span{display:block;margin-top:5px}
.cx-tasks{display:grid;gap:16px;clear:both}
.cx-tasks-tiles{grid-template-columns:repeat(auto-fill,minmax(min(155px,100%),1fr))}
.cx-task{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--border);border-radius:calc(var(--radius)/1.4);overflow:hidden;min-width:0;color:var(--ink)}
.cx-task:hover{box-shadow:inset 0 0 0 1px var(--green)}
.cx-task-cover{display:flex;position:relative;min-height:100px;align-items:center;justify-content:center;color:var(--green);background:color-mix(in srgb,var(--green) 7%,var(--surface))}
.cx-task-cover>img{width:100%;height:110px;object-fit:contain;background:var(--surface)}
.cx-task-number{font-size:2.1rem;line-height:1}
.cx-task-badge{position:absolute;top:9px;right:9px;border-radius:50%;padding:5px;background:var(--surface);line-height:0}
.cx-task-badge svg{width:17px;height:17px}
.cx-task-copy{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1}
.cx-task-copy strong{font-size:.95rem;line-height:1.4;overflow-wrap:anywhere}
.cx-task-copy small{font-size:.75rem;color:var(--muted)}
.cx-task-status{display:flex;align-items:center;gap:6px;font-size:.75rem;margin-top:auto;color:var(--green)}
.cx-task-status svg{width:16px;height:16px}
.cx-task-done{border-color:var(--green)}
.cx-tasks-list{grid-template-columns:1fr}
.cx-tasks-list .cx-task{flex-direction:row;align-items:center}
.cx-tasks-list .cx-task-cover{width:72px;min-height:76px;flex-shrink:0}
.cx-tasks-list .cx-task-cover>img{height:76px}
.cx-tasks-list .cx-task-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px}
.cx-tasks-list .cx-task-copy strong{grid-column:1}
.cx-tasks-list .cx-task-status{grid-column:2;grid-row:1/3}
.cx-lock-message{display:flex;align-items:center;gap:10px}
.cl-player.cx-tile-lesson{display:block}
.cx-tile-lesson>.cl-navigation{display:none}
.cx-tile-lesson>.cl-lesson{max-width:920px;margin:24px auto;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.cx-return-module{margin-bottom:28px}
.cl-lesson .eyebrow{margin-top:15px;letter-spacing:1px}
.cx-choice-note{font-size:.85rem;line-height:1.7;flex-basis:100%}
.cx-choice-note svg{width:16px;height:16px;vertical-align:middle}
.cl-image-link{display:block}
.cl-image-link>.text-link{display:inline-block;margin-top:12px}
.cl-image-link:focus-visible{outline:3px solid var(--green);outline-offset:4px}
@media(max-width:800px){.cw-focus-shell .cw-editor-layout{grid-template-columns:190px minmax(0,1fr)}.cx-rewards{gap:16px}.cx-module-overview{padding:18px}}
@media(max-width:720px){.cw-focus-shell .cw-editor-layout{display:block}.cx-editor-tasks-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-module-image{float:none;display:block;width:100%;margin:0 0 16px}.cx-workspace-back{gap:14px}.cx-tile-lesson>.cl-lesson{padding:18px}.cx-editor-tasks-list .cx-editor-task{flex-wrap:wrap}.cx-editor-tasks-list .cx-editor-task small{margin-left:0}.cx-tasks-list .cx-task-copy{display:flex;flex-direction:column}.cx-ring{width:60px;height:60px}}
@media(max-width:380px){.cx-module-overview{padding:12px}.cx-tasks{gap:10px}.cx-task-copy{padding:10px}.cx-module-heading .cx-progress{width:100%}.cx-editor-tasks{gap:10px}.cw-workspace .cx-editor-task{padding:12px}}
@media(pointer:coarse){.cx-task,.cx-module-links a,.cx-filters a,.cx-new-card summary,.cx-text-button,.cx-badge-collection>summary{min-height:44px}}

/* Explicit course tile columns; legacy automatic layout stays unchanged. */
.cx-tasks-tiles.cx-columns-1,.cx-editor-tasks-tiles.cx-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-2,.cx-editor-tasks-tiles.cx-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-3,.cx-editor-tasks-tiles.cx-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-4,.cx-editor-tasks-tiles.cx-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-5,.cx-editor-tasks-tiles.cx-columns-5{grid-template-columns:repeat(5,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-6,.cx-editor-tasks-tiles.cx-columns-6{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1100px){.cx-tasks-tiles.cx-columns-1,.cx-editor-tasks-tiles.cx-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-2,.cx-editor-tasks-tiles.cx-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-3,.cx-editor-tasks-tiles.cx-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-4,.cx-editor-tasks-tiles.cx-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-5,.cx-editor-tasks-tiles.cx-columns-5{grid-template-columns:repeat(4,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-6,.cx-editor-tasks-tiles.cx-columns-6{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.cx-tasks-tiles.cx-columns-1,.cx-editor-tasks-tiles.cx-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-2,.cx-editor-tasks-tiles.cx-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-3,.cx-editor-tasks-tiles.cx-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-4,.cx-editor-tasks-tiles.cx-columns-4{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-5,.cx-editor-tasks-tiles.cx-columns-5{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-6,.cx-editor-tasks-tiles.cx-columns-6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.cx-tasks-tiles.cx-columns-1,.cx-editor-tasks-tiles.cx-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-2,.cx-editor-tasks-tiles.cx-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-3,.cx-editor-tasks-tiles.cx-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-4,.cx-editor-tasks-tiles.cx-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-5,.cx-editor-tasks-tiles.cx-columns-5{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-6,.cx-editor-tasks-tiles.cx-columns-6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.cx-tasks-tiles.cx-columns-1,.cx-editor-tasks-tiles.cx-columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-2,.cx-editor-tasks-tiles.cx-columns-2{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-3,.cx-editor-tasks-tiles.cx-columns-3{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-4,.cx-editor-tasks-tiles.cx-columns-4{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-5,.cx-editor-tasks-tiles.cx-columns-5{grid-template-columns:repeat(1,minmax(0,1fr))}.cx-tasks-tiles.cx-columns-6,.cx-editor-tasks-tiles.cx-columns-6{grid-template-columns:repeat(1,minmax(0,1fr))}}

.cx-module-image,.cl-image-link{position:relative}.cx-module-image>.image-zoom-icon,.cl-image-link>.image-zoom-icon{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:32px;height:32px;margin:0;border-radius:50%;background:rgba(255,255,255,.72);color:#173e35;border:1px solid rgba(23,62,53,.22);box-shadow:0 1px 4px #0002;pointer-events:none}.image-zoom-icon svg{display:block;width:18px;height:18px}.cx-module-image:hover>.image-zoom-icon,.cl-image-link:hover>.image-zoom-icon{background:rgba(255,255,255,.92)}

.cl-image-link{width:fit-content;max-width:100%}

/* Each task measures its own width. Both children span the grid by default. */
@supports(container-type:inline-size){
 .cx-tasks-tiles .cx-task{container-type:inline-size;container-name:course-task;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
 .cx-tasks-tiles .cx-task>.cx-task-cover,.cx-tasks-tiles .cx-task>.cx-task-copy{grid-column:1/-1;min-width:0}
 @media(min-width:721px){
  @container course-task (min-width:420px){
   .cx-tasks-tiles .cx-task>.cx-task-cover{grid-column:1;grid-row:1;min-height:154px}
   .cx-tasks-tiles .cx-task>.cx-task-copy{grid-column:2;grid-row:1;padding:18px;min-height:154px;justify-content:center}
   .cx-tasks-tiles .cx-task>.cx-task-cover>img{height:100%;min-height:154px;max-height:240px;object-fit:contain}
   .cx-tasks-tiles .cx-task>.cx-task-copy strong{font-size:1.02rem}
  }
 }
}
/* A narrow phone stays one column and keeps image above text. */
@media(max-width:600px){.cx-overview .cx-tasks-tiles{grid-template-columns:minmax(0,1fr)}}

/* My Academy covers keep the complete artwork in a responsive 16:9 frame. */
.cx-participant-card .course-cover{height:auto;min-height:0;aspect-ratio:16/9}
.cx-participant-card .course-cover>img{object-fit:contain;object-position:center}

.cx-heading-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cx-heading-actions>.button{flex:none}.cx-module-jump{margin:24px 0;padding:20px 22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--cw-soft)}.cx-module-jump h2{font-size:1.15rem;margin:0 0 14px}.cx-module-jump .cx-module-links{margin:0}
html body :is(.cx-task,.cx-editor-task).cx-tile-bg-soft{background:var(--block-soft-bg,var(--brand-soft,#eff4e9));--tile-ink:var(--block-soft-ink,var(--ink));color:var(--tile-ink)}html body :is(.cx-task,.cx-editor-task).cx-tile-bg-strong{background:var(--block-strong-bg,var(--green));--tile-ink:var(--block-strong-ink,var(--button-ink,#fff));color:var(--tile-ink)}html body :is(.cx-task,.cx-editor-task):is(.cx-tile-bg-soft,.cx-tile-bg-strong) :is(strong,small,.cx-task-copy,.cx-task-status,.cx-task-number){color:var(--tile-ink)}html body .cx-task:is(.cx-tile-bg-soft,.cx-tile-bg-strong) .cx-task-cover{background:transparent;color:var(--tile-ink)}@media(max-width:600px){.cx-heading-actions{gap:16px;width:100%;justify-content:space-between}.cx-module-jump{padding:16px}}

.challenge-collected{display:inline-flex;font-weight:650;padding:9px 14px;border:1px solid var(--border,#d5dadd);border-radius:9px;background:var(--surface,#fff)}.challenge-empty{padding:20px;border:1px dashed var(--border,#d5dadd);border-radius:10px;line-height:1.7}

/* Completion stays legible on all task tile backgrounds. */
html body .cx-task .cx-task-status{align-self:flex-start;justify-self:start;display:inline-flex;align-items:center;width:fit-content;gap:7px;padding:6px 10px;border:2px solid #4b5563;border-radius:8px;background:#fff;color:#374151;font-size:.85rem;font-weight:750;line-height:1.35}
html body .cx-task.cx-task-done{border:2px solid #14613b}
html body .cx-task.cx-task-done .cx-task-status{background:#14613b;border-color:#14613b;color:#fff}
html body .cx-task .cx-task-status svg{width:19px;height:19px;stroke-width:2.5;flex-shrink:0}
@media(max-width:480px){.cx-tasks-list .cx-task-copy{grid-template-columns:minmax(0,1fr)}.cx-tasks-list .cx-task-status{grid-column:1;grid-row:auto}}

/* Course-wide completion treatment; original teaser stays intact. */
.cx-completion-mark{position:absolute;display:block;z-index:3;pointer-events:none;line-height:0}
.cx-completion-mark svg{display:block;width:100%;height:100%;filter:drop-shadow(2px 3px 1px #07152b33)}
.cx-completion-comic .cx-task-done .cx-task-cover{background:#fff}
.cx-completion-comic .cx-task-done .cx-task-cover>img,.cx-completion-comic .cx-task-done .cx-task-number{opacity:.42}
.cx-completion-comic .cx-completion-mark{width:46%;aspect-ratio:1;left:50%;top:47%;transform:translate(-50%,-50%)}
.cx-completion-subtle .cx-completion-mark{width:36px;height:36px;right:6px;top:6px}
.cx-completion-subtle .cx-task-badge{right:auto;left:8px}
html body .cx-overview .cx-task.cx-task-done{border:1px solid var(--border)}
.cx-task-state-text{display:inline-flex;align-items:center;gap:7px;font-size:.85rem;font-weight:650;margin-top:auto;color:var(--ink)}
.cx-task-state-text svg{width:19px;height:19px;flex-shrink:0}
.cx-overview .cx-task-cover>img{height:auto;width:100%;aspect-ratio:3/2;object-fit:contain}
.cx-tasks-list{grid-template-columns:minmax(0,1fr)!important}
.cx-tasks-list .cx-task{align-items:stretch;min-height:0}
.cx-tasks-list .cx-task-cover{width:clamp(140px,22vw,220px);aspect-ratio:3/2;min-height:0;flex-shrink:0;align-self:center}
.cx-tasks-list .cx-task-cover>img{width:100%;height:100%;aspect-ratio:3/2;object-fit:contain}
.cx-tasks-list .cx-task-copy{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:20px 24px;min-width:0}
.cx-tasks-list .cx-task-copy strong{font-size:1.1rem}
.cx-tasks-list .cx-task-copy small{font-size:.9rem}
.cx-tasks-list .cx-task-state-text{margin-top:0}
@media(max-width:540px){.cx-tasks-list .cx-task-cover{width:116px}.cx-tasks-list .cx-task-copy{padding:12px;gap:7px}.cx-tasks-list .cx-task-copy strong{font-size:.95rem}.cx-tasks-list .cx-task-copy small{font-size:.78rem}.cx-completion-subtle .cx-completion-mark{width:29px;height:29px}}

/* Preserve the active course area on server-rendered management tabs. */
.cw-focus-shell .cw-tabs>a[aria-current="page"]{border-bottom-color:var(--green);color:var(--brand-deep,var(--green))}

/* Optional course functions and a compact settings hierarchy. */
.cw-tabs>[hidden]{display:none!important}.cw-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cw-feature-toggle{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.cw-feature-toggle input{margin-top:4px;flex-shrink:0}.cw-feature-toggle strong,.cw-feature-toggle small{display:block}.cw-feature-toggle small{margin-top:5px;line-height:1.5;color:var(--muted)}.cw-more-options{margin:16px 0}.cw-more-options>summary{font-weight:650;cursor:pointer}.cw-more-options>.card{box-shadow:none;margin-top:16px}.cw-settings>details{margin:14px 0}.cw-settings>details>summary{cursor:pointer;font-weight:600}@media(max-width:650px){.cw-feature-grid{grid-template-columns:1fr}}
.cw-feature-toggle>input[type="checkbox"]{width:20px;min-width:20px;max-width:20px;height:20px;flex:0 0 20px;padding:0;accent-color:var(--green)}.cw-feature-toggle>span{min-width:0;flex:1}

/* Keep real awards and mastered challenges in separate, expandable collections. */
.cx-rewards>.cx-badge-collection[open]{flex-basis:100%}
.cx-challenge-grid{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr))}
.cx-badge-grid .cx-challenge-earned>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:calc(var(--radius)/3)}
.cx-badge-grid .cx-challenge-earned{min-width:0;gap:10px}

/* Compact module introduction: one personal task count, cover and copy on one row. */
.cx-module-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(150px,240px);align-items:center;gap:24px;margin-bottom:20px}
.cx-module-copy{min-width:0}.cx-module-copy h2{margin:0 0 12px}.cx-module-copy>:last-child{margin-bottom:0}.cx-module-copy p{margin-top:10px}
.cx-module-header>.cx-module-intro{margin:0;min-width:0}.cx-module-header .cx-module-image{float:none;display:block;width:100%;margin:0}.cx-module-header .cx-module-image img{max-height:none;aspect-ratio:16/9;object-fit:contain}
.cx-module-header .cx-module-progress{justify-content:center}.cx-module-progress .cx-ring{width:92px;height:92px}.cx-module-progress .cx-ring circle{stroke-width:4.5}.cx-module-progress .cx-ring-count{font-size:8px;font-weight:700}.cx-module-progress .cx-ring-caption{font-size:4.5px;font-weight:500}
.cx-module-header:not(:has(>.cx-module-intro)){grid-template-columns:minmax(0,1fr) auto}.cx-module-overview>.cx-lock-message{margin:12px 0 0}
@media(max-width:800px){.cx-module-header{grid-template-columns:minmax(0,1fr) auto minmax(130px,190px);gap:16px}.cx-module-progress .cx-ring{width:80px;height:80px}}
@media(max-width:600px){.cx-module-header{grid-template-columns:minmax(0,1fr) auto;gap:16px}.cx-module-copy{grid-column:1/-1}.cx-module-header>.cx-module-intro{grid-column:1;grid-row:2;width:min(100%,240px)}.cx-module-header>.cx-progress,.cx-module-header>.challenge-summary{grid-column:2;grid-row:2}.cx-module-header:not(:has(>.cx-module-intro)) .cx-module-copy{grid-column:1}.cx-module-header:not(:has(>.cx-module-intro))>.cx-progress{grid-row:1}.cx-module-progress .cx-ring{width:84px;height:84px}}
