.deutsch-world {
  --dino-green: #9fd78f;
  --dino-gold: #ffd277;
  --dino-rust: #e88b63;
  --dino-ice: #a9dbf5;
  background:
    radial-gradient(circle at 12% 12%, #224a3a 0, transparent 23rem),
    radial-gradient(circle at 88% 22%, #593927 0, transparent 27rem),
    linear-gradient(155deg, #071822, #07111f 55%, #111d2c);
}

.dino-header { color: var(--dino-gold); font-size: 1.2rem; letter-spacing: .15em; }
.deutsch-page { width: min(76rem, calc(100% - 2rem)); }
.deutsch-hero, .level-map, .season-map, .season-workspace, .dino-habitat, .dino-research-station, .deutsch-sources-note {
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  background: color-mix(in srgb, var(--panel) 92%, transparent);
  padding: clamp(1.25rem, 4vw, 3rem);
}

.level-map { scroll-margin-top: 1rem; }
.level-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.level-card { min-height: 9.5rem; display: grid; grid-template-columns: auto minmax(0, 1fr); align-content: center; gap: .35rem .85rem; padding: 1rem; border-radius: 1rem; text-align: left; background: linear-gradient(145deg, #152d3b, #0c1c2b); }
.level-card[aria-pressed="true"] { border-color: var(--dino-gold); background: linear-gradient(145deg, #4b381d, #10243a); box-shadow: 0 0 0 2px #ffd27722; }
.level-card__number { grid-row: 1 / 3; align-self: center; color: var(--dino-gold); font-size: 1.6rem; font-weight: 850; }
.level-card strong { font-size: 1.12rem; }
.level-card span:last-child { color: var(--muted); line-height: 1.45; }

.deutsch-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr); align-items: center; gap: 2rem; overflow: hidden; }
.deutsch-hero h1 { max-width: 12ch; }
.target-language-note { width: fit-content; padding: .7rem .9rem; border-left: .25rem solid var(--dino-gold); background: #07111f99; color: #dbe8ef; line-height: 1.5; }
.dino-season-wheel { position: relative; width: min(24rem, 78vw); aspect-ratio: 1; margin: auto; border: 1px solid #dceccf55; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle, #f4c96e33, #0b2430 48%, #07111f 70%); box-shadow: inset 0 0 4rem #0007, 0 0 3rem #9fd78f22; }
.dino-season-wheel::before, .dino-season-wheel::after { content: ""; position: absolute; inset: 16%; border: 1px dashed #fff5; border-radius: 50%; }
.dino-season-wheel::after { inset: 33%; }
.dino-season-wheel > strong { width: 6rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #17331f; background: var(--dino-gold); letter-spacing: .11em; box-shadow: 0 0 2rem #ffd27777; }
.season-orbit { position: absolute; display: grid; place-items: center; gap: .15rem; width: 5rem; aspect-ratio: 1; border-radius: 50%; background: #11283b; border: 1px solid #fff4; font-size: 1.25rem; }
.season-orbit b { font-size: 1.8rem; }
.season-orbit--spring { left: 5%; top: 15%; }
.season-orbit--summer { right: 4%; top: 12%; }
.season-orbit--autumn { right: 8%; bottom: 9%; }
.season-orbit--winter { left: 7%; bottom: 8%; }

.season-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.season-card { min-height: 12rem; border-radius: 1.1rem; display: grid; align-content: start; gap: .5rem; padding: 1rem; text-align: left; background: #0c1c2b; }
.season-card[aria-pressed="true"] { border-color: var(--dino-gold); box-shadow: 0 0 0 2px #ffd27722, 0 1rem 2.8rem #0004; transform: translateY(-.15rem); }
.season-card__icon { font-size: 2.5rem; }
.season-card strong { font-size: 1.08rem; }
.season-card span:not(.season-card__icon), .season-card small { color: var(--muted); line-height: 1.45; }
.season-card--spring { background: linear-gradient(145deg, #193b2c, #0c1c2b 70%); }
.season-card--summer { background: linear-gradient(145deg, #4a3920, #0c1c2b 70%); }
.season-card--autumn { background: linear-gradient(145deg, #492a22, #0c1c2b 70%); }
.season-card--winter { background: linear-gradient(145deg, #173a50, #0c1c2b 70%); }

.season-workspace { scroll-margin-top: 1rem; }
.season-workspace__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.workspace-dino { flex: 0 0 auto; min-width: 9rem; padding: .85rem 1rem; border: 1px solid #fff4; border-radius: 999px; color: var(--dino-gold); background: #07111faa; text-align: center; font-weight: 800; }
.phenomena-lab { margin-top: 1.25rem; padding: 1rem; border: 1px solid #ffffff2b; border-radius: 1rem; background: #07111f73; }
.phenomena-lab__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.phenomena-lab__intro h3 { margin: 0; font-size: 1rem; color: #e7f0f5; }
.phenomena-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: .85rem; }
.phenomenon-card { min-width: 0; display: grid; align-content: start; gap: .55rem; padding: .9rem; border: 1px solid #ffffff2c; border-radius: .9rem; background: #10243a; }
.phenomenon-card--spring { background: linear-gradient(145deg, #1c422f, #10243a 78%); }
.phenomenon-card--summer { background: linear-gradient(145deg, #55411e, #10243a 78%); }
.phenomenon-card--autumn { background: linear-gradient(145deg, #542d22, #10243a 78%); }
.phenomenon-card--winter { background: linear-gradient(145deg, #204a63, #10243a 78%); }
.phenomenon-card__icon { font-size: 1.65rem; }
.phenomenon-card h4 { margin: 0; color: var(--dino-gold); }
.phenomenon-card p { margin: 0; line-height: 1.45; }
.phenomenon-card__fact { color: #f2f6f8; }
.phenomenon-card__support { color: var(--muted); font-size: .88rem; }
.phenomenon-card__dino { color: var(--dino-green); font-size: .88rem; font-weight: 700; }
.knowledge-cave { position: relative; margin-top: 1.25rem; padding: 1.1rem; border: 1px solid #c9a96a66; border-radius: 1.1rem; overflow: hidden; background: radial-gradient(circle at 92% 14%, #ffd27724, transparent 14rem), linear-gradient(145deg, #211b25, #0b1721 68%); box-shadow: inset 0 -2rem 4rem #0003; }
.knowledge-cave::after { content: ""; position: absolute; right: -2.5rem; bottom: -3.5rem; width: 11rem; aspect-ratio: 1; border: 1.2rem solid #ffffff0b; border-radius: 50%; }
.knowledge-cave__intro { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: center; }
.knowledge-cave__intro h3, .knowledge-cave__intro p { margin: 0; }
.knowledge-cave__intro p:last-child { margin-top: .45rem; max-width: 62rem; color: var(--muted); line-height: 1.5; }
.knowledge-cave__dino { display: grid; place-items: center; width: 4.6rem; aspect-ratio: 1; border: 1px solid #ffd27777; border-radius: 50% 50% 44% 56%; background: #4b351f; font-size: 2.25rem; box-shadow: 0 0 2rem #ffd27722; }
.cave-depths { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.cave-depths li { display: flex; align-items: center; gap: .65rem; padding: .75rem .85rem; border: 1px solid #ffffff26; border-radius: .8rem; background: #07111f99; }
.cave-depths span { color: var(--dino-gold); font-size: 1.25rem; }
.pack-button--cave { border-color: #c9a96a77; background: #261f25; }
.pack-button--cave[aria-pressed="true"] { background: #4b351f; }
.pack-picker { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 1.2rem 0; }
.pack-buttons, .reward-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.pack-button { display: inline-flex; align-items: center; gap: .55rem; }
.pack-button[aria-pressed="true"] { border-color: var(--dino-gold); color: var(--dino-gold); }
.pack-check { display: inline-grid; place-items: center; width: 1.2rem; aspect-ratio: 1; border-radius: 50%; color: #082414; background: var(--dino-green); font-size: .75rem; }
.pack-placeholder { min-height: 8rem; display: grid; place-items: center; border: 1px dashed #fff4; border-radius: 1rem; color: var(--muted); }

.language-pack__form { display: grid; gap: 1rem; }
.pack-provenance { margin: 0 0 .8rem; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.pack-source-link { color: var(--signal); font-weight: 800; }
.language-pack--cave { padding: 1rem; border: 1px solid #c9a96a55; border-radius: 1rem; background: linear-gradient(160deg, #15151d, #081624aa); }
.cave-pack-heading { margin: 0 0 .8rem; color: var(--dino-gold); font-weight: 800; letter-spacing: .015em; }
.language-task-list { display: grid; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.language-task { border: 1px solid #42617d; border-radius: 1rem; background: #081624aa; overflow: hidden; }
.language-task fieldset { min-width: 0; margin: 0; padding: 1rem; border: 0; }
.language-task legend { width: 100%; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: .55rem; padding: 0 0 .8rem; line-height: 1.55; }
.task-dino { padding: .25rem .55rem; border-radius: 999px; color: #092119; background: var(--dino-green); font-size: .75rem; font-weight: 800; white-space: nowrap; }
.task-index { color: var(--dino-gold); font-weight: 800; }
.language-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.language-choice { min-width: 0; display: flex; align-items: flex-start; gap: .55rem; padding: .7rem; border: 1px solid #42617d99; border-radius: .75rem; background: #10243a; line-height: 1.4; cursor: pointer; }
.language-choice:has(input:checked) { border-color: var(--dino-gold); background: #3d3020; }
.language-choice input { flex: 0 0 auto; margin-top: .22rem; accent-color: var(--dino-gold); }
.task-support { margin-top: .75rem; color: var(--muted); }
.task-support summary { color: var(--signal); cursor: pointer; }
.task-support p { margin: .55rem 0 0; line-height: 1.5; }
.task-hint { font-size: .9rem; }
.task-feedback { min-height: 1.3rem; margin: .65rem 0 0; color: var(--muted); }
.language-task.is-correct { border-color: var(--dino-green); }
.language-task.is-correct .task-feedback { color: var(--dino-green); }
.language-task.is-wrong { border-color: #ef8d81; }
.language-task.is-wrong .task-feedback { color: #ffc0b8; }
.language-task--gap { border-style: dashed; background: linear-gradient(145deg, #101a2a, #081624aa); }
.language-task--gap .task-prompt { padding: .35rem .5rem; border-radius: .45rem; background: #ffffff08; }
.pack-submit { justify-self: start; border-color: var(--dino-gold); color: var(--dino-gold); }
.pack-feedback { min-height: 1.5rem; color: var(--signal); font-weight: 750; }
.reward-choice { margin-top: 1rem; padding: 1rem; border: 1px solid #ffd27766; border-radius: 1rem; background: linear-gradient(135deg, #49371d88, #10243a); }
.reward-choice strong { display: block; margin-bottom: .7rem; color: var(--dino-gold); }
.reward-button { border-color: #ffd27788; }

.dino-habitat { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: 2rem; align-items: start; }
.habitat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.habitat-season { min-height: 11rem; position: relative; padding: 1rem; border: 1px solid #fff4; border-radius: 1rem; overflow: hidden; background: #0c1c2b; }
.habitat-season::after { content: ""; position: absolute; right: -2rem; bottom: -2rem; width: 7rem; aspect-ratio: 1; border: .8rem solid #ffffff0e; border-radius: 50%; }
.habitat-season--spring { background: linear-gradient(150deg, #214c35, #0c1c2b 75%); }
.habitat-season--summer { background: linear-gradient(150deg, #5b461e, #0c1c2b 75%); }
.habitat-season--autumn { background: linear-gradient(150deg, #5a3022, #0c1c2b 75%); }
.habitat-season--winter { background: linear-gradient(150deg, #24516b, #0c1c2b 75%); }
.habitat-season__dino { font-size: 2.4rem; }
.habitat-season h3 { margin: .35rem 0 .65rem; font-size: 1rem; }
.habitat-empty { color: var(--muted); font-size: .88rem; line-height: 1.4; }
.habitat-finds { margin: 0; padding-left: 1.2rem; color: #f4f7e9; line-height: 1.6; }

.dino-research-station { border-color: #9fd78f66; background: radial-gradient(circle at 94% 8%, #9fd78f22, transparent 18rem), color-mix(in srgb, var(--panel) 92%, transparent); }
.dino-research-station__intro { display: flex; align-items: start; justify-content: space-between; gap: 1.5rem; }
.dino-research-station__intro h2 { margin-bottom: .55rem; }
.dino-research-station__intro .lede { max-width: 58rem; color: var(--muted); }
.dino-research-station .expedition-shop { margin-top: 1.3rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dino-research-station .expedition-item { border-color: #9fd78f55; background: #10251f; }
.dino-research-station .expedition-item__icon { border-color: #ffd27777; color: var(--dino-gold); background: #2c2a1e; }

.deutsch-sources-note { display: grid; grid-template-columns: .8fr 1.1fr 1.1fr; gap: 1rem; align-items: start; }
.deutsch-sources-note p { color: var(--muted); line-height: 1.55; }
.deutsch-sources-note a { color: var(--signal); }

@media (max-width: 800px) {
  .deutsch-hero, .dino-habitat, .deutsch-sources-note { grid-template-columns: 1fr; }
  .dino-research-station .expedition-shop { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .phenomena-grid { grid-template-columns: 1fr; }
  .cave-depths { grid-template-columns: 1fr; }
  .language-choices { grid-template-columns: 1fr; }
  .dino-season-wheel { width: min(21rem, 82vw); }
}

@media (max-width: 560px) {
  .site-header { align-items: flex-start; padding-block: .65rem; gap: .6rem; flex-wrap: wrap; }
  .dino-header { display: none; }
  .level-grid, .season-grid, .habitat-grid { grid-template-columns: 1fr; }
  .season-card { min-height: 0; }
  .season-workspace__header { align-items: flex-start; flex-direction: column; }
  .phenomena-lab__intro { align-items: flex-start; flex-direction: column; }
  .dino-research-station__intro { flex-direction: column; }
  .dino-research-station .expedition-shop { grid-template-columns: 1fr; }
  .language-task legend { grid-template-columns: auto 1fr; }
  .task-prompt { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
