.ia-learning {
  --ia-ink: #172033;
  --ia-muted: #566176;
  --ia-brand: #2446a8;
  --ia-brand-dark: #183176;
  --ia-accent: #0f766e;
  --ia-surface: #fff;
  --ia-soft: #f2f5fb;
  --ia-border: #d6ddeb;
  box-sizing: border-box;
  max-width: 76rem;
  margin-inline: auto;
  padding: clamp(1rem, 4vw, 3rem);
  color: var(--ia-ink);
}
.ia-learning *, .ia-learning *::before, .ia-learning *::after { box-sizing: border-box; }
.ia-learning__hero { padding-block: clamp(2rem, 8vw, 6rem); }
.ia-front { display: grid; gap: clamp(3rem, 8vw, 6rem); }
.ia-front-hero { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(16rem, .75fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; min-height: min(44rem, 78vh); padding-block: clamp(3rem, 8vw, 7rem); }
.ia-front-hero__panel { padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid var(--ia-border); border-radius: 1rem; background: linear-gradient(145deg, #f2f5fb, #eaf8f5); box-shadow: 0 1rem 3rem rgb(24 49 118 / 10%); }
.ia-front-hero__panel strong { font-size: 1.25rem; }
.ia-front-hero__panel ol { display: grid; gap: .8rem; margin-block-end: 0; padding-inline-start: 1.4rem; }
.ia-front-stats { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--ia-border); border-radius: 1rem; background: var(--ia-brand-dark); color: #fff; }
.ia-front-stats div { display: grid; justify-items: center; gap: .25rem; padding: clamp(1.2rem, 4vw, 2rem); text-align: center; }
.ia-front-stats div + div { border-inline-start: 1px solid rgb(255 255 255 / 25%); }
.ia-front-stats strong { font-size: clamp(2rem, 6vw, 3.5rem); line-height: 1; }
.ia-front-stats span { color: #e4e9f7; }
.ia-front-section-heading { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-block-end: 1.5rem; }
.ia-front-section-heading h2, .ia-front-benefits h2, .ia-front-exam h2 { margin-block: .35rem .75rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.1; }
.ia-front-benefits { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 5rem); padding: clamp(1.5rem, 5vw, 3.5rem); border-radius: 1rem; background: var(--ia-soft); }
.ia-front-benefits ul { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ia-front-benefits li { display: grid; gap: .25rem; padding-block-end: 1rem; border-block-end: 1px solid var(--ia-border); }
.ia-front-benefits li span { color: var(--ia-muted); }
.ia-front-exam { display: flex; justify-content: space-between; gap: clamp(2rem, 6vw, 5rem); align-items: center; padding: clamp(1.5rem, 5vw, 3.5rem); border-radius: 1rem; background: #eaf8f5; }
.ia-front-exam > div:first-child { max-width: 45rem; }
.ia-front-footer { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.5rem; border-block-start: 1px solid var(--ia-border); }
.ia-front-footer nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.ia-learning h1 { max-width: 18ch; margin-block: .4rem 1rem; font-size: clamp(2.25rem, 7vw, 4.75rem); line-height: 1.02; letter-spacing: -.035em; }
.ia-learning__lead { max-width: 62ch; color: var(--ia-muted); font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.6; }
.ia-eyebrow { margin: 0; color: var(--ia-brand); font-size: .82rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ia-learning__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 2rem; }
.ia-button { display: inline-flex; align-items: center; min-height: 2.8rem; padding: .65rem 1rem; border: 2px solid var(--ia-brand); border-radius: .55rem; color: var(--ia-brand-dark); font-weight: 750; text-decoration: none; }
.ia-button--primary { background: var(--ia-brand); color: #fff; }
.ia-button:hover { background: var(--ia-soft); }
.ia-button--primary:hover { background: var(--ia-brand-dark); }
.ia-button:focus-visible, .ia-learning a:focus-visible { outline: .22rem solid #f5a800; outline-offset: .18rem; }
.ia-continue { max-width: 42rem; padding: 1rem; border-inline-start: .35rem solid var(--ia-accent); border-radius: .35rem; background: #eaf8f5; }
.ia-progress-summary { color: var(--ia-muted); }
.ia-progress-controls { margin-block-start: .75rem; }
.ia-progress-reset { padding: .55rem .8rem; border: 1px solid var(--ia-muted); border-radius: .45rem; background: transparent; color: var(--ia-muted); cursor: pointer; font: inherit; }
.ia-progress-reset:hover { border-color: var(--ia-brand); color: var(--ia-brand-dark); }
.ia-progress-reset:focus-visible { outline: .22rem solid #f5a800; outline-offset: .18rem; }
.ia-progress-reset-status { color: var(--ia-muted); }
.ia-topic-progress { max-width: 42rem; margin-block-end: 1.25rem; }
.ia-topic-progress p { margin-block-end: .4rem; }
.ia-topic-progress progress { width: 100%; height: .8rem; accent-color: var(--ia-accent); }
.ia-topic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; }
.ia-topic-card { min-width: 0; padding: 1.25rem; border: 1px solid var(--ia-border); border-radius: .8rem; background: var(--ia-surface); box-shadow: 0 .25rem 1.25rem rgb(24 49 118 / 7%); }
.ia-topic-card h3 { margin-block: .5rem; font-size: 1.25rem; }
.ia-topic-card h3 a { color: var(--ia-ink); text-decoration-thickness: .12em; text-underline-offset: .2em; }
.ia-topic-card__meta, .ia-exercise-links span { color: var(--ia-muted); font-size: .9rem; }
.ia-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; color: var(--ia-muted); font-size: .92rem; }
.ia-topic__header { padding-block: clamp(2rem, 6vw, 4rem); }
.ia-lesson-list { display: grid; gap: .65rem; padding: 0; list-style: none; counter-reset: lesson; }
.ia-lesson-list li { counter-increment: lesson; }
.ia-lesson-list a { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr); gap: .15rem .75rem; align-items: center; padding: .9rem 1rem; border: 1px solid var(--ia-border); border-radius: .6rem; color: var(--ia-ink); text-decoration: none; }
.ia-lesson-list a::before { grid-row: 1 / 3; content: counter(lesson); display: grid; place-items: center; inline-size: 2.1rem; block-size: 2.1rem; border-radius: 50%; background: var(--ia-soft); color: var(--ia-brand); font-weight: 800; }
.ia-lesson-list a:hover { border-color: var(--ia-brand); background: var(--ia-soft); }
.ia-lesson-list small { color: var(--ia-muted); }
.ia-lesson-list .is-visited a { border-color: #85b8aa; background: #f1faf7; }
.ia-lesson-status { grid-column: 2; width: fit-content; padding: .12rem .5rem; border-radius: 1rem; background: #d9f3eb; color: #075c50; font-size: .78rem; font-weight: 750; }
.ia-notice { max-width: 50rem; margin-block: 2rem; padding: 1rem 1.2rem; border: 1px solid #e8cf77; border-radius: .55rem; background: #fff9df; }
.ia-curriculum-lesson { max-width: 58rem; line-height: 1.7; }
.ia-curriculum-lesson section { margin-block: 2rem; }
.ia-curriculum-lesson h2 { margin-block-end: .6rem; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.ia-curriculum-lesson pre { overflow-x: auto; padding: 1rem; border: 1px solid var(--ia-border); border-radius: .6rem; background: #101827; color: #f4f7fb; }
.ia-term-list { display: flex; flex-wrap: wrap; gap: .55rem; padding: 0; list-style: none; }
.ia-term-list li { padding: .35rem .7rem; border-radius: 999px; background: var(--ia-soft); color: var(--ia-brand-dark); font-weight: 700; }
.ia-summary { padding: 1rem 1.2rem; border-inline-start: .35rem solid var(--ia-accent); background: #eaf8f5; }
.ia-exercise-links { display: grid; gap: .75rem; padding: 0; list-style: none; }
.ia-exercise-links a { display: grid; gap: .2rem; padding: 1rem; border: 1px solid var(--ia-border); border-radius: .6rem; color: var(--ia-ink); text-decoration: none; }
.ia-exercise-topic { margin-block: .75rem; border: 1px solid var(--ia-border); border-radius: .7rem; background: var(--ia-surface); }
.ia-exercise-topic > summary { padding: 1rem; cursor: pointer; font-weight: 750; }
.ia-exercise-topic > .ia-exercise-links { padding: 0 1rem 1rem; }
.ia-exercise-library-progress { max-width: 42rem; margin-block: 1rem 1.5rem; }
.ia-exercise-library-progress progress { width: 100%; height: .8rem; accent-color: var(--ia-accent); }
.ia-exercise-filters { display: grid; grid-template-columns: minmax(14rem, 2fr) repeat(2, minmax(10rem, 1fr)) auto; gap: .8rem; align-items: end; margin-block: 1.25rem; padding: 1rem; border: 1px solid var(--ia-border); border-radius: .7rem; background: var(--ia-soft); }
.ia-exercise-filters label { display: block; margin-block-end: .3rem; font-weight: 750; }
.ia-exercise-filters input, .ia-exercise-filters select, .ia-exercise-filters button { width: 100%; min-height: 2.75rem; padding: .55rem .65rem; border: 1px solid var(--ia-muted); border-radius: .45rem; background: var(--ia-surface); color: var(--ia-ink); font: inherit; }
.ia-exercise-filters button { width: auto; cursor: pointer; font-weight: 750; }
.ia-exercise-filters input:focus-visible, .ia-exercise-filters select:focus-visible, .ia-exercise-filters button:focus-visible { outline: .22rem solid #f5a800; outline-offset: .12rem; }
.ia-exercise-filter-status { grid-column: 1 / -1; margin: 0; color: var(--ia-muted); }
.ia-exercise-links li.is-started > a { border-inline-start: .35rem solid var(--ia-brand-dark); }
.ia-exercise-links li.is-solved > a { border-inline-start: .35rem solid var(--ia-accent); }
.ia-exercise-status { justify-self: start; padding: .12rem .45rem; border-radius: 999px; background: #eef2f8; color: var(--ia-muted); font-size: .82rem; font-weight: 750; }
.ia-exercise-links li.is-solved .ia-exercise-status { background: #e6f5ea; color: var(--ia-accent); }
.ia-lesson-nav { max-width: 72rem; margin: 3rem auto 0; padding: 1.5rem 1rem 0; border-top: 1px solid #d6ddeb; }
.ia-lesson-nav__topic { display: inline-block; margin-block-end: 1rem; font-weight: 750; }
.ia-lesson-nav > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ia-lesson-nav > div > a { display: grid; padding: 1rem; border: 1px solid #d6ddeb; border-radius: .6rem; color: #172033; text-decoration: none; }
.ia-lesson-nav > div > a:hover { border-color: #2446a8; background: #f2f5fb; }
.ia-lesson-nav > div > a[rel="next"] { text-align: end; }
.ia-lesson-nav small { color: #566176; }
@media (max-width: 32rem) { .ia-learning__actions > * { width: 100%; justify-content: center; } }
@media (max-width: 48rem) { .ia-front-hero, .ia-front-benefits { grid-template-columns: 1fr; } .ia-front-exam, .ia-front-section-heading, .ia-front-footer { align-items: start; flex-direction: column; } }
@media (max-width: 34rem) { .ia-front-stats { grid-template-columns: 1fr; } .ia-front-stats div + div { border-inline-start: 0; border-block-start: 1px solid rgb(255 255 255 / 25%); } }
@media (max-width: 52rem) { .ia-exercise-filters { grid-template-columns: 1fr 1fr; } .ia-exercise-filters__search, .ia-exercise-filter-status { grid-column: 1 / -1; } }
@media (max-width: 34rem) { .ia-exercise-filters { grid-template-columns: 1fr; } .ia-exercise-filters__search, .ia-exercise-filter-status { grid-column: auto; } .ia-exercise-filters button { width: 100%; } }
@media (max-width: 38rem) { .ia-lesson-nav > div { grid-template-columns: 1fr; } .ia-lesson-nav > div > a[rel="next"] { text-align: start; } }
.ia-exam-overview section, .ia-exam > section { margin-top: clamp(1.5rem, 4vw, 3rem); }
.ia-exam-originals .ia-notice { max-width: 52rem; }
.ia-exam-controls { padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid var(--ia-border); border-radius: .8rem; background: var(--ia-surface); box-shadow: 0 .25rem 1.25rem rgb(24 49 118 / 7%); }
.ia-exam-controls label { display: block; margin-bottom: .35rem; font-weight: 700; }
.ia-exam-controls select { width: min(100%, 34rem); min-height: 2.75rem; padding: .5rem; }
.ia-exam-status { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 1rem 0; }
.ia-exam-status span { padding: .55rem .75rem; border-radius: .5rem; background: var(--ia-soft); }
.ia-exam-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ia-exam__tasks[inert] { opacity: .58; }
.ia-exam__tasks > .ia-exercise { margin-block: 1.25rem; }
.ia-exam-result { padding: clamp(1rem, 3vw, 2rem); border-inline-start: .35rem solid var(--ia-accent); background: var(--ia-soft); }
.ia-exam-result:focus { outline: .22rem solid #f5a800; outline-offset: .18rem; }
@media (max-width: 35rem) { .ia-exam-actions .ia-button { width: 100%; justify-content: center; } .ia-exam-status { display: grid; gap: .5rem; } }
