.ave-learning,
.ave-learning *,
.ave-learning *::before,
.ave-learning *::after { box-sizing: border-box; }
.ave-learning-gate { min-width: 0; margin-block: var(--ave-space-6); padding: var(--ave-space-6); background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-lg); color: var(--ave-navy); font: 400 16px/1.5 var(--ave-font); }
.ave-learning-gate > summary { min-height: 44px; padding-block: var(--ave-space-3); color: var(--ave-ocean); font-weight: 600; cursor: pointer; }
.ave-learning-gate > summary:hover { color: var(--ave-navy); }
.ave-learning-gate > summary:focus-visible { outline: 3px solid var(--ave-ocean); outline-offset: 4px; }
.ave-learning-gate[open] > summary { margin-bottom: var(--ave-space-6); }
.ave-learning { min-width: 0; color: var(--ave-n700); font: 400 16px/1.5 var(--ave-font); }
.ave-learning [hidden] { display: none !important; }
.ave-learning :is(h2,h3,h4,p,ol,ul) { margin-top: 0; }
.ave-learning :is(h2,h3,h4) { color: var(--ave-navy); }
.ave-learning h2 { margin-bottom: var(--ave-space-3); font: 600 32px/1.25 var(--ave-font); }
.ave-learning :is(h3,h4) { margin-bottom: var(--ave-space-3); font: 600 20px/1.4 var(--ave-font); }
.ave-learning p { max-width: 75ch; margin-bottom: var(--ave-space-4); font: inherit; }
.ave-learning__header { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--ave-space-6); margin-bottom: var(--ave-space-6); }
.ave-learning__header > div { min-width: 0; }
.ave-learning__eyebrow { display: block; margin-bottom: var(--ave-space-2); color: var(--ave-ocean); font-weight: 600; }
.ave-learning__progress { padding: var(--ave-space-6); background: var(--ave-n200); border: var(--ave-border); border-radius: var(--ave-radius-md); }
.ave-learning__progress :is(label,strong) { display: block; color: var(--ave-navy); }
.ave-learning__progress strong { margin-block: var(--ave-space-2) var(--ave-space-4); font-weight: 600; }
.ave-learning__progress progress { display: block; width: 100%; height: var(--ave-space-3); overflow: hidden; border: none; border-radius: var(--ave-radius-full); color: var(--ave-ocean); background: var(--ave-n300); accent-color: var(--ave-ocean); }
.ave-learning__progress progress::-webkit-progress-bar { background: var(--ave-n300); border-radius: var(--ave-radius-full); }
.ave-learning__progress progress::-webkit-progress-value { background: var(--ave-ocean); border-radius: var(--ave-radius-full); }
.ave-learning__progress progress::-moz-progress-bar { background: var(--ave-ocean); border-radius: var(--ave-radius-full); }
.ave-learning__progress p { margin: var(--ave-space-4) 0 0; }
.ave-learning__notice { display: flex; align-items: flex-start; gap: var(--ave-space-3); padding: var(--ave-space-4); max-width: none !important; background: var(--ave-n100); border: var(--ave-border); border-left: 4px solid var(--ave-ocean); border-radius: var(--ave-radius-md); }
.ave-learning__notice > .ave-icon { flex: 0 0 auto; margin-top: var(--ave-space-1); color: var(--ave-ocean); }
.ave-learning__modules { display: grid; grid-template-columns: minmax(0,1fr); gap: var(--ave-space-4); margin-block: var(--ave-space-6); }
.ave-learning a.ave-learning__module-link { display: grid; min-width: 0; grid-template-columns: 96px minmax(0,1fr); align-items: center; gap: var(--ave-space-4); padding: var(--ave-space-4); background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-md); color: var(--ave-navy); text-decoration: none !important; overflow: hidden; }
.ave-learning a.ave-learning__module-link:hover { background: var(--ave-n200); color: var(--ave-navy); box-shadow: var(--ave-shadow-1); }
.ave-learning a.ave-learning__module-link:active { border-color: var(--ave-navy); }
.ave-learning a.ave-learning__module-link[aria-current="true"] { border-color: var(--ave-ocean); box-shadow: inset 0 0 0 1px var(--ave-ocean); }
.ave-learning__icon { display: grid; place-items: center; flex: 0 0 var(--ave-space-12); width: var(--ave-space-12); height: var(--ave-space-12); border-radius: var(--ave-radius-md); background: var(--ave-n200); color: var(--ave-ocean); }
.ave-learning__module-link[aria-current="true"] .ave-learning__icon { color: var(--ave-n100); background: var(--ave-ocean); }
.ave-learning__module-thumb { display: block; width: 96px; height: 72px; object-fit: cover; border-radius: var(--ave-radius-md); background: var(--ave-n200); }
.ave-learning__module-copy { display: grid; gap: var(--ave-space-1); min-width: 0; }
.ave-learning__module-copy strong { font-weight: 600; }
.ave-learning__module-copy > span { color: var(--ave-n600); }
.ave-learning__module-copy .ave-learning__module-count { color: var(--ave-ocean); }
.ave-learning__save-status:not(:empty),
.ave-learning__save-error { padding: var(--ave-space-4); margin-bottom: var(--ave-space-6); background: var(--ave-n100); border: var(--ave-border); border-left: 4px solid var(--ave-ocean); border-radius: var(--ave-radius-md); }
.ave-learning__save-error { border-left-color: var(--ave-error); color: var(--ave-n700); }
.ave-learning__module { margin-bottom: var(--ave-space-8); padding: var(--ave-space-6); background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-lg); scroll-margin-top: var(--ave-space-6); }
.ave-learning__module-header { display: grid; gap: var(--ave-space-6); padding-bottom: var(--ave-space-6); }
.ave-learning__module-header > div { min-width: 0; }
.ave-learning__module-art { display: block; width: 100%; aspect-ratio: 3 / 2; max-height: 320px; object-fit: cover; border-radius: var(--ave-radius-lg); background: var(--ave-n200); }
.ave-learning__lesson { margin-top: var(--ave-space-4); border-top: var(--ave-border); }
.ave-learning__lesson > summary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ave-space-3); min-height: 44px; padding-block: var(--ave-space-4); color: var(--ave-navy); font-weight: 600; cursor: pointer; list-style: none; }
.ave-learning__lesson > summary::-webkit-details-marker { display: none; }
.ave-learning__lesson > summary::after { content: '+'; display: grid; place-items: center; flex: 0 0 var(--ave-space-6); width: var(--ave-space-6); height: var(--ave-space-6); margin-left: auto; color: var(--ave-ocean); font-size: 20px; }
.ave-learning__lesson[open] > summary::after { content: '−'; }
.ave-learning__lesson > summary:hover { color: var(--ave-ocean); }
.ave-learning__lesson-number { display: grid; place-items: center; width: var(--ave-space-8); height: var(--ave-space-8); flex: 0 0 var(--ave-space-8); border-radius: var(--ave-radius-full); color: var(--ave-ocean); background: var(--ave-n200); }
.ave-learning__lesson-title { flex: 1 1 50%; min-width: 0; }
.ave-learning__lesson-badge { display: inline-flex; align-items: center; gap: var(--ave-space-1); color: var(--ave-navy); font: 400 12px/1.333333 var(--ave-font); }
.ave-learning__lesson-badge .ave-icon { color: var(--ave-ocean); }
.ave-learning__lesson-body { padding-top: var(--ave-space-2); padding-bottom: var(--ave-space-4); }
.ave-learning__steps { max-width: 75ch; padding-left: var(--ave-space-6); margin-bottom: var(--ave-space-6); }
.ave-learning__steps li { padding-left: var(--ave-space-1); margin-bottom: var(--ave-space-3); }
.ave-learning__steps li::marker { color: var(--ave-ocean); font-weight: 600; }
.ave-learning__tip { padding: var(--ave-space-4); border-left: 4px solid var(--ave-ocean); border-radius: var(--ave-radius-sm); background: var(--ave-n200); }
.ave-learning fieldset.ave-learning__quiz,
.ave-learning fieldset.ave-learning__self-check { min-width: 0; padding: 0; margin: var(--ave-space-6) 0; border: 0; }
.ave-learning :is(.ave-learning__quiz,.ave-learning__self-check) legend { display: block; width: 100%; margin-bottom: var(--ave-space-3); padding: 0; color: var(--ave-navy); font: 600 16px/1.5 var(--ave-font); }
.ave-learning__options { display: grid; gap: var(--ave-space-2); margin-bottom: var(--ave-space-4); }
.ave-learning label.ave-learning__option { display: flex; align-items: flex-start; gap: var(--ave-space-3); min-height: 44px; padding: var(--ave-space-3) var(--ave-space-4); margin: 0; background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-md); color: var(--ave-n700); font: 400 16px/1.5 var(--ave-font); cursor: pointer; }
.ave-learning label.ave-learning__option:hover { border-color: var(--ave-ocean); }
.ave-learning label.ave-learning__option:has(input:checked) { border-color: var(--ave-ocean); background: var(--ave-n200); }
.ave-learning .ave-learning__option input[type="radio"] { position: static; display: inline-block; flex: 0 0 var(--ave-space-6); width: var(--ave-space-6); height: var(--ave-space-6); padding: 0; margin: 0; opacity: 1; appearance: auto; clip: auto; clip-path: none; accent-color: var(--ave-ocean); }
.ave-learning__option > span { min-width: 0; }
.ave-learning .ave-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--ave-space-2); min-height: 44px; max-width: 100%; margin: 0; padding: var(--ave-space-4) var(--ave-space-6); border-radius: var(--ave-radius-md); font: 600 16px/1.5 var(--ave-font); text-decoration: none !important; white-space: normal; }
.ave-learning .ave-button--primary { color: var(--ave-n100); background: var(--ave-ocean); border: 1px solid var(--ave-ocean); }
.ave-learning .ave-button--primary:hover { color: var(--ave-n100); background: var(--ave-ocean); box-shadow: var(--ave-shadow-1); }
.ave-learning .ave-button--primary:active { background: var(--ave-navy); border-color: var(--ave-navy); }
.ave-learning .ave-button--secondary { color: var(--ave-ocean); background: var(--ave-n100); border: 1px solid var(--ave-ocean); }
.ave-learning .ave-button--secondary:hover { color: var(--ave-ocean); background: var(--ave-n200); }
.ave-learning .ave-button--secondary:active { color: var(--ave-navy); border-color: var(--ave-navy); }
.ave-learning .ave-button--tertiary { color: var(--ave-ocean); background: transparent; border: 1px solid transparent; }
.ave-learning .ave-button--tertiary:hover { color: var(--ave-navy); background: var(--ave-n200); }
.ave-learning .ave-button--tertiary:active { color: var(--ave-navy); border-color: var(--ave-navy); }
.ave-learning .ave-button:disabled { color: var(--ave-n600); background: var(--ave-n200); border-color: var(--ave-n400); opacity: 1; box-shadow: none; cursor: not-allowed; }
.ave-learning :is(a,button,input,summary,[tabindex]):focus-visible { outline: 3px solid var(--ave-ocean); outline-offset: 4px; box-shadow: none; }
.ave-learning__feedback { padding: var(--ave-space-4); margin-top: var(--ave-space-4); border: var(--ave-border); border-left: 4px solid var(--ave-ocean); border-radius: var(--ave-radius-md); background: var(--ave-n200); }
.ave-learning__feedback[data-correct="false"] { border-left-color: var(--ave-warning); }
.ave-learning__explanation { margin-top: var(--ave-space-4); }
.ave-learning :is(.ave-learning__explanation,.ave-learning__sources) > summary { min-height: 44px; padding-block: var(--ave-space-3); color: var(--ave-ocean); font-weight: 600; cursor: pointer; }
.ave-learning__explanation p { margin-block: var(--ave-space-3); }
.ave-learning__lesson-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ave-space-4); padding-top: var(--ave-space-6); border-top: var(--ave-border); }
.ave-learning__lesson-footer > p { flex: 1 1 50%; margin: 0; }
.ave-learning__spinner { width: var(--ave-space-4); height: var(--ave-space-4); flex: 0 0 var(--ave-space-4); border: 2px solid currentColor; border-right-color: transparent; border-radius: var(--ave-radius-full); animation: ave-learning-spin 1s linear infinite; }
.ave-learning [data-learning-complete] .ave-learning__spinner[hidden] { display: inline-block !important; visibility: hidden; }
.ave-learning [data-learning-complete-label] { min-width: 0; }
.ave-learning__practice { padding: var(--ave-space-6); margin-block: var(--ave-space-8); background: var(--ave-n200); border: var(--ave-border); border-radius: var(--ave-radius-lg); }
.ave-learning__practice-count { color: var(--ave-ocean); font-weight: 600 !important; }
.ave-learning__practice-list { padding: 0; list-style: none; }
.ave-learning__practice-list > li { padding: var(--ave-space-6); margin-bottom: var(--ave-space-4); background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-md); }
.ave-learning .ave-learning__self-check { margin-bottom: 0; }
.ave-learning .ave-learning__self-check .ave-learning__option + .ave-learning__option { margin-top: var(--ave-space-2); }
.ave-learning__practice-controls { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ave-space-3); }
.ave-learning__practice-finish { margin-top: var(--ave-space-4); color: var(--ave-navy); }
.ave-learning__practice-privacy { margin-top: var(--ave-space-6); margin-bottom: 0 !important; color: var(--ave-n600); }
.ave-learning__sources { padding: var(--ave-space-4) var(--ave-space-6); background: var(--ave-n100); border: var(--ave-border); border-radius: var(--ave-radius-md); }
.ave-learning__sources ul { padding-left: var(--ave-space-6); }
.ave-learning__sources li { margin-bottom: var(--ave-space-2); }
.ave-learning__sources a { display: inline-block; min-height: 44px; padding-block: var(--ave-space-2); color: var(--ave-ocean); overflow-wrap: anywhere; }
.ave-learning__sources a:hover { color: var(--ave-navy); }
.ave-learning__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 768px) {
  .ave-learning-gate { padding: var(--ave-space-8); }
  .ave-learning__modules { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ave-learning__module,.ave-learning__practice { padding: var(--ave-space-8); }
}
@media (min-width: 1280px) {
  .ave-learning__header { grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: var(--ave-space-8); }
  .ave-learning__modules { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ave-space-6); }
  .ave-learning__module-header { grid-template-columns: minmax(0,1fr) minmax(320px,1fr); align-items: center; gap: var(--ave-space-8); }
}
@media (prefers-reduced-motion: reduce) { .ave-learning__spinner { animation: none; } }
@keyframes ave-learning-spin { to { transform: rotate(360deg); } }
