/* =========================================================
   V151 · PHASE 5 · DESKTOP J0–J3
   Desktop is a separate composition, not a stretched phone.
   Targets: laptop 1366x768, 1440x900, desktop 1920x1080.
   J4 intentionally untouched.
   ========================================================= */

@media (min-width:1181px){
  :root{
    --p5-gutter:clamp(30px,4vw,72px);
    --p5-top:clamp(88px,10vh,112px);
    --p5-bottom:clamp(28px,5vh,62px);
    --p5-rail:min(31vw,470px);
    --p5-rail-wide:min(34vw,540px);
    --p5-copy:clamp(13px,.93vw,16px);
    --p5-small:clamp(9px,.65vw,11px);
    --p5-title:clamp(34px,3.2vw,54px);
    --p5-radius:16px;
  }

  /* ---------- Desktop HUD contract ---------- */
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) .hud-layer .brand{
    max-width:235px!important;
  }
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) .hud-layer .scene-meta{
    top:var(--dobox-safe-top)!important;
    left:50%!important;
    right:auto!important;
    max-width:min(42vw,560px)!important;
    transform:translateX(-50%)!important;
    text-align:center!important;
  }
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) .hud-layer .journey-menu-trigger{
    top:var(--dobox-safe-top)!important;
  }

  /* Never let prose become a billboard on a landscape screen. */
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) :is(
    .narration,.focus-copy,.packing-copy,.gate-copy,.genkan-copy,.wash-copy,.room-heading,.evening-copy,
    .airport-whisper,.shuttle-whisper,.ride-caption,.taxi-address-panel,.taxi-greeting-v38,.taxi-ride-control,
    .sato-response,.meal-breath,.meal-sato-whisper,.meal-farewell-choice,.garden-whisper,.garden-fact,
    .bath-repere,.afterbath-culture,.yukata-guide-card,.d2-story-panel,.d2-aoi-panel,.d2-ritual-panel,
    .d2-prayer-panel,.d2-narrative-caption,.v79-tanaka-dialogue,.v79-question-panel,.v79-answer-panel,
    .v79-farewell-panel,.v78-return-panel,.v104-whisper,.v104-dialogue,.v104-optional-reply,.v104-cruise-ticket
  ){
    box-sizing:border-box!important;
    max-width:var(--p5-rail-wide)!important;
  }
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) :is(
    .narration,.focus-copy,.packing-copy,.gate-copy,.genkan-copy,.wash-copy,.room-heading,.evening-copy,
    .airport-whisper,.ride-caption,.sato-response,.meal-breath,.garden-whisper,.d2-story-panel,
    .d2-aoi-panel,.d2-ritual-panel,.d2-prayer-panel,.d2-narrative-caption,.v104-whisper,.v104-dialogue
  ) p{
    max-width:62ch;
    font-size:var(--p5-copy)!important;
    line-height:1.48!important;
  }
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) :is(
    .narration,.focus-copy,.packing-copy,.gate-copy,.genkan-copy,.wash-copy,.room-heading,.evening-copy,
    .taxi-address-panel,.sato-response,.d2-story-panel,.d2-aoi-panel,.d2-ritual-panel,.d2-prayer-panel
  ) h2{
    font-size:var(--p5-title)!important;
    line-height:1.02!important;
    text-wrap:balance;
  }

  /* Full-screen scene content is still allowed, but UI stays in authored rails. */
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) .interaction-layer-shell{
    overflow:hidden;
  }
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) button{
    max-width:100%;
  }

  /* ---------- DAY 0 : object + decision composition ---------- */
  .chapter-day0 .narration{
    right:var(--p5-gutter)!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail-wide)!important;
  }
  .chapter-day0 .narration>div{padding:18px 0 18px 18px!important;}
  .chapter-day0 .quiet-action{min-height:50px!important;padding:10px 16px!important;}

  .chapter-day0 .object-focus{
    inset:var(--p5-top) var(--p5-gutter) var(--p5-bottom)!important;
    grid-template-columns:minmax(300px,30vw) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    column-gap:clamp(28px,4vw,70px)!important;
    row-gap:14px!important;
    max-width:1540px;
    margin-inline:auto;
  }
  .chapter-day0 .focus-copy{
    grid-column:1!important;
    grid-row:1!important;
    align-self:end!important;
    width:100%!important;
    max-width:470px!important;
    padding:16px 16px 16px 18px!important;
  }
  .chapter-day0 .focus-copy h2{font-size:clamp(32px,3.2vw,50px)!important;}
  .chapter-day0 .focus-copy p{font-size:clamp(13px,.95vw,15px)!important;}
  .chapter-day0 .primary.inline{
    grid-column:1!important;
    grid-row:2!important;
    width:min(100%,390px)!important;
    min-height:50px!important;
    margin:0!important;
    justify-self:start!important;
  }

  .chapter-day0 :is(.ticket-personalize,.passport-book,.support-demo,.choice-row,.passport-questions,.transport-objects,.drag-scene){
    min-width:0!important;
  }
  .chapter-day0 .ticket-personalize{
    grid-column:2!important;grid-row:1/3!important;
    width:min(100%,820px)!important;max-height:calc(100vh - var(--p5-top) - var(--p5-bottom))!important;
    justify-self:center!important;
  }
  .chapter-day0 .passport-book{
    grid-column:2!important;grid-row:1!important;
    width:min(100%,700px)!important;max-height:58vh!important;
    align-self:center!important;
  }
  .chapter-day0 .passport-book img{max-height:52vh!important;object-fit:contain!important;}
  .chapter-day0 .passport-questions{
    grid-column:2!important;grid-row:2!important;
    width:min(100%,760px)!important;
    justify-self:center!important;
    align-self:end!important;
  }
  .chapter-day0 .passport-questions fieldset{min-width:0!important;}
  .chapter-day0 .passport-questions button{min-height:46px!important;}

  .chapter-day0 .support-demo{
    grid-column:2!important;grid-row:1!important;
    width:min(100%,760px)!important;
    max-height:58vh!important;
    overflow:auto!important;
    align-self:center!important;
    justify-self:center!important;
    padding:clamp(22px,3vw,38px)!important;
  }
  .chapter-day0 .support-demo span{font-size:clamp(64px,7vw,108px)!important;}
  .chapter-day0 .choice-row{
    grid-column:2!important;grid-row:2!important;
    width:min(100%,760px)!important;
    justify-self:center!important;
  }
  .chapter-day0 .choice-row button{min-height:72px!important;padding:11px 14px!important;}
  .chapter-day0 .choice-row b{font-size:clamp(18px,1.45vw,23px)!important;}

  .chapter-day0 .transport-objects{
    grid-column:2!important;grid-row:1/3!important;
    width:min(100%,900px)!important;
    height:min(64vh,600px)!important;
    justify-self:center!important;
    align-self:center!important;
    gap:clamp(12px,1.6vw,22px)!important;
  }
  .chapter-day0 .transport-objects button{
    min-height:0!important;height:100%!important;
    padding:18px!important;
    border-radius:var(--p5-radius)!important;
  }
  .chapter-day0 .transport-objects img{height:min(30vh,240px)!important;max-height:240px!important;}
  .chapter-day0 .transport-objects b{font-size:clamp(22px,1.7vw,29px)!important;}

  .chapter-day0 .drag-scene{
    grid-column:2!important;grid-row:1/3!important;
    min-height:0!important;height:min(66vh,620px)!important;
    width:min(100%,900px)!important;justify-self:center!important;align-self:center!important;
  }
  .chapter-day0 .drag-destination{width:34%!important;height:28%!important;}
  .chapter-day0 .drag-piece{width:40%!important;}
  .chapter-day0 .drag-piece img{max-height:min(28vh,250px)!important;}

  .chapter-day0 .packing-focus{
    inset:var(--p5-top) var(--p5-gutter) var(--p5-bottom)!important;
    max-width:1540px;margin-inline:auto;
  }
  .chapter-day0 .packing-copy{top:auto!important;bottom:72px!important;left:0!important;width:min(31vw,440px)!important;padding:16px 16px 16px 18px!important;}
  .chapter-day0 .packing-table{left:34%!important;right:0!important;top:0!important;bottom:0!important;}
  .chapter-day0 .suitcase-open{top:4%!important;right:4%!important;width:min(58%,650px)!important;}
  .chapter-day0 .packing-focus>.inline{bottom:8px!important;left:0!important;width:min(31vw,390px)!important;}

  /* ---------- DAY 1 : lateral narration, world remains dominant ---------- */
  .chapter-day1 :is(.gate-copy,.genkan-copy,.wash-copy,.room-heading,.ride-caption){
    top:var(--p5-top)!important;
    left:var(--p5-gutter)!important;
    width:var(--p5-rail)!important;
    max-height:calc(100vh - var(--p5-top) - 120px)!important;
    overflow:auto!important;
  }
  .chapter-day1 .airport-whisper{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;width:var(--p5-rail)!important;
    padding:13px 15px!important;
  }
  .chapter-day1 .airport-v58-next{
    right:var(--p5-gutter)!important;left:auto!important;
    bottom:var(--p5-bottom)!important;
    width:min(320px,24vw)!important;min-height:50px!important;
  }
  .chapter-day1 .airport-v53-signs{
    top:var(--p5-top)!important;left:50%!important;right:auto!important;
    width:min(760px,56vw)!important;transform:translateX(-50%)!important;
  }

  .chapter-day1 .shuttle-cinematic{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:min(520px,38vw)!important;max-height:50vh!important;overflow:auto!important;
  }
  .chapter-day1 .shuttle-player-next,.chapter-day1 .shuttle-arrival-action{min-height:48px!important;}

  .chapter-day1 .machine{padding:var(--p5-top) var(--p5-gutter) var(--p5-bottom)!important;}
  .chapter-day1 .machine-screen{
    width:min(700px,58vw)!important;max-height:calc(100vh - var(--p5-top) - var(--p5-bottom))!important;
    padding:clamp(20px,2.6vw,34px)!important;overflow:auto!important;
  }
  .chapter-day1 .machine-screen h2{font-size:clamp(30px,3vw,46px)!important;}
  .chapter-day1 .machine-screen img{max-height:22vh!important;}
  .chapter-day1 .machine-screen button{min-height:48px!important;}

  .chapter-day1 .train-line{top:var(--p5-top)!important;left:12%!important;width:76%!important;}
  .chapter-day1 .mei-speech{
    right:var(--p5-gutter)!important;bottom:var(--p5-bottom)!important;
    width:min(620px,44vw)!important;
    grid-template-columns:minmax(120px,26%) minmax(0,1fr)!important;
  }
  .chapter-day1 .mei-speech img{max-height:min(45vh,390px)!important;}
  .chapter-day1 .mei-speech>div{padding:17px 18px!important;min-width:0!important;}
  .chapter-day1 .mei-speech p{font-size:clamp(19px,1.75vw,27px)!important;}

  .chapter-day1 :is(.taxi-address-panel,.taxi-greeting-v38,.taxi-ride-control,.taxi-arrival-meter,.sato-response,.meal-breath,.meal-sato-whisper,.meal-farewell-choice,.garden-fact,.bath-repere,.afterbath-culture,.yukata-guide-card){
    right:var(--p5-gutter)!important;left:auto!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;
    max-height:min(56vh,520px)!important;
    overflow:auto!important;
  }
  .chapter-day1 .taxi-ride-control p{font-size:clamp(17px,1.35vw,21px)!important;}
  .chapter-day1 .taxi-arrival-exit{
    right:var(--p5-gutter)!important;left:auto!important;transform:none!important;
    bottom:var(--p5-bottom)!important;min-width:0!important;width:min(340px,26vw)!important;
  }

  .chapter-day1 .sato-scene video{height:min(70vh,690px)!important;max-width:58vw!important;}
  .chapter-day1 .meet-sato{bottom:var(--p5-bottom)!important;min-height:54px!important;font-size:18px!important;}
  .chapter-day1 .sato-sub{bottom:var(--p5-bottom)!important;width:min(520px,40vw)!important;padding:12px 14px!important;}

  .chapter-day1 .room-details{
    right:var(--p5-gutter)!important;bottom:var(--p5-bottom)!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(88px,110px))!important;gap:10px!important;
  }
  .chapter-day1 .room-details button{width:100%!important;height:88px!important;border-radius:18px!important;}
  .chapter-day1 .detail-slip{right:var(--p5-gutter)!important;bottom:calc(var(--p5-bottom) + 108px)!important;width:var(--p5-rail)!important;max-height:42vh!important;overflow:auto!important;}

  .chapter-day1 .garden-whisper{left:var(--p5-gutter)!important;right:auto!important;bottom:var(--p5-bottom)!important;width:var(--p5-rail)!important;}
  .chapter-day1 .garden-fact{top:var(--p5-top)!important;right:var(--p5-gutter)!important;bottom:auto!important;width:min(360px,27vw)!important;}

  /* Keep physical interactions in the world, not in a giant overlay. */
  .chapter-day1 :is(.gate-scene,.genkan-scene,.wash-scene) .drag-destination{max-width:34vw!important;max-height:32vh!important;}
  .chapter-day1 :is(.gate-scene,.genkan-scene,.wash-scene) .drag-piece{max-width:31vw!important;}

  /* ---------- DAY 2 : a side rail, not a centre modal ---------- */
  .chapter-day2 :is(.d2-story-panel,.d2-aoi-panel,.d2-ritual-panel,.d2-prayer-panel){
    left:var(--p5-gutter)!important;right:auto!important;
    top:auto!important;bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;
    max-height:min(60vh,560px)!important;
    overflow:auto!important;
    padding:14px 16px 14px 18px!important;
  }
  .chapter-day2 .d2-story-panel h2{font-size:clamp(30px,2.8vw,44px)!important;}
  .chapter-day2 .d2-primary{min-height:46px!important;padding:10px 15px!important;}
  .chapter-day2 .d2-mei-cue{grid-template-columns:42px minmax(0,1fr)!important;}
  .chapter-day2 .d2-mei-cue img{width:40px!important;height:40px!important;}

  .chapter-day2 :is(.v72-shelf-sheet,.v72-basket-sheet,.v72-counter-card,.v73-basket-drawer,.v79-tanaka-dialogue,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel,.v78-return-panel){
    left:auto!important;right:var(--p5-gutter)!important;
    bottom:var(--p5-bottom)!important;
    width:min(470px,34vw)!important;
    max-height:min(64vh,590px)!important;
    overflow:auto!important;
  }
  .chapter-day2 :is(.d2-food-choices,.d2-offering-choices,.d2-wish-choices,.d2-dialogue-choices){
    gap:8px!important;
  }
  .chapter-day2 :is(.d2-food-choices,.d2-offering-choices,.d2-wish-choices) button{min-height:48px!important;}

  /* Breakfast object focus: preserve table/world and keep copy compact. */
  .chapter-day2 .d2-breakfast-focus,
  .chapter-day2 .v123-object-focus{max-width:min(760px,56vw)!important;max-height:64vh!important;overflow:auto!important;}
  .chapter-day2 .d2-narrative-caption{left:var(--p5-gutter)!important;right:auto!important;bottom:var(--p5-bottom)!important;width:var(--p5-rail)!important;}

  /* ---------- DAY 3 : authored yatai/river composition ---------- */
  .chapter-day3 .v104-d3-scene .v104-hud{
    top:calc(var(--dobox-safe-top) + 48px)!important;
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;
    max-width:min(48vw,620px)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-whisper{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;width:var(--p5-rail)!important;
    max-height:48vh!important;overflow:auto!important;
  }
  .chapter-day3 .v104-d3-scene .v104-primary-action{
    right:var(--p5-gutter)!important;left:auto!important;
    bottom:var(--p5-bottom)!important;width:min(330px,25vw)!important;max-width:330px!important;
    min-height:50px!important;
  }
  .chapter-day3 .v104-d3-scene .v104-dialogue-stack,
  .chapter-day3 .v104-d3-scene>.v104-dialogue,
  .chapter-day3 .v104-d3-scene .v104-optional-reply{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:calc(var(--p5-bottom) + 68px)!important;
    width:min(430px,32vw)!important;max-height:52vh!important;overflow:auto!important;
  }
  .chapter-day3 .v104-d3-scene .v104-choice-row{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:min(620px,46vw)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .chapter-day3 .v104-d3-scene .v104-culture-note{
    top:var(--p5-top)!important;right:var(--p5-gutter)!important;
    width:min(330px,25vw)!important;max-height:42vh!important;overflow:auto!important;
  }
  .chapter-day3 .v104-d3-scene .v104-menu-object{
    left:var(--p5-gutter)!important;right:auto!important;top:var(--p5-top)!important;bottom:var(--p5-bottom)!important;
    width:min(720px,55vw)!important;max-height:none!important;overflow:auto!important;transform:none!important;
  }
  .chapter-day3 .v104-d3-scene .v104-menu-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chapter-day3 .v104-d3-scene .v104-menu-drinks{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .chapter-day3 .v104-d3-scene .v104-bill-flow{
    left:var(--p5-gutter)!important;right:auto!important;bottom:var(--p5-bottom)!important;
    width:min(660px,48vw)!important;grid-template-columns:minmax(260px,1fr) 190px!important;
  }
  .chapter-day3 .v104-d3-scene .v104-cruise-ticket{
    left:var(--p5-gutter)!important;right:auto!important;bottom:var(--p5-bottom)!important;
    width:min(390px,30vw)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-mei-presence>img{
    right:var(--p5-gutter)!important;bottom:var(--p5-bottom)!important;
    width:min(240px,17vw)!important;max-height:54vh!important;
  }
  .chapter-day3 .v104-d3-scene .v104-mei-presence>.v104-whisper{
    left:var(--p5-gutter)!important;right:auto!important;width:min(440px,32vw)!important;
    bottom:var(--p5-bottom)!important;padding-left:62px!important;
  }

  /* ---------- Prevent accidental desktop internal scrollbars ---------- */
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) :is(.focus-copy,.packing-copy,.gate-copy,.genkan-copy,.wash-copy,.room-heading,.ride-caption){
    scrollbar-width:thin;
  }
}

/* 1366×768 / short laptops: density is intentionally tighter. */
@media (min-width:1181px) and (max-width:1599px){
  :root{
    --p5-gutter:clamp(24px,3vw,44px);
    --p5-top:82px;
    --p5-bottom:24px;
    --p5-rail:min(30vw,405px);
    --p5-rail-wide:min(33vw,455px);
    --p5-title:clamp(30px,2.85vw,43px);
    --p5-copy:clamp(12px,.9vw,14px);
  }
  .chapter-day0 .object-focus{grid-template-columns:minmax(270px,29vw) minmax(0,1fr)!important;column-gap:28px!important;}
  .chapter-day0 .transport-objects{height:min(61vh,470px)!important;}
  .chapter-day0 .transport-objects img{height:min(25vh,185px)!important;}
  .chapter-day0 .support-demo{max-height:54vh!important;padding:22px!important;}
  .chapter-day0 .passport-book{max-height:52vh!important;}
  .chapter-day0 .passport-book img{max-height:46vh!important;}
  .chapter-day0 .packing-copy{bottom:62px!important;}
  .chapter-day1 .mei-speech{width:min(560px,42vw)!important;grid-template-columns:118px minmax(0,1fr)!important;}
  .chapter-day1 .mei-speech img{max-height:330px!important;}
  .chapter-day1 .room-details{grid-template-columns:repeat(3,90px)!important;}
  .chapter-day1 .room-details button{height:78px!important;}
  .chapter-day2 :is(.d2-story-panel,.d2-aoi-panel,.d2-ritual-panel,.d2-prayer-panel){max-height:54vh!important;}
  .chapter-day3 .v104-d3-scene .v104-menu-object{width:min(650px,53vw)!important;}
}

/* Very short landscape laptops (768-ish): never let text / CTA collide vertically. */
@media (min-width:1181px) and (max-height:820px){
  :root{--p5-top:76px;--p5-bottom:18px;}
  :is(.chapter-day0,.chapter-day1,.chapter-day2,.chapter-day3) :is(
    .narration,.focus-copy,.packing-copy,.airport-whisper,.shuttle-cinematic,.gate-copy,.genkan-copy,.wash-copy,
    .room-heading,.ride-caption,.taxi-address-panel,.taxi-greeting-v38,.taxi-ride-control,.sato-response,.meal-breath,
    .garden-whisper,.d2-story-panel,.d2-aoi-panel,.d2-ritual-panel,.d2-prayer-panel,.v104-whisper,.v104-dialogue
  ){
    max-height:52vh!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
  .chapter-day0 .object-focus{inset:76px var(--p5-gutter) 18px!important;}
  .chapter-day0 .transport-objects{height:56vh!important;}
  .chapter-day0 .drag-scene{height:58vh!important;}
  .chapter-day0 .packing-focus{inset:76px var(--p5-gutter) 18px!important;}
  .chapter-day1 .machine-screen{max-height:78vh!important;}
  .chapter-day1 .sato-scene video{height:64vh!important;}
  .chapter-day1 .mei-speech img{max-height:42vh!important;}
  .chapter-day2 :is(.v72-shelf-sheet,.v72-basket-sheet,.v72-counter-card,.v73-basket-drawer,.v79-tanaka-dialogue,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel,.v78-return-panel){max-height:58vh!important;}
  .chapter-day3 .v104-d3-scene .v104-menu-object{top:76px!important;bottom:18px!important;}
}

/* 1920×1080 and larger: use width, never scale UI endlessly. */
@media (min-width:1600px){
  :root{
    --p5-gutter:clamp(56px,4.5vw,92px);
    --p5-top:clamp(96px,9vh,118px);
    --p5-bottom:clamp(36px,5vh,64px);
    --p5-rail:min(28vw,470px);
    --p5-rail-wide:min(31vw,540px);
  }
  .chapter-day0 .object-focus,.chapter-day0 .packing-focus{max-width:1680px!important;}
  .chapter-day0 .ticket-personalize{width:min(100%,900px)!important;}
  .chapter-day0 .passport-book{width:min(100%,760px)!important;}
  .chapter-day0 .transport-objects{width:min(100%,980px)!important;}
  .chapter-day1 .machine-screen{width:min(760px,48vw)!important;}
  .chapter-day1 .mei-speech{width:min(660px,38vw)!important;}
  .chapter-day2 :is(.v72-shelf-sheet,.v72-basket-sheet,.v72-counter-card,.v73-basket-drawer,.v79-tanaka-dialogue,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel,.v78-return-panel){width:min(500px,28vw)!important;}
  .chapter-day3 .v104-d3-scene .v104-menu-object{width:min(780px,48vw)!important;}
}

/* ---------- Specificity shield against legacy scene-level !important rules ---------- */
@media (min-width:1181px){
  .experience.chapter-day1.d1-airport .scene-meta{
    top:var(--dobox-safe-top)!important;
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;
    max-width:min(42vw,560px)!important;
  }
  .experience.chapter-day1.d1-shuttle .shuttle-cinematic{
    inset:auto!important;
    top:auto!important;right:auto!important;
    left:var(--p5-gutter)!important;bottom:var(--p5-bottom)!important;
    width:min(520px,38vw)!important;height:auto!important;
    max-height:50vh!important;overflow:auto!important;
    pointer-events:auto!important;
  }
  .experience.chapter-day1.d1-shuttle .shuttle-route-thread{
    left:var(--p5-gutter)!important;right:var(--p5-gutter)!important;
    bottom:calc(var(--p5-bottom) + 58px)!important;
  }
  .experience.chapter-day1.d1-shuttle .shuttle-cinematic>small{
    left:var(--p5-gutter)!important;bottom:var(--p5-bottom)!important;
  }
  .experience.chapter-day1.d1-garden .garden-fact{
    top:var(--p5-top)!important;right:var(--p5-gutter)!important;
    bottom:auto!important;left:auto!important;
    width:min(360px,27vw)!important;max-width:min(360px,27vw)!important;
    max-height:42vh!important;overflow:auto!important;
  }

  .experience.chapter-day2.d2-wake .d2-physical-transition.v80-wake-hold{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;max-width:var(--p5-rail)!important;
    max-height:48vh!important;overflow:auto!important;
    padding:14px 16px!important;
  }
  .experience.chapter-day2.d2-breakfast .d2-breakfast-panel{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;max-width:var(--p5-rail)!important;
    max-height:min(58vh,540px)!important;overflow:auto!important;
    padding:14px 16px!important;
  }
  .experience.chapter-day2.d2-breakfast .d2-breakfast-panel h2{
    font-size:clamp(30px,2.6vw,42px)!important;line-height:1.02!important;
  }
  .experience.chapter-day2.d2-aoi .d2-aoi-panel{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;max-width:var(--p5-rail)!important;
    max-height:min(58vh,540px)!important;overflow:auto!important;
  }
  .experience.chapter-day2.d2-purification .d2-ritual-panel,
  .experience.chapter-day2.d2-prayer .d2-prayer-panel{
    left:var(--p5-gutter)!important;right:auto!important;
    bottom:var(--p5-bottom)!important;
    width:var(--p5-rail)!important;max-width:var(--p5-rail)!important;
    max-height:min(60vh,560px)!important;overflow:auto!important;
  }
  .experience.chapter-day2.d2-prayer .d2-prayer-exit-stable{
    position:sticky!important;bottom:0!important;z-index:3!important;
    width:100%!important;min-height:48px!important;
  }
}

/* V151.1 · rendered desktop review: J3 legacy typography was still phone-small. */
@media (min-width:1181px){
  .chapter-day3 .v104-d3-scene .v104-whisper p{
    font-size:clamp(16px,1.15vw,20px)!important;
    line-height:1.42!important;
  }
  .chapter-day3 .v104-d3-scene .v104-whisper small{
    font-size:clamp(10px,.72vw,12px)!important;
    line-height:1.25!important;
  }
  .chapter-day3 .v104-d3-scene .v104-culture-note{
    padding:14px 16px!important;
  }
  .chapter-day3 .v104-d3-scene .v104-culture-note summary,
  .chapter-day3 .v104-d3-scene .v104-culture-note>b{
    font-size:clamp(14px,1vw,17px)!important;
    line-height:1.25!important;
  }
  .chapter-day3 .v104-d3-scene .v104-culture-note p{
    font-size:clamp(12px,.88vw,15px)!important;
    line-height:1.5!important;
  }
  .chapter-day3 .v104-d3-scene .v104-culture-note a{
    font-size:clamp(11px,.78vw,13px)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-primary-action{
    font-size:clamp(14px,1vw,17px)!important;
    padding:12px 18px!important;
  }
  .chapter-day3 .v104-d3-scene .v104-dialogue p{
    font-size:clamp(15px,1.08vw,19px)!important;
    line-height:1.42!important;
  }
  .chapter-day3 .v104-d3-scene .v104-dialogue span{
    font-size:clamp(12px,.85vw,14px)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-dialogue small{
    font-size:clamp(10px,.72vw,12px)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-menu-list button strong,
  .chapter-day3 .v104-d3-scene .v104-menu-drinks button b{
    font-size:clamp(13px,.9vw,15px)!important;
  }
  .chapter-day3 .v104-d3-scene .v104-menu-drinks button small{
    font-size:clamp(11px,.78vw,13px)!important;
  }
}
