.skip-link{position:fixed;z-index:20;left:1rem;top:1rem;background:var(--white);padding:.7rem 1rem;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.game-shell{--content-inset:clamp(.85rem,4vw,2rem);width:min(46rem,100%);height:100%;min-height:0;margin:auto;background:var(--pink);display:grid;grid-template-rows:auto minmax(7.5rem,min(38vh,22rem)) minmax(0,1fr);border-inline:4px solid var(--dark,#052f31);box-shadow:0 0 0 1px #ffffff22,0 1rem 4rem #002d2d99;overflow:hidden}
.legal-footer{min-height:1.55rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.12rem .45rem;padding:.12rem .65rem .2rem;color:#c7e6e4;font-family:var(--body);font-size:.72rem;line-height:1.2;letter-spacing:.02em;background:var(--petrol)}
.beta-feedback-menu,.legal-menu{display:flex;align-items:center;gap:.38rem;white-space:nowrap}.beta-feedback-menu{justify-content:flex-start;text-align:left}.legal-menu{justify-content:flex-end;text-align:right}
.legal-footer a{color:#d8eeec;text-decoration-color:#79b8b5;text-decoration-thickness:1px;text-underline-offset:.14em}.legal-footer a:hover{color:var(--white)}body.keyboard-nav .legal-footer a:focus-visible{outline-color:var(--white)}
.feedback-toggle{appearance:none;border:0;padding:0;background:transparent;color:#d8eeec;font:inherit;line-height:inherit;text-decoration:underline;text-decoration-color:#79b8b5;text-decoration-thickness:1px;text-underline-offset:.14em;cursor:pointer}.feedback-toggle:hover{color:var(--white)}body.keyboard-nav .feedback-toggle:focus-visible{outline:3px solid var(--white);outline-offset:3px}
.game-bar{min-height:2.35rem;display:flex;align-items:center;justify-content:space-between;gap:.55rem;padding:.25rem clamp(.5rem,2vw,.85rem);background:var(--petrol);color:var(--white);font-family:var(--heading);letter-spacing:.04em}
.settings{display:flex;align-items:center;gap:.35rem}
.visual{position:relative;min-height:min(28.125vw,12.94rem);background:var(--petrol);border-bottom:5px solid var(--turquoise);overflow:hidden}
#pixel-art{display:block;width:100%;height:100%;margin-inline:auto;image-rendering:pixelated;object-fit:contain;background:var(--petrol)}
.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,#08505012 3px 4px)}
.story-panel{--panel-x:var(--content-inset);--panel-y:clamp(.7rem,2vh,1.15rem);display:flex;flex-direction:column;padding:0 var(--panel-x) var(--panel-y);max-width:44rem;width:100%;height:100%;min-height:0;margin-inline:auto;overflow:hidden;overflow-wrap:anywhere;overscroll-behavior:contain}
.story-scroll{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;padding:.55rem .55rem .8rem 0;scrollbar-color:var(--rose) var(--white);scrollbar-width:auto;scrollbar-gutter:stable;overscroll-behavior:contain}.scene-number+.story-scroll{margin-top:0;padding-top:.55rem}
.story-scroll::-webkit-scrollbar,.interaction-scroll::-webkit-scrollbar,.reader-page::-webkit-scrollbar,.visual-notification::-webkit-scrollbar,.interaction-evaluation::-webkit-scrollbar,.interaction-completion::-webkit-scrollbar,.action-reveal-content::-webkit-scrollbar{width:14px}.story-scroll::-webkit-scrollbar-track,.interaction-scroll::-webkit-scrollbar-track,.reader-page::-webkit-scrollbar-track,.visual-notification::-webkit-scrollbar-track,.interaction-evaluation::-webkit-scrollbar-track,.interaction-completion::-webkit-scrollbar-track,.action-reveal-content::-webkit-scrollbar-track{background:var(--white);border-left:2px solid var(--petrol)}.story-scroll::-webkit-scrollbar-thumb,.interaction-scroll::-webkit-scrollbar-thumb,.reader-page::-webkit-scrollbar-thumb,.visual-notification::-webkit-scrollbar-thumb,.interaction-evaluation::-webkit-scrollbar-thumb,.interaction-completion::-webkit-scrollbar-thumb,.action-reveal-content::-webkit-scrollbar-thumb{min-height:2.5rem;background:var(--rose);border:3px solid var(--white);border-radius:10px}
.scroll-overlay-host{position:relative!important}.persistent-scrollbar{position:absolute;z-index:40;pointer-events:none;border:2px solid var(--petrol);background:var(--white);box-shadow:0 0 0 1px #ffffffcc}.persistent-scrollbar[hidden]{display:none}.persistent-scrollbar>span{display:block;width:100%;min-height:36px;background:var(--rose);border:2px solid var(--white);border-radius:8px}
.scroll-edge{position:absolute;z-index:39;height:20px;pointer-events:none;overflow:hidden;contain:paint;opacity:0;transition:opacity .18s ease-out}.scroll-edge[hidden]{display:none}.scroll-edge.edge-visible{opacity:1}.scroll-edge-top{background:linear-gradient(to bottom,var(--pink) 0 12%,#fff7fcf0 34%,#fff7fca0 66%,transparent 100%)}.scroll-edge-bottom{background:linear-gradient(to top,var(--pink) 0 12%,#fff7fcf0 34%,#fff7fca0 66%,transparent 100%)}
.story-scroll>h1{font-size:clamp(1.875rem,4.8vh,2.5rem);color:var(--plum);margin:.1rem 0 .65rem;text-wrap:balance}
.story-panel p{max-width:68ch}
@media(max-height:680px){.game-shell{grid-template-rows:auto minmax(6rem,30vh) minmax(0,1fr)}body{font-size:.95rem}.story-panel{--panel-y:.5rem}.story-scroll>h1{font-size:clamp(1.875rem,4.4vh,2.2rem)}}
@media(prefers-reduced-motion:reduce){.scroll-edge{transition:none}}
@media(max-width:360px){.game-bar{font-size:.78rem}.game-shell{--content-inset:.7rem}.story-scroll>h1{font-size:clamp(1.875rem,4.4vh,2.15rem)}}
@media(min-width:44rem){#pixel-art{width:min(calc(100% - var(--content-inset) - var(--content-inset)),calc(44rem - var(--content-inset) - var(--content-inset)))}}
@media(min-width:44rem) and (min-height:681px){.game-shell{grid-template-rows:auto minmax(7.5rem,min(38vh,22.8125rem)) minmax(0,1fr)}}
@media(min-width:44rem) and (max-height:680px){
  body{height:auto;min-height:100svh;overflow-y:scroll;scrollbar-gutter:stable}
  .game-shell{height:auto;min-height:calc(100svh - 1.55rem);grid-template-rows:auto min(28.125vw,12.94rem) minmax(26rem,auto)}
  .story-panel{height:26rem;min-height:26rem}
}
/* Wird gesetzt, sobald der breiteste Eintrag vollständig in die rechte Außenfläche passt. */
body.legal-outside{display:block}
body.legal-outside .game-shell{height:100svh}
body.legal-outside .legal-footer{position:static;width:auto;min-height:0;padding:0;background:transparent}
body.legal-outside .beta-feedback-menu,body.legal-outside .legal-menu{position:fixed;z-index:5;bottom:.55rem;width:calc((100vw - min(46rem,100vw))/2 - 1.3rem);min-width:0}
body.legal-outside .beta-feedback-menu{left:.65rem;justify-content:flex-start;text-align:left}
body.legal-outside .legal-menu{right:.65rem;flex-direction:column;align-items:flex-end;gap:.22rem;text-align:right}
body.legal-outside .legal-menu>span[aria-hidden="true"]{display:none}
body.legal-outside.legal-row .legal-menu{flex-direction:row;align-items:center;justify-content:flex-end;gap:.38rem}
body.legal-outside.legal-row .legal-menu>span[aria-hidden="true"]{display:inline}
@media(max-height:680px){
  body.legal-outside{height:auto;min-height:100svh;overflow-y:scroll;scrollbar-gutter:stable}
  body.legal-outside .game-shell{height:auto;min-height:100svh}
}
@media(max-width:310px){.legal-footer{align-items:stretch}.beta-feedback-menu,.legal-menu{width:100%}}
@media(max-width:480px){
  body{font-size:1rem}
  .game-shell{--content-inset:clamp(.65rem,3vw,.85rem);grid-template-rows:auto clamp(7.5rem,24svh,10rem) minmax(0,1fr)}
  .game-bar{min-height:2.15rem;padding:.18rem .5rem;font-size:clamp(.76rem,2.1svh,.9rem)}
  .visual{min-height:0;height:auto}
  #pixel-art{width:auto;max-width:100%;height:100%;aspect-ratio:16/9;object-fit:contain}
  .story-panel{--panel-y:.42rem}
  .story-scroll{min-height:7.5rem;margin-top:0!important;padding:.5rem .8rem .65rem 0!important}
  .story-scroll>h1{font-size:clamp(1.875rem,4.4svh,2.15rem)}
}

/* Mobile-safe overlay rails: controls and station headings always stay above them. */
.story-scroll{padding-right:.85rem}
.persistent-scrollbar{z-index:3;transition:left .26s ease,top .26s ease,height .26s ease}
.persistent-scrollbar>span{transition:height .26s ease}
.scroll-edge{z-index:2;transition:opacity .18s ease-out,top .26s ease,height .26s ease}
@media(max-width:480px) and (max-height:520px){
  body{height:auto;min-height:100svh;overflow-y:auto;scrollbar-gutter:stable}
  .game-shell{height:auto;min-height:100svh;grid-template-rows:auto 7.5rem minmax(28rem,auto)}
  .story-panel{height:28rem;min-height:28rem}
}
