/* Academy77: entry and catalogue only. Lesson stages and saved preferences stay owned by their modules. */
body.academy-beauty77:not([data-view]) {
  color: #23314b;
  background: var(--study-bg, #f0f5ff);
  font-size: 1rem;
}

.academy-beauty77:not([data-view]) > :is(header, .share-note, .school-entry, .toolbar),
.academy-beauty77 .preview-hub {
  max-width: 1400px;
}

.academy-beauty77:not([data-view]) > header {
  padding: 14px 30px;
}
.academy-beauty77:not([data-view]) > header .gian-brand-emblem {
  width: 52px;
  height: 52px;
}
.academy-beauty77:not([data-view]) > header .brand-name {
  font-size: 1.75rem;
  line-height: 1.1;
}
.academy-beauty77:not([data-view]) > header .brand small {
  font-size: .75rem;
  letter-spacing: .1em;
  margin-top: 4px;
  color: #4d5c73;
}
.academy-beauty77:not([data-view]) > .share-note {
  margin: 12px auto 0;
  padding: 8px 16px;
  font-size: .8125rem;
  line-height: 1.5;
  background: #f5f2ff;
  color: #4d456d;
  border-color: #d5ccec;
}
.academy-beauty77 .share-note button {
  min-height: 44px;
  padding: 8px 12px;
  font-size: .8125rem;
}
.academy-beauty77 .school-entry {
  padding: 14px 20px;
  margin-bottom: 14px;
  border-radius: 18px;
  border-color: var(--study-edge, #bac9e3);
  box-shadow: none;
}
.academy-beauty77 .school-entry h2 {
  margin: 3px 0;
  font-size: 1.375rem;
  letter-spacing: -.025em;
}
.academy-beauty77 .school-entry p {
  font-size: .9375rem;
  line-height: 1.5;
  color: #42526b;
}
.academy-beauty77 .school-entry .eyebrow {
  font-size: .6875rem;
  color: #51466a;
}
.academy-beauty77 .school-entry-action button {
  min-height: 44px;
  padding: 10px 18px;
  font-size: .9375rem;
  box-shadow: none;
}
.academy-beauty77 .school-entry-action small {
  margin-top: 6px;
  font-size: .75rem;
  line-height: 1.35;
}
.academy-beauty77 .school-entry.gian-brand-welcome::before {
  opacity: .03;
}

.academy-beauty77:not([data-view]) > .toolbar {
  gap: 14px;
  padding: 0 0 12px;
  align-items: center;
}
.academy-beauty77:not([data-view]) > .toolbar .tabs {
  flex: 1;
  gap: 6px;
  padding: 6px;
  background: #ffffffcf;
  border: 1px solid #c9d4e6;
  border-radius: 18px;
  box-shadow: 0 4px 12px #21345608;
}
.academy-beauty77:not([data-view]) > .toolbar .tabs button {
  flex: 1;
  min-height: 48px;
  padding: 10px 14px;
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 750;
  color: #42506c;
  white-space: normal;
  border: 1px solid transparent;
}
.academy-beauty77:not([data-view]) > .toolbar .tabs button[aria-selected="true"] {
  color: #fff;
  background: var(--study-accent, #6339bd);
  border-color: var(--study-accent, #6339bd);
  box-shadow: 0 3px 8px #3d27732b;
}
.academy-beauty77:not([data-view]) > .toolbar .effects {
  min-height: 44px;
  font-size: .8125rem;
  color: #43516b;
  white-space: nowrap;
  border-color: #b7c5db;
}
.academy-beauty77:not([data-view]) > [data-academy-preview-search] .academy-search-entry {
  max-width: 1400px;
  padding: 0 0 14px;
}
.academy-beauty77:not([data-view]) > [data-academy-preview-search] .academy-search-trigger {
  min-height: 58px;
  background: #fff;
  border-color: #acbcdc;
  box-shadow: none;
}
.academy-beauty77:not([data-view]) > [data-academy-preview-search] .academy-search-entry-copy strong {
  font-size: 1rem;
  color: #35435e;
}
.academy-beauty77:not([data-view]) > [data-academy-preview-search] .academy-search-entry-copy > span {
  font-size: .8125rem;
  color: #58657b;
}
.academy-beauty77:not([data-view]) > main {
  max-width: 1460px;
  padding: 0 30px;
}

.academy-beauty77 .preview-hub {
  border: 1px solid var(--study-edge, #c1b5e4);
  border-top: 4px solid var(--study-accent, #6339bd);
  border-radius: 28px;
  padding: 28px;
  box-shadow: 0 16px 40px #2333590c;
}
.academy-beauty77 .preview-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  padding: 0 0 28px;
  gap: 28px;
  align-items: start;
}
.academy-beauty77 .preview-hero > div {
  min-width: 0;
}
.academy-beauty77 .preview-hero h1 {
  font-size: clamp(2.125rem, 4.1vw, 3.5rem);
  line-height: 1.08;
  letter-spacing: -.045em;
  margin: 14px 0 18px;
  color: #23314b;
}
.academy-beauty77 .preview-hero h1 em {
  color: var(--study-accent, #6339bd);
}
.academy-beauty77 .preview-hero .eyebrow {
  font-size: .6875rem;
  line-height: 1.5;
  color: #4b5573;
}
.academy-beauty77 .preview-hero p {
  max-width: 52ch;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: #3d4d65;
  margin: 0;
}
.academy-beauty77 .vivid-hero-image {
  width: 100%;
  height: auto;
  aspect-ratio: 1.23;
  object-fit: cover;
  border-radius: 24px;
  border: 4px solid #fff;
  box-shadow: 0 12px 26px #253a5818;
}
.academy-beauty77 .preview-actions {
  gap: 10px;
  margin-top: 22px;
}
.academy-beauty77 .preview-actions a {
  display: flex;
  align-items: center;
  min-height: 48px;
  max-width: 100%;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: .9375rem;
  line-height: 1.4;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.academy-beauty77 .preview-actions .soft-button {
  background: #fff;
  border-color: #b6c4da;
  color: #35435e;
}
.academy-beauty77 .preview-actions .gloss {
  background: var(--study-accent, #6339bd);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 3px 0 #2b204c20;
}
.academy-beauty77 .preview-actions .gloss::before {
  content: none;
}
.academy-beauty77 .preview-subjects {
  gap: 10px;
  padding: 20px 0;
  margin-bottom: 24px;
  border-block: 1px solid #cad2df;
}
.academy-beauty77 .preview-subjects > strong {
  flex-basis: 100%;
  font-size: 1rem;
  color: #34445d;
}
.academy-beauty77 .preview-subjects a {
  flex: 1;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #aabdd7;
  font-size: 1rem;
  color: #244273;
  line-height: 1.35;
}
.academy-beauty77 .preview-subjects a span {
  font-size: .8125rem;
}
.academy-beauty77 .preview-math-feature {
  border-color: #21677c;
  background: #effaff;
  color: #174052;
  box-shadow: 0 5px 0 #21677c12;
}
.academy-beauty77 .preview-math-feature .eyebrow {
  color: #20596b;
}
.academy-beauty77 .vivid-worlds {
  gap: 20px;
}
.academy-beauty77 .vivid-world {
  background: #fff;
  border-color: #c5cedd;
  border-radius: 22px;
  box-shadow: 0 6px 0 #23314b0a;
}
.academy-beauty77 .vivid-world > img {
  height: auto;
  aspect-ratio: 1.52;
  object-fit: cover;
}
.academy-beauty77 .vivid-world > div {
  padding: 22px;
  border-top-width: 4px;
}
.academy-beauty77 .vivid-world h2 {
  font-size: 1.625rem;
  color: #253551;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.academy-beauty77 .vivid-world p {
  font-size: 1rem;
  color: #46546b;
  line-height: 1.65;
}
.academy-beauty77 .vivid-world strong {
  padding: 12px 14px;
  min-height: 44px;
  border-radius: 12px;
  background: var(--world-tint);
  color: #314261;
  font-size: .9375rem;
  line-height: 1.4;
}
.academy-beauty77 .vivid-world .eyebrow {
  font-size: .6875rem;
  color: #55617a;
}
.academy-beauty77 .vivid-teacher {
  background: #fff;
  border-left: 4px solid var(--study-accent, #6339bd);
  color: #263952;
}
.academy-beauty77 .vivid-teacher button {
  min-height: 48px;
  color: #414e68;
  border-color: #a8b9d3;
  background: #f7f9fd;
  font-size: .9375rem;
}
.academy-beauty77 .preview-curriculum-note,
.academy-beauty77 .preview-note,
.academy-beauty77 .preview-hub .preview-details {
  font-size: .9375rem;
  line-height: 1.7;
  color: #45536b;
}
.academy-beauty77 .preview-note {
  background: #fff;
  border-color: #c8d2e2;
}
.academy-beauty77 .preview-hub .preview-details summary {
  min-height: 44px;
  padding: 12px 0;
  color: #37465e;
}
.academy-beauty77:not([data-view]) .board {
  border-color: #c5bedb;
  box-shadow: 0 10px 30px #26375213;
}
.academy-beauty77:not([data-view]) > .footer {
  font-size: .8125rem;
  color: #566479;
}
.academy-beauty77:not([data-view]) > .footer a {
  color: #4b4382;
}
.academy-beauty77 .beauty-play-entry {
  display: block;
  padding: 22px 26px;
  margin-bottom: 18px;
  border: 1px solid #d9c3a7;
  border-left: 5px solid #a85d22;
  border-radius: 20px;
  background: #fff7ec;
  color: #4f3b28;
}
.academy-beauty77 .beauty-play-entry .eyebrow {
  font-size: .75rem;
  color: #7c4b24;
}
.academy-beauty77 .beauty-play-entry h2 {
  font-size: 1.625rem;
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: 6px 0 8px;
}
.academy-beauty77 .beauty-play-entry p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  max-width: 60ch;
}
.academy-beauty77 .beauty-play-entry > a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: fit-content;
  max-width: 100%;
  margin-top: 16px;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #855022;
  border-radius: 14px;
  background: #fff;
  color: #794718;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 750;
  text-decoration: none;
}

/* The catalogue's existing subject choices become large decisions, not tiny utility chips. */
body.academy-beauty77[data-view="catalog"] .finder {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 220px);
  gap: 20px;
  align-items: start;
  border-color: #b8c8d5;
  padding: 22px;
  box-shadow: 0 5px 18px #2d46600b;
}
body.academy-beauty77[data-view="catalog"] .chips {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}
body.academy-beauty77[data-view="catalog"] .chips button {
  --subject-ink: #425474;
  --subject-paper: #f1f5fa;
  min-height: 58px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #bac9d9;
  border-left: 4px solid var(--subject-ink);
  border-radius: 14px;
  background: var(--subject-paper);
  color: var(--subject-ink);
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.4;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: none;
}
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Italiano"] { --subject-ink: #87305f; --subject-paper: #fff0f5; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Inglese"] { --subject-ink: #2557a7; --subject-paper: #eef4ff; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Tedesco"] { --subject-ink: #146663; --subject-paper: #eaf8f4; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Latino"] { --subject-ink: #88521e; --subject-paper: #fff5e8; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Matematica"] { --subject-ink: #245b7b; --subject-paper: #eaf6fd; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Storia"] { --subject-ink: #895326; --subject-paper: #fff3e5; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Scienze"] { --subject-ink: #26654e; --subject-paper: #eef8ed; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Geografia"] { --subject-ink: #1e637a; --subject-paper: #ebf8f9; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="AI e informatica"] { --subject-ink: #5a3997; --subject-paper: #f3efff; }
body.academy-beauty77[data-view="catalog"] .chips button[data-category="Vita e relazioni"] { --subject-ink: #28684f; --subject-paper: #eef8f1; }
body.academy-beauty77[data-view="catalog"] .chips button[aria-pressed="true"] {
  background: var(--subject-ink);
  border-color: var(--subject-ink);
  color: #fff;
  box-shadow: inset 0 0 0 2px #ffffff5c;
}
body.academy-beauty77[data-view="catalog"] .age-filter {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin: 0;
  padding: 14px;
  background: #f4f7fb;
  border: 1px solid #c6d3df;
  border-radius: 14px;
  color: #344b61;
  font-size: 1rem;
  font-weight: 700;
  white-space: normal;
}
body.academy-beauty77[data-view="catalog"] .age-filter select {
  min-height: 48px;
  width: 100%;
  font-size: .9375rem;
}

@media (hover: hover) and (pointer: fine) {
  .academy-beauty77 .preview-actions .soft-button:hover,
  .academy-beauty77:not([data-view]) > .toolbar .tabs button:not([aria-selected="true"]):hover {
    background: #f2f0fb;
    border-color: #8c7eb3;
  }
  body.academy-beauty77[data-view="catalog"] .chips button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 0 #2538530f;
  }
}
@media (prefers-reduced-motion: no-preference) and (forced-colors: none) {
  html:not([data-study-theme="calm"]):not([data-study-motion="reduced"]):not([data-support-motion="reduced"]):not([data-support-calm="true"]) .academy-beauty77:not(.no-effects) .preview-hub {
    box-shadow: 0 16px 42px #2333590c, 0 0 0 3px #9977ee15;
  }
  html:not([data-study-theme="calm"]):not([data-study-motion="reduced"]):not([data-support-motion="reduced"]):not([data-support-calm="true"]) .academy-beauty77:not(.no-effects) .vivid-hero-image {
    box-shadow: 0 12px 30px #253a581a, 0 0 24px #a898ef24;
  }
}
/* A quiet preference removes decorative depth, including hover movement. */
html:is([data-study-theme="calm"], [data-study-motion="reduced"], [data-support-motion="reduced"], [data-support-calm="true"]) .academy-beauty77 :is(.preview-hub, .vivid-hero-image, .vivid-world, .gloss, .chips button),
.academy-beauty77.no-effects :is(.preview-hub, .vivid-hero-image, .vivid-world, .gloss, .chips button) {
  box-shadow: none;
  animation: none;
  transition: none;
}
html:is([data-study-theme="calm"], [data-study-motion="reduced"], [data-support-motion="reduced"], [data-support-calm="true"]) .academy-beauty77 :is(.vivid-world:hover, .gloss:hover, .chips button:hover),
.academy-beauty77.no-effects :is(.vivid-world:hover, .gloss:hover, .chips button:hover) {
  transform: none;
}

@media (max-width: 1450px) {
  .academy-beauty77:not([data-view]) > :is(.share-note, .school-entry, .toolbar, [data-academy-preview-search]) {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media (max-width: 1000px) {
  .academy-beauty77:not([data-view]) > .toolbar { display: block; }
  .academy-beauty77:not([data-view]) > .toolbar .effects { margin: 10px 0 0 auto; }
  .academy-beauty77 .preview-hero { gap: 20px; }
  body.academy-beauty77[data-view="catalog"] .finder { grid-template-columns: 1fr; }
  body.academy-beauty77[data-view="catalog"] .age-filter { flex-direction: row; align-items: center; }
  body.academy-beauty77[data-view="catalog"] .age-filter select { max-width: 300px; }
}
@media (max-width: 800px) {
  .academy-beauty77 .preview-hero { grid-template-columns: 1fr; }
  .academy-beauty77 .vivid-hero-image { aspect-ratio: 1.75; }
  .academy-beauty77 .vivid-worlds { grid-template-columns: 1fr; }
  .academy-beauty77 .vivid-world { display: grid; grid-template-columns: 36% minmax(0, 1fr); }
  .academy-beauty77 .vivid-world > img { height: 100%; aspect-ratio: auto; min-height: 220px; }
  .academy-beauty77 .vivid-world > div { border-top: 0; border-left: 4px solid var(--world-color); }
  .academy-beauty77 .preview-subjects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .academy-beauty77 .preview-subjects > strong { grid-column: 1 / -1; }
  .academy-beauty77 .preview-subjects a { min-width: 0; flex-wrap: wrap; gap: 6px; }
}
@media (max-width: 620px) {
  .academy-beauty77:not([data-view]) > :is(.share-note, .school-entry, .toolbar, [data-academy-preview-search]) {
    margin-left: 14px;
    margin-right: 14px;
  }
  .academy-beauty77:not([data-view]) > header { padding: 14px; }
  .academy-beauty77:not([data-view]) > header .gian-brand-emblem { width: 44px; height: 44px; }
  .academy-beauty77:not([data-view]) > header .brand-name { font-size: 1.5rem; }
  .academy-beauty77:not([data-view]) > header .brand small { font-size: .625rem; }
  .academy-beauty77:not([data-view]) > .share-note { display: block; }
  .academy-beauty77 .share-note button { margin-top: 8px; width: 100%; }
  .academy-beauty77 .school-entry { display: block; padding: 14px 16px; }
  .academy-beauty77 .school-entry h2 { font-size: 1.25rem; }
  .academy-beauty77 .school-entry-action { margin-top: 12px; text-align: left; }
  .academy-beauty77 .school-entry-action button { width: 100%; }
  .academy-beauty77:not([data-view]) > .toolbar .tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .academy-beauty77:not([data-view]) > .toolbar .tabs button { padding: 10px; min-height: 48px; font-size: .9375rem; }
  .academy-beauty77:not([data-view]) > .toolbar .tabs button:first-child { grid-column: 1 / -1; }
  .academy-beauty77:not([data-view]) > main { padding: 0 14px; }
  .academy-beauty77 .preview-hub { padding: 20px 16px; border-radius: 20px; }
  .academy-beauty77 .preview-hero h1 { font-size: 2.125rem; }
  .academy-beauty77 .preview-actions { display: grid; }
  .academy-beauty77 .preview-actions a { justify-content: flex-start; text-align: left; width: 100%; }
  .academy-beauty77 .vivid-world { display: flex; }
  .academy-beauty77 .vivid-world > img { height: auto; aspect-ratio: 1.55; min-height: 0; }
  .academy-beauty77 .vivid-world > div { border-left: 0; border-top: 4px solid var(--world-color); padding: 20px; }
  .academy-beauty77 .vivid-world h2 { font-size: 1.5rem; }
  .academy-beauty77 .preview-math-feature { display: block; padding: 18px; }
  .academy-beauty77 .preview-math-symbol { width: 54px; height: 54px; margin-bottom: 12px; }
  .academy-beauty77 .vivid-teacher { padding: 20px; }
  .academy-beauty77 .vivid-teacher button { width: 100%; }
  .academy-beauty77 .beauty-play-entry { display: block; padding: 20px; }
  .academy-beauty77 .beauty-play-entry > a { margin-top: 16px; width: 100%; }
  body.academy-beauty77[data-view="catalog"] .finder { padding: 16px; }
  body.academy-beauty77[data-view="catalog"] .chips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  body.academy-beauty77[data-view="catalog"] .chips button { padding: 10px; font-size: 1rem; }
  body.academy-beauty77[data-view="catalog"] .chips button:first-child { grid-column: 1 / -1; }
  body.academy-beauty77[data-view="catalog"] .age-filter { flex-direction: column; align-items: stretch; }
  body.academy-beauty77[data-view="catalog"] .age-filter select { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-beauty77 :is(.preview-hub, .vivid-hero-image, .vivid-world, .gloss, .chips button) { animation: none; transition: none; box-shadow: none; }
  .academy-beauty77 :is(.vivid-world:hover, .gloss:hover, .chips button:hover) { transform: none; }
}
@media (forced-colors: active) {
  body.academy-beauty77:not([data-view]),
  .academy-beauty77 :is(.school-entry, .share-note, .preview-hub, .preview-math-feature, .preview-note, .vivid-teacher, .beauty-play-entry),
  .academy-beauty77:not([data-view]) > .toolbar .tabs,
  body.academy-beauty77[data-view="catalog"] :is(.finder, .age-filter) {
    background: Canvas !important;
    color: CanvasText !important;
    border-color: CanvasText;
    box-shadow: none;
  }
  .academy-beauty77:not([data-view]) > .toolbar .tabs button,
  .academy-beauty77 .preview-actions a,
  .academy-beauty77 .beauty-play-entry > a,
  body.academy-beauty77[data-view="catalog"] .chips button {
    background: ButtonFace;
    color: ButtonText;
    border: 1px solid ButtonText;
    box-shadow: none;
  }
  .academy-beauty77:not([data-view]) > .toolbar .tabs button[aria-selected="true"],
  body.academy-beauty77[data-view="catalog"] .chips button[aria-pressed="true"] {
    outline: 3px solid Highlight;
    outline-offset: -4px;
  }
  .academy-beauty77 .vivid-hero-image { border-color: CanvasText; box-shadow: none; }
}


/* Release78 compatibility: preserve the live class-first finder and #course-grade.
   No reader, lesson, practice, progression or preference behavior is changed. */
body.academy-beauty77[data-view="catalog"] .finder.course-finder {
  grid-template-columns: minmax(0, 1fr);
}
body.academy-beauty77[data-view="catalog"] .course-grade-step,
body.academy-beauty77[data-view="catalog"] .course-subject-step {
  min-width: 0;
  margin: 0;
  padding: 14px;
  border: 1px solid #c6d3df;
  border-radius: 14px;
  background: #f4f7fb;
}
body.academy-beauty77[data-view="catalog"] .course-grade-step label,
body.academy-beauty77[data-view="catalog"] .course-subject-step legend {
  color: #344b61;
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.5;
}
body.academy-beauty77[data-view="catalog"] #course-grade {
  display: block;
  box-sizing: border-box;
  width: min(100%, 420px);
  min-height: 48px;
  margin-top: 8px;
  font-size: 1rem;
}
body.academy-beauty77[data-view="catalog"] #course-grade-note {
  color: #42526b;
  line-height: 1.5;
  margin: 10px 0 0;
}
@media (max-width: 620px) {
  body.academy-beauty77[data-view="catalog"] #course-grade { width: 100%; }
  body.academy-beauty77[data-view="catalog"] .course-grade-step,
  body.academy-beauty77[data-view="catalog"] .course-subject-step { padding: 12px; }
}
@media (forced-colors: active) {
  body.academy-beauty77[data-view="catalog"] .course-grade-step,
  body.academy-beauty77[data-view="catalog"] .course-subject-step {
    background: Canvas !important;
    color: CanvasText !important;
    border-color: CanvasText;
  }
  body.academy-beauty77[data-view="catalog"] :is(.course-grade-step label, .course-subject-step legend, #course-grade-note) {
    color: CanvasText;
  }
}
