/* JTforME V71 — THE SHOEHORN OF JUSTICE TRILOGY · EPISODE I */
.psg68-enabled{--psg68-safe-top:env(safe-area-inset-top,0px);--psg68-safe-right:env(safe-area-inset-right,0px);--psg68-safe-bottom:env(safe-area-inset-bottom,0px);--psg68-safe-left:env(safe-area-inset-left,0px)}
.psg68-enabled .psg65-game{min-height:min(94svh,980px)}
.psg68-enabled .psg65-topbar{padding-top:max(13px,var(--psg68-safe-top));padding-right:max(16px,var(--psg68-safe-right));padding-left:max(16px,var(--psg68-safe-left))}
.psg68-enabled .psg65-touch-controls{padding-right:max(10px,var(--psg68-safe-right));padding-bottom:max(10px,var(--psg68-safe-bottom));padding-left:max(10px,var(--psg68-safe-left));touch-action:none;-webkit-user-select:none;user-select:none}
.psg68-enabled .psg65-touch-controls button,.psg68-enabled .psg65-icon-btn,.psg68-enabled .psg65-button{min-height:46px}
.psg68-enabled .psg65-canvas{overscroll-behavior:contain;-webkit-tap-highlight-color:transparent}
.psg68-enabled .psg65-overlay{overscroll-behavior:contain;padding:clamp(8px,2.4vw,22px)}
.psg68-enabled .psg65-panel{scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.psg68-enabled .psg66-menu-head h2 em{display:inline;color:#ffd96f}.psg68-enabled .psg66-menu-head h2{max-width:760px}
.psg68-storybook{display:flex;align-items:flex-start;gap:12px;margin:14px 0;padding:13px 15px;border:1px solid rgba(255,217,111,.25);border-radius:15px;background:linear-gradient(135deg,rgba(232,179,66,.09),rgba(79,195,228,.05));color:#dfeaf1}.psg68-storybook>span{font-size:1.45rem;line-height:1}.psg68-storybook p{margin:0!important;color:#dfeaf1!important}.psg68-storybook strong{color:#ffd96f}
.psg68-quickstart{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:14px 16px;border:1px solid rgba(79,195,228,.28);border-radius:17px;background:rgba(79,195,228,.075)}.psg68-quickstart>div:first-child{display:grid;gap:2px}.psg68-quickstart strong{font-size:1.03rem}.psg68-quickstart span{color:#cfe2ec;font-size:.83rem}.psg68-quickstart>div:last-child{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.psg68-recommended{position:relative;box-shadow:0 0 0 2px rgba(255,217,111,.48),0 12px 28px rgba(232,179,66,.13)!important}.psg68-recommended::after{content:'RECOMMENDED';position:absolute;top:10px;right:10px;padding:4px 7px;border-radius:999px;background:#ffd96f;color:#241604;font-size:.55rem;font-weight:950;letter-spacing:.08em}
.psg68-performance{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:16px 0;padding:13px 15px;border:1px solid rgba(232,179,66,.3);border-radius:15px;background:rgba(232,179,66,.075)}.psg68-performance>div:first-child{display:grid;gap:3px}.psg68-performance strong{color:#ffd96f}.psg68-performance span{color:#dce6eb;font-size:.84rem}.psg68-performance>div:last-child{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}
.psg68-guide .psg65-panel-kicker{color:#ffd96f}.psg68-guide h2 em{color:#ef6c8f}.psg68-once{padding:12px 15px;border-left:4px solid #e8b342;background:rgba(232,179,66,.08);color:#fff!important;font-size:1.02rem}.psg68-chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0}.psg68-chapters section{position:relative;padding:13px 12px 13px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.032)}.psg68-chapters b{display:grid;place-items:center;width:28px;height:28px;margin-bottom:8px;border-radius:50%;background:#e8b342;color:#241604}.psg68-chapters h3{margin:0 0 5px;color:#fff;font-size:.93rem}.psg68-chapters p{margin:0!important;font-size:.78rem;line-height:1.42!important}
.psg68-control-ribbon{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.psg68-control-ribbon span{padding:8px 9px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(0,0,0,.14);color:#c8d6df;font-size:.72rem}.psg68-control-ribbon b{display:block;color:#ffd96f;font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}
.psg68-orientation{position:absolute;z-index:60;right:max(12px,var(--psg68-safe-right));bottom:max(12px,var(--psg68-safe-bottom));left:max(12px,var(--psg68-safe-left));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(255,217,111,.45);border-radius:14px;background:rgba(4,10,15,.96);box-shadow:0 10px 34px rgba(0,0,0,.4);color:#fff}.psg68-orientation[hidden]{display:none}.psg68-orientation strong{color:#ffd96f}.psg68-orientation span{font-size:.82rem;color:#d4e0e7}.psg68-orientation button{min-height:40px;padding:8px 11px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-weight:800;cursor:pointer}
.psg68-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.psg68-enabled :focus-visible{outline:3px solid #ffd96f!important;outline-offset:3px!important}
.psg68-enabled .psg65-panel-actions .psg65-button.primary{min-width:150px}
.psg68-enabled[data-psg-mode="bossrush"] .psg65-stage-wrap::after{content:'HAUGHTINESS PROTOCOL';position:absolute;right:12px;bottom:77px;z-index:7;padding:5px 8px;border:1px solid rgba(239,108,143,.34);border-radius:999px;background:rgba(67,20,40,.72);color:#ffd8e6;font-size:.58rem;font-weight:950;letter-spacing:.08em;pointer-events:none}
@media(max-width:980px){.psg68-chapters{grid-template-columns:1fr 1fr}.psg68-chapters section:last-child{grid-column:1/-1}.psg68-control-ribbon{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.psg68-enabled .psg65-game{min-height:auto}.psg68-quickstart,.psg68-performance{align-items:stretch;flex-direction:column}.psg68-quickstart>div:last-child,.psg68-performance>div:last-child{justify-content:flex-start}.psg68-quickstart .psg65-button{flex:1}.psg68-control-ribbon{grid-template-columns:1fr 1fr}.psg68-orientation{grid-template-columns:1fr}.psg68-orientation button{justify-self:start}.psg68-enabled .psg65-panel{max-height:calc(100svh - 28px)}.psg68-enabled .psg65-top-actions{gap:4px}.psg68-enabled .psg65-icon-btn{width:42px;height:42px}.psg68-enabled .psg65-touch-controls button{min-height:58px}}
@media(max-width:480px){.psg68-chapters{grid-template-columns:1fr}.psg68-chapters section:last-child{grid-column:auto}.psg68-control-ribbon{grid-template-columns:1fr}.psg68-enabled .psg66-menu-head h2{font-size:clamp(1.9rem,10vw,2.7rem)}.psg68-storybook{font-size:.88rem}.psg68-quickstart>div:last-child{display:grid;grid-template-columns:1fr}.psg68-performance>div:last-child{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.psg68-enabled *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}


.psg69-crawl-wrap .psg65-panel-kicker{color:#8e5a16}.psg69-crawl-wrap h2 em{color:#8e5a16}
.psg69-crawl-stage{position:relative;height:min(58svh,440px);margin:16px 0 14px;overflow:hidden;border-radius:18px;border:1px solid rgba(100,64,20,.28);background:linear-gradient(180deg,rgba(88,56,22,.18),rgba(245,231,199,.96) 14%,rgba(232,214,174,.98) 58%,rgba(198,173,126,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 18px 36px rgba(0,0,0,.18)}
.psg69-crawl-stage::before{content:'';position:absolute;inset:0;background-image:url('/assets/constitution-we-the-people.svg');background-repeat:no-repeat;background-position:center 14px;background-size:220px auto;opacity:.08;mix-blend-mode:multiply;pointer-events:none}
.psg69-crawl-fade{position:absolute;left:0;right:0;z-index:2;height:22%}.psg69-crawl-fade.top{top:0;background:linear-gradient(180deg,rgba(245,231,199,1),rgba(245,231,199,.78),rgba(245,231,199,0))}.psg69-crawl-fade.bottom{bottom:0;background:linear-gradient(0deg,rgba(198,173,126,.95),rgba(198,173,126,.64),rgba(198,173,126,0))}
.psg69-crawl-surface{position:absolute;inset:0;perspective:900px;display:flex;align-items:flex-end;justify-content:center;padding:0 10% 8%}
.psg69-crawl-content{width:min(700px,100%);display:grid;gap:1rem;color:#3d2713;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.01em;transform-origin:50% 100%;animation:psg69-parchment-crawl 10s linear forwards}
.psg69-crawl-content p{margin:0;font-size:clamp(1rem,2.15vw,1.5rem);line-height:1.5;text-shadow:0 1px 0 rgba(255,248,231,.85)}
.psg69-crawl-lead{font-size:clamp(1.3rem,2.8vw,2rem)!important;letter-spacing:.18em;color:#6a4319}
.psg69-crawl-note{margin:0 0 10px!important;color:#d7d9dc!important;font-size:.9rem}
@keyframes psg69-parchment-crawl{0%{transform:translateY(66%) rotateX(24deg) scale(.95)}100%{transform:translateY(-148%) rotateX(24deg) scale(.7)}}
@media(max-width:700px){.psg69-crawl-stage{height:min(52svh,380px)}.psg69-crawl-surface{padding:0 8% 10%}.psg69-crawl-content p{font-size:clamp(.92rem,3.6vw,1.18rem)}}
@media(prefers-reduced-motion:reduce){.psg69-crawl-content{animation:none;transform:none;padding-top:5.5rem}.psg69-crawl-stage{height:auto;min-height:260px}.psg69-crawl-surface{position:relative;padding:4.8rem 7% 8%}.psg69-crawl-fade{display:none}}


.psg70-ending-wrap .psg65-panel-kicker{color:#e6b13d;letter-spacing:.18em}.psg70-ending-wrap h2 em{color:#f5d26a}
.psg70-ending-stage{position:relative;height:min(56svh,430px);margin:16px 0 14px;overflow:hidden;border-radius:18px;border:1px solid rgba(100,64,20,.28);background:linear-gradient(180deg,rgba(92,59,24,.18),rgba(246,234,204,.98) 16%,rgba(233,216,179,.99) 56%,rgba(205,181,135,.99));box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),0 18px 36px rgba(0,0,0,.18)}
.psg70-ending-stage::before{content:'';position:absolute;inset:0;background-image:url('/assets/constitution-we-the-people.svg');background-repeat:no-repeat;background-position:center 18px;background-size:250px auto;opacity:.08;mix-blend-mode:multiply;pointer-events:none}
.psg70-ending-fade{position:absolute;left:0;right:0;z-index:2;height:18%}.psg70-ending-fade.top{top:0;background:linear-gradient(180deg,rgba(246,234,204,1),rgba(246,234,204,.84),rgba(246,234,204,0))}.psg70-ending-fade.bottom{bottom:0;background:linear-gradient(0deg,rgba(205,181,135,.96),rgba(205,181,135,.68),rgba(205,181,135,0))}
.psg70-ending-scroll{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:5.2rem 8% 2rem}
.psg70-ending-content{width:min(760px,100%);display:grid;gap:1rem;color:#3b2412;text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.01em;animation:psg70-vertical-scroll 12s linear forwards}
.psg70-ending-content p{margin:0;font-size:clamp(1rem,1.9vw,1.36rem);line-height:1.58;text-shadow:0 1px 0 rgba(255,248,231,.85)}
.psg70-ending-lead{font-size:clamp(1.25rem,2.6vw,1.9rem)!important;letter-spacing:.18em;color:#6a4319}
@keyframes psg70-vertical-scroll{0%{transform:translateY(72%)}100%{transform:translateY(-138%)}}
@media(max-width:700px){.psg70-ending-stage{height:min(50svh,360px)}.psg70-ending-scroll{padding:4.4rem 7% 1.5rem}.psg70-ending-content p{font-size:clamp(.92rem,3.25vw,1.12rem)}}
@media(prefers-reduced-motion:reduce){.psg70-ending-content{animation:none;transform:none}.psg70-ending-stage{height:auto;min-height:280px}.psg70-ending-scroll{position:relative;padding:5rem 7% 3rem}.psg70-ending-fade{display:none}}


/* V71 trilogy lock + old-phone mobile control hardening */
.psg71-trilogy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}.psg71-trilogy span{display:grid;gap:2px;padding:10px 11px;border:1px solid rgba(255,217,111,.16);border-radius:12px;background:rgba(255,255,255,.028);color:#dce7ee;font-size:.72rem;line-height:1.25}.psg71-trilogy b{color:#ffd96f;font-size:.6rem;letter-spacing:.09em}
.psg71-enabled{--psg71-vh:1vh}
@media(max-width:760px){
  .psg71-trilogy{grid-template-columns:1fr}.psg71-trilogy span{font-size:.78rem}
  .psg71-enabled.psg71-live-mobile .psg65-game{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
  .psg71-enabled.psg71-live-mobile .psg65-status-line{display:none}
  .psg71-enabled.psg71-live-mobile .psg65-stage-wrap{height:clamp(330px,calc(var(--psg71-vh)*100 - 235px),560px);min-height:330px;max-height:none;overflow:hidden}
  .psg71-enabled.psg71-live-mobile .psg65-canvas{display:block;width:auto!important;height:100%!important;max-width:100%!important;max-height:100%!important;aspect-ratio:auto!important;margin-inline:auto;object-fit:contain}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls{display:grid;position:fixed;z-index:2147483000;left:0;right:0;bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:6px max(8px,env(safe-area-inset-right,0px)) max(8px,calc(env(safe-area-inset-bottom,0px) + 6px)) max(8px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(3,9,14,.985),rgba(8,19,29,.995));border-top:1px solid rgba(255,255,255,.17);box-shadow:0 -14px 32px rgba(0,0,0,.52)}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls button{min-width:0;min-height:44px!important;padding:5px 3px!important;border-radius:11px;font-size:clamp(.67rem,2.75vw,.8rem);line-height:1.08;white-space:normal}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls button.primary{grid-column:span 2}
  .psg71-enabled.psg71-live-mobile .psg65-topbar{position:sticky;top:0;z-index:30}
  .psg71-enabled.psg71-live-mobile .psg65-brand-copy strong{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
  .psg71-enabled.psg71-live-mobile .psg65-meter-stack{bottom:8px}
}
@media(max-width:390px){
  .psg71-enabled.psg71-live-mobile .psg65-game{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls{gap:4px;padding-top:5px}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls button{min-height:40px!important;font-size:.64rem}
  .psg71-enabled.psg71-live-mobile .psg65-stage-wrap{height:clamp(310px,calc(var(--psg71-vh)*100 - 220px),515px)}
}
@media(max-height:560px) and (orientation:landscape){
  .psg71-enabled.psg71-live-mobile .psg65-game{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls{grid-template-columns:repeat(7,minmax(0,1fr))}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls button.primary{grid-column:span 1}
  .psg71-enabled.psg71-live-mobile .psg65-touch-controls button{min-height:42px!important}
  .psg71-enabled.psg71-live-mobile .psg65-stage-wrap{height:calc(var(--psg71-vh)*100 - 115px);min-height:250px}
}
