/* A STORY STAYS — PASS 08 Stability + Responsive Repair
   Presentation-only. No Supabase/auth/profile/schema changes. */

/* Living Wall: native horizontal scrolling, no gesture hijacking. */
.cr-wall-track{
  overflow-x:auto!important; overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch; overscroll-behavior-inline:contain;
  scroll-snap-type:x proximity; touch-action:pan-x pan-y!important;
  scrollbar-width:none; cursor:grab;
}
.cr-wall-track::-webkit-scrollbar{display:none}.cr-wall-track:active{cursor:grabbing}
.cr-wall-track>.cr-story-portal,.cr-wall-track>.cr-door-portal{scroll-snap-align:center}

/* Room search is a room utility, not a floating patch. */
.pass08-room-tools{margin-top:18px;padding-top:16px;border-top:1px solid rgba(217,185,110,.24)}
.pass08-room-search{border:1px solid rgba(213,179,108,.46);background:rgba(3,11,8,.76);color:#f1d99f;min-height:44px;padding:10px 15px;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;cursor:pointer}
.pass08-room-search{width:auto;max-width:100%}

.pass08-room-drawer{position:fixed;z-index:9999;inset:74px 0 0 auto;width:min(520px,100%);background:rgba(3,10,7,.985);border-left:1px solid rgba(213,179,108,.28);color:#fff;padding:24px;overflow:auto;box-shadow:-30px 0 70px #0008}
.pass08-room-drawer[hidden]{display:none}.pass08-room-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.pass08-room-head h2{font-family:Georgia,serif;font-weight:400;font-size:2.2rem;margin:.2rem 0 1rem}.pass08-room-close{border:0;background:transparent;color:#f1d99f;font-size:1.5rem;cursor:pointer}.pass08-search{width:100%;box-sizing:border-box;background:#08140f;border:1px solid rgba(255,255,255,.18);color:#fff;padding:13px 14px;font:inherit;margin:8px 0 18px}.pass08-result{display:block;color:#fff;text-decoration:none;border-top:1px solid rgba(255,255,255,.12);padding:16px 2px}.pass08-result strong{display:block;font-family:Georgia,serif;font-size:1.35rem;font-weight:400}.pass08-result small{color:#d9bc79}.pass08-result p{color:#ffffffb5;margin:.45rem 0 0;line-height:1.45}.pass08-empty{color:#ffffffa6;line-height:1.6}

/* Standard mobile/tablet doorway composition. Keep the room readable and vertically reachable. */
@media (max-width:900px){
  .world-shell:has(.cr-doorway){height:auto!important;min-height:100svh;overflow-x:hidden!important;overflow-y:auto!important}
  .cr-doorway{height:auto!important;min-height:calc(100svh - 64px);grid-template-columns:1fr!important;overflow:visible!important;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .cr-doorway-copy{padding:28px 22px 10px!important;min-width:0}
  .cr-doorway-copy h1{font-size:clamp(3.25rem,15vw,4.6rem)!important;line-height:.88!important;overflow-wrap:anywhere}
  .cr-doorway-copy>p:not(.cr-kicker){font-size:1rem!important;line-height:1.45!important;max-width:38ch}
  .cr-doorway-copy blockquote{font-size:clamp(1.08rem,5vw,1.35rem)!important;line-height:1.3!important;margin:12px 0!important;padding:13px 0!important}
  .cr-doorway-copy>div{display:flex!important;flex-wrap:wrap!important;gap:10px 16px!important;align-items:center}
  .pass08-room-tools{margin-top:12px;padding-top:12px}
  .pass08-room-search{width:100%;text-align:center}
  .cr-doorway-life{padding:8px 20px 26px!important;align-items:stretch!important;justify-content:flex-start!important;overflow:hidden}
  .cr-doorway-life .cr-story-portal{flex:0 0 min(82vw,430px);height:min(54vh,520px)!important;min-height:390px}
  .cr-doorway-life:has(.cr-story-portal){display:flex!important;justify-content:flex-start!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding-right:20px!important}
  .cr-doorway-life:has(.cr-story-portal) .cr-story-portal{scroll-snap-align:start}
  .pass08-room-drawer{inset:64px 0 0 0;width:auto;border-left:0;padding:20px}
  .cr-wall-title{gap:10px}.cr-wall-title>div:last-child{display:flex!important;align-items:center!important;gap:8px!important}
  
}

/* Phone portrait refinements. */
@media (max-width:480px){
 .cr-doorway-copy{padding-left:18px!important;padding-right:18px!important}
 .cr-doorway-copy h1{font-size:clamp(3rem,15.5vw,4rem)!important}
 .cr-doorway-life{padding-left:18px!important;padding-right:18px!important}
 .cr-doorway-life .cr-story-portal{flex-basis:84vw;min-height:370px}
 .pass08-room-drawer{padding:18px}.pass08-room-head h2{font-size:1.85rem}
}

/* Desktop-mode-on-phone / unusually tall portrait desktop viewport.
   Avoid the two-column dollhouse. Preserve desktop navigation while stacking the room. */
@media (min-width:901px) and (max-aspect-ratio:4/3){
  .world-shell:has(.cr-doorway){height:auto!important;min-height:100vh;overflow-x:hidden!important;overflow-y:auto!important}
  .cr-doorway{height:auto!important;min-height:calc(100vh - 74px);grid-template-columns:1fr!important;overflow:visible!important}
  .cr-doorway-copy{padding:clamp(46px,6vh,82px) clamp(42px,7vw,90px) 24px!important;max-width:900px}
  .cr-doorway-copy h1{font-size:clamp(5rem,10vw,7.4rem)!important}
  .cr-doorway-copy>p:not(.cr-kicker){max-width:44ch}
  .cr-doorway-copy blockquote{max-width:34ch}
  .cr-doorway-life{justify-content:flex-start!important;align-items:stretch!important;gap:22px!important;padding:18px clamp(42px,7vw,90px) 64px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .cr-doorway-life .cr-story-portal{flex:0 0 min(430px,72vw)!important;width:auto!important;height:min(600px,52vh)!important;min-height:500px;scroll-snap-align:start}
  .pass08-room-tools{max-width:520px}
}

/* Normal desktop and wide desktop keep the cinematic two-column composition. */
@media (min-width:901px) and (min-aspect-ratio:4/3){
 .cr-doorway{grid-template-columns:minmax(360px,42%) 1fr!important;height:calc(100dvh - 74px)!important;overflow:hidden!important}
 .cr-doorway-copy{padding:clamp(42px,8vh,95px) clamp(28px,6vw,90px)!important}
 .cr-doorway-life{padding:40px!important;overflow:hidden!important}
 .cr-doorway-life .cr-story-portal{height:min(64vh,620px)!important}
}
