/* DOBOX ASIA · V147 · Day 4 continuity / lived market / private-home flow */
.d4-root.d4-v144-da .d4-world-img{transition:filter .45s ease,transform .55s ease,opacity .35s ease}

/* Mme Sato is integrated into the ryokan world: no video-card treatment. */
.d4-stage-sato-still .d4-live-dialogue-sato{width:min(420px,34vw);max-height:28svh;background:linear-gradient(90deg,rgba(3,25,31,.76),rgba(3,25,31,.28));border-left:2px solid rgba(230,133,111,.85);backdrop-filter:blur(4px)}

/* Market is a walk through one place, not a dashboard. */
.d4-market-walkthrough{overflow:hidden}
.d4-market-walkthrough .d4-market-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:2;transition:opacity .28s ease,transform .5s ease}
.d4-market-live-layer{position:absolute;inset:0;z-index:12;pointer-events:none}
.d4-market-moment,.d4-mei-reveal-live{pointer-events:auto;position:absolute;left:clamp(20px,4vw,64px);bottom:clamp(22px,4vh,48px);width:min(520px,42vw);max-height:38svh;overflow:auto;padding:10px 14px 12px;border-left:2px solid #db846f;background:linear-gradient(90deg,rgba(3,25,31,.82),rgba(3,25,31,.43),transparent);text-shadow:0 2px 12px rgba(0,0,0,.55)}
.d4-market-moment>small,.d4-mei-reveal-live>small{color:#f1ad9c;font:800 10px/1 Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.d4-market-moment>p{margin:7px 0;color:#fff;font:500 clamp(15px,1.5vw,19px)/1.4 Arial,sans-serif;max-width:38ch}
.d4-market-forward{min-height:42px;margin-top:7px;padding:8px 12px;border:1px solid rgba(244,239,223,.5);border-radius:999px;background:rgba(4,29,36,.72);color:#fff;font:750 14px/1.2 Arial,sans-serif;cursor:pointer}
.d4-optional-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.d4-pocket-trigger{min-height:36px;padding:6px 10px;border:1px solid rgba(244,239,223,.32);border-radius:999px;background:rgba(4,29,36,.52);color:#f4efdf;font:700 11px/1.2 Arial,sans-serif;cursor:pointer}
.d4-help-dot{width:36px;padding:0;border-radius:50%}
.d4-pocket-note{position:absolute;z-index:40;right:clamp(18px,4vw,56px);bottom:clamp(24px,5vh,54px);width:min(330px,31vw);padding:12px 42px 12px 14px;border:1px solid rgba(244,239,223,.24);border-radius:16px;background:rgba(5,29,36,.93);box-shadow:0 18px 45px rgba(0,0,0,.3);color:#fff;backdrop-filter:blur(10px)}
.d4-pocket-note small{color:#efa995;font:850 9px/1 Arial,sans-serif;letter-spacing:.14em}.d4-pocket-note b{display:block;margin-top:5px;font:700 18px/1.25 Georgia,serif}.d4-pocket-note p{margin:6px 0 0;font:500 12.5px/1.45 Arial,sans-serif;color:rgba(255,255,255,.88)}.d4-pocket-note>button{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:18px}
.d4-market-cart-moment .d4-aisle-moment{margin-top:10px;max-width:390px}
.d4-fruit-ribbon{display:flex;gap:7px;overflow-x:auto;padding:5px 0 2px;scrollbar-width:none}.d4-fruit-ribbon>div{min-width:132px;padding:8px 9px;border-radius:12px;background:rgba(4,29,36,.62);border:1px solid rgba(255,255,255,.16)}.d4-fruit-ribbon b,.d4-fruit-ribbon span,.d4-fruit-ribbon small{display:block}.d4-fruit-ribbon b{font-size:20px}.d4-fruit-ribbon span{font-size:11px;font-weight:750}.d4-fruit-ribbon small{font-size:9.5px;color:rgba(255,255,255,.72);margin-top:3px}.d4-fruit-ribbon .featured{border-color:rgba(239,173,154,.68)}
.d4-peach-hotspot{min-width:86px;min-height:64px;margin-top:8px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(4,29,36,.36);color:#fff;backdrop-filter:blur(3px)}.d4-peach-hotspot span{display:block;font-size:23px}.d4-peach-hotspot small{display:block;font-size:10px}
.d4-tea-live{display:flex;align-items:center;gap:10px;margin-top:7px}.d4-tea-live img{width:60px;height:60px;object-fit:cover;border-radius:10px}.d4-tea-live b,.d4-tea-live span{display:block}.d4-tea-live b{font-size:19px}.d4-tea-live span{font-size:12px}
.d4-mei-reveal-live .d4-message-thread{max-height:24svh;overflow:auto}.d4-mei-reveal-live .d4-message-thread p{font-size:13px;line-height:1.38}
.d4-market-exit{background:linear-gradient(90deg,rgba(3,25,31,.72),rgba(3,25,31,.22),transparent)}

/* After-rain continuity */
.d4-stage-after-rain .d4-after-rain-caption,.d4-stage-living-live .d4-living-caption{width:min(470px,38vw);background:linear-gradient(90deg,rgba(3,25,31,.72),rgba(3,25,31,.22),transparent)}

/* House carousel: each mobile view is already its own crop. Never translate a 100% image. */
.d4-stage-houses-live .d4-house-panorama{background:transparent!important}
.d4-stage-houses-live .d4-house-panorama>img{width:100%!important;max-width:100%!important;height:100%!important;transform:none!important;object-fit:cover!important;object-position:center!important;opacity:1!important}
.d4-stage-houses-live .d4-house-caption{background:linear-gradient(90deg,rgba(3,25,31,.68),rgba(3,25,31,.16),transparent)!important;max-width:560px}
.d4-stage-houses-live .d4-house-caption p{font-size:15px!important;line-height:1.38!important}

/* Yuki arrival: sunny-after-shower, full video as the moment, no decorative rain layer. */
.d4-stage-yuki-live .d4-yuki-video-shell{background:rgba(3,25,31,.25)}

/* Private-home entrance: spatial gesture layer, no ryokan-style information card. */
.d4-stage-threshold-live .d4-threshold-layer{background:none!important;box-shadow:none!important;backdrop-filter:none!important}
.d4-stage-threshold-live .d4-threshold-layer>.d4-ambient-line{width:min(520px,46vw);padding:8px 11px;border-left:2px solid #db846f;background:linear-gradient(90deg,rgba(3,25,31,.72),rgba(3,25,31,.18),transparent);font-size:14px!important}
.d4-stage-threshold-live .d4-umbrella-gesture,.d4-stage-threshold-live .d4-genkan-live,.d4-stage-threshold-live .d4-gift-gesture{background:transparent!important}
.d4-stage-threshold-live .d4-umbrella-stand-target,.d4-stage-threshold-live .d4-shoes-facing-door,.d4-stage-threshold-live .d4-host-hands-target{background:rgba(4,29,36,.12)!important;border-color:rgba(244,239,223,.28)!important}

/* Living space -> kitchen -> meal all belong to the same home. */
.d4-stage-living-live .d4-living-caption{max-height:30svh}
.d4-stage-table-live .d4-bowl{position:absolute!important;z-index:5!important;left:18%!important;bottom:8%!important;top:auto!important;width:min(29vw,360px)!important;height:auto!important;max-height:42svh!important;object-fit:contain!important;border-radius:0!important;filter:drop-shadow(0 18px 20px rgba(0,0,0,.28))!important}
.d4-stage-table-live .d4-table-caption{background:linear-gradient(90deg,rgba(3,25,31,.72),rgba(3,25,31,.2),transparent)!important}

@media(max-width:760px){
  .d4-stage-sato-still .d4-live-dialogue-sato{left:12px!important;right:12px!important;width:auto!important;max-height:24svh!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
  .d4-market-moment,.d4-mei-reveal-live{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:31svh;padding:8px 10px 9px;background:linear-gradient(0deg,rgba(3,25,31,.84),rgba(3,25,31,.48),transparent);border-left:2px solid #db846f}
  .d4-market-moment>p{font-size:13px;line-height:1.35;max-width:none}.d4-market-forward{min-height:39px;font-size:12px}.d4-pocket-trigger{min-height:34px;font-size:10px}
  .d4-pocket-note{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;max-height:34svh;overflow:auto}
  .d4-fruit-ribbon>div{min-width:112px;padding:6px 7px}.d4-fruit-ribbon b{font-size:18px}.d4-fruit-ribbon span{font-size:10px}.d4-fruit-ribbon small{font-size:9px}
  .d4-mei-reveal-live .d4-message-thread{max-height:20svh}.d4-mei-reveal-live .d4-message-thread p{font-size:11.5px}
  .d4-stage-after-rain .d4-after-rain-caption,.d4-stage-living-live .d4-living-caption{left:12px!important;right:12px!important;width:auto!important;max-height:25svh!important}
  .d4-stage-houses-live .d4-house-caption{left:10px!important;right:10px!important;width:auto!important;max-height:21svh!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  .d4-stage-houses-live .d4-house-caption p{font-size:12.5px!important;line-height:1.34!important}
  .d4-stage-houses-live .d4-house-mobile-pick{top:56%!important}
  .d4-stage-threshold-live .d4-threshold-layer{top:116px!important;left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important}
  .d4-stage-threshold-live .d4-threshold-layer>.d4-ambient-line{width:auto!important;font-size:12px!important;max-width:92%;padding:7px 9px}
  .d4-stage-threshold-live .d4-umbrella-gesture,.d4-stage-threshold-live .d4-genkan-live,.d4-stage-threshold-live .d4-gift-gesture{height:215px!important}
  .d4-stage-table-live .d4-bowl{left:50%!important;top:31%!important;bottom:auto!important;transform:translateX(-50%)!important;width:min(52vw,205px)!important;max-height:27svh!important}
  .d4-stage-table-live .d4-table-caption{max-height:31svh!important}
}

@media(max-width:390px){
  .d4-market-moment,.d4-mei-reveal-live{max-height:29svh}.d4-pocket-note{max-height:31svh}
  .d4-stage-threshold-live .d4-umbrella-gesture,.d4-stage-threshold-live .d4-genkan-live,.d4-stage-threshold-live .d4-gift-gesture{height:195px!important}
}
