/* PRANAV HUMAN PLAYER CONTRACT v1 — clarity + typography safety */
.pranavHuman .psScienceCue,.pranavHuman .psPeakEnd,.pranavHuman .lvEureka,.pranavHuman .pavEureka{display:none!important}
.pranavHuman .worldLawHud{font-size:12px;line-height:1.45;letter-spacing:.035em;text-transform:none;align-items:flex-start}.pranavHuman #worldLawText{max-width:680px;overflow-wrap:anywhere}
.pranavHuman .instr{font-size:13px;line-height:1.5;letter-spacing:.025em;text-transform:none;color:#aaa08e;max-width:660px;overflow-wrap:anywhere}
.pranavHuman .ptitle{font-size:clamp(38px,6.5vw,76px);line-height:1.02;letter-spacing:-.032em;padding:.08em .04em .14em;overflow-wrap:anywhere;word-break:normal;max-width:100%}
.pranavHuman .phook{font-size:clamp(17px,2.2vw,21px);line-height:1.46;max-width:650px;overflow-wrap:anywhere}
.pranavHuman .rtext{font-size:clamp(34px,5.8vw,64px);line-height:1.06;letter-spacing:-.025em;padding:.08em .03em .15em;overflow-wrap:anywhere;word-break:normal;max-width:100%}.pranavHuman .reflect{font-size:18px;line-height:1.52;overflow-wrap:anywhere}.pranavHuman .twist{font-size:12px;line-height:1.5;letter-spacing:.035em;text-transform:none;min-height:0;max-width:680px}
.pranavHuman .swipe,.pranavHuman .flip,.pranavHuman .pad,.pranavHuman .token,.pranavHuman .throw,.pranavHuman .feedCard,.pranavHuman .exitMessage{overflow-wrap:anywhere;word-break:normal;max-width:100%;line-height:1.18}.pranavHuman .swipe{font-size:clamp(24px,4vw,32px);padding:38px 22px}.pranavHuman .flip{font-size:clamp(24px,4vw,32px);padding:38px 20px}.pranavHuman .pad{font-size:clamp(17px,3vw,23px);padding:14px}
.pranavHuman .micro{font-size:10px;line-height:1.5;letter-spacing:.055em;text-transform:none;max-width:650px;margin-left:auto;margin-right:auto;overflow-wrap:anywhere}
.pranavHuman .meta.humanMeta{font-size:0!important;letter-spacing:0!important}.pranavHuman .meta.humanMeta:after{content:attr(data-human-meta);font:9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}
.pranavHuman .out{font-size:0!important;line-height:1.35;padding:9px 0}.pranavHuman .out:after{content:attr(data-human-label);font:italic 18px/1.35 Georgia,'Times New Roman',serif}
.pranavHuman .humanResultWhy{display:grid;gap:6px;margin-top:20px;padding:14px 0;border-top:1px solid rgba(241,231,211,.09);border-bottom:1px solid rgba(241,231,211,.07)}.pranavHuman .humanResultWhy small,.pranavHuman .humanRecap>small{font:8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em;color:var(--world);text-transform:uppercase}.pranavHuman .humanResultWhy span{font:16px/1.45 Georgia,'Times New Roman',serif;color:#b1a795;max-width:650px}
.pranavHuman .humanSwipeControls{display:flex;justify-content:center;gap:10px;margin-top:13px}.pranavHuman .humanSwipeControls button{border:1px solid rgba(241,231,211,.14);border-radius:999px;background:none;color:#b3aa99;padding:11px 15px;font:9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.pranavHuman .humanRecap{margin:24px 0 4px;padding:17px 0;border-top:1px solid rgba(241,231,211,.11);border-bottom:1px solid rgba(241,231,211,.08)}.pranavHuman .humanRecap p{font:17px/1.5 Georgia,'Times New Roman',serif;color:#aaa08f;max-width:680px}.pranavHuman .humanRecap ol{margin:13px 0 17px;padding-left:25px;display:grid;gap:8px}.pranavHuman .humanRecap li{font:16px/1.42 Georgia,'Times New Roman',serif;color:#d0c5b2;padding-left:4px}.pranavHuman .humanRecapBottom{font-style:italic!important;color:#908777!important}
.pranavHuman #ledger summary{font-size:9px;line-height:1.4;letter-spacing:.09em;text-transform:none}.pranavHuman #lawCurtain .lcLaw{line-height:1.45;overflow-wrap:anywhere}.pranavHuman #lawCurtain .lcName{line-height:.98;letter-spacing:-.035em;overflow-wrap:anywhere;padding:.08em .03em .12em}
@media(max-width:700px){.pranavHuman .play{padding-top:22px}.pranavHuman .ptitle{font-size:clamp(34px,11vw,52px);line-height:1.04}.pranavHuman .rtext{font-size:clamp(30px,9.5vw,46px);line-height:1.08}.pranavHuman .phook{font-size:17px}.pranavHuman .instr{font-size:12px}.pranavHuman .swipe,.pranavHuman .flip{font-size:24px;padding:32px 16px}.pranavHuman .outcomes{gap:6px 18px}.pranavHuman .out:after{font-size:17px}.pranavHuman #lawCurtain .lcName{font-size:clamp(38px,13vw,62px);line-height:1}}
@media(max-width:390px){.pranavHuman .wrap{padding-left:15px;padding-right:15px}.pranavHuman .ptitle{font-size:clamp(32px,10.5vw,43px)}.pranavHuman .rtext{font-size:clamp(29px,9.2vw,40px)}.pranavHuman .both{grid-template-columns:1fr 1fr}.pranavHuman .pad{font-size:16px;min-height:145px}.pranavHuman .humanSwipeControls{display:grid;grid-template-columns:1fr 1fr}}

/* PRANAV CHROMIUM MOBILE CLIPPING REPAIR v2
   Derived from failed PR #4 Chromium QA:
   - long .ptitle glyph ink exceeded its mobile line box by ~6px;
   - C128 rendered .exitStage and .micro as horizontal flex siblings.
*/
.pranavHuman .ptitle,
.pranavHuman .rtext,
.pranavHuman #lawCurtain .lcName{
  overflow:visible;
}

.pranavHuman #engine:has(.exitStage){
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  width:100%;
}

.pranavHuman #engine:has(.exitStage)>.micro{
  flex:0 0 auto;
  display:block;
  width:100%;
  max-width:min(650px,calc(100vw - 48px));
  margin:16px auto 0;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
}

@media(max-width:700px){
  .pranavHuman .ptitle{
    font-size:clamp(30px,9.2vw,44px);
    line-height:1.22;
    letter-spacing:-.02em;
    padding:.16em .06em .32em;
  }
  .pranavHuman #lawCurtain .lcName{
    line-height:1.12;
    padding:.14em .06em .26em;
  }
}

@media(max-width:390px){
  .pranavHuman .ptitle{
    font-size:clamp(29px,8.9vw,35px);
    line-height:1.24;
    letter-spacing:-.015em;
    padding:.18em .06em .36em;
  }
  .pranavHuman #engine:has(.exitStage)>.micro{
    max-width:calc(100vw - 64px);
  }
}

/* PRANAV C128 EXPLICIT ENGINE LAYOUT v3 */
.pranavHuman #engine.humanExit128{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
}
.pranavHuman #engine.humanExit128>.exitStage{
  flex:0 0 auto!important;
  width:100%!important;
  min-width:0!important;
}
.pranavHuman #engine.humanExit128>.micro{
  flex:0 0 auto!important;
  display:block!important;
  width:min(650px,calc(100% - 32px))!important;
  max-width:min(650px,calc(100% - 32px))!important;
  min-width:0!important;
  margin:16px auto 0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:break-word!important;
}
@media(max-width:390px){
  .pranavHuman #engine.humanExit128>.micro{
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
  }
}


/* PRANAV FULL GAME CLOSURE V6
   Root-cause repair from exhaustive 128×4 viewport audit.
   Presentation-only. Canonical manifest remains untouched.
*/
.pranavHuman .ptitle{
  font-size:clamp(36px,6.1vw,68px)!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
  padding:.10em .05em .22em!important;
}
.pranavHuman .rtext{
  font-size:clamp(32px,5.2vw,56px)!important;
  line-height:1.20!important;
  letter-spacing:-.012em!important;
  padding:.10em .04em .20em!important;
}
.pranavHuman #lawCurtain .lcName{line-height:1.16!important;letter-spacing:-.018em!important}
.pranavHuman .humanResultWhat{margin:0 0 7px}
.pranavHuman .humanResultWhat small,
.pranavHuman .humanResultWhy small{
  font:8px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.16em;text-transform:uppercase;color:var(--world)
}
.pranavHuman .humanResultWhy span{line-height:1.52!important}
.pranavHuman #mutate,.pranavHuman #share{display:none!important}
.pranavHuman #landing .actions [data-nav="about"]{display:none!important}

html.humanFocusMode .navright,
html.humanFocusMode .mobileDock,
html.humanFocusMode #pcsSound,
html.humanFocusMode .footer,
html.humanFocusMode .qualityChip,
html.humanFocusMode .worldLawHud{display:none!important}
html.humanFocusMode .nav{background:none!important;backdrop-filter:none!important;padding-bottom:4px!important}
html.humanFocusMode body{padding-bottom:0!important}

body.pranavHuman #skipToMain{min-height:44px;display:flex;align-items:center}
.pranavHuman .brand,.pranavHuman .begin{min-height:44px}
body.pranavHuman #pcsSound{min-width:44px;min-height:44px}

@media(max-width:700px){
  .pranavHuman .footer span{display:block!important}
  .pranavHuman .footer span+span{margin-top:6px}
  .pranavHuman .ptitle{
    font-size:clamp(28px,8.5vw,40px)!important;
    line-height:1.22!important;
    letter-spacing:-.012em!important;
    padding:.10em .04em .22em!important;
  }
  .pranavHuman .rtext{
    font-size:clamp(27px,8.2vw,38px)!important;
    line-height:1.24!important;
    letter-spacing:-.008em!important;
    padding:.10em .03em .20em!important;
  }
  .pranavHuman .phook{font-size:16px!important;line-height:1.50!important}
  .pranavHuman .instr{font-size:12px!important;line-height:1.58!important}
  .pranavHuman .play{padding-top:12px!important}
}
@media(max-width:390px){
  .pranavHuman .ptitle{font-size:clamp(27px,8.2vw,35px)!important;line-height:1.24!important}
  .pranavHuman .rtext{font-size:clamp(26px,7.9vw,34px)!important;line-height:1.26!important}
}


/* PRANAV AUTOCYCLE HARDENING 1 */
.pranavHuman .ptitle{line-height:1.24!important;letter-spacing:-.008em!important}
.pranavHuman .rtext{line-height:1.28!important;letter-spacing:0!important}
@media(max-width:700px){.pranavHuman .ptitle{line-height:1.28!important}.pranavHuman .rtext{line-height:1.32!important}}
.pranavHuman .footer span{display:block!important}.pranavHuman .footer span+span{margin-top:7px!important}
html.humanFocusMode .nav{display:none!important}
html.humanFocusMode .mobileDock,html.humanFocusMode #pcsSound,html.humanFocusMode .footer{display:none!important}
body.pranavHuman #skipToMain,.pranavHuman .brand,.pranavHuman .begin,body.pranavHuman #pcsSound{min-height:48px!important}


/* PRANAV AUTOCYCLE HARDENING 2 */
.pranavHuman .ptitle{line-height:1.24!important;letter-spacing:-.008em!important}
.pranavHuman .rtext{line-height:1.28!important;letter-spacing:0!important}
@media(max-width:700px){.pranavHuman .ptitle{line-height:1.28!important}.pranavHuman .rtext{line-height:1.32!important}}
.pranavHuman .footer span{display:block!important}.pranavHuman .footer span+span{margin-top:7px!important}
html.humanFocusMode .nav{display:none!important}
html.humanFocusMode .mobileDock,html.humanFocusMode #pcsSound,html.humanFocusMode .footer{display:none!important}
body.pranavHuman #skipToMain,.pranavHuman .brand,.pranavHuman .begin,body.pranavHuman #pcsSound{min-height:48px!important}


/* PRANAV RESIDUAL CLOSURE V8
   Residual families from full 128×4 viewport audit.
*/
html.pranavHuman #racts[hidden],
html.pranavHuman #outcomes[hidden],
html.pranavHuman #engine[hidden],
html.pranavHuman #begin[hidden]{
  display:none!important;
}

html.pranavHuman #skipToMain{
  min-height:48px!important;
  height:48px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
}
html.pranavHuman #skipToMain:not(:focus){
  top:-90px!important;
  transform:none!important;
}
html.pranavHuman #skipToMain:focus{
  top:10px!important;
  transform:none!important;
}

html.pranavHuman .lvMemoryResidue,
html.pranavHuman .psRuleGhost{
  display:none!important;
}

html.pranavHuman #racts:not([hidden]){
  display:flex!important;
}


/* PRANAV FINAL RESIDUAL V9
   Keep scientific logic under the experience; remove supplemental moving prose.
*/
html.pranavHuman .psScienceCue,
html.pranavHuman .psPeakEnd,
html.pranavHuman .lvEureka,
html.pranavHuman .pavEureka,
html.pranavHuman .lvMemoryResidue,
html.pranavHuman .psRuleGhost{
  display:none!important;
}

/* Closed science detail must be truly outside the active decision count. */
html.pranavHuman #ledger:not([open]) #ledgerBody{
  display:none!important;
}

/* Result staging remains one decision layer at a time. */
html.pranavHuman #result:not(.humanReflected) #racts,
html.pranavHuman #result:not(.humanReflected) #racts *{
  display:none!important;
}
html.pranavHuman #result.humanReflected #outcomes,
html.pranavHuman #result.humanReflected #outcomes *{
  display:none!important;
}
html.pranavHuman #result.humanReflected #racts{
  display:flex!important;
}
html.pranavHuman #result.humanReflected #mutate,
html.pranavHuman #result.humanReflected #share{
  display:none!important;
}


/* PRANAV V10 RAM META STABILITY
   World 6 may visually represent overload, but readable experiment/result metadata must not jitter.
*/
html.pranavHuman body[data-world="6"] #play .meta,
html.pranavHuman body[data-world="6"] #result .meta,
html.pranavHuman body[data-world="6"] #meta,
html.pranavHuman body[data-world="6"] #rmeta{
  animation:none!important;
  animation-name:none!important;
  transform:none!important;
  translate:none!important;
}


/* PRANAV V11 HUMAN ESCAPE
   One persistent escape path during play/result.
   Keep the noisy multi-control nav and mobile dock suppressed.
*/
html.humanFocusMode .nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  position:sticky!important;
  top:0!important;
  z-index:75!important;
  padding:7px 0 3px!important;
  min-height:48px!important;
  background:linear-gradient(#090908 58%,transparent)!important;
  backdrop-filter:blur(4px)!important;
}
html.humanFocusMode .navright{
  display:none!important;
}
html.humanFocusMode .brand{
  display:inline-flex!important;
  align-items:center!important;
  min-height:44px!important;
  padding:7px 4px!important;
  margin:0!important;
  font-size:12px!important;
  letter-spacing:.20em!important;
  opacity:.72!important;
}
html.humanFocusMode .brand:hover,
html.humanFocusMode .brand:focus-visible{
  opacity:1!important;
}


/* PRANAV V11.9 STABLE PLAY LATCH
   Allow the canonical's normal entrance once, then prevent presentation
   layers from replaying the base .view.on translateY(10px) animation.
   Interactive mechanic elements remain free to move.
*/
html.pranavHuman #play.view.on.humanPlaySettled{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}


/* PRANAV PROOFREADER REALITY REPAIR V1
   Human proofreaders must be able to see what is clickable and how to go back.
*/
.pranavHuman .out{
  min-height:46px!important;
  padding:10px 14px!important;
  border:1px solid rgba(241,231,211,.18)!important;
  border-radius:999px!important;
  background:rgba(241,231,211,.035)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,transform .12s ease!important;
}
.pranavHuman .out:hover,
.pranavHuman .out:focus-visible{
  border-color:color-mix(in srgb,var(--world) 58%,rgba(241,231,211,.2))!important;
  background:rgba(241,231,211,.065)!important;
}
.pranavHuman .out:active{transform:scale(.98)!important}
.pranavHuman .humanBack{
  min-height:44px;
  border:1px solid rgba(241,231,211,.14);
  border-radius:999px;
  background:rgba(9,9,8,.74);
  color:#b9af9e;
  padding:9px 13px;
  font:9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
  margin-left:auto;
}
.pranavHuman .humanBack[hidden]{display:none!important}
html.humanFocusMode .humanBack{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html.humanFocusMode .nav{
  justify-content:space-between!important;
}
@media(max-width:700px){
  .pranavHuman .out{
    min-height:48px!important;
    width:100%!important;
    text-align:left!important;
    justify-content:flex-start!important;
  }
  .pranavHuman .outcomes{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .pranavHuman .cta{
    min-height:44px!important;
    display:inline-flex!important;
    align-items:center!important;
  }
  .pranavHuman .humanBack{min-height:44px!important}
}


/* PRANAV PROOFREADER CARD DISTINCTION V1 */
.pranavHuman .humanCardCue{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(241,231,211,.07);
  color:#8f8779;
  font:12px/1.38 Georgia,'Times New Roman',serif;
  font-style:italic;
}
.pranavHuman .exp{
  min-height:132px;
}


/* PRANAV PROOFREADER HIERARCHY V1.3
   Primary action stays above explanation; deep interpretation cannot bury choices.
*/
.pranavHuman #landing .meHint{display:none!important}
.pranavHuman .humanWhyDeep{
  margin:14px 0 0;
  padding:0;
  border-top:1px solid rgba(241,231,211,.08);
}
.pranavHuman .humanWhyDeep summary{
  min-height:44px;
  display:flex;
  align-items:center;
  cursor:pointer;
  color:#9a9182;
  font:9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.pranavHuman .humanWhyDeep p{
  margin:2px 0 12px;
  max-width:680px;
  color:#a79d8b;
  font:15px/1.5 Georgia,'Times New Roman',serif;
}
@media(max-width:700px){
  html.pranavHuman #landing.view.on{
    animation:humanLandingFade .20s ease both!important;
    transform:none!important;
  }
  .pranavHuman #landing h1{
    font-size:clamp(42px,13vw,54px)!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }
  .pranavHuman #landing .actions{
    margin-top:22px!important;
    margin-bottom:15px!important;
  }
  .pranavHuman #landing .actions #play4{
    min-height:48px!important;
  }
  .pranavHuman #result .humanResultWhy{
    margin-top:12px!important;
    padding:11px 12px!important;
  }
  .pranavHuman #result .humanResultWhy span{
    font-size:15px!important;
    line-height:1.42!important;
  }
  .pranavHuman #result .reflect{
    font-size:16px!important;
    line-height:1.43!important;
  }
}
@media(max-width:390px){
  .pranavHuman #landing h1{font-size:46px!important}
}
@keyframes humanLandingFade{from{opacity:0}to{opacity:1}}


/* OTHERWISE HUMAN STATE CLOSURE V1.3
   State follows the selected outcome; interactive Explore targets never
   translate as part of the view entrance. */
html.pranavHuman #result:has(#outcomes .out.sel) #outcomes{
  display:none!important;
}
html.pranavHuman #result:has(#outcomes .out.sel) #racts{
  display:flex!important;
}
html.pranavHuman #result:has(#outcomes .out.sel) #racts #next,
html.pranavHuman #result:has(#outcomes .out.sel) #racts [data-nav="explore"]{
  display:inline-flex!important;
}
@keyframes otherwiseExploreEnterStable{
  from{opacity:0}
  to{opacity:1}
}
html.pranavHuman #explore.view.on{
  animation:otherwiseExploreEnterStable .30s ease both!important;
}


/* OTHERWISE REFLECTION MINIMALISM V1.3.2
   After the player reflects, immediate choice architecture is deliberately
   reduced to the two essential routes: continue or stop. */
html.pranavHuman #result.humanReflected #mutate,
html.pranavHuman #result.humanReflected #share,
html.pranavHuman #result:has(#outcomes .out.sel) #mutate,
html.pranavHuman #result:has(#outcomes .out.sel) #share{
  display:none!important;
}

/* Raw core twist copy is never allowed to flash before the human result
   layer has replaced it. Final recap explicitly opts back in. */
html.pranavHuman #result #twist{
  display:none!important;
}
html.pranavHuman #result.humanFinalRecap #twist{
  display:block!important;
}


/* OTHERWISE BLIND REVIEW CLOSURE V1.4 */
.pranavHuman .mobileDock[hidden]{display:none!important}
.pranavHuman .worldNode .nname{font-size:15px!important;line-height:1.16!important;letter-spacing:-.01em!important}
.pranavHuman .worldNode .ntag{font-size:9px!important;line-height:1.38!important;color:#a79d8b!important}
.pranavHuman .humanWhyDeep summary{color:#c9bea9!important}
.pranavHuman #ledger summary{color:#8f8678!important}
body.exit-8.pranavHuman #exitFinal{position:relative!important;z-index:95!important;opacity:1!important;filter:none!important}
body.exit-8.pranavHuman #exitFinal .exitMessage{color:#f1e7d3!important;opacity:1!important;text-shadow:0 2px 18px rgba(0,0,0,.9)!important}
body.exit-8.pranavHuman #exitFinal .reflect{color:#c8bda8!important;opacity:1!important}
body.exit-8.pranavHuman #exitFinal .actions{opacity:1!important}
body.exit-8.pranavHuman #exitFinal .cta{color:#eee3cf!important;border-color:rgba(241,231,211,.34)!important;background:rgba(5,5,5,.62)!important;opacity:1!important}
body.exit-8.pranavHuman #exitFinal .cta:focus-visible{outline-color:#f1e7d3!important}
