/* DOBOX ASIA · Jour 4 · responsive recovery · V140 */
.chapter-day4{background:#071b22;overflow:hidden}
.chapter-day4>.world{opacity:0;pointer-events:none}
.chapter-day4 .scene-meta{z-index:18}
.d4-root{position:fixed;inset:0;z-index:4;min-height:100svh;overflow:hidden;color:#fff;font-family:Arial,sans-serif;background:#071b22;isolation:isolate}
.d4-world-img{position:fixed;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.012);transition:transform .8s ease,filter .4s ease;will-change:transform;pointer-events:none}
.d4-root:after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(1,14,18,.16),transparent 35%,transparent 70%,rgba(1,14,18,.12))}
.d4-stage{position:relative;z-index:2;width:100%;height:100svh;box-sizing:border-box;padding:clamp(128px,16vh,172px) clamp(28px,5vw,74px) clamp(34px,5vh,56px);display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}
.d4-copy{position:relative;z-index:8;width:min(620px,47vw);padding:21px 23px 20px;border-left:3px solid #d67c69;background:linear-gradient(135deg,rgba(4,28,35,.91),rgba(4,25,31,.77));box-shadow:0 20px 52px rgba(0,0,0,.25);backdrop-filter:blur(9px);border-radius:0 19px 19px 0}
.d4-copy>small{display:block;margin-bottom:8px;color:#f2ad9b;font-size:12px;font-weight:800;letter-spacing:.18em}
.d4-copy h2{margin:0 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,3.15vw,50px);font-weight:500;line-height:1.02;max-width:17ch}
.d4-copy p{margin:9px 0 14px;color:rgba(255,255,255,.9);font-size:clamp(16px,1.4vw,19px);line-height:1.55}
.d4-continue{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:56px;margin-top:13px;padding:13px 16px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:#f4efdf;color:#0a2b34;font:inherit;font-weight:800;text-align:left;cursor:pointer;box-shadow:0 9px 24px rgba(0,0,0,.12)}
.d4-continue.quiet{background:rgba(5,30,37,.88);color:#fff}.d4-continue:disabled{opacity:.45}.d4-continue b{font-size:21px}
.d4-hint{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);font-size:14px!important;color:rgba(255,255,255,.78)!important}
.d4-feedback{padding:10px 12px;border-radius:13px;background:rgba(214,124,105,.15);border:1px solid rgba(232,166,144,.25);font-size:14px!important}
.d4-phone-message{margin:12px 0;padding:15px 16px;border-radius:17px;background:#f2eddf;color:#16353c;box-shadow:0 13px 28px rgba(0,0,0,.18)}
.d4-phone-message b{font-size:13px;letter-spacing:.12em;text-transform:uppercase}.d4-phone-message p{color:#16353c!important;margin-bottom:0!important}
.d4-inline-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.d4-inline-choice button,.d4-topic-row button,.d4-phrase-action{min-height:70px;padding:11px 13px;border:1px solid rgba(255,255,255,.3);border-radius:17px;background:rgba(5,30,37,.9);color:#fff;font:inherit;text-align:left;cursor:pointer}.d4-inline-choice b,.d4-inline-choice small,.d4-phrase-action b,.d4-phrase-action small{display:block}.d4-inline-choice b,.d4-phrase-action b{font-size:20px}.d4-inline-choice small,.d4-phrase-action small{margin-top:4px;color:#efb09d}

/* Marché : le décor reste présent, l'exploration se fait dedans. */
.d4-stage-market{justify-content:flex-start}.d4-stage-market .d4-copy{margin-top:auto}
.d4-market-spots{position:absolute;inset:16% 5% 12%;z-index:6;pointer-events:none}.d4-market-spots button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;padding:8px 12px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(4,29,36,.72);color:#fff;font:inherit;font-weight:700;backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.18)}.d4-market-spots button.seen:before{content:"✓ ";color:#f3b19e}
.d4-gifts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}.d4-gifts button{display:flex;min-height:170px;flex-direction:column;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.23);border-radius:16px;background:rgba(4,29,36,.92);color:#fff;text-align:left;cursor:pointer}.d4-gifts button img{width:100%;height:78px;object-fit:cover}.d4-gifts button>span{display:flex;flex-direction:column;gap:3px;padding:8px 9px 4px}.d4-gifts small{color:#f1ae9b}.d4-gifts em{font-size:11px;color:rgba(255,255,255,.67);font-style:normal;line-height:1.3}.d4-gifts strong{margin:auto 9px 9px}.d4-gifts button.selected{outline:3px solid #ee9f8a;transform:translateY(-2px)}.d4-gifts button:disabled{opacity:.42}

/* Pluie / route */
.d4-rain{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;background:linear-gradient(180deg,rgba(55,81,94,.06),rgba(5,24,31,.18))}.d4-rain i{position:absolute;inset:-20%;background-image:repeating-linear-gradient(112deg,transparent 0 17px,rgba(227,239,242,.18) 18px 19px,transparent 20px 36px);animation:d4rain 1.05s linear infinite}.d4-rain i:nth-child(2){opacity:.46;animation-duration:.8s;transform:translateX(18%)}.d4-rain i:nth-child(3){opacity:.25;animation-duration:1.55s;transform:translateX(-20%)}@keyframes d4rain{to{translate:-68px 115px}}
.d4-rain-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.d4-house-spots{position:absolute;inset:0;z-index:6;pointer-events:none}.d4-house-spots button{pointer-events:auto;position:absolute;top:53%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;border:1px solid rgba(255,255,255,.72);background:rgba(4,29,36,.42);color:#fff;font:inherit;font-size:12px;font-weight:800;backdrop-filter:blur(5px);cursor:pointer}.d4-house-spots button.correct{background:rgba(31,119,91,.78);box-shadow:0 0 0 7px rgba(255,255,255,.11)}.d4-house-spots button.wrong{background:rgba(121,55,45,.7)}


.d4-house-panorama{display:none}

/* Yuki : vidéo, pas panneau. */
.d4-stage-yuki{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(440px,1.18fr);gap:22px;align-items:end}.d4-yuki-video-shell{position:relative;z-index:7;height:min(72vh,720px);max-width:490px;aspect-ratio:478/850;border-radius:26px;overflow:hidden;background:#0b2027;box-shadow:0 24px 65px rgba(0,0,0,.33)}.d4-yuki-video-shell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.d4-doorbell-zone{position:absolute;inset:0;z-index:3;border:0;background:linear-gradient(180deg,transparent 62%,rgba(3,21,27,.62));color:#fff;font:inherit;cursor:pointer}.d4-doorbell-zone:disabled{cursor:default}.d4-doorbell-zone span{position:absolute;left:18px;bottom:18px;padding:10px 15px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(3,25,31,.78);font-weight:800}.d4-replay-video,.d4-transcript-button,.d4-video-fallback{position:absolute;z-index:4;bottom:14px;padding:9px 12px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(4,29,36,.84);color:#fff;font:inherit;font-size:13px;font-weight:700}.d4-video-fallback{left:14px;right:14px;bottom:62px;width:calc(100% - 28px)}.d4-replay-video{left:14px}.d4-transcript-button{right:14px}.d4-transcript{position:absolute;z-index:5;left:14px;right:14px;bottom:60px;max-height:48%;overflow:auto;padding:13px 14px;border-radius:15px;background:rgba(4,25,31,.95);backdrop-filter:blur(12px)}.d4-transcript>div+div{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.d4-transcript p{margin:2px 0;font-size:14px;line-height:1.35}.d4-transcript p[lang=ja]{font-size:18px}.d4-transcript small{color:#efb09d}.d4-stage-yuki .d4-copy{justify-self:end}

/* Seuil : Yuki vit dans la scène */
.d4-yuki-cutout{position:absolute;z-index:5;right:2vw;bottom:0;width:min(31vw,470px);max-height:70vh;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 24px 24px rgba(0,0,0,.25));pointer-events:none}.d4-stage-threshold .d4-copy,.d4-stage-departure .d4-copy{margin-right:34vw}.d4-object-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.d4-object-choice button{min-height:78px;padding:12px;border:1px solid rgba(255,255,255,.28);border-radius:17px;background:rgba(5,30,37,.88);color:#fff;font:inherit;text-align:left}.d4-object-choice span{display:block;font-size:27px}.d4-object-choice b{display:block;margin-top:5px}.d4-genkan-gesture{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:145px;margin-top:12px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.26);cursor:pointer}.d4-genkan-gesture .stone,.d4-genkan-gesture .step{display:flex;align-items:flex-end;padding:14px;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.d4-genkan-gesture .stone{background:linear-gradient(#80817a,#575a55)}.d4-genkan-gesture .step{background:linear-gradient(#bd8954,#7c4e2c)}.d4-genkan-gesture>b{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);white-space:nowrap;padding:9px 13px;border-radius:999px;background:rgba(4,25,31,.86);font-size:13px}.d4-held-gift{display:flex;gap:11px;align-items:center;margin:10px 0;padding:9px;border-radius:14px;background:rgba(255,255,255,.08)}.d4-held-gift img{width:80px;height:62px;border-radius:10px;object-fit:cover}.d4-held-gift small,.d4-held-gift b{display:block}

/* Cuisine continue */
.d4-stage-kitchen{justify-content:flex-end}.d4-stage-kitchen>.d4-copy{margin-right:31vw}.d4-stage-kitchen>.d4-yuki-cutout{width:min(29vw,430px)}.d4-ingredient-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:13px 0}.d4-ingredient-strip button{min-height:100px;padding:8px;border:1px solid rgba(255,255,255,.25);border-radius:14px;background:rgba(5,30,37,.84);color:#fff;font:inherit}.d4-ingredient-strip img{display:block;width:48px;height:44px;object-fit:contain;margin:0 auto 5px}.d4-ingredient-strip small,.d4-ingredient-strip b{display:block}.d4-ingredient-strip small{color:#efad9a}
.d4-cook-workspace{position:absolute;inset:clamp(130px,15vh,165px) 4vw 4vh;z-index:7;display:grid;grid-template-columns:minmax(380px,1.08fr) minmax(330px,.92fr);align-items:end;gap:24px}.d4-cook-state{width:100%;max-height:68vh;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 24px 28px rgba(0,0,0,.28));border-radius:22px}.d4-cook-caption{padding:19px 20px;border-left:3px solid #d67c69;border-radius:0 18px 18px 0;background:rgba(4,27,34,.9);backdrop-filter:blur(9px);box-shadow:0 18px 48px rgba(0,0,0,.25)}.d4-cook-caption>small{color:#efad9a;letter-spacing:.15em;font-weight:800}.d4-cook-caption h3{margin:6px 0 9px;font-family:Georgia,serif;font-size:31px;font-weight:500}.d4-cook-caption p{margin:0 0 12px;line-height:1.5;color:rgba(255,255,255,.88)}.d4-swipe-zone{display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:0 18px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.09);touch-action:none;user-select:none}.d4-swipe-zone b{text-transform:uppercase;letter-spacing:.1em}.d4-dressing-picks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.d4-dressing-picks button{display:flex;align-items:center;gap:10px;min-height:64px;padding:8px 10px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;font:inherit}.d4-dressing-picks button.picked{background:#f4efdf;color:#12333b}.d4-dressing-picks img{width:45px;height:45px;object-fit:contain}

/* Table et départ */
.d4-stage-table{justify-content:flex-end}.d4-bowl{position:absolute;z-index:4;left:4vw;bottom:5vh;width:min(48vw,650px);max-height:66vh;object-fit:contain;border-radius:28px;filter:drop-shadow(0 25px 30px rgba(0,0,0,.3))}.d4-stage-table .d4-copy{margin-left:auto}.d4-topic-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.d4-topic-row button{text-align:center;font-weight:800}.d4-yuki-reply{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.08);font-family:Georgia,serif;font-size:18px;line-height:1.45}.d4-phrase-action{width:100%}.d4-memory{color:#f3b39f!important;font-weight:800}

@media(max-width:760px){
 .chapter-day4 .brand{z-index:22}.chapter-day4 .journey-menu-trigger{z-index:23}.chapter-day4 .scene-meta{z-index:21;top:132px!important;left:24px!important;right:auto!important}
 .d4-world-img{object-position:center top;transform:scale(1.015)}
 .d4-stage{padding:188px 20px max(30px,env(safe-area-inset-bottom));overflow-y:auto;align-items:flex-end}
 .d4-root:after{background:linear-gradient(180deg,transparent 30%,rgba(2,15,20,.08) 48%,rgba(2,14,18,.56) 100%)}
 .d4-copy{width:auto;max-width:none;padding:17px 17px 15px;border-radius:0 15px 15px 0;margin-top:auto}.d4-copy h2{font-size:29px;max-width:19ch}.d4-copy p{font-size:15.5px}
 .d4-continue{min-height:52px;padding:10px 13px}.d4-inline-choice,.d4-rain-options,.d4-object-choice{grid-template-columns:1fr}.d4-inline-choice button{min-height:60px}
 .d4-market-spots{inset:22% 2% 41%}.d4-market-spots button{font-size:12px;padding:7px 9px}.d4-gifts{grid-template-columns:1fr 1fr;gap:7px}.d4-gifts button{min-height:128px}.d4-gifts button img{height:62px}.d4-gifts em{display:none}.d4-gifts strong{font-size:12px}
 .d4-house-spots button{top:48%;width:70px;height:70px;font-size:10px}.d4-stage-houses .d4-copy{margin-top:auto}

 .d4-house-panorama{display:block;position:absolute;inset:0;z-index:3;overflow:hidden;touch-action:pan-y;background:#071b22}.d4-house-panorama>img{position:absolute;inset:0;width:300%;max-width:none;height:100%;object-fit:cover;transition:transform .45s ease;pointer-events:none}.d4-house-panorama.view-0>img{transform:translateX(0)}.d4-house-panorama.view-1>img{transform:translateX(-33.3333%)}.d4-house-panorama.view-2>img{transform:translateX(-66.6666%)}.d4-house-pan-left,.d4-house-pan-right{position:absolute;z-index:4;top:43%;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.55);background:rgba(4,29,36,.68);color:#fff;font-size:30px;line-height:1;backdrop-filter:blur(6px)}.d4-house-pan-left{left:13px}.d4-house-pan-right{right:13px}.d4-house-pan-left:disabled,.d4-house-pan-right:disabled{opacity:.24}.d4-house-mobile-pick{position:absolute;z-index:4;left:50%;top:56%;transform:translateX(-50%);min-height:45px;padding:10px 15px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(4,29,36,.8);color:#fff;font:inherit;font-weight:800;white-space:nowrap;backdrop-filter:blur(7px)}.d4-stage-houses>.d4-copy{z-index:8}
 .d4-stage-yuki{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:9px;overflow-y:auto;padding-top:156px}.d4-yuki-video-shell{width:min(68vw,300px);height:auto;max-height:54svh;aspect-ratio:478/850;margin:0 auto;flex:0 0 auto;border-radius:19px}.d4-stage-yuki .d4-copy{width:auto;margin:0}.d4-transcript{max-height:42%}
 .d4-yuki-cutout{right:-8vw;width:55vw;max-height:48vh;opacity:.98}.d4-stage-threshold .d4-copy,.d4-stage-departure .d4-copy,.d4-stage-kitchen>.d4-copy{margin-right:0;padding-right:16px}.d4-stage-threshold .d4-copy,.d4-stage-departure .d4-copy{max-width:74vw}.d4-object-choice button{min-height:64px}.d4-genkan-gesture{min-height:122px}.d4-genkan-gesture>b{white-space:normal;width:70%;text-align:center}
 .d4-stage-kitchen{overflow-y:auto}.d4-stage-kitchen>.d4-yuki-cutout{width:46vw;right:-5vw;max-height:39vh}.d4-ingredient-strip{grid-template-columns:repeat(3,1fr)}.d4-ingredient-strip button{min-height:76px}.d4-ingredient-strip img{width:38px;height:34px}
 .d4-cook-workspace{position:relative;inset:auto;width:100%;display:flex;flex-direction:column;gap:9px;margin-top:auto}.d4-cook-state{width:100%;max-height:34svh;object-fit:contain}.d4-cook-caption{width:auto;padding:15px 16px}.d4-cook-caption h3{font-size:27px}.d4-swipe-zone{min-height:58px}.d4-dressing-picks button{min-height:56px}
 .d4-stage-table{overflow-y:auto;flex-direction:column;justify-content:flex-end;align-items:stretch}.d4-bowl{position:relative;left:auto;bottom:auto;width:min(86%,360px);max-height:31svh;margin:0 auto 8px;border-radius:18px}.d4-stage-table .d4-copy{margin-left:0;width:auto}.d4-topic-row{grid-template-columns:1fr}.d4-topic-row button{min-height:48px}
 .d4-stage-final .d4-copy{margin-top:auto}
}
@media(min-width:761px) and (max-height:760px){.d4-stage{padding-top:110px}.d4-yuki-video-shell{height:min(68vh,540px)}.d4-cook-workspace{inset:105px 4vw 3vh}.d4-copy h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){.d4-rain i{animation:none}.d4-world-img{transition:none}}


/* V136 · Yanagibashi = scene-first, no floating UI over an empty canvas */
.d4-market-spots{position:absolute;inset:0;z-index:5;pointer-events:none}
.d4-market-spots .spot{pointer-events:auto;position:absolute;width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(4,29,36,.32);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 7px rgba(255,255,255,.09),0 9px 22px rgba(0,0,0,.22);backdrop-filter:blur(3px);transform:translate(-50%,-50%);transition:.2s ease}
.d4-market-spots .spot span{font-size:21px;font-weight:400;line-height:1}.d4-market-spots .spot.seen{background:rgba(20,95,75,.75)}.d4-market-spots .spot.seen span{font-size:0}.d4-market-spots .spot.seen span:after{content:'✓';font-size:18px}
.d4-market-rail,.d4-market-dialogue,.d4-gift-drawer{position:absolute;z-index:8;left:clamp(26px,4vw,64px);bottom:clamp(28px,5vh,52px);width:min(560px,45vw);padding:16px 18px;border-left:3px solid #d67c69;background:linear-gradient(135deg,rgba(3,25,31,.88),rgba(3,25,31,.64));backdrop-filter:blur(8px);box-shadow:0 16px 45px rgba(0,0,0,.24)}
.d4-market-rail small,.d4-market-dialogue>small,.d4-gift-head small{color:#efaa98;font-weight:800;letter-spacing:.16em}.d4-market-rail p,.d4-market-dialogue p,.d4-gift-head p{margin:7px 0 0;line-height:1.45;font-size:17px}.d4-market-progress{display:inline-block;margin-top:10px;color:rgba(255,255,255,.66);font-size:13px}
.d4-market-next{margin-top:12px;min-height:48px;padding:10px 14px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:#f4efdf;color:#0a2b34;font:inherit;font-weight:800;cursor:pointer}
.d4-market-dialogue{width:min(600px,48vw)}.d4-market-dialogue .d4-inline-choice.compact{margin-top:12px}.d4-market-dialogue .d4-feedback{margin:10px 0 0}
.d4-gift-drawer{width:min(880px,72vw)}.d4-gift-head{max-width:590px}.d4-gift-drawer .d4-gifts{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.d4-gift-drawer .d4-gifts button{min-height:145px}.d4-gift-drawer .d4-gifts button img{height:76px}.d4-gift-drawer .d4-gifts em{display:none}
.d4-market-beat-1 .d4-world-img{transform:scale(1.09) translate3d(-2%,1%,0)}
.d4-market-beat-2 .d4-world-img{transform:scale(1.04)}

@media(max-width:760px){
 .d4-market .d4-world-img{object-position:center top}
 .d4-stage-market{padding:0;overflow:hidden}
 .d4-market-spots .spot{width:40px;height:40px;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 7px 18px rgba(0,0,0,.2)}
 .d4-market-spots .spot.fruit{left:67%!important;top:40%!important}.d4-market-spots .spot.tea{left:24%!important;top:54%!important}.d4-market-spots .spot.aisle{left:51%!important;top:69%!important}
 .d4-market-rail,.d4-market-dialogue,.d4-gift-drawer{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom));width:auto;padding:13px 14px;border-radius:0 15px 15px 0}
 .d4-market-rail p,.d4-market-dialogue p,.d4-gift-head p{font-size:15px;line-height:1.38}.d4-market-rail small,.d4-market-dialogue>small,.d4-gift-head small{font-size:10px}
 .d4-market-next{width:100%;min-height:45px;margin-top:9px}
 .d4-market-dialogue .d4-inline-choice.compact{grid-template-columns:1fr 1fr}.d4-market-dialogue .d4-inline-choice.compact button{min-height:56px;padding:9px}.d4-market-dialogue .d4-inline-choice.compact b{font-size:15px}.d4-market-dialogue .d4-inline-choice.compact small{font-size:11px}
 .d4-gift-drawer{max-height:48svh;overflow:auto}.d4-gift-drawer .d4-gifts{grid-template-columns:1fr 1fr}.d4-gift-drawer .d4-gifts button{min-height:112px}.d4-gift-drawer .d4-gifts button img{height:56px}.d4-gift-drawer .d4-gifts span{padding:6px}.d4-gift-drawer .d4-gifts small{font-size:10px}.d4-gift-drawer .d4-gifts b{font-size:12px}
 .d4-market-beat-1 .d4-world-img{transform:scale(1.12) translate3d(-4%,0,0)}
}

/* V137 · mobile hardening */
@media(max-width:390px){
 .d4-stage{padding-left:14px;padding-right:14px}.d4-copy{padding:15px 14px 14px}.d4-copy h2{font-size:26px}.d4-copy p{font-size:14.5px}.d4-gift-drawer{left:10px;right:10px}.d4-yuki-video-shell{width:min(64vw,270px)}
}
@media(max-width:760px) and (orientation:landscape){
 .d4-stage{padding:92px 16px 16px}.chapter-day4 .scene-meta{top:86px!important;left:16px!important}.d4-copy{max-height:72svh;overflow:auto}.d4-stage-yuki{padding-top:92px;display:grid;grid-template-columns:minmax(190px,.72fr) minmax(300px,1.28fr);align-items:end;gap:12px}.d4-yuki-video-shell{width:auto;height:min(62svh,310px);max-height:none;margin:0}.d4-stage-yuki .d4-copy{max-height:62svh}.d4-stage-table{flex-direction:row;align-items:flex-end}.d4-bowl{width:38%;max-height:58svh;margin:0 12px 0 0}.d4-stage-table .d4-copy{width:58%;max-height:68svh}.d4-cook-workspace{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(300px,1.1fr);align-items:end}.d4-cook-state{max-height:52svh}
}

/* V138 · ouverture narrative J4 : réveil → Sato → pluie → konbini → marche */
.d4-stage-start{align-items:flex-end}
.d4-shoji-interaction{position:absolute;z-index:7;left:50%;top:43%;width:min(42vw,610px);height:min(46vh,430px);transform:translate(-50%,-50%);border:0;background:transparent;cursor:grab;overflow:visible}
.d4-shoji-interaction:active{cursor:grabbing}
.d4-shoji-interaction>span{position:absolute;top:0;bottom:0;width:50%;border:2px solid rgba(91,66,43,.66);background:
 linear-gradient(90deg,rgba(96,72,48,.68) 0 3%,transparent 3% 47%,rgba(96,72,48,.68) 47% 50%,transparent 50% 97%,rgba(96,72,48,.68) 97%),
 linear-gradient(180deg,rgba(96,72,48,.68) 0 2%,rgba(244,236,214,.88) 2% 24%,rgba(96,72,48,.58) 24% 26%,rgba(244,236,214,.88) 26% 49%,rgba(96,72,48,.58) 49% 51%,rgba(244,236,214,.88) 51% 74%,rgba(96,72,48,.58) 74% 76%,rgba(244,236,214,.88) 76% 98%,rgba(96,72,48,.68) 98%);
 box-shadow:0 16px 40px rgba(0,0,0,.25);transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .7s ease}
.d4-shoji-left{left:0;transform-origin:left center}.d4-shoji-right{right:0;transform-origin:right center}
.d4-shoji-interaction.open .d4-shoji-left{transform:translateX(-94%)}.d4-shoji-interaction.open .d4-shoji-right{transform:translateX(94%)}
.d4-shoji-interaction>b{position:absolute;z-index:3;left:50%;top:52%;transform:translate(-50%,-50%);padding:10px 15px;border-radius:999px;background:rgba(4,29,36,.82);border:1px solid rgba(255,255,255,.5);color:#fff;font:700 13px/1 Arial,sans-serif;box-shadow:0 9px 24px rgba(0,0,0,.18)}
.d4-stage-start .d4-copy{pointer-events:auto}.d4-stage-start .d4-copy .d4-hint{max-width:340px}
.d4-stage-sato .d4-copy{margin-left:auto;margin-right:5vw}.d4-dialogue-line{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(18px,1.65vw,23px)!important;color:#fff!important}

.d4-stage-konbini{justify-content:flex-end}.d4-stage-konbini .d4-copy{width:min(720px,56vw);margin-left:auto}
.d4-konbini-checkout-bg{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover}
.d4-stage-konbini .d4-copy{z-index:9}
.d4-umbrella-pick{display:grid;grid-template-columns:74px 1fr auto;gap:12px;align-items:center;width:100%;margin-top:12px;padding:10px 13px;border:1px solid rgba(255,255,255,.35);border-radius:18px;background:rgba(5,30,37,.9);color:#fff;font:inherit;text-align:left;cursor:pointer}
.d4-umbrella-pick img{width:64px;height:74px;object-fit:contain}.d4-umbrella-pick small,.d4-umbrella-pick b{display:block}.d4-umbrella-pick small{color:#efad9a}.d4-umbrella-pick strong{font-size:18px}.d4-umbrella-pick:disabled{opacity:.45}
.d4-breakfast-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.d4-breakfast-grid button{display:flex;min-height:132px;flex-direction:column;padding:0 0 9px;overflow:hidden;border:1px solid rgba(255,255,255,.23);border-radius:15px;background:rgba(5,30,37,.88);color:#fff;font:inherit;text-align:left;cursor:pointer}.d4-breakfast-grid img{width:100%;height:65px;object-fit:cover}.d4-breakfast-grid small,.d4-breakfast-grid b,.d4-breakfast-grid strong{margin-left:9px;margin-right:9px}.d4-breakfast-grid small{margin-top:7px;color:#efad9a;font-size:10px}.d4-breakfast-grid b{font-size:12px;line-height:1.25}.d4-breakfast-grid strong{margin-top:auto;font-size:11px}.d4-breakfast-grid button.selected{outline:3px solid #ee9f8a;background:rgba(16,66,72,.94)}
.d4-breakfast-sub{margin-bottom:7px!important;font-size:13px!important;color:rgba(255,255,255,.72)!important}.d4-drink-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.d4-drink-row button{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;min-height:64px;padding:7px 9px;border:1px solid rgba(255,255,255,.23);border-radius:14px;background:rgba(5,30,37,.82);color:#fff;font:inherit;text-align:left;cursor:pointer}.d4-drink-row img{width:44px;height:48px;object-fit:contain}.d4-drink-row small,.d4-drink-row b{display:block}.d4-drink-row small{color:#efad9a;font-size:10px}.d4-drink-row b{font-size:12px}.d4-drink-row strong{font-size:11px}.d4-drink-row button.selected{outline:2px solid #ee9f8a}
.d4-stage-walk .d4-copy{width:min(560px,43vw)}
.d4-stage-market>.d4-rain{z-index:1}

@media(max-width:760px){
 .d4-shoji-interaction{top:38%;width:min(78vw,360px);height:min(38vh,350px)}
 .d4-stage-sato .d4-world-img{object-position:center 24%}.d4-stage-sato .d4-copy{margin-left:0;margin-right:0;max-width:78vw}
 .d4-stage-konbini{padding-top:174px}.d4-stage-konbini .d4-copy{width:auto;margin-left:0;max-height:70svh;overflow:auto}
 .d4-breakfast-grid{grid-template-columns:1fr 1fr}.d4-breakfast-grid button{min-height:112px}.d4-breakfast-grid img{height:54px}.d4-drink-row{grid-template-columns:1fr}.d4-drink-row button{min-height:56px}
 .d4-umbrella-pick{grid-template-columns:58px 1fr auto}.d4-umbrella-pick img{width:52px;height:62px}
 .d4-stage-walk .d4-copy{width:auto}
 .d4-konbini-checkout-bg{object-position:center top}
}
.d4-walk-bg{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .45s ease,transform .7s ease;transform:scale(1.01)}
.d4-stage-walk>.d4-rain{z-index:1}.d4-stage-walk>.d4-copy{z-index:8}
@media(max-width:760px){.d4-walk-bg{object-position:center top}}

/* V139 · Yanagibashi narrative rebuild: observation → vendor → Mei → gift */
.d4-market-soft{color:rgba(255,255,255,.78);font-size:14px!important}
.d4-fruit-season{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:11px}
.d4-fruit-season>div{display:grid;grid-template-columns:auto 1fr;gap:1px 8px;padding:8px 9px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.06)}
.d4-fruit-season>div.featured{border-color:rgba(239,170,152,.72);background:rgba(239,170,152,.1)}
.d4-fruit-season b{grid-row:1/3;font-size:22px;align-self:center}.d4-fruit-season span{font-size:12px;font-weight:800}.d4-fruit-season small{font-size:10px;color:rgba(255,255,255,.62)}
.d4-mei-whisper{margin-top:10px!important;padding:9px 11px;border-radius:12px;background:rgba(214,124,105,.12);border:1px solid rgba(214,124,105,.24);font-size:14px!important}.d4-mei-whisper b{color:#efaa98}
.d4-tea-pack{display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 10px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.d4-tea-pack img{width:58px;height:58px;object-fit:contain;border-radius:8px}.d4-tea-pack div{display:grid}.d4-tea-pack b{font-size:22px}.d4-tea-pack span{font-weight:800}.d4-tea-pack small{color:rgba(255,255,255,.64)}
.d4-tea-inspect{width:100%;color:#fff;font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.d4-tea-inspect:hover{transform:translateY(-2px);border-color:rgba(239,170,152,.7);background:rgba(239,170,152,.12)}
.d4-tea-inspect:active{transform:translateY(0) scale(.99)}
.d4-tea-inspect:focus-visible{outline:3px solid #f4efdf;outline-offset:3px}
.d4-tea-live.is-seen{border-color:rgba(239,170,152,.48);background:rgba(239,170,152,.1)}
.d4-aisle-moment{position:relative;height:82px;margin-top:11px;border-radius:14px;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.06),rgba(255,255,255,.11),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.15);touch-action:none;outline:none}
.d4-aisle-moment:focus-visible{box-shadow:0 0 0 2px #f4efdf}
.d4-aisle-moment:before{content:"";position:absolute;left:10%;right:10%;top:42px;height:1px;background:rgba(255,255,255,.2)}
.d4-cart{position:absolute;z-index:2;left:6%;top:20px;font-size:28px;transform:rotate(90deg);animation:d4CartApproach 4.6s ease-in-out infinite;color:#e6d6be;text-shadow:0 4px 10px rgba(0,0,0,.35)}
.d4-you-marker{position:absolute;z-index:3;left:50%;top:30px;transform:translateX(-50%);font-size:20px;color:#efaa98;transition:left .35s ease}
.d4-aisle-moment.shifted .d4-you-marker{left:80%}.d4-aisle-moment.shifted .d4-cart{animation:none;left:88%;opacity:.5}
.d4-aisle-moment small{position:absolute;z-index:4;left:10px;right:10px;bottom:7px;text-align:center;font-size:10px;color:rgba(255,255,255,.7)}
@keyframes d4CartApproach{0%{left:7%}70%{left:43%}100%{left:47%}}
.d4-peach-look{width:100%;margin-top:12px;display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;text-align:left;cursor:pointer}.d4-peach-look img{width:82px;height:68px;object-fit:cover;border-radius:10px}.d4-peach-look span{display:grid}.d4-peach-look b{font-size:26px}.d4-peach-look small{color:rgba(255,255,255,.72)}
.d4-mei-reveal{position:absolute;z-index:8;right:clamp(26px,5vw,72px);bottom:clamp(28px,5vh,52px);width:min(470px,40vw);padding:16px 17px;border-radius:20px 20px 6px 20px;background:rgba(245,240,228,.95);color:#17343a;box-shadow:0 18px 48px rgba(0,0,0,.28);backdrop-filter:blur(9px)}
.d4-mei-reveal>small{font-weight:900;letter-spacing:.14em;color:#a75246}.d4-message-thread{display:flex;flex-direction:column;gap:7px;margin-top:10px}.d4-message-thread p{width:fit-content;max-width:92%;margin:0;padding:9px 11px;border-radius:15px 15px 15px 4px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.07);line-height:1.35;font-size:14px}.d4-message-next{margin-top:10px;border:0;background:transparent;color:#7d443d;font:inherit;font-weight:900;cursor:pointer;padding:8px 0}.d4-mei-reveal .d4-market-next{background:#17343a;color:#fff;border-color:#17343a}
.d4-after-gift{margin-top:10px}.d4-after-gift .d4-mei-whisper{max-width:620px}
.d4-market-beat-3 .d4-world-img{transform:scale(1.03) translate3d(1%,0,0)}
@media(prefers-reduced-motion:reduce){.d4-cart{animation:none;left:43%}}
@media(max-width:760px){
 .d4-fruit-season{grid-template-columns:1fr 1fr;gap:5px}.d4-fruit-season>div{padding:6px 7px}.d4-fruit-season b{font-size:19px}.d4-fruit-season span{font-size:11px}.d4-fruit-season small{font-size:9px}
 .d4-market-soft,.d4-mei-whisper{font-size:12.5px!important}.d4-tea-pack img{width:46px;height:46px}.d4-tea-pack b{font-size:19px}
 .d4-aisle-moment{height:76px}.d4-peach-look img{width:66px;height:58px}.d4-peach-look b{font-size:22px}
 .d4-mei-reveal{left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom));width:auto;padding:14px;border-radius:17px 17px 5px 17px}.d4-message-thread p{font-size:13px;max-width:96%}
 .d4-market-beat-2 .d4-world-img{transform:scale(1.08) translate3d(-1%,0,0)}.d4-market-beat-3 .d4-world-img{transform:scale(1.05)}
}
@media(max-width:390px){.d4-fruit-season{grid-template-columns:1fr}.d4-fruit-season>div{grid-template-columns:34px 1fr}.d4-mei-reveal{left:10px;right:10px}.d4-message-thread p{font-size:12.5px}}
.d4-no-gift{width:100%;margin-top:9px;min-height:44px;border:1px dashed rgba(255,255,255,.34);border-radius:12px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.84);font:inherit;font-weight:750;cursor:pointer}.d4-no-gift.selected{border-style:solid;border-color:#efaa98;background:rgba(239,170,152,.12);color:#fff}
.d4-market-focus-fruit .d4-world-img{transform:scale(1.075) translate3d(-2.2%,1%,0)}
.d4-market-focus-tea .d4-world-img{transform:scale(1.06) translate3d(2.1%,0,0)}
.d4-market-focus-aisle .d4-world-img{transform:scale(1.045) translate3d(0,-1.2%,0)}
.d4-market-focus-wide .d4-world-img{transform:scale(1)}
@media(max-width:760px){.d4-no-gift{min-height:42px;font-size:12px}.d4-market-focus-fruit .d4-world-img{transform:scale(1.10) translate3d(-4%,1%,0)}.d4-market-focus-tea .d4-world-img{transform:scale(1.08) translate3d(3%,0,0)}.d4-market-focus-aisle .d4-world-img{transform:scale(1.06) translate3d(0,-1%,0)}}

/* =========================================================
   V140 · DAY 4 WORLD / MOBILE RECOVERY
   The scene image belongs to the Day 4 root, not the viewport.
   This avoids the fixed+isolated paint failure seen on mobile.
   ========================================================= */
.d4-world-img{position:absolute!important;display:block!important;opacity:1!important;visibility:visible!important}
.d4-root:after{position:absolute!important}
.d4-rain{position:absolute!important}
.d4-stage-market{background:transparent!important}
.d4-stage-market .d4-market-rail,.d4-stage-market .d4-market-dialogue,.d4-stage-market .d4-gift-drawer{max-height:min(48svh,460px);overflow:auto}

@media(max-width:760px){
 .chapter-day4 .scene-meta{top:max(61px,calc(env(safe-area-inset-top) + 51px))!important;left:12px!important;max-width:calc(100vw - 78px)!important}
 .d4-stage{padding:128px 14px max(16px,env(safe-area-inset-bottom))!important}
 .d4-stage-market{padding:0!important;overflow:hidden!important}
 .d4-market .d4-world-img{object-position:center center!important;min-width:100%!important;min-height:100%!important}
 .d4-market-spots .spot{width:44px!important;height:44px!important}
 .d4-market-rail,.d4-market-dialogue,.d4-gift-drawer{
   left:10px!important;right:10px!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px))!important;
   width:auto!important;max-height:43svh!important;padding:11px 12px!important;
 }
 .d4-market-rail p,.d4-market-dialogue p,.d4-gift-head p{font-size:13.5px!important;line-height:1.35!important}
 .d4-market-progress{font-size:10px!important;margin-top:6px!important}
}
