/* JTforME V75 — Episode I flagship UX polish + hardening
   Pure static CSS. No platform routing/header behavior. */

/* ---------- Standalone flagship shell ---------- */
.psg75-direct-host{
  width:min(1600px,100%);
  margin-inline:auto;
  min-width:0;
}
.psg75-direct-host .psg65-shell,
.psg75-direct-host .psg65-game,
.psg75-direct-host .psg65-stage-wrap,
.psg75-direct-host .psg65-overlay,
.psg75-direct-host .psg65-panel{
  min-width:0!important;
  max-width:100%!important;
}
.psg75-direct-host .psg65-game{
  width:100%;
  border-radius:0 0 22px 22px;
  box-shadow:0 22px 80px rgba(0,0,0,.38);
}
.psg75-direct-host .psg65-stage-wrap{
  height:clamp(640px,calc(100dvh - 152px),930px);
  min-height:0!important;
}
.psg75-direct-host .psg65-overlay{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
  -webkit-overflow-scrolling:touch;
}
.psg75-direct-host .psg65-panel{
  width:min(1120px,calc(100% - 28px));
  max-height:calc(100dvh - 185px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.psg75-direct-host .psg65-panel-actions{
  position:sticky;
  bottom:-1px;
  z-index:4;
  margin-inline:-2px;
  padding:12px 2px 2px;
  background:linear-gradient(180deg,rgba(8,19,29,0),rgba(8,19,29,.94) 32%,rgba(8,19,29,1));
}
.psg75-direct-host .psg65-panel-actions .psg65-button{
  min-height:48px;
}
.psg75-direct-host .psg66-mode-grid,
.psg75-direct-host .psg68-chapters,
.psg75-direct-host .psg71-trilogy{
  min-width:0!important;
}
.psg75-direct-host .psg66-mode-card{
  min-width:0;
}

/* Let the flagship feel like a game, not a web form. */
.psg75-direct-host .psg65-canvas,
.psg75-direct-host .psg65-touch-controls button,
.psg75-direct-host .psg65-icon-btn,
.psg75-direct-host .psg65-button,
.psg75-direct-host .psg66-mode-card{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.psg75-direct-host .psg65-button,
.psg75-direct-host .psg65-icon-btn,
.psg75-direct-host .psg66-mode-card,
.psg75-direct-host .psg65-touch-controls button{
  transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease;
}
.psg75-direct-host .psg65-button:active,
.psg75-direct-host .psg65-icon-btn:active,
.psg75-direct-host .psg66-mode-card:active,
.psg75-direct-host .psg65-touch-controls button:active{
  transform:translateY(1px) scale(.985);
}

/* Avoid double scrollbars while a live run owns the screen. */
html.psg75-game-running,
body.psg75-game-running{
  overscroll-behavior:none;
}
body.psg75-game-running{
  overflow:hidden!important;
}
body.psg75-game-running .psg65-page-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:2147480000;
}
body.psg75-game-running .psg65-page-wrap{
  padding-top:58px;
}
body.psg75-game-running .psg75-boundary{
  display:none;
}

/* ---------- Standalone page chrome ---------- */
.psg65-page-header{
  position:sticky;
  top:0;
  z-index:2147480000;
  min-height:58px;
  backdrop-filter:saturate(125%) blur(10px);
  background:rgba(7,19,29,.965)!important;
}
.psg65-page-nav a{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
}
.psg65-page-nav a:hover,
.psg65-page-nav a:focus-visible{
  color:#fff;
  background:rgba(255,255,255,.07);
}
.psg75-boundary{
  max-width:1120px;
  margin:14px auto 24px;
  padding:0 18px;
  color:#aebfca;
}
.psg75-boundary details{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.psg75-boundary summary{
  cursor:pointer;
  list-style:none;
  padding:11px 14px;
  font-weight:850;
  color:#d7e2e9;
}
.psg75-boundary summary::-webkit-details-marker{display:none}
.psg75-boundary summary::before{content:'+';display:inline-grid;place-items:center;width:1.4em;height:1.4em;margin-right:8px;border-radius:50%;background:rgba(255,217,111,.12);color:#ffd96f}
.psg75-boundary details[open] summary::before{content:'–'}
.psg75-boundary p{margin:0;padding:0 14px 14px;line-height:1.55}

/* ---------- Overlay/menu polish ---------- */
.psg75-direct-host .psg68-quickstart{
  border-color:rgba(79,195,228,.38);
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.psg75-direct-host .psg68-quickstart .psg65-button.primary{
  box-shadow:0 0 0 2px rgba(255,217,111,.55),0 10px 26px rgba(239,82,75,.18);
}
.psg75-direct-host .psg71-trilogy span:first-child{
  border-color:rgba(255,217,111,.45);
  background:linear-gradient(135deg,rgba(255,217,111,.10),rgba(255,255,255,.025));
}
.psg75-direct-host .psg69-crawl-stage,
.psg75-direct-host .psg70-ending-stage{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.30),0 20px 50px rgba(0,0,0,.26);
}
.psg75-direct-host .psg69-crawl-content p,
.psg75-direct-host .psg70-ending-content p{
  text-wrap:pretty;
}

/* ---------- Small/older phone hardening ---------- */
@media(max-width:760px){
  .psg65-page-header{
    min-height:52px;
    padding:7px max(8px,env(safe-area-inset-right,0px)) 7px max(8px,env(safe-area-inset-left,0px))!important;
    align-items:center!important;
  }
  .psg65-page-brand small{font-size:.57rem!important;letter-spacing:.09em!important}
  .psg65-page-nav{gap:4px!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;max-width:65vw}
  .psg65-page-nav::-webkit-scrollbar{display:none}
  .psg65-page-nav a{flex:0 0 auto;min-height:36px;padding:6px 8px;font-size:.72rem}
  .psg75-direct-host .psg65-game{border-radius:0}
  .psg75-direct-host .psg65-stage-wrap{height:auto;min-height:calc(100dvh - 105px)!important}
  .psg75-direct-host .psg65-panel{
    width:calc(100% - 12px)!important;
    max-height:calc(100dvh - 68px)!important;
    border-radius:16px!important;
    padding:14px!important;
  }
  .psg75-direct-host .psg65-overlay{padding:6px!important}
  .psg75-direct-host .psg65-panel-actions{gap:8px!important;padding-top:11px}
  .psg75-direct-host .psg65-panel-actions .psg65-button{flex:1 1 145px;min-height:48px}
  .psg75-direct-host .psg66-mode-grid{grid-template-columns:1fr!important}
  .psg75-direct-host .psg68-quickstart>div:last-child{width:100%}
  .psg75-direct-host .psg68-quickstart .psg65-button{min-width:0}
  .psg75-direct-host .psg69-crawl-stage{height:min(48dvh,365px)!important}
  .psg75-direct-host .psg70-ending-stage{height:min(47dvh,350px)!important}
  .psg75-boundary{margin-bottom:16px;padding-inline:10px}
  body.psg75-game-running .psg65-page-wrap{padding-top:52px}
}

@media(max-width:420px){
  .psg65-page-brand strong{font-size:.88rem}
  .psg65-page-brand small{max-width:148px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .psg65-page-nav{max-width:58vw}
  .psg65-page-nav a{font-size:.67rem;padding-inline:7px}
  .psg75-direct-host .psg65-panel{padding:11px!important}
  .psg75-direct-host .psg66-menu-head h2{font-size:clamp(1.58rem,8vw,2.15rem)!important}
  .psg75-direct-host .psg68-storybook{padding:10px 11px}
  .psg75-direct-host .psg68-quickstart{padding:11px 12px}
  .psg75-direct-host .psg71-trilogy{gap:6px}
  .psg75-direct-host .psg71-trilogy span{padding:8px 9px}
  .psg75-direct-host .psg69-crawl-content{gap:.8rem}
  .psg75-direct-host .psg69-crawl-content p{font-size:clamp(.88rem,3.7vw,1.06rem)!important}
  .psg75-direct-host .psg70-ending-content p{font-size:clamp(.86rem,3.55vw,1.02rem)!important}
}

/* Very short landscape screens: preserve the control deck and game surface. */
@media(max-height:600px) and (orientation:landscape){
  .psg65-page-header{min-height:44px;padding-block:4px!important}
  .psg65-page-brand small{display:none}
  .psg65-page-nav a{min-height:32px;padding-block:4px}
  body.psg75-game-running .psg65-page-wrap{padding-top:44px}
  .psg75-direct-host .psg65-stage-wrap{height:calc(100dvh - 44px)!important;min-height:300px!important}
  .psg75-direct-host .psg65-panel{max-height:calc(100dvh - 54px)!important}
}

@media(prefers-reduced-motion:reduce){
  .psg75-direct-host .psg65-button,
  .psg75-direct-host .psg65-icon-btn,
  .psg75-direct-host .psg66-mode-card,
  .psg75-direct-host .psg65-touch-controls button{transition:none!important}
}

/* ---------- Public Accountability Arcade flagship launcher polish ---------- */
.psg65-flagship-zone .psg74-launchpad{
  gap:clamp(18px,3vw,34px)!important;
  padding:clamp(22px,3.4vw,42px)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 83% 16%,rgba(255,217,111,.12),transparent 28%),
    linear-gradient(135deg,#102a3e 0%,#091821 58%,#070f15 100%)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.30)!important;
}
.psg65-flagship-zone .psg74-launchpad h3,
.psg65-flagship-zone .psg74-launchpad h2{color:#fff!important;text-wrap:balance}
.psg65-flagship-zone .psg74-launchpad p{color:#cbd9e2!important;line-height:1.6}
.psg65-flagship-zone .psg74-launchpad .v62-actions,
.psg65-flagship-zone .psg74-launchpad .psg65-panel-actions{gap:10px!important}
.psg65-flagship-zone .psg74-launchpad a{
  min-height:48px;
  align-items:center;
  justify-content:center;
}
.psg65-flagship-zone .psg71-trilogy{margin-top:18px}
.psg65-flagship-zone .psg71-trilogy span{min-height:72px;align-content:center}
.psg65-flagship-zone .psg71-trilogy span:first-child{box-shadow:0 0 0 1px rgba(255,217,111,.22),0 10px 28px rgba(0,0,0,.16)}
@media(max-width:760px){
  .psg65-flagship-zone .psg74-launchpad{grid-template-columns:1fr!important;padding:18px 14px!important;border-radius:16px!important}
  .psg65-flagship-zone .psg74-launchpad .v62-actions,
  .psg65-flagship-zone .psg74-launchpad .psg65-panel-actions{display:grid!important;grid-template-columns:1fr!important}
  .psg65-flagship-zone .psg74-launchpad a{width:100%!important}
}

.psg75-load-fallback{display:grid;gap:12px;max-width:760px;margin:48px auto;padding:24px;border:1px solid rgba(255,217,111,.32);border-radius:18px;background:#0d2030;color:#e8f0f5;text-align:center}.psg75-load-fallback strong{font-size:1.25rem;color:#ffd96f}.psg75-load-fallback span{color:#c7d5df;line-height:1.5}.psg75-load-fallback button,.psg75-load-fallback a{justify-self:center;min-height:46px;padding:11px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#e54c43;color:#fff;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}.psg75-load-fallback a{background:transparent}
.psg75-noscript{max-width:760px;margin:36px auto;padding:18px;border:1px solid rgba(255,217,111,.28);border-radius:14px;background:#0d2030;color:#d9e5ec;text-align:center;line-height:1.5}
