/* DOBOX V132 — immersion continuity fixes.
   Loaded last. Do not duplicate older selectors here unless correcting them intentionally. */

/* --- Mei is a presence in the world, not a portrait card --- */
.mei-scene-presence{position:absolute;z-index:24;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}
.mei-scene-dim{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(2,13,18,.46) 0 38%,rgba(2,13,18,.10) 68%,rgba(2,13,18,.22));backdrop-filter:brightness(.9);animation:v132-mei-dim .48s ease both}
.mei-scene-character{position:absolute;z-index:2;right:4.5%;bottom:0;height:min(72svh,760px);width:auto;max-width:34vw;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 20px 34px rgba(0,0,0,.34));animation:v132-mei-enter .6s cubic-bezier(.2,.76,.22,1) both}
.mei-scene-copy{position:absolute;z-index:3;left:clamp(28px,6vw,92px);bottom:clamp(92px,12vh,150px);width:min(510px,46vw);padding:0 0 0 18px;border-left:2px solid rgba(239,163,138,.9);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7);pointer-events:none}
.mei-scene-copy span{display:block;margin-bottom:8px;font:800 12px/1 var(--font-sans,system-ui);letter-spacing:.2em;color:#f0b49f}
.mei-scene-copy p{margin:0;font-family:var(--font-serif,Georgia,serif);font-size:clamp(25px,2.65vw,40px);line-height:1.12;text-wrap:balance}
.mei-scene-action{position:absolute;z-index:4;right:clamp(28px,5vw,72px);bottom:clamp(28px,5vh,60px);max-width:min(420px,46vw);min-height:54px;padding:13px 20px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(4,28,37,.74);backdrop-filter:blur(12px);color:#fff;font:750 15px/1.15 var(--font-sans,system-ui);pointer-events:auto;box-shadow:0 14px 32px rgba(0,0,0,.24)}
.mei-scene-action:active{transform:translateY(1px)}
@keyframes v132-mei-enter{from{opacity:0;transform:translate3d(34px,8px,0)}to{opacity:1;transform:none}}
@keyframes v132-mei-dim{from{opacity:0}to{opacity:1}}

/* --- Day 0 paper objects get the whole frame while open --- */
.chapter-day0 .letter-focus{z-index:40}
.chapter-day0 .letter-focus .paper-letter{max-height:min(88svh,900px);overflow:hidden}
.chapter-day0 .letter-focus .letter-scroll{overscroll-behavior:contain}

/* --- Genkan / shoji: swipe the real scene, no synthetic button panel --- */
.genkan-scene .shoji-room-reveal{--door:0%;position:absolute;z-index:12;inset:0;pointer-events:none;overflow:hidden;clip-path:inset(0 calc(100% - var(--door)) 0 0);background:url('../assets/day1/ryokan-room.webp') center/cover no-repeat;filter:brightness(.86);transition:clip-path .055s linear}
.genkan-scene .shoji-room-reveal:after{content:"";position:absolute;top:0;bottom:0;left:calc(var(--door) - 2px);width:4px;background:linear-gradient(#3b281b,#765137,#3b281b);box-shadow:10px 0 26px rgba(0,0,0,.32);opacity:clamp(0,calc(var(--door) / 20),1)}
.genkan-scene .shoji-gesture{position:absolute!important;z-index:17!important;inset:0!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;color:#fff!important;touch-action:none!important;cursor:ew-resize;outline:none}
.genkan-scene .shoji-gesture>i{display:none!important}
.genkan-scene .shoji-motion-hint{position:absolute;right:clamp(18px,5vw,64px);bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));left:auto!important;width:auto!important;padding:9px 14px!important;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(5,27,35,.58)!important;color:#fff!important;font:700 13px/1 var(--font-sans,system-ui)!important;letter-spacing:.01em;backdrop-filter:blur(10px);box-shadow:0 8px 26px rgba(0,0,0,.18);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.genkan-scene .shoji-gesture.is-moving .shoji-motion-hint{opacity:0;transform:translateX(12px)}
.genkan-scene.shoji-entering .shoji-gesture{pointer-events:none!important}
.genkan-scene.shoji-entering .shoji-room-reveal{clip-path:inset(0 0 0 0);transition:clip-path .22s ease-out}
.genkan-scene .shoji-room-crossing{animation-duration:.68s!important}
.genkan-scene .shoji-room-crossing i{animation-duration:.68s!important}

/* --- Mobile composition safeguards for J0/J1 --- */
@media(max-width:700px){
  .mei-scene-dim{background:linear-gradient(180deg,rgba(2,13,18,.10) 0 34%,rgba(2,13,18,.48) 76%,rgba(2,13,18,.62))}
  .mei-scene-character{right:-3%;bottom:6.5svh;height:43svh;max-width:54vw}
  .mei-scene-copy{left:18px;right:18px;bottom:max(110px,calc(env(safe-area-inset-bottom) + 96px));width:auto;padding-left:12px}
  .mei-scene-copy p{max-width:60vw;font-size:clamp(22px,7vw,31px);line-height:1.08}
  .mei-scene-action{right:18px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px));max-width:calc(100vw - 36px);min-height:52px;padding:11px 17px;font-size:14px}
  .chapter-day0 .letter-focus{padding:calc(env(safe-area-inset-top) + 14px) 14px calc(env(safe-area-inset-bottom) + 14px)}
  .chapter-day0 .letter-focus .paper-letter{max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 28px)}
  .genkan-scene .shoji-motion-hint{right:16px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 16px));font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .mei-scene-character,.mei-scene-dim{animation:none!important}
  .genkan-scene .shoji-room-reveal{transition:none!important}
}


/* V133 · admin recovery navigation / mobile safety */
@media (max-width: 520px){
  .v102-admin-shortcut,.profile-admin-link{max-width:100%;min-width:0;overflow-wrap:anywhere}
  .admin-access-help .button{width:100%;justify-content:center}
}

.threshold-account.threshold-account-synced{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.threshold-owner-admin{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-decoration:none;color:inherit;border-bottom:1px solid currentColor;padding:.2rem 0}
@media(max-width:520px){.threshold-owner-admin{font-size:.74rem}}
