.pr-page {
    background: #0a0a0a;
  }
  .pr-canvas-wrap {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
  }
  #gameCanvas {
    display: block;
    max-width: 100%;
    border: 2px solid #ff3300;
    box-shadow: 0 0 24px rgba(255,51,0,0.25);
    touch-action: none;
    cursor: crosshair;
  }
  #btn-fullscreen {
    position: absolute;
    bottom: 8px;
    right: 18px;
    background: rgba(0,0,0,0.55);
    border: 1px solid #ff3300;
    color: #ff3300;
    font-size: 13px;
    padding: 3px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-family: monospace;
    z-index: 10;
    transition: background 0.1s;
  }
  #btn-fullscreen:hover { background: rgba(255,51,0,0.2); }
  /* Ladeplatzhalter über dem Canvas, bis das erste Bild steht (Krypta: #kPoster). */
  #pr-loading {
    position: absolute; inset: 0; z-index: 5;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px; background: #0a0a0a; pointer-events: none;
    font-family: 'Bebas Neue', sans-serif; letter-spacing: 4px;
    font-size: clamp(1.2rem, 4vw, 1.8rem); color: #ff3300;
    transition: opacity .4s ease;
  }
  #pr-loading small { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 2px; color: #555; }
  #pr-loading.pr-loading--weg { opacity: 0; }
  /* Auf Touch-Geräten: Vollbild-Button in Touch-Controls einblenden */
  #btn-fullscreen-mobile {
    display: none;
    flex: 0 0 auto;
    background: rgba(255,51,0,0.12);
    border: 2px solid #ff3300;
    color: #ff3300;
    font-size: 22px;
    padding: 14px 18px;
    border-radius: 6px;
    cursor: pointer;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }
  #btn-fullscreen-mobile:active { background: rgba(255,51,0,0.35); }
  @media (pointer: coarse) {
    #btn-fullscreen-mobile { display: flex; align-items: center; justify-content: center; }
    #btn-fullscreen { display: none; }
  }
  #pr-landscape-hint {
    display: none;
    background: rgba(255,51,0,0.12);
    border: 1px solid #ff3300;
    color: #ff3300;
    font-family: monospace;
    font-size: 11px;
    text-align: center;
    padding: 6px 12px;
    margin: 6px auto 0;
    max-width: 1100px;
    letter-spacing: 1px;
  }
  #pr-touch-controls {
    display: none;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 8px 8px 0;
    gap: 12px;
  }
  @media (pointer: coarse) {
    #pr-touch-controls { display: flex; }
  }
  .pr-touch-btn {
    flex: 1;
    background: rgba(255,51,0,0.1);
    border: 2px solid #ff3300;
    color: #ff3300;
    font-size: 26px;
    font-family: monospace;
    padding: 14px 0;
    border-radius: 6px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    touch-action: none;
  }
  .pr-touch-btn:active { background: rgba(255,51,0,0.35); }
  /* Sichtbarkeit NUR ueber diese Regeln, nicht inline: ein style="display:none"
     am Element haette hoehere Prioritaet als die Klasse und die Leiste waere
     nie erschienen. */
  #pr-arena-pad { display: none; }
  #pr-arena-pad.pr-an { display: flex; }
  /* Richtungsknoepfe links zusammen, Sprung rechts abgesetzt: so findet jeder
     Daumen seinen Platz, ohne hinzusehen. */
  .pr-arena-btn { flex: 1; font-size: 30px; padding: 18px 0; }
  .pr-arena-jump { flex: 1.5; margin-left: auto; border-color: #ffcc00; color: #ffcc00; }
  .pr-arena-jump:active { background: rgba(255,204,0,0.3); }
  #pr-gesture-hint { opacity: 1; transition: opacity .4s; }
  #pr-gesture-hint.pr-hint-fade { opacity: 0; }
  #pr-canvas-wrap:fullscreen,
  #pr-canvas-wrap:-webkit-full-screen,
  #pr-canvas-wrap.pr-ios-fullscreen {
    background: #0a0a0a;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
  #pr-canvas-wrap:fullscreen #gameCanvas,
  #pr-canvas-wrap:-webkit-full-screen #gameCanvas,
  #pr-canvas-wrap.pr-ios-fullscreen #gameCanvas {
    border: none;
    box-shadow: none;
    /* Skaliert auf maximale Größe bei 800:250 = 3.2:1 Seitenverhältnis */
    width:      min(100vw, calc(100vh * 3.2)) !important;
    height:     min(100vh, calc(100vw / 3.2)) !important;
    max-width:  none !important;
    max-height: none !important;
  }
  body.pr-ios-fs-active {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
  }
  #pr-canvas-wrap.pr-ios-fullscreen {
    position: fixed;
    inset: 0;            /* fills the viewport exactly – avoids the iOS 100vw/100vh overflow quirk */
    z-index: 9999;
    max-width: none;
  }
  #btn-exit-fullscreen {
    display: none;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10000;
    background: rgba(0,0,0,0.65);
    border: 1px solid #ff3300;
    color: #ff3300;
    font-size: 18px;
    line-height: 1;
    width: 36px;
    height: 36px;
    border-radius: 4px;
    cursor: pointer;
    touch-action: none;
    -webkit-user-select: none;
    user-select: none;
    align-items: center;
    justify-content: center;
  }
  #pr-canvas-wrap:fullscreen #btn-exit-fullscreen,
  #pr-canvas-wrap:-webkit-full-screen #btn-exit-fullscreen,
  #pr-canvas-wrap.pr-ios-fullscreen #btn-exit-fullscreen {
    display: flex;
  }

  /* ── Achievement Share Card ──────────────────────────────────────────────── */
  .pr-ach-card {
    position: absolute; bottom: 70px; right: 12px; width: 230px;
    background: #080808; border: 2px solid #ff3300;
    box-shadow: 0 0 22px rgba(255,51,0,.3), 4px 4px 0 #7a0000;
    font-family: 'DM Mono', monospace; z-index: 30;
    animation: pr-slide-in .38s cubic-bezier(.22,1,.36,1) both;
  }
  @keyframes pr-slide-in {
    from { transform: translateX(115%); opacity: 0; }
    to   { transform: translateX(0);    opacity: 1; }
  }
  .pr-ach-card__head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 5px 8px 4px; background: rgba(255,51,0,.08);
    border-bottom: 1px solid rgba(255,51,0,.2);
  }
  .pr-ach-card__game {
    font-family: 'Bebas Neue', sans-serif; font-size: 8px;
    letter-spacing: .2em; color: #ff3300;
  }
  .pr-ach-card__close {
    background: none; border: none; color: #333; cursor: pointer;
    font-size: 11px; line-height: 1; padding: 0; transition: color .1s;
  }
  .pr-ach-card__close:hover { color: #aaa; }
  .pr-ach-card__body { padding: 10px 12px 12px; text-align: center; }
  .pr-ach-card__icon {
    display: block; font-size: 30px; line-height: 1; margin-bottom: 6px;
    filter: drop-shadow(0 0 8px rgba(255,215,0,.5));
  }
  .pr-ach-card__name {
    font-family: 'Bebas Neue', sans-serif; font-size: 14px;
    letter-spacing: .05em; color: #fff; margin-bottom: 3px;
  }
  .pr-ach-card__score { font-size: 9px; color: #ffd700; letter-spacing: .1em; margin-bottom: 10px; }
  .pr-ach-card__btn {
    display: block; width: 100%; cursor: pointer;
    font-family: 'Bebas Neue', sans-serif; font-size: 13px;
    letter-spacing: .14em; padding: 8px;
    background: #ff3300; color: #fff; border: none;
    box-shadow: 0 0 10px rgba(255,51,0,.35);
    transition: background .1s, transform .08s;
  }
  .pr-ach-card__btn:hover  { background: #cc2200; transform: scale(1.02); }
  .pr-ach-card__btn:active { transform: scale(.97); }
  .pr-ach-card__btn:disabled { background: #222; color: #444; box-shadow: none; cursor: default; transform: none; }
  .pr-ach-card__ok {
    display: block; padding: 8px; text-align: center;
    font-size: 10px; letter-spacing: .1em; color: #4caf50;
  }

  /* ── Game-Over Share Panel ──────────────────────────────────────────────── */
  #pr-share-panel {
    background: #0a0a0a !important; border: 2px solid #ff3300 !important;
    border-radius: 0 !important; box-shadow: 4px 4px 0 rgba(255,51,0,.2) !important;
    padding: 0 !important; overflow: hidden;
  }
  #pr-share-panel-head {
    padding: 7px 12px 5px; background: rgba(255,51,0,.08);
    border-bottom: 1px solid rgba(255,51,0,.18);
    font-family: 'Bebas Neue', sans-serif; font-size: 11px;
    letter-spacing: .2em; color: #ff3300;
  }
  .pr-share-row {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 12px; width: 100%;
    background: none; border: none; border-bottom: 1px solid #111;
    color: #666; cursor: pointer; text-align: left;
    transition: background .1s, color .1s; font-family: 'DM Mono', monospace;
  }
  .pr-share-row:last-child { border-bottom: none; }
  .pr-share-row:hover { background: rgba(255,51,0,.07); color: #ccc; }
  .pr-share-row.done .pr-share-row__arrow { color: #4caf50; }
  .pr-share-row__ico { font-size: 20px; flex-shrink: 0; }
  .pr-share-row__txt { flex: 1; min-width: 0; }
  .pr-share-row__title { display: block; font-size: 12px; color: #ccc; }
  .pr-share-row.done .pr-share-row__title { color: #4caf50; }
  .pr-share-row__sub   { display: block; font-size: 10px; color: #444; margin-top: 1px; }
  .pr-share-row__arrow { color: #ff3300; font-size: 12px; flex-shrink: 0; transition: color .1s; }

/* Feste Aktionsknöpfe für beide Daumen, auch im normalen Lauf. */
#pr-arena-pad.pr-run-pad #btn-left,
#pr-arena-pad.pr-run-pad #btn-right { display: none; }
.pr-arena-btn { min-width: 0; min-height: 56px; padding: 12px 4px; touch-action: none; }
.pr-arena-btn span { display: block; font-size: 11px; line-height: 1.4; }
.pr-arena-glide { border-color: #8ab5c4; color: #b7d8e2; }
.pr-arena-jump { border-color: #d4ba7e; color: #f0d9a0; }
#pr-touch-controls { padding-bottom: max(8px, env(safe-area-inset-bottom)); }

@media (pointer: coarse) {
  #pr-canvas-wrap:fullscreen,
  #pr-canvas-wrap:-webkit-full-screen,
  #pr-canvas-wrap.pr-ios-fullscreen { flex-direction: column; }
  #pr-canvas-wrap:fullscreen #gameCanvas,
  #pr-canvas-wrap:-webkit-full-screen #gameCanvas,
  #pr-canvas-wrap.pr-ios-fullscreen #gameCanvas {
    width: min(100vw, calc((100dvh - 100px) * 3.2)) !important;
    height: min(calc(100dvh - 100px), calc(100vw / 3.2)) !important;
  }
  #pr-canvas-wrap #pr-touch-controls { flex: 0 0 auto; width: 100%; max-width: 900px; }
  #pr-canvas-wrap #btn-fullscreen-mobile { display: none; }
}
