/* Graskind-Welt – Kapitel digital: Regeln für den Welt-Modus (.has-world [data-world="ready"] …) und Szenen-Ergänzungen. */

/* Bühnenmaß für die Welt: in der DOM-Fassung ohne Wirkung */
.dg__wstage { display: none; }

/* Portal in der Welt hervorgehoben (Zeiger über dem 3D-Portal) */
.door.is-world-hover { transform: translateY(-3px); box-shadow: 0 0 0 2px var(--gk-green), var(--shadow-2); }

/* ---------- Welt-Modus: langer Flug, Texte als Papierkarten ---------- */
.has-world #digital[data-world="ready"] .dg__wstage {
  display: block; position: absolute; top: 0; left: 46%; right: 0;
  height: 100vh; min-height: 0; pointer-events: none; visibility: hidden;
}
.has-world #digital[data-world="ready"] :is(.dg__visual, .dg__path, .dg__plane) { display: none; }
.has-world #digital[data-world="ready"] .dg__stage { padding: 0; }
.has-world #digital[data-world="ready"] :is(.dg__head, .dg__flight, .dg__note) { max-width: none; padding-inline: 0; }
.has-world #digital[data-world="ready"] .dg__stations { display: block; }
.has-world #digital[data-world="ready"] :is(.dg__head, .dg__station, .dg__note) {
  position: relative; z-index: 2;
  background: rgba(251, 247, 238, .93);
  box-shadow: 0 18px 50px rgba(24, 34, 20, .16), 0 2px 6px rgba(24, 34, 20, .08);
}
.has-world #digital[data-world="ready"] .dg__station .h3 { margin-top: 0; }
.has-world #digital[data-world="ready"] .dg__station > p { margin: 0; }
.has-world #digital[data-world="ready"] .door { background: #fff; }

@media (min-width: 901px) {
  .has-world #digital[data-world="ready"] :is(.dg__head, .dg__station, .dg__note) {
    width: min(31rem, 33vw); margin-left: clamp(1.25rem, 4.5vw, 4.5rem); margin-right: auto;
    padding: clamp(1.4rem, 2.2vw, 2.1rem) clamp(1.4rem, 2.4vw, 2.3rem);
    border-radius: 26px;
  }
  .has-world #digital[data-world="ready"] .dg__head { margin-top: 36vh; margin-top: 36svh; margin-bottom: 0; }
  .has-world #digital[data-world="ready"] .dg__head .h2 { margin-bottom: 0; }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(1) { margin-top: 30vh; margin-top: 30svh; }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(2) { margin-top: 238vh; margin-top: 238svh; }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(3) { margin-top: 44vh; margin-top: 44svh; width: min(34rem, 36vw); }
  .has-world #digital[data-world="ready"] .dg__note { margin-top: 1rem; margin-bottom: 30vh; margin-bottom: 30svh; padding-block: 1rem; border-radius: 18px; }
}

@media (max-width: 900px) {
  .has-world #digital[data-world="ready"] :is(.dg__head, .dg__station, .dg__note) {
    width: auto; max-width: 34rem; margin-inline: var(--gutter);
    padding: 1.3rem 1.25rem 1.45rem; border-radius: 18px;
  }
  @media (min-width: 600px) { .has-world #digital[data-world="ready"] :is(.dg__head, .dg__station, .dg__note) { margin-inline: auto; } }
  .has-world #digital[data-world="ready"] .dg__head { margin-top: 62vh; margin-top: 62svh; margin-bottom: 0; }
  .has-world #digital[data-world="ready"] .dg__head .h2 { margin-bottom: 0; font-size: clamp(2rem, 8.5vw, 2.8rem); }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(1) { margin-top: 48vh; margin-top: 48svh; }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(2) { margin-top: 250vh; margin-top: 250svh; }
  .has-world #digital[data-world="ready"] .dg__station:nth-child(3) { margin-top: 60vh; margin-top: 60svh; }
  .has-world #digital[data-world="ready"] .dg__note { margin-top: .8rem; margin-bottom: 18vh; margin-bottom: 18svh; padding-block: .9rem; }
}
