/* DollMania onsite browser-game pages — Y8 production fit=auto. */
.theme-dollmania .game-card.is-onsite-playable .gp-card-play{background:#c33175;color:#fff}
.theme-dollmania .game-card.is-source-only .gp-card-play{background:#6e5361;color:#fff}
.theme-dollmania .game-card.is-onsite-playable{border-color:#ebc7d8}
.theme-dollmania .game-card.is-onsite-playable:hover{box-shadow:0 14px 30px rgba(155,46,94,.14)}

.theme-dollmania .game-intro.dm-onsite-intro{
  grid-template-columns:1fr;gap:24px;align-items:stretch;padding:24px;border-color:#edcfdd;
  background:linear-gradient(145deg,#fff 0%,#fff 58%,#fff1f6 100%);
  box-shadow:0 20px 50px rgba(116,47,79,.08)
}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy{
  display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:center;padding:10px 8px 4px
}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .eyebrow,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy h1,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .game-objective,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .fact-chips{grid-column:1}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-onsite-play-button,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .outbound-note,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-source-link,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-button,
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-status{grid-column:2}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-onsite-play-button{grid-row:1/span 2;align-self:end}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .outbound-note{grid-row:3;margin:6px 0 0}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-source-link{grid-row:4;margin:2px 0 0}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-button{grid-row:5;margin-top:8px}
.theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-status{grid-row:6}
.theme-dollmania .game-intro.dm-onsite-intro h1{font-family:Georgia,serif;font-weight:500;letter-spacing:-.055em}

.theme-dollmania .game-intro.dm-onsite-intro>.dm-player-stage{
  position:relative;box-sizing:border-box!important;display:block;width:min(100%,1180px)!important;
  max-width:1180px!important;height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:16/9!important;margin-inline:auto;justify-self:center;align-self:start;flex:none;
  border:0;border-radius:22px;background:#050507;
  box-shadow:0 0 0 1px #e8bfd1,inset 0 0 0 5px #fff,0 12px 32px rgba(121,48,82,.12);
  overflow:hidden
}
.theme-dollmania .dm-player-stage::after{
  content:"";position:absolute;z-index:4;inset:8px;pointer-events:none;
  border:1px solid rgba(255,255,255,.65);border-radius:15px
}
.theme-dollmania .dm-player-stage.is-playing::after{display:none}
.theme-dollmania .dm-player-poster{
  position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#f7e7ee;
  color:#fff;cursor:pointer;overflow:hidden;text-align:left
}
.theme-dollmania .dm-player-poster img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.002);transition:transform .5s ease,filter .4s ease
}
.theme-dollmania .dm-player-poster:hover img{transform:scale(1.025);filter:saturate(1.08) brightness(.98)}
.theme-dollmania .dm-player-wash{
  position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(63,24,43,.01) 25%,rgba(73,27,48,.10) 56%,rgba(74,24,48,.82) 100%),
  linear-gradient(90deg,rgba(118,36,76,.18),transparent 52%)
}
.theme-dollmania .dm-player-sparkle{
  position:absolute;z-index:2;top:18px;right:19px;width:46px;height:46px;display:grid;place-items:center;
  border-radius:50%;background:#fbe1a0;color:#9d3a67;border:1px solid rgba(133,60,93,.22);
  box-shadow:0 5px 16px rgba(77,30,52,.16);font-size:21px;transform:rotate(8deg)
}
.theme-dollmania .dm-player-lockup{
  position:absolute;z-index:3;left:27px;right:26px;bottom:24px;display:grid;
  grid-template-columns:minmax(0,1fr) 62px;grid-template-rows:auto auto;align-items:end;gap:6px 17px;
  text-shadow:0 2px 18px rgba(46,13,29,.58)
}
.theme-dollmania .dm-player-lockup small{grid-column:1;color:#ffe3ef;font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.theme-dollmania .dm-player-lockup strong{grid-column:1;color:#fff;font-family:Georgia,serif;font-size:clamp(24px,3vw,45px);font-weight:500;line-height:1;letter-spacing:-.04em;max-width:850px}
.theme-dollmania .dm-player-lockup b{
  grid-column:2;grid-row:1/3;align-self:center;justify-self:end;width:58px;height:58px;display:grid;place-items:center;
  border-radius:50%;background:#c33175;color:#fff;border:5px solid rgba(255,255,255,.75);
  box-shadow:0 8px 24px rgba(72,20,44,.32);font-size:18px;padding-left:3px;transition:transform .18s ease,background .18s ease
}
.theme-dollmania .dm-player-poster:hover .dm-player-lockup b{transform:scale(1.07);background:#a92762}
.theme-dollmania .dm-player-loading{
  position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;
  background:radial-gradient(circle at center,#fff9fbf7,#f8e7eefc);color:#a43266;
  font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase
}
.theme-dollmania .dm-player-loading[hidden]{display:none}
.theme-dollmania .dm-player-loading i{
  width:11px;height:11px;border-radius:50%;background:#c33175;box-shadow:0 0 0 7px rgba(195,49,117,.10);
  animation:dmPlayerPulse .9s ease-in-out infinite alternate
}
@keyframes dmPlayerPulse{to{transform:scale(1.55);opacity:.5}}

.theme-dollmania .dm-fitauto-stage .dm-fitauto-iframe{
  position:absolute;z-index:3;inset:0;display:block;box-sizing:border-box!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;margin:0;padding:0;border:0;background:#000;
  transform:none!important
}
.theme-dollmania .dm-player-stage.is-playing .dm-game-iframe{pointer-events:auto}
.theme-dollmania .dm-onsite-play-button{border-radius:28px;cursor:pointer;box-shadow:0 5px 0 rgba(166,38,96,.16)}
.theme-dollmania .dm-onsite-play-button.is-loaded{background:#82576b;border-color:#82576b;cursor:default;box-shadow:none}
.theme-dollmania .dm-source-link{display:inline-flex;align-items:center;gap:7px;width:max-content;margin:0 0 15px;color:#a83468!important;font-size:11px;font-weight:800;text-decoration:none!important}
.theme-dollmania .dm-source-link:hover{color:#7f214c!important}
.theme-dollmania .detail-page .facts dd{overflow-wrap:anywhere}

.theme-dollmania .game-intro.dm-onsite-intro>.dm-player-stage.is-playing{
  border:0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;overflow:hidden
}
.theme-dollmania .game-intro.dm-onsite-intro>.dm-player-stage.is-playing::after{display:none!important}
.theme-dollmania .game-intro.dm-onsite-intro>.dm-player-stage.is-playing .dm-game-iframe{
  border:0!important;border-radius:0!important;outline:0!important;box-shadow:none!important
}

@media(max-width:1000px){
  .theme-dollmania .game-intro.dm-onsite-intro{grid-template-columns:1fr;gap:22px;padding:18px}
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy{grid-template-columns:1fr}
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .eyebrow,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy h1,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .game-objective,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .fact-chips,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-onsite-play-button,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .outbound-note,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .dm-source-link,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-button,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-status{grid-column:1;grid-row:auto}
  .theme-dollmania .dm-player-lockup{left:20px;right:20px;bottom:18px}
}
@media(max-width:760px){
  .theme-dollmania .game-intro.dm-onsite-intro{grid-template-columns:1fr;padding:12px;gap:17px}
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy{padding:8px 8px 13px}
  .theme-dollmania .game-intro.dm-onsite-intro>.dm-player-stage{width:100%!important;max-width:100%!important;aspect-ratio:4/3!important;border-radius:17px;box-shadow:inset 0 0 0 4px #fff,0 9px 24px rgba(121,48,82,.10)}
  .theme-dollmania .dm-player-stage::after{inset:6px;border-radius:12px}
  .theme-dollmania .dm-player-sparkle{top:12px;right:12px;width:37px;height:37px;font-size:17px}
  .theme-dollmania .dm-player-lockup{left:15px;right:15px;bottom:14px;grid-template-columns:minmax(0,1fr) 45px;gap:4px 10px}
  .theme-dollmania .dm-player-lockup small{font-size:7px}
  .theme-dollmania .dm-player-lockup strong{font-size:clamp(20px,7vw,31px)}
  .theme-dollmania .dm-player-lockup b{width:43px;height:43px;border-width:4px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .theme-dollmania .dm-player-poster img,.theme-dollmania .dm-player-lockup b{transition:none}
  .theme-dollmania .dm-player-loading i{animation:none}
}

/* ===== Mobile landscape immersive fullscreen ===== */
html.dm-page-immersive,body.dm-page-immersive{overscroll-behavior:none}
body.dm-page-immersive{overflow:hidden!important}
.theme-dollmania .dm-player-stage.dm-mobile-immersive{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  width:100dvw!important;height:100dvh!important;max-width:none!important;max-height:none!important;
  min-width:0!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;
  aspect-ratio:auto!important;background:#000!important;box-shadow:none!important;overflow:hidden!important
}
.theme-dollmania .dm-player-stage.dm-mobile-immersive:fullscreen,
.theme-dollmania .dm-player-stage.dm-mobile-immersive:-webkit-full-screen{width:100%!important;height:100%!important;background:#000!important}
.theme-dollmania .dm-player-stage.dm-mobile-immersive::after{display:none!important}
.theme-dollmania .dm-mobile-immersive .dm-fitauto-iframe,
.theme-dollmania .dm-mobile-immersive .dm-game-iframe{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  border:0!important;border-radius:0!important;background:#000!important;transform:none!important
}
.dm-mobile-exit{
  position:absolute;z-index:40;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));
  display:none;align-items:center;justify-content:center;gap:5px;min-width:98px;min-height:38px;padding:6px 11px 6px 9px;
  border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(48,12,29,.68);color:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,.28);font:inherit;backdrop-filter:blur(10px);-webkit-tap-highlight-color:transparent
}
.dm-mobile-immersive .dm-mobile-exit{display:flex!important}
.dm-mobile-exit span{font-size:25px;line-height:.8;transform:translateY(-1px)}
.dm-mobile-exit strong{font-size:10px;font-weight:950;line-height:1;letter-spacing:.065em}
.dm-mobile-exit:active{transform:scale(.96)}

/* ===== 2026-09-12 auto-load player refinement ===== */
.dm-player-stage .dm-player-poster{cursor:default}
.dm-player-stage .dm-player-poster .dm-player-lockup{display:none!important}
.dm-mobile-enter{
  position:absolute;z-index:35;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));
  display:none;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 11px;
  border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(24,8,24,.70);color:#fff;
  box-shadow:0 7px 24px rgba(0,0,0,.32);font:inherit;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
  -webkit-tap-highlight-color:transparent
}
.dm-mobile-enter span{font-size:17px;line-height:1}.dm-mobile-enter strong{font-size:9px;font-weight:950;line-height:1;letter-spacing:.08em}
.dm-mobile-enter:active{transform:scale(.96)}
@media(max-width:820px) and (pointer:coarse){
  .dm-player-stage[data-mobile-immersive="1"].is-playing:not(.dm-mobile-immersive) .dm-mobile-enter{display:flex}
  .dm-player-stage.dm-mobile-immersive .dm-mobile-enter{display:none!important}
}

/* ===== 2026-09-13 native-ratio mobile fullscreen correction =====
   Preserve the recorded Y8 game viewport and scale it uniformly inside the
   phone's available landscape area instead of stretching it to 100% x 100%. */
.theme-dollmania .dm-player-stage.dm-mobile-immersive .dm-fitauto-iframe,
.theme-dollmania .dm-player-stage.dm-mobile-immersive .dm-game-iframe{
  position:absolute!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#000!important;
}
@media (orientation:portrait) and (pointer:coarse){
  .theme-dollmania .dm-player-stage.dm-mobile-immersive.dm-mobile-force-landscape{
    inset:auto!important;
    left:50%!important;
    top:50%!important;
    width:100dvh!important;
    height:100vw!important;
    transform:translate(-50%,-50%) rotate(90deg)!important;
    transform-origin:center!important;
  }
}

/* ===== 2026-09-15 desktop player actions + native fullscreen scaling =====
   Desktop only. Mobile immersive rules above remain unchanged. */
.dm-desktop-player-actions{display:none}
@media (min-width:821px){
  .theme-dollmania .dm-desktop-player-actions{
    display:flex;align-items:center;justify-content:center;gap:10px;
    width:max-content;max-width:100%;margin:10px auto 0;padding:0 4px;
  }
  .theme-dollmania .dm-desktop-player-action{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:38px;padding:8px 15px;border:1px solid #e4bfd0;border-radius:999px;
    background:#fff;color:#7c2b51;box-shadow:0 4px 12px rgba(103,38,69,.07);
    font:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
  }
  .theme-dollmania .dm-desktop-player-action:hover{
    transform:translateY(-1px);border-color:#c33175;box-shadow:0 6px 15px rgba(103,38,69,.11);
  }
  .theme-dollmania .dm-desktop-player-action span{font-size:16px;line-height:1;color:#c33175}
  .theme-dollmania .dm-desktop-player-action strong{font-size:9px;line-height:1;font-weight:900;letter-spacing:.085em}
  .theme-dollmania .dm-desktop-player-action.is-saved{background:#fff3f8;border-color:#c33175;color:#8f2857}
  .theme-dollmania .dm-desktop-player-action.is-active{background:#4f2036;border-color:#4f2036;color:#fff}
  .theme-dollmania .dm-desktop-player-action.is-active span{color:#fff}

  /* The existing Save for later control remains untouched on mobile, but on
     desktop the single favorite CTA directly below the player is authoritative. */
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-button,
  .theme-dollmania .game-intro.dm-onsite-intro .game-intro-copy .save-status{display:none!important}

  .theme-dollmania .dm-player-stage.dm-desktop-fullscreen-active,
  .theme-dollmania .dm-player-stage.dm-fitauto-stage:fullscreen,
  .theme-dollmania .dm-player-stage.dm-fitauto-stage:-webkit-full-screen{
    position:relative!important;inset:auto!important;
    width:100vw!important;height:100vh!important;
    min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    aspect-ratio:auto!important;background:#000!important;box-shadow:none!important;overflow:hidden!important;
  }
  .theme-dollmania .dm-player-stage.dm-desktop-fullscreen-active::before,
  .theme-dollmania .dm-player-stage.dm-desktop-fullscreen-active::after,
  .theme-dollmania .dm-player-stage.dm-fitauto-stage:fullscreen::before,
  .theme-dollmania .dm-player-stage.dm-fitauto-stage:fullscreen::after{display:none!important}
  .theme-dollmania .dm-player-stage.dm-desktop-fullscreen-active::backdrop,
  .theme-dollmania .dm-player-stage.dm-fitauto-stage:fullscreen::backdrop{background:#000!important}
}

