/* source: day2-v63.css */
/* V63 — Day 2 Act I only. J0/J1 rendering is intentionally untouched. */
.chapter-day2 .world-image{animation:d2-world-breathe 12s ease-in-out infinite alternate;filter:saturate(.96) contrast(1.03)}
.chapter-day2 .world-light{background:linear-gradient(90deg,rgba(3,21,28,.42),rgba(3,21,28,.03) 62%),linear-gradient(0deg,rgba(3,20,28,.4),transparent 52%)}
.day2-stage,.d2-scene{position:relative;z-index:4;min-height:100svh}.d2-scene{overflow:hidden}
.d2-story-panel{position:absolute;z-index:9;right:clamp(20px,5vw,72px);bottom:clamp(22px,6vh,70px);width:min(560px,88vw);padding:24px 25px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(4,28,38,.94),rgba(4,28,38,.75));color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.28);backdrop-filter:blur(8px)}
.d2-story-panel h2{margin:5px 0 8px;font:500 clamp(38px,5vw,62px)/.96 var(--font-display),serif}.d2-story-panel p{margin:8px 0 0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.9)}
.d2-primary{display:flex;min-height:55px;width:100%;align-items:center;justify-content:center;margin-top:17px;padding:12px 18px;border:1px solid rgba(247,240,223,.55);border-radius:999px;background:var(--terra);color:#fff;font-weight:800}
.d2-wake-touch{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 20px max(70px,calc(env(safe-area-inset-bottom) + 42px));border:0;background:linear-gradient(0deg,rgba(2,12,18,.76),rgba(2,12,18,.05) 62%);color:#fff}.d2-wake-touch small{font-size:9px;letter-spacing:.24em}.d2-wake-touch strong{margin-top:7px;font:500 36px var(--font-display),serif}
.d2-wake-stage-0 .world-image{filter:brightness(.42) blur(5px) saturate(.85);transform:scale(1.08)}.d2-wake-stage-1 .world-image{animation:d2-eyes-open 1.2s ease both}.d2-wake-stage-2 .world-image{animation:d2-rise 1s ease both}.d2-morning-haze{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,rgba(220,238,236,.1),transparent 42%),radial-gradient(circle at 65% 38%,rgba(240,247,234,.15),transparent 38%)}
.d2-physical-transition{position:absolute;z-index:12;inset:0;display:grid;place-items:end center;padding:0 22px 16vh;background:linear-gradient(180deg,transparent,rgba(4,20,27,.74));color:#fff;font:500 20px var(--font-display),serif;animation:d2-walk-forward .9s ease both}
.d2-breakfast-panel{left:clamp(18px,4vw,60px);right:auto;bottom:clamp(20px,5vh,58px);width:min(520px,88vw)}.d2-food-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.d2-food-choices button{min-height:42px;padding:9px 13px;border:1px solid rgba(247,240,223,.36);border-radius:999px;background:rgba(247,240,223,.08);color:#fff}.d2-food-choices button.selected{background:#f0ded0;color:#153543;border-color:#f0ded0}.d2-language-moment{margin-top:16px;padding-top:14px;border-top:1px solid rgba(247,240,223,.22)}.d2-language-moment small,.d2-language-moment b,.d2-language-moment span{display:block}.d2-language-moment small{font-size:8px;letter-spacing:.2em;color:#efb596}.d2-language-moment b{margin-top:5px;font:500 30px var(--font-display),serif}.d2-language-moment span{opacity:.72;font-size:12px}
.d2-aoi-panel{width:min(540px,91vw)}.d2-dialogue-choices{display:grid;gap:8px;margin-top:16px}.d2-dialogue-choices button{min-height:48px;padding:10px 14px;border:1px solid rgba(247,240,223,.32);background:rgba(247,240,223,.08);color:#fff;text-align:left}.d2-dialogue-choices button:hover,.d2-dialogue-choices button:focus{background:rgba(247,240,223,.16)}.d2-aoi-note{margin-top:14px;padding:15px 16px;background:#f3e8d3;color:#173846;box-shadow:0 14px 34px rgba(0,0,0,.25);transform:rotate(-.5deg)}.d2-aoi-note small,.d2-aoi-note strong,.d2-aoi-note p{display:block}.d2-aoi-note small{font-size:8px;letter-spacing:.19em;color:#a95748}.d2-aoi-note strong{margin:5px 0;font:600 24px var(--font-display),serif}.d2-aoi-note p{color:#173846;margin:0}
.d2-street-panel{left:clamp(18px,5vw,72px);right:auto;max-width:560px}.d2-route-memory{display:flex;align-items:center;gap:10px;margin-top:17px}.d2-route-memory span{display:flex;min-width:120px;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(247,240,223,.24);background:rgba(247,240,223,.07)}.d2-route-memory span:first-letter{color:#efb596}.d2-route-memory b{font-weight:700}.d2-route-memory i{font-style:normal;opacity:.65}.d2-dev-checkpoint{margin-top:18px;padding-top:15px;border-top:1px solid rgba(247,240,223,.2)}.d2-dev-checkpoint small,.d2-dev-checkpoint b{display:block}.d2-dev-checkpoint small{font-size:8px;letter-spacing:.2em;color:#efb596}.d2-dev-checkpoint b{margin-top:6px;font-size:14px}.d2-dev-checkpoint p{font-size:12px;opacity:.72}
.day2-start{margin-top:14px!important}
@keyframes d2-eyes-open{from{filter:brightness(.42) blur(5px) saturate(.85);transform:scale(1.08)}to{filter:none;transform:scale(1.035)}}
@keyframes d2-rise{from{transform:scale(1.035) translateY(0)}to{transform:scale(1.08) translateY(3%)}}
@keyframes d2-walk-forward{from{opacity:0;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}
@keyframes d2-world-breathe{to{transform:scale(1.055)}}
@media(max-width:700px){.chapter-day2 .brand{transform:scale(.92);transform-origin:top left}.d2-story-panel{right:14px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));left:14px;width:auto;max-height:58svh;overflow:auto;padding:18px 18px}.d2-story-panel h2{font-size:39px}.d2-story-panel p{font-size:14px}.d2-breakfast-panel,.d2-street-panel{left:14px;right:14px;width:auto}.d2-food-choices{display:grid;grid-template-columns:1fr 1fr 1fr}.d2-food-choices button{padding:8px 5px;font-size:11px}.d2-route-memory span{min-width:0;flex:1}.d2-aoi-note strong{font-size:22px}}

/* V65 — visual alignment pass. J0/J1 untouched. */
.chapter-day2 .world-image{filter:saturate(.86) contrast(1.02) brightness(.94);animation:d2-world-breathe 14s ease-in-out infinite alternate}
.chapter-day2 .world-light{background:linear-gradient(90deg,rgba(3,22,30,.32),rgba(3,22,30,.03) 58%),linear-gradient(0deg,rgba(3,18,26,.36),transparent 48%),linear-gradient(120deg,rgba(238,205,168,.06),transparent 42%)}
.d2-breakfast-panel{width:min(500px,88vw);background:linear-gradient(105deg,rgba(4,28,38,.91),rgba(4,28,38,.68))}
.d2-food-choices button{display:grid;gap:2px;align-content:center;text-align:left}.d2-food-choices button b{font-size:18px}.d2-food-choices button small{font-size:10px;opacity:.76}
.d2-info-fold{margin-top:12px;border-top:1px solid rgba(247,240,223,.2);border-bottom:1px solid rgba(247,240,223,.14);padding:10px 0;color:#fff}.d2-info-fold summary{cursor:pointer;color:#f1c1a7;font-size:11px;font-weight:800;letter-spacing:.06em;list-style:none}.d2-info-fold summary::-webkit-details-marker{display:none}.d2-info-fold summary:after{content:' +';float:right}.d2-info-fold[open] summary:after{content:' −'}.d2-info-fold p{font-size:12px!important;opacity:.84}
.d2-breakfast-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}.d2-breakfast-list button{display:grid;gap:1px;min-height:52px;padding:8px 10px;border:1px solid rgba(247,240,223,.16);background:rgba(247,240,223,.05);color:#fff;text-align:left}.d2-breakfast-list b{font-size:15px}.d2-breakfast-list span{font-size:9px;opacity:.72}
.d2-aoi-panel{left:clamp(18px,5vw,72px);right:auto;bottom:clamp(20px,5vh,54px);width:min(485px,88vw);max-height:68svh;overflow:auto;background:linear-gradient(105deg,rgba(4,28,38,.9),rgba(4,28,38,.62));scrollbar-width:thin}.d2-aoi-beat{font-family:var(--font-display),serif;font-size:18px!important;line-height:1.42!important;color:#f7f0df!important}.d2-aoi-panel .d2-phrase{margin-top:12px}.d2-aoi-panel .d2-dialogue-choices button{display:grid;gap:3px}.d2-aoi-panel .d2-dialogue-choices b{font-size:16px}.d2-aoi-panel .d2-dialogue-choices span{font-size:11px;opacity:.78}.d2-hakata-fold{margin-top:10px}.d2-aoi-note{padding:11px 13px;box-shadow:none;transform:none;background:rgba(243,232,211,.94)}.d2-aoi-note strong{font-size:20px}
.d2-street-panel{background:linear-gradient(105deg,rgba(4,28,38,.88),rgba(4,28,38,.58))}
@media(max-width:700px){
 .chapter-day2 .world-image{filter:saturate(.84) contrast(1.01) brightness(.9)}
 .d2-story-panel{max-height:53svh;background:linear-gradient(105deg,rgba(4,28,38,.91),rgba(4,28,38,.72));backdrop-filter:blur(6px)}
 .d2-breakfast-panel{bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px));max-height:52svh}
 .d2-breakfast-panel h2{font-size:32px}.d2-breakfast-list{grid-template-columns:1fr 1fr}.d2-food-choices{grid-template-columns:1fr 1fr 1fr}.d2-food-choices button{min-height:50px}
 .d2-aoi-panel{left:12px;right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px));width:auto;max-height:48svh;padding:16px}.d2-aoi-beat{font-size:16px!important}.d2-aoi-panel .d2-phrase b{font-size:19px}
 .d2-street-panel{max-height:43svh}
}


/* V69 — Day 2 Act II: street → konbini → Kushida. J0/J1 render blocks untouched. */
.d2-mei-cue{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;margin-top:12px;padding:10px 12px;border:1px solid rgba(247,240,223,.2);border-radius:14px;background:rgba(6,28,39,.54);color:#fff}
.d2-mei-cue img{width:42px;height:54px;object-fit:contain;object-position:bottom}.d2-mei-cue small{color:#efb596;font-size:8px;letter-spacing:.18em}.d2-mei-cue p{margin:3px 0 0!important;font-size:12px!important;line-height:1.45!important}.d2-mei-cue a{display:inline-block;margin-top:5px;color:#f1c1a7;font-size:9px}
.d2-door-glow{position:absolute;inset:0;background:linear-gradient(90deg,transparent 38%,rgba(255,255,255,.12) 49%,transparent 60%);animation:d2-door-open 3.5s ease-in-out infinite;pointer-events:none}.d2-konbini-entry-panel{left:clamp(18px,5vw,70px);right:auto}
.d2-shop-panel{position:absolute;z-index:10;left:clamp(18px,4vw,58px);right:clamp(18px,4vw,58px);bottom:clamp(18px,4vh,46px);display:grid;grid-template-columns:minmax(260px,.75fr) minmax(520px,1.6fr) minmax(220px,.55fr);gap:18px;align-items:end;padding:18px;border:1px solid rgba(247,240,223,.18);background:linear-gradient(105deg,rgba(4,28,38,.94),rgba(4,28,38,.72));box-shadow:0 25px 70px rgba(0,0,0,.32);backdrop-filter:blur(8px);color:#fff}.d2-shop-panel header h2{margin:5px 0 8px;font:500 38px/.98 var(--font-display),serif}.d2-shop-panel header p{margin:0;font-size:13px;line-height:1.48}.d2-product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.d2-product-card{display:grid;grid-template-columns:58px 1fr;gap:9px;align-items:center;min-height:82px;padding:8px;border:1px solid rgba(247,240,223,.2);border-radius:12px;background:rgba(247,240,223,.07);color:#fff;text-align:left}.d2-product-card img{width:58px;height:66px;object-fit:contain}.d2-product-card span{display:grid}.d2-product-card b{font-size:13px}.d2-product-card small{font-size:9px;opacity:.72}.d2-product-card em{font-size:8px;color:#efb596;font-style:normal}.d2-product-card strong{font-size:12px}.d2-product-card.selected{background:#f0ded0;color:#163643;border-color:#f0ded0}.d2-product-card:disabled{opacity:.42}.d2-shop-panel footer{display:grid;gap:6px}.d2-shop-panel footer small{font-size:8px;letter-spacing:.14em;color:#efb596}.d2-shop-panel footer b{font:600 32px var(--font-display),serif}.d2-shop-panel footer span{font-size:9px;opacity:.7}.d2-floating-mei{position:absolute;z-index:13;right:4vw;top:18vh;width:min(360px,42vw)}
.d2-checkout-panel{left:clamp(18px,5vw,72px);right:auto;max-width:520px}.d2-bag-choices button.selected{background:#f0ded0;color:#153543}.d2-receipt{margin-top:14px;padding:15px;background:#f3e8d3;color:#173846}.d2-receipt small,.d2-receipt b,.d2-receipt p{display:block}.d2-receipt b{font:600 32px var(--font-display),serif}.d2-receipt p{color:#173846!important}
.d2-shrine-panel,.d2-ritual-panel,.d2-shrine-explore-panel,.d2-arcade-panel{left:clamp(18px,5vw,72px);right:auto;max-width:560px}.d2-ritual-steps{display:grid;gap:7px;margin-top:14px}.d2-ritual-step{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;min-height:50px;padding:9px 10px;border:1px solid rgba(247,240,223,.18);background:rgba(247,240,223,.05);color:#fff;text-align:left}.d2-ritual-step b{display:grid;width:29px;height:29px;place-items:center;border:1px solid rgba(247,240,223,.36);border-radius:50%}.d2-ritual-step small{grid-column:2;font-size:10px;opacity:.72}.d2-ritual-step.current{border-color:#efb596;background:rgba(239,181,150,.1)}.d2-ritual-step.done{opacity:.72}.d2-offering-choices,.d2-wish-choices,.d2-shrine-view-tabs{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.d2-offering-choices button,.d2-wish-choices button,.d2-shrine-view-tabs button{min-height:43px;padding:9px 13px;border:1px solid rgba(247,240,223,.24);background:rgba(247,240,223,.06);color:#fff}.d2-shrine-view-tabs button.selected{background:#f0ded0;color:#153543}.d2-wish-input{display:grid;gap:6px;margin-top:12px;font-size:11px}.d2-wish-input textarea{min-height:78px;padding:10px;border:1px solid rgba(247,240,223,.3);background:rgba(255,255,255,.08);color:#fff;resize:vertical}.d2-site-priority{display:block;margin-top:10px;opacity:.7}.d2-admin-visual-note{margin-top:12px;padding:10px;border:1px dashed #efb596;color:#f7d0bc;font-size:10px}.d2-next-build{margin-top:14px;padding:13px;border-top:1px solid rgba(247,240,223,.2)}.d2-next-build small,.d2-next-build b{display:block}.d2-next-build small{font-size:8px;letter-spacing:.18em;color:#efb596}.d2-next-build b{margin-top:4px;font-size:16px}
@keyframes d2-door-open{0%,100%{opacity:.12;transform:translateX(-10%)}50%{opacity:.5;transform:translateX(12%)}}
@media(max-width:700px){
 .d2-konbini-entry-panel,.d2-checkout-panel,.d2-shrine-panel,.d2-ritual-panel,.d2-shrine-explore-panel,.d2-arcade-panel{left:12px;right:12px;width:auto;max-width:none}
 .d2-shop-panel{left:10px;right:10px;bottom:max(10px,calc(env(safe-area-inset-bottom) + 5px));grid-template-columns:1fr;gap:10px;max-height:63svh;overflow:auto;padding:13px}.d2-shop-panel header h2{font-size:31px}.d2-product-grid{grid-template-columns:1fr 1fr}.d2-product-card{grid-template-columns:44px 1fr;min-height:70px;padding:6px}.d2-product-card img{width:44px;height:54px}.d2-shop-panel footer{grid-template-columns:1fr 1fr;align-items:end}.d2-shop-panel footer .d2-primary{margin-top:0}.d2-floating-mei{right:10px;top:15vh;width:min(330px,86vw)}.d2-floating-mei .d2-mei-cue{background:rgba(6,28,39,.88)}
 .d2-ritual-panel{max-height:61svh}.d2-ritual-step small{font-size:9px}.d2-mei-cue{grid-template-columns:34px 1fr;padding:8px 9px}.d2-mei-cue img{width:34px;height:45px}
}


/* source: v64-human-flow.css */
/* V64 — human flow polish. J0/J1 scene markup remains locked; only late layout refinements are applied. */

/* DAY 1: breathe on mobile without changing scene logic. */
@media(max-width:700px){
  .taxi-greeting-v38{right:14px!important;bottom:max(14px,var(--safe))!important;left:14px!important;width:auto!important;max-width:none!important;padding:14px 15px!important;max-height:45svh;overflow:auto;background:linear-gradient(105deg,rgba(4,28,38,.94),rgba(4,28,38,.78))!important}
  .taxi-greeting-v38>span{font-size:8px!important;letter-spacing:.18em!important}
  .taxi-greeting-v38 h2{margin:6px 0 8px!important;font-size:34px!important;line-height:1!important}
  .taxi-greeting-v38 .phrase-guide{display:flex!important;align-items:center!important;gap:10px!important;margin:4px 0 0!important;padding:8px 10px!important;border-radius:16px!important;background:rgba(255,255,255,.045)!important}
  .taxi-greeting-v38 .phrase-guide>button{flex:0 0 42px!important;width:42px!important;height:42px!important;min-height:42px!important;margin:0!important}
  .taxi-greeting-v38 .phrase-guide b{display:none!important}
  .taxi-greeting-v38 .phrase-guide span{font-size:11px!important;line-height:1.3!important}
  .taxi-greeting-v38 .taxi-answer-phrase{min-height:42px!important;width:auto!important;padding:8px 16px!important;font-size:16px!important;border-radius:999px!important}
}

/* TRIAL REVIEW: client-facing, calmer. */
.trial-review-v40{background:linear-gradient(180deg,#f6efe2,#ede1cf)!important;color:#173846!important}
.trial-review-intro p{max-width:560px;color:#526a71!important}

/* TRIAL OFFER: turn the end into a visual transformation, not a wall of copy. */
.trial-offer-stage{min-height:100svh;padding:28px clamp(18px,4vw,56px) max(36px,var(--safe))!important;background:linear-gradient(180deg,#f4ead8 0%,#efe1ca 100%)!important;color:#173846!important;overflow:auto!important}
.trial-offer-stage.v64-paid{display:grid!important;place-items:center!important}
.trial-offer-story.v64-offer-hero{position:relative;display:grid!important;min-height:min(620px,78svh);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);overflow:hidden;border-radius:30px;background:#062c3a!important;box-shadow:0 30px 80px rgba(5,27,35,.2)}
.v64-offer-hero>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:.26!important;filter:saturate(.8) contrast(1.05)!important}
.v64-offer-hero:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,35,46,.98) 0 48%,rgba(4,35,46,.68) 72%,rgba(4,35,46,.78));content:""}
.v64-offer-copy,.v64-offer-value{position:relative;z-index:2}
.v64-offer-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px);color:#f7f0df}
.v64-offer-copy small{color:#efb596;font-size:9px;font-weight:800;letter-spacing:.23em}
.v64-offer-copy h2{max-width:680px;margin:12px 0 14px;font:500 clamp(54px,7vw,94px)/.86 var(--font-display),serif}
.v64-offer-copy>p{max-width:590px;margin:0;color:rgba(247,240,223,.82);font-size:clamp(15px,1.4vw,18px);line-height:1.55}
.v64-transform-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:24px}
.v64-transform-line span{padding:8px 12px;border:1px solid rgba(247,240,223,.25);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em}
.v64-transform-line i{font-style:normal;color:#efb596}
.v64-offer-value{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:30px 30px 30px 0}
.v64-value-card{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;padding:15px 16px;border:1px solid rgba(247,240,223,.16);border-radius:18px;background:rgba(247,240,223,.08);color:#f7f0df;backdrop-filter:blur(10px)}
.v64-value-card i{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#f0ded0;color:#173846;font-style:normal;font-size:18px}
.v64-value-card b{display:block;font:600 20px var(--font-display),serif}
.v64-value-card span{display:block;margin-top:3px;color:rgba(247,240,223,.72);font-size:11px;line-height:1.45}
.v64-offer-checkout{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:20px;margin-top:20px;padding:22px;border:1px solid rgba(23,56,70,.1);border-radius:24px;background:#fffaf0;box-shadow:0 20px 60px rgba(23,56,70,.12)}
.v64-offer-checkout .offer-proof{display:flex;flex-direction:column;justify-content:center;padding:10px 14px}
.v64-offer-checkout .offer-proof small{color:#a95748;font-size:9px;font-weight:800;letter-spacing:.2em}
.v64-offer-checkout .offer-proof h3{margin:8px 0 4px;font:600 clamp(36px,4vw,54px)/.95 var(--font-display),serif;color:#173846}
.v64-offer-checkout .offer-proof p{margin:4px 0;color:#667b80;font-size:13px;line-height:1.5}
.v64-offer-checkout .trial-offer-card{margin:0!important;padding:18px!important;border-radius:18px!important;background:#0b3442!important;color:#fff!important}
.v64-offer-checkout .trial-offer-card h3{color:#fff!important}
.v64-offer-checkout .trial-offer-card>p{color:rgba(255,255,255,.76)!important}
.v64-offer-checkout .price{margin:8px 0!important}
.v64-offer-checkout .price strong{color:#f09f86!important}

/* Paid end: passport/progress, no sales copy. */
.v64-paid-card{position:relative;width:min(980px,100%);overflow:hidden;border-radius:30px;background:#07303e;color:#f7f0df;box-shadow:0 30px 90px rgba(5,27,35,.25)}
.v64-paid-card>img.v64-paid-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;filter:saturate(.75)}
.v64-paid-inner{position:relative;z-index:2;display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:center;padding:clamp(28px,6vw,70px)}
.v64-paid-stamp{position:relative;display:grid;place-items:center;aspect-ratio:1;border:1px solid rgba(247,240,223,.22);border-radius:50%;background:rgba(247,240,223,.08)}
.v64-paid-stamp img{width:72%;height:72%;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.25))}
.v64-paid-stamp b{position:absolute;right:4px;bottom:16px;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:#a95748;color:white;font-size:13px}
.v64-paid-copy small{color:#efb596;font-size:9px;font-weight:800;letter-spacing:.22em}
.v64-paid-copy h2{margin:10px 0 10px;font:500 clamp(52px,7vw,84px)/.9 var(--font-display),serif}
.v64-paid-copy p{max-width:570px;color:rgba(247,240,223,.78);font-size:15px;line-height:1.55}
.v64-paid-progress{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:24px 0 16px}
.v64-paid-progress i{height:7px;border-radius:99px;background:rgba(247,240,223,.16)}
.v64-paid-progress i.done{background:#ef9d84}
.v64-next-day{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:15px 17px;border:1px solid rgba(247,240,223,.18);border-radius:16px;background:rgba(247,240,223,.07)}
.v64-next-day span small,.v64-next-day span b{display:block}.v64-next-day span b{margin-top:3px;font-size:16px}.v64-next-day button{min-height:48px;padding:10px 18px;border:0;border-radius:999px;background:#a95748;color:#fff;font-weight:800}

/* DAY 2: eyelids, quieter UI, same-world assets. */
.chapter-day2 .world-image{animation:none!important;transition:filter .7s ease,transform 1.2s ease,background-position 1.2s ease}
.d2-eyelids{position:fixed;z-index:40;inset:0;pointer-events:none;overflow:hidden}
.d2-eyelid{position:absolute;right:-4%;left:-4%;height:54%;background:linear-gradient(180deg,#02080b,#061319 70%,#08171c);box-shadow:0 0 45px rgba(0,0,0,.7)}
.d2-eyelid.top{top:0;transform-origin:top;animation:d2-lid-top 1.35s cubic-bezier(.55,.02,.2,1) .35s both}
.d2-eyelid.bottom{bottom:0;transform-origin:bottom;animation:d2-lid-bottom 1.35s cubic-bezier(.55,.02,.2,1) .35s both}
.d2-wake-stage-0 .world-image,.d2-wake-stage-1 .world-image{filter:brightness(.38) blur(7px) saturate(.82)!important;transform:scale(1.09)!important}
.d2-wake-stage-2 .world-image{filter:brightness(.98) saturate(.91)!important;transform:scale(1.035)!important}
.d2-wake-stage-3 .world-image{filter:brightness(1) saturate(.94)!important;transform:scale(1.08) translateY(2%)!important}
.d2-morning-whisper{position:absolute;z-index:8;right:clamp(20px,5vw,64px);bottom:clamp(24px,6vh,60px);width:min(460px,85vw);padding:16px 18px;border-left:2px solid #d77d69;background:linear-gradient(90deg,rgba(4,28,38,.78),rgba(4,28,38,.25));color:#fff;text-shadow:0 2px 14px #000}
.d2-morning-whisper small{color:#efb596;font-size:8px;font-weight:800;letter-spacing:.2em}.d2-morning-whisper p{margin:6px 0 12px;font:500 24px/1.15 var(--font-display),serif}.d2-morning-whisper button{min-height:46px;padding:9px 16px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(6,28,39,.82);color:#fff;font-weight:800}
.d2-story-panel{right:clamp(20px,5vw,72px)!important;bottom:clamp(20px,5vh,58px)!important;width:min(500px,86vw)!important;padding:18px 20px!important;background:linear-gradient(105deg,rgba(4,28,38,.91),rgba(4,28,38,.65))!important}
.d2-story-panel h2{font-size:clamp(34px,4vw,50px)!important}.d2-story-panel p{font-size:13px!important;line-height:1.5!important}
.d2-breakfast-panel{left:clamp(18px,4vw,60px)!important;right:auto!important;width:min(440px,84vw)!important}
.d2-breakfast-tip{display:grid;grid-template-columns:35px 1fr;gap:10px;margin-top:12px;padding:10px 11px;border-radius:12px;background:rgba(247,240,223,.1)}
.d2-breakfast-tip i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#f0ded0;color:#173846;font-style:normal}.d2-breakfast-tip b{font-size:11px}.d2-breakfast-tip span{display:block;margin-top:2px;font-size:10px;line-height:1.35;opacity:.78}
.d2-food-choices{gap:6px!important;margin-top:11px!important}.d2-food-choices button{min-height:36px!important;padding:7px 10px!important;font-size:10px!important}
.d2-language-moment{margin-top:11px!important;padding-top:10px!important}.d2-language-moment b{font-size:25px!important}

/* Human Aoi dialogue. */
.d2-aoi-panel{width:min(490px,88vw)!important}
.d2-aoi-panel h2{margin-bottom:3px!important}.d2-aoi-presence{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:rgba(255,255,255,.68);font-size:9px}.d2-aoi-presence i{width:7px;height:7px;border-radius:50%;background:#ef9d84;box-shadow:0 0 0 5px rgba(239,157,132,.13)}
.d2-phrase{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;margin:9px 0;padding:9px 10px;border:1px solid rgba(247,240,223,.18);border-radius:14px;background:rgba(247,240,223,.06)}
.d2-phrase button{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(247,240,223,.24);border-radius:50%;background:rgba(247,240,223,.08);color:#fff}.d2-phrase b{display:block;font:500 20px var(--font-display),serif}.d2-phrase span{display:block;margin-top:2px;font-size:10px;opacity:.72}.d2-phrase details{margin-top:4px;font-size:10px}.d2-phrase summary{cursor:pointer;color:#efb596}.d2-phrase details p{margin:4px 0 0!important;font-size:10px!important}
.d2-dialogue-choices{gap:6px!important;margin-top:10px!important}.d2-dialogue-choices button{min-height:42px!important;padding:8px 11px!important;border-radius:12px!important;font-size:11px!important}
.d2-origin{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}.d2-origin input{min-height:42px;padding:9px 11px;border:1px solid rgba(247,240,223,.3);border-radius:12px;background:rgba(247,240,223,.08);color:#fff;outline:0}.d2-origin button{min-width:90px;border:0;border-radius:12px;background:#a95748;color:#fff;font-weight:800}
.d2-cultural-tip{margin-top:11px;padding:11px 12px;border-left:2px solid #ef9d84;background:rgba(247,240,223,.08)}.d2-cultural-tip small{display:block;color:#efb596;font-size:8px;font-weight:800;letter-spacing:.16em}.d2-cultural-tip b{display:block;margin:4px 0;font-size:12px}.d2-cultural-tip p{margin:0!important;font-size:10px!important;opacity:.78}
.d2-aoi-note{margin-top:10px!important;padding:11px 12px!important}.d2-aoi-note strong{font-size:20px!important}

/* No developer checkpoint in customer flow. */
.d2-dev-checkpoint{display:none!important}

@keyframes d2-lid-top{0%{transform:translateY(0) scaleY(1)}35%{transform:translateY(-9%) scaleY(.86)}100%{transform:translateY(-102%) scaleY(.15)}}
@keyframes d2-lid-bottom{0%{transform:translateY(0) scaleY(1)}35%{transform:translateY(9%) scaleY(.86)}100%{transform:translateY(102%) scaleY(.15)}}

@media(max-width:760px){
  .trial-offer-stage{padding:14px 12px max(24px,var(--safe))!important}
  .trial-offer-story.v64-offer-hero{min-height:auto;grid-template-columns:1fr;border-radius:22px}
  .v64-offer-copy{padding:32px 24px 18px}.v64-offer-copy h2{font-size:54px}.v64-offer-copy>p{font-size:14px}
  .v64-offer-value{padding:8px 18px 24px}.v64-value-card{grid-template-columns:38px 1fr;padding:12px}.v64-value-card i{width:36px;height:36px}.v64-value-card b{font-size:18px}
  .v64-offer-checkout{grid-template-columns:1fr;padding:12px;border-radius:20px}.v64-offer-checkout .offer-proof{padding:10px}.v64-offer-checkout .offer-proof h3{font-size:38px}
  .v64-paid-inner{grid-template-columns:1fr;padding:28px 20px}.v64-paid-stamp{width:190px;justify-self:center}.v64-paid-copy h2{font-size:54px}.v64-next-day{align-items:stretch;flex-direction:column}.v64-next-day button{width:100%}
  .d2-story-panel{right:14px!important;bottom:max(12px,calc(var(--safe) + 6px))!important;left:14px!important;width:auto!important;max-height:50svh!important;padding:14px 15px!important}
  .d2-story-panel h2{font-size:34px!important}.d2-story-panel p{font-size:12px!important}
  .d2-morning-whisper{right:14px;bottom:max(16px,var(--safe));left:14px;width:auto;padding:13px 14px}.d2-morning-whisper p{font-size:22px}
  .d2-breakfast-panel{right:14px!important;left:14px!important;width:auto!important}
  .d2-food-choices{grid-template-columns:repeat(3,1fr)!important}.d2-food-choices button{padding:6px 3px!important;font-size:9px!important}
  .d2-aoi-panel{right:12px!important;left:12px!important;width:auto!important;max-height:56svh!important}.d2-phrase{grid-template-columns:36px 1fr;margin:6px 0;padding:7px 8px}.d2-phrase button{width:34px;height:34px}.d2-phrase b{font-size:18px}.d2-phrase span{font-size:9px}.d2-origin input{min-width:0}
}
.d2-aoi-presence img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center 22%;border:1px solid rgba(247,240,223,.4);box-shadow:0 8px 18px rgba(0,0,0,.2)}


/* source: v67-polish.css */
/* V67 — compact admin + human-readable Day 2 dialogue. No J0/J1 scene logic changes. */
.admin-test-active{padding-bottom:0!important}
.admin-test-active .journey-menu-trigger{bottom:auto!important}
.admin-test-chip{position:fixed;z-index:10020;left:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;min-height:36px;padding:7px 11px;border:1px solid rgba(247,240,223,.26);border-radius:999px;background:rgba(4,28,38,.88);color:#fff;box-shadow:0 8px 26px rgba(0,0,0,.24);backdrop-filter:blur(12px);font-size:10px;letter-spacing:.04em}
.admin-test-chip b{font-size:9px;letter-spacing:.16em;color:#efb596}.admin-test-chip span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9}
.admin-test-drawer{position:fixed;z-index:10030;left:12px;bottom:max(56px,calc(env(safe-area-inset-bottom) + 52px));width:min(390px,calc(100vw - 24px));padding:12px;border:1px solid rgba(247,240,223,.2);border-radius:18px;background:rgba(4,28,38,.96);color:#fff;box-shadow:0 18px 60px rgba(0,0,0,.42);backdrop-filter:blur(16px)}
.admin-test-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.admin-test-drawer header div{display:grid}.admin-test-drawer header b{font-size:9px;letter-spacing:.16em;color:#efb596}.admin-test-drawer header small{font-size:9px;opacity:.66}.admin-test-drawer header>button{width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:20px}
.admin-test-drawer select,.admin-test-drawer button{min-height:40px;border:1px solid rgba(255,255,255,.18);border-radius:11px}.admin-test-drawer select{width:100%;padding:0 10px;background:#f7f0e4;color:#143542;font-weight:800}.admin-test-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.admin-test-actions button{background:#f7f0e4;color:#143542;font-weight:800}.admin-test-drawer .admin-test-exit{width:100%;margin-top:7px;background:#b7604e;color:#fff;font-weight:800}
/* Breakfast: make the tray the hero, not the panel. */
.chapter-day2.d2-breakfast .d2-breakfast-panel{max-height:44svh!important;padding:13px 15px!important;background:linear-gradient(105deg,rgba(4,28,38,.88),rgba(4,28,38,.57))!important}
.chapter-day2.d2-breakfast .d2-breakfast-panel h2{font-size:29px!important;line-height:1.02!important;margin:4px 0 6px!important}
.chapter-day2.d2-breakfast .d2-breakfast-panel p{font-size:11.5px!important;line-height:1.42!important;margin-top:5px!important}
.chapter-day2.d2-breakfast .d2-food-choices{margin-top:9px!important}
.chapter-day2.d2-breakfast .d2-food-choices button{display:grid!important;gap:1px!important;min-height:44px!important;text-align:left!important}
.chapter-day2.d2-breakfast .d2-food-choices button b{font-size:11px!important}.chapter-day2.d2-breakfast .d2-food-choices button small{font-size:10px!important;opacity:.72}
.d2-breakfast-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.d2-breakfast-item{display:grid;padding:6px 8px;border:1px solid rgba(247,240,223,.14);border-radius:8px;background:rgba(255,255,255,.04)}.d2-breakfast-item b{font-size:10px}.d2-breakfast-item span{font-size:9px;opacity:.65}
.d2-phrase-noaudio{grid-template-columns:1fr!important}.d2-phrase-noaudio>div{width:100%}
/* Aoi: human conversation first, Japanese as contextual learning layer. */
.d2-aoi-speech{margin:10px 0 4px;padding:12px 13px;border-left:2px solid #ef9d84;background:rgba(4,28,38,.56)}
.d2-aoi-speaker{display:block;font-size:8px;letter-spacing:.2em;color:#efb596;font-weight:800}.d2-aoi-meaning{margin:5px 0!important;font-family:var(--font-display),serif!important;font-size:18px!important;line-height:1.32!important;color:#fff!important}
.d2-aoi-japanese{margin-top:7px;padding-top:7px;border-top:1px solid rgba(247,240,223,.15)}.d2-aoi-japanese summary{cursor:pointer;list-style:none;font-size:9px;font-weight:800;letter-spacing:.08em;color:#efb596}.d2-aoi-japanese summary::-webkit-details-marker{display:none}.d2-aoi-japanese b,.d2-aoi-japanese span{display:block}.d2-aoi-japanese b{margin-top:5px;font-size:15px;font-weight:600}.d2-aoi-japanese span{margin-top:2px;font-size:9px;opacity:.62}
.d2-human-response{display:grid!important;gap:3px!important;text-align:left!important}.d2-human-response b{font-size:12px!important}.d2-human-response small{font-size:9px!important;opacity:.62!important;font-weight:500!important}
.d2-aoi-panel .d2-dialogue-choices button b{font-size:12px!important}.d2-aoi-panel .d2-dialogue-choices button span{font-size:10px!important;opacity:.58!important}
@media(max-width:700px){
 .admin-test-drawer{max-height:48svh;overflow:auto}
 .chapter-day2.d2-breakfast .d2-breakfast-panel{left:12px!important;right:12px!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 5px))!important;max-height:42svh!important}
 .chapter-day2.d2-aoi .d2-aoi-panel{max-height:50svh!important;padding:13px 14px!important}
 .d2-aoi-meaning{font-size:16px!important}
}


/* source: v68-world-culture.css */
/* V68 — one-world grade + cultural micro-cues. J0/J1 scene markup remains locked. */
.chapter-day2 .world-light::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,rgba(0,0,0,.012) 1px 2px),radial-gradient(circle at 32% 18%,rgba(255,220,175,.18),transparent 34%)}
.chapter-day2.d2-aoi .world-image{filter:saturate(.80) contrast(1.01) brightness(.91)}
.chapter-day2.d2-breakfast .world-image{filter:saturate(.82) contrast(1.01) brightness(.92)}
.chapter-day2.d2-street .world-image{filter:saturate(.84) contrast(1.02) brightness(.92)}
.d2-culture-fold p{margin:8px 0 5px!important}.d2-source-link{display:inline-block;margin-top:4px;color:#efb596;font-size:9px;font-weight:700;text-decoration:none}.d2-source-link:hover,.d2-source-link:focus{text-decoration:underline}
@media(max-width:700px){.d2-culture-fold p{font-size:10px!important}.d2-source-link{font-size:8px}}


/* source: v70-shrine-immersion.css */
/* V70 — Kushida physical immersion. Day 0 / Day 1 rendering untouched. */
.d2-shrine-air{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 18%,rgba(255,238,197,.09),transparent 34%),linear-gradient(180deg,transparent 45%,rgba(4,23,31,.16));animation:d2-shrine-air 8s ease-in-out infinite alternate}
.d2-free-entry{display:grid;gap:3px;margin:11px 0 6px;padding:10px 12px;border:1px solid rgba(247,240,223,.22);border-radius:12px;background:rgba(247,240,223,.07)}
.d2-free-entry b{font-size:12px;color:#f3c4a8}.d2-free-entry span{font-size:10px;line-height:1.4;opacity:.82}
.d2-enter-shrine{position:relative;overflow:hidden}.d2-enter-shrine:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-110%);animation:d2-shrine-invite 3.6s ease-in-out infinite}
.d2-physical-ritual,.d2-physical-prayer{max-width:500px;background:linear-gradient(105deg,rgba(4,28,38,.87),rgba(4,28,38,.53));backdrop-filter:blur(6px)}
.d2-physical-ritual h2,.d2-physical-prayer h2{font-size:clamp(32px,4.5vw,52px)}
.d2-physical-copy{font-family:var(--font-display),serif!important;font-size:18px!important;line-height:1.35!important;color:#fff!important}
.d2-ritual-progress{display:flex;gap:7px;margin:12px 0}.d2-ritual-progress i{width:42px;height:3px;background:rgba(247,240,223,.18);transition:.35s}.d2-ritual-progress i.current{background:#f2b89a;box-shadow:0 0 14px rgba(242,184,154,.35)}.d2-ritual-progress i.done{background:rgba(247,240,223,.72)}
.d2-gesture-action{display:grid;width:100%;min-height:78px;margin-top:14px;padding:14px 18px;border:1px solid rgba(247,240,223,.46);border-radius:18px;background:linear-gradient(135deg,rgba(169,87,72,.94),rgba(111,57,50,.94));color:#fff;text-align:left;box-shadow:0 16px 36px rgba(0,0,0,.25)}
.d2-gesture-action span{font-family:var(--font-display),serif;font-size:25px}.d2-gesture-action small{margin-top:3px;font-size:9px;letter-spacing:.06em;opacity:.72}
.d2-complete-whisper{font-family:var(--font-display),serif!important;font-size:19px!important;font-style:italic;opacity:.9}
.d2-water-fx,.d2-prayer-fx{position:absolute;z-index:8;inset:0;overflow:hidden;pointer-events:none}.d2-water-fx .stream{position:absolute;top:27%;left:50%;width:7px;height:34%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(214,242,244,.82) 15%,rgba(142,209,220,.62) 72%,rgba(255,255,255,0));filter:blur(.4px);opacity:0;transform-origin:top}.d2-water-fx .splash{position:absolute;top:58%;left:48%;width:12px;height:12px;border:1px solid rgba(218,244,246,.76);border-radius:50%;opacity:0}
.d2-purify-step-1 .d2-water-fx .stream,.d2-purify-step-2 .d2-water-fx .stream,.d2-purify-step-3 .d2-water-fx .stream{animation:d2-water-pour 1.05s ease-out both}
.d2-purify-step-1 .d2-water-fx .stream{left:39%;transform:rotate(10deg)}.d2-purify-step-2 .d2-water-fx .stream{left:59%;transform:rotate(-9deg)}.d2-purify-step-3 .d2-water-fx .stream{left:49%;height:27%;top:31%}
.d2-purify-step-1 .d2-water-fx .splash,.d2-purify-step-2 .d2-water-fx .splash,.d2-purify-step-3 .d2-water-fx .splash{animation:d2-water-splash .9s .35s ease-out both}.d2-purify-step-1 .s1{left:36%}.d2-purify-step-1 .s2{left:40%;animation-delay:.48s}.d2-purify-step-1 .s3{left:43%;animation-delay:.55s}.d2-purify-step-2 .s1{left:56%}.d2-purify-step-2 .s2{left:60%;animation-delay:.48s}.d2-purify-step-2 .s3{left:63%;animation-delay:.55s}
.d2-purify-step-1 .world-image{animation:d2-water-look-left 1.15s ease both,d2-world-breathe 14s 1.15s ease-in-out infinite alternate}.d2-purify-step-2 .world-image{animation:d2-water-look-right 1.15s ease both,d2-world-breathe 14s 1.15s ease-in-out infinite alternate}.d2-purify-step-3 .world-image{animation:d2-water-look-center 1.15s ease both,d2-world-breathe 14s 1.15s ease-in-out infinite alternate}.d2-purify-step-4 .world-image{animation:d2-water-finish 1.05s ease both,d2-world-breathe 14s 1.05s ease-in-out infinite alternate}
.d2-offering-physical button{position:relative;overflow:hidden}.d2-coin-fall{position:absolute;z-index:14;top:36%;left:50%;font-size:24px;color:#d5b56f;text-shadow:0 2px 10px rgba(0,0,0,.5);animation:d2-coin-fall .8s cubic-bezier(.2,.8,.2,1) both;pointer-events:none}
.d2-prayer-step-1 .world-image{animation:d2-bow-twice 2.2s cubic-bezier(.35,.7,.25,1) both,d2-world-breathe 14s 2.2s ease-in-out infinite alternate}.d2-prayer-step-2 .world-image{animation:d2-clap-camera .65s ease both,d2-world-breathe 14s .65s ease-in-out infinite alternate}.d2-prayer-step-3 .world-image{animation:d2-prayer-still 2.8s ease both,d2-world-breathe 16s 2.8s ease-in-out infinite alternate}.d2-prayer-step-4 .world-image{animation:d2-final-bow 1.25s ease both,d2-world-breathe 14s 1.25s ease-in-out infinite alternate}
.d2-prayer-fx .clap-ring{position:absolute;top:47%;left:50%;width:20px;height:20px;border:1px solid rgba(247,240,223,.72);border-radius:50%;opacity:0;transform:translate(-50%,-50%)}.d2-prayer-step-2 .d2-prayer-fx .r1{animation:d2-clap-ring .75s ease-out both}.d2-prayer-step-2 .d2-prayer-fx .r2{animation:d2-clap-ring .75s .18s ease-out both}.d2-prayer-fx .quiet-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,transparent 32%,rgba(2,12,17,.5) 100%);opacity:0}.d2-prayer-step-3 .d2-prayer-fx .quiet-vignette{animation:d2-quiet-in 2.8s ease both}
@keyframes d2-shrine-air{to{opacity:.72;transform:scale(1.015)}}@keyframes d2-shrine-invite{45%,100%{transform:translateX(110%)}}
@keyframes d2-water-pour{0%{opacity:0;transform:scaleY(.2)}18%{opacity:.8}75%{opacity:.7}100%{opacity:0;transform:scaleY(1.06)}}@keyframes d2-water-splash{0%{opacity:.85;transform:scale(.2)}100%{opacity:0;transform:translateY(38px) scale(4)}}
@keyframes d2-water-look-left{0%{transform:scale(1.035)}45%{transform:scale(1.08) translate3d(3%,2%,0)}100%{transform:scale(1.055)}}@keyframes d2-water-look-right{0%{transform:scale(1.055)}45%{transform:scale(1.08) translate3d(-3%,2%,0)}100%{transform:scale(1.055)}}@keyframes d2-water-look-center{0%{transform:scale(1.055)}50%{transform:scale(1.09) translateY(3%)}100%{transform:scale(1.055)}}@keyframes d2-water-finish{0%{transform:scale(1.055) translateY(2%)}100%{transform:scale(1.04)}}
@keyframes d2-coin-fall{0%{opacity:0;transform:translate(-50%,-110px) rotate(0)}20%{opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,90px) rotate(190deg)}}
@keyframes d2-bow-twice{0%,18%,46%,64%,100%{transform:scale(1.055) translateY(0)}10%,56%{transform:scale(1.1) translateY(-5%)}30%,76%{filter:brightness(.92)}}
@keyframes d2-clap-camera{0%,100%{transform:scale(1.055)}35%{transform:scale(1.07)}55%{transform:scale(1.052)}}@keyframes d2-clap-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(12)}}
@keyframes d2-prayer-still{0%{filter:brightness(.94) saturate(.9);transform:scale(1.055)}100%{filter:brightness(.78) saturate(.78);transform:scale(1.045)}}@keyframes d2-quiet-in{0%{opacity:0}35%,100%{opacity:1}}
@keyframes d2-final-bow{0%,100%{transform:scale(1.045) translateY(0);filter:brightness(.9)}45%{transform:scale(1.09) translateY(-5%);filter:brightness(.78)}}
@media(max-width:700px){.d2-physical-ritual,.d2-physical-prayer{max-height:49svh}.d2-physical-ritual h2,.d2-physical-prayer h2{font-size:30px}.d2-physical-copy{font-size:16px!important}.d2-gesture-action{min-height:66px;padding:11px 14px}.d2-gesture-action span{font-size:21px}.d2-water-fx .stream{top:31%;height:29%}.d2-free-entry{padding:8px 10px}.d2-free-entry span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.d2-water-fx,.d2-prayer-fx{display:none!important}.d2-purification .world-image,.d2-prayer .world-image{animation:none!important;transform:scale(1.035)!important}}
/* Prevent rapid tapping from skipping the physical animations. */
.d2-purify-step-1 .d2-water-action,.d2-purify-step-2 .d2-water-action,.d2-purify-step-3 .d2-water-action,.d2-purify-step-4 .d2-water-action{opacity:0;pointer-events:none;animation:d2-action-ready .25s 1.05s ease forwards}
.d2-prayer-step-1 .d2-prayer-action{opacity:0;pointer-events:none;animation:d2-action-ready .25s 2.15s ease forwards}
.d2-prayer-step-2 .d2-prayer-action{opacity:0;pointer-events:none;animation:d2-action-ready .25s .68s ease forwards}
.d2-prayer-step-3 .d2-prayer-action{opacity:0;pointer-events:none;animation:d2-action-ready .3s 2.55s ease forwards}
@keyframes d2-action-ready{to{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.d2-water-action,.d2-prayer-action{opacity:1!important;pointer-events:auto!important;animation:none!important}}


/* source: v71-konbini-polish.css */
/* V71 — Day 2 clarity + konbini polish. J0/J1 rendering untouched. */
.chapter-day2 .world-image{filter:saturate(.96) contrast(1.045) brightness(.99)!important;transform:scale(1.008)!important;animation:v71-world-breathe 22s ease-in-out infinite alternate!important}
@keyframes v71-world-breathe{to{transform:scale(1.018)}}
.d2-breakfast-backdrop img{filter:brightness(.8) saturate(.95) contrast(1.045)!important;transform:scale(1.01)!important}.d2-breakfast-backdrop>div{background:linear-gradient(110deg,rgba(8,32,39,.42),rgba(8,32,39,.08) 58%,rgba(8,32,39,.27))!important}.d2-breakfast-experience{backdrop-filter:none!important;background:rgba(244,236,222,.97)!important}
.d2-shop-panel-v71{grid-template-columns:minmax(220px,.58fr) minmax(600px,1.8fr) minmax(210px,.48fr);background:linear-gradient(105deg,rgba(4,28,38,.90),rgba(4,28,38,.58));backdrop-filter:blur(2px)}
.d2-product-grid-v71{grid-template-columns:repeat(4,minmax(0,1fr));max-height:360px;overflow:auto;padding-right:3px;scrollbar-width:thin}.d2-product-grid-v71 .d2-product-card{grid-template-columns:50px 1fr;min-height:74px;background:rgba(8,35,44,.74)}.d2-product-grid-v71 .d2-product-card img{width:50px;height:58px;border-radius:9px;object-fit:contain;background:rgba(247,240,223,.96)}.d2-product-grid-v71 .d2-product-card em{order:-1;text-transform:uppercase;letter-spacing:.08em}
.d2-checkout-v71{position:absolute;z-index:11;left:clamp(20px,5vw,70px);right:auto;bottom:clamp(20px,5vh,58px);width:min(540px,90vw);max-height:72svh;overflow:auto;padding:20px 22px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(4,28,38,.88),rgba(4,28,38,.54));color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3);backdrop-filter:blur(3px)}
.d2-cashier-beat small{color:#efb596;font-size:8px;letter-spacing:.18em}.d2-cashier-beat p{margin:5px 0 10px;line-height:1.45}.d2-cashier-question{padding:11px 0 3px;border-top:1px solid rgba(247,240,223,.18)}.d2-cashier-question>b{font:500 25px/1.1 var(--font-display),serif}.d2-cashier-question .d2-phrase{margin-top:7px}.d2-bag-choices{grid-template-columns:1fr 1fr}.d2-bag-choices button{border-radius:14px}.d2-counter-summary{display:grid;grid-template-columns:1fr .72fr;gap:12px;margin-top:12px;padding:12px;border:1px solid rgba(247,240,223,.17);background:rgba(247,240,223,.06)}.d2-scanned-items{display:grid;gap:4px}.d2-scanned-items>div,.d2-checkout-math span,.d2-checkout-math strong{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px}.d2-scanned-items>div{padding-bottom:4px;border-bottom:1px dotted rgba(247,240,223,.2)}.d2-checkout-math{display:grid;gap:5px;padding-left:12px;border-left:1px solid rgba(247,240,223,.16)}.d2-checkout-math strong{margin-top:4px;padding-top:7px;border-top:1px solid rgba(247,240,223,.25);font-size:13px;color:#f2c4aa}
.d2-receipt-v71{margin:0;padding:22px 19px;background:#f6efdf;color:#153845;box-shadow:0 20px 60px rgba(0,0,0,.28);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.d2-receipt-v71 header{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding-bottom:12px;border-bottom:1px dashed rgba(21,56,69,.36)}.d2-receipt-v71 header small{grid-column:1/-1;letter-spacing:.12em}.d2-receipt-v71 header b{font:600 28px var(--font-display),serif}.d2-receipt-v71 header span{align-self:end;font-size:11px}.d2-receipt-lines{display:grid;gap:7px;padding:14px 0;border-bottom:1px dashed rgba(21,56,69,.36)}.d2-receipt-lines>div,.d2-receipt-totals span,.d2-receipt-totals strong{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.d2-receipt-lines span{display:grid;font-size:12px}.d2-receipt-lines small{font-size:9px;opacity:.58}.d2-receipt-totals{display:grid;gap:6px;padding:12px 0}.d2-receipt-totals strong{padding-top:8px;border-top:1px solid rgba(21,56,69,.22);font-size:16px}.d2-receipt-balance{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:10px;background:rgba(21,56,69,.08)}.d2-receipt-balance span{display:grid;font-size:10px}.d2-receipt-balance b{font-size:14px}.d2-receipt-v71 p{margin:12px 0 0!important;color:#47606a!important;font-family:var(--font-sans),sans-serif;font-size:11px!important}
@media(max-width:700px){.chapter-day2 .world-image{transform:scale(1)!important;animation:none!important;filter:saturate(.98) contrast(1.035) brightness(1)!important}.d2-shop-panel-v71{grid-template-columns:1fr;max-height:70svh;backdrop-filter:blur(1px)}.d2-product-grid-v71{grid-template-columns:1fr 1fr;max-height:42svh}.d2-product-grid-v71 .d2-product-card{grid-template-columns:42px 1fr;min-height:66px}.d2-product-grid-v71 .d2-product-card img{width:42px;height:50px}.d2-checkout-v71{left:12px;right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px));width:auto;max-height:66svh;padding:16px}.d2-bag-choices{grid-template-columns:1fr}.d2-counter-summary{grid-template-columns:1fr}.d2-checkout-math{padding-left:0;padding-top:10px;border-left:0;border-top:1px solid rgba(247,240,223,.16)}}


/* source: v72-konbini-premium.css */
/* V72 — premium konbini flow. No J0/J1 selector changes. */
.chapter-day2 .v72-konbini .world-image,.chapter-day2 .v72-checkout .world-image{filter:none!important;transform:none!important;animation:none!important}
.v72-konbini-heading{position:absolute;z-index:12;top:clamp(145px,18vh,190px);left:clamp(22px,4vw,58px);width:min(470px,44vw);padding:18px 20px 19px;border-left:2px solid #bf6556;background:linear-gradient(90deg,rgba(4,25,34,.86),rgba(4,25,34,.18));color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7)}
.v72-konbini-heading small,.v72-counter-card header>small,.v72-receipt-copy>small,.v72-exit-panel>small{color:#efb596;font-size:9px;font-weight:800;letter-spacing:.19em}
.v72-konbini-heading h2,.v72-counter-card h2,.v72-receipt-copy h2,.v72-exit-panel h2{margin:6px 0 8px;font:500 clamp(34px,4.3vw,56px)/.98 var(--font-display),serif}
.v72-konbini-heading p,.v72-counter-card header p,.v72-receipt-copy p,.v72-exit-panel p{margin:0;font-size:13px;line-height:1.5;opacity:.9}
.v72-store-hotspots{position:absolute;z-index:11;inset:0;pointer-events:none}.v72-zone{position:absolute;pointer-events:auto;display:grid;min-width:120px;padding:10px 14px;border:1px solid rgba(247,240,223,.42);border-radius:14px;background:rgba(5,27,36,.76);color:#fff;text-align:left;box-shadow:0 12px 30px rgba(0,0,0,.22);backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease,border-color .2s ease}.v72-zone:hover,.v72-zone.active{transform:translateY(-2px);border-color:#efb596;background:rgba(8,42,54,.94)}.v72-zone span{font-weight:800}.v72-zone small{font-size:9px;opacity:.72}.v72-zone em{font-size:8px;font-style:normal;opacity:.62}.v72-zone-drink{top:28%;left:48%}.v72-zone-food{right:6%;bottom:28%}.v72-zone-care{top:47%;left:34%}.v72-zone-gear{right:20%;top:34%}
.v72-basket-pill{position:absolute;z-index:15;right:clamp(20px,4vw,58px);bottom:clamp(24px,5vh,54px);display:grid;grid-template-columns:auto auto;gap:0 8px;align-items:center;padding:11px 15px;border:1px solid rgba(247,240,223,.55);border-radius:999px;background:rgba(5,26,35,.86);color:#fff;box-shadow:0 14px 36px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.v72-basket-pill>span{grid-row:1/3;font-size:21px}.v72-basket-pill b{font-size:12px}.v72-basket-pill small{font-size:9px;opacity:.75}.v72-basket-pill.has-items{border-color:#efb596}
.v72-shelf-sheet,.v72-basket-sheet{position:absolute;z-index:20;right:clamp(18px,4vw,58px);bottom:clamp(20px,5vh,54px);width:min(560px,54vw);padding:16px;border:1px solid rgba(247,240,223,.22);background:rgba(5,27,36,.94);color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.42);backdrop-filter:blur(14px);animation:v72-sheet-in .26s ease both}.v72-shelf-sheet header,.v72-basket-sheet header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid rgba(247,240,223,.15)}.v72-shelf-sheet header div,.v72-basket-sheet header div{display:grid}.v72-shelf-sheet header small,.v72-basket-sheet header small{font-size:8px;letter-spacing:.14em;color:#efb596}.v72-shelf-sheet header b,.v72-basket-sheet header b{font:600 25px var(--font-display),serif}.v72-shelf-sheet header>button,.v72-basket-sheet header>button{width:34px;height:34px;border:1px solid rgba(247,240,223,.25);border-radius:50%;background:transparent;color:#fff;font-size:20px}.v72-shelf-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding-top:12px}.v72-shelf-product{position:relative;display:grid;grid-template-columns:52px 1fr auto;gap:9px;align-items:center;min-height:72px;padding:8px;border:1px solid rgba(247,240,223,.14);border-radius:12px;background:rgba(247,240,223,.055);color:#fff;text-align:left}.v72-shelf-product:hover{border-color:rgba(239,181,150,.65)}.v72-shelf-product.selected{border-color:#efb596;background:rgba(169,87,72,.24)}.v72-shelf-product:disabled{opacity:.35}.v72-shelf-product img{width:52px;height:54px;object-fit:contain;border-radius:8px;background:#f7f0df}.v72-shelf-product span{display:grid;min-width:0}.v72-shelf-product b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v72-shelf-product small{font-size:8px;opacity:.63}.v72-shelf-product strong{margin-top:3px;font-size:10px;color:#f1c2a7}.v72-shelf-product i{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:rgba(247,240,223,.1);font-style:normal}.v72-shelf-product.selected i{background:#bf6556}
.v72-basket-lines{display:grid;gap:5px;padding:12px 0}.v72-basket-lines>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:7px 0;border-bottom:1px dotted rgba(247,240,223,.15)}.v72-basket-lines span{font-size:12px}.v72-basket-lines b{font-size:11px}.v72-basket-lines button{width:28px;height:28px;border:1px solid rgba(247,240,223,.22);border-radius:50%;background:transparent;color:#fff}.v72-basket-sheet>p{font-size:12px;opacity:.7}.v72-basket-sheet footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:11px;border-top:1px solid rgba(247,240,223,.15)}.v72-basket-sheet footer>span{display:grid;font-size:8px;letter-spacing:.1em}.v72-basket-sheet footer>span b{font:600 25px var(--font-display),serif;letter-spacing:0}.v72-basket-sheet .d2-primary{min-width:215px}.v72-look-cue{position:absolute;z-index:10;left:50%;bottom:28px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;background:rgba(4,24,33,.66);color:#fff;font-size:9px;letter-spacing:.06em;pointer-events:none}.v72-mei-cue{right:20px!important;bottom:100px!important;max-width:330px!important}
.v72-checkout .world-light{background:linear-gradient(90deg,rgba(3,15,22,.22),rgba(3,15,22,.02) 68%),linear-gradient(0deg,rgba(3,15,22,.32),transparent 50%)}
.v72-counter-card{position:absolute;z-index:14;left:clamp(22px,5vw,72px);bottom:clamp(24px,5vh,54px);width:min(520px,46vw);max-height:72svh;overflow:auto;padding:20px;border-left:2px solid #bf6556;background:linear-gradient(105deg,rgba(4,27,37,.92),rgba(4,27,37,.65));color:#fff;box-shadow:0 25px 70px rgba(0,0,0,.34);backdrop-filter:blur(10px)}.v72-counter-card header h2{font-size:38px}.v72-scan-line{display:grid;gap:5px;margin:12px 0;padding:10px;border:1px solid rgba(247,240,223,.15);background:rgba(247,240,223,.05)}.v72-scan-line>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px dotted rgba(247,240,223,.12);font-size:11px;opacity:.45;transition:opacity .25s}.v72-scan-line>div.done{opacity:1}.v72-scan-line>div.done span::first-letter{color:#efb596}.v72-cashier-question{margin-top:13px;padding:12px;border:1px solid rgba(239,181,150,.34);background:rgba(247,240,223,.06)}.v72-cashier-question>small{display:block;font-size:8px;letter-spacing:.14em;color:#efb596}.v72-cashier-question>b{display:block;margin:4px 0;font:500 27px var(--font-display),serif}.v72-cashier-question p,.v72-cashier-question summary{font-size:11px}.v72-cashier-question details{margin-top:5px}.v72-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.v72-choice-row button{display:grid;min-height:56px;padding:9px 12px;border:1px solid rgba(247,240,223,.22);border-radius:12px;background:rgba(247,240,223,.055);color:#fff;text-align:left}.v72-choice-row button.selected{border-color:#efb596;background:rgba(169,87,72,.28)}.v72-choice-row b{font-size:12px}.v72-choice-row small{font-size:8px;opacity:.7}.v72-payment{margin-top:12px}.v72-payment>small{font-size:8px;letter-spacing:.14em;color:#efb596}.v72-counter-card footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(247,240,223,.16)}.v72-counter-card footer>span{display:grid;font-size:8px;letter-spacing:.1em}.v72-counter-card footer>span b{font:600 26px var(--font-display),serif;letter-spacing:0}.v72-counter-card .d2-primary{min-height:52px;padding:10px 16px}
.v72-checkout-receipt .world-light{background:linear-gradient(90deg,rgba(3,15,22,.3),transparent 65%),linear-gradient(0deg,rgba(3,15,22,.28),transparent 55%)}.v72-receipt-wrap{position:absolute;z-index:14;inset:130px clamp(22px,5vw,72px) 28px;display:grid;grid-template-columns:minmax(310px,420px) minmax(280px,430px);gap:clamp(24px,5vw,70px);align-items:center;justify-content:center}.v72-receipt-paper{position:relative;padding:24px 22px 19px;background:#f8f0df;color:#173d47;box-shadow:0 24px 70px rgba(0,0,0,.36);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transform:rotate(-.6deg)}.v72-receipt-paper:before,.v72-receipt-paper:after{content:"";position:absolute;right:0;left:0;height:8px;background:linear-gradient(135deg,transparent 5px,#f8f0df 0) 0 0/10px 10px repeat-x}.v72-receipt-paper:before{top:-8px;transform:rotate(180deg)}.v72-receipt-paper:after{bottom:-8px}.v72-receipt-paper header{display:grid;grid-template-columns:1fr auto;gap:4px}.v72-receipt-paper header small{grid-column:1/-1;font-size:9px;letter-spacing:.18em}.v72-receipt-paper header b{font-size:17px}.v72-receipt-paper header span{font-size:10px}.v72-receipt-rule{height:1px;margin:12px 0;border-top:1px dashed rgba(23,61,71,.35)}.v72-receipt-lines,.v72-receipt-summary{display:grid;gap:7px}.v72-receipt-lines>div,.v72-receipt-summary>span,.v72-receipt-summary>strong{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;font-size:11px}.v72-receipt-lines span{display:grid}.v72-receipt-lines small{font-size:8px;opacity:.5}.v72-receipt-summary strong{margin-top:4px;padding-top:8px;border-top:1px solid rgba(23,61,71,.22);font-size:15px}.v72-receipt-budget{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;padding:9px;background:rgba(23,61,71,.07)}.v72-receipt-budget span{display:grid;font-size:9px}.v72-receipt-budget b{font-size:13px}.v72-barcode{width:62%;height:34px;margin:15px auto 8px;background:repeating-linear-gradient(90deg,#173d47 0 2px,transparent 2px 4px,#173d47 4px 5px,transparent 5px 8px)}.v72-receipt-note{display:block;text-align:center;font-size:7px;opacity:.55}.v72-receipt-copy{padding:18px 0 18px 22px;border-left:2px solid #bf6556;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.7)}.v72-receipt-copy h2{font-size:46px}.v72-receipt-copy .d2-primary{margin-top:17px}
.v72-konbini-exit{position:absolute;inset:0}.v72-exit-panel{position:absolute;z-index:12;right:clamp(22px,6vw,84px);bottom:clamp(28px,7vh,74px);width:min(520px,48vw);padding:20px 0 20px 22px;border-left:2px solid #bf6556;background:linear-gradient(90deg,rgba(4,27,37,.8),transparent);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7)}.v72-exit-memory{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.v72-exit-memory span{display:grid;padding:10px;border:1px solid rgba(247,240,223,.18);background:rgba(5,28,38,.6);font-size:9px}.v72-exit-memory b{font:600 19px var(--font-display),serif}.v72-exit-panel .d2-primary{margin-top:5px}
@keyframes v72-sheet-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .v72-konbini-heading{top:142px;left:14px;width:calc(100% - 28px);padding:12px 14px;background:linear-gradient(90deg,rgba(4,25,34,.82),rgba(4,25,34,.18))}.v72-konbini-heading h2{font-size:31px}.v72-konbini-heading p{font-size:11px}
  .v72-store-hotspots{top:0}.v72-zone{min-width:0;padding:8px 10px;border-radius:12px}.v72-zone span{font-size:10px}.v72-zone small{font-size:8px}.v72-zone em{display:none}.v72-zone-drink{top:42%;left:12%}.v72-zone-food{right:7%;bottom:27%}.v72-zone-care{top:57%;left:10%}.v72-zone-gear{right:10%;top:51%}
  .v72-basket-pill{right:12px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));padding:9px 12px}.v72-look-cue{bottom:76px;white-space:nowrap}
  .v72-shelf-sheet,.v72-basket-sheet{right:10px;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px));left:10px;width:auto;max-height:51svh;overflow:auto;padding:13px}.v72-shelf-products{grid-template-columns:1fr 1fr}.v72-shelf-product{grid-template-columns:42px 1fr auto;min-height:61px;padding:7px}.v72-shelf-product img{width:42px;height:44px}.v72-shelf-product b{font-size:10px}.v72-basket-sheet footer{align-items:flex-end}.v72-basket-sheet .d2-primary{min-width:0;padding:10px 14px}.v72-mei-cue{display:none!important}
  .v72-counter-card{left:12px;right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px));width:auto;max-height:65svh;padding:15px}.v72-counter-card header h2{font-size:31px}.v72-counter-card header p{font-size:11px}.v72-cashier-question>b{font-size:24px}.v72-choice-row{grid-template-columns:1fr 1fr}.v72-counter-card footer{position:sticky;bottom:-15px;margin:13px -15px -15px;padding:11px 15px 14px;background:rgba(4,27,37,.97)}
  .v72-receipt-wrap{inset:120px 12px 14px;display:flex;overflow:auto;flex-direction:column;gap:15px;justify-content:flex-start}.v72-receipt-paper{width:min(360px,92vw);padding:20px 18px;transform:none}.v72-receipt-copy{width:min(360px,92vw);padding:14px;border-left:2px solid #bf6556;background:rgba(4,27,37,.76)}.v72-receipt-copy h2{font-size:33px}.v72-receipt-copy p{font-size:11px}.v72-receipt-copy .d2-primary{width:100%}
  .v72-exit-panel{right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));left:12px;width:auto;padding:15px;border-left:2px solid #bf6556;background:rgba(4,27,37,.74)}.v72-exit-panel h2{font-size:34px}.v72-exit-panel p{font-size:11px}
}
.d2-konbini .world-image{background-position:50% 50%!important}
.d2-checkout .world-image{background-position:62% 50%!important}
.d2-konbiniExit .world-image{background-position:54% 50%!important}
@media(max-width:700px){.d2-konbini .world-image{background-position:52% 50%!important}.d2-checkout .world-image{background-position:60% 50%!important}.d2-konbiniExit .world-image{background-position:57% 50%!important}}


/* source: v73-konbini-cinematic.css */
/* V73 — KONBINI CINEMATIC
   Principle: the world is the interface. Keep DOBOX chrome quiet and contextual. */

/* Brand mark: never show the old square-white image treatment. */
.brand img{object-fit:contain!important;background:transparent!important;box-shadow:none!important}

/* Konbini world — less dark, no permanent giant panel. */
.v73-konbini,.v73-checkout,.v73-receipt-stage,.v73-konbini-exit{position:absolute;inset:0;overflow:hidden}
.v73-konbini .world-light,.v73-checkout .world-light,.v73-receipt-stage .world-light,.v73-konbini-exit .world-light{background:linear-gradient(0deg,rgba(3,17,23,.34),transparent 42%),linear-gradient(90deg,rgba(3,17,23,.18),transparent 65%)}

/* One quiet line, then let the store breathe. */
.v73-k-whisper{position:absolute;z-index:12;top:150px;left:clamp(24px,4vw,58px);display:grid;gap:3px;max-width:min(520px,48vw);padding:8px 0 8px 14px;border-left:2px solid rgba(239,181,150,.9);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.7)}
.v73-k-whisper b{font:500 clamp(23px,2.6vw,38px)/1.08 var(--font-display),serif}
.v73-k-whisper small{font-size:10px;line-height:1.4;opacity:.82}

/* The labels are cues pinned into the world, not UI cards. */
.v73-store-zones{position:absolute;z-index:12;inset:0;pointer-events:none}
.v73-zone{position:absolute;display:grid;grid-template-columns:15px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:5px 7px;border:0;background:transparent;color:#fff;text-align:left;text-shadow:0 2px 10px #000;pointer-events:auto;transition:transform .18s ease,opacity .18s ease}
.v73-zone:hover,.v73-zone:focus-visible{transform:translateY(-2px)}
.v73-zone i{grid-row:1/3;display:block;width:10px;height:10px;border:1.5px solid #f7f0df;border-radius:50%;box-shadow:0 0 0 5px rgba(247,240,223,.08)}
.v73-zone span{font-size:11px;font-weight:750;letter-spacing:.03em}
.v73-zone small{font-size:8px;opacity:.72}
.v73-zone-drink{top:43%;left:55%}.v73-zone-food{right:5%;top:55%}.v73-zone-care{left:14%;bottom:18%}.v73-zone-gear{right:16%;bottom:14%}

/* Product focus swaps the background under the user's finger. */
.v73-zone-focus{position:absolute;z-index:8;inset:0;background-position:center;background-size:cover;animation:v73-focus-in .34s ease-out both}
.v73-zone-back{position:absolute;z-index:14;top:145px;left:clamp(18px,4vw,54px);display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(247,240,223,.42);border-radius:50%;background:rgba(4,25,34,.42);color:#fff;font-size:18px;backdrop-filter:blur(8px)}
.v73-zone-title{position:absolute;z-index:13;top:149px;left:calc(clamp(18px,4vw,54px) + 50px);display:grid;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.72)}
.v73-zone-title small{font-size:8px;letter-spacing:.18em;opacity:.72}.v73-zone-title b{font:500 25px var(--font-display),serif}

/* A shelf rail, not an e-commerce grid. */
.v73-product-rail{position:absolute;z-index:16;right:0;bottom:0;left:0;padding:14px clamp(20px,4vw,58px) max(18px,calc(env(safe-area-inset-bottom) + 10px));background:linear-gradient(0deg,rgba(3,20,27,.92),rgba(3,20,27,.68) 70%,transparent);color:#fff;backdrop-filter:blur(4px)}
.v73-product-scroll{display:flex;gap:20px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}.v73-product-scroll::-webkit-scrollbar{display:none}
.v73-product-choice{position:relative;display:grid;grid-template-columns:minmax(110px,1fr) auto auto;gap:10px;align-items:end;min-width:205px;padding:10px 0 8px;border:0;border-bottom:1px solid rgba(247,240,223,.28);background:transparent;color:#fff;text-align:left}
.v73-product-choice span{display:grid;min-width:0}.v73-product-choice b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v73-product-choice small{font-size:8px;opacity:.63}.v73-product-choice strong{font-size:10px;color:#efb596}.v73-product-choice i{display:grid;width:24px;height:24px;place-items:center;border:1px solid rgba(247,240,223,.28);border-radius:50%;font-style:normal;font-size:12px}
.v73-product-choice.selected{border-color:#efb596}.v73-product-choice.selected i{border-color:#bf6556;background:#bf6556}.v73-product-choice:disabled{opacity:.35}.v73-rail-note{display:block;margin-top:2px;font-size:7px;letter-spacing:.07em;opacity:.5}

/* Tiny basket HUD. */
.v73-basket-chip{position:absolute;z-index:22;right:clamp(18px,4vw,56px);bottom:clamp(24px,4vh,46px);display:grid;grid-template-columns:auto auto auto;gap:6px;align-items:baseline;padding:8px 12px;border:1px solid rgba(247,240,223,.34);border-radius:999px;background:rgba(3,23,31,.72);color:#fff;box-shadow:0 9px 25px rgba(0,0,0,.18);backdrop-filter:blur(8px)}
.v73-product-rail~.v73-basket-chip{bottom:108px}.v73-basket-chip>b{font-size:14px;color:#efb596}.v73-basket-chip span{font-size:9px;opacity:.72}.v73-basket-chip strong{font-size:10px}.v73-basket-chip.has-items{border-color:rgba(239,181,150,.64)}
.v73-added-toast{position:absolute;z-index:30;right:clamp(18px,4vw,56px);bottom:92px;display:flex;gap:7px;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(247,240,223,.93);color:#173d47;font-size:9px;animation:v73-toast .85s ease both}.v73-added-toast span{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#bf6556;color:#fff}

/* Basket drawer is short and receipt-like, never covers the scene. */
.v73-basket-drawer{position:absolute;z-index:28;right:clamp(18px,4vw,58px);bottom:clamp(22px,4vh,44px);width:min(370px,calc(100vw - 36px));max-height:46svh;overflow:auto;padding:14px;border:1px solid rgba(247,240,223,.34);border-radius:18px;background:rgba(3,23,31,.9);color:#fff;box-shadow:0 20px 55px rgba(0,0,0,.32);backdrop-filter:blur(13px);animation:v73-drawer-in .22s ease-out both}
.v73-basket-drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px}.v73-basket-drawer header>b{font:500 22px var(--font-display),serif}.v73-basket-drawer header button{border:0;background:transparent;color:#fff;font-size:22px}.v73-basket-drawer>p{font-size:11px;opacity:.68}
.v73-basket-list{display:grid;margin:9px 0}.v73-basket-list>div{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px dotted rgba(247,240,223,.18)}.v73-basket-list span,.v73-basket-list b{font-size:10px}.v73-basket-list button{width:25px;height:25px;border:1px solid rgba(247,240,223,.2);border-radius:50%;background:transparent;color:#fff}
.v73-basket-drawer footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.v73-basket-drawer footer>span{display:grid;font-size:8px;opacity:.75}.v73-basket-drawer footer>span b{font:600 21px var(--font-display),serif;opacity:1}.v73-checkout-go{min-height:42px;padding:8px 14px;border:0;border-radius:999px;background:#bf6556;color:#fff;font-size:10px;font-weight:750}.v73-checkout-go:disabled{opacity:.4}

/* Checkout: scan strip + real dialogue line, no giant form panel. */
.v73-checkout .world-light{background:linear-gradient(0deg,rgba(2,15,21,.35),transparent 38%),linear-gradient(90deg,rgba(2,15,21,.16),transparent 66%)}
.v73-scan-whisper{position:absolute;z-index:16;right:clamp(18px,5vw,70px);bottom:clamp(32px,6vh,72px);display:grid;grid-template-columns:auto auto;gap:2px 14px;align-items:end;padding:9px 0 9px 14px;border-left:2px solid #bf6556;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.78)}
.v73-scan-whisper small{grid-column:1/-1;font-size:7px;letter-spacing:.16em;opacity:.65}.v73-scan-whisper b{font-size:11px}.v73-scan-whisper strong{font:500 22px var(--font-display),serif;color:#efb596}
.v73-cashier-dialogue{position:absolute;z-index:18;right:clamp(18px,5vw,70px);bottom:clamp(110px,17vh,180px);width:min(440px,44vw);padding:13px 0 13px 16px;border-left:2px solid #bf6556;background:linear-gradient(90deg,rgba(3,23,31,.76),rgba(3,23,31,.24),transparent);color:#fff;text-shadow:0 2px 13px rgba(0,0,0,.76)}
.v73-cashier-dialogue>small{display:block;font-size:7px;letter-spacing:.17em;color:#efb596}.v73-cashier-dialogue>b{display:block;margin:4px 0 2px;font:500 clamp(24px,2.4vw,35px) var(--font-display),serif}.v73-cashier-dialogue p,.v73-cashier-dialogue summary{margin:0;font-size:9px;opacity:.82}.v73-cashier-dialogue details{margin:3px 0}.v73-response-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.v73-response-pills button{display:grid;min-width:126px;padding:8px 11px;border:1px solid rgba(247,240,223,.25);border-radius:999px;background:rgba(3,23,31,.52);color:#fff;text-align:left}.v73-response-pills button.selected{border-color:#efb596;background:rgba(169,87,72,.56)}.v73-response-pills b{font-size:9px}.v73-response-pills small{font-size:7px;opacity:.65}
.v73-payment-dock{position:absolute;z-index:19;right:clamp(18px,5vw,70px);bottom:clamp(28px,5vh,58px);display:flex;gap:8px;align-items:center;padding:7px;border:1px solid rgba(247,240,223,.25);border-radius:999px;background:rgba(3,23,31,.78);color:#fff;backdrop-filter:blur(10px);box-shadow:0 12px 32px rgba(0,0,0,.24)}
.v73-pay-total{display:grid;min-width:84px;padding:0 10px}.v73-pay-total small{font-size:6px;letter-spacing:.15em;opacity:.62}.v73-pay-total b{font:600 18px var(--font-display),serif}.v73-pay-methods{display:flex;gap:5px}.v73-pay-methods button{display:flex;gap:5px;align-items:center;min-height:36px;padding:7px 10px;border:1px solid transparent;border-radius:999px;background:rgba(247,240,223,.08);color:#fff}.v73-pay-methods button.selected{border-color:#efb596;background:rgba(169,87,72,.52)}.v73-pay-methods span{font-size:12px}.v73-pay-methods b{font-size:8px}.v73-pay-action{min-height:38px;padding:8px 14px;border:0;border-radius:999px;background:#bf6556;color:#fff;font-size:9px;font-weight:760}.v73-pay-action:disabled{background:rgba(247,240,223,.12);opacity:.7}

/* Receipt is the interface/object; no second explanatory card. */
.v73-receipt-stage .world-light{background:rgba(2,15,21,.42)}
.v73-receipt-object{position:absolute;z-index:18;inset:118px 20px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;overflow:auto;padding:10px}
.v73-receipt-paper{position:relative;width:min(390px,86vw);padding:22px 20px 18px;background:#f8f0df;color:#173d47;box-shadow:0 26px 70px rgba(0,0,0,.38);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;transform:rotate(-.4deg);animation:v73-receipt-in .45s cubic-bezier(.2,.75,.25,1) both}
.v73-receipt-paper:before,.v73-receipt-paper:after{content:"";position:absolute;right:0;left:0;height:7px;background:linear-gradient(135deg,transparent 5px,#f8f0df 0) 0 0/10px 10px repeat-x}.v73-receipt-paper:before{top:-7px;transform:rotate(180deg)}.v73-receipt-paper:after{bottom:-7px}
.v73-receipt-paper header{display:grid;grid-template-columns:1fr auto;gap:3px}.v73-receipt-paper header small{grid-column:1/-1;font-size:8px;letter-spacing:.16em}.v73-receipt-paper header b{font-size:16px}.v73-receipt-paper header span{font-size:9px}.v73-receipt-rule{height:1px;margin:10px 0;border-top:1px dashed rgba(23,61,71,.34)}.v73-receipt-lines,.v73-receipt-summary{display:grid;gap:6px}.v73-receipt-lines>div,.v73-receipt-summary>span,.v73-receipt-summary>strong{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;font-size:10px}.v73-receipt-lines span{display:grid}.v73-receipt-lines small{font-size:7px;opacity:.48}.v73-receipt-summary strong{margin-top:3px;padding-top:7px;border-top:1px solid rgba(23,61,71,.22);font-size:14px}.v73-receipt-budget{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;padding:8px;background:rgba(23,61,71,.07)}.v73-receipt-budget span{display:grid;font-size:8px}.v73-receipt-budget b{font-size:12px}.v73-barcode{width:58%;height:28px;margin:12px auto 7px;background:repeating-linear-gradient(90deg,#173d47 0 2px,transparent 2px 4px,#173d47 4px 5px,transparent 5px 8px)}.v73-receipt-note{display:block;text-align:center;font-size:6px;opacity:.55}.v73-receipt-store{min-height:43px;padding:9px 16px;border:1px solid rgba(247,240,223,.3);border-radius:999px;background:rgba(3,23,31,.72);color:#fff;font-size:9px;font-weight:730;backdrop-filter:blur(8px)}

/* Exit: a street again, not a mission-complete card. */
.v73-exit-memory{position:absolute;z-index:15;right:clamp(18px,4vw,54px);top:144px;display:flex;gap:10px;align-items:baseline;padding:6px 10px;border-radius:999px;background:rgba(3,23,31,.56);color:#fff;backdrop-filter:blur(8px);text-shadow:0 1px 8px rgba(0,0,0,.6)}.v73-exit-memory span{font-size:9px;color:#efb596}.v73-exit-memory b{font:600 15px var(--font-display),serif}.v73-exit-memory small{font:400 7px var(--font-sans),sans-serif;opacity:.66}
.v73-exit-caption{position:absolute;z-index:14;left:clamp(20px,5vw,68px);bottom:clamp(84px,13vh,140px);display:grid;max-width:430px;padding-left:14px;border-left:2px solid #bf6556;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.8)}.v73-exit-caption b{font:500 clamp(24px,2.8vw,38px)/1.08 var(--font-display),serif}.v73-exit-caption small{margin-top:5px;font-size:9px;opacity:.8}.v73-street-continue{position:absolute;z-index:15;left:clamp(20px,5vw,68px);bottom:clamp(28px,5vh,54px);min-height:42px;padding:9px 15px;border:1px solid rgba(247,240,223,.32);border-radius:999px;background:rgba(3,23,31,.64);color:#fff;font-size:9px;font-weight:740;backdrop-filter:blur(8px)}

@keyframes v73-focus-in{from{opacity:0;transform:scale(1.018)}to{opacity:1;transform:none}}
@keyframes v73-toast{0%{opacity:0;transform:translateY(8px)}20%,70%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes v73-drawer-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes v73-receipt-in{from{opacity:0;transform:translateY(30px) rotate(-2deg) scale(.96)}to{opacity:1;transform:rotate(-.4deg) scale(1)}}

@media(max-width:700px){
  /* Sharper mobile backgrounds use 768×1270+ portrait composites; no forced zoom. */
  .d2-konbini .world-image{background-image:url('../assets/day2/v77/konbini-interior-mobile.webp')!important;background-position:center!important;transform:none!important}
  .d2-checkout .world-image{background-image:url('../assets/day2/v77/konbini-checkout-mobile.webp')!important;background-position:center!important;transform:none!important}
  .d2-konbiniExit .world-image{background-image:url('../assets/day2/v77/konbini-exterior-mobile.webp')!important;background-position:center!important;transform:none!important}
  .brand{left:10px!important;padding:4px 10px 4px 4px!important}.brand img{width:42px!important;height:42px!important}.brand b{font-size:12px!important}.brand small{font-size:6.5px!important}
  .v73-k-whisper{top:132px;left:14px;max-width:77vw;padding:5px 0 5px 10px}.v73-k-whisper b{font-size:20px}.v73-k-whisper small{display:none}
  .v73-zone{grid-template-columns:11px auto;padding:3px 4px}.v73-zone i{width:8px;height:8px;box-shadow:0 0 0 4px rgba(247,240,223,.07)}.v73-zone span{font-size:9px}.v73-zone small{font-size:6px}.v73-zone-drink{top:38%;left:56%}.v73-zone-food{right:3%;top:51%}.v73-zone-care{left:8%;bottom:20%}.v73-zone-gear{right:8%;bottom:15%}
  .v73-zone-focus{background-position:center!important}.v73-zone-back{top:130px;left:13px;width:34px;height:34px}.v73-zone-title{top:133px;left:57px}.v73-zone-title b{font-size:20px}.v73-zone-title small{font-size:7px}
  .v73-product-rail{padding:10px 12px max(13px,calc(env(safe-area-inset-bottom) + 7px));background:linear-gradient(0deg,rgba(3,20,27,.94),rgba(3,20,27,.55) 72%,transparent)}.v73-product-scroll{gap:16px}.v73-product-choice{grid-template-columns:minmax(98px,1fr) auto auto;min-width:178px;padding:8px 0 7px}.v73-product-choice b{font-size:10px}.v73-product-choice small{font-size:7px}.v73-product-choice strong{font-size:9px}.v73-rail-note{font-size:6px}
  .v73-basket-chip{right:11px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px));padding:7px 10px}.v73-product-rail~.v73-basket-chip{bottom:92px}.v73-basket-chip>b{font-size:12px}.v73-basket-chip span,.v73-basket-chip strong{font-size:8px}.v73-added-toast{right:11px;bottom:75px}
  .v73-basket-drawer{right:10px;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px));width:min(340px,calc(100vw - 20px));max-height:42svh;padding:12px}.v73-basket-drawer header>b{font-size:19px}.v73-basket-list span,.v73-basket-list b{font-size:9px}.v73-checkout-go{font-size:9px}
  .v73-scan-whisper{right:12px;bottom:max(22px,calc(env(safe-area-inset-bottom) + 15px));padding-left:10px}.v73-scan-whisper b{font-size:9px}.v73-scan-whisper strong{font-size:19px}
  .v73-cashier-dialogue{right:12px;bottom:124px;left:12px;width:auto;padding:10px 0 10px 12px;background:linear-gradient(90deg,rgba(3,23,31,.76),rgba(3,23,31,.25),transparent)}.v73-cashier-dialogue>b{font-size:24px}.v73-cashier-dialogue p,.v73-cashier-dialogue summary{font-size:8px}.v73-response-pills{gap:6px}.v73-response-pills button{min-width:0;flex:1;padding:7px 9px}.v73-response-pills b{font-size:8px}.v73-response-pills small{font-size:6px}
  .v73-payment-dock{right:10px;bottom:max(11px,calc(env(safe-area-inset-bottom) + 6px));left:10px;justify-content:space-between;gap:5px;padding:6px;border-radius:18px}.v73-pay-total{min-width:70px;padding:0 7px}.v73-pay-total b{font-size:16px}.v73-pay-methods{gap:3px}.v73-pay-methods button{padding:6px 8px}.v73-pay-methods b{font-size:7px}.v73-pay-action{padding:7px 9px;font-size:8px}
  .v73-receipt-object{inset:104px 8px 12px;justify-content:flex-start;padding-top:26px}.v73-receipt-paper{width:min(340px,88vw);padding:18px 16px 15px}.v73-receipt-store{font-size:8px}
  .v73-exit-memory{top:130px;right:11px;padding:5px 8px}.v73-exit-memory span{font-size:8px}.v73-exit-memory b{font-size:13px}.v73-exit-caption{right:12px;bottom:82px;left:12px;max-width:none;padding-left:10px}.v73-exit-caption b{font-size:25px}.v73-exit-caption small{font-size:8px}.v73-street-continue{right:12px;bottom:max(15px,calc(env(safe-area-inset-bottom) + 8px));left:12px;width:auto;min-height:43px;text-align:center}
}

@media(prefers-reduced-motion:reduce){.v73-zone-focus,.v73-added-toast,.v73-basket-drawer,.v73-receipt-paper{animation:none!important}}


/* source: v74-narrative-continuity.css */
/* V74 — Jour 2 narrative continuity + admin test separation */
.admin-test-backdrop{position:fixed;inset:0;z-index:10025;border:0;background:rgba(1,15,21,.66);backdrop-filter:blur(7px)}
.admin-test-chip{left:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;min-height:32px!important;padding:5px 9px!important;opacity:.76;transition:opacity .2s ease,transform .2s ease}
.admin-test-chip:hover,.admin-test-chip:focus-visible{opacity:1;transform:translateY(-1px)}
.admin-test-drawer{z-index:10030!important;left:50%!important;right:auto!important;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))!important;transform:translateX(-50%)!important;width:min(520px,calc(100vw - 24px))!important;max-height:min(72svh,620px)!important;overflow:auto!important;padding:16px!important;border-radius:22px!important;background:#06232d!important;box-shadow:0 28px 90px rgba(0,0,0,.55)!important}
.admin-test-drawer header{position:sticky;top:0;z-index:2;padding-bottom:10px;background:#06232d}
@media(max-width:700px){.admin-test-drawer{width:calc(100vw - 20px)!important;max-height:76svh!important;bottom:max(10px,env(safe-area-inset-bottom))!important}.admin-test-chip span{display:none}.admin-test-chip b{font-size:8px!important}}

/* Breakfast is staged narrative, never a scrollable card over the tray. */
.chapter-day2.d2-breakfast .world-light{background:linear-gradient(180deg,rgba(3,18,23,.10),rgba(3,18,23,.02) 45%,rgba(3,18,23,.18))!important}
.chapter-day2.d2-breakfast .d2-story-panel,.chapter-day2.d2-breakfast .d2-breakfast-panel{display:none!important}
.d2-narrative-caption{position:absolute;z-index:12;left:clamp(18px,5vw,70px);bottom:clamp(24px,7vh,82px);width:min(520px,88vw);padding:15px 18px 15px 20px;border-left:2px solid #c36c5d;background:linear-gradient(100deg,rgba(3,29,39,.90),rgba(3,29,39,.55));color:#f8f2e6;backdrop-filter:blur(8px);box-shadow:0 18px 50px rgba(0,0,0,.24)}
.d2-narrative-caption small{display:block;margin-bottom:6px;color:#efb596;font-size:9px;font-weight:800;letter-spacing:.18em}.d2-narrative-caption p{margin:0;font:500 clamp(19px,2.4vw,27px)/1.3 var(--font-display),Georgia,serif}.d2-narrative-caption.compact p{font-size:clamp(17px,2vw,22px)}
.d2-narrative-next{margin-top:12px;border:0;background:transparent;color:#fff;font-weight:800;font-size:13px;padding:6px 0}
.d2-breakfast-discovery{position:absolute;inset:0;z-index:10}.d2-breakfast-discovery .d2-narrative-caption{bottom:auto;top:clamp(170px,22vh,235px);width:min(470px,82vw)}
.d2-breakfast-look{position:absolute;z-index:13;left:50%;bottom:max(26px,calc(env(safe-area-inset-bottom) + 20px));transform:translateX(-50%);width:min(680px,92vw);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;border-radius:22px;background:rgba(3,29,39,.72);border:1px solid rgba(247,240,223,.26);backdrop-filter:blur(12px)}
.d2-breakfast-look>span{grid-column:1/-1;padding:2px 6px 4px;color:#efb596;font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.d2-breakfast-look button{min-height:58px;border:1px solid rgba(247,240,223,.22);border-radius:15px;background:rgba(247,240,223,.06);color:#fff;text-align:left;padding:9px 11px}.d2-breakfast-look b,.d2-breakfast-look small{display:block}.d2-breakfast-look b{font-size:13px}.d2-breakfast-look small{margin-top:3px;opacity:.7;font-size:10px}
.d2-breakfast-focus{position:absolute;z-index:15;left:clamp(18px,5vw,70px);bottom:clamp(22px,6vh,68px);width:min(460px,86vw);max-height:min(60svh,560px);overflow:auto;padding:18px 19px;border-left:2px solid #c36c5d;background:linear-gradient(105deg,rgba(3,29,39,.94),rgba(3,29,39,.70));color:#fff;backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(0,0,0,.34)}
.d2-breakfast-focus>small{color:#efb596;font-size:9px;font-weight:800;letter-spacing:.17em}.d2-breakfast-focus h2{margin:5px 0 7px;font:500 clamp(30px,4vw,44px)/1 var(--font-display),Georgia,serif}.d2-breakfast-focus>p{margin:0 0 12px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.9)}.d2-focus-close{position:absolute;right:8px;top:8px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;font-size:22px}
.d2-breakfast-before-bite{position:absolute;inset:0;z-index:12}.d2-breakfast-before-bite .d2-narrative-caption{top:clamp(170px,23vh,245px);bottom:auto}.d2-breakfast-before-bite .d2-language-moment.cinematic{position:absolute;left:clamp(18px,5vw,70px);bottom:clamp(24px,6vh,70px);width:min(450px,86vw);padding:15px 17px;background:rgba(3,29,39,.88);border-left:2px solid #c36c5d;color:#fff;backdrop-filter:blur(10px)}
.d2-breakfast-before-bite .d2-language-moment.cinematic .d2-phrase{margin:5px 0 10px}.d2-breakfast-before-bite .d2-language-moment.cinematic small{color:#efb596}

/* Aoi: keep face visible; narration and dialogue occupy less of the body. */
.chapter-day2.d2-aoi .d2-aoi-panel{left:clamp(18px,4vw,58px)!important;right:auto!important;bottom:clamp(18px,4vh,44px)!important;width:min(430px,82vw)!important;max-height:46svh!important;padding:14px 16px!important;background:linear-gradient(105deg,rgba(3,29,39,.91),rgba(3,29,39,.58))!important}
.chapter-day2.d2-aoi .d2-aoi-panel .eyebrow{font-size:9px!important}.chapter-day2.d2-aoi .d2-aoi-beat{font-size:14px!important;line-height:1.45!important}.chapter-day2.d2-aoi .d2-phrase{padding:10px 0!important}.chapter-day2.d2-aoi .d2-dialogue-choices{gap:7px!important}.chapter-day2.d2-aoi .d2-dialogue-choices button{min-height:48px!important;padding:9px 11px!important}
@media(max-width:700px){
 .d2-narrative-caption{left:12px;right:12px;width:auto;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));padding:13px 15px}.d2-narrative-caption p{font-size:19px}.d2-breakfast-discovery .d2-narrative-caption{top:21svh;left:14px;right:14px;width:auto;max-width:none}.d2-breakfast-look{width:calc(100vw - 24px);grid-template-columns:repeat(3,minmax(0,1fr));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));padding:7px}.d2-breakfast-look button{min-height:52px;padding:7px 8px}.d2-breakfast-look b{font-size:11px}.d2-breakfast-look small{font-size:9px}.d2-breakfast-focus{left:12px;right:12px;width:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));max-height:48svh;padding:14px 15px}.d2-breakfast-focus h2{font-size:29px}.d2-breakfast-focus>p{font-size:12px}.d2-breakfast-before-bite .d2-narrative-caption{top:20svh;left:12px;right:12px;width:auto}.d2-breakfast-before-bite .d2-language-moment.cinematic{left:12px;right:12px;width:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));padding:13px 15px}.chapter-day2.d2-aoi .d2-aoi-panel{left:12px!important;right:12px!important;width:auto!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px))!important;max-height:40svh!important;padding:12px 14px!important}.chapter-day2.d2-aoi .d2-aoi-beat{font-size:13px!important}.chapter-day2.d2-aoi .d2-phrase b{font-size:17px!important}.chapter-day2.d2-aoi .d2-dialogue-choices b{font-size:14px!important}
}
@media(max-width:390px){.d2-breakfast-look{grid-template-columns:1fr 1fr}.d2-breakfast-look>span{grid-column:1/-1}.d2-breakfast-look button:last-child{grid-column:1/-1}.chapter-day2.d2-aoi .d2-aoi-panel{max-height:38svh!important}}
/* Aoi language modes: no fake voice labels. */
.d2-aoi-speech.try-first .d2-aoi-jp-first{margin:6px 0 8px;font:500 clamp(22px,3.4vw,31px)/1.25 var(--font-display),Georgia,serif;color:#fff}
.d2-aoi-understand{margin-top:6px;border-top:1px solid rgba(247,240,223,.18);padding-top:7px}.d2-aoi-understand summary{cursor:pointer;color:#efb596;font-size:10px;font-weight:850;letter-spacing:.08em}.d2-aoi-understand .d2-aoi-meaning{margin:8px 0 3px!important}.d2-aoi-understand span{display:block;font-size:11px;opacity:.68}
.d2-aoi-speech.guided .d2-aoi-japanese{margin-top:7px;padding-top:7px;border-top:1px solid rgba(247,240,223,.16)}.d2-aoi-speech.guided .d2-aoi-japanese small,.d2-aoi-speech.guided .d2-aoi-japanese b,.d2-aoi-speech.guided .d2-aoi-japanese span{display:block}.d2-aoi-speech.guided .d2-aoi-japanese small{font-size:8px;letter-spacing:.16em;color:#efb596}.d2-aoi-speech.guided .d2-aoi-japanese b{margin-top:4px;font-size:18px}.d2-aoi-speech.guided .d2-aoi-japanese span{margin-top:2px;font-size:10px;opacity:.68}


/* source: v75-one-world.css */
/* V75 — ONE WORLD LOCK
   Day 1 is the reference language. Day 2 uses the same visual grammar: world first,
   one narrative layer at a time, minimal chrome, no SaaS cards over the journey. */
.chapter-day2 .world-image{filter:none!important;transform:scale(1.018)!important;animation:world-breathe 12s ease-in-out infinite alternate!important}
.chapter-day2 .world-light{background:linear-gradient(90deg,rgba(3,15,22,.40),rgba(3,15,22,.02) 62%),linear-gradient(0deg,rgba(3,15,22,.28),transparent 48%)!important}
.chapter-day2 .world-grain{opacity:.14!important}
.chapter-day2 .d2-scene{position:absolute;inset:0;overflow:hidden}
/* same whisper/panel grammar as J1 */
.chapter-day2 .d2-story-panel{position:absolute!important;z-index:14!important;left:clamp(18px,5vw,70px)!important;right:auto!important;top:auto!important;bottom:clamp(24px,6vh,72px)!important;width:min(430px,86vw)!important;max-height:46svh!important;overflow:auto!important;padding:14px 16px 14px 18px!important;border:0!important;border-left:2px solid #c36c5d!important;border-radius:0!important;background:linear-gradient(90deg,rgba(4,24,33,.82),rgba(4,24,33,.45) 68%,rgba(4,24,33,0))!important;color:#fff!important;box-shadow:none!important;backdrop-filter:blur(3px)!important;text-shadow:0 2px 14px rgba(0,0,0,.55)!important}
.chapter-day2 .d2-story-panel .eyebrow{font-size:8px!important;letter-spacing:.19em!important;color:#efb596!important}
.chapter-day2 .d2-story-panel h2{margin:5px 0 7px!important;font:500 clamp(26px,3.8vw,39px)/1.04 var(--font-display),Georgia,serif!important;color:#fff!important}
.chapter-day2 .d2-story-panel>p{margin:6px 0!important;font-size:12px!important;line-height:1.48!important;color:rgba(255,255,255,.9)!important}
.chapter-day2 .d2-primary{min-height:44px!important;margin-top:9px!important;padding:9px 14px!important;border:1px solid rgba(247,240,223,.34)!important;border-radius:999px!important;background:rgba(6,28,39,.66)!important;color:#fff!important;box-shadow:none!important;font-size:10px!important;font-weight:780!important}
.chapter-day2 .d2-info-fold{margin-top:7px!important;padding-top:7px!important;border-top:1px solid rgba(247,240,223,.16)!important;background:transparent!important}
.chapter-day2 .d2-info-fold summary{font-size:9px!important;color:#efb596!important}
.chapter-day2 .d2-info-fold p{font-size:10px!important;line-height:1.45!important;color:rgba(255,255,255,.8)!important}
.chapter-day2 .d2-source-link,.chapter-day2 .d2-mei-cue a{display:none!important}
/* Mei is a small travelling cue, not a lesson card */
.chapter-day2 .d2-mei-cue{display:grid!important;grid-template-columns:38px 1fr!important;gap:9px!important;align-items:center!important;margin:9px 0 0!important;padding:8px 10px!important;border:1px solid rgba(247,240,223,.14)!important;border-radius:15px!important;background:rgba(247,240,223,.08)!important;color:#fff!important}
.chapter-day2 .d2-mei-cue img{width:36px!important;height:36px!important;border-radius:50%!important;object-fit:cover!important;object-position:top!important}
.chapter-day2 .d2-mei-cue small{font-size:7px!important;letter-spacing:.14em!important;color:#efb596!important}.chapter-day2 .d2-mei-cue p{margin:2px 0 0!important;font-size:9.5px!important;line-height:1.4!important}
/* breakfast: narration then food, not a panel stack */
.d2-narrative-caption{width:min(410px,86vw)!important;padding:12px 14px 12px 16px!important;background:linear-gradient(90deg,rgba(4,24,33,.78),rgba(4,24,33,0))!important;backdrop-filter:blur(2px)!important;box-shadow:none!important}
.d2-narrative-caption p{font-size:clamp(17px,2.2vw,23px)!important;line-height:1.28!important}.d2-narrative-caption small{font-size:8px!important}
.d2-breakfast-discovery .d2-narrative-caption{top:auto!important;bottom:clamp(108px,17vh,176px)!important}
.d2-breakfast-look{left:clamp(18px,5vw,70px)!important;bottom:clamp(22px,5vh,58px)!important;transform:none!important;width:min(520px,88vw)!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;backdrop-filter:none!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}
.d2-breakfast-look>span{padding:0 0 4px!important;font-size:8px!important}.d2-breakfast-look button{min-height:46px!important;padding:7px 9px!important;border:1px solid rgba(247,240,223,.26)!important;border-radius:13px!important;background:rgba(4,24,33,.58)!important;backdrop-filter:blur(5px)!important}
.d2-breakfast-focus{width:min(410px,86vw)!important;max-height:44svh!important;padding:14px 16px!important;background:linear-gradient(90deg,rgba(4,24,33,.86),rgba(4,24,33,.52),transparent)!important;backdrop-filter:blur(3px)!important;box-shadow:none!important}.d2-breakfast-focus h2{font-size:31px!important}
/* Aoi: face remains the scene. One spoken moment, one response. */
.chapter-day2.d2-aoi .d2-aoi-panel{left:clamp(18px,5vw,70px)!important;bottom:clamp(18px,4vh,46px)!important;width:min(390px,82vw)!important;max-height:39svh!important;padding:12px 14px 12px 16px!important}
.chapter-day2.d2-aoi .d2-aoi-beat{margin:0 0 5px!important;font:italic 11px/1.45 var(--font-display),Georgia,serif!important;color:rgba(255,255,255,.72)!important}.chapter-day2.d2-aoi .d2-aoi-speech{margin:4px 0!important;padding:7px 0 7px 10px!important;background:rgba(4,24,33,.26)!important}.chapter-day2.d2-aoi .d2-aoi-meaning{font-size:15px!important}.chapter-day2.d2-aoi .d2-aoi-japanese b{font-size:14px!important}.chapter-day2.d2-aoi .d2-dialogue-choices{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}.chapter-day2.d2-aoi .d2-dialogue-choices button,.chapter-day2.d2-aoi .d2-human-response{min-height:42px!important;padding:7px 9px!important;border-radius:12px!important;background:rgba(4,24,33,.52)!important;border:1px solid rgba(247,240,223,.22)!important}.chapter-day2.d2-aoi .d2-dialogue-choices b{font-size:11px!important}.chapter-day2.d2-aoi .d2-dialogue-choices span,.chapter-day2.d2-aoi .d2-human-response small{font-size:8px!important}
.d2-aoi-note{margin:7px 0!important;padding:7px 9px!important;border-left:2px solid rgba(239,181,150,.8)!important;background:rgba(255,255,255,.04)!important}.d2-aoi-note small{font-size:7px!important}.d2-aoi-note strong{font-size:10px!important}
/* Konbini: remove the headline collision; the store is the interface. */
.v73-k-whisper{display:none!important}.v75-world-prompt{position:absolute;z-index:15;left:clamp(18px,5vw,70px);bottom:clamp(23px,5vh,58px);padding:8px 0 8px 12px;border-left:2px solid #c36c5d;color:#fff;text-shadow:0 2px 14px #000}.v75-world-prompt b{display:block;font:500 18px/1.15 var(--font-display),serif}.v75-world-prompt small{font-size:8px;opacity:.72}
.v73-zone{padding:4px 5px!important;background:rgba(4,24,33,.18)!important;border-radius:999px!important;backdrop-filter:blur(2px)!important}.v73-zone i{width:7px!important;height:7px!important;box-shadow:none!important}.v73-zone span{font-size:9px!important}.v73-zone small{display:none!important}
.v73-product-rail{padding-top:7px!important;background:linear-gradient(0deg,rgba(3,20,27,.90),rgba(3,20,27,.34) 72%,transparent)!important;backdrop-filter:blur(2px)!important}.v73-product-choice{min-width:165px!important}.v73-product-choice b{font-size:10px!important}.v73-basket-chip{background:rgba(3,23,31,.58)!important;box-shadow:none!important}
/* Checkout follows J1 character-dialogue grammar. */
.v73-cashier-dialogue{right:auto!important;left:clamp(18px,5vw,70px)!important;bottom:clamp(92px,13vh,136px)!important;width:min(360px,82vw)!important;padding:10px 0 10px 14px!important;background:linear-gradient(90deg,rgba(4,24,33,.80),rgba(4,24,33,.30),transparent)!important;border-left:2px solid #c36c5d!important;text-shadow:0 2px 14px #000!important}.v73-cashier-dialogue>b{font-size:clamp(22px,3vw,31px)!important}.v73-response-pills{margin-top:7px!important}.v73-response-pills button{min-height:38px!important;padding:6px 9px!important;background:rgba(4,24,33,.48)!important}.v73-payment-dock{left:clamp(18px,5vw,70px)!important;right:auto!important;bottom:clamp(22px,4vh,50px)!important;max-width:calc(100vw - 36px)!important;background:rgba(4,24,33,.66)!important;box-shadow:none!important}.v73-scan-whisper{left:clamp(18px,5vw,70px)!important;right:auto!important;bottom:clamp(28px,5vh,56px)!important}
/* Shrine: physical action panel stays compact and low. */
.chapter-day2 .d2-ritual-panel{width:min(400px,86vw)!important;max-height:48svh!important}.chapter-day2 .d2-ritual-panel h2{font-size:28px!important}.chapter-day2 .d2-physical-copy{font-size:11px!important}.chapter-day2 .d2-gesture-action{min-height:46px!important;border-radius:14px!important;background:rgba(4,24,33,.58)!important}.chapter-day2 .d2-free-entry{padding:7px 9px!important;background:rgba(247,240,223,.08)!important;border:1px solid rgba(247,240,223,.14)!important}.chapter-day2 .d2-free-entry b{font-size:9px!important}.chapter-day2 .d2-free-entry span{font-size:9px!important}
/* Admin is utility, not part of the art direction. */
.admin-test-chip{left:8px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;min-width:28px!important;min-height:28px!important;padding:4px 7px!important;opacity:.42!important;background:rgba(4,24,33,.58)!important}.admin-test-chip b{font-size:6px!important;letter-spacing:.13em!important}.admin-test-chip span{display:none!important}.admin-test-chip:hover,.admin-test-chip:focus-visible{opacity:.9!important}
@media(max-width:700px){
 .chapter-day2 .world-image{transform:none!important}
 .chapter-day2 .d2-story-panel{left:12px!important;right:12px!important;width:auto!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important;max-height:40svh!important;padding:11px 12px 11px 14px!important}.chapter-day2 .d2-story-panel h2{font-size:27px!important}.chapter-day2 .d2-story-panel>p{font-size:10.5px!important}
 .d2-breakfast-discovery .d2-narrative-caption{left:12px!important;right:12px!important;bottom:112px!important;width:auto!important}.d2-breakfast-look{left:12px!important;right:12px!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important;width:auto!important}.d2-breakfast-look button{min-height:43px!important}.d2-breakfast-focus{left:12px!important;right:12px!important;width:auto!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important;max-height:39svh!important}
 .chapter-day2.d2-aoi .d2-aoi-panel{left:12px!important;right:12px!important;width:auto!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 7px))!important;max-height:34svh!important}.chapter-day2.d2-aoi .d2-dialogue-choices{grid-template-columns:1fr 1fr!important}
 .v75-world-prompt{left:14px;bottom:82px}.v75-world-prompt b{font-size:16px}.v73-zone-drink{top:42%!important;left:57%!important}.v73-zone-food{top:54%!important;right:4%!important}.v73-zone-care{bottom:24%!important;left:8%!important}.v73-zone-gear{bottom:18%!important;right:8%!important}
 .v73-cashier-dialogue{left:12px!important;right:12px!important;bottom:116px!important;width:auto!important}.v73-payment-dock{left:10px!important;right:10px!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px))!important}.v73-scan-whisper{left:12px!important;bottom:28px!important}
 .admin-test-chip{width:28px!important;height:28px!important;overflow:hidden!important}.admin-test-chip b{font-size:0!important}.admin-test-chip b:after{content:'A';font-size:7px!important;color:#efb596!important}
}


/* source: v78-day2-consequence.css */

/* V78 — continuity, consequences, Kawabata/Tanaka */
.chapter-day2.d2-arcade .world-image,.chapter-day2.d2-arcadePause .world-image{filter:saturate(.9) contrast(1.03) brightness(.92)}
.chapter-day2.d2-tanaka .world-image{filter:saturate(.82) contrast(1.03) brightness(.9)}
.v78-arcade-atmosphere{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,24,33,.25),transparent 45%,rgba(4,24,33,.08)),linear-gradient(0deg,rgba(4,24,33,.25),transparent 38%)}
.v78-arcade-caption{position:absolute;z-index:12;left:clamp(18px,4vw,58px);top:clamp(130px,18vh,190px);width:min(430px,78vw);padding:12px 14px 12px 16px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(3,28,38,.82),rgba(3,28,38,.22));color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.v78-arcade-caption small{font-size:8px;letter-spacing:.18em;color:#efb596}.v78-arcade-caption p{margin:6px 0 0;font:500 clamp(18px,2vw,25px)/1.3 var(--font-display),Georgia,serif}.v78-arcade-caption.lower{top:auto;bottom:clamp(85px,10vh,120px)}
.v78-tanaka-hotspot{position:absolute;z-index:13;left:9%;top:38%;width:28%;height:35%;border:0;background:transparent;color:white;text-align:left}.v78-tanaka-hotspot i{position:absolute;left:18%;top:20%;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;box-shadow:0 0 0 7px rgba(255,255,255,.08)}.v78-tanaka-hotspot span{position:absolute;left:18%;top:calc(20% + 28px);padding:5px 8px;border-radius:99px;background:rgba(3,28,38,.68);font-size:9px;opacity:.9}.v78-tanaka-hotspot:hover i{transform:scale(1.15)}
.v78-arcade-walk{position:absolute;z-index:13;right:clamp(18px,4vw,58px);bottom:clamp(18px,4vh,44px);min-height:48px;padding:10px 15px;border:1px solid rgba(247,240,223,.35);border-radius:999px;background:rgba(3,28,38,.76);color:#fff;font-weight:750;backdrop-filter:blur(8px)}
.d2-carry-moment{position:relative;margin:10px 0 12px;padding:9px 11px;border-left:2px solid #efb596;background:rgba(247,240,223,.08);color:#fff}.d2-carry-moment.dismissed{display:none}.d2-carry-moment>span{font-size:7px;letter-spacing:.17em;color:#efb596}.d2-carry-moment p{margin:5px 0 7px!important;font-size:11px!important}.d2-carry-moment>div{display:flex;gap:6px}.d2-carry-moment button{min-height:36px;padding:7px 10px;border:1px solid rgba(247,240,223,.3);border-radius:999px;background:#b86452;color:#fff;font-size:9px}.d2-carry-moment button.quiet{background:transparent}
.v78-arcade>.d2-carry-moment{position:absolute;z-index:14;right:clamp(18px,4vw,58px);top:clamp(130px,17vh,185px);width:min(320px,72vw);background:rgba(3,28,38,.78);backdrop-filter:blur(8px)}
.v78-tanaka-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.03) brightness(.88)}
.v78-tanaka-dialogue{position:absolute;z-index:13;left:clamp(18px,4vw,58px);bottom:clamp(18px,4vh,42px);width:min(470px,88vw);max-height:55svh;overflow:auto;padding:15px 17px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(3,28,38,.91),rgba(3,28,38,.62));color:#fff;backdrop-filter:blur(6px)}.v78-tanaka-dialogue>small{font-size:8px;letter-spacing:.18em;color:#efb596}.v78-narrative,.v78-tanaka-answer{font:500 15px/1.45 var(--font-display),Georgia,serif}.v78-tanaka-questions{display:grid;gap:7px;margin:10px 0}.v78-tanaka-questions button{display:grid;gap:3px;min-height:50px;padding:9px 11px;border:1px solid rgba(247,240,223,.22);border-radius:12px;background:rgba(247,240,223,.06);color:#fff;text-align:left}.v78-tanaka-questions b{font-size:12px}.v78-tanaka-questions small{font-size:9px;opacity:.68}.v78-craft-note{margin:10px 0;border-top:1px solid rgba(247,240,223,.15);padding-top:8px}.v78-craft-note summary{cursor:pointer;color:#efb596;font-size:9px}.v78-craft-note p{font-size:11px!important;opacity:.82}
.v78-bag-floating{position:absolute;z-index:13;right:clamp(18px,4vw,58px);bottom:clamp(75px,10vh,110px);width:min(350px,82vw);padding:10px;border-radius:16px;background:rgba(3,28,38,.78);color:#fff;backdrop-filter:blur(8px)}
.d2-bag-summary{display:grid;gap:5px}.d2-bag-summary>div{display:flex;justify-content:space-between;gap:12px;padding:6px 7px;border-bottom:1px solid rgba(247,240,223,.12)}.d2-bag-summary span b,.d2-bag-summary span small{display:block}.d2-bag-summary span b{font-size:10px}.d2-bag-summary span small{font-size:8px;opacity:.6}.d2-bag-summary strong{font-size:8px;text-align:right;color:#efb596}.d2-bag-summary .used{opacity:.52}.d2-bag-empty{opacity:.65}.d2-bag-ledger .d2-bag-summary{margin-top:15px}.d2-bag-ledger .d2-bag-summary>div{border-color:rgba(18,51,68,.12);color:var(--ink)}.d2-bag-ledger .d2-bag-summary strong{color:#a95748}
.v78-return-panel{position:absolute;z-index:13;left:clamp(18px,5vw,70px);bottom:clamp(18px,4vh,45px);width:min(500px,88vw);padding:16px 18px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(3,28,38,.91),rgba(3,28,38,.58));color:#fff}.v78-return-panel>small{font-size:8px;letter-spacing:.18em;color:#efb596}.v78-return-panel h2{margin:6px 0;font:500 clamp(28px,4vw,42px)/1 var(--font-display),Georgia,serif}.v78-return-panel p{font-size:12px;line-height:1.5}.v78-food-return{margin:10px 0;padding:10px;border:1px solid rgba(247,240,223,.18);border-radius:12px;background:rgba(247,240,223,.06)}.v78-food-return small{font-size:7px;letter-spacing:.15em;color:#efb596}.v78-food-return button{min-height:38px;padding:7px 10px;border:0;border-radius:999px;background:#f0e5d3;color:#173846;font-weight:750}.v78-day-done{margin-top:8px!important;color:#b6dfc7!important;font-weight:750}
@media(max-width:700px){.v78-arcade-caption{left:12px;top:21svh;width:calc(100vw - 24px);padding:10px 12px}.v78-arcade-caption p{font-size:17px}.v78-arcade>.d2-carry-moment{right:12px;top:auto;bottom:76px;width:calc(100vw - 24px)}.v78-tanaka-hotspot{left:0;top:25%;width:45%;height:48%}.v78-tanaka-hotspot i{left:25%;top:34%}.v78-tanaka-hotspot span{left:20%;top:calc(34% + 28px)}.v78-arcade-walk{right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));max-width:calc(100vw - 24px)}.v78-tanaka-dialogue{left:12px;right:12px;width:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));max-height:44svh;padding:12px 14px}.v78-bag-floating{left:12px;right:12px;bottom:70px;width:auto;max-height:34svh;overflow:auto}.v78-arcade-caption.lower{left:12px;right:12px;width:auto;bottom:auto;top:20svh}.v78-return-panel{left:12px;right:12px;width:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));max-height:58svh;overflow:auto;padding:13px 14px}.v78-return-panel h2{font-size:28px}.d2-carry-moment p{font-size:10px!important}}


/* source: v79-tanaka-atelier.css */

/* V79 · Tanaka atelier — same-world, object-first interaction */
.v79-tanaka-scene{background:#071923;overflow:hidden}.v79-tanaka-media,.v79-tanaka-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform .7s cubic-bezier(.2,.72,.2,1),filter .45s ease}.v79-tanaka-media{filter:saturate(.86) contrast(1.04) brightness(.92)}.v79-tanaka-still{filter:saturate(.9) contrast(1.03) brightness(.93)}
.v79-tanaka-scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,17,23,.07) 35%,rgba(3,17,23,.64) 100%)}
.v79-tanaka-caption,.v79-tanaka-greeting,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel{position:absolute;z-index:12;left:clamp(18px,4vw,56px);bottom:clamp(18px,4vh,42px);width:min(480px,88vw);padding:14px 16px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(3,28,38,.9),rgba(3,28,38,.48));color:#fff;backdrop-filter:blur(5px)}
.v79-tanaka-caption small,.v79-question-panel>small{font-size:8px;letter-spacing:.18em;color:#efb596}.v79-tanaka-caption p,.v79-action-line,.v79-question-panel>p,.v79-answer-panel>p,.v79-farewell-panel>p{margin:7px 0 10px;font:500 clamp(15px,1.6vw,20px)/1.42 var(--font-display),Georgia,serif}
.v79-soft-next,.v79-question-next{border:0;border-radius:999px;background:var(--terra);color:#fff;padding:10px 14px;font-weight:750}.v79-soft-next{margin-top:8px}.v79-action-line{margin-bottom:8px}
.v79-inspect-hint{position:absolute;z-index:12;left:50%;top:18%;transform:translateX(-50%);padding:7px 10px;border-radius:99px;background:rgba(3,28,38,.68);color:#fff;font-size:9px;letter-spacing:.08em;white-space:nowrap;transition:opacity .25s}.v79-tanaka-scene.is-focused .v79-inspect-hint{opacity:0}
.v79-tanaka-scene.is-focused .inspect-image{transform:scale(1.58);filter:saturate(.92) contrast(1.06) brightness(.86)}
.v79-detail-hotspot{position:absolute;z-index:13;width:96px;height:96px;border:0;background:transparent;color:#fff;transition:opacity .2s}.v79-detail-hotspot i{position:absolute;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 0 0 7px rgba(255,255,255,.08)}.v79-detail-hotspot span{position:absolute;margin-top:27px;padding:4px 7px;border-radius:99px;background:rgba(3,28,38,.68);font-size:8px;opacity:0;transform:translateY(4px);transition:.2s}.v79-detail-hotspot:focus span,.v79-detail-hotspot:hover span{opacity:1;transform:none}.v79-detail-hotspot.seen i{background:#efb596;border-color:#efb596}.v79-tanaka-scene.is-focused .v79-detail-hotspot{opacity:.08;pointer-events:none}
.v79-detail-hotspot.face{left:61%;top:51%}.v79-detail-hotspot.clay{left:58%;top:64%}.v79-detail-hotspot.table{left:63%;top:78%}.v79-detail-hotspot.shelf{left:79%;top:27%}
.v79-detail-note{position:absolute;z-index:15;left:clamp(14px,4vw,48px);right:auto;bottom:clamp(16px,4vh,38px);width:min(440px,88vw);padding:13px 15px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(3,28,38,.93),rgba(3,28,38,.6));color:#fff;backdrop-filter:blur(6px)}.v79-detail-note>p{margin:0 0 7px;font:500 14px/1.45 var(--font-display),Georgia,serif}.v79-close-focus{position:absolute;right:8px;top:7px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(247,240,223,.1);color:#fff;font-size:20px}.v79-question-next{margin-top:7px}
.v79-question-panel{display:grid;gap:7px}.v79-question-panel button{display:grid;gap:3px;padding:10px 11px;border:1px solid rgba(247,240,223,.24);border-radius:14px;background:rgba(247,240,223,.06);color:#fff;text-align:left}.v79-question-panel button b{font-size:12px}.v79-question-panel button small{font-size:9px;opacity:.65}.v79-mei-craft{margin:8px 0 6px;border-top:1px solid rgba(247,240,223,.16);padding-top:7px}.v79-mei-craft summary{cursor:pointer;color:#efb596;font-size:9px}.v79-mei-craft p{font-size:11px!important;line-height:1.45;opacity:.82}
@media(max-width:700px){.v79-tanaka-caption,.v79-tanaka-greeting,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel,.v79-detail-note{left:12px;right:12px;width:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));padding:11px 13px;max-height:42svh;overflow:auto}.v79-tanaka-caption p,.v79-action-line,.v79-question-panel>p,.v79-answer-panel>p,.v79-farewell-panel>p{font-size:15px}.v79-inspect-hint{top:17svh}.v79-detail-hotspot{width:74px;height:74px}.v79-detail-hotspot.face{left:57%;top:50%}.v79-detail-hotspot.clay{left:55%;top:62%}.v79-detail-hotspot.table{left:59%;top:76%}.v79-detail-hotspot.shelf{left:77%;top:27%}.v79-tanaka-scene.is-focused .inspect-image{transform:scale(1.72)}.v79-detail-hotspot span{display:none}}
@media(min-width:701px){.v79-tanaka-still,.v79-tanaka-media{object-position:center 46%}}


/* source: v80-story-depth.css */
/* V80 · Story depth — slower narrative beats + 2.5D Hakata doll */
.v80-wake-hold{display:grid;gap:12px;padding:18px 20px!important;max-width:min(560px,88vw)!important;background:linear-gradient(105deg,rgba(3,28,38,.82),rgba(3,28,38,.38))!important;border-left:2px solid var(--terra);color:#fff;backdrop-filter:blur(5px)}
.v80-wake-hold span{font:500 clamp(16px,2vw,22px)/1.48 var(--font-display),Georgia,serif}.v80-wake-hold button{justify-self:start;border:0;border-radius:999px;padding:10px 15px;background:var(--terra);color:#fff;font-weight:750}
.d2-after-first-bite{max-width:min(560px,90vw)!important;display:grid;gap:10px}.d2-after-first-bite p{margin:0;font:500 clamp(16px,2vw,21px)/1.48 var(--font-display),Georgia,serif}
.v80-doll-story{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:clamp(22px,4vw,64px);align-items:center;padding:clamp(82px,10vh,120px) clamp(24px,6vw,92px) clamp(28px,5vh,58px);background:radial-gradient(circle at 28% 44%,rgba(239,181,150,.12),transparent 34%),linear-gradient(145deg,#0b1d24,#071923 60%,#061319);color:#f7f0df;overflow:auto}
.v80-doll-story:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(90deg,#000,transparent 70%);pointer-events:none}
.v80-doll-stage{position:relative;min-height:560px;display:grid;place-items:center;perspective:1100px}.v80-doll-object{position:relative;z-index:2;width:min(340px,70vw);transition:transform .18s ease-out;transform-style:preserve-3d;filter:drop-shadow(0 28px 45px rgba(0,0,0,.45))}.v80-doll-object img{display:block;width:100%;max-height:470px;object-fit:contain;border-radius:26px;border:1px solid rgba(247,240,223,.13);background:#c7ad82}.v80-doll-shadow{position:absolute;z-index:1;bottom:84px;width:54%;height:42px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(14px)}
.v80-doll-turn{position:absolute;z-index:3;left:50%;bottom:26px;transform:translateX(-50%);width:min(340px,78vw);display:grid;gap:7px;text-align:center;color:rgba(247,240,223,.72);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.v80-doll-turn input{width:100%;accent-color:#c86655}.v80-doll-turn input::-webkit-slider-runnable-track{height:3px;background:rgba(247,240,223,.22);border-radius:99px}
.v80-doll-story-card{position:relative;z-index:3;max-width:650px}.v80-doll-story-card>small{color:#efb596;letter-spacing:.18em;font-size:9px}.v80-doll-story-card>h2{margin:9px 0 18px;font:500 clamp(30px,4.8vw,58px)/1.02 var(--font-display),Georgia,serif;max-width:12ch}.v80-doll-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.v80-doll-tabs button{border:1px solid rgba(247,240,223,.18);background:rgba(247,240,223,.04);color:#f7f0df;border-radius:999px;padding:8px 11px;font-size:10px}.v80-doll-tabs button.active{background:#f7f0df;color:#08202a;border-color:#f7f0df}.v80-doll-story-copy{min-height:190px;padding:16px 0 8px;border-top:1px solid rgba(247,240,223,.15);border-bottom:1px solid rgba(247,240,223,.15)}.v80-doll-story-copy small{color:#efb596;letter-spacing:.17em;font-size:8px}.v80-doll-story-copy h3{margin:5px 0 8px;font:600 clamp(24px,3vw,36px)/1.08 var(--font-display),Georgia,serif}.v80-doll-story-copy p{margin:0;max-width:56ch;font-size:14px;line-height:1.58;color:rgba(247,240,223,.82)}
.v80-doll-timeline{display:flex;align-items:center;gap:7px;margin:15px 0 9px;color:rgba(247,240,223,.62);font-size:9px}.v80-doll-timeline i{height:1px;flex:1;background:linear-gradient(90deg,#efb596,rgba(247,240,223,.12))}.v80-tanaka-whisper{margin:10px 0 16px;font:500 14px/1.5 var(--font-display),Georgia,serif;color:rgba(247,240,223,.72)}.v80-doll-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.v80-doll-actions a{font-size:9px;color:#efb596;text-decoration:none;border-bottom:1px solid rgba(239,181,150,.35)}
@media(max-width:700px){.v80-wake-hold{left:12px!important;right:12px!important;width:auto!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important}.d2-after-first-bite{left:12px!important;right:12px!important;width:auto!important;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))!important}.v80-doll-story{display:flex;flex-direction:column;padding:86px 14px 28px;gap:14px;min-height:100svh}.v80-doll-stage{min-height:360px;width:100%}.v80-doll-object{width:min(230px,58vw)}.v80-doll-object img{max-height:315px;border-radius:20px}.v80-doll-shadow{bottom:58px;width:45%;height:28px}.v80-doll-turn{bottom:0;width:min(260px,76vw)}.v80-doll-story-card{width:100%;padding:14px 15px 18px;border-left:2px solid var(--terra);background:linear-gradient(105deg,rgba(3,28,38,.86),rgba(3,28,38,.46));backdrop-filter:blur(5px)}.v80-doll-story-card>h2{font-size:32px;max-width:11ch;margin-bottom:13px}.v80-doll-story-copy{min-height:0;padding:12px 0}.v80-doll-story-copy h3{font-size:25px}.v80-doll-story-copy p{font-size:13px;line-height:1.5}.v80-doll-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.v80-doll-tabs button{white-space:nowrap}.v80-doll-timeline{margin-top:12px}.v80-tanaka-whisper{font-size:13px}.v80-doll-actions{display:grid}.v80-doll-actions .v79-soft-next{width:100%;margin:0}}


/* source: v80-1-visual-fix.css */
/* V80.1 — restore Day 2 backgrounds, Aoi contrast, konbini product imagery */
/* Wake stage 3 must be a caption over the room, never a full-screen blue veil. */
.chapter-day2.d2-wake .d2-physical-transition.v80-wake-hold{
  inset:auto auto max(22px,calc(env(safe-area-inset-bottom) + 14px)) clamp(18px,5vw,70px)!important;
  width:min(510px,86vw)!important;
  min-height:0!important;
  place-items:initial!important;
  padding:16px 18px!important;
  background:linear-gradient(90deg,rgba(4,24,33,.82),rgba(4,24,33,.24),transparent)!important;
  box-shadow:none!important;
}
.chapter-day2.d2-wake .world-image{filter:saturate(.91) contrast(1.02) brightness(.96)!important}
.chapter-day2.d2-wake .world-light{background:linear-gradient(90deg,rgba(3,15,22,.24),rgba(3,15,22,.01) 68%),linear-gradient(0deg,rgba(3,15,22,.18),transparent 45%)!important}
.chapter-day2.d2-breakfast .world-image{filter:saturate(.94) contrast(1.02) brightness(.98)!important}
.chapter-day2.d2-breakfast .world-light{background:linear-gradient(90deg,rgba(3,15,22,.22),rgba(3,15,22,0) 65%),linear-gradient(0deg,rgba(3,15,22,.16),transparent 42%)!important}
/* Aoi: all text on the dark glass must remain readable. */
.chapter-day2.d2-aoi .d2-aoi-panel,
.chapter-day2.d2-aoi .d2-aoi-panel p,
.chapter-day2.d2-aoi .d2-aoi-panel b,
.chapter-day2.d2-aoi .d2-aoi-panel span,
.chapter-day2.d2-aoi .d2-aoi-panel strong{color:#f7f0df!important;-webkit-text-fill-color:#f7f0df!important}
.chapter-day2.d2-aoi .d2-aoi-note{background:rgba(4,24,33,.42)!important;border:1px solid rgba(247,240,223,.12)!important;border-left:2px solid #ef9d84!important;color:#f7f0df!important}
.chapter-day2.d2-aoi .d2-aoi-note small{color:#efb596!important;-webkit-text-fill-color:#efb596!important}
.chapter-day2.d2-aoi .d2-aoi-note strong{color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;line-height:1.35!important}
.chapter-day2.d2-aoi .d2-hakata-fold summary{color:#efb596!important;-webkit-text-fill-color:#efb596!important}
/* Konbini: product = visible object, not just a label. */
.v801-product-choice{grid-template-columns:52px minmax(0,1fr) auto 28px!important;align-items:center!important;gap:9px!important;min-width:230px!important;text-align:left!important}
.v801-product-thumb{display:block;width:52px;height:52px;object-fit:cover;border-radius:10px;background:#f4ead7;border:1px solid rgba(247,240,223,.22);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.v801-product-choice.selected .v801-product-thumb{outline:2px solid rgba(239,157,132,.9);outline-offset:2px}
@media(max-width:700px){
 .chapter-day2.d2-wake .d2-physical-transition.v80-wake-hold{left:12px!important;right:12px!important;width:auto!important;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))!important;padding:14px 15px!important}
 .chapter-day2.d2-wake .d2-physical-transition.v80-wake-hold span{font-size:17px!important;line-height:1.42!important}
 .chapter-day2.d2-aoi .d2-aoi-panel{background:linear-gradient(90deg,rgba(4,24,33,.86),rgba(4,24,33,.62))!important}
 .v73-product-scroll{gap:8px!important;padding-left:4px!important;padding-right:4px!important}
 .v801-product-choice{grid-template-columns:46px minmax(0,1fr) auto 26px!important;min-width:220px!important;padding:8px!important}
 .v801-product-thumb{width:46px;height:46px;border-radius:9px}
}


/* source: v85-day3-quality.css */
/* DOBOX V85 · Day 3 quality pass
   World first: the scene carries the action; the panel only gives context. */
.chapter-day3{background:#061820}.chapter-day3>.world,.chapter-day3>.scene-meta{display:none}.chapter-day3 .brand{opacity:.84;transform:scale(.9);transform-origin:top left}.chapter-day3 .journey-menu-trigger{opacity:.72;transform:scale(.9);transform-origin:top right}.chapter-day3 .sound{opacity:.76}
.v85-d3-scene{position:absolute;z-index:4;inset:0;overflow:hidden;background:#061820;color:#fff}.v85-d3-image,.v85-d3-shade,.v85-world-layer{position:absolute;inset:0}.v85-d3-image{z-index:0;background-size:cover;background-position:center;transform:scale(1.018);animation:v85-scene-enter 1.05s cubic-bezier(.2,.75,.25,1) both}.v85-d3-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(2,15,21,.56) 0%,rgba(2,15,21,.15) 44%,rgba(2,15,21,.06) 72%),linear-gradient(0deg,rgba(2,15,21,.48),transparent 45%)}.v85-world-layer{z-index:4;pointer-events:none}.v85-world-layer>*{pointer-events:auto}
.v85-d3-panel{position:absolute;z-index:7;left:clamp(24px,4.2vw,72px);bottom:clamp(24px,5vh,62px);width:min(510px,42vw);max-height:78svh;overflow:auto;padding:21px 23px 18px;border:1px solid rgba(247,240,223,.18);border-radius:20px;background:linear-gradient(135deg,rgba(3,24,32,.91),rgba(3,24,32,.69));box-shadow:0 25px 70px rgba(0,0,0,.38);backdrop-filter:blur(14px);overscroll-behavior:contain}.v85-d3-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.v85-d3-meta span{font-size:8px;font-weight:900;letter-spacing:.19em;color:#efb596}.v85-d3-meta small{font-size:8px;letter-spacing:.08em;color:rgba(255,255,255,.63);text-align:right}.v85-d3-panel h2{margin:9px 0 7px;font:500 clamp(31px,3.3vw,48px)/.96 var(--font-display),Georgia,serif;letter-spacing:-.02em}.v85-d3-lead{max-width:44ch;margin:0 0 13px;font-size:12px;line-height:1.55;color:rgba(255,255,255,.76)}.v85-d3-actions{display:flex;gap:8px;margin-top:14px}.v85-d3-actions button{min-height:47px;border-radius:999px;font-weight:800}.v85-back{width:45px;padding:0;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.035);color:#fff;font-size:0}.v85-back:after{content:'←';font-size:17px}.v85-next{flex:1;padding:9px 18px;border:1px solid #e7bda5;background:linear-gradient(135deg,#a95849,#7b3c35);color:#fff}.v85-next:disabled{opacity:.36;cursor:not-allowed}
.v85-breathe{display:grid;gap:5px;margin-top:4px}.v85-breathe span{font:500 22px/1.15 var(--font-display),Georgia,serif}.v85-breathe small{font-size:10px;line-height:1.45;color:rgba(255,255,255,.66)}
.v85-cultural-note{margin-top:10px;padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.04);font-size:10px;line-height:1.45;color:rgba(255,255,255,.7)}.v85-cultural-note summary{cursor:pointer;color:#efb596;font-weight:800}.v85-cultural-note p{margin:7px 0 5px}.v85-cultural-note a{color:#f5d7c3;text-underline-offset:2px}
/* World hotspots: minimal rings instead of answer cards. */
.v85-hotspot{position:absolute;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid rgba(255,255,255,.66);border-radius:50%;background:rgba(5,26,34,.18);color:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.06),0 12px 24px rgba(0,0,0,.22);backdrop-filter:blur(3px);transition:.2s ease}.v85-hotspot:before{content:'';position:absolute;inset:9px;border:1px solid rgba(255,255,255,.75);border-radius:50%;animation:v85-pulse 2.4s ease-in-out infinite}.v85-hotspot i{width:6px;height:6px;border-radius:50%;background:#f1c2a9}.v85-hotspot span{position:absolute;top:58px;left:50%;width:max-content;max-width:170px;transform:translateX(-50%);padding:6px 9px;border-radius:999px;background:rgba(4,24,33,.84);font-size:9px;font-weight:800;white-space:nowrap;box-shadow:0 10px 25px rgba(0,0,0,.2)}.v85-hotspot:hover,.v85-hotspot:focus-visible{transform:scale(1.07);background:rgba(167,86,71,.42)}.v85-hotspot.is-done{border-color:#abd7b8;background:rgba(74,135,96,.35)}.v85-hotspot.is-done:before{animation:none;border-color:#b7e1c3}.v85-hotspot.is-done i{background:#b7e1c3}.hotspot-menu{left:12%;top:22%}.hotspot-passage{right:10%;top:63%}.hotspot-chef{left:25%;top:48%}.hotspot-chef-seat{left:37%;top:42%}.hotspot-stool{left:61%;top:69%}.hotspot-chef-order{left:49%;top:49%}.hotspot-chef-leave{left:45%;top:43%}
.v85-observe-copy{display:grid;gap:8px}.v85-observe-copy>small{font-size:8px;line-height:1.4;letter-spacing:.12em;color:#efb596}.v85-observation-caption{display:grid;gap:3px;padding:10px 12px;border-left:2px solid #e8b99e;background:rgba(255,255,255,.04)}.v85-observation-caption b{font:600 18px var(--font-display),Georgia,serif}.v85-observation-caption span{font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.7)}.v85-observe-progress{display:flex;gap:5px}.v85-observe-progress i{width:28px;height:2px;background:rgba(255,255,255,.12)}.v85-observe-progress i.done{background:#b7d6bf}
.v85-phrase{display:grid;gap:3px;margin:10px 0;padding:11px 13px;border-left:2px solid #efb596;background:linear-gradient(90deg,rgba(255,255,255,.055),transparent)}.v85-phrase>b{font:500 24px/1.08 var(--font-display),Georgia,serif}.v85-phrase>span,.v85-phrase details{font-size:10px;color:rgba(255,255,255,.68)}.v85-phrase summary{cursor:pointer;color:#efb596}.v85-human-moment>p{margin:8px 0 0;font-size:11px;line-height:1.5;color:rgba(255,255,255,.72)}
/* Physical menu object */
.v85-menu-sheet{position:absolute;z-index:5;top:12vh;right:clamp(24px,6vw,95px);width:min(430px,37vw);max-height:76svh;overflow:auto;padding:25px 24px 19px;background:#f6edda;color:#173845;box-shadow:0 28px 70px rgba(0,0,0,.42);transform:rotate(.7deg);border:1px solid rgba(77,53,34,.18)}.v85-menu-sheet:before{content:'';position:absolute;inset:8px;border:1px solid rgba(39,63,68,.14);pointer-events:none}.v85-menu-pin{position:absolute;top:8px;left:50%;width:8px;height:8px;border-radius:50%;background:#8d4439;box-shadow:0 2px 4px rgba(0,0,0,.25)}.v85-menu-sheet header{display:flex;align-items:end;justify-content:space-between;gap:8px;padding-bottom:10px;border-bottom:1px solid rgba(23,56,69,.22)}.v85-menu-sheet header small{font-size:10px;letter-spacing:.16em}.v85-menu-sheet header b{font:600 27px var(--font-display),Georgia,serif}.v85-menu-section{display:grid;gap:5px;margin-top:12px}.v85-menu-section>span{font-size:8px;font-weight:900;letter-spacing:.14em;color:#8a4b3e;text-transform:uppercase}.v85-menu-section button{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 7px;border:0;border-bottom:1px dashed rgba(23,56,69,.18);background:transparent;color:#173845;text-align:left}.v85-menu-section button.selected{margin:0 -5px;padding-right:12px;padding-left:12px;border-radius:8px;background:#e5d4b6}.v85-menu-section button span b,.v85-menu-section button span small{display:block}.v85-menu-section button span b{font-size:12px}.v85-menu-section button span small{margin-top:2px;font-size:9px;opacity:.65}.v85-menu-section button strong{font-size:12px}.v85-menu-section.compact{margin-top:15px}.v85-menu-sheet footer{margin-top:12px;font-size:8.5px;line-height:1.4;opacity:.62}.v85-menu-summary{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:end}.v85-menu-summary small,.v85-menu-summary em{grid-column:1/-1}.v85-menu-summary small{font-size:8px;letter-spacing:.13em;color:#efb596}.v85-menu-summary b{font:600 20px var(--font-display),Georgia,serif}.v85-menu-summary span{font-size:10px;color:rgba(255,255,255,.67)}.v85-menu-summary strong{grid-row:2/4;grid-column:2;font:600 25px var(--font-display),Georgia,serif}.v85-menu-summary em{margin-top:3px;font-size:9px;font-style:normal;color:rgba(255,255,255,.55)}
.v85-order{display:grid;gap:8px}.v85-order-card{display:grid;grid-template-columns:78px 1fr;gap:10px;align-items:center}.v85-order-card img{width:78px;height:72px;border-radius:11px;object-fit:cover}.v85-order-card small,.v85-order-card b,.v85-order-card span{display:block}.v85-order-card small{font-size:8px;letter-spacing:.12em;color:#efb596}.v85-order-card b{margin-top:2px;font:600 18px var(--font-display),Georgia,serif}.v85-order-card span{font-size:10px;color:rgba(255,255,255,.66)}.v85-soft-response{padding:9px 11px;border-radius:10px;background:rgba(160,91,74,.15);font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.77)}
/* Bag placement is spatial: two world zones, one object. */
.v85-space-copy small{font-size:8px;letter-spacing:.12em;color:#efb596}.v85-space-copy p{margin:0;font-size:11px;line-height:1.48;color:rgba(255,255,255,.74)}
.v85-cinema-copy{margin:4px 0;padding:13px 14px;border-left:2px solid rgba(239,181,150,.82);background:linear-gradient(90deg,rgba(1,14,20,.28),transparent)}.v85-cinema-copy span{font:500 23px/1.13 var(--font-display),Georgia,serif}.v85-cinema-copy p{margin:6px 0 0;font-size:10.5px;line-height:1.5;color:rgba(255,255,255,.67)}
/* Food is a world object, not a product card. */
.v85-food-object{position:absolute;right:clamp(30px,7vw,110px);top:50%;width:min(390px,35vw);padding:0;border:0;background:none;transform:translateY(-47%);filter:drop-shadow(0 28px 30px rgba(0,0,0,.42));color:#fff}.v85-food-object img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;transition:.45s cubic-bezier(.2,.8,.2,1)}.v85-food-object span{display:inline-block;margin-top:-12px;padding:7px 10px;border-radius:999px;background:rgba(5,27,35,.82);font-size:9px;font-weight:850;backdrop-filter:blur(8px)}.v85-food-object:hover img,.v85-food-object:focus-visible img{transform:scale(1.035)}.v85-food-object.is-open img{transform:scale(1.05)}.v85-taste>small{font-size:8px;line-height:1.4;letter-spacing:.1em;color:#efb596}.v85-food-note{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.045)}.v85-food-note>p{margin:4px 0 0;font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.7)}
.v85-neighbor-entry{display:grid;gap:3px}.v85-neighbor-entry small{font-size:8px;letter-spacing:.12em;color:#efb596}.v85-neighbor-entry b{font:600 25px var(--font-display),Georgia,serif}.v85-neighbor-entry span{font-size:10px;color:rgba(255,255,255,.65)}.v85-neighbor-entry p{margin:7px 0 0;font-size:10.5px;line-height:1.45;color:rgba(255,255,255,.72)}.v85-conversation{display:grid;gap:6px}.v85-human-action{min-height:44px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.05);color:#fff;font-weight:750}.v85-neighbor-reply{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.045)}.v85-neighbor-reply b,.v85-neighbor-reply p,.v85-neighbor-reply small,.v85-neighbor-reply span{display:block;margin:0}.v85-neighbor-reply p{margin-top:3px;font:500 19px var(--font-display),Georgia,serif}.v85-neighbor-reply small,.v85-neighbor-reply span{margin-top:2px;font-size:9.5px;color:rgba(255,255,255,.65)}.v85-job-input{display:grid;gap:4px}.v85-job-input span{font-size:10px;color:rgba(255,255,255,.67)}.v85-job-input input{min-height:42px;padding:9px 11px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(1,14,20,.38);color:#fff;outline:none}.v85-job-input input:focus{border-color:#eab99c}.v85-busy-moment span{font:500 21px/1.14 var(--font-display),Georgia,serif}.v85-busy-moment p{margin:7px 0 0;font-size:10.5px;line-height:1.48;color:rgba(255,255,255,.7)}
/* Bill lives on the counter. */
.v85-receipt-object{position:absolute;z-index:6;right:clamp(60px,11vw,190px);top:45%;width:235px;min-height:260px;padding:25px 21px;border:0;background:#f4eddc;color:#173844;box-shadow:0 25px 55px rgba(0,0,0,.42);transform:rotate(-2.2deg);text-align:left;transition:.25s}.v85-receipt-object:hover,.v85-receipt-object:focus-visible{transform:rotate(-.8deg) scale(1.025)}.v85-receipt-object.checked{outline:2px solid rgba(237,190,161,.65)}.v85-receipt-object small,.v85-receipt-object b,.v85-receipt-object strong,.v85-receipt-object span{display:block}.v85-receipt-object small{font-size:8px;letter-spacing:.16em}.v85-receipt-object b{margin-top:16px;font:600 30px var(--font-display),Georgia,serif}.v85-receipt-object strong{margin-top:60px;padding-top:8px;border-top:1px dashed rgba(23,56,68,.28);font:600 25px var(--font-display),Georgia,serif;text-align:right}.v85-receipt-object span{margin-top:12px;font-size:9px;opacity:.62;text-align:center}.v85-wallet-mini{display:grid;gap:5px}.v85-bill-lines{display:grid;gap:3px;margin-bottom:5px;padding:8px 10px;border-radius:9px;background:rgba(255,255,255,.04)}.v85-bill-lines span{display:flex;justify-content:space-between;font-size:9.5px}.v85-wallet-mini>span{font-size:8px;letter-spacing:.12em;color:#efb596}.v85-wallet-mini>b{font:600 28px var(--font-display),Georgia,serif}.v85-wallet-mini button{min-height:44px;border:1px solid #e3b498;border-radius:999px;background:#a95648;color:#fff;font-weight:800}.v85-wallet-mini button:disabled{opacity:.35}.v85-wallet-mini em{font-size:10px;font-style:normal;color:#b5d9bf}
.v85-memory-choice{display:grid;gap:6px}.v85-memory-choice button{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;min-height:47px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.035);color:#fff;text-align:left}.v85-memory-choice button span{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#efb596}.v85-memory-choice button b{font-size:10.5px}.v85-memory-choice button.selected{border-color:#e5b59a;background:rgba(166,85,70,.17)}.v85-memory-choice>small{font-size:8.5px;line-height:1.4;color:rgba(255,255,255,.55)}
.v85-final-memory{display:grid;gap:11px}.v85-day-summary{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v85-day-summary span{padding:8px 9px;border-radius:9px;background:rgba(255,255,255,.045);font-size:9.5px}.v85-final-memory blockquote{margin:0;padding:10px 12px;border-left:2px solid #efb596;font:500 20px/1.18 var(--font-display),Georgia,serif}.v85-collect-stamp{min-height:49px;border:1px solid #e4b59e;border-radius:999px;background:#a95547;color:#fff;font-weight:850}.v85-stamp-earned{display:grid;grid-template-columns:82px 1fr;gap:10px;align-items:center;padding:9px;border-radius:13px;background:#f3e9d8;color:#163943}.v85-stamp-earned img{width:82px;height:82px;object-fit:contain}.v85-stamp-earned small,.v85-stamp-earned b,.v85-stamp-earned span{display:block}.v85-stamp-earned small{font-size:7px;letter-spacing:.13em}.v85-stamp-earned b{font:600 23px var(--font-display),Georgia,serif}.v85-stamp-earned span{font-size:9px;opacity:.7}
@media(max-width:760px){
 .chapter-day3 .brand{top:max(8px,env(safe-area-inset-top));left:8px;transform:scale(.72);opacity:.72}.chapter-day3 .sound{top:max(10px,env(safe-area-inset-top));right:10px;width:44px;height:44px;opacity:.7}.chapter-day3 .journey-menu-trigger{opacity:.62;transform:scale(.8)}
 .v85-d3-image{background-position:center;transform:scale(1.01)}.v85-d3-shade{background:linear-gradient(0deg,rgba(2,17,23,.9) 0%,rgba(2,17,23,.58) 35%,rgba(2,17,23,.08) 68%,rgba(2,17,23,.04) 100%)}
 .v85-d3-panel{right:9px;bottom:max(9px,calc(env(safe-area-inset-bottom) + 7px));left:9px;width:auto;max-height:49svh;padding:13px 13px 11px;border-radius:17px;background:linear-gradient(180deg,rgba(4,28,38,.87),rgba(4,28,38,.97))}.v85-d3-panel h2{font-size:clamp(27px,8.5vw,36px)}.v85-d3-lead{margin-bottom:9px;font-size:10.7px}.v85-d3-meta span,.v85-d3-meta small{font-size:7px}.v85-d3-actions{position:sticky;bottom:-11px;margin:10px -13px -11px;padding:9px 13px max(9px,env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(4,28,38,0),rgba(4,28,38,.98) 28%)}.v85-d3-actions button{min-height:45px}
 .v85-hotspot{width:46px;height:46px}.v85-hotspot span{top:51px;max-width:130px;padding:5px 7px;font-size:8px}.hotspot-menu{left:10%;top:18%}.hotspot-passage{right:8%;top:48%}.hotspot-chef{left:20%;top:41%}.hotspot-chef-seat{left:21%;top:36%}.hotspot-stool{left:65%;top:48%}.hotspot-chef-order,.hotspot-chef-leave{left:26%;top:37%}
 .v85-menu-sheet{top:max(62px,calc(env(safe-area-inset-top) + 52px));right:9px;left:9px;width:auto;max-height:48svh;padding:17px 17px 13px;transform:rotate(.25deg)}.v85-menu-sheet header b{font-size:23px}.v85-menu-section{margin-top:8px}.v85-menu-section button{padding:6px 5px}.v85-menu-sheet footer{font-size:7.5px}.v85-menu-summary b{font-size:17px}.v85-menu-summary strong{font-size:22px}
 .v85-food-object{top:12%;right:50%;width:min(270px,68vw);transform:translateX(50%)}.v85-food-object img{aspect-ratio:1/1}.v85-food-object span{font-size:8px}.v85-d3-taste .v85-d3-panel{max-height:42svh}
 .v85-receipt-object{top:15%;right:50%;width:190px;min-height:205px;padding:20px 17px;transform:translateX(50%) rotate(-1.3deg)}.v85-receipt-object:hover,.v85-receipt-object:focus-visible{transform:translateX(50%) rotate(-.4deg) scale(1.02)}.v85-receipt-object b{font-size:25px}.v85-receipt-object strong{margin-top:37px;font-size:22px}.v85-d3-bill .v85-d3-panel{max-height:42svh}
 .v85-day-summary{grid-template-columns:1fr 1fr}.v85-stamp-earned{grid-template-columns:72px 1fr}.v85-stamp-earned img{width:72px;height:72px}
}
@media(max-width:390px){.v85-d3-panel{max-height:52svh}.v85-d3-panel h2{font-size:29px}.v85-menu-sheet{max-height:45svh}.v85-day-summary{grid-template-columns:1fr}.v85-phrase>b{font-size:21px}}
@media(min-width:1500px){.v85-d3-panel{width:min(535px,36vw)}.v85-menu-sheet{width:min(460px,32vw)}}
@media(prefers-reduced-motion:reduce){.v85-d3-image,.v85-hotspot:before{animation:none}.v85-bag{transition:none}}
@keyframes v85-scene-enter{from{opacity:.3;transform:scale(1.055)}to{opacity:1;transform:scale(1.018)}}@keyframes v85-pulse{0%,100%{opacity:.45;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}

/* V85 continuity: Day 2 closes as a real passport moment before entering Nakasu. */
.v85-day2-seal{display:flex;gap:14px;align-items:center;margin:16px 0;padding:12px 14px;border:1px solid rgba(231,204,151,.32);border-radius:18px;background:rgba(7,24,31,.62)}
.v85-day2-seal img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 5px 14px rgba(0,0,0,.25))}
.v85-day2-seal div{display:grid;gap:2px}.v85-day2-seal small{letter-spacing:.13em;opacity:.72}.v85-day2-seal b{font-size:19px}.v85-day2-seal span{font-size:13px;opacity:.82}
.v85-day3-teaser{margin-top:14px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(8,35,47,.88),rgba(38,24,29,.82));border:1px solid rgba(231,204,151,.32)}
.v85-day3-teaser small{letter-spacing:.14em;color:#e7cc97}.v85-day3-teaser h3{margin:6px 0 4px;font-size:clamp(22px,3vw,32px)}.v85-day3-teaser p{margin:0 0 12px;opacity:.9}
@media(max-width:760px){.v85-day2-seal{align-items:flex-start}.v85-day2-seal img{width:62px;height:62px}.v85-day3-teaser{padding:14px}}


/* source: v86-experience-rhythm.css */
/* V86 — Experience rhythm pass
   Goal: fewer visible “button stacks”, stronger world-first interaction,
   robust Tanaka media, and more varied visual rhythm on mobile + desktop. */

/* --- Travel menu: inventory finally looks like an inventory --- */
.journey-object-card img[src*="inventory-bag-v86"]{
  object-fit:cover!important;
  object-position:center!important;
  border-radius:12px;
  background:#e9dfc8;
}

/* --- Tanaka workshop: never collapse to a dark empty screen --- */
.v79-tanaka-scene{
  background-color:#2a241c!important;
  background-image:url("../assets/ete-bleu/day2/tanaka/workshop.webp"),url("../assets/ete-bleu/day2/tanaka/workshop-fallback.webp")!important;
  background-size:cover!important;
  background-position:center 46%!important;
}
.v79-tanaka-still,.v79-tanaka-media{z-index:1}
.v86-tanaka-poster{z-index:0!important}
.v79-tanaka-scene:after{z-index:2}
.v79-tanaka-scene>*:not(.v79-tanaka-still):not(.v79-tanaka-media){z-index:12}
/* the “ask him a question” affordance was previously flowing behind the logo */
.v79-question-next{
  position:absolute!important;
  z-index:18!important;
  right:clamp(18px,4vw,54px)!important;
  bottom:clamp(18px,4vh,42px)!important;
  margin:0!important;
  min-height:46px!important;
  padding:10px 15px!important;
  border:1px solid rgba(255,255,255,.35)!important;
  background:rgba(5,28,39,.70)!important;
  color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px)!important;
}
.v79-tanaka-scene.is-focused .v79-question-next{opacity:.25;pointer-events:none}

/* --- Kushida: turn the ritual into gestures, not a menu of buttons --- */
.chapter-day2.d2-purification .d2-ritual-panel,
.chapter-day2.d2-prayer .d2-prayer-panel{
  left:clamp(16px,4vw,54px)!important;
  right:auto!important;
  bottom:clamp(16px,4vh,42px)!important;
  top:auto!important;
  width:min(460px,calc(100% - 32px))!important;
  max-height:48svh!important;
  overflow:auto!important;
  padding:15px 16px!important;
  border:0!important;
  border-left:2px solid rgba(239,181,150,.82)!important;
  border-radius:0!important;
  background:linear-gradient(90deg,rgba(3,24,33,.84),rgba(3,24,33,.20))!important;
  box-shadow:none!important;
  backdrop-filter:blur(4px)!important;
}
.chapter-day2.d2-purification .d2-ritual-panel h2,
.chapter-day2.d2-prayer .d2-prayer-panel h2{
  margin:4px 0 6px!important;
  font-size:clamp(24px,3vw,36px)!important;
  line-height:1.02!important;
}
.chapter-day2.d2-purification .d2-physical-copy,
.chapter-day2.d2-prayer .d2-physical-copy{
  max-width:360px;
  margin:5px 0 10px!important;
  font-size:12px!important;
  line-height:1.45!important;
  opacity:.9;
}
/* Gesture target: a quiet circular surface rather than a CTA pill */
.chapter-day2 :is(.d2-water-action,.d2-prayer-action){
  width:132px!important;
  min-width:132px!important;
  height:132px!important;
  min-height:132px!important;
  margin:10px 0 2px!important;
  padding:16px!important;
  border:1px solid rgba(247,240,223,.58)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 38% 30%,rgba(255,255,255,.16),rgba(7,35,45,.54) 55%,rgba(7,35,45,.74))!important;
  color:#fff!important;
  box-shadow:0 0 0 9px rgba(255,255,255,.035),0 18px 38px rgba(0,0,0,.22)!important;
  text-align:center!important;
  backdrop-filter:blur(7px)!important;
  transition:transform .22s ease,background .22s ease!important;
}
.chapter-day2 :is(.d2-water-action,.d2-prayer-action):active{transform:scale(.96)}
.chapter-day2 :is(.d2-water-action,.d2-prayer-action) span{
  display:block!important;
  font:600 16px/1.08 var(--font-display),Georgia,serif!important;
}
.chapter-day2 :is(.d2-water-action,.d2-prayer-action) small{
  display:block!important;
  margin-top:6px!important;
  font-size:7px!important;
  line-height:1.25!important;
  opacity:.66!important;
}
.d2-ritual-progress{gap:5px!important;margin:7px 0 2px!important}
.d2-ritual-progress i{width:24px!important;height:2px!important;border-radius:99px!important}

/* Physical coins instead of generic option buttons */
.chapter-day2 .d2-offering-physical{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:12px 0!important;
}
.chapter-day2 .d2-offering-physical button{
  display:grid!important;
  width:66px!important;
  height:66px!important;
  min-height:66px!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid rgba(255,239,200,.55)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 28%,#e7d7a8 0,#b89b63 42%,#75603d 100%)!important;
  color:#132f39!important;
  box-shadow:0 9px 20px rgba(0,0,0,.25),inset 0 0 0 4px rgba(255,255,255,.14)!important;
  font-weight:800!important;
  font-size:12px!important;
}
.chapter-day2 .d2-offering-physical button:first-child{
  width:auto!important;
  min-width:112px!important;
  border-radius:999px!important;
  background:rgba(5,28,39,.55)!important;
  color:#fff!important;
  box-shadow:none!important;
  padding:0 13px!important;
}
.chapter-day2 .d2-wish-choices{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
.chapter-day2 .d2-wish-choices button{
  min-height:42px!important;
  padding:8px 11px!important;
  border:0!important;
  border-bottom:1px solid rgba(247,240,223,.42)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
}
/* Shrine progression exits feel like moving through the place, not submitting a form */
.chapter-day2 :is(.d2-enter-shrine,.d2-ritual-panel>.d2-primary,.d2-prayer-panel>.d2-primary){
  min-height:42px!important;
  width:auto!important;
  padding:7px 2px!important;
  border:0!important;
  border-radius:0!important;
  border-bottom:1px solid rgba(247,240,223,.4)!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
}

/* --- Kushida free exploration: no tabs, no big card, discover by looking --- */
.v86-shrine-roam{position:absolute;inset:0;z-index:9;color:#fff;overflow:hidden}
.v86-shrine-breath{position:absolute;inset:-7%;pointer-events:none;background:radial-gradient(circle at 70% 18%,rgba(255,226,169,.12),transparent 28%),linear-gradient(115deg,transparent 34%,rgba(255,255,255,.035) 48%,transparent 63%);animation:v86-shrine-breath 6.8s ease-in-out infinite alternate}
.v86-shrine-whisper{position:absolute;z-index:12;left:clamp(18px,4vw,54px);top:clamp(170px,22vh,220px);max-width:420px;padding:9px 12px;border-left:2px solid rgba(239,181,150,.82);background:linear-gradient(90deg,rgba(3,24,33,.65),transparent);text-shadow:0 2px 15px rgba(0,0,0,.65)}
.v86-shrine-whisper small{display:block;color:#efb596;font-size:8px;letter-spacing:.16em}
.v86-shrine-whisper b{display:block;margin-top:4px;font:500 clamp(18px,2.2vw,26px)/1.05 var(--font-display),Georgia,serif}
.v86-shrine-whisper p{margin:5px 0 0;font-size:10px;line-height:1.4;opacity:.82}
.v86-shrine-hotspot{position:absolute;z-index:14;width:90px;height:90px;border:0;background:transparent;color:#fff}
.v86-shrine-hotspot i{position:absolute;left:50%;top:50%;width:18px;height:18px;border:1.5px solid rgba(255,255,255,.92);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 8px rgba(255,255,255,.06),0 0 28px rgba(255,225,177,.20)}
.v86-shrine-hotspot span{position:absolute;top:64%;left:50%;width:max-content;max-width:155px;transform:translateX(-50%) translateY(6px);padding:5px 8px;border-radius:999px;background:rgba(3,24,33,.70);font-size:8px;opacity:0;transition:.2s;backdrop-filter:blur(5px)}
.v86-shrine-hotspot:hover span,.v86-shrine-hotspot:focus-visible span{opacity:1;transform:translateX(-50%) translateY(0)}
.v86-shrine-hotspot.ema{right:12%;top:42%}
.v86-shrine-hotspot.local{left:48%;top:29%}
.v86-shrine-exit{position:absolute;z-index:15;right:clamp(18px,4vw,54px);bottom:clamp(18px,4vh,42px);display:flex;gap:9px;align-items:center;min-height:44px;padding:7px 10px;border:0;border-bottom:1px solid rgba(255,255,255,.42);border-radius:0;background:rgba(3,24,33,.28);color:#fff;backdrop-filter:blur(5px)}
.v86-shrine-exit span{font-size:9px;letter-spacing:.06em}.v86-shrine-exit b{font-size:18px}
.v86-shrine-discovery{position:absolute;z-index:18;left:clamp(18px,4vw,54px);bottom:clamp(18px,4vh,42px);width:min(440px,calc(100% - 36px));padding:14px 16px;border-left:2px solid #efb596;background:linear-gradient(102deg,rgba(3,24,33,.91),rgba(3,24,33,.55));color:#fff;backdrop-filter:blur(7px);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.v86-shrine-discovery small{font-size:8px;letter-spacing:.18em;color:#efb596}
.v86-shrine-discovery h2{margin:5px 0 7px;font:500 31px/1.0 var(--font-display),Georgia,serif}
.v86-shrine-discovery p{margin:0;font-size:12px;line-height:1.5}
.v86-discovery-close{position:absolute;right:7px;top:7px;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:19px}
.v86-source-fold{margin-top:9px;border-top:1px solid rgba(255,255,255,.13);padding-top:7px}.v86-source-fold summary{cursor:pointer;color:#efb596;font-size:9px}
.v86-inline-source{display:inline-block;margin-top:9px;color:#efb596;font-size:8px;text-decoration:none;border-bottom:1px solid rgba(239,181,150,.45)}
.chapter-day2.d2-shrineExplore.shrine-view-ema .world-image{transform:scale(1.055)!important;transition:transform .7s ease!important}
.chapter-day2.d2-shrineExplore.shrine-view-local .world-image{transform:scale(1.025) translateX(-1%)!important;transition:transform .7s ease!important}

/* Hide the old explore panel in case legacy markup is cached/mixed. */
.chapter-day2.d2-shrineExplore .d2-shrine-explore-panel{display:none!important}

/* Make scene UI yield to the world a little more often */
.chapter-day2.d2-shrineExplore .scene-meta,
.chapter-day2.d2-tanaka .scene-meta{opacity:.82}

@keyframes v86-shrine-breath{to{opacity:.68;transform:scale(1.015) translate3d(.3%,.2%,0)}}

@media(max-width:700px){
  .journey-object-card img[src*="inventory-bag-v86"]{object-fit:cover!important}
  .v79-question-next{right:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important;max-width:58vw!important;font-size:10px!important}
  .v79-tanaka-scene{background-position:50% 48%!important}
  .chapter-day2.d2-purification .d2-ritual-panel,
  .chapter-day2.d2-prayer .d2-prayer-panel{
    left:12px!important;right:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important;width:auto!important;max-height:44svh!important;padding:11px 12px!important;
  }
  .chapter-day2 :is(.d2-water-action,.d2-prayer-action){width:108px!important;min-width:108px!important;height:108px!important;min-height:108px!important;margin-top:7px!important}
  .chapter-day2 :is(.d2-water-action,.d2-prayer-action) span{font-size:14px!important}
  .chapter-day2 .d2-offering-physical{gap:7px!important}.chapter-day2 .d2-offering-physical button{width:54px!important;height:54px!important;min-height:54px!important}.chapter-day2 .d2-offering-physical button:first-child{min-width:100px!important}
  .v86-shrine-whisper{left:14px;right:14px;top:17svh;max-width:none;padding:7px 10px}.v86-shrine-whisper p{max-width:78%;font-size:9px}
  .v86-shrine-hotspot{width:74px;height:74px}.v86-shrine-hotspot.ema{right:7%;top:45%}.v86-shrine-hotspot.local{left:43%;top:31%}.v86-shrine-hotspot span{display:none}
  .v86-shrine-exit{right:14px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));min-height:42px}
  .v86-shrine-discovery{left:14px;right:14px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));width:auto;max-height:44svh;overflow:auto;padding:12px 13px}.v86-shrine-discovery h2{font-size:27px}.v86-shrine-discovery p{font-size:11px}
}

@media(prefers-reduced-motion:reduce){.v86-shrine-breath{animation:none!important}}

/* Dynamic bag preview: show the traveller's real remaining items instead of a shrine photo. */
.v86-bag-card .v86-bag-visual{
  position:relative;display:block;width:100%;height:100%;min-height:110px;overflow:hidden;border-radius:12px;background:linear-gradient(145deg,#e9dfc8,#c7b38c);
}
.v86-bag-card .v86-bag-visual:before{
  content:"";position:absolute;left:13%;right:13%;bottom:7%;height:58%;border-radius:22px 22px 28px 28px;background:linear-gradient(160deg,#31535a,#173942);box-shadow:0 12px 22px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.12);
}
.v86-bag-card .v86-bag-visual:after{
  content:"";position:absolute;left:31%;right:31%;top:8%;height:46%;border:8px solid #31535a;border-bottom:0;border-radius:48px 48px 0 0;opacity:.96;
}
.v86-bag-card .v86-bag-visual>img{
  position:absolute!important;z-index:2!important;width:48%!important;height:62%!important;max-width:none!important;object-fit:contain!important;left:calc(9% + (var(--bag-i,0) * 17%))!important;top:calc(9% + (var(--bag-i,0) * 3%))!important;transform:rotate(calc(-8deg + (var(--bag-i,0) * 5deg)))!important;filter:drop-shadow(0 7px 6px rgba(0,0,0,.22))!important;border-radius:8px!important;background:transparent!important;
}
.v86-bag-card .v86-bag-visual>img:only-child{left:0!important;top:0!important;width:100%!important;height:100%!important;transform:none!important;object-fit:cover!important}
@media(max-width:700px){.v86-bag-card .v86-bag-visual{min-height:118px}.v86-bag-card .v86-bag-visual>img{width:50%!important;height:64%!important}}
.v62-heritage-list .v86-bag-card>.v86-bag-visual{grid-column:1;grid-row:1;width:136px;height:96px;min-height:0;border-radius:4px;box-shadow:0 8px 18px rgba(65,46,31,.12)}
.v62-heritage-list .v86-bag-card>div{grid-column:2!important;grid-row:1!important}
@media(max-width:700px){.v62-heritage-list .v86-bag-card>.v86-bag-visual{width:96px;height:82px;min-height:0}}


/* source: former inline style */

.chapter-day2 .world-image{opacity:1!important;visibility:visible!important;background-color:transparent!important;background-repeat:no-repeat!important;background-size:cover!important}
.chapter-day2 .world{background:#071923}


/* source: former inline style */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700;800&display=swap");
:root{--font-display:"Cormorant Garamond",Georgia,serif;--font-sans:Inter,Arial,sans-serif}
:root{--navy:#092c3b;--navy2:#061c27;--cream:#f7f0df;--paper:#fbf6e8;--terra:#a95748;--terra2:#7f3d35;--ink:#183b46;--gold:#d6b47d;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html,body{margin:0;background:#061820;color:var(--cream);font-family:var(--font-sans),sans-serif}button,input{font:inherit}button{cursor:pointer}.experience{position:relative;min-height:100svh;overflow:hidden;background:#071923}.world,.world-image,.world-light,.world-grain,.transition-curtain{position:absolute;inset:0}.world{z-index:0;overflow:hidden}.world-image{background-position:center;background-size:cover;transform:scale(1.035);animation:world-breathe 10s ease-in-out infinite alternate}.world-light{background:linear-gradient(90deg,rgba(3,15,22,.62),rgba(3,15,22,.04) 63%),linear-gradient(0deg,rgba(3,15,22,.42),transparent 46%)}.world-grain{opacity:.18;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}.brand{position:absolute;z-index:30;top:max(18px,env(safe-area-inset-top));left:clamp(18px,4vw,60px);display:flex;align-items:center;gap:12px;padding:7px 18px 7px 7px;border:1px solid rgba(247,240,223,.25);border-radius:999px;background:rgba(6,28,39,.76);box-shadow:0 12px 35px rgba(0,0,0,.25);backdrop-filter:blur(10px)}.brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.brand span{display:flex;flex-direction:column}.brand b{font-family:var(--font-display),serif;font-size:17px;letter-spacing:.12em}.brand-home{color:var(--cream);appearance:none;-webkit-appearance:none;text-align:left}.brand-home b,.brand-home small{color:var(--cream)}.brand,.brand span,.brand b,.brand small{color:#f7f0df!important;-webkit-text-fill-color:#f7f0df!important}.brand{opacity:1!important}.brand small{margin-top:4px;font-size:8px;letter-spacing:.2em;opacity:.75}.sound{position:absolute;z-index:31;top:max(20px,env(safe-area-inset-top));right:clamp(18px,4vw,60px);display:grid;width:58px;height:58px;place-content:center;border:1px solid rgba(247,240,223,.45);border-radius:50%;background:rgba(6,28,39,.72);color:var(--cream);box-shadow:0 12px 32px rgba(0,0,0,.25)}.sound.on{background:var(--terra)}.sound small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.1em}.scene-meta{position:absolute;z-index:25;top:max(104px,calc(env(safe-area-inset-top) + 84px));left:clamp(24px,4vw,60px);display:flex;gap:10px;align-items:center;color:#fff;text-shadow:0 2px 14px #000}.scene-meta time{font-family:var(--font-display),serif;font-size:18px}.scene-meta span{font-size:10px;letter-spacing:.08em;opacity:.8}
.threshold{position:relative;z-index:5;display:flex;min-height:100svh;width:min(720px,100%);flex-direction:column;justify-content:center;padding:130px clamp(24px,7vw,95px) 75px}.language{position:absolute;top:max(24px,env(safe-area-inset-top));right:110px;display:flex}.language button{padding:8px;border:0;background:none;color:#fff;opacity:.55}.language button.active{opacity:1;border-bottom:1px solid var(--gold)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.25em;color:#efb596}.threshold h1{margin:8px 0 0;font-family:var(--font-display),serif;font-size:clamp(72px,11vw,145px);font-weight:500;line-height:.8;text-shadow:0 8px 32px rgba(0,0,0,.45)}.tagline{max-width:650px;margin:28px 0 10px;font-family:var(--font-display),serif;font-size:clamp(25px,3.5vw,46px);line-height:1.05}.what{max-width:600px;margin:0;font-size:clamp(14px,1.4vw,18px);line-height:1.55;opacity:.86}.threshold-actions{display:flex;gap:14px;align-items:center;margin-top:34px}.primary,.secondary,.quiet-action{border-radius:999px}.primary{min-height:66px;padding:13px 27px;border:1px solid #e8c8ac;background:linear-gradient(135deg,var(--terra),var(--terra2));color:#fff9ec;box-shadow:0 18px 42px rgba(0,0,0,.32);font-family:var(--font-display),serif;font-size:20px;font-weight:700}.primary small{display:block;margin-top:2px;font-family:var(--font-sans),sans-serif;font-size:9px;font-weight:500;letter-spacing:.07em;opacity:.8}.secondary{min-height:55px;padding:12px 20px;border:1px solid rgba(247,240,223,.55);background:rgba(6,28,39,.48);color:#fff}.threshold-proof{display:flex;align-items:center;gap:12px;margin-top:28px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.75}.threshold-proof i{width:42px;height:1px;background:rgba(247,240,223,.4)}
.day0-stage,.day1-stage{position:relative;z-index:4;min-height:100svh}.narration{position:absolute;z-index:7;right:clamp(22px,6vw,90px);bottom:clamp(35px,8vh,90px);width:min(650px,88vw);color:#fff;text-shadow:0 3px 20px rgba(0,0,0,.85)}.narration>div{padding:24px 0 24px 24px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(4,24,33,.78),rgba(4,24,33,0));backdrop-filter:blur(2px)}.narration h2,.focus-copy h2,.packing-copy h2,.room-heading h2,.evening-copy h2{margin:8px 0;font-family:var(--font-display),serif;font-size:clamp(34px,5vw,67px);font-weight:500;line-height:.98}.narration p,.focus-copy p,.packing-copy p,.room-heading p,.evening-copy p{margin:10px 0 0;font-size:clamp(14px,1.4vw,18px);line-height:1.55}.narration blockquote{margin:18px 0 0;font-family:var(--font-display),serif;font-size:19px;font-style:italic}.quiet-action{display:flex;min-height:54px;width:100%;align-items:center;justify-content:space-between;margin-top:14px;padding:12px 20px;border:1px solid rgba(247,240,223,.55);background:rgba(6,28,39,.82);color:#fff;font-weight:700;backdrop-filter:blur(8px)}.quiet-action span{font-size:22px}.table-object{position:absolute;z-index:6;border:0;background:none;color:#fff;text-shadow:0 2px 14px #000}.letter-object{right:18%;bottom:10%;width:clamp(270px,32vw,490px);animation:object-in .8s ease both}.letter-object img{display:block;width:100%;filter:drop-shadow(0 22px 18px rgba(0,0,0,.35))}.letter-object span{display:block;margin-top:-8px;font-family:var(--font-display),serif;font-size:18px}.letter-focus{position:fixed;z-index:70;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,var(--safe));background:rgba(2,12,17,.75);backdrop-filter:blur(10px)}.paper-letter{display:flex;width:min(760px,100%);max-height:calc(100svh - 36px);flex-direction:column;padding:clamp(22px,5vw,60px);padding-bottom:16px;border:1px solid #decba4;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.48);animation:letter-open .55s cubic-bezier(.2,.8,.2,1) both}.paper-letter header{display:flex;align-items:center;justify-content:space-between;color:var(--terra);font-size:10px;font-weight:800;letter-spacing:.26em}.paper-letter header b{display:grid;width:52px;height:52px;place-items:center;border:1px solid var(--ink);border-radius:50%;color:var(--ink);font-family:var(--font-display),serif;font-size:20px;letter-spacing:0}.paper-letter h2{margin:5px 0;font-family:var(--font-display),serif;font-size:clamp(50px,8vw,88px);font-weight:500}.letter-scroll{padding:0 8px 30px;overflow:auto;font-family:var(--font-display),serif;font-size:clamp(18px,2vw,24px);line-height:1.35;overscroll-behavior:contain}.letter-scroll p{margin:0 0 16px}.letter-scroll strong{color:var(--terra);font-size:28px;font-style:italic}.paper-letter footer{margin:auto -6px 0;padding-top:10px;border-top:1px solid rgba(24,59,70,.15);background:var(--paper)}.paper-letter footer button{display:flex;min-height:54px;width:100%;align-items:center;justify-content:center;gap:16px;border:1px solid var(--ink);border-radius:999px;background:var(--navy);color:#fff;font-weight:700}.paper-letter footer span{font-size:20px}
.object-focus{position:absolute;z-index:7;inset:110px 4vw 3vh;display:grid;grid-template-columns:minmax(270px,35%) 1fr;grid-template-rows:auto 1fr auto;gap:15px 35px;align-items:center;color:#fff}.focus-copy{grid-column:1;align-self:end;padding:18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(4,24,33,.72),transparent);text-shadow:0 2px 18px #000}.focus-copy h2{font-size:clamp(32px,4.5vw,58px)}.focus-copy p{font-size:14px}.primary.inline{grid-column:1;align-self:start;justify-self:start;min-height:55px;font-size:17px}.primary:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.45}.ticket-personalize{position:relative;grid-column:2;grid-row:1/4;align-self:center;width:min(850px,100%)}.ticket-personalize img{display:block;width:100%;filter:drop-shadow(0 25px 25px rgba(0,0,0,.4))}.ticket-personalize label{position:absolute;right:13%;bottom:23%;left:13%;display:block;padding:8px 13px 5px;background:rgba(250,245,229,.94);color:var(--ink);transform:rotate(-1deg)}.ticket-personalize label span{display:block;font-size:8px;font-weight:800;letter-spacing:.16em}.ticket-personalize input{width:100%;padding:3px 0;border:0;border-bottom:2px solid var(--terra);outline:0;background:transparent;color:var(--ink);font-family:var(--font-display),serif;font-size:clamp(23px,3vw,38px)}.passport-book{position:relative;grid-column:2;grid-row:1/3;width:min(760px,100%);justify-self:center}.passport-book img{display:block;width:100%;filter:drop-shadow(0 25px 25px rgba(0,0,0,.4))}.passport-name{position:absolute;right:8%;bottom:23%;width:38%;border-bottom:3px solid var(--terra);color:var(--ink);transform:rotate(-2deg)}.passport-name small,.passport-name strong{display:block}.passport-name small{font-size:8px;letter-spacing:.18em}.passport-name strong{font-family:var(--font-display),serif;font-size:clamp(25px,3.2vw,45px);font-style:italic}.passport-questions{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-self:end}.passport-questions fieldset{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px;border:1px solid rgba(247,240,223,.35);background:rgba(6,28,39,.72);backdrop-filter:blur(8px)}.passport-questions legend{padding:0 7px;font-size:9px;font-weight:800;letter-spacing:.12em}.passport-questions button,.choice-row button,.transport-objects button{min-height:48px;padding:9px;border:1px solid rgba(247,240,223,.3);background:rgba(247,240,223,.08);color:#fff}.passport-questions button.selected,.choice-row button.selected,.transport-objects button.selected{border-color:#edb697;background:rgba(169,87,72,.65)}.support-demo{grid-column:2;grid-row:1/3;align-self:center;padding:35px;border:1px solid #ddc899;background:rgba(251,246,232,.94);color:var(--ink);text-align:center;box-shadow:0 25px 60px rgba(0,0,0,.35)}.support-demo span{display:block;font-family:serif;font-size:clamp(55px,9vw,130px)}.support-demo small{font-size:16px}.support-demo p{max-width:520px;margin:18px auto 0;line-height:1.5}.choice-row{grid-column:2;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-row button{text-align:left}.choice-row b,.choice-row small{display:block}.choice-row b{font-family:var(--font-display),serif;font-size:23px}.choice-row small{margin-top:5px;opacity:.8}.transport-objects{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr;gap:18px}.transport-objects button{display:flex;min-height:400px;flex-direction:column;align-items:center;justify-content:center}.transport-objects img{width:85%;max-height:270px;object-fit:contain;filter:drop-shadow(0 18px 18px rgba(0,0,0,.38))}.transport-objects b{font-family:var(--font-display),serif;font-size:28px}.transport-objects small{margin-top:4px}.drag-scene{position:relative;grid-column:2;grid-row:1/4;min-height:520px;touch-action:none}.drag-destination{position:absolute;top:9%;right:9%;display:grid;width:38%;height:31%;place-items:center;border:2px dashed rgba(247,240,223,.65);border-radius:24px;background:rgba(6,28,39,.45);color:#fff}.drag-destination span{font-weight:800;text-align:center}.drag-piece{position:absolute;bottom:7%;left:7%;display:flex;width:45%;flex-direction:column;align-items:center;border:0;background:none;color:#fff;text-shadow:0 2px 10px #000;touch-action:none}.drag-piece img{width:100%;max-height:280px;object-fit:contain;filter:drop-shadow(0 22px 20px rgba(0,0,0,.42))}.drag-piece strong{font-family:var(--font-display),serif;font-size:22px}.drag-piece small{font-size:26px}.packing-focus{position:absolute;z-index:7;inset:110px 4vw 3vh;color:#fff}.packing-copy{position:absolute;top:2%;left:0;width:34%;padding-left:18px;border-left:2px solid var(--terra);text-shadow:0 2px 16px #000}.packing-copy h2{font-size:clamp(30px,4vw,52px)}.packing-table{position:absolute;inset:0 0 0 36%}.suitcase-open{position:absolute;top:6%;right:4%;width:54%}.suitcase-open img{width:100%;filter:drop-shadow(0 25px 25px rgba(0,0,0,.4))}.suitcase-open span{position:absolute;right:10%;bottom:5%;display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--terra);font-weight:800}.packing-drag{position:absolute;inset:0}.packing-drag .drag-destination{top:20%;right:12%;width:36%;height:28%}.packing-focus>.inline{position:absolute;bottom:5%;left:0}
.machine{position:absolute;inset:0;display:grid;place-items:center;padding:100px 18px 30px}.machine-screen{display:grid;width:min(620px,92vw);grid-template-columns:1fr 1fr;gap:12px;padding:clamp(20px,4vw,42px);border:7px solid #7f8e91;border-radius:9px;background:linear-gradient(160deg,#0c5c78,#082e43);color:#fff;box-shadow:0 28px 75px rgba(0,0,0,.5)}.machine-screen>span,.machine-screen h2,.machine-screen p,.machine-screen img,.machine-screen .route-line,.machine-screen .primary{grid-column:1/-1}.machine-screen h2{margin:4px 0;font-family:var(--font-display),serif;font-size:clamp(30px,5vw,54px);text-align:center}.machine-screen button{min-height:58px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);color:#fff;font-weight:800}.machine-screen img{width:70%;max-height:190px;margin:auto;object-fit:contain}.route-line{display:flex;align-items:center;gap:10px;justify-content:center}.route-line i{width:45%;height:4px;background:#48a4cc}.coin{border-radius:50%!important;background:radial-gradient(circle,#eddfb6,#967846)!important}.gate-scene,.genkan-scene,.wash-scene{position:absolute;inset:0}.gate-copy,.genkan-copy,.wash-copy{position:absolute;z-index:8;top:24%;left:5vw;width:min(500px,86vw);padding:18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(4,24,33,.78),transparent);color:#fff;text-shadow:0 2px 15px #000}.gate-copy span,.genkan-copy span,.wash-copy span{font-size:9px;letter-spacing:.2em;color:#efb596}.gate-copy h2,.genkan-copy h2,.wash-copy h2{margin:7px 0;font-family:var(--font-display),serif;font-size:clamp(30px,4vw,50px)}.gate-scene .drag-scene,.genkan-scene .drag-scene,.wash-scene .drag-scene{position:absolute;inset:0}.gate-scene .drag-destination{top:35%;right:12%}.gate-scene .drag-piece{bottom:7%;left:12%;width:34%}.train-line{position:absolute;z-index:7;top:22%;left:12%;display:flex;width:76%;align-items:center;gap:12px;color:#fff}.train-line i{height:4px;flex:1;background:rgba(255,255,255,.45)}.moving-dot{position:absolute;left:10%;width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:var(--terra);animation:train-travel 9s linear infinite}.mei-speech{position:absolute;z-index:10;right:5vw;bottom:5vh;display:grid;width:min(720px,92vw);grid-template-columns:minmax(130px,30%) 1fr;align-items:end;color:#fff;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}.mei-speech img{width:100%;max-height:480px;object-fit:contain;object-position:bottom}.mei-speech>div{margin-left:-8px;padding:22px 24px;border-left:3px solid var(--terra);background:rgba(6,28,39,.9);backdrop-filter:blur(10px)}.mei-speech span{font-size:9px;letter-spacing:.2em;color:#efb596}.mei-speech p{margin:8px 0;font-family:var(--font-display),serif;font-size:clamp(20px,3vw,31px);line-height:1.25}.mei-speech button{min-height:48px;width:100%;margin-top:10px;border:1px solid rgba(247,240,223,.45);background:var(--terra);color:#fff;font-weight:700}.taxi-action .drag-scene{position:absolute;inset:0}.taxi-action .drag-destination{top:24%;right:10%}.taxi-action .drag-piece{left:7%;bottom:4%;width:30%}.taxi-action .mei-speech{bottom:3%;right:3%;width:min(560px,60vw)}.taxi-ride{position:absolute;inset:0}.ride-caption{position:absolute;top:22%;left:5%;width:min(420px,80vw);padding-left:18px;border-left:2px solid var(--terra);color:#fff;text-shadow:0 2px 14px #000}.ride-caption span{font-size:9px;letter-spacing:.2em}.ride-caption p{font-family:var(--font-display),serif;font-size:25px}.ride-exit{position:absolute;right:5%;bottom:6%;min-height:54px;padding:12px 20px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(6,28,39,.84);color:#fff;font-weight:700;animation:delayed-in 1s ease 10s both}.expense{display:block;margin-top:12px;color:#efb596}.sato-scene{position:absolute;inset:0;display:grid;place-items:center}.sato-scene video{height:min(82svh,900px);max-width:80vw;box-shadow:0 25px 70px rgba(0,0,0,.48);object-fit:contain}.meet-sato{position:absolute;bottom:8%;min-height:65px;padding:12px 26px;border:1px solid #e9c8a8;border-radius:999px;background:var(--terra);color:#fff;font-family:var(--font-display),serif;font-size:21px}.meet-sato small{display:block;font-family:var(--font-sans),sans-serif;font-size:9px}.sato-sub{position:absolute;bottom:4%;left:50%;width:min(550px,90vw);padding:16px;background:rgba(6,28,39,.9);color:#fff;transform:translateX(-50%);text-align:center}.sato-sub b,.sato-sub span,.sato-sub small{display:block}.sato-sub span{font-family:serif;font-size:28px}.sato-response{position:absolute;right:5%;bottom:5%;width:min(480px,90vw);padding:22px;background:rgba(6,28,39,.92);color:#fff}.sato-response h2{font-family:var(--font-display),serif;font-size:28px}.sato-response button{width:100%;min-height:50px;margin-top:8px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff}.sato-response button small{display:block}.sato-response .replay{border:0;background:none;opacity:.75}.genkan-scene .drag-destination{right:9%;bottom:7%;top:auto;height:24%}.genkan-scene .drag-piece{left:8%;bottom:5%;width:26%}.room-heading{position:absolute;top:20%;left:5%;width:min(500px,90vw);color:#fff;text-shadow:0 2px 16px #000}.room-heading h2{font-size:clamp(36px,5vw,62px)}.room-details{position:absolute;right:5%;bottom:19%;display:flex;gap:10px}.room-details button{display:flex;width:95px;height:95px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(6,28,39,.65);color:#fff;font-family:serif;font-size:22px}.room-details small{font-size:9px}.detail-slip{position:absolute;right:4%;bottom:4%;width:min(430px,92vw);padding:20px;background:var(--paper);color:var(--ink);box-shadow:0 25px 60px rgba(0,0,0,.4)}.detail-slip>button{position:absolute;top:5px;right:5px;border:0;background:none;font-size:22px}.detail-slip img{width:95px;height:95px;object-fit:cover;float:left;margin-right:15px}.detail-slip h3{margin:0;font-family:var(--font-display),serif;font-size:26px}.detail-slip p{line-height:1.45}.room-continue{position:absolute;right:5%;bottom:5%;width:min(430px,90vw)}.source-link{position:absolute;z-index:12;right:4%;bottom:3%;color:#fff;font-size:9px}.wash-next{position:absolute;right:5%;bottom:5%}.soak-scene{position:absolute;inset:0;touch-action:manipulation}.soak-rule{position:absolute;z-index:8;right:5%;top:22%;width:min(490px,90vw);padding:22px;background:rgba(6,28,39,.86);color:#fff}.soak-rule>span{font-size:9px;letter-spacing:.2em;color:#efb596}.soak-rule h2{font-family:var(--font-display),serif;font-size:32px}.soak-rule>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.soak-rule button{min-height:50px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff}.wrong{color:#ffc1ae}.right{color:#f5d79e}.soak-exit{position:absolute;right:5%;bottom:5%;width:min(490px,90vw)}.ripple{position:absolute;z-index:7;width:20px;height:20px;border:2px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,-50%);animation:ripple 1.4s ease-out both}.steam{position:absolute;inset:25% 0 0;background:radial-gradient(ellipse at 40% 60%,rgba(255,255,255,.35),transparent 35%),radial-gradient(ellipse at 70% 50%,rgba(255,255,255,.25),transparent 34%);filter:blur(18px);animation:steam 7s ease-in-out infinite alternate}.rain-glass{position:absolute;inset:0;background-image:radial-gradient(ellipse at center,rgba(255,255,255,.58) 0 1px,transparent 2px);background-size:73px 91px;opacity:.45;animation:rain 3s linear infinite}.evening-copy{position:absolute;top:21%;left:5%;width:40%;color:#fff;text-shadow:0 2px 15px #000}.evening-objects{position:absolute;right:5%;bottom:5%;display:grid;width:48%;grid-template-columns:1fr 1fr;gap:14px}.evening-objects button{display:flex;min-height:330px;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);background:rgba(6,28,39,.75);color:#fff}.evening-objects img{width:85%;height:230px;object-fit:contain}.evening-objects b{font-family:var(--font-display),serif;font-size:23px}.evening-objects small{max-width:220px;margin-top:5px}.trial{position:relative;z-index:5;display:grid;min-height:100svh;grid-template-columns:1fr 1fr;gap:2px;padding:110px 4vw 4vh;background:linear-gradient(135deg,#071f2b,#123e4b);overflow:auto}.journal,.offer{padding:clamp(26px,5vw,60px);background:var(--paper);color:var(--ink)}.journal h2,.offer h2{margin:8px 0;font-family:var(--font-display),serif;font-size:clamp(37px,5vw,65px);line-height:.95}.journal p,.offer p{line-height:1.55}.memory-strip{display:grid;height:180px;grid-template-columns:2fr 1fr 2fr;gap:6px;margin:25px 0}.memory-strip img{width:100%;height:100%;object-fit:cover}.journal ul{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0;list-style:none}.journal li{padding:11px;border:1px solid rgba(24,59,70,.2)}.price{display:flex;align-items:end;gap:14px;margin:28px 0 8px}.price del{font-size:20px;opacity:.55}.price strong{font-family:var(--font-display),serif;font-size:54px;color:var(--terra)}.price small{padding-bottom:9px}.promo,.buy{width:100%;min-height:54px;margin-top:8px;border:1px solid var(--ink);border-radius:999px}.promo{background:transparent;color:var(--ink)}.buy{background:var(--navy);color:#fff;font-family:var(--font-display),serif;font-size:20px}.buy small{display:block;font-family:var(--font-sans),sans-serif;font-size:9px}.honesty{text-align:center;font-size:9px}.transition-curtain{z-index:100;pointer-events:none;background:linear-gradient(90deg,#061c27,#123e4b);transform:translateX(-102%)}.is-transitioning .transition-curtain{animation:curtain 1.25s cubic-bezier(.72,0,.28,1) both}
@keyframes world-breathe{to{transform:scale(1.05) translate3d(-.7%,.4%,0)}}@keyframes object-in{from{opacity:0;transform:translateY(40px) scale(.94)}}@keyframes letter-open{from{opacity:0;transform:translateY(60px) rotateX(15deg)}}@keyframes train-travel{to{left:88%}}@keyframes delayed-in{from{opacity:0;transform:translateY(10px)}}@keyframes ripple{to{width:340px;height:340px;opacity:0}}@keyframes steam{to{transform:translate3d(4%,-5%,0) scale(1.1);opacity:.75}}@keyframes rain{to{background-position:10px 110px}}@keyframes curtain{0%{transform:translateX(-102%)}45%,58%{transform:translateX(0)}100%{transform:translateX(102%)}}
@media(max-width:700px){.experience{min-height:100svh}.world-image{background-position:center}.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka-mobile.webp')!important}.chapter-day0 .world-image{background-image:url('../assets/j0-room-depart-mobile-v118.webp')!important;background-position:center top}.brand{top:max(12px,env(safe-area-inset-top));left:12px;padding:5px 11px 5px 5px}.brand img{width:43px;height:43px}.brand b{font-size:13px}.brand small{font-size:7px}.sound{top:max(13px,env(safe-area-inset-top));right:12px;width:50px;height:50px}.scene-meta{top:max(77px,calc(env(safe-area-inset-top) + 62px));left:16px}.threshold{justify-content:flex-end;padding:150px 22px max(50px,calc(var(--safe) + 26px));background:linear-gradient(0deg,rgba(4,22,30,.88),transparent 68%)}.threshold h1{font-size:74px}.tagline{margin-top:20px;font-size:28px}.what{font-size:13px}.threshold-actions{flex-direction:column;align-items:stretch;margin-top:22px}.primary{width:100%;min-height:61px}.secondary{width:100%}.language{top:max(17px,env(safe-area-inset-top));right:77px}.threshold-proof{justify-content:center}.threshold-proof i{width:20px}.narration{right:16px;bottom:max(18px,calc(var(--safe) + 10px));left:16px;width:auto}.narration>div{padding:16px 8px 14px 16px}.narration h2{font-size:35px}.narration p{font-size:14px}.quiet-action{min-height:58px}.letter-object{right:5%;bottom:8%;width:75%}.letter-focus{padding:12px}.paper-letter{max-height:calc(100svh - 24px);padding:22px 18px 12px}.paper-letter h2{font-size:52px}.letter-scroll{font-size:19px}.paper-letter footer button{min-height:59px}.object-focus{inset:88px 12px max(12px,var(--safe));display:flex;overflow:auto;flex-direction:column;gap:10px;align-items:stretch;padding:40px 3px 10px}.focus-copy{flex:none;padding:12px 13px}.focus-copy h2{font-size:31px}.focus-copy p{font-size:13px}.ticket-personalize{flex:none;width:100%;margin-top:5px}.ticket-personalize label{right:8%;bottom:15%;left:8%}.ticket-personalize input{font-size:28px}.primary.inline{flex:none;width:100%;min-height:60px;margin-bottom:8px}.passport-book{flex:none;width:100%}.passport-name{right:5%;bottom:21%;width:41%}.passport-name strong{font-size:28px}.passport-questions{display:flex;flex:none;flex-direction:column}.passport-questions fieldset{grid-template-columns:1fr 1fr}.passport-questions button{min-height:55px}.support-demo{flex:none;padding:18px 12px}.support-demo span{font-size:67px}.choice-row{display:flex;flex:none;flex-direction:column}.choice-row button{min-height:68px}.transport-objects{display:flex;flex:none;gap:9px}.transport-objects button{min-height:260px;width:50%;padding:5px}.transport-objects img{height:160px}.transport-objects b{font-size:21px}.transport-objects small{font-size:9px}.drag-scene{flex:none;min-height:390px}.drag-destination{top:4%;right:3%;width:46%;height:36%}.drag-piece{bottom:3%;left:2%;width:52%}.drag-piece img{max-height:215px}.packing-focus{inset:86px 10px max(10px,var(--safe));overflow:auto;padding:45px 0 70px}.packing-copy{position:relative;top:auto;width:100%;padding:12px}.packing-copy h2{font-size:32px}.packing-table{position:relative;inset:auto;height:460px}.suitcase-open{top:0;right:0;width:68%}.packing-drag{position:absolute;inset:0}.packing-focus>.inline{position:relative;bottom:auto;left:auto}.machine{padding-top:85px}.machine-screen{grid-template-columns:1fr;padding:20px 14px}.machine-screen>*{grid-column:1}.machine-screen h2{font-size:35px}.gate-copy,.genkan-copy,.wash-copy{top:17%;left:15px;width:calc(100% - 30px)}.gate-scene .drag-destination{top:48%;right:5%}.gate-scene .drag-piece{bottom:5%;left:5%;width:45%}.train-line{top:18%;left:7%;width:86%}.mei-speech{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto;grid-template-columns:105px 1fr}.mei-speech img{max-height:260px}.mei-speech>div{padding:14px 13px}.mei-speech p{font-size:19px}.taxi-action .mei-speech{right:10px;bottom:8px;left:10px;width:auto}.taxi-action .drag-destination{top:21%;right:5%;width:45%;height:20%}.taxi-action .drag-piece{left:5%;bottom:31%;width:45%}.ride-caption{top:20%;left:16px;width:80%}.ride-exit{right:12px;bottom:max(14px,var(--safe));left:12px;width:calc(100% - 24px)}.sato-scene video{height:70svh;max-width:100vw}.sato-response{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.genkan-scene .drag-destination{right:5%;bottom:5%;width:46%;height:19%}.genkan-scene .drag-piece{left:5%;bottom:5%;width:42%}.room-heading{top:17%;left:16px;width:calc(100% - 32px)}.room-heading h2{font-size:36px}.room-details{right:12px;bottom:19%;left:12px;justify-content:center}.room-details button{width:80px;height:80px}.detail-slip{right:12px;bottom:12px;left:12px;width:auto}.room-continue{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.source-link{right:16px;bottom:4px}.wash-next{right:12px;bottom:max(12px,var(--safe));left:12px;width:calc(100% - 24px)}.soak-rule{top:17%;right:12px;left:12px;width:auto}.soak-rule h2{font-size:29px}.soak-exit{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.evening-copy{top:16%;left:16px;width:calc(100% - 32px)}.evening-copy h2{font-size:36px}.evening-objects{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.evening-objects button{min-height:250px}.evening-objects img{height:160px}.trial{grid-template-columns:1fr;padding:85px 10px 10px}.journal,.offer{padding:28px 18px}.memory-strip{height:140px}.journal ul{grid-template-columns:1fr}.price strong{font-size:46px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important}.world-image{transform:none!important}}
.buy{display:flex;align-items:center;justify-content:center;flex-direction:column;text-decoration:none}
.bath-pov{position:absolute;inset:-3%;background:url('../assets/refinement/bath-pov-inside-v1.webp') center/cover no-repeat;animation:bath-enter 1.5s ease both,world-breathe 10s ease-in-out 1.5s infinite alternate}.shoe-choice{position:absolute;z-index:8;right:4%;bottom:5%;display:grid;width:min(680px,56vw);grid-template-columns:1fr 1fr;gap:10px}.shoe-choice button{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(247,240,223,.48);background:rgba(6,28,39,.72);color:#fff;backdrop-filter:blur(8px)}.shoe-choice img{width:100%;height:135px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(0,0,0,.5))}.shoe-choice span{font-weight:700}.door-slide,.wash-gesture{position:absolute;z-index:9;right:5%;bottom:8%;display:grid;width:min(520px,90vw);gap:12px;padding:20px;border:1px solid rgba(247,240,223,.42);border-radius:18px;background:rgba(6,28,39,.86);color:#fff}.door-slide span{font-family:var(--font-display),serif;font-size:24px}.door-slide input,.wash-gesture input{width:100%;accent-color:var(--terra);touch-action:pan-x}.repere-card{position:absolute;z-index:10;width:min(390px,88vw);padding:15px 17px;border:1px solid rgba(247,240,223,.45);background:rgba(247,240,223,.94);color:var(--ink);box-shadow:0 16px 40px rgba(0,0,0,.32)}.repere-card>b,.repere-label{display:block;margin-bottom:5px;color:var(--terra);font-size:9px;letter-spacing:.2em}.repere-card p,.repere-card li{font-size:13px;line-height:1.4}.repere-card ol{margin:8px 0;padding-left:20px}.repere-card a,.source-red{display:block;margin-top:10px;color:#ad4338;font-size:9px;font-weight:700;text-decoration:none}.genkan-repere{right:4%;top:18%;width:min(320px,43vw)}.bath-repere{top:20%;left:5%}.detail-slip{z-index:15;max-height:min(64svh,560px);overflow:auto;padding-bottom:24px}.detail-slip .repere-label{margin-top:5px}.source-red{clear:both;padding-top:8px}.washing-tools{position:absolute;right:6%;bottom:9%;width:min(650px,55vw);max-height:61svh;object-fit:contain;filter:saturate(.8) contrast(.94) drop-shadow(0 20px 22px rgba(0,0,0,.45))}.wash-gesture{right:6%;bottom:5%;width:min(650px,55vw);grid-template-columns:repeat(3,1fr);padding:14px 18px}.wash-gesture>span{display:flex;align-items:center;gap:6px;font-size:11px}.wash-gesture i{display:block;width:10px;height:10px;border:1px solid var(--gold);border-radius:50%}.wash-gesture i.done{background:var(--terra)}.wash-gesture input{grid-column:1/-1}.wash-repere{top:19%;right:5%;width:min(270px,36vw)}.wash-next{z-index:12}.bath-step-2 .soak-rule,.bath-step-4 .soak-rule{top:auto;right:auto;bottom:6%;left:4%;width:min(420px,47vw);padding:16px}.bath-step-2 .soak-rule h2,.bath-step-4 .soak-rule h2{margin:4px 0;font-size:27px}.bath-step-2 .soak-rule p,.bath-step-4 .soak-rule p{margin:6px 0;font-size:13px}.bath-step-4 .soak-rule{opacity:.78}.bath-step-4 .soak-exit{z-index:12}.ripple{pointer-events:none}.ripple::after{position:absolute;inset:15%;border:1px solid rgba(255,255,255,.55);border-radius:50%;content:""}.d1-soak .steam{z-index:3;pointer-events:none;opacity:.46}.d1-soak .water-shine{position:absolute;z-index:4;right:-10%;bottom:-15%;left:-10%;height:55%;pointer-events:none;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 16px,rgba(255,255,255,.08) 18px,transparent 21px);mix-blend-mode:screen;animation:water-drift 5s ease-in-out infinite alternate}
@keyframes bath-enter{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1.035)}}@keyframes water-drift{to{transform:translate3d(2%,-2%,0) scale(1.03)}}
@media(max-width:700px){.genkan-copy{top:15%;padding:12px}.genkan-copy h2{font-size:28px}.genkan-copy p{font-size:12px}.shoe-choice{right:12px;bottom:max(13px,var(--safe));left:12px;width:auto;gap:7px}.shoe-choice button{min-height:125px;padding:4px}.shoe-choice img{height:88px}.shoe-choice span{font-size:11px}.genkan-repere{top:auto;right:12px;bottom:13px;width:calc(100% - 24px);max-height:125px;overflow:auto}.genkan-scene .drag-scene{top:150px}.genkan-scene .drag-piece{bottom:15%;width:45%}.genkan-scene .drag-destination{bottom:16%;height:20%}.door-slide{right:12px;bottom:max(20px,var(--safe));left:12px;width:auto}.room-heading{top:15%}.room-heading p{max-width:75%;font-size:13px}.room-details{bottom:17%}.detail-slip{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto;max-height:56svh}.detail-slip img{width:78px;height:78px}.detail-slip h3{font-size:23px}.detail-slip p{font-size:13px}.bath-repere{top:17%;left:12px;width:calc(100% - 24px);max-height:230px;overflow:auto}.bath-door .mei-speech{bottom:max(12px,var(--safe))}.washing-tools{right:4%;bottom:14%;width:92vw;max-height:42svh}.wash-copy{top:15%;padding:12px}.wash-copy h2{font-size:27px}.wash-copy p{font-size:12px}.wash-gesture{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto;padding:12px}.wash-repere{top:41%;right:12px;width:min(240px,64vw);padding:10px}.wash-next{right:12px;bottom:max(12px,var(--safe));left:12px;width:calc(100% - 24px)}.wash-next+.wash-repere{display:none}.soak-rule{top:15%;max-height:48svh;overflow:auto}.soak-rule h2{margin:7px 0;font-size:26px}.bath-step-2 .soak-rule,.bath-step-4 .soak-rule{right:12px;bottom:max(18px,var(--safe));left:12px;width:auto}.bath-step-4 .soak-rule{bottom:92px;max-height:150px}.bath-step-4 .soak-exit{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.bath-pov{inset:-2%;background-size:auto 104%;background-position:center}.d1-room .world-image{background-position:62% center}.d1-wash .world-image{background-position:45% center}}

/* V3 — continuité sensorielle et actions intégrées au monde */
.transition-curtain{background:#061c27;opacity:0;transform:none}.is-transitioning .transition-curtain{animation:scene-dissolve .86s ease both}@keyframes scene-dissolve{0%,100%{opacity:0}42%,58%{opacity:.92}}
.source-ribbon{position:absolute;z-index:8;right:22px;bottom:18px;padding:8px 12px;background:rgba(247,240,223,.92);font-size:10px}.source-ribbon a{color:#a94339;text-decoration:none}
.hakata-intro{position:absolute;z-index:8;top:22%;left:5%;width:min(500px,88vw);padding:18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(4,24,33,.82),transparent);color:white;text-shadow:0 2px 16px #000}.hakata-intro span{font-size:9px;letter-spacing:.2em;color:#edb697}.hakata-intro h2{margin:8px 0;font-family:var(--font-display),serif;font-size:clamp(34px,5vw,58px);font-weight:500}.hakata-intro p{line-height:1.45}.station-signs{position:absolute;z-index:8;right:5%;bottom:10%;display:grid;width:min(620px,60vw);grid-template-columns:repeat(3,1fr);gap:8px}.station-signs button{min-height:128px;padding:15px;border:2px solid #1f5470;background:rgba(247,250,248,.94);color:#061c27;box-shadow:0 12px 30px rgba(0,0,0,.28)}.station-signs button.found{border-color:var(--terra);box-shadow:0 0 0 4px rgba(169,87,72,.22)}.station-signs b,.station-signs small{display:block}.station-signs b{font-family:serif;font-size:35px}.station-signs small{margin-top:8px;font-size:10px}.hakata-next{position:absolute;right:5%;bottom:4%;width:min(620px,60vw)}
.repere-tab{position:absolute;z-index:20;right:0;top:48%;padding:10px 13px;border:1px solid #e6c6aa;border-right:0;border-radius:999px 0 0 999px;background:var(--terra);color:#fff;font-size:11px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.28)}.repere-drawer{position:absolute;z-index:22;right:12px;bottom:12px;width:min(390px,90vw);padding:19px;background:var(--paper);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.35)}.repere-drawer>button,.repere-close{position:absolute;top:5px;right:6px;border:0;background:none;color:var(--ink);font-size:20px}.repere-drawer>b{color:var(--terra);font-size:9px;letter-spacing:.18em}
.mei-speech{grid-template-columns:118px 1fr}.mei-speech img{aspect-ratio:4/5;max-height:230px;object-fit:cover;object-position:50% 18%;border:1px solid rgba(247,240,223,.55);background:rgba(247,240,223,.9)}
.taxi-card{position:absolute;z-index:8;top:25%;left:6%;width:min(420px,58vw);padding:20px 22px;border:1px solid #d9bf91;background:var(--paper);color:var(--ink);box-shadow:0 22px 60px rgba(0,0,0,.4);transform:rotate(-1deg)}.taxi-card span,.taxi-card b,.taxi-card p,.taxi-card small{display:block}.taxi-card span{color:var(--terra);font-size:9px;letter-spacing:.18em}.taxi-card b{margin:9px 0;font-family:serif;font-size:30px}.taxi-card p{margin:0;font-size:16px}.taxi-card small{margin-top:12px;opacity:.65}.taxi-action .mei-speech{right:4%;bottom:4%;width:min(610px,58vw)}.taxi-handle{position:absolute;z-index:15;right:11%;bottom:9%;display:flex;min-width:230px;align-items:center;gap:15px;padding:16px 22px;border:1px solid rgba(255,255,255,.62);border-radius:999px;background:rgba(6,28,39,.86);color:#fff;font-weight:800}.taxi-handle span{width:72px;height:16px;border:3px solid #c3b7a7;border-bottom-width:7px;border-radius:20px}.taxi-handle.inside{right:5%;bottom:6%}.taxi-payment{position:absolute;z-index:12;right:6%;bottom:7%;display:grid;width:min(430px,88vw);gap:10px;padding:16px;background:rgba(6,28,39,.9);color:#fff}.taxi-meter{display:flex;align-items:end;justify-content:space-between;padding:15px;border:1px solid rgba(255,255,255,.35);font-family:monospace}.taxi-meter strong{font-size:32px;color:#ffb076}.taxi-payment>button{min-height:58px;border:1px solid #e5c5a8;background:var(--terra);color:#fff;font-weight:800}.expense-float{position:absolute;z-index:15;right:8%;bottom:22%;color:#ffd0ae;font-family:var(--font-display),serif;font-size:46px;text-shadow:0 3px 14px #000;animation:expense-away 2.2s ease both}.expense-float small{display:block;color:#fff;font-family:var(--font-sans),sans-serif;font-size:11px;text-align:right}@keyframes expense-away{0%{opacity:0;transform:translateY(30px)}25%,70%{opacity:1;transform:none}100%{opacity:.4;transform:translateY(-20px)}}
.taxi-glass{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.12) 45%,transparent 58%);mix-blend-mode:screen;animation:glass-pass 5s linear infinite}.d1-ride .world-image{animation:taxi-road 7s ease-in-out infinite alternate}@keyframes glass-pass{to{transform:translateX(45%)}}@keyframes taxi-road{to{transform:scale(1.07) translate3d(-1%,.7%,0)}}
.genkan-repere{top:auto;right:14px;bottom:14px;width:min(380px,90vw)}.shoji-gesture{--door:0%;position:absolute;z-index:13;right:8%;bottom:8%;width:min(470px,58vw);height:190px;overflow:hidden;border:1px solid rgba(247,240,223,.55);background:linear-gradient(90deg,rgba(247,240,223,.82) 0 48%,rgba(67,42,24,.88) 49% 53%,rgba(247,240,223,.82) 54%);color:var(--ink);touch-action:none;box-shadow:0 18px 45px rgba(0,0,0,.4)}.shoji-gesture i{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 47px,rgba(45,28,18,.6) 48px 52px),repeating-linear-gradient(0deg,transparent 0 42px,rgba(45,28,18,.5) 43px 47px);transform:translateX(calc(var(--door) * .45));transition:transform .05s linear}.shoji-gesture span{position:absolute;right:0;bottom:0;left:0;padding:10px;background:rgba(6,28,39,.86);color:#fff;font-weight:800}
.d1-room .world-image{filter:brightness(1.26) saturate(.85);background-position:center}.d1-room .world-light{background:linear-gradient(180deg,rgba(255,191,116,.12),transparent 55%)}
.bath-door .repere-tab{top:46%}.wash-repere{display:none}.condensation{--wipe-x:50%;--wipe-y:50%;position:absolute;z-index:6;inset:0;pointer-events:none;background:radial-gradient(ellipse at 25% 20%,rgba(255,255,255,.62),transparent 24%),radial-gradient(ellipse at 76% 40%,rgba(255,255,255,.52),transparent 29%),rgba(230,243,239,.22);backdrop-filter:blur(8px);-webkit-mask-image:radial-gradient(circle 92px at var(--wipe-x) var(--wipe-y),transparent 0 68%,#000 100%);mask-image:radial-gradient(circle 92px at var(--wipe-x) var(--wipe-y),transparent 0 68%,#000 100%)}.condensation:after{position:absolute;inset:0;background-image:radial-gradient(ellipse at center,rgba(255,255,255,.7) 0 2px,transparent 3px);background-size:83px 107px;content:"";opacity:.65;animation:drops-slide 7s linear infinite}@keyframes drops-slide{to{background-position:0 110px}}.bath-enter-gesture{position:absolute;z-index:15;right:5%;bottom:5%;min-height:64px;padding:15px 24px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(6,28,39,.88);color:#fff;font-weight:800}.bath-step-5 .soak-rule{right:auto;top:auto;bottom:5%;left:5%;width:min(420px,48vw);opacity:.78}.bath-step-5 .soak-exit{z-index:16}.bath-step-5 .steam{opacity:.58}
.paper-letter footer{position:sticky;bottom:0;z-index:3}.paper-letter footer button,.primary.inline,.quiet-action{font-size:16px}.passport-name{border-bottom:4px solid var(--terra);background:rgba(247,240,223,.72);padding:8px}.passport-name small{font-size:10px}.passport-name strong{line-height:1.2}

@media(max-width:700px){.d1-airport .world-image{background-image:url('../assets/day1/v76/airport-arrival-mobile.webp')!important}.d1-shuttle .world-image{background-image:url('../assets/day1/v77/shuttle-mobile.webp')!important}.d1-machine .world-image{background-image:url('../assets/day1/v77/ticket-machine-mobile.webp')!important}.d1-gate .world-image,.d1-train .world-image{background-image:url('../assets/day1/v77/kuko-platform-mobile.webp')!important}.d1-genkan .world-image{background-position:54% center}.d1-bathDoor .world-image{background-position:56% center}.d1-evening .world-image,.d1-night .world-image{background-position:center}.scene-meta{z-index:11;top:max(70px,calc(env(safe-area-inset-top) + 58px));padding:5px 9px;border-radius:99px;background:rgba(6,28,39,.62);text-shadow:0 2px 8px #000}.scene-meta time{font-size:16px}.scene-meta span{font-size:8px}.shuttle-scene .narration{bottom:52px}.source-ribbon{right:12px;bottom:8px}.hakata-intro{top:16%;left:12px;width:calc(100% - 24px);padding:13px}.hakata-intro h2{font-size:31px}.hakata-intro p{margin-bottom:0;font-size:13px}.station-signs{right:12px;bottom:16%;left:12px;width:auto;grid-template-columns:1fr;gap:6px}.station-signs button{display:grid;min-height:72px;grid-template-columns:1fr 1.4fr;align-items:center;padding:7px 12px}.station-signs b{font-size:27px}.station-signs small{margin:0;text-align:left}.hakata-next{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.repere-tab{top:auto;right:0;bottom:44%;font-size:10px}.mei-speech{grid-template-columns:84px 1fr}.mei-speech img{max-height:150px}.mei-speech p{font-size:17px}.taxi-card{top:18%;left:12px;width:calc(100% - 24px);padding:14px}.taxi-card b{font-size:25px}.taxi-action .mei-speech{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.taxi-stage-1 .taxi-card{top:22%;width:74%}.taxi-handle{right:12px;bottom:max(20px,var(--safe));left:12px;justify-content:center;width:calc(100% - 24px)}.taxi-payment{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.taxi-handle.inside{right:12px;bottom:max(14px,var(--safe));left:12px}.expense-float{right:22px;bottom:20%;font-size:40px}.ride-caption{top:17%;width:calc(100% - 32px);padding:12px}.ride-caption p{font-size:20px}.ride-exit{animation-delay:5s}.genkan-copy{max-height:185px;overflow:auto}.shoe-choice{bottom:max(16px,var(--safe))}.shoe-choice button{min-height:115px;background:rgba(6,28,39,.82)}.genkan-scene .drag-scene{top:185px}.genkan-scene .drag-piece strong,.genkan-scene .drag-destination span{font-size:12px}.shoji-gesture{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto;height:180px}.genkan-repere{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto;max-height:42svh}.room-heading{padding:10px;background:linear-gradient(90deg,rgba(6,28,39,.72),transparent)}.room-heading p{max-width:100%}.room-details{bottom:14%}.room-continue{min-height:62px;font-size:15px}.bath-repere{top:auto;right:12px;bottom:12px;left:12px;width:auto;max-height:55svh}.bath-door .mei-speech{bottom:max(12px,var(--safe))}.bath-step-5 .soak-rule{right:12px;bottom:90px;left:12px;width:auto;max-height:135px}.bath-enter-gesture{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.condensation{-webkit-mask-image:radial-gradient(circle 72px at var(--wipe-x) var(--wipe-y),transparent 0 65%,#000 100%);mask-image:radial-gradient(circle 72px at var(--wipe-x) var(--wipe-y),transparent 0 65%,#000 100%)}.paper-letter footer button{min-height:64px;padding:12px 16px;font-size:15px}.primary.inline{min-height:64px;font-size:15px}.passport-name{right:4%;bottom:19%;width:43%;padding:5px}.passport-name strong{font-size:26px}.passport-questions legend{font-size:10px}.passport-questions button{font-size:13px}.object-focus{padding-bottom:max(28px,var(--safe))}}

/* V4 — présence continue, objets lisibles et scènes habitées */
.chapter-threshold .world-image{background-position:center;animation:cover-breathe 12s ease-in-out infinite alternate}.chapter-threshold .world-light{background:linear-gradient(180deg,rgba(2,22,34,.03),rgba(3,20,29,.72) 82%)}.chapter-threshold .leaves{opacity:.55}.journey-menu-trigger{position:fixed;z-index:42;right:clamp(82px,8vw,116px);top:clamp(20px,3vw,34px);display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(247,240,223,.55);border-radius:50%;background:rgba(5,28,39,.78);color:#fff;font-size:20px;backdrop-filter:blur(12px)}.journey-menu-trigger small{font-size:7px;letter-spacing:.08em}.journey-menu{position:fixed;z-index:90;inset:0;overflow:auto;padding:clamp(80px,10vh,120px) max(20px,8vw) 50px;background:linear-gradient(145deg,#061c27,#123947);color:var(--paper)}.journey-menu-close{position:fixed;z-index:2;top:18px;right:20px;padding:12px 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:rgba(255,255,255,.08);color:#fff}.journey-menu header{display:flex;align-items:center;gap:18px;margin-bottom:36px}.journey-menu header img{width:70px;height:70px;border-radius:50%}.journey-menu header small{color:#e8ae92;letter-spacing:.2em}.journey-menu h2{margin:4px 0;font:500 clamp(34px,5vw,64px)/1 var(--font-display),serif}.journey-objects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.journey-objects article{display:grid;min-height:260px;grid-template-columns:45% 1fr;align-items:center;padding:20px;border:1px solid rgba(247,240,223,.28);background:rgba(247,240,223,.08)}.journey-objects img{width:100%;height:190px;object-fit:contain}.journey-objects b,.journey-objects p,.journey-objects small{display:block}.journey-objects b{color:#e8ae92;font-size:11px;letter-spacing:.15em}.journey-objects p{font:500 30px var(--font-display),serif}.journey-objects small{opacity:.75}.journey-menu-note{margin-top:24px;opacity:.72}
.taxi-stage-2 .world-image,.taxi-stage-3 .world-image,.taxi-stage-4 .world-image{background-image:url('../assets/day1/v76/taxi-door-pov.webp')!important}.taxi-pov{position:absolute;inset:0}.taxi-greeting{position:absolute;z-index:12;right:5%;bottom:5%;width:min(530px,90vw);padding:20px;background:rgba(6,28,39,.86);color:#fff}.taxi-greeting span,.meal-copy span{color:#e8ae92;font-size:9px;letter-spacing:.2em}.taxi-greeting h2{margin:8px 0;font:500 42px var(--font-display),serif}.taxi-greeting div{display:flex;gap:8px}.taxi-greeting button,.address-slip{min-height:58px;padding:12px 16px;border:1px solid rgba(247,240,223,.5);background:rgba(247,240,223,.1);color:#fff}.address-slip{position:absolute;z-index:14;left:5%;bottom:7%;display:grid;width:min(330px,72vw);gap:4px;background:var(--paper);color:var(--ink);transform:rotate(-1deg)}.address-slip small{color:var(--terra)}.address-slip b{font-size:22px}.taxi-depart{position:absolute;right:5%;bottom:5%}.d1-ride .world-image{background-position:center}
.meal-copy{position:absolute;z-index:8;top:17%;left:4%;width:min(520px,90vw);padding:18px;background:linear-gradient(90deg,rgba(6,28,39,.83),rgba(6,28,39,.1));color:#fff}.meal-copy h2{margin:8px 0;font:500 clamp(34px,5vw,58px) var(--font-display),serif}.meal-choices{position:absolute;z-index:9;right:4%;bottom:6%;display:grid;width:min(680px,90vw);grid-template-columns:repeat(3,1fr);gap:9px}.meal-choices button{min-height:190px;padding:16px;border:1px solid rgba(247,240,223,.48);background:rgba(6,28,39,.82);color:#fff}.meal-choices button.selected{border-color:#e6a98c;background:rgba(164,73,58,.88)}.meal-choices i{display:block;width:70px;height:55px;margin:0 auto 12px;border-radius:50% 50% 45% 45%;background:radial-gradient(ellipse at 50% 35%,#d7ad78 0 12%,#879360 13% 31%,#513526 33% 48%,#e7d4b7 50%);box-shadow:0 9px 0 #644630}.meal-choices b,.meal-choices small{display:block}.meal-choices small{margin-top:8px;opacity:.75}.meal-next{position:absolute;right:4%;bottom:2%;width:min(680px,90vw)}.d1-garden .world-image{animation:garden-look 11s ease-in-out infinite alternate}.garden-fireflies{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 25% 52%,#ffd88d 0 2px,transparent 3px),radial-gradient(circle at 69% 34%,#ffd88d 0 2px,transparent 3px),radial-gradient(circle at 52% 72%,#ffd88d 0 1px,transparent 3px);animation:firefly 5s ease-in-out infinite alternate}
.bath-side-choice{position:absolute;z-index:14;right:4%;bottom:4%;width:min(620px,92vw);padding:20px;background:rgba(6,28,39,.9);color:#fff}.bath-side-choice>span{color:#e8ae92;font-size:9px;letter-spacing:.2em}.bath-side-choice h2{font:500 34px var(--font-display),serif}.bath-side-choice div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.bath-side-choice button{min-height:85px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.06);color:#fff;font-size:30px}.bath-side-choice small{display:block;font-size:10px}.wash-objects{position:absolute;z-index:9;right:5%;bottom:8%;display:grid;width:min(620px,90vw);grid-template-columns:repeat(3,1fr);gap:12px}.wash-objects button{position:relative;min-height:210px;overflow:hidden;border:1px solid rgba(247,240,223,.4);background:rgba(6,28,39,.7);color:#fff}.wash-objects button.active{border:2px solid #f0b18e;box-shadow:0 0 0 6px rgba(240,177,142,.18)}.wash-objects button:not(.active){opacity:.5}.wash-objects img{position:absolute;inset:-35%;width:170%;height:170%;object-fit:contain}.wash-objects button:nth-child(1) img{object-position:55% 42%;transform:translateX(12%)}.wash-objects button:nth-child(2) img{object-position:5% 50%;transform:translateX(-20%)}.wash-objects span{position:absolute;right:0;bottom:0;left:0;padding:10px;background:rgba(6,28,39,.88);font-weight:800}.wash-objects button>i{display:grid;width:90px;height:90px;margin:auto;place-items:center;border-radius:50%;background:radial-gradient(circle,#f8f3e6,#b7d7d0);color:#54716f;font-style:normal}.wash-progress{position:absolute;z-index:10;right:5%;bottom:4%;display:flex;gap:8px}.wash-progress i{width:48px;height:3px;background:rgba(255,255,255,.35)}.wash-progress i.done{background:#e9ae8f}.d1-soak .world-image{background-position:center}.bath-pov{background-image:url('../assets/day1/bath-reference.webp');background-position:center;animation:bath-descend 1.8s cubic-bezier(.2,.75,.3,1) both}.condensation{background:linear-gradient(115deg,rgba(238,245,238,.63),rgba(255,255,255,.27),rgba(230,238,230,.52));backdrop-filter:blur(13px)}.condensation:after{background-image:linear-gradient(110deg,transparent 0 48%,rgba(255,255,255,.35) 49% 51%,transparent 52%);background-size:170px 260px;opacity:.28}.d1-soak .water-shine{background:linear-gradient(180deg,transparent,rgba(124,185,174,.22)),repeating-radial-gradient(ellipse at 50% 100%,transparent 0 32px,rgba(255,255,255,.09) 34px,transparent 39px)}
.drink-choices{position:absolute;z-index:10;right:5%;bottom:7%;display:flex;gap:10px}.drink-choices button{display:grid;width:150px;height:190px;place-items:center;border:1px solid rgba(247,240,223,.5);background:rgba(6,28,39,.8);color:#fff}.drink-choices i{width:55px;height:105px;border-radius:15px 15px 8px 8px;background:#f5efe1;box-shadow:inset 0 0 0 5px rgba(80,55,42,.13)}.drink-choices i.coffee{background:#b78561}.drink-choices i.water{background:#a9d8e1}.yukata-choices{position:absolute;z-index:10;right:5%;bottom:5%;display:flex;gap:12px}.yukata-choices button{padding:10px;border:1px solid rgba(255,255,255,.5);background:rgba(6,28,39,.75);color:#fff}.yukata-choices img{width:200px;height:330px;object-fit:contain}.yukata-dress{position:absolute;z-index:10;right:5%;bottom:5%;display:grid;place-items:center}.yukata-dress img{width:min(370px,60vw);height:60svh;object-fit:contain;filter:drop-shadow(0 20px 30px #000)}.yukata-dress button{min-height:62px;padding:14px 20px;border:1px solid #f4d5bd;background:var(--terra);color:#fff;font-weight:800}.rest-scene .sleep-shade{position:absolute;z-index:7;inset:0;pointer-events:none;background:#02080b;opacity:0}.rest-stage-1 .sleep-shade{animation:sleep 2.6s ease forwards}
@keyframes cover-breathe{from{transform:scale(1.02) translate3d(-.4%,0,0)}to{transform:scale(1.05) translate3d(.7%,-.5%,0)}}@keyframes garden-look{to{transform:scale(1.04) translateX(-1.5%)}}@keyframes firefly{to{opacity:.25;transform:translateY(-9px)}}@keyframes bath-descend{from{opacity:.3;transform:scale(1.1) translateY(-10%)}55%{opacity:1}to{transform:scale(1.04) translateY(5%)}}@keyframes sleep{to{opacity:.96}}
@media(min-width:701px){.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka.webp?v=28.1')!important}}
@media(max-width:700px){.journey-menu-trigger{top:74px;right:12px;width:48px;height:48px}.journey-menu{padding:84px 12px 32px}.journey-menu-close{top:18px}.journey-objects{grid-template-columns:1fr}.journey-objects article{min-height:145px;grid-template-columns:37% 1fr;padding:10px}.journey-objects img{height:125px}.taxi-greeting{right:12px;bottom:12px;left:12px;width:auto}.taxi-greeting h2{font-size:30px}.taxi-greeting div{display:grid;grid-template-columns:1fr 1fr}.address-slip{left:12px;bottom:118px;width:calc(100% - 24px)}.taxi-depart{right:12px;bottom:12px;left:12px}.meal-copy{top:15%;left:12px;width:calc(100% - 24px);padding:12px}.meal-copy h2{font-size:28px}.meal-copy p{font-size:12px}.meal-choices{right:12px;bottom:78px;left:12px;width:auto;grid-template-columns:1fr}.meal-choices button{display:grid;min-height:76px;grid-template-columns:60px 1fr;align-items:center;padding:8px;text-align:left}.meal-choices i{grid-row:1/3;width:48px;height:38px;margin:0}.meal-choices small{margin:0}.meal-next{right:12px;bottom:12px;left:12px;width:auto}.bath-side-choice{right:12px;bottom:12px;left:12px;width:auto;padding:14px}.bath-side-choice h2{font-size:26px}.bath-side-choice p{font-size:12px}.wash-objects{right:12px;bottom:76px;left:12px;width:auto;gap:7px}.wash-objects button{min-height:190px}.wash-progress{right:12px;bottom:62px}.drink-choices{right:12px;bottom:12px;left:12px;justify-content:center}.drink-choices button{width:31%;height:150px}.yukata-choices{right:12px;bottom:12px;left:12px}.yukata-choices button{width:50%}.yukata-choices img{width:100%;height:260px}.yukata-dress{right:12px;bottom:12px;left:12px}.yukata-dress img{height:55svh}.d1-meal .source-ribbon,.d1-yukata .source-ribbon{display:none}}
.value-receipt{margin-top:22px;padding:15px;border:1px solid rgba(8,40,53,.22);background:#f6eedf}.value-receipt span,.value-receipt b,.value-receipt small{display:block}.value-receipt span{color:var(--terra);font-size:9px;letter-spacing:.16em}.value-receipt b{margin:6px 0;font:500 32px var(--font-display),serif}.continuation-proof{display:grid;gap:8px;margin:20px 0;padding:16px;border-left:2px solid var(--terra);background:rgba(6,28,39,.05)}.continuation-proof b{color:var(--terra);font-size:10px;letter-spacing:.15em}.continuation-proof span:before{margin-right:8px;color:var(--terra);content:"✓"}

/* V24 — interactions lisibles et objets réellement consultables */
.journey-objects button{display:grid;min-height:260px;grid-template-columns:45% 1fr;align-items:center;padding:20px;border:1px solid rgba(247,240,223,.28);background:rgba(247,240,223,.08);color:var(--paper);text-align:left}.object-ledger{max-width:850px;margin:auto}.object-ledger>button{padding:12px 18px;border:1px solid rgba(247,240,223,.35);background:transparent;color:#fff}.object-ledger>img{display:block;width:min(560px,90%);max-height:45vh;margin:18px auto;object-fit:contain}.object-ledger h3{font:500 clamp(30px,5vw,54px) var(--font-display),serif}.object-ledger dl,.object-ledger ul{display:grid;gap:12px;padding:0}.object-ledger dt{color:#e8ae92;font-size:11px;letter-spacing:.16em}.object-ledger dd{margin:0 0 12px}.object-ledger li{display:flex;justify-content:space-between;gap:18px;padding:16px;border-bottom:1px solid rgba(247,240,223,.18)}.object-ledger ol li{opacity:.5}.object-ledger ol li.done{opacity:1;color:#f2cf9b}
.meal-sato-line{position:absolute;z-index:9;left:4%;bottom:4%;width:min(470px,88vw);padding:16px 18px;border-left:3px solid var(--terra);background:rgba(5,28,39,.88);color:#fff;backdrop-filter:blur(9px)}.meal-sato-line b{color:#e8ae92;font-size:10px;letter-spacing:.2em}.meal-sato-line p{margin:8px 0 0;font:500 26px/1.25 var(--font-display),serif}.meal-hotspots button{position:absolute;z-index:10;left:var(--meal-x);bottom:12%;width:27%;height:30%;transform:translateX(-50%);border:0;background:transparent;color:#fff}.meal-hotspots span{position:absolute;right:4px;bottom:4px;left:4px;padding:8px;background:rgba(5,28,39,.84);border:1px solid rgba(247,240,223,.55);font-weight:700}.meal-next{z-index:11}.meal-source{position:absolute;z-index:10;right:3%;bottom:1%;color:#c65e51;font-size:10px;font-weight:700}.taxi-door-gesture{position:absolute;z-index:15;inset:12% 5% 8%;overflow:hidden;border:1px solid rgba(247,240,223,.5);background:linear-gradient(90deg,rgba(5,28,39,.96) 0 calc(var(--taxi-door) * 1%),rgba(5,28,39,.45) calc(var(--taxi-door) * 1%));color:#fff}.taxi-door-gesture i{position:absolute;top:0;bottom:0;left:calc(var(--taxi-door) * 1%);width:10px;background:#bca27c;box-shadow:0 0 24px #fff}.taxi-door-gesture span{position:absolute;right:18px;bottom:18px;left:18px;font-size:16px}
@media(max-width:700px){.journey-objects button{min-height:145px;grid-template-columns:37% 1fr;padding:10px}.meal-sato-line{left:12px;bottom:16px;width:calc(100% - 24px);padding:10px 12px}.meal-sato-line p{font-size:18px}.meal-hotspots button{bottom:19%;height:29%}.meal-hotspots span{font-size:10px;padding:6px}.meal-next{right:12px;bottom:12px;left:12px;width:auto}.meal-source{right:12px;bottom:4px}.taxi-door-gesture{inset:18% 12px 10%}}
.drink-copy{position:absolute;z-index:9;top:15%;left:4%;width:min(470px,88vw);padding:16px;background:rgba(5,28,39,.84);color:#fff}.drink-copy span{color:#e8ae92;font-size:10px;letter-spacing:.18em}.drink-copy h2{margin:8px 0;font:500 36px var(--font-display),serif}.milk-bottles{position:absolute;z-index:8;right:4%;bottom:10%;width:min(720px,92vw);height:48vh;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(0,0,0,.35))}.milk-hotspots{position:absolute;z-index:10;right:4%;bottom:10%;display:grid;width:min(720px,92vw);height:42vh;grid-template-columns:repeat(3,1fr)}.milk-hotspots button{position:relative;border:0;background:transparent;color:#fff}.milk-hotspots span{position:absolute;right:4px;bottom:0;left:4px;padding:8px;background:rgba(5,28,39,.82);border:1px solid rgba(255,255,255,.5)}.milk-note{position:absolute;z-index:10;right:5%;bottom:5%;color:#fff}.drink-choices{display:none!important}
@media(max-width:700px){.drink-copy{top:14%;left:12px;width:calc(100% - 24px);padding:10px}.drink-copy h2{font-size:25px}.drink-copy p{font-size:12px}.milk-bottles{right:0;bottom:10%;width:100%;height:52vh}.milk-hotspots{right:5%;bottom:11%;width:90%;height:43vh}.milk-hotspots span{font-size:10px}.milk-note{right:12px;bottom:5%;left:12px;text-align:center}}
.machine-payment{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:12px;align-items:center}.coin-slot{display:grid;min-height:105px;place-items:center;border:2px inset #9aa6a8;background:#15252a}.coin-slot span{font-size:9px;letter-spacing:.16em}.real-coins{display:grid!important;min-height:150px!important;place-items:center}.real-coins img{width:100%;height:100px;object-fit:contain}.real-coins span{font-size:11px}.wash-action-one{position:absolute;z-index:10;right:5%;bottom:5%;display:grid;width:min(620px,88vw);place-items:center}.wash-action-one img{width:100%;max-height:48svh;object-fit:contain;filter:saturate(.85) drop-shadow(0 18px 25px #000)}.wash-action-one button{width:100%;min-height:62px;border:1px solid #f0cfac;background:rgba(6,28,39,.9);color:#fff;font-weight:800}.wash-objects{display:none!important}.d1-ride .world-image{background-size:cover;background-position:center}.d1-room .world-image,.d1-rest .world-image,.d1-night .world-image{background-position:center}.d1-bathDoor .world-image,.d1-drink .world-image,.d1-evening .world-image,.d1-yukata .world-image{background-position:center}
@media(max-width:700px){.machine-payment{grid-template-columns:1fr}.coin-slot{min-height:70px}.real-coins{min-height:125px!important}.real-coins img{height:80px}.wash-action-one{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.wash-action-one img{max-height:36svh}.d1-ride .world-image{background-position:52% center}.d1-room .world-image,.d1-rest .world-image,.d1-night .world-image{background-position:58% center}.d1-bathDoor .world-image,.d1-drink .world-image,.d1-evening .world-image,.d1-yukata .world-image{background-position:60% center}}

/* V28 — consolidation : transitions honnêtes, présence et gestes physiques */
.machine-screen .machine-payment{position:relative;display:block;min-height:250px}.machine-screen .machine-payment .drag-destination{top:8px;right:5%;width:38%;height:110px;border-radius:8px}.machine-screen .machine-payment .drag-piece{bottom:0;left:3%;width:58%}.machine-screen .machine-payment .drag-piece img{max-height:145px}
.taxi-entry{position:absolute;z-index:8;inset:0;display:grid;place-items:end center;padding-bottom:10vh;background:linear-gradient(90deg,transparent 0 45%,rgba(1,8,12,.88) 100%);animation:taxi-camera-enter 1.35s cubic-bezier(.3,.7,.25,1) both}.taxi-entry span{padding:8px 14px;border-radius:99px;background:rgba(6,28,39,.72);font-size:11px;letter-spacing:.08em}.taxi-seat{position:absolute;z-index:15;right:5%;bottom:5%;min-height:58px;padding:13px 22px;border:1px solid rgba(247,240,223,.5);border-radius:99px;background:var(--navy);color:#fff;font-weight:800}.taxi-motion{position:absolute;inset:0;overflow:hidden;pointer-events:none}.taxi-motion i{position:absolute;inset:0;display:block}.taxi-far{background:linear-gradient(90deg,transparent,rgba(93,128,135,.16),transparent);background-size:240% 100%;animation:taxi-road-far 12s linear infinite}.taxi-near{background:repeating-linear-gradient(90deg,transparent 0 24%,rgba(5,17,20,.22) 26% 27%,transparent 29% 50%);background-size:180% 100%;animation:taxi-road-near 5.5s linear infinite}.taxi-reflection{background:linear-gradient(105deg,transparent 20%,rgba(255,230,178,.12) 42%,transparent 60%);transform:translateX(-80%);animation:taxi-reflection 4.8s ease-in-out infinite}.ride-stage-1 .world-image{animation:taxi-window-travel 11s linear infinite}.ride-stage-2 .world-image{animation:taxi-brake 2s ease-out forwards}.d1-ride .brand,.d1-ride .journey-menu-trigger,.d1-ride .scene-meta{opacity:.28;transition:opacity .4s}.d1-ride .sound{opacity:.55}.d1-ride .brand:hover,.d1-ride .journey-menu-trigger:hover,.d1-ride .sound:hover{opacity:1}
.water-touch-zone{position:absolute;z-index:12;right:0;bottom:0;left:0;height:42%;border:0;background:transparent;touch-action:manipulation}.water-touch-zone span{position:absolute;left:50%;top:48%;width:18px;height:18px;border:1px solid rgba(255,255,255,.8);border-radius:50%;opacity:0}.water-touch-zone:active span{animation:ripple 1.1s ease-out}.condensation-canvas{position:fixed;z-index:16;inset:0;touch-action:none;backdrop-filter:blur(10px)}.lens-drops{position:fixed;z-index:17;inset:0;pointer-events:none}.lens-drops i{position:absolute;width:8px;height:15px;border-radius:55% 45% 60% 40%;background:linear-gradient(135deg,rgba(255,255,255,.7),rgba(185,216,211,.08));box-shadow:inset 1px 1px 2px rgba(255,255,255,.8);opacity:.48}.lens-drops i:nth-child(1){left:14%;top:18%;animation:drop-slide 9s ease-in 2s infinite}.lens-drops i:nth-child(2){left:38%;top:31%;width:5px;height:9px}.lens-drops i:nth-child(3){left:72%;top:22%;animation:drop-slide 13s ease-in 5s infinite}.lens-drops i:nth-child(4){left:88%;top:52%;width:11px;height:20px;animation:drop-slide 11s ease-in 8s infinite}.lens-drops i:nth-child(5){left:25%;top:67%;width:6px;height:10px}.lens-drops i:nth-child(6){left:60%;top:74%;animation:drop-slide 15s ease-in 3s infinite}.bath-step-5 .brand,.bath-step-5 .journey-menu-trigger,.bath-step-5 .scene-meta,.bath-step-5~.sound{opacity:.18}.bath-step-5 .soak-rule{animation:bath-copy-away 5s ease 2.5s forwards}.bath-step-5 .soak-exit{z-index:20}.bath-step-5 .bath-pov{animation:bath-descend 1.8s cubic-bezier(.2,.75,.3,1) both}.d1-garden .brand,.d1-garden .journey-menu-trigger,.d1-garden .scene-meta{opacity:.55}
@keyframes taxi-camera-enter{from{opacity:.5;transform:scale(1) translateY(0)}70%{opacity:1}to{transform:scale(1.08) translateY(5%)}}
@keyframes taxi-road-far{to{background-position:-240% 0}}
@keyframes taxi-road-near{to{background-position:-180% 0}}
@keyframes taxi-reflection{50%{transform:translateX(80%)}}
@keyframes taxi-window-travel{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.04) translateX(-3%)}}
@keyframes taxi-brake{to{transform:scale(1.035) translateX(-1%)}}
@keyframes drop-slide{0%,35%{transform:translateY(0);opacity:.15}70%{opacity:.55}100%{transform:translateY(100px);opacity:0}}
@keyframes bath-copy-away{to{opacity:0;pointer-events:none;transform:translateY(16px)}}
@media(max-width:700px){.d1-airport .world-image{background-image:url('../assets/day1/v76/airport-arrival-mobile.webp')!important}.d1-shuttle .world-image{background-image:url('../assets/day1/v77/shuttle-mobile.webp')!important}.d1-machine .world-image{background-image:url('../assets/day1/v77/ticket-machine-mobile.webp')!important}.d1-gate .world-image,.d1-train .world-image{background-image:url('../assets/day1/v77/kuko-platform-mobile.webp')!important}.taxi-seat{right:12px;bottom:max(14px,var(--safe));left:12px;width:calc(100% - 24px)}.taxi-entry{padding-bottom:16vh}.d1-ride .brand{transform:scale(.82);transform-origin:top left}.d1-ride .journey-menu-trigger{display:none}.machine-screen .machine-payment{min-height:220px}.machine-screen .machine-payment .drag-destination{width:43%;height:90px}.machine-screen .machine-payment .drag-piece{width:58%}.bath-step-5 .soak-rule{right:12px;bottom:110px;left:12px;top:auto;width:auto}.condensation-canvas{width:100vw!important;height:100svh!important}}

/* V28 presence mode: the world remains primary, controls stay recoverable. */
.presence-mode .brand,.presence-mode .journey-menu-trigger,.presence-mode .scene-meta{opacity:.18;transition:opacity .35s}.presence-mode .sound{opacity:.3;transition:opacity .35s}.presence-mode .brand:hover,.presence-mode .journey-menu-trigger:hover,.presence-mode .sound:hover,.presence-mode .brand:focus-within,.presence-mode .journey-menu-trigger:focus,.presence-mode .sound:focus{opacity:1}

/* Cache-busted validated cover; never substitute a travel-scene asset here. */
@media(max-width:700px){.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka-mobile.webp?v=28.1')!important}}

/* V28.2 — livraison de consolidation : aucun objet physique n'est simulé par une ligne UI. */
@media(min-width:701px){.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka.webp?v=29')!important}}
@media(max-width:700px){.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka-mobile.webp?v=29')!important}}

/* Taxi : deux moments réels de la même ville, contenus dans la vitre. */
.taxi-entry{padding:0;background:none;overflow:hidden;animation:none}


.d1-taxi .world-image{background-position:72% center}
.d1-ride .world-image{z-index:0;background-position:50% center;background-size:110% auto;animation:none}
.taxi-approach-world{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(2,10,13,.93),rgba(2,10,13,.72) 44%,rgba(255,213,154,.12) 72%,transparent);opacity:0;transform:scale(1.035) translateX(1.5%);transition:opacity 2.2s ease,transform 4.5s ease}
.taxi-approach-world.visible{opacity:1;transform:scale(1.035) translateX(-1%)}
.taxi-motion{z-index:3}
.taxi-motion .taxi-near{display:none}
.taxi-far{background:linear-gradient(98deg,transparent 8%,rgba(224,238,239,.12) 35%,transparent 56%);background-size:230% 100%;animation:taxi-road-far 8s linear infinite}
.taxi-reflection{opacity:.55}
.ride-stage-0 .world-image{animation:taxi-pull-away 1.8s cubic-bezier(.2,.65,.3,1) both}
.ride-stage-1 .world-image{animation:taxi-window-travel 10.5s linear both}
.ride-stage-2 .world-image{animation:taxi-brake 1.8s ease-out forwards}
.taxi-payment{z-index:12}
.taxi-exit-door{position:absolute;z-index:11;inset:-3%;background:linear-gradient(90deg,rgba(2,10,13,.93),rgba(2,10,13,.72) 44%,rgba(255,213,154,.12) 72%,transparent);clip-path:inset(0 100% 0 0);animation:taxi-door-close-physical 2.15s cubic-bezier(.7,0,.3,1) forwards;pointer-events:none}

@keyframes taxi-pull-away{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.04) translateX(-1.2%)}}
@keyframes taxi-door-close-physical{0%{clip-path:inset(0 100% 0 0);filter:brightness(1)}72%{clip-path:inset(0);filter:brightness(.78)}100%{clip-path:inset(0);filter:brightness(.28)}}

/* Bain : le bassin reste Kukuru ; c'est le corps/cadrage qui descend. */
.d1-soak .world-image{background-position:center;animation:none}
.bath-pov{position:absolute;z-index:1;inset:-5%;background-image:url('../assets/day1/bath-reference.webp');background-size:cover;background-position:center;animation:bath-body-enter 2.15s cubic-bezier(.2,.72,.25,1) both}
.bath-water-level{position:absolute;z-index:2;right:-4%;bottom:-8%;left:-4%;height:34%;background:linear-gradient(180deg,rgba(210,231,218,.08),rgba(92,151,145,.32) 26%,rgba(32,91,92,.55)),linear-gradient(95deg,transparent 0 18%,rgba(255,255,255,.12) 30%,transparent 43% 70%,rgba(255,255,255,.08) 82%,transparent);border-top:1px solid rgba(239,244,222,.52);filter:blur(.2px);transform:translateY(110%);animation:bath-water-rise 2.15s cubic-bezier(.2,.72,.25,1) .2s forwards}
.d1-soak .water-shine{z-index:3;background:linear-gradient(180deg,transparent 56%,rgba(225,241,225,.08) 67%,rgba(88,146,140,.13));opacity:.75;animation:water-breathe 5s ease-in-out infinite alternate}
.water-touch-zone span{width:24px;height:12px;border:1px solid rgba(255,255,255,.78);opacity:1;animation:ripple 1.2s ease-out both}
.bath-step-5 .bath-pov{animation:bath-body-enter 2.15s cubic-bezier(.2,.72,.25,1) both}
@keyframes bath-body-enter{0%{opacity:.6;transform:scale(1.11) translateY(-8%)}45%{opacity:1}100%{transform:scale(1.06) translateY(6%)}}
@keyframes bath-water-rise{0%{transform:translateY(110%);opacity:.15}62%{transform:translateY(-2%);opacity:1}78%{transform:translateY(2%)}100%{transform:translateY(0);opacity:1}}
@keyframes water-breathe{to{transform:translateY(-3px);opacity:.52}}

/* J0 mobile : l'action finale reste lisible et accessible sans rotation. */
@media(max-width:700px){
  .object-focus{padding-top:26px;padding-bottom:max(88px,calc(var(--safe) + 74px));scroll-padding-bottom:90px}
  .object-focus>.primary.inline{position:sticky;z-index:18;bottom:0;flex:none;min-height:64px;margin-top:8px;margin-bottom:0;background:linear-gradient(135deg,var(--terra),var(--terra2));box-shadow:0 -14px 28px rgba(4,20,28,.4)}
  .ticket-personalize label{right:6%;bottom:13%;left:6%;padding:7px 10px;background:rgba(251,246,232,.98)}
  .ticket-personalize input{min-height:42px;font-size:27px}
  .passport-name{right:4%;bottom:18%;width:44%;padding:5px 4px;background:rgba(251,246,232,.78)}
  .passport-name small{font-size:9px;font-weight:800}
  .passport-name strong{font-size:27px;line-height:1.1}
  .passport-questions{gap:10px;padding-bottom:6px}
  .passport-questions fieldset{padding:12px 8px;background:rgba(6,28,39,.9)}
  .passport-questions button{min-height:58px;color:#fff;font-weight:700}
  .paper-letter footer{position:sticky;z-index:5;bottom:0;padding:10px 0 max(4px,var(--safe))}
  .paper-letter footer button{background:var(--navy);color:#fff}
  .d1-taxi .world-image{background-position:69% center}
  
  .d1-ride .world-image{background-size:auto 100%;background-position:47% center}
  .taxi-approach-world{background-position:58% center}
  .address-slip{right:12px;bottom:96px;left:auto;width:min(290px,calc(100% - 24px));min-height:0;padding:10px 13px}
  .address-slip b{font-size:18px}
  .taxi-greeting{bottom:max(12px,var(--safe));padding:13px}
  .taxi-greeting p{margin:6px 0}
  .taxi-seat{min-height:62px;background:var(--terra)}
  .soak-rule{max-height:48svh;overflow:auto}
  .bath-step-5 .soak-rule{max-height:126px}
  .bath-enter-gesture,.soak-exit{min-height:62px;background:var(--navy);color:#fff}
  .meal-source{top:84px;right:12px;bottom:auto;padding:5px 8px;background:rgba(251,246,232,.9)}
}

/* V29 — scènes vécues : mouvement, respiration et continuité Kukuru. */
.taxi-interior-frame{position:absolute;z-index:4;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.taxi-arrival-meter{position:absolute;z-index:14;right:5%;bottom:8%;display:grid;min-width:170px;gap:3px;padding:13px 18px;border:1px solid rgba(247,240,223,.55);background:rgba(5,22,29,.82);color:#fff;backdrop-filter:blur(8px)}
.taxi-arrival-meter small{font-size:10px;letter-spacing:.1em;opacity:.78}.taxi-arrival-meter strong{font:500 32px var(--font-display),serif}
.expense-float{position:absolute;z-index:18;right:5%;bottom:8%;display:grid;padding:13px 18px;border-radius:999px;background:rgba(5,28,39,.9);color:#f0b18e;font-size:24px;font-weight:800;animation:expense-rise 2s ease both}.expense-float small{color:#fff;font-size:10px;font-weight:500}
.d1-ride .world-light{background:linear-gradient(180deg,rgba(2,18,24,.05),rgba(2,18,24,.18))}
.ride-stage-0 .world-image{animation:v29-taxi-depart 2.2s cubic-bezier(.2,.65,.28,1) both}
.ride-stage-1 .world-image{animation:v29-taxi-city 14.5s linear both}
.ride-stage-2 .world-image{animation:v29-taxi-brake 2.5s ease-out both}
.taxi-motion{animation:v29-road-rumble .62s ease-in-out infinite alternate}.taxi-motion .taxi-far{background:linear-gradient(108deg,transparent 0 38%,rgba(255,227,174,.13) 47%,transparent 58%);background-size:260% 100%;animation:v29-window-light 5.8s linear infinite}.taxi-motion .taxi-reflection{opacity:.25}
.taxi-approach-world{background-image:url('../assets/day1/taxi-window-kukuru.webp');transition:opacity 2.5s ease}.taxi-approach-world.visible{opacity:1}

.room-details{inset:0;display:block;pointer-events:none}.room-details button{position:absolute;width:auto;height:auto;min-width:78px;min-height:50px;padding:7px 10px;border-radius:12px;pointer-events:auto;background:rgba(5,28,39,.76);font-size:17px;backdrop-filter:blur(7px)}.room-details .tatami{left:23%;bottom:18%}.room-details .shoji{right:24%;top:40%}.room-details .tokonoma{left:9%;top:34%}.room-details small{display:block;margin-top:2px;font-family:var(--font-sans),sans-serif;letter-spacing:.04em}

.d1-meal .world-image{background-position:center;transition:transform 1.7s cubic-bezier(.2,.7,.25,1)}
.meal-stage-1 .world-image,.meal-stage-2 .world-image{filter:saturate(.98) brightness(.9)}
.meal-stage-1.meal-mizutaki .world-image,.meal-stage-2.meal-mizutaki .world-image{transform:scale(1.24) translate(18%,-7%)}
.meal-stage-1.meal-fish .world-image,.meal-stage-2.meal-fish .world-image{transform:scale(1.24) translate(0,-7%)}
.meal-stage-1.meal-seasonal .world-image,.meal-stage-2.meal-seasonal .world-image{transform:scale(1.24) translate(-18%,-7%)}
.meal-hotspots span{border-radius:999px;background:rgba(5,28,39,.82);backdrop-filter:blur(7px)}
.served-meal{position:absolute;z-index:12;right:4%;bottom:7%;display:grid;min-width:250px;gap:2px;padding:14px 18px;border-left:3px solid var(--terra);background:rgba(5,28,39,.86);color:#fff;animation:served-in .8s ease both}.served-meal b{font:500 28px var(--font-display),serif}.served-meal small{opacity:.8}.served-meal i{position:absolute;right:14%;bottom:100%;width:70px;height:100px;filter:blur(8px);background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);opacity:.6;animation:meal-steam 3s ease-in-out infinite alternate}

.garden-scene{position:absolute;z-index:7;inset:0;touch-action:none}.d1-garden .world-image{background-size:122% auto;transition:background-position .08s linear;animation:none}.garden-whisper{position:absolute;left:4%;bottom:5%;max-width:360px;padding:10px 14px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.72),transparent);color:#fff;text-shadow:0 2px 12px #000}.garden-whisper span{font-size:9px;letter-spacing:.16em;color:#e8ae92}.garden-whisper p{margin:6px 0;font:500 24px var(--font-display),serif}.garden-whisper small{opacity:.72}.garden-exit{position:absolute;right:4%;bottom:5%;min-height:54px;padding:12px 18px;border:1px solid rgba(247,240,223,.5);border-radius:999px;background:rgba(5,28,39,.75);color:#fff;animation:delayed-in .8s ease both}

.bath-pov{inset:0;background-image:url('../assets/day1/bath-reference.webp');background-size:cover;background-position:center;animation:v29-bath-sit 2.4s cubic-bezier(.18,.72,.25,1) both!important}.bath-step-5 .soak-rule{animation:bath-copy-away 3.8s ease 1.6s forwards}.bath-step-5 .steam{opacity:.32}.condensation-canvas{background:rgba(232,238,229,.22);backdrop-filter:blur(7px)}.lens-drops i{opacity:.34}.soak-exit{background:rgba(5,28,39,.74);backdrop-filter:blur(8px)}

.offer-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.offer-numbers div{display:grid;min-height:116px;place-content:center;padding:12px;border:1px solid rgba(6,28,39,.17);text-align:center}.offer-numbers strong{font:500 38px var(--font-display),serif;color:var(--terra)}.offer-numbers span{font-size:11px;line-height:1.25}.offer-promise{padding:13px 15px;border-left:2px solid var(--navy);background:#f6eedf;font-family:var(--font-display),serif;font-size:19px}

@keyframes v29-taxi-depart{from{background-position:39% center;filter:brightness(.85)}to{background-position:44% center;filter:brightness(1)}}
@keyframes v29-taxi-city{from{background-position:39% center}to{background-position:72% center}}
@keyframes v29-taxi-brake{from{background-position:72% center}to{background-position:75% center}}
@keyframes v29-road-rumble{from{transform:translate3d(0,-1px,0)}to{transform:translate3d(0,1px,0)}}
@keyframes v29-window-light{to{background-position:-260% 0}}
@keyframes v29-bath-sit{0%{opacity:.35;transform:scale(1.13) translateY(-10%)}55%{opacity:1}78%{transform:scale(1.055) translateY(2%)}100%{transform:scale(1.04) translateY(0)}}
@keyframes served-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes meal-steam{to{opacity:.25;transform:translateY(-18px) translateX(9px)}}
@keyframes expense-rise{0%{opacity:0;transform:translateY(18px)}20%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-14px)}}

@media(max-width:700px){
  .d1-ride .world-image{background-size:cover;background-position:center}
  .taxi-interior-frame{position:absolute;z-index:4;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
  .taxi-approach-world{z-index:2;background-size:cover;background-position:center}
  .taxi-motion{z-index:5}.taxi-arrival-meter,.expense-float{right:12px;bottom:max(18px,var(--safe))}
  .d1-ride .sound{opacity:.42}.d1-ride .brand,.d1-ride .scene-meta{opacity:.16}
  .room-details .tatami{left:14%;bottom:20%}.room-details .shoji{right:10%;top:42%}.room-details .tokonoma{left:8%;top:32%}.room-details button{min-width:70px;min-height:46px;font-size:15px}
  .d1-meal .world-image{background-size:auto 100%;background-position:center top}.meal-sato-line{top:16%;bottom:auto}.meal-hotspots button{bottom:8%;height:32%;width:30%}.meal-hotspots span{right:1px;bottom:8px;left:1px;font-size:10px}.meal-source{top:auto;right:12px;bottom:3px}.served-meal{right:12px;bottom:max(18px,var(--safe));left:12px;min-width:0}.meal-stage-1.meal-mizutaki .world-image,.meal-stage-2.meal-mizutaki .world-image{transform:scale(1.34) translate(20%,-9%)}.meal-stage-1.meal-fish .world-image,.meal-stage-2.meal-fish .world-image{transform:scale(1.34) translate(0,-9%)}.meal-stage-1.meal-seasonal .world-image,.meal-stage-2.meal-seasonal .world-image{transform:scale(1.34) translate(-20%,-9%)}
  .d1-garden .world-image{background-size:auto 105%;background-position:50% center}.garden-whisper{right:12px;bottom:80px;left:12px;max-width:none}.garden-whisper p{font-size:20px}.garden-exit{right:12px;bottom:max(12px,var(--safe));left:12px;width:calc(100% - 24px)}
  .bath-pov{background-size:cover;background-position:center!important}.bath-step-5 .soak-rule{right:12px;bottom:98px;left:12px;max-height:105px}.condensation-canvas{background:rgba(232,238,229,.18);backdrop-filter:blur(6px)}
  .offer-numbers{grid-template-columns:1fr 1fr}.offer-numbers div:last-child{grid-column:1/-1;min-height:90px}.offer-numbers div{min-height:100px}.offer-numbers strong{font-size:34px}.offer-promise{font-size:17px}
}

@media(prefers-reduced-motion:reduce){.ride-stage-0 .world-image,.ride-stage-1 .world-image,.ride-stage-2 .world-image,.taxi-motion,.served-meal,.bath-pov{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* V30 — CONTINUITÉ PHYSIQUE / CAMÉRA / APPRENTISSAGE PAR LE LIEU
   Règle : un plan appartient au même espace que le précédent et le suivant.
   Les textes deviennent des murmures; les objets du décor portent l'interaction. */

/* Taxi : un seul POV de fenêtre pendant tout le trajet, puis le même cadre à l'arrivée. */
.d1-ride .world-image{background-size:cover!important;background-position:center!important;animation:v30-taxi-window-drift 14.5s ease-in-out both!important;transform:scale(1.035)}
.d1-ride .world-light{background:linear-gradient(180deg,rgba(2,18,24,.03),rgba(2,18,24,.15))}
.taxi-approach-world{z-index:2;background-image:url('../assets/day1/taxi-window-kukuru.webp')!important;background-size:cover!important;background-position:center!important;transform:scale(1.035)!important;transition:opacity 2.5s ease!important}
.taxi-approach-world.visible{opacity:1;transform:scale(1.04)!important}
.taxi-interior-frame{display:none!important}
.ride-stage-1 .taxi-motion{opacity:.42}.ride-stage-2 .taxi-motion{opacity:.18}
@keyframes v30-taxi-window-drift{0%{transform:scale(1.04) translate3d(0,0,0)}42%{transform:scale(1.045) translate3d(-.35%,.12%,0)}75%{transform:scale(1.04) translate3d(.2%,-.08%,0)}100%{transform:scale(1.04) translate3d(0,0,0)}}

/* Chambre : pas d'affiche pédagogique au-dessus du décor. Le regard se déplace vers les objets. */
.d1-room .world-image{transition:transform .75s cubic-bezier(.2,.7,.25,1),filter .55s ease;background-position:center!important}
.d1-room.room-detail-tatami .world-image{transform:scale(1.16) translate3d(4%,-5%,0)}
.d1-room.room-detail-shoji .world-image{transform:scale(1.16) translate3d(-5%,1%,0)}
.d1-room.room-detail-tokonoma .world-image{transform:scale(1.16) translate3d(6%,1%,0)}
.room-whisper{position:absolute;z-index:8;top:22%;left:4.5%;width:min(330px,72vw);padding:10px 13px;border-left:2px solid rgba(232,174,146,.85);background:linear-gradient(90deg,rgba(4,24,33,.7),rgba(4,24,33,.08));color:#fff;text-shadow:0 2px 16px #000;animation:v30-room-whisper 7s ease forwards}
.room-whisper span{font-size:8px;font-weight:800;letter-spacing:.2em;color:#efb596}.room-whisper p{margin:5px 0 2px;font:500 20px/1.15 var(--font-display),serif}.room-whisper small{font-size:10px;opacity:.7}
@keyframes v30-room-whisper{0%,62%{opacity:1}100%{opacity:.28}}
.room-details{position:absolute!important;inset:0!important;display:block!important;pointer-events:none}
.room-details .room-hotspot{position:absolute!important;display:grid!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;place-items:center!important;padding:0!important;border:1px solid rgba(247,240,223,.7)!important;border-radius:50%!important;background:rgba(5,28,39,.18)!important;color:#fff!important;box-shadow:0 0 0 7px rgba(247,240,223,.05),0 0 26px rgba(241,207,172,.28)!important;backdrop-filter:none!important;pointer-events:auto;transition:transform .2s ease,background .2s ease,opacity .2s ease}
.room-details .room-hotspot:hover,.room-details .room-hotspot:focus-visible{transform:scale(1.12);background:rgba(169,87,72,.62)!important}.room-details .room-hotspot i{width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}.room-details .room-hotspot span{position:absolute;right:-2px;bottom:-3px;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:var(--terra);font-size:9px}.room-details .room-hotspot.seen{opacity:.62}
.room-details .tatami{left:26%!important;bottom:23%!important}.room-details .shoji{right:24%!important;top:43%!important}.room-details .tokonoma{left:12%!important;top:38%!important}
.detail-slip.v30-detail{right:4%;bottom:5%;width:min(380px,90vw);padding:15px 42px 15px 16px;border:1px solid rgba(247,240,223,.3);border-left:2px solid var(--terra);background:rgba(5,28,39,.86);color:#fff;backdrop-filter:blur(9px);box-shadow:0 18px 50px rgba(0,0,0,.34)}
.detail-slip.v30-detail .repere-label{display:block;color:#efb596;font:600 18px var(--font-display),serif;letter-spacing:.02em}.detail-slip.v30-detail p{margin:7px 0 0;font-size:13px;line-height:1.45}.detail-slip.v30-detail>button{color:#fff}
.room-knock{position:absolute;z-index:12;right:4%;bottom:5%;display:flex;min-height:58px;align-items:center;gap:12px;padding:10px 17px;border:1px solid rgba(247,240,223,.48);border-radius:999px;background:rgba(5,28,39,.76);color:#fff;backdrop-filter:blur(8px);animation:delayed-in .7s ease both}.room-knock i{font-family:var(--font-display),serif;color:#efb596}.room-knock span{font-size:12px}

/* Dîner : même master visuel, caméra qui descend réellement vers la table. */
.d1-meal .world-image{background-size:cover!important;background-position:center!important;transition:opacity .65s ease,transform 1.15s cubic-bezier(.2,.7,.25,1),filter .55s ease!important;animation:none!important}
.d1-meal.meal-stage-0 .world-image{transform:scale(1.035)!important}.d1-meal.meal-stage-1 .world-image{transform:scale(1.045)!important}.d1-meal.meal-stage-2 .world-image,.d1-meal.meal-stage-3 .world-image,.d1-meal.meal-stage-4 .world-image{filter:saturate(.98) brightness(.88)!important;transform:scale(1.055)!important}
.meal-sato-line.v30-meal-intro{top:auto;right:auto;bottom:6%;left:4%;width:min(410px,88vw);padding:13px 15px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.82),rgba(5,28,39,.18));backdrop-filter:blur(5px)}
.meal-sato-line.v30-meal-intro p{font-size:22px}.meal-sato-line.v30-meal-intro button{margin-top:10px;padding:8px 12px;border:1px solid rgba(247,240,223,.42);border-radius:999px;background:rgba(5,28,39,.56);color:#fff;font-size:11px}
.meal-choice-whisper{position:absolute;z-index:12;left:4%;bottom:6%;padding:8px 12px;border-left:2px solid var(--terra);background:rgba(5,28,39,.55);color:#fff;backdrop-filter:blur(5px)}.meal-choice-whisper span{font-size:8px;letter-spacing:.18em;color:#efb596}.meal-choice-whisper p{margin:4px 0;font:500 17px var(--font-display),serif}
.v30-meal-hotspots button{bottom:6%!important;height:48%!important;width:31%!important}.v30-meal-hotspots button i{position:absolute;left:50%;bottom:28%;width:34px;height:34px;border:1px solid rgba(247,240,223,.78);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 0 7px rgba(247,240,223,.05),0 0 25px rgba(255,226,180,.25)}.v30-meal-hotspots span{right:12%!important;bottom:4px!important;left:12%!important;padding:6px 8px!important;border:0!important;border-radius:999px!important;background:rgba(5,28,39,.66)!important;font-size:10px!important;font-weight:650!important;backdrop-filter:blur(7px)}
.meal-itadakimasu{position:absolute;z-index:14;right:4%;bottom:6%;display:grid;min-width:220px;padding:12px 16px;border:1px solid rgba(247,240,223,.44);border-radius:999px;background:rgba(5,28,39,.74);color:#fff;text-align:left;backdrop-filter:blur(8px)}.meal-itadakimasu b{font:500 24px var(--font-display),serif}.meal-itadakimasu small{font-size:9px;opacity:.72}
.meal-presence{position:absolute;z-index:10;inset:0;pointer-events:none}.meal-presence i{position:absolute;bottom:19%;width:42px;height:90px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);filter:blur(10px);opacity:.35;animation:meal-steam 3.4s ease-in-out infinite alternate}.meal-presence i:nth-child(1){left:18%}.meal-presence i:nth-child(2){left:49%;animation-delay:.6s}.meal-presence i:nth-child(3){left:79%;animation-delay:1.2s}.meal-stage-3 .brand,.meal-stage-3 .journey-menu-trigger,.meal-stage-3 .scene-meta{opacity:.25;transition:opacity .8s ease}
.meal-garden-door{position:absolute;z-index:14;right:4%;top:25%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:0;background:rgba(5,28,39,.38);color:#fff;backdrop-filter:blur(4px);animation:delayed-in .8s ease both}.meal-garden-door i{width:12px;height:12px;border-radius:50%;background:#f2d0a4;box-shadow:0 0 20px #f2d0a4}.meal-garden-door span{font:500 16px var(--font-display),serif}

/* Jardin : desktop et mobile sont deux cadrages du même master Kukuru. */
.d1-garden .world-image{background-size:122% auto!important;animation:none!important;transition:background-position .08s linear!important}.garden-whisper{max-width:290px;padding:8px 12px;background:linear-gradient(90deg,rgba(5,28,39,.58),transparent)}.garden-whisper p{font-size:20px}.garden-whisper small{font-size:9px}.garden-exit{background:rgba(5,28,39,.55);backdrop-filter:blur(6px)}

/* Bain : la douche et le bassin sont désormais le même lieu, même bois, même lumière. */
.d1-wash .world-image,.d1-soak .world-image{background-image:url('../assets/day1/bath-reference.webp')!important;background-position:center!important;background-size:cover!important;transition:transform .9s cubic-bezier(.2,.7,.25,1),filter .5s ease}
.d1-wash.wash-progress-1 .world-image,.d1-wash.wash-progress-2 .world-image,.d1-wash.wash-progress-3 .world-image,.d1-wash.wash-progress-4 .world-image,.d1-wash.wash-progress-5 .world-image{transform:scale(1.11) translate3d(-4%,-2%,0);filter:brightness(.85)}
.wash-whisper{position:absolute;z-index:12;left:4%;bottom:6%;width:min(320px,80vw);padding:10px 13px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.76),rgba(5,28,39,.08));color:#fff;text-shadow:0 2px 14px #000}.wash-whisper span{font-size:8px;letter-spacing:.2em;color:#efb596}.wash-whisper p{margin:4px 0;font:500 24px var(--font-display),serif}.wash-whisper small{display:block;margin-top:5px;font-size:11px;line-height:1.35;color:#f7d9bf}
.wash-observe{position:absolute;z-index:10;border:0;background:transparent}.wash-observe.basin{left:13%;top:45%;width:50%;height:38%}.wash-observe.station{right:15%;bottom:9%;width:19%;height:25%}.wash-observe.station i{position:absolute;right:25%;bottom:28%;width:36px;height:36px;border:1px solid rgba(247,240,223,.8);border-radius:50%;box-shadow:0 0 0 8px rgba(247,240,223,.05),0 0 25px rgba(255,225,178,.35);animation:station-pulse 2.2s ease-in-out infinite}@keyframes station-pulse{50%{transform:scale(1.13);opacity:.72}}
.wash-tools-layer{position:absolute;z-index:14;right:4%;bottom:3%;width:min(650px,58vw);height:min(520px,66vh);pointer-events:none}.wash-tools-layer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 24px 32px rgba(0,0,0,.5));opacity:.98}.wash-tool-hit{position:absolute;pointer-events:auto;border:0;background:transparent;color:#fff}.wash-tool-hit i{position:absolute;inset:0;border:1px solid rgba(247,240,223,.62);border-radius:50%;box-shadow:0 0 0 8px rgba(247,240,223,.04)}.wash-tool-hit span{position:absolute;left:50%;bottom:-29px;white-space:nowrap;padding:5px 9px;border-radius:999px;background:rgba(5,28,39,.75);font-size:10px;transform:translateX(-50%);backdrop-filter:blur(6px)}.wash-tool-hit.stool{left:36%;top:34%;width:30%;height:32%}.wash-tool-hit.shower{left:3%;top:5%;width:24%;height:35%}.wash-tool-hit.soap{right:4%;bottom:7%;width:27%;height:30%}.wash-tool-hit.rinse{animation:station-pulse 1.7s ease-in-out infinite}.wash-water-stream{position:absolute;left:14%;top:23%;width:5px;height:52%;background:linear-gradient(180deg,rgba(224,247,248,.7),rgba(224,247,248,.05));filter:blur(1px);transform:rotate(9deg);transform-origin:top;opacity:.7;animation:water-stream .9s ease-in-out infinite alternate}@keyframes water-stream{to{opacity:.35;transform:rotate(11deg) scaleY(.96)}}
.wash-complete{position:absolute;z-index:16;left:4%;bottom:5%;display:grid;max-width:390px;gap:4px;padding:12px 16px;border:1px solid rgba(247,240,223,.44);border-radius:22px;background:rgba(5,28,39,.78);color:#fff;text-align:left;backdrop-filter:blur(8px)}.wash-complete b{font:500 18px var(--font-display),serif}.wash-complete span{font-size:11px;color:#efb596}

/* Petite serviette : on la déplace dans le décor, on ne répond plus à un quiz. */
.bath-minicue{position:absolute;z-index:15;left:4%;bottom:6%;max-width:330px;padding:9px 12px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.72),rgba(5,28,39,.06));color:#fff;text-shadow:0 2px 14px #000}.bath-minicue span{font-size:8px;letter-spacing:.18em;color:#efb596}.bath-minicue p{margin:4px 0;font:500 20px var(--font-display),serif}.bath-towel-gesture{position:absolute;z-index:14;inset:0;pointer-events:none}.towel-safe-zone{position:absolute;left:27%;bottom:17%;width:34%;height:15%;border:1px dashed rgba(247,240,223,.32);border-radius:30px;box-shadow:0 0 24px rgba(255,224,179,.12)}.towel-water-zone{position:absolute;left:19%;top:46%;width:48%;height:33%}.towel-piece{position:absolute;right:8%;bottom:9%;display:grid;pointer-events:auto;place-items:center;min-width:112px;padding:5px 9px;border:0;background:transparent;color:#fff;touch-action:none}.towel-piece i{display:block;width:96px;height:34px;border-radius:5px;background:linear-gradient(135deg,#f3ead8,#d7c8ad);box-shadow:0 9px 20px rgba(0,0,0,.35);transform:rotate(-4deg)}.towel-piece span{margin-top:5px;padding:3px 7px;border-radius:999px;background:rgba(5,28,39,.56);font-size:9px}.v30-enter{right:4%;bottom:5%;width:auto;min-width:220px;border-radius:999px;background:rgba(5,28,39,.72);backdrop-filter:blur(7px)}
.bath-pov{inset:0!important;background-image:url('../assets/day1/bath-reference.webp')!important;background-size:cover!important;background-position:center!important;animation:v30-bath-sit 2.3s cubic-bezier(.18,.72,.25,1) both!important}.bath-presence-copy{position:fixed;z-index:19;left:4%;bottom:6%;display:grid;padding:8px 12px;border-left:2px solid rgba(232,174,146,.7);background:linear-gradient(90deg,rgba(5,28,39,.48),transparent);color:#fff;text-shadow:0 2px 14px #000;pointer-events:none;animation:bath-copy-away 5s ease 3s forwards}.bath-presence-copy span{font:500 20px var(--font-display),serif}.bath-presence-copy small{font-size:9px;opacity:.72}
@keyframes v30-bath-sit{0%{opacity:.5;transform:scale(1.12) translateY(-7%)}62%{opacity:1}100%{transform:scale(1.055) translateY(3%)}}

@media(max-width:700px){
  .d1-ride .world-image{background-size:cover!important;background-position:center!important}.taxi-approach-world{background-size:cover!important;background-position:center!important}
  .room-whisper{top:18%;left:14px;width:min(250px,68vw);padding:8px 10px}.room-whisper p{font-size:17px}.room-details .room-hotspot{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important}.room-details .tatami{left:18%!important;bottom:23%!important}.room-details .shoji{right:12%!important;top:43%!important}.room-details .tokonoma{left:8%!important;top:34%!important}.detail-slip.v30-detail{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.room-knock{right:12px;bottom:max(12px,var(--safe));left:12px;justify-content:center}
  .d1-meal .world-image{background-image:url('../assets/day1/v76/sato-dinner-mobile.webp')!important;background-size:cover!important}.d1-meal.meal-stage-0 .world-image{background-position:center 28%!important;transform:scale(1.02)!important}.d1-meal.meal-stage-1 .world-image,.d1-meal.meal-stage-2 .world-image,.d1-meal.meal-stage-3 .world-image,.d1-meal.meal-stage-4 .world-image{background-position:center 75%!important;transform:scale(1.04)!important}.meal-sato-line.v30-meal-intro{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.meal-sato-line.v30-meal-intro p{font-size:18px}.meal-choice-whisper{left:12px;bottom:74px}.v30-meal-hotspots button{bottom:6%!important;height:40%!important}.v30-meal-hotspots span{right:2px!important;left:2px!important;font-size:9px!important}.meal-itadakimasu{right:12px;bottom:max(16px,var(--safe));left:12px;min-width:0}.meal-garden-door{top:22%;right:12px}.meal-garden-door span{font-size:14px}
  .d1-garden .world-image{background-image:url('../assets/day1/kukuru-courtyard-mobile-v30.webp')!important;background-size:118% auto!important}.garden-whisper{right:12px;bottom:82px;left:12px;max-width:none}.garden-whisper p{font-size:18px}
  .d1-wash .world-image,.d1-soak .world-image,.bath-pov{background-image:url('../assets/day1/bath-continuity-mobile-v30.webp')!important;background-size:cover!important;background-position:center!important}.d1-wash.wash-progress-1 .world-image,.d1-wash.wash-progress-2 .world-image,.d1-wash.wash-progress-3 .world-image,.d1-wash.wash-progress-4 .world-image,.d1-wash.wash-progress-5 .world-image{transform:scale(1.08) translate3d(-2%,-1%,0)}.wash-whisper{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.wash-observe.basin{left:0;top:52%;width:62%;height:38%}.wash-observe.station{right:3%;bottom:7%;width:42%;height:31%}.wash-tools-layer{right:2%;bottom:9%;width:96vw;height:56vh}.wash-tool-hit span{font-size:9px}.wash-complete{right:12px;bottom:max(14px,var(--safe));left:12px;max-width:none}
  .bath-minicue{right:12px;bottom:92px;left:12px;max-width:none}.towel-safe-zone{left:8%;bottom:14%;width:55%;height:14%}.towel-water-zone{left:0;top:48%;width:70%;height:35%}.towel-piece{right:8px;bottom:max(12px,var(--safe));min-width:98px}.towel-piece i{width:82px;height:30px}.v30-enter{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.bath-presence-copy{right:12px;bottom:98px;left:12px}.soak-exit{z-index:22!important}
}

@media(prefers-reduced-motion:reduce){.d1-ride .world-image,.room-whisper,.wash-observe.station i,.wash-tool-hit.rinse,.wash-water-stream,.bath-pov{animation-duration:.01ms!important;animation-iteration-count:1!important}}

#boot-error{display:none;position:fixed;inset:0;z-index:99999;background:#061820;color:#fff;padding:32px;font:16px/1.5 system-ui,sans-serif;align-items:center;justify-content:center;text-align:center}


/* V31 — TAXI : une seule caméra / un seul habitacle / aucune rue d'une autre DA. */
.d1-ride .world-image{
  background-image:url('../assets/day1/v76/taxi-door-pov.webp')!important;
  background-size:cover!important;
  background-position:center!important;
  transform:scale(1.025)!important;
  animation:v31-cab-ride 7.4s ease-in-out infinite alternate!important;
  filter:saturate(.92) brightness(.88)!important;
}
.d1-ride .world-light{
  background:radial-gradient(ellipse at 49% 23%,rgba(255,208,137,.12),transparent 24%),linear-gradient(180deg,rgba(2,13,18,.02),rgba(2,13,18,.2) 78%)!important;
}
.taxi-approach-world{display:none!important}
.taxi-motion{z-index:5!important;clip-path:polygon(15% 0,85% 0,76% 60%,24% 60%);opacity:.46;mix-blend-mode:screen;filter:blur(.35px)}
.taxi-motion .taxi-far{display:block!important;background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,219,164,.13) 10% 11%,transparent 12% 23%,rgba(157,208,217,.09) 24% 25%,transparent 26% 38%)!important;background-size:220% 100%!important;animation:v31-city-pass 4.8s linear infinite!important}
.taxi-motion .taxi-near{display:block!important;background:repeating-linear-gradient(90deg,transparent 0 18%,rgba(8,16,18,.32) 19% 21%,transparent 22% 43%)!important;background-size:180% 100%!important;animation:v31-post-pass 2.7s linear infinite!important;opacity:.35}
.taxi-motion .taxi-reflection{display:block!important;background:linear-gradient(103deg,transparent 16%,rgba(255,237,202,.18) 35%,transparent 49%)!important;animation:v31-reflection 5.2s ease-in-out infinite!important;opacity:.42!important}
.taxi-glass{opacity:.22!important;animation:v31-glass 5.8s linear infinite!important;mix-blend-mode:screen}
.ride-stage-0 .taxi-motion{opacity:.18}.ride-stage-1 .taxi-motion{opacity:.5}.ride-stage-2 .taxi-motion{opacity:.12;transition:opacity 1.4s ease}.ride-stage-3 .taxi-motion{opacity:0;transition:opacity .8s ease}
.ride-stage-2 .world-image{animation:v31-cab-brake 2.2s cubic-bezier(.2,.7,.2,1) forwards!important}
.taxi-exit-door{background:linear-gradient(90deg,rgba(2,10,13,.93),rgba(2,10,13,.72) 44%,rgba(255,213,154,.12) 72%,transparent)!important;clip-path:inset(0 100% 0 0);animation:taxi-door-close-physical 2.15s cubic-bezier(.7,0,.3,1) forwards!important}
.d1-ride .brand,.d1-ride .journey-menu-trigger,.d1-ride .scene-meta{opacity:.12!important}.d1-ride .sound{opacity:.28!important}
.taxi-greeting{right:4%!important;bottom:4%!important;width:min(440px,88vw)!important;padding:12px 14px!important;border-left:2px solid rgba(232,174,146,.72);background:linear-gradient(90deg,rgba(5,28,39,.8),rgba(5,28,39,.38))!important;backdrop-filter:blur(6px)}
.taxi-greeting span{font-size:8px!important}.taxi-greeting h2{margin:4px 0!important;font-size:30px!important}.taxi-greeting p{margin:3px 0 7px!important;font-size:11px;opacity:.78}.taxi-greeting button{min-height:42px!important;padding:8px 11px!important;border-radius:999px!important;font-size:11px}
.address-slip{left:auto!important;right:4%!important;bottom:4%!important;width:min(270px,74vw)!important;min-height:0!important;padding:10px 12px!important;box-shadow:0 14px 34px rgba(0,0,0,.34)}.address-slip b{font-size:17px!important}.address-slip span{font-size:11px}
@keyframes v31-cab-ride{0%{transform:scale(1.025) translate3d(0,0,0)}45%{transform:scale(1.032) translate3d(-.18%,.16%,0)}100%{transform:scale(1.028) translate3d(.16%,-.12%,0)}}
@keyframes v31-cab-brake{0%{transform:scale(1.03) translateY(0)}55%{transform:scale(1.035) translateY(.8%)}100%{transform:scale(1.025) translateY(0)}}
@keyframes v31-city-pass{to{background-position:220% 0}}
@keyframes v31-post-pass{to{background-position:180% 0}}
@keyframes v31-reflection{0%,100%{transform:translateX(-70%)}50%{transform:translateX(72%)}}
@keyframes v31-glass{to{transform:translateX(52%)}}

/* V31 — petite serviette d'onsen : textile fin, pas un rectangle UI. */
.towel-safe-zone{border:0!important;box-shadow:none!important;background:transparent!important}
.towel-piece{min-width:126px!important;padding:8px!important;filter:drop-shadow(0 12px 14px rgba(0,0,0,.35))}
.towel-piece i{position:relative;display:block!important;width:112px!important;height:43px!important;overflow:visible;border-radius:3px 7px 6px 3px!important;background:
  linear-gradient(90deg,transparent 0 8%,rgba(92,133,151,.62) 8.5% 11%,transparent 11.5% 89%,rgba(92,133,151,.54) 89.5% 92%,transparent 92.5%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.20) 0 1px,rgba(204,194,176,.11) 1px 2px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,rgba(181,170,151,.08) 1px 3px),
  linear-gradient(135deg,#f4efe5,#ddd4c4 72%,#cfc4b1)!important;
  border:1px solid rgba(222,214,199,.8)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -5px 9px rgba(130,114,91,.12),0 7px 13px rgba(0,0,0,.28)!important;
  transform:rotate(-8deg) skewX(-3deg)!important;
}
.towel-piece i:before{content:"";position:absolute;left:8px;right:8px;bottom:5px;height:1px;border-top:1px dashed rgba(114,102,86,.26);box-shadow:0 -27px 0 rgba(114,102,86,.12)}
.towel-piece i:after{content:"";position:absolute;right:-4px;top:5px;width:20px;height:32px;border-radius:0 9px 8px 0;background:linear-gradient(90deg,rgba(205,196,181,.22),rgba(247,242,233,.92));border-right:1px solid rgba(188,177,160,.6);box-shadow:3px 3px 7px rgba(0,0,0,.13);transform:rotate(4deg)}
.towel-piece span{margin-top:8px!important;padding:3px 8px!important;background:rgba(5,28,39,.42)!important;font-size:8px!important;opacity:.78}

@media(max-width:700px){
  .d1-ride .world-image{background-position:64% center!important;transform:scale(1.04)!important}
  .taxi-motion{clip-path:polygon(6% 0,94% 0,88% 53%,10% 53%)}
  .taxi-greeting{right:12px!important;bottom:max(12px,var(--safe))!important;left:12px!important;width:auto!important;padding:10px 12px!important}.taxi-greeting h2{font-size:25px!important}.taxi-greeting div{gap:6px!important}.taxi-greeting button{font-size:10px!important}
  .address-slip{right:12px!important;bottom:max(14px,var(--safe))!important;width:min(260px,calc(100% - 24px))!important}
  .towel-piece{right:4px!important;min-width:112px!important}.towel-piece i{width:96px!important;height:38px!important}.towel-piece i:after{height:27px!important}
}


/* V33 — DÉBUTANT GUIDÉ / CONTINUITÉ / DESKTOP SANS DRAG OBLIGATOIRE */
.drag-destination{pointer-events:auto!important}.drag-scene.is-selected .drag-destination{border-color:rgba(247,240,223,.86)!important;box-shadow:0 0 0 6px rgba(247,240,223,.07),0 0 28px rgba(239,181,150,.26)!important;animation:v33-target-pulse 1.35s ease-in-out infinite}.drag-help{position:absolute;z-index:3;left:50%;bottom:1.5%;transform:translateX(-50%);padding:5px 10px;border-radius:99px;background:rgba(5,28,39,.62);color:#fff;font-size:9px;letter-spacing:.04em;white-space:nowrap;pointer-events:none}.drag-piece.is-selected{outline:2px solid rgba(239,181,150,.9);outline-offset:5px}
@keyframes v33-target-pulse{50%{filter:brightness(1.2)}}

/* Taxi V33: une vraie séquence vidéo depuis le même siège arrière. */
.d1-ride .world-image{opacity:0!important}.taxi-route-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.94) brightness(.91);transform:scale(1.01)}.taxi-route-track{position:absolute;z-index:12;left:4%;bottom:5%;display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:99px;background:rgba(5,28,39,.48);color:#fff;backdrop-filter:blur(6px);font-size:9px;letter-spacing:.06em;pointer-events:none}.taxi-route-track i{width:28px;height:1px;background:rgba(255,255,255,.45)}.taxi-route-track b{font-weight:600;color:#efb596}.d1-ride .taxi-motion{mix-blend-mode:screen;opacity:.38!important}.d1-ride .taxi-motion .taxi-near{opacity:.22!important}.d1-ride .world-grain{opacity:.08}

/* Chambre V33: le tokonoma n'est plus un faux point. On tourne réellement le regard vers l'alcôve. */
.room-details .tokonoma{display:none!important}.room-look-right{position:absolute!important;z-index:12;right:2.5%!important;top:44%!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:8px 10px!important;border:0!important;border-radius:999px!important;background:rgba(5,28,39,.58)!important;color:#fff!important;font-size:10px!important;box-shadow:none!important;pointer-events:auto!important;backdrop-filter:blur(6px);animation:v33-edge-cue 1.8s ease-in-out infinite}.d1-room.room-detail-tokonoma .world-image{background-position:100% center!important;transform:scale(1.09)!important}.d1-room.room-detail-tokonoma .detail-slip{max-width:390px}.tokonoma-marker{position:absolute;z-index:11;right:8.5%;top:36%;width:34px;height:34px;border:1px solid rgba(247,240,223,.82);border-radius:50%;box-shadow:0 0 0 7px rgba(247,240,223,.05),0 0 25px rgba(241,207,172,.32);pointer-events:none}.tokonoma-marker:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff;box-shadow:0 0 9px #fff}@keyframes v33-edge-cue{50%{transform:translateX(4px)}}

/* Repas V33: on mange, on apprend les baguettes et on explore le plat choisi. */
.meal-learning{position:absolute;z-index:18;right:4%;bottom:5%;width:min(460px,92vw);padding:14px 15px;border-left:2px solid var(--terra);background:rgba(5,28,39,.86);color:#fff;backdrop-filter:blur(9px);box-shadow:0 18px 46px rgba(0,0,0,.3)}.meal-learning h3{margin:3px 0 8px;font:500 28px var(--font-display),serif}.meal-learning p{margin:5px 0;font-size:12px;line-height:1.45}.meal-learning small{font-size:9px;opacity:.7}.pronounce-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pronounce-row button,.meal-learning .continue-meal{min-height:40px;padding:8px 11px;border:1px solid rgba(247,240,223,.42);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:10px}.pronounce-row button.active{background:var(--terra)}.kana-beat{display:flex;gap:5px;margin:8px 0 2px;font:500 19px var(--font-display),serif}.kana-beat i{font-style:normal;opacity:.58}.pronunciation-listening .kana-beat i{animation:v33-kana 1.8s ease-in-out infinite}.pronunciation-listening .kana-beat i:nth-child(2){animation-delay:.18s}.pronunciation-listening .kana-beat i:nth-child(3){animation-delay:.36s}.pronunciation-listening .kana-beat i:nth-child(4){animation-delay:.54s}.pronunciation-listening .kana-beat i:nth-child(5){animation-delay:.72s}.pronunciation-listening .kana-beat i:nth-child(6){animation-delay:.9s}@keyframes v33-kana{0%,70%,100%{opacity:.45;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.recording-dot{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#ff9b88;box-shadow:0 0 0 4px rgba(255,155,136,.15);animation:v33-rec 1s ease infinite}@keyframes v33-rec{50%{opacity:.4}}.pronounce-playback{width:100%;height:34px;margin-top:8px}.native-audio-note{margin-top:8px!important;padding-top:7px;border-top:1px solid rgba(255,255,255,.12);font-size:9px!important;opacity:.72}
.chopstick-lesson{position:absolute;z-index:18;right:4%;bottom:5%;width:min(470px,92vw);padding:14px 15px;background:rgba(5,28,39,.88);color:#fff;backdrop-filter:blur(9px);border-left:2px solid var(--terra)}.chopstick-lesson h3{margin:2px 0 5px;font:500 26px var(--font-display),serif}.chopstick-lesson p{margin:4px 0;font-size:12px;line-height:1.4}.chopsticks-demo{position:relative;height:118px;margin:8px 0 4px;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01))}.chopsticks-demo i{position:absolute;left:18%;top:48%;width:66%;height:8px;border-radius:8px;background:linear-gradient(90deg,#cf9a58,#8c5f31);transform-origin:18% 50%;box-shadow:0 3px 6px rgba(0,0,0,.25)}.chopsticks-demo .stick-bottom{transform:rotate(5deg)}.chopsticks-demo .stick-top{transform:translateY(-22px) rotate(-4deg);transition:transform .28s ease}.chopsticks-demo.pick .stick-top{transform:translateY(-9px) rotate(2deg)}.chopstick-bite{position:absolute;right:16%;top:43%;width:24px;height:20px;border:0;border-radius:50%;background:#d7a86a;box-shadow:0 0 0 7px rgba(255,255,255,.05)}.chop-counter{font-size:9px;color:#efb596}.meal-dish-explore{position:absolute;z-index:17;inset:0}.dish-tip{position:absolute;z-index:18;right:4%;bottom:5%;width:min(420px,90vw);padding:13px 15px;background:rgba(5,28,39,.88);color:#fff;border-left:2px solid var(--terra);backdrop-filter:blur(9px)}.dish-tip h3{margin:2px 0 5px;font:500 25px var(--font-display),serif}.dish-tip p{margin:4px 0;font-size:12px;line-height:1.45}.dish-tip button{position:absolute;right:8px;top:6px;border:0;background:none;color:#fff}.dish-hotspot{position:absolute;width:38px;height:38px;border:1px solid rgba(247,240,223,.82);border-radius:50%;background:rgba(5,28,39,.18);box-shadow:0 0 0 7px rgba(247,240,223,.05),0 0 25px rgba(255,226,180,.3)}.dish-hotspot:after{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.dish-hotspot.seen{opacity:.28;transform:scale(.88)}.dish-hotspot.seen:after{background:#efb596}.dish-hotspot.one{left:18%;bottom:27%}.dish-hotspot.two{left:49%;bottom:31%}.dish-hotspot.three{right:16%;bottom:25%}.meal-finish{position:absolute;z-index:20;right:4%;top:24%;padding:10px 13px;border:1px solid rgba(247,240,223,.42);border-radius:999px;background:rgba(5,28,39,.62);color:#fff;backdrop-filter:blur(6px)}.culture-details{margin-top:8px}.culture-details summary{cursor:pointer;color:#efb596;font-size:9px;letter-spacing:.08em}.culture-details a{display:block;margin-top:6px;color:#f3d0b7;font-size:9px;text-decoration:none}

/* Jardin V33: regard 2D + profondeur + points à découvrir. */
.d1-garden .world-image{background-size:150% auto!important;transition:background-position .16s ease-out,transform .18s ease-out!important;transform:scale(1.04)!important}.garden-scene{cursor:grab}.garden-scene:active{cursor:grabbing}.garden-depth{position:absolute;z-index:5;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),transparent 0 24%,rgba(1,12,17,.18) 70%),linear-gradient(0deg,rgba(2,14,19,.14),transparent 42%)}.garden-lookpoint{position:absolute;z-index:10;width:32px;height:32px;border:1px solid rgba(247,240,223,.75);border-radius:50%;background:rgba(5,28,39,.16);box-shadow:0 0 0 7px rgba(247,240,223,.04),0 0 22px rgba(255,225,177,.22)}.garden-lookpoint:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#fff}.garden-lookpoint.lantern{left:24%;top:53%}.garden-lookpoint.stones{left:50%;top:66%}.garden-lookpoint.water{right:22%;top:58%}.garden-fact{position:absolute;z-index:13;left:4%;bottom:5%;max-width:340px;padding:10px 13px;border-left:2px solid var(--terra);background:rgba(5,28,39,.72);color:#fff;backdrop-filter:blur(7px)}.garden-fact b{display:block;color:#efb596;font-size:9px;letter-spacing:.12em}.garden-fact p{margin:5px 0;font:500 19px/1.2 var(--font-display),serif}.garden-nav{position:absolute;z-index:12;right:4%;bottom:5%;display:flex;gap:7px}.garden-nav button{width:44px;height:44px;border:1px solid rgba(247,240,223,.45);border-radius:50%;background:rgba(5,28,39,.58);color:#fff}.garden-source{position:absolute;z-index:12;right:4%;top:21%;width:min(320px,82vw);padding:10px 12px;background:rgba(5,28,39,.72);color:#fff;backdrop-filter:blur(8px)}.garden-source summary{cursor:pointer;color:#efb596;font-size:9px}.garden-source p{font-size:11px;line-height:1.4}.garden-source a{color:#f3d0b7;font-size:9px;text-decoration:none}

/* Bain V33: la petite serviette est un vrai objet, et le geste est expliqué avant d'être demandé. */
.towel-piece i{display:none!important}.towel-piece img{display:block;width:150px;max-width:28vw;filter:drop-shadow(0 13px 12px rgba(0,0,0,.34));transform:rotate(-7deg)}.bath-towel-gesture.is-choosing .towel-piece{outline:1px solid rgba(239,181,150,.8);outline-offset:4px;border-radius:12px}.towel-placement{position:absolute;z-index:16;min-height:42px;padding:8px 11px;border:1px solid rgba(247,240,223,.48);border-radius:999px;background:rgba(5,28,39,.68);color:#fff;backdrop-filter:blur(7px);font-size:10px;pointer-events:auto}.towel-placement.head{left:45%;top:24%}.towel-placement.edge{left:18%;bottom:19%}.towel-piece.placed-head{left:48%!important;right:auto!important;top:26%!important;bottom:auto!important;transform:translate(-50%,-50%) scale(.72)!important}.towel-piece.placed-edge{left:22%!important;right:auto!important;bottom:20%!important;transform:scale(.82)!important}.towel-guide{position:absolute;z-index:15;left:4%;bottom:6%;width:min(360px,82vw);padding:10px 13px;border-left:2px solid var(--terra);background:rgba(5,28,39,.76);color:#fff;backdrop-filter:blur(7px)}.towel-guide b{display:block;color:#efb596;font-size:9px;letter-spacing:.12em}.towel-guide p{margin:5px 0;font:500 18px/1.25 var(--font-display),serif}.towel-guide small{font-size:9px;opacity:.72}.towel-water-zone{pointer-events:none!important}

/* Lavage V33: chaque objet = un geste + une raison. */
.wash-step-card{position:absolute;z-index:15;left:4%;bottom:5%;width:min(360px,84vw);padding:10px 13px;border-left:2px solid var(--terra);background:rgba(5,28,39,.82);color:#fff;backdrop-filter:blur(7px)}.wash-step-card b{display:block;color:#efb596;font-size:9px;letter-spacing:.12em}.wash-step-card p{margin:5px 0;font:500 19px/1.2 var(--font-display),serif}.wash-step-card small{font-size:10px;line-height:1.35;opacity:.78}.wash-tool-hit{transition:transform .2s ease,filter .2s ease}.wash-tool-hit:hover{transform:scale(1.04);filter:brightness(1.1)}.wash-rinse-station{position:absolute;z-index:15;right:4%;bottom:5%;min-height:48px;padding:9px 13px;border:1px solid rgba(247,240,223,.42);border-radius:999px;background:rgba(5,28,39,.68);color:#fff}

/* Yukata V33: on touche directement les pans du vêtement. */
.yukata-dress{right:50%!important;bottom:4%!important;transform:translateX(50%)}.yukata-dress img{pointer-events:none}.yukata-zone{position:absolute;z-index:3;border:1px solid rgba(247,240,223,.55);border-radius:24px;background:rgba(169,87,72,.08);box-shadow:0 0 0 8px rgba(247,240,223,.035),0 0 28px rgba(239,181,150,.22)}.yukata-zone.right-panel{left:29%;top:16%;width:23%;height:57%}.yukata-zone.left-panel{right:28%;top:16%;width:24%;height:57%}.yukata-zone.obi-zone{left:31%;right:31%;top:45%;height:18%}.yukata-guide-card{position:absolute;z-index:15;left:4%;bottom:5%;width:min(390px,86vw);padding:10px 13px;border-left:2px solid var(--terra);background:rgba(5,28,39,.82);color:#fff;backdrop-filter:blur(7px)}.yukata-guide-card b{display:block;color:#efb596;font-size:9px;letter-spacing:.12em}.yukata-guide-card p{margin:5px 0;font:500 19px/1.2 var(--font-display),serif}.yukata-guide-card small{font-size:10px;line-height:1.35;opacity:.78}.yukata-done{position:absolute;z-index:16;right:4%;bottom:5%;min-height:52px;padding:10px 15px;border:1px solid rgba(247,240,223,.45);border-radius:999px;background:var(--terra);color:#fff;font-weight:700}

@media(max-width:700px){
  .drag-help{bottom:0;font-size:8px}.taxi-route-video{object-position:center}.taxi-route-track{left:12px;bottom:12px;max-width:calc(100% - 24px);font-size:8px}.room-look-right{right:7px!important;top:43%!important}.d1-room.room-detail-tokonoma .world-image{background-position:100% center!important;transform:scale(1.05)!important}.tokonoma-marker{right:17%;top:34%}.meal-learning,.chopstick-lesson,.dish-tip{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}.meal-learning h3,.chopstick-lesson h3{font-size:24px}.dish-hotspot.one{left:14%;bottom:26%}.dish-hotspot.two{left:47%;bottom:30%}.dish-hotspot.three{right:12%;bottom:25%}.meal-finish{right:12px;top:13%;max-width:360px}.d1-garden .world-image{background-size:auto 125%!important}.garden-lookpoint.lantern{left:18%;top:49%}.garden-lookpoint.stones{left:48%;top:65%}.garden-lookpoint.water{right:15%;top:56%}.garden-fact{right:12px;bottom:84px;left:12px;max-width:none}.garden-nav{right:12px;bottom:20px}.garden-source{right:12px;top:19%}.towel-piece img{width:120px;max-width:30vw}.towel-guide{right:12px;bottom:92px;left:12px;width:auto}.towel-placement.head{left:47%;top:23%}.towel-placement.edge{left:10%;bottom:20%}.wash-step-card{right:12px;bottom:84px;left:12px;width:auto}.yukata-dress{right:12px!important;left:12px!important;bottom:165px!important;transform:none}.yukata-dress img{width:100%!important;height:41svh!important;max-width:310px!important;margin:0 auto}.yukata-guide-card{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto;max-height:150px;overflow:auto}.yukata-memo-card{bottom:max(84px,calc(var(--safe) + 74px))!important;max-height:170px}.yukata-zone.right-panel{left:27%;top:14%;width:24%;height:58%}.yukata-zone.left-panel{right:26%;top:14%;width:25%;height:58%}.yukata-zone.obi-zone{left:27%;right:27%;top:44%;height:18%}.yukata-done{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto;min-height:58px}
}

/* V33 JS completion */
.drag-destination{appearance:none;color:inherit}.drag-destination button{pointer-events:none}.garden-lookpoint.seen{border-color:#efb596}.garden-lookpoint.seen:after{background:#efb596}.wash-progress-6 .wash-tools-layer,.wash-progress-7 .wash-tools-layer{opacity:.96}.wash-progress-6 .world-image,.wash-progress-7 .world-image{transform:scale(1.03)!important}.meal-learning .continue-meal,.chopstick-lesson .continue-meal{margin-top:9px;background:var(--terra);border-color:var(--terra)}.bath-towel-gesture .towel-piece{z-index:17}.towel-piece[disabled]{opacity:1}.towel-piece span{display:block;margin-top:4px}.yukata-zone:after{content:"";position:absolute;inset:42% 44%;border-radius:50%;background:#fff;box-shadow:0 0 0 7px rgba(255,255,255,.06),0 0 16px rgba(255,255,255,.7)}

/* V33.1 — corrections visuelles après revue */
.taxi-culture-chip{position:absolute;z-index:13;right:4%;top:20%;width:min(310px,78vw);padding:8px 10px;background:rgba(5,28,39,.58);color:#fff;backdrop-filter:blur(7px)}.taxi-culture-chip summary{cursor:pointer;color:#efb596;font-size:9px;letter-spacing:.08em}.taxi-culture-chip p{margin:6px 0;font-size:10px;line-height:1.4}.taxi-culture-chip a{color:#f3d0b7;font-size:9px;text-decoration:none}
.meal-mizutaki .dish-hotspot.one{left:9%;bottom:25%}.meal-mizutaki .dish-hotspot.two{left:20%;bottom:37%}.meal-mizutaki .dish-hotspot.three{left:31%;bottom:24%}.meal-fish .dish-hotspot.one{left:42%;bottom:26%}.meal-fish .dish-hotspot.two{left:50%;bottom:39%}.meal-fish .dish-hotspot.three{left:59%;bottom:27%}.meal-seasonal .dish-hotspot.one{right:28%;left:auto;bottom:27%}.meal-seasonal .dish-hotspot.two{right:17%;left:auto;bottom:39%}.meal-seasonal .dish-hotspot.three{right:8%;bottom:25%}.meal-finish{display:grid;gap:2px;text-align:left}.meal-finish small{font-size:8px;opacity:.76}.meal-finish span{font-size:10px;font-weight:700}
@media(max-width:700px){.d1-garden .world-image{background-image:url('../assets/day1/ryokan-courtyard.webp')!important;background-size:auto 125%!important;background-position:50% 50%}.taxi-culture-chip{right:12px;top:18%;width:min(255px,72vw)}.meal-mizutaki .dish-hotspot.one{left:8%;bottom:24%}.meal-mizutaki .dish-hotspot.two{left:18%;bottom:36%}.meal-mizutaki .dish-hotspot.three{left:29%;bottom:25%}.meal-fish .dish-hotspot.one{left:40%;bottom:25%}.meal-fish .dish-hotspot.two{left:49%;bottom:38%}.meal-fish .dish-hotspot.three{left:59%;bottom:25%}.meal-seasonal .dish-hotspot.one{right:29%;left:auto;bottom:25%}.meal-seasonal .dish-hotspot.two{right:17%;left:auto;bottom:38%}.meal-seasonal .dish-hotspot.three{right:7%;left:auto;bottom:25%}}


/* === V34 · VALUE / BATH / PRONUNCIATION PASS === */
.d1-wash .world-image{
  background-image:url('../assets/day1/v34/bath-wash-focus-v34.webp')!important;
  background-size:cover!important;background-position:center!important;
  transform:none!important;filter:none!important;
}
.v34-wash{overflow:hidden}
.wash-tools-layer{display:none!important}
.wash-real-actions{position:absolute;z-index:14;inset:0;pointer-events:none}
.wash-real-hit{position:absolute;pointer-events:auto;width:62px;height:62px;border:1px solid rgba(247,240,223,.78);border-radius:50%;background:rgba(5,28,39,.30);color:#fff;box-shadow:0 0 0 8px rgba(255,255,255,.035),0 0 28px rgba(236,180,143,.22);backdrop-filter:blur(2px)}
.wash-real-hit:before{content:"";position:absolute;inset:23px;border-radius:50%;background:#fff;box-shadow:0 0 16px rgba(255,255,255,.85);animation:v34pulse 1.8s ease-in-out infinite}
.wash-real-hit span{position:absolute;top:68px;left:50%;white-space:nowrap;padding:4px 8px;border-radius:999px;background:rgba(5,28,39,.68);font-size:9px;transform:translateX(-50%);text-shadow:0 1px 8px #000}
.wash-real-hit.stool{right:18%;bottom:18%}.wash-real-hit.shower,.wash-real-hit.rinse{right:31%;top:42%}.wash-real-hit.bodywash{right:13%;top:56%}.wash-real-hit.stationrinse{right:17%;bottom:18%}.wash-real-hit.bucket{right:8%;bottom:28%}
@keyframes v34pulse{50%{transform:scale(.55);opacity:.38}}
.wash-step-card.compact{max-width:345px;padding:11px 13px;background:rgba(5,28,39,.76);backdrop-filter:blur(7px)}
.wash-step-card.compact b{font-size:9px;letter-spacing:.13em}.wash-step-card.compact p{font-size:20px;line-height:1.12}.wash-step-card.compact small{font-size:9px;line-height:1.35}
.wash-water-stream.live{position:absolute;z-index:12;right:29%;top:47%;width:7px;height:30%;border-radius:50%;background:linear-gradient(180deg,rgba(236,247,246,.72),rgba(171,215,214,.25),transparent);filter:blur(1px);transform:rotate(6deg);opacity:.72;pointer-events:none;animation:v34water .5s linear infinite alternate}
.wash-water-stream.live.step-5,.wash-water-stream.live.step-6{right:13%;top:auto;bottom:15%;height:20%;transform:rotate(-14deg)}
@keyframes v34water{to{opacity:.42;transform:rotate(8deg) translateY(4px)}}
.wash-foam-effect{position:absolute;z-index:13;right:8%;bottom:14%;width:32%;height:30%;pointer-events:none}
.wash-foam-effect i{position:absolute;width:18px;height:18px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.12);animation:v34foam 2.4s ease-in-out infinite}
.wash-foam-effect i:nth-child(1){left:12%;top:20%}.wash-foam-effect i:nth-child(2){left:34%;top:7%;animation-delay:.2s}.wash-foam-effect i:nth-child(3){left:55%;top:28%;animation-delay:.5s}.wash-foam-effect i:nth-child(4){left:75%;top:12%;animation-delay:.8s}.wash-foam-effect i:nth-child(5){left:22%;top:58%;animation-delay:1s}.wash-foam-effect i:nth-child(6){left:48%;top:67%;animation-delay:.4s}.wash-foam-effect i:nth-child(7){left:78%;top:55%;animation-delay:.7s}
@keyframes v34foam{50%{transform:translateY(-12px) scale(.75);opacity:.35}}
.wash-ready-card{position:absolute;z-index:16;right:4%;bottom:5%;width:min(430px,90vw);padding:14px 16px;border-left:2px solid var(--terra);background:rgba(5,28,39,.82);color:#fff;backdrop-filter:blur(8px)}
.wash-ready-card b{color:#efb596;font-size:9px;letter-spacing:.13em}.wash-ready-card p{margin:7px 0;font:500 21px/1.2 var(--font-display),serif}.wash-ready-card .culture-details{margin:7px 0}.wash-complete.v34{position:static;width:100%;margin-top:8px;border-radius:999px}

.towel-piece img{width:165px!important;max-width:30vw!important;filter:drop-shadow(0 14px 12px rgba(0,0,0,.38));transform:rotate(-5deg)}
.towel-choices{position:absolute;z-index:18;inset:0;pointer-events:none}
.towel-choices .towel-placement{pointer-events:auto}
.towel-placement.water{left:42%;top:55%;bottom:auto}.towel-placement.water.wrong{border-color:#ef9b87;background:rgba(121,38,30,.82);animation:v34wrong .35s ease 2}
@keyframes v34wrong{50%{transform:translateX(5px)}}
.towel-feedback{color:#ffd3c7!important}.towel-source{margin-top:5px}.towel-source summary{font-size:8px}

.v34-enter{display:grid!important;gap:3px;min-width:250px!important;padding:12px 18px!important;text-align:left!important}
.v34-enter small{font-size:8px;letter-spacing:.16em;opacity:.7}.v34-enter b{font:500 22px var(--font-display),serif}
.bath-step-5 .bath-pov{transform:scale(1.03) translateY(2%)!important;filter:brightness(.92)}
.bath-step-6 .bath-pov{transform:scale(1.07) translateY(4%)!important;filter:brightness(.89)}
.bath-step-7 .bath-pov{transform:scale(1.11) translateY(6%)!important;filter:brightness(.86)}
.bath-silence{position:absolute;z-index:17;left:50%;bottom:8%;display:grid;gap:4px;padding:10px 14px;border-radius:999px;background:rgba(5,28,39,.42);color:#fff;transform:translateX(-50%);backdrop-filter:blur(6px);text-align:center;animation:delayed-in .9s ease both}
.bath-silence span{font:500 18px var(--font-display),serif}.bath-silence small{font-size:9px;opacity:.65}
.bath-presence-copy.v34{max-width:340px;padding:9px 12px!important;background:rgba(5,28,39,.5)!important}
.bath-native-source{position:absolute;z-index:24;right:4%;top:19%;width:min(310px,84vw);padding:9px 11px;background:rgba(5,28,39,.58);color:#fff;backdrop-filter:blur(7px)}
.bath-native-source summary{cursor:pointer;color:#efb596;font-size:8px;letter-spacing:.08em}.bath-native-source p{font-size:10px;line-height:1.35}.bath-native-source a{color:#f5d3bd;font-size:9px;text-decoration:none}

.pronounce-reference button{background:rgba(239,181,150,.12)!important;border-color:rgba(239,181,150,.55)!important}
.voice-warning{display:block;margin-top:7px;color:#ffd5c9;font-size:9px}.pronounce-source{margin-top:8px}.pronounce-source p{font-size:10px!important}
.pronounce-playback{margin-top:6px}
.kana-beat i{transition:transform .18s ease,background .18s ease,color .18s ease}.pronunciation-listening .kana-beat i{animation:v34kana 2.35s linear both}.pronunciation-listening .kana-beat i:nth-child(2){animation-delay:.27s}.pronunciation-listening .kana-beat i:nth-child(3){animation-delay:.54s}.pronunciation-listening .kana-beat i:nth-child(4){animation-delay:.81s}.pronunciation-listening .kana-beat i:nth-child(5){animation-delay:1.08s}.pronunciation-listening .kana-beat i:nth-child(6){animation-delay:1.35s}
@keyframes v34kana{0%,78%,100%{transform:none}25%,58%{transform:translateY(-5px) scale(1.08);background:rgba(239,181,150,.22);color:#fff}}

.d1-garden .world-image{background-size:175% auto!important}
.garden-scene .garden-whisper{transition:opacity .4s ease}.garden-scene.ready .garden-whisper{opacity:.28}
.garden-lookpoint{transition:transform .2s ease,opacity .2s ease}.garden-lookpoint.seen{transform:scale(.75);opacity:.55}

.day1-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}
.day1-proof-grid div{padding:10px;border:1px solid rgba(24,59,70,.18);background:rgba(255,255,255,.28)}
.day1-proof-grid strong,.day1-proof-grid span{display:block}.day1-proof-grid strong{font:500 30px var(--font-display),serif;color:var(--terra)}.day1-proof-grid span{font-size:9px;line-height:1.25}

@media(max-width:700px){
  .d1-wash .world-image{background-image:url('../assets/day1/v34/bath-wash-focus-mobile-v34.webp')!important;background-position:center!important;background-size:cover!important}
  .wash-real-hit{width:52px;height:52px}.wash-real-hit:before{inset:19px}.wash-real-hit span{top:58px;font-size:8px}
  .wash-real-hit.stool{right:18%;bottom:22%}.wash-real-hit.shower,.wash-real-hit.rinse{left:13%;right:auto;top:55%}.wash-real-hit.bodywash{left:18%;right:auto;top:69%}.wash-real-hit.stationrinse{right:18%;bottom:22%}.wash-real-hit.bucket{right:12%;bottom:31%}
  .wash-water-stream.live{left:20%;right:auto;top:58%;height:22%}.wash-water-stream.live.step-5,.wash-water-stream.live.step-6{left:auto;right:18%;bottom:21%;height:16%}
  .wash-foam-effect{left:6%;right:auto;bottom:13%;width:38%;height:25%}
  .wash-step-card.compact{right:12px;bottom:82px;left:12px;max-width:none}
  .wash-step-card.compact p{font-size:18px}.wash-ready-card{right:12px;bottom:max(12px,var(--safe));left:12px;width:auto}
  .towel-piece img{width:138px!important;max-width:34vw!important}.towel-placement.head{left:47%;top:23%}.towel-placement.edge{left:7%;bottom:21%}.towel-placement.water{left:44%;top:53%}
  .towel-guide{bottom:106px!important}.towel-guide p{font-size:16px!important}
  .v34-enter{right:12px!important;bottom:max(14px,var(--safe))!important;left:12px!important;width:auto!important}
  .bath-silence{right:20px;bottom:28px;left:20px;transform:none}.bath-native-source{right:12px;top:19%;width:calc(100% - 24px)}
  .bath-presence-copy.v34{right:12px;bottom:108px;left:12px;max-width:none}
  .pronounce-row{grid-template-columns:1fr 1fr!important}.pronounce-row button{font-size:10px!important}
  .d1-garden .world-image{background-size:auto 145%!important}
  .day1-proof-grid{grid-template-columns:1fr 1fr 1fr;gap:5px}.day1-proof-grid div{padding:8px}.day1-proof-grid strong{font-size:25px}.day1-proof-grid span{font-size:8px}
}


/* V36 · VALUE PASS: wayfinding, metro reflexes, after-bath ritual, responsive tokonoma */
.d1-airport .world-image{filter:brightness(.82) saturate(.88)}
.airport-wayfinding{position:absolute;z-index:12;inset:0;color:#fff}
.airport-prompt{position:absolute;left:4vw;top:24%;width:min(430px,86vw);padding:15px 18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(4,24,33,.8),rgba(4,24,33,.08));text-shadow:0 2px 16px #000}
.airport-prompt small{font-size:9px;letter-spacing:.18em;color:#efb596}.airport-prompt h2{margin:5px 0;font:500 clamp(29px,4vw,48px)/1 var(--font-display),serif}.airport-prompt p{margin:5px 0 0;font-size:13px;line-height:1.45}
.airport-signs{position:absolute;right:5vw;bottom:7vh;display:grid;width:min(620px,88vw);grid-template-columns:repeat(3,1fr);gap:10px}.airport-signs button{min-height:112px;padding:12px;border:1px solid rgba(247,240,223,.45);border-radius:18px;background:rgba(5,28,39,.72);color:#fff;backdrop-filter:blur(8px);box-shadow:0 15px 40px rgba(0,0,0,.2)}.airport-signs b{display:block;font-size:24px}.airport-signs span{display:block;margin-top:5px;font-size:11px}.airport-signs button.correct{border-color:#efb596;background:rgba(108,77,55,.72)}
.airport-confirm{position:absolute;right:5vw;bottom:6vh;width:min(520px,90vw);padding:18px;border:1px solid rgba(247,240,223,.35);border-radius:24px;background:rgba(5,28,39,.86);color:#fff;backdrop-filter:blur(10px)}.airport-confirm b{display:block;font:500 28px var(--font-display),serif}.airport-confirm p{margin:7px 0 12px;font-size:13px;line-height:1.45}.airport-confirm details{font-size:10px}.airport-confirm a{color:#f2c4a9}.airport-confirm button{width:100%;margin-top:12px;padding:12px 14px;border:1px solid #e9c5aa;border-radius:999px;background:var(--terra);color:#fff;font-weight:700}

.shuttle-live{position:absolute;z-index:12;inset:0;color:#fff}.shuttle-live .shuttle-copy{position:absolute;left:4vw;top:25%;width:min(390px,82vw);padding:14px 17px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.78),transparent);text-shadow:0 2px 16px #000}.shuttle-copy small{font-size:9px;letter-spacing:.17em;color:#efb596}.shuttle-copy h2{margin:5px 0;font:500 38px var(--font-display),serif}.shuttle-copy p{font-size:13px;line-height:1.45}.shuttle-board{position:absolute;right:5vw;bottom:7vh;min-width:260px;padding:14px 18px;border:1px solid rgba(247,240,223,.5);border-radius:999px;background:rgba(5,28,39,.8);color:#fff;font-weight:700}.shuttle-route{position:absolute;right:5vw;bottom:7vh;width:min(650px,90vw);padding:18px;border-radius:24px;background:rgba(5,28,39,.78);backdrop-filter:blur(8px)}.shuttle-route .line{display:flex;align-items:center;gap:9px}.shuttle-route .line i{height:3px;flex:1;background:rgba(255,255,255,.35)}.shuttle-route .bus-dot{width:20px;height:20px;border-radius:50%;background:var(--terra);box-shadow:0 0 18px rgba(234,172,145,.5);animation:shuttle-dot 7s ease-in-out both}@keyframes shuttle-dot{from{transform:translateX(-5px)}to{transform:translateX(min(43vw,360px))}}.shuttle-find{display:flex;justify-content:flex-end;margin-top:14px}.shuttle-find button{padding:11px 16px;border:1px solid rgba(247,240,223,.5);border-radius:999px;background:rgba(255,255,255,.08);color:#fff}.shuttle-find button.found{border-color:#efb596;background:rgba(169,87,72,.55)}.shuttle-source{margin-top:10px;font-size:9px;opacity:.85}.shuttle-source a{color:#f2c4a9}

.metro-live{position:absolute;z-index:12;inset:0;color:#fff}.metro-map{position:absolute;left:5vw;right:5vw;top:23%;display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:9px;padding:18px;border-radius:24px;background:rgba(5,28,39,.66);backdrop-filter:blur(8px)}.metro-stop{display:grid;place-items:center;min-width:78px;text-align:center}.metro-stop b{display:grid;width:50px;height:50px;place-items:center;border:3px solid #4fa5c7;border-radius:50%;background:#fff;color:#173847;font-size:16px}.metro-stop span{margin-top:6px;font-size:10px}.metro-map i{height:5px;background:#4fa5c7}.metro-announcement{position:absolute;left:5vw;bottom:7vh;width:min(510px,90vw);padding:17px 18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.86),rgba(5,28,39,.35));text-shadow:0 2px 14px #000}.metro-announcement small{font-size:9px;letter-spacing:.16em;color:#efb596}.metro-announcement h2{margin:6px 0;font:500 32px var(--font-display),serif}.metro-announcement p{margin:6px 0;font-size:13px;line-height:1.45}.metro-choices{display:flex;gap:8px;margin-top:12px}.metro-choices button{flex:1;padding:10px;border:1px solid rgba(247,240,223,.45);border-radius:16px;background:rgba(247,240,223,.08);color:#fff}.metro-choices button.good{border-color:#efb596;background:rgba(169,87,72,.5)}.metro-feedback{display:block;margin-top:9px;color:#f3ccb7;font-size:11px}.metro-source{margin-top:10px;font-size:9px}.metro-source a{color:#f2c4a9}

.d1-room.room-detail-tokonoma .world-image{background-position:93% center!important;transform:scale(1.12) translate3d(-3%,0,0)!important}.tokonoma-marker{display:none!important}.room-look-right{right:4.5%!important;top:40%!important}

.afterbath-flow{position:absolute;z-index:12;inset:0;color:#fff}.afterbath-card{position:absolute;left:4vw;bottom:6vh;width:min(430px,90vw);padding:17px 18px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.86),rgba(5,28,39,.22));text-shadow:0 2px 15px #000}.afterbath-card small{font-size:9px;letter-spacing:.17em;color:#efb596}.afterbath-card h2{margin:6px 0;font:500 34px var(--font-display),serif}.afterbath-card p{margin:6px 0;font-size:13px;line-height:1.45}.afterbath-actions{display:flex;gap:8px;margin-top:12px}.afterbath-actions button{flex:1;padding:11px;border:1px solid rgba(247,240,223,.5);border-radius:16px;background:rgba(255,255,255,.08);color:#fff}.afterbath-actions button.primary-choice{border-color:#efb596;background:rgba(169,87,72,.55)}.afterbath-water{position:absolute;right:12%;bottom:12%;display:grid;width:110px;height:150px;place-items:end center;border:0;background:transparent;color:#fff}.afterbath-water i{display:block;width:54px;height:82px;border:2px solid rgba(230,244,247,.78);border-top:0;border-radius:0 0 16px 16px;background:linear-gradient(180deg,rgba(174,224,235,.18) 40%,rgba(174,224,235,.62) 41%);box-shadow:0 12px 25px rgba(0,0,0,.3)}.afterbath-water span{margin-top:6px;padding:4px 8px;border-radius:999px;background:rgba(5,28,39,.68);font-size:9px}.afterbath-culture{position:absolute;right:4vw;top:22%;width:min(390px,86vw);padding:12px 14px;border-radius:18px;background:rgba(5,28,39,.72);backdrop-filter:blur(8px)}.afterbath-culture p{margin:6px 0;font-size:12px;line-height:1.45}.afterbath-culture a{color:#f2c4a9;font-size:9px}

.value-skill-flash{position:absolute;z-index:22;left:50%;top:18%;padding:7px 12px;border:1px solid rgba(247,240,223,.35);border-radius:999px;background:rgba(5,28,39,.7);color:#fff;font-size:9px;letter-spacing:.08em;transform:translateX(-50%);backdrop-filter:blur(8px);animation:skill-flash 2.6s ease both}@keyframes skill-flash{0%{opacity:0;transform:translate(-50%,8px)}20%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-5px)}}

@media(max-width:700px){
 .airport-prompt{left:12px;top:18%;width:calc(100% - 24px)}.airport-prompt h2{font-size:29px}.airport-signs{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto;grid-template-columns:1fr 1fr 1fr;gap:5px}.airport-signs button{min-height:92px;padding:7px}.airport-signs b{font-size:20px}.airport-signs span{font-size:8px}.airport-confirm{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}
 .shuttle-copy{left:12px!important;top:18%!important;width:calc(100% - 24px)!important}.shuttle-copy h2{font-size:29px}.shuttle-board{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.shuttle-route{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.shuttle-route .bus-dot{animation:none}.shuttle-route .line{font-size:8px}
 .metro-map{left:12px;right:12px;top:21%;gap:5px;padding:12px}.metro-stop{min-width:54px}.metro-stop b{width:40px;height:40px;font-size:13px}.metro-stop span{font-size:8px}.metro-announcement{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.metro-announcement h2{font-size:27px}.metro-choices button{font-size:10px;padding:9px 5px}
 .d1-room.room-detail-tokonoma .world-image{background-position:100% center!important;transform:scale(1.08) translate3d(-1%,0,0)!important}.room-look-right{right:8px!important;top:39%!important}
 .afterbath-card{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.afterbath-card h2{font-size:27px}.afterbath-water{right:6%;bottom:30%;transform:scale(.82)}.afterbath-culture{right:12px;top:19%;left:12px;width:auto}.milk-hotspots{bottom:7%!important}.milk-note{bottom:2%!important}
}


/* V37 commercial shell: compact travel menu, account, stamps */
.journey-menu-trigger{font-size:0!important;display:grid!important;gap:4px!important;align-content:center!important;justify-items:center!important;background:rgba(249,247,240,.96)!important;border-color:rgba(20,53,65,.16)!important;color:#173846!important;box-shadow:0 14px 38px rgba(0,0,0,.22)!important}
.journey-menu-trigger:before,.journey-menu-trigger:after{content:"";display:block;width:19px;height:2px;border-radius:99px;background:#173846}.journey-menu-trigger{background-image:linear-gradient(#173846,#173846);background-repeat:no-repeat;background-size:19px 2px;background-position:center}
.journey-menu{left:auto!important;width:min(470px,100vw)!important;padding:0!important;background:#f7f3ec!important;color:#173846!important;box-shadow:-24px 0 65px rgba(1,19,27,.34);border-left:1px solid rgba(23,56,70,.12);animation:menu-slide-in .32s cubic-bezier(.2,.8,.2,1) both}
.journey-menu-close{position:sticky!important;top:0!important;right:auto!important;width:100%!important;display:flex;justify-content:space-between;align-items:center;border:0!important;border-bottom:1px solid rgba(23,56,70,.1)!important;border-radius:0!important;background:rgba(247,243,236,.94)!important;color:#173846!important;padding:15px 18px!important;backdrop-filter:blur(12px);font-weight:700}
.journey-menu header{margin:0!important;padding:22px 20px 16px!important;gap:14px!important;background:#102f3c;color:#fff}.journey-menu header img{width:54px!important;height:54px!important}.journey-menu header h2{margin:2px 0!important;font-size:30px!important}.journey-menu header small{color:#f0c6a6!important}.journey-menu-account-state{margin-left:auto;text-align:right}.journey-menu-account-state b,.journey-menu-account-state small{display:block}.journey-menu-account-state b{font-size:10px;color:#cfe6df}.journey-menu-account-state small{font-size:8px;opacity:.7}
.journey-menu-home{padding:15px 16px 28px}.journey-menu-section-label{display:block;margin:6px 4px 10px;font-size:9px;font-weight:800;letter-spacing:.16em;color:#8c6558}.journey-objects{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.journey-objects button{display:grid!important;grid-template-columns:48px 1fr!important;min-height:82px!important;padding:10px!important;border:1px solid rgba(23,56,70,.12)!important;border-radius:15px!important;background:#fffdf8!important;color:#173846!important;box-shadow:0 6px 16px rgba(42,40,31,.05);text-align:left!important}.journey-objects button img{width:44px!important;height:52px!important;object-fit:contain!important}.journey-objects button .menu-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:#e9efe9;color:#285b5f;font-size:20px}.journey-objects button b{color:#173846!important;letter-spacing:0!important;font-size:13px!important}.journey-objects button p{margin:3px 0!important;font:500 11px/1.25 var(--font-sans),sans-serif!important;color:#60747b}.journey-objects button small{font-size:9px;color:#98634f!important}.journey-menu-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(23,56,70,.1)}.journey-menu-links a{font-size:10px;color:#49666d;text-decoration:none;padding:7px 9px;border-radius:99px;background:#ede9df}.journey-menu-note{margin:13px 2px 0!important;color:#6f7b7b!important;font-size:10px;line-height:1.45}.object-ledger{max-width:none!important;padding:18px 20px 32px!important;margin:0!important;color:#173846}.object-ledger>button{border:0!important;border-radius:99px!important;background:#e9e5dc!important;color:#173846!important}.object-ledger>img{max-height:220px!important}.object-ledger h3{font-size:34px!important}.object-ledger dt{color:#985f4d!important}.object-ledger li{border-bottom-color:rgba(23,56,70,.1)!important}.passport-stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.passport-stamp-slot{position:relative;display:grid;min-height:88px;place-items:center;border:1px dashed rgba(23,56,70,.23);border-radius:14px;background:#fffdf8}.passport-stamp-slot img{width:70px;max-height:70px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(58,33,23,.15))}.passport-stamp-slot.locked{opacity:.5}.passport-stamp-slot span{font-size:9px;font-weight:800}.route-list{display:grid;gap:8px;margin-top:15px}.route-day{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(23,56,70,.1);border-radius:14px;background:#fffdf8}.route-day i{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#e3ece8;color:#1c5b59;font-style:normal;font-weight:800}.route-day.locked{opacity:.52}.route-day b,.route-day small{display:block}.route-day small{margin-top:3px;color:#6f7b7b}.profile-card{display:grid;gap:12px;padding:15px;border-radius:16px;background:#fffdf8;border:1px solid rgba(23,56,70,.1)}.profile-card .status-pill{justify-self:start;padding:6px 9px;border-radius:99px;background:#dfece5;color:#235d51;font-size:9px;font-weight:800}.profile-card dl{display:grid;grid-template-columns:auto 1fr;gap:7px 12px;margin:0}.profile-card dt{font-size:9px;color:#8a6b60}.profile-card dd{margin:0;font-size:12px}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-actions button{min-height:44px;border-radius:99px;border:1px solid rgba(23,56,70,.18);background:#173846;color:#fff}.profile-actions button.alt{background:transparent;color:#173846}.sync-line{font-size:9px;color:#637b79}
.threshold-account{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}.threshold-account button{border:0;background:transparent;color:#fff;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.4);font-size:11px}.threshold-account span{display:inline-flex;gap:7px;align-items:center;padding:7px 10px;border-radius:99px;background:rgba(16,69,62,.62);font-size:10px}
.auth-shell{position:fixed;z-index:160;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,16,22,.74);backdrop-filter:blur(10px)}.auth-card{width:min(520px,100%);max-height:92svh;overflow:auto;padding:24px;border-radius:24px;background:#f7f3ec;color:#173846;box-shadow:0 34px 90px rgba(0,0,0,.48)}.auth-card header{display:flex;justify-content:space-between;align-items:start;gap:15px}.auth-card header h2{margin:3px 0;font:600 38px/1 var(--font-display),serif}.auth-card header p{margin:7px 0 0;color:#68777b;font-size:12px}.auth-close{width:40px;height:40px;border:1px solid rgba(23,56,70,.14);border-radius:50%;background:#fffdf8;color:#173846}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:19px 0;padding:4px;border-radius:99px;background:#e8e4dc}.auth-tabs button{min-height:40px;border:0;border-radius:99px;background:transparent;color:#536a70}.auth-tabs button.active{background:#fffdf8;color:#173846;box-shadow:0 3px 12px rgba(0,0,0,.08)}.auth-form{display:grid;gap:12px}.auth-form label{display:grid;gap:5px;font-size:10px;font-weight:700}.auth-form input{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(23,56,70,.18);border-radius:13px;background:#fffdf8;color:#173846;outline:0}.auth-form input:focus{border-color:#9d5747;box-shadow:0 0 0 3px rgba(157,87,71,.12)}.auth-submit{min-height:52px;border:0;border-radius:99px;background:#9d5747;color:#fff;font-weight:800}.auth-note{font-size:10px;line-height:1.45;color:#66777a}.auth-note.error{color:#a63832}.auth-forgot{border:0;background:transparent;color:#80554b;text-decoration:underline;font-size:10px}
.stamp-award{position:fixed;z-index:170;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,19,25,.84);backdrop-filter:blur(9px)}.stamp-award-card{position:relative;width:min(560px,100%);padding:32px 26px 26px;text-align:center;border-radius:24px;background:#f8f1de;color:#173846;overflow:hidden}.stamp-award-card:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(180,76,61,.12),transparent 48%);animation:ink-bloom 1.4s ease-out}.stamp-award img{position:relative;width:min(220px,56vw);filter:drop-shadow(0 18px 18px rgba(74,35,27,.24));animation:stamp-land .75s cubic-bezier(.2,.9,.2,1) both}.stamp-award h2{position:relative;margin:12px 0 5px;font:600 42px/1 var(--font-display),serif}.stamp-award p{position:relative;margin:0 auto 18px;max-width:40ch;line-height:1.5}.stamp-award button{position:relative;min-height:50px;padding:0 22px;border:0;border-radius:99px;background:#173846;color:#fff;font-weight:800}.stamp-fleck{position:absolute;width:8px;height:8px;border-radius:50%;background:#b64e42;opacity:.4;animation:fleck 1.7s ease-out both}.stamp-fleck:nth-child(1){left:20%;top:25%}.stamp-fleck:nth-child(2){right:18%;top:35%;animation-delay:.1s}.stamp-fleck:nth-child(3){left:31%;bottom:20%;animation-delay:.18s}.stamp-fleck:nth-child(4){right:30%;bottom:18%;animation-delay:.26s}
.phrase-guide{display:inline-flex;align-items:center;gap:8px;margin-top:7px;padding:7px 9px;border-radius:12px;background:rgba(6,28,39,.72);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px)}.phrase-guide b{font-family:var(--font-display),serif;font-size:18px}.phrase-guide span{font-size:9px;opacity:.8}.phrase-guide button{width:32px;height:32px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff}.phrase-guide.light{background:#fffdf8;color:#173846;border-color:rgba(23,56,70,.12)}.phrase-guide.light button{color:#173846;border-color:rgba(23,56,70,.18)}
.stamp-progress{display:inline-flex;align-items:center;justify-content:center;margin:-2px auto 9px;padding:5px 9px;border-radius:99px;background:#efe7d8;color:#754c3f;font-size:10px;letter-spacing:.12em}
.sato-vocab{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.sato-vocab span{display:grid;padding:8px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.06);text-align:center}.sato-vocab b{font-size:18px}.sato-vocab small{font-size:8px;opacity:.78}.access-active{display:grid;place-items:center;min-height:58px;margin-top:10px;padding:10px 14px;border:1px solid rgba(36,94,73,.22);border-radius:18px;background:#e2efe8;color:#245d4e;text-align:center;font-weight:800}.access-active small{display:block;margin-top:3px;font-size:9px;font-weight:500}.checkout-account-note{margin:7px 0 0!important;text-align:center;font-size:9px!important;color:#6c7775}.meal-finish small{line-height:1.25}.sato-response .phrase-guide{width:100%;box-sizing:border-box;text-align:left}.sato-response .phrase-guide>div{min-width:0}.sato-response .phrase-guide span{display:block;line-height:1.3}

.promo-ready{margin:8px 0 0;font-size:10px;color:#d8efdc}.promo-ready b{color:#fff}.offer .buy{display:flex;align-items:center;justify-content:center;text-align:center}.offer .promo{margin-top:8px}
@keyframes menu-slide-in{from{transform:translateX(100%)}to{transform:none}}@keyframes stamp-land{0%{transform:translateY(-65px) rotate(-14deg) scale(1.35);opacity:0}65%{transform:translateY(8px) rotate(3deg) scale(.96);opacity:1}100%{transform:none}}@keyframes ink-bloom{from{transform:scale(.25);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fleck{0%{transform:scale(.2);opacity:0}35%{opacity:.45}100%{transform:translateY(35px) scale(1.5);opacity:0}}
@media(max-width:700px){.journey-menu{width:100vw!important;height:100svh!important}.journey-objects{grid-template-columns:1fr!important}.journey-objects button{min-height:70px!important}.passport-stamps{grid-template-columns:repeat(3,1fr)}.threshold-account{display:grid;grid-template-columns:1fr 1fr}.threshold-account span{grid-column:1/3}.auth-card{padding:20px 17px;border-radius:20px}.journey-menu-trigger{top:74px!important}.profile-actions{grid-template-columns:1fr}.stamp-award-card{padding:28px 18px 22px}.journey-menu-footer,.passport-checkpoint-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.journey-menu,.stamp-award img,.stamp-award-card:before,.stamp-fleck{animation:none!important}}

.purchase-consent{display:flex;gap:9px;align-items:flex-start;margin:12px 0;padding:11px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.06);font-size:9px;line-height:1.45}.purchase-consent input{margin-top:2px;accent-color:#a95748}.purchase-consent a{color:#f1c69d}.offer .buy:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.3)}.purchase-confirmed{margin-top:14px;padding:15px;border-radius:14px;background:rgba(68,126,99,.28);border:1px solid rgba(171,224,192,.34)}.purchase-confirmed b{display:block;color:#174f48}.trial-offer-card .purchase-confirmed p{color:#355d56}.purchase-confirmed p,.purchase-account-copy{font-size:11px;line-height:1.5}.purchase-account-copy{margin:11px 0;color:#fff}.offer button.buy{width:100%;border:0;color:#fff}.journey-menu-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.journey-menu-footer button{min-height:42px;border:1px solid rgba(23,56,70,.12);border-radius:12px;background:#fffdf8;color:#173846;font-size:10px;font-weight:800}.journey-menu-footer button:last-child{background:#173846;color:#fff}.profile-editor{display:grid;gap:10px;padding-top:12px;border-top:1px solid rgba(23,56,70,.1)}.profile-editor label{display:grid;gap:5px;font-size:9px;font-weight:800;color:#8a6b60}.profile-editor input{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(23,56,70,.15);border-radius:11px;background:#fff;color:#173846}.profile-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px}.profile-choice button{min-height:42px;border:1px solid rgba(23,56,70,.15);border-radius:11px;background:#f0ece4;color:#173846;font-size:9px}.profile-choice button.selected{background:#dcebe3;border-color:#4c8073;color:#174f48;font-weight:800}.profile-save{min-height:44px;border:0;border-radius:99px;background:#9d5747;color:#fff;font-weight:800}.passport-checkpoint{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:18px;background:rgba(3,19,25,.78);backdrop-filter:blur(10px)}.passport-checkpoint-card{width:min(520px,100%);padding:24px;border-radius:22px;background:#f7f3ec;color:#173846;box-shadow:0 30px 90px rgba(0,0,0,.45)}.passport-checkpoint-card small{font-size:9px;letter-spacing:.15em;color:#995b4e}.passport-checkpoint-card h2{margin:6px 0 8px;font:600 38px/1 var(--font-display),serif}.passport-checkpoint-card p{font-size:12px;line-height:1.5;color:#62757a}.passport-checkpoint-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}.passport-checkpoint-actions button{min-height:48px;border:1px solid rgba(23,56,70,.15);border-radius:99px;background:#173846;color:#fff;font-weight:800}.passport-checkpoint-actions button.alt{background:transparent;color:#173846}.passport-checkpoint-skip{display:block;width:100%;margin-top:8px;border:0;background:transparent;color:#6b797b;text-decoration:underline;font-size:10px}

/* V38 commercial candidate: visual travel menu, route photos, clean taxi address step */
.v38-menu{background:#f3eee5!important;color:#173846!important;padding:0!important;overflow:auto!important}.v38-menu>header{position:sticky!important;z-index:4!important;top:0!important;display:grid!important;grid-template-columns:auto 1fr auto!important;gap:12px!important;align-items:center!important;margin:0!important;padding:72px 22px 18px!important;background:linear-gradient(180deg,#0b303e 0,#143d49 100%)!important;color:#fff!important;box-shadow:0 10px 35px rgba(8,30,38,.18)}.v38-menu>header img{width:58px!important;height:58px!important}.v38-menu>header h2{font-size:34px!important}.v38-menu .journey-menu-account-state{align-self:center;text-align:right}.v38-menu .journey-menu-account-state b,.v38-menu .journey-menu-account-state small{display:block}.v38-menu .journey-menu-account-state b{font-size:10px}.v38-menu .journey-menu-account-state small{max-width:220px;overflow:hidden;text-overflow:ellipsis;font-size:8px;opacity:.72}.v38-menu .journey-menu-close{z-index:10!important;top:16px!important;right:18px!important;background:rgba(255,255,255,.1)!important;color:#fff!important;border-color:rgba(255,255,255,.25)!important}.v38-menu-home{max-width:1080px;margin:auto;padding:24px 24px 42px!important}.journey-resume-card{position:relative;display:block;width:100%;height:220px;margin:0 0 16px;padding:0;overflow:hidden;border:0;border-radius:24px;background:#173846;color:#fff;text-align:left;box-shadow:0 16px 40px rgba(41,50,49,.14)}.journey-resume-card>img{width:100%;height:100%;object-fit:cover}.journey-resume-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,29,38,.9),rgba(6,29,38,.18) 68%,transparent)}.journey-resume-card>span{position:absolute;z-index:2;left:22px;bottom:20px;display:grid;gap:4px}.journey-resume-card small{font-size:9px;letter-spacing:.16em;color:#efb596}.journey-resume-card b{font:600 34px/1 var(--font-display),serif}.journey-resume-card i{font-style:normal;font-size:24px}.journey-memory-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:22px}.journey-memory-strip>span{display:grid;gap:3px;padding:10px 12px;border-radius:14px;background:#fffaf1;border:1px solid rgba(23,56,70,.08)}.journey-memory-strip small{font-size:8px;color:#956453;letter-spacing:.09em}.journey-memory-strip b{font-size:11px;color:#173846}.v38-object-grid{grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.v38-object-grid .journey-object-card{position:relative!important;display:block!important;min-height:205px!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:20px!important;background:#173846!important;color:#fff!important}.v38-object-grid .journey-object-card>img{width:100%!important;height:100%!important;object-fit:cover!important;filter:saturate(.88) brightness(.84)}.v38-object-grid .journey-object-card:nth-child(1)>img,.v38-object-grid .journey-object-card:nth-child(4)>img,.v38-object-grid .journey-object-card:nth-child(5)>img,.v38-object-grid .journey-object-card:nth-child(6)>img{object-fit:contain!important;padding:25px;background:linear-gradient(145deg,#143946,#0a2631);filter:none}.journey-object-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,19,26,.93),rgba(3,19,26,.03) 70%)}.v38-object-grid .journey-object-card>div{position:absolute;z-index:2;right:14px;bottom:14px;left:14px}.v38-object-grid .journey-object-card small{display:block!important;margin-bottom:4px!important;color:#efb596!important;font-size:8px!important;letter-spacing:.12em}.v38-object-grid .journey-object-card b{display:block!important;color:#fff!important;font:600 27px/1 var(--font-display),serif!important}.v38-object-grid .journey-object-card p{margin:5px 0 0!important;color:rgba(255,255,255,.82)!important;font:500 10px/1.35 var(--font-sans),sans-serif!important}.v38-menu .journey-menu-footer{max-width:1080px;margin:18px auto 0}.v38-menu .object-ledger{max-width:1080px!important;margin:auto!important;padding:26px 24px 50px!important}.passport-hero,.wallet-hero,.journal-cover{position:relative;display:grid;grid-template-columns:minmax(180px,38%) 1fr;gap:24px;align-items:center;overflow:hidden;padding:20px;border-radius:24px;background:linear-gradient(145deg,#0c3441,#1b4b54);color:#fff}.passport-hero img,.wallet-hero img{width:100%;height:220px;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(0,0,0,.28))}.passport-hero small,.wallet-hero small,.journal-cover small{font-size:8px;letter-spacing:.18em;color:#efb596}.passport-hero h3,.wallet-hero h3,.journal-cover h3{margin:5px 0!important;color:#fff;font-size:42px!important}.passport-hero p,.wallet-hero p{font-size:11px;line-height:1.45;opacity:.8}.v38-stamps{grid-template-columns:repeat(7,1fr)!important;gap:10px!important}.v38-stamps figure{margin:0}.v38-stamps .passport-stamp-slot{min-height:132px!important;padding:8px!important;background:#fffaf1!important}.v38-stamps .passport-stamp-slot img{width:92px!important;max-height:92px!important}.v38-stamps .passport-stamp-slot.locked img{filter:grayscale(1) sepia(.15)!important;opacity:.22}.v38-stamps figcaption{display:flex;justify-content:center;gap:5px;font-size:8px;color:#6a7778}.v38-stamps figcaption b{color:#8e4b3d}.passport-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.passport-facts>span{display:grid;gap:4px;padding:13px;border-radius:14px;background:#fffaf1}.passport-facts small{font-size:8px;color:#956453}.passport-facts b{font-size:12px}.ledger-intro{max-width:65ch;color:#617276;line-height:1.5}.route-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.route-photo-card{position:relative;min-height:250px;overflow:hidden;border-radius:18px;background:#173846}.route-photo-card img{width:100%;height:100%;object-fit:cover}.route-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,25,33,.96),rgba(4,25,33,.04) 70%)}.route-photo-card.locked img{filter:grayscale(.55) brightness(.65)}.route-photo-card>div{position:absolute;z-index:2;right:12px;bottom:12px;left:12px;color:#fff}.route-photo-card small{font-size:8px;letter-spacing:.15em;color:#efb596}.route-photo-card b,.route-photo-card span,.route-photo-card i{display:block}.route-photo-card b{font:600 23px/1 var(--font-display),serif}.route-photo-card span{margin-top:5px;font-size:9px;opacity:.82}.route-photo-card i{margin-top:8px;font-size:8px;font-style:normal}.wallet-hero{grid-template-columns:minmax(200px,45%) 1fr}.wallet-meter{height:8px;margin:16px 0 8px;overflow:hidden;border-radius:99px;background:#ddd6ca}.wallet-meter span{display:block;height:100%;background:#a45b4b}.wallet-ledger{display:grid;gap:0;border-radius:18px;overflow:hidden;border:1px solid rgba(23,56,70,.09)}.wallet-ledger>div{display:flex;justify-content:space-between;padding:15px 16px;background:#fffaf1;border-bottom:1px solid rgba(23,56,70,.08)}.wallet-ledger>div:last-child{border:0}.wallet-ledger .out b{color:#9d5747}.wallet-ledger .balance{background:#173846;color:#fff}.journal-cover{grid-template-columns:1fr;min-height:240px;padding:0}.journal-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.62)}.journal-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,33,.88),transparent)}.journal-cover>div{position:relative;z-index:2;padding:26px}.v38-journal ol{margin-top:14px}.v38-journal ol li{align-items:center;border-radius:12px;background:#fffaf1}.v38-journal ol li b{color:#2d725f}.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.docs-grid>a{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;padding:15px;border-radius:16px;background:#fffaf1;border:1px solid rgba(23,56,70,.08);color:#173846;text-decoration:none}.docs-grid>a i{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;background:#173846;color:#fff;font-style:normal}.docs-grid>a b,.docs-grid>a small{display:block}.docs-grid>a small{margin-top:4px;color:#657579;line-height:1.35}.docs-contact{display:inline-flex;margin-top:12px;color:#173846}.account-after-day0{grid-column:1/-1;margin:0;padding:12px;border-radius:12px;background:#f1ece4;color:#667579;font-size:10px;line-height:1.45}.stamp-award-v38{padding:24px!important}.stamp-passport-page{position:relative;display:grid;height:310px;place-items:center;margin:14px 0 10px;overflow:hidden;border:1px solid #ddceb1;border-radius:14px;background:linear-gradient(115deg,#fbf3dc,#f4e6c9);box-shadow:inset 0 0 40px rgba(126,92,58,.08)}.stamp-page-label{position:absolute;top:14px;left:16px;font-size:9px;letter-spacing:.18em;color:#8e6d57}.stamp-target-ring{position:absolute;width:160px;height:160px;border:1px dashed rgba(144,71,57,.3);border-radius:50%}.stamp-descend{position:relative!important;width:190px!important;animation:stamp-drop-v38 1.15s cubic-bezier(.16,.9,.2,1) both!important}.stamp-impact{position:absolute;width:190px;height:190px;border-radius:50%;box-shadow:0 0 0 0 rgba(158,61,49,.28);animation:stamp-impact-v38 1s ease-out .72s both}.stamp-award-kicker{position:relative;z-index:2;font-size:8px;letter-spacing:.18em;color:#985b4d}.taxi-address-panel{position:absolute;z-index:18;right:4%;bottom:5%;width:min(520px,90vw);padding:18px;border-left:2px solid #d79277;background:rgba(5,28,39,.86);color:#fff;backdrop-filter:blur(10px);box-shadow:0 18px 45px rgba(0,0,0,.28)}.taxi-address-panel>small{font-size:8px;letter-spacing:.2em;color:#efb596}.taxi-address-panel h2{margin:6px 0 4px;font:600 34px/1 var(--font-display),serif}.taxi-address-panel p{margin:0 0 8px;font-size:11px;line-height:1.4;opacity:.82}.address-slip-v38{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;margin-top:10px!important;min-height:72px!important;padding:10px 14px!important}.address-slip-v38 small,.address-slip-v38 b,.address-slip-v38 span{display:block}.address-slip-v38 b{font-size:18px}.address-slip-v38 span{margin-top:3px;font-size:11px}.threshold-local-resume{margin-top:9px;padding:7px 0;border:0;background:none;color:#fff;text-decoration:underline;font-size:10px;opacity:.8}.threshold-account-synced{margin-top:10px!important}.v38-threshold-actions .secondary small{display:block;margin-top:2px;font-size:8px;opacity:.7}.meal-choice-whisper{transition:all .3s}
@keyframes stamp-drop-v38{0%{transform:translateY(-330px) rotate(-13deg) scale(1.2);opacity:0}55%{opacity:1}72%{transform:translateY(7px) rotate(1deg) scale(1.03)}82%{transform:translateY(0) rotate(0) scale(.92)}100%{transform:translateY(0) rotate(0) scale(1)}}@keyframes stamp-impact-v38{0%{box-shadow:0 0 0 0 rgba(158,61,49,.32);opacity:0}25%{opacity:1}100%{box-shadow:0 0 0 70px rgba(158,61,49,0);opacity:0}}
@media(max-width:760px){.v38-menu>header{grid-template-columns:48px 1fr!important;padding:70px 15px 14px!important}.v38-menu>header .journey-menu-account-state{grid-column:1/-1;text-align:left;padding-left:60px;margin-top:-8px}.v38-menu>header h2{font-size:28px!important}.v38-menu-home,.v38-menu .object-ledger{padding:16px 12px 30px!important}.journey-resume-card{height:165px;border-radius:18px}.journey-resume-card b{font-size:27px}.journey-memory-strip{grid-template-columns:1fr 1fr}.v38-object-grid{grid-template-columns:1fr 1fr!important}.v38-object-grid .journey-object-card{min-height:165px!important}.v38-object-grid .journey-object-card b{font-size:23px!important}.v38-stamps{grid-template-columns:repeat(2,1fr)!important}.route-photo-grid{grid-template-columns:1fr 1fr}.route-photo-card{min-height:210px}.passport-hero,.wallet-hero{grid-template-columns:1fr;gap:4px}.passport-hero img,.wallet-hero img{height:160px}.passport-hero>div,.wallet-hero>div{padding:0 8px 12px}.passport-hero h3,.wallet-hero h3{font-size:34px!important}.docs-grid{grid-template-columns:1fr}.taxi-address-panel{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto;padding:13px}.taxi-address-panel h2{font-size:26px}.taxi-address-panel .phrase-guide{width:100%;box-sizing:border-box}.taxi-greeting-v38{bottom:max(14px,var(--safe))!important}.stamp-passport-page{height:265px}.stamp-descend{width:165px!important}.v38-threshold-actions{display:grid!important;grid-template-columns:1fr!important}.v38-threshold-actions .primary,.v38-threshold-actions .secondary{width:100%!important}.journey-menu-trigger{z-index:41!important}}
@media(max-width:420px){.v38-object-grid{grid-template-columns:1fr!important}.route-photo-grid{grid-template-columns:1fr 1fr}.route-photo-card{min-height:180px}.route-photo-card b{font-size:20px}.v38-stamps{grid-template-columns:repeat(2,1fr)!important}.journey-memory-strip b{font-size:10px}}

/* V39 — retention arc: emotion first, offer second */
.trial{display:block!important;padding:0!important;background:#061c27!important;overflow:hidden!important}
.trial-flow{position:relative;min-height:100svh;background:#061c27;color:#fff;overflow:auto}
.trial-journal-stage{min-height:100svh;display:grid;place-items:center;padding:110px 5vw 5vh;background:linear-gradient(135deg,#071f2b,#123e4b)}
.trial-journal-stage .journal{width:min(980px,100%);border-radius:26px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.trial-flow-next{width:100%;min-height:58px;margin-top:20px;border:0;border-radius:999px;background:#173846;color:#fff;font:600 19px/1 var(--font-display),serif}
.mei-clue-stage{position:relative;min-height:100svh;display:grid;place-items:center;padding:110px 5vw 6vh;background:#071a22 url('../assets/day1/ryokan-room-night.webp') center/cover no-repeat}
.mei-clue-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,18,25,.36),rgba(3,18,25,.88))}
.mei-clue-card{position:relative;z-index:2;width:min(650px,92vw);padding:clamp(25px,6vw,55px);background:rgba(247,240,223,.96);color:#173846;transform:rotate(-1deg);box-shadow:0 30px 75px rgba(0,0,0,.45)}
.mei-clue-card small{font-size:9px;letter-spacing:.2em;color:#9b5a4a}.mei-clue-card h2{margin:12px 0;font:600 clamp(32px,6vw,54px)/1.08 var(--font-display),serif}.mei-clue-jp{margin:22px 0 8px;font:500 clamp(29px,7vw,54px)/1.2 serif;letter-spacing:.04em}.mei-clue-card p{line-height:1.55}.mei-clue-card .trial-flow-next{background:#173846}
.day2-teaser-stage{position:relative;min-height:100svh;display:grid;place-items:center;padding:28px;background:#050d12;overflow:hidden}
.day2-teaser-visual{position:absolute;inset:0;background:url('../assets/menu/route-j2.webp') center/cover no-repeat;animation:teaser-zoom 9s ease-out both;filter:saturate(.82) brightness(.68)}
.day2-teaser-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,10,14,.12),rgba(2,10,14,.2) 45%,rgba(2,10,14,.92))}
.day2-teaser-cuts{position:absolute;z-index:2;inset:15% 5% 28%;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:8px;pointer-events:none}
.day2-teaser-cuts span{overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.13);opacity:0;animation:teaser-cut 1.3s ease forwards}
.day2-teaser-cuts span:before{content:"";display:block;width:100%;height:100%;background-image:url('../assets/menu/route-j2.webp');background-size:250% auto}
.day2-teaser-cuts span:nth-child(1){animation-delay:.35s}.day2-teaser-cuts span:nth-child(1):before{background-position:10% 35%}
.day2-teaser-cuts span:nth-child(2){animation-delay:1.15s}.day2-teaser-cuts span:nth-child(2):before{background-position:55% 50%}
.day2-teaser-cuts span:nth-child(3){animation-delay:1.95s}.day2-teaser-cuts span:nth-child(3):before{background-position:92% 42%}
.day2-teaser-copy{position:relative;z-index:3;width:min(760px,94vw);text-align:center;text-shadow:0 3px 20px #000}.day2-teaser-copy small{font-size:9px;letter-spacing:.22em;color:#efb596}.day2-teaser-copy h2{margin:10px 0 7px;font:600 clamp(38px,7vw,66px)/.98 var(--font-display),serif}.day2-teaser-copy p{margin:0 auto 18px;max-width:52ch;line-height:1.5;opacity:.88}.day2-teaser-copy .trial-flow-next{max-width:520px;background:#b45e4d}
.trial-offer-stage{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:2px;padding:110px 4vw 5vh;background:linear-gradient(135deg,#071f2b,#123e4b)}
.trial-offer-story,.trial-offer-card{padding:clamp(28px,5vw,56px)}
.trial-offer-story{position:relative;overflow:hidden;background:#0b2a35;color:#fff}.trial-offer-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;filter:saturate(.8)}.trial-offer-story:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,26,35,.97),rgba(5,26,35,.55))}.trial-offer-story>div{position:relative;z-index:2;max-width:620px}.trial-offer-story small{font-size:9px;letter-spacing:.2em;color:#efb596}.trial-offer-story h2{margin:10px 0;font:600 clamp(38px,6vw,66px)/.98 var(--font-display),serif}.trial-offer-story p{line-height:1.55}.continuation-memory{display:grid;gap:8px;margin-top:25px}.continuation-memory span{padding:11px 13px;border-left:2px solid #c76e5c;background:rgba(255,255,255,.06);font-size:12px}
.trial-offer-card{background:var(--paper);color:var(--ink)}.trial-offer-card h3{margin:7px 0 12px;font:600 clamp(31px,4vw,46px)/1 var(--font-display),serif}.trial-offer-card .price{margin-top:18px}.trial-offer-card .honesty{margin-top:14px}
@keyframes teaser-zoom{from{transform:scale(1.06)}to{transform:scale(1.14)}}
@keyframes teaser-cut{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:760px){.trial-journal-stage{padding:92px 12px 24px}.trial-journal-stage .journal{border-radius:18px}.mei-clue-stage{padding:90px 14px 24px}.day2-teaser-stage{padding:80px 12px 24px}.day2-teaser-cuts{inset:18% 12px 35%;grid-template-columns:1fr 1fr 1fr}.day2-teaser-cuts span{border-radius:12px}.trial-offer-stage{grid-template-columns:1fr;padding:78px 12px 24px}.trial-offer-story,.trial-offer-card{padding:28px 22px}.trial-offer-story{min-height:430px}.memory-strip{height:130px}}
.day0-hidden-line{margin-top:14px;padding:13px 15px;border-left:2px solid #d48a72;background:rgba(5,28,39,.64);color:#fff}.day0-hidden-line small,.day0-hidden-line b,.day0-hidden-line p{display:block}.day0-hidden-line small{font-size:8px;letter-spacing:.14em;color:#efb596}.day0-hidden-line b{margin:6px 0;font:500 25px/1.2 serif}.day0-hidden-line p{margin:0;font-size:11px;line-height:1.45}

/* V40 — avis court avant paiement + profil/admin/légal */
.trial-review-v40{position:relative;z-index:12;min-height:100svh;display:grid;place-items:center;padding:105px 4vw 44px;background:linear-gradient(135deg,rgba(5,26,35,.96),rgba(16,54,66,.96));color:#fff}
.trial-review-shell{width:min(980px,100%);display:grid;grid-template-columns:minmax(260px,.74fr) minmax(420px,1.26fr);overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:#f9f3e4;box-shadow:0 30px 90px rgba(0,0,0,.38)}
.trial-review-intro{position:relative;min-height:100%;padding:42px 34px;background:linear-gradient(160deg,rgba(6,36,48,.88),rgba(6,25,35,.97)),url('../assets/day1/ryokan-room-night.webp') center/cover no-repeat;color:#fff}
.trial-review-intro .review-stamp{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.3))}
.trial-review-intro small{display:block;margin-top:24px;font-size:9px;letter-spacing:.22em;color:#efb596}.trial-review-intro h2{margin:9px 0 14px;font:600 clamp(36px,5vw,58px)/.98 var(--font-display),serif}.trial-review-intro p{max-width:34ch;margin:0;line-height:1.55;opacity:.86}
.trial-review-form{display:grid;gap:18px;padding:34px;color:var(--ink)}.trial-review-form fieldset{margin:0;padding:0;border:0}.trial-review-form legend,.trial-review-field>span{display:block;margin-bottom:9px;font-weight:750;line-height:1.35}.trial-review-form textarea{width:100%;min-height:82px;resize:vertical;padding:13px 14px;border:1px solid rgba(24,59,70,.2);border-radius:13px;background:#fffdf7;color:var(--ink);font:inherit;line-height:1.45}.trial-review-field.private textarea{min-height:66px}.trial-review-stars{display:flex;gap:8px}.trial-review-stars label{position:relative;display:grid;min-width:48px;min-height:48px;place-items:center;cursor:pointer}.trial-review-stars input{position:absolute;opacity:0}.trial-review-stars span{font-size:31px;color:#d2c5aa;transition:.2s}.trial-review-stars input:checked+span,.trial-review-stars label:has(input:checked)~label span{color:#d2c5aa}.trial-review-stars:has(input[value="1"]:checked) label:nth-child(1) span,.trial-review-stars:has(input[value="2"]:checked) label:nth-child(-n+2) span,.trial-review-stars:has(input[value="3"]:checked) label:nth-child(-n+3) span,.trial-review-stars:has(input[value="4"]:checked) label:nth-child(-n+4) span,.trial-review-stars:has(input[value="5"]:checked) label:nth-child(-n+5) span{color:#b86150}.trial-review-stars small{font-size:9px;color:#69767a}
.review-visibility{display:grid;grid-template-columns:1fr 1fr;gap:9px}.review-visibility label{position:relative;display:block;padding:12px 13px;border:1px solid rgba(24,59,70,.2);border-radius:14px;background:#fffdf7;cursor:pointer}.review-visibility input{position:absolute;opacity:0}.review-visibility label:has(input:checked){border-color:#a95748;box-shadow:0 0 0 2px rgba(169,87,72,.1)}.review-visibility b,.review-visibility small{display:block}.review-visibility small{margin-top:3px;font-size:10px;line-height:1.35;color:#637379}.trial-review-privacy{margin:-4px 0 0;padding:10px 12px;border-left:2px solid #d0a66e;background:rgba(208,166,110,.08);font-size:10px;line-height:1.45;color:#53656b}.trial-review-notice{min-height:18px;margin:0;color:#a33e3e;font-size:10px}.trial-review-actions{display:grid;gap:8px}.trial-review-submit,.trial-review-skip{min-height:52px;border-radius:999px;font-weight:750}.trial-review-submit{border:0;background:var(--terra);color:#fff}.trial-review-skip{border:1px solid rgba(24,59,70,.25);background:transparent;color:var(--ink)}
.profile-object-card{position:relative}.profile-object-avatar{position:relative;z-index:2;display:grid;width:100%;height:100%;min-height:160px;place-items:center;background:linear-gradient(145deg,#cfb997,#f0e2c8);color:#173846;font:600 clamp(54px,7vw,86px)/1 var(--font-display),serif;text-transform:uppercase}.profile-object-card .journey-object-shade{z-index:3}.profile-object-card>div{z-index:4}.journey-admin-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:13px 15px;border:1px solid rgba(247,240,223,.18);border-radius:16px;background:rgba(169,87,72,.14);color:#fff;text-decoration:none}.journey-admin-card b,.journey-admin-card small{display:block}.journey-admin-card small{margin-top:3px;opacity:.7}.journey-legal-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(247,240,223,.12)}.journey-legal-links a{color:rgba(255,255,255,.76);font-size:9px;text-decoration:none}.journey-legal-links a:hover{text-decoration:underline}.profile-admin-link{display:grid;place-items:center;min-height:44px;padding:10px 14px;border-radius:999px;background:#a95748;color:#fff;text-decoration:none;font-weight:750}
@media(max-width:760px){.trial-review-v40{padding:82px 12px 28px;align-items:start}.trial-review-shell{display:block;border-radius:20px}.trial-review-intro{min-height:auto;padding:24px 20px}.trial-review-intro .review-stamp{width:62px;height:62px}.trial-review-intro small{margin-top:14px}.trial-review-intro h2{font-size:38px}.trial-review-form{padding:23px 18px;gap:16px}.trial-review-stars{justify-content:space-between}.trial-review-stars label{min-width:42px}.review-visibility{grid-template-columns:1fr}.profile-object-avatar{min-height:132px}}


/* V41 — carnet par journée, fin émotionnelle, airport fail-safe et atmosphères */
.airport-wayfinding button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.airport-route-cue{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#efb596}.airport-route-cue i{display:block;width:52px;height:2px;background:#efb596;animation:airport-cue 1.6s ease-in-out infinite}.airport-route-cue span{font-size:20px}@keyframes airport-cue{50%{transform:translateX(8px);opacity:.55}}
.d1-airport .world:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 18%,rgba(255,255,255,.09) 36%,transparent 52%);transform:translateX(-65%);animation:terminal-light 8s ease-in-out infinite}.d1-hakata .world:after{content:"";position:absolute;inset:55% 0 0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,213,151,.07));backdrop-filter:blur(.6px);animation:summer-haze 4.5s ease-in-out infinite alternate}.d1-garden .world:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 58% 47%,rgba(255,203,111,.12),transparent 18%),linear-gradient(105deg,transparent 30%,rgba(255,255,255,.035) 48%,transparent 62%);animation:garden-glow 6s ease-in-out infinite alternate}.d1-night .world:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,15,22,.03),rgba(2,8,12,.28));animation:night-settle 4s ease both}@keyframes terminal-light{50%{transform:translateX(65%)}}@keyframes summer-haze{to{opacity:.55;transform:translateY(-3px)}}@keyframes garden-glow{to{opacity:.58}}@keyframes night-settle{from{opacity:0}to{opacity:1}}
.v41-journal{max-width:1120px!important}.journal-title-row{display:flex;align-items:end;justify-content:space-between;margin:10px 0 16px}.journal-title-row small{font-size:8px;letter-spacing:.18em;color:#9a5a4b}.journal-title-row h3{margin:4px 0!important;font-size:42px!important}.journal-title-row>b{font:600 28px var(--font-display),serif;color:#a95748}.journal-day-tabs{display:grid;grid-template-columns:120px 120px 1fr;gap:8px;margin-bottom:14px}.journal-day-tabs button,.journal-day-tabs>span{display:grid;gap:2px;min-height:62px;align-content:center;padding:9px 12px;border:1px solid rgba(23,56,70,.13);border-radius:15px;background:#fffaf1;color:#173846;text-align:left}.journal-day-tabs button.active{background:#173846;color:#fff}.journal-day-tabs button:disabled,.journal-day-tabs>span{opacity:.48}.journal-day-tabs small{font-size:8px}.journal-day-page{display:grid;gap:14px}.journal-photo-page{position:relative;min-height:300px;overflow:hidden;border-radius:22px;background:#173846;color:#fff}.journal-photo-page>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.66)}.journal-photo-page:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,25,33,.9),rgba(4,25,33,.12) 70%)}.journal-photo-page>div{position:absolute;z-index:2;left:24px;bottom:22px;max-width:520px}.journal-photo-page small{font-size:8px;letter-spacing:.18em;color:#efb596}.journal-photo-page h4{margin:5px 0;font:600 42px/1 var(--font-display),serif}.journal-photo-page p{margin:7px 0 0;max-width:46ch;font-size:11px;line-height:1.45}.journal-moment-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.journal-moment-photos figure{position:relative;height:160px;margin:0;overflow:hidden;border-radius:15px;background:#173846}.journal-moment-photos img{width:100%;height:100%;object-fit:cover}.journal-moment-photos figcaption{position:absolute;right:8px;bottom:8px;left:8px;padding:7px 9px;border-radius:9px;background:rgba(5,28,39,.72);color:#fff;font-size:9px}.journal-section{padding:18px;border:1px solid rgba(23,56,70,.09);border-radius:18px;background:#fffaf1}.journal-section h4{margin:0 0 11px;font:600 27px var(--font-display),serif}.journal-section ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.journal-section li{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(23,56,70,.08);font-size:11px}.journal-section li:last-child{border:0}.journal-section li b{color:#2d725f}.journal-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.journal-choice-grid>span{display:grid;gap:3px;padding:11px;border-radius:12px;background:#f2eadc}.journal-choice-grid small{font-size:8px;color:#8f6254}.journal-choice-grid b{font-size:11px}.journal-language>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.journal-language button{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid rgba(23,56,70,.11);border-radius:12px;background:#fff;color:#173846;text-align:left}.journal-language i{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:#173846;color:#fff;font-style:normal}.journal-language b,.journal-language small{display:block}.journal-language b{font-family:serif;font-size:18px}.journal-language small{margin-top:2px;font-size:8px;color:#6a7778}.journal-thread{padding:16px 18px;border-left:3px solid #a95748;background:#173846;color:#fff}.journal-thread small,.journal-thread b,.journal-thread p{display:block}.journal-thread small{font-size:8px;letter-spacing:.15em;color:#efb596}.journal-thread b{margin:6px 0;font:500 25px serif}.journal-thread p{margin:0;font-size:10px;line-height:1.45;opacity:.8}
.v41-end-journal{max-width:920px!important}.v41-end-journal h2{max-width:760px}.end-day-checks{grid-template-columns:1fr 1fr!important}.end-day-checks li{display:flex!important;align-items:center;gap:9px!important}.end-day-checks li b{color:#2d725f}.end-journal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}.end-journal-details>span{display:grid;gap:3px;padding:11px;border:1px solid rgba(24,59,70,.12);border-radius:12px}.end-journal-details span{font-size:9px}.end-journal-details b{font-size:12px}.end-thread-note{margin-top:14px;padding:13px 15px;border-left:2px solid #a95748;background:#173846;color:#fff}.end-thread-note small,.end-thread-note b{display:block}.end-thread-note small{font-size:7px;letter-spacing:.13em;color:#efb596}.end-thread-note b{margin-top:5px;font:500 22px serif}
.mei-phone-stage{position:relative;min-height:100svh;display:grid;place-items:center;padding:90px 18px 28px;background:linear-gradient(180deg,rgba(3,13,18,.38),rgba(3,13,18,.88)),url('../assets/day1/ryokan-room-night.webp') center/cover no-repeat}.mei-phone{width:min(430px,92vw);min-height:620px;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:38px;background:#10161b;color:#fff;box-shadow:0 34px 90px rgba(0,0,0,.56);animation:phone-buzz .65s ease .35s both}.phone-top{display:flex;justify-content:space-between;padding:7px 12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}.phone-top small{opacity:.6}.phone-top span{font-weight:700}.phone-thread{display:flex;min-height:520px;flex-direction:column;justify-content:flex-end;gap:10px;padding:18px 8px}.phone-message{display:flex;max-width:88%;gap:8px;align-items:end}.phone-message img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#eee}.phone-message p{margin:0;padding:11px 13px;border-radius:17px 17px 17px 4px;background:#26343a;font-size:13px;line-height:1.4}.phone-message.mine{align-self:flex-end}.phone-message.mine p{border-radius:17px 17px 4px 17px;background:#a95748}.phone-message.second{animation:message-in .4s ease .3s both}.phone-replies{display:grid;gap:7px;margin-top:8px}.phone-replies button,.phone-sleep{min-height:48px;padding:10px 13px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#1a252b;color:#fff;text-align:left}.phone-sleep{width:100%;margin-top:8px;text-align:center;background:#f4eee1;color:#173846;font-weight:750}@keyframes phone-buzz{0%,100%{transform:none}15%{transform:translateX(-4px) rotate(-.4deg)}30%{transform:translateX(4px) rotate(.4deg)}45%{transform:translateX(-3px)}60%{transform:translateX(2px)}}@keyframes message-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v41-teaser .day2-teaser-copy{opacity:0;animation:teaser-copy-in .75s ease 4.7s both}.day2-mei-silhouette{position:absolute;z-index:2;right:8%;bottom:17%;height:52%;max-width:34vw;object-fit:contain;object-position:bottom;filter:brightness(.08) saturate(.2);opacity:0;animation:mei-silhouette-in 1.2s ease 3.1s both}.v41-teaser .day2-teaser-cuts span:nth-child(1){animation-delay:.45s}.v41-teaser .day2-teaser-cuts span:nth-child(2){animation-delay:1.55s}.v41-teaser .day2-teaser-cuts span:nth-child(3){animation-delay:2.65s}@keyframes teaser-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes mei-silhouette-in{from{opacity:0;transform:translateX(16px)}to{opacity:.5;transform:none}}
.journey-access-progress{display:grid;gap:7px;margin:20px 0}.journey-access-progress>span{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:9px;padding:11px 13px;border-radius:12px;background:rgba(255,255,255,.07)}.journey-access-progress b{font:600 19px var(--font-display),serif}.journey-access-progress i{font-style:normal;font-size:11px}.journey-access-progress strong{font-size:14px}.journey-access-progress .done strong{color:#a9d5be}.journey-access-progress .locked{border:1px solid rgba(239,181,150,.22)}
@media(max-width:760px){.journal-day-tabs{grid-template-columns:1fr 1fr}.journal-day-tabs>span{grid-column:1/-1}.journal-photo-page{min-height:240px}.journal-photo-page>div{left:16px;bottom:15px;right:16px}.journal-photo-page h4{font-size:34px}.journal-moment-photos{grid-template-columns:1fr 1fr 1fr}.journal-moment-photos figure{height:105px}.journal-choice-grid{grid-template-columns:1fr 1fr}.journal-language>div{grid-template-columns:1fr}.end-day-checks{grid-template-columns:1fr!important}.end-journal-details{grid-template-columns:1fr 1fr}.mei-phone{min-height:570px}.phone-thread{min-height:470px}.day2-mei-silhouette{right:-4%;bottom:23%;height:42%;max-width:55vw}.journey-access-progress>span{grid-template-columns:62px 1fr auto}}


/* V43 — airport render fix + navigation reliability */
.airport-wayfinding{z-index:58!important;pointer-events:auto!important}
.airport-prompt{z-index:60!important;background:linear-gradient(90deg,rgba(4,24,33,.94),rgba(4,24,33,.62))!important;border-left:3px solid #d99075!important;box-shadow:0 16px 42px rgba(0,0,0,.22)}
.airport-signs{z-index:62!important;pointer-events:auto!important}
.airport-signs button{position:relative!important;z-index:63!important;pointer-events:auto!important;background:rgba(5,28,39,.94)!important;border:1px solid rgba(247,240,223,.72)!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important;color:#fff!important}
.airport-signs button:focus-visible,.airport-signs button:active{outline:3px solid rgba(239,181,150,.65);outline-offset:2px}
.airport-confirm{z-index:62!important}
.airport-scene-safety{position:absolute;z-index:61;left:4vw;bottom:7vh;padding:7px 10px;border:1px solid rgba(247,240,223,.28);border-radius:999px;background:rgba(5,28,39,.76);color:#fff;font-size:9px;letter-spacing:.05em;backdrop-filter:blur(8px)}

/* Light commercial menu: never use white-on-cream text. */
.journey-menu .journey-legal-links{border-top-color:rgba(23,56,70,.14)!important}
.journey-menu .journey-legal-links a{color:#173846!important;background:#e9e4da;padding:7px 9px;border-radius:999px;font-weight:700;font-size:10px!important}
.journey-menu .journey-legal-links a:hover,.journey-menu .journey-legal-links a:focus{background:#dcd4c7;color:#0b2d3a!important;text-decoration:none!important}
.journey-menu .journey-admin-card{background:#ead7cf!important;border-color:#d2b7aa!important;color:#173846!important}
.journey-menu .journey-admin-card small{color:#5f7075!important;opacity:1!important}
.journey-menu .journey-admin-card strong{color:#914f43!important}
.journey-menu .journey-menu-footer button{border-color:rgba(23,56,70,.18)!important;color:#173846!important}
.journey-menu .journey-menu-footer button:last-child{background:#173846!important;color:#fff!important}

.threshold{padding-bottom:max(92px,calc(env(safe-area-inset-bottom) + 78px))!important}
.threshold-legal{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:20px;max-width:620px}
.threshold-legal a{color:#fff!important;font-size:10px;font-weight:600;text-decoration:none;padding:6px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(4,24,33,.42);backdrop-filter:blur(7px)}
.threshold-legal a:hover,.threshold-legal a:focus{background:rgba(247,240,223,.92);color:#173846!important}
.threshold-start-note{margin-top:8px;font-size:9px;color:rgba(255,255,255,.76);line-height:1.4}

.restart-shell{position:fixed;z-index:190;inset:0;display:grid;place-items:center;padding:18px;background:rgba(2,16,22,.78);backdrop-filter:blur(10px)}
.restart-card{width:min(480px,100%);padding:26px;border-radius:24px;background:#f7f3ec;color:#173846;box-shadow:0 30px 90px rgba(0,0,0,.45)}
.restart-card small{font-size:9px;letter-spacing:.16em;color:#9b5a4a}.restart-card h2{margin:8px 0;font:600 38px/1 var(--font-display),serif}.restart-card p{line-height:1.5;color:#5e7076}.restart-actions{display:grid;gap:8px;margin-top:18px}.restart-actions button{min-height:50px;border-radius:999px;border:1px solid rgba(23,56,70,.2);font-weight:750}.restart-actions .danger{background:#9d5747;color:#fff;border-color:#9d5747}.restart-actions .keep{background:transparent;color:#173846}

@media(max-width:700px){
 .airport-prompt{left:12px!important;right:12px!important;top:22%!important;width:auto!important;padding:13px 14px!important}.airport-prompt h2{font-size:25px!important}.airport-prompt p{font-size:11px!important}
 .airport-signs{right:12px!important;bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px))!important;left:12px!important;width:auto!important;grid-template-columns:1fr!important;gap:7px!important}
 .airport-signs button{display:grid!important;grid-template-columns:94px 1fr!important;align-items:center!important;min-height:58px!important;padding:9px 13px!important;text-align:left!important;border-radius:14px!important}.airport-signs b{font-size:22px!important}.airport-signs span{font-size:10px!important;margin-top:0!important}
 .airport-scene-safety{display:none!important}
 .journey-menu .journey-legal-links{gap:7px!important}.journey-menu .journey-legal-links a{font-size:10px!important}
 .threshold{justify-content:flex-end!important;padding-top:128px!important;padding-bottom:max(30px,calc(env(safe-area-inset-bottom) + 22px))!important}.threshold h1{font-size:70px!important}.threshold .tagline{font-size:28px!important}.threshold .what{font-size:13px!important}.threshold-proof{margin-top:18px!important}.threshold-legal{margin-top:14px;gap:6px}.threshold-legal a{font-size:9px;padding:5px 7px}
}


/* V48 — accueil verrouillé : aucune scène J1 ne peut remplacer la couverture. */
.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka.webp?v=48')!important;background-position:center!important;background-size:cover!important}
.chapter-threshold .threshold,.chapter-threshold .threshold button,.chapter-threshold .threshold a{pointer-events:auto}
.chapter-threshold .threshold button,.chapter-threshold .threshold a{position:relative;z-index:6}
@media(max-width:700px){.chapter-threshold .world-image{background-image:url('../assets/accueil-plage-fukuoka-mobile.webp?v=48')!important;background-position:center!important}}


/* === V61 · SHELL / AUTH / MENU LOCK ===
   J0/J1 scenes remain V60. This pass only changes shell navigation and account UX. */
.v38-menu{width:min(610px,100vw)!important;background:#f2e8d8!important}
.v38-menu>header{position:relative!important;top:auto!important;grid-template-columns:64px minmax(0,1fr) auto!important;padding:78px 24px 20px!important;background:linear-gradient(180deg,#efe1cc 0%,#f5ecdf 100%)!important;color:#153744!important;border-bottom:1px solid rgba(21,55,68,.12)!important;box-shadow:none!important}
.v38-menu>header .journey-menu-logo-home{display:contents!important}
.v38-menu>header img{width:60px!important;height:60px!important;object-fit:contain!important}
.v38-menu>header h2{color:#153744!important;font-size:34px!important}
.v38-menu>header small{color:#9a5b4c!important}
.v38-menu .journey-menu-account-state{color:#536b71!important}.v38-menu .journey-menu-account-state b{color:#355c63!important}
.v38-menu .journey-menu-close{position:absolute!important;top:16px!important;right:18px!important;width:auto!important;min-width:150px!important;border:1px solid rgba(21,55,68,.14)!important;border-radius:999px!important;background:rgba(255,255,255,.55)!important;color:#153744!important;padding:10px 14px!important}
.v38-menu-home{padding:18px 22px 38px!important;background:#f2e8d8!important}
.journey-resume-card{height:190px!important;border-radius:14px!important}.journey-resume-card>span{left:20px!important;bottom:18px!important}.journey-resume-card b{font-size:30px!important}
.journey-memory-strip{grid-template-columns:repeat(4,1fr)!important;gap:7px!important;margin-bottom:20px!important}.journey-memory-strip>span{border-radius:8px!important;background:rgba(255,251,244,.78)!important}
.v38-object-grid{display:flex!important;flex-direction:column!important;gap:9px!important}
.v38-object-grid .journey-object-card{position:relative!important;display:grid!important;grid-template-columns:112px minmax(0,1fr) 28px!important;align-items:center!important;width:100%!important;min-height:104px!important;padding:8px 14px 8px 8px!important;border:1px solid rgba(21,55,68,.1)!important;border-radius:12px!important;background:#fffaf1!important;color:#153744!important;box-shadow:0 7px 18px rgba(54,42,29,.07)!important;text-align:left!important;overflow:hidden!important}
.v38-object-grid .journey-object-card:after{content:"›";grid-column:3;grid-row:1;align-self:center;justify-self:end;color:#9d6554;font:500 29px/1 var(--font-display),serif}
.v38-object-grid .journey-object-card>img{position:relative!important;grid-column:1;grid-row:1;width:102px!important;height:86px!important;padding:0!important;border-radius:9px!important;object-fit:cover!important;background:#e7d9c5!important;filter:saturate(.9) brightness(.94)!important}
.v38-object-grid .journey-object-card:nth-child(1)>img,.v38-object-grid .journey-object-card:nth-child(4)>img,.v38-object-grid .journey-object-card:nth-child(6)>img{object-fit:contain!important;padding:9px!important;background:#e9dece!important;filter:none!important}
.v38-object-grid .journey-object-card .journey-object-shade{display:none!important}
.v38-object-grid .journey-object-card>div{position:relative!important;right:auto!important;bottom:auto!important;left:auto!important;grid-column:2;grid-row:1;background:none!important;padding:0 10px!important}
.v38-object-grid .journey-object-card small{margin:0 0 3px!important;color:#9b5c4b!important;font-size:8px!important;letter-spacing:.13em!important}
.v38-object-grid .journey-object-card b{color:#153744!important;font:600 26px/1 var(--font-display),serif!important}
.v38-object-grid .journey-object-card p{max-width:40ch;margin:5px 0 0!important;color:#66777a!important;font:500 10px/1.4 var(--font-sans),sans-serif!important}
.profile-object-card .profile-object-avatar{position:relative!important;z-index:1!important;grid-column:1;grid-row:1;width:102px!important;height:86px!important;min-height:0!important;border-radius:9px!important;background:linear-gradient(145deg,#d6c2a4,#f0e2c9)!important;font-size:48px!important}
.profile-object-card>div{grid-column:2!important;grid-row:1!important;z-index:1!important}
.journey-menu-section-label{margin:10px 3px 9px!important;color:#806b5c!important}
.journey-admin-card{background:#e3d4c1!important;color:#153744!important;border-color:rgba(21,55,68,.1)!important;border-radius:10px!important}
.journey-legal-links{margin-top:16px!important}.journey-legal-links a{background:rgba(255,255,255,.46)!important;color:#153744!important}

.auth-shell{background:rgba(3,20,27,.78)!important;backdrop-filter:blur(12px)!important}.auth-card{width:min(500px,100%)!important;padding:28px!important;border-radius:18px!important;background:#f4eadb!important;box-shadow:0 30px 90px rgba(0,0,0,.42)!important}
.auth-card header{padding-bottom:16px;border-bottom:1px solid rgba(21,55,68,.1)}.auth-card header small{color:#9e5a49;font-size:8px;letter-spacing:.16em}.auth-card header h2{font-size:41px!important;color:#153744}.auth-card header p{max-width:43ch;font-size:11px!important;line-height:1.5;color:#617278!important}
.auth-form{gap:13px!important;margin-top:18px}.auth-form label{font-size:9px!important;letter-spacing:.04em}.auth-form input{min-height:52px!important;border-radius:8px!important;background:#fffaf2!important}.auth-submit{min-height:54px!important;border-radius:8px!important;background:#9d5747!important;font-size:12px!important}.auth-forgot{justify-self:start;padding:2px 0!important;color:#7d4e45!important;font-size:10px!important}.auth-note{margin:0!important;padding:10px 12px;border-radius:8px;background:rgba(255,255,255,.38);font-size:10px!important}.auth-note.error{background:rgba(166,56,50,.08)!important}.auth-email-note{border-left:2px solid #9d5747}.auth-login-note{border-left:2px solid #4f7b76}.auth-close{background:rgba(255,255,255,.5)!important}

@media(max-width:760px){
 .v38-menu{width:100vw!important}.v38-menu>header{grid-template-columns:54px 1fr!important;padding:72px 14px 15px!important}.v38-menu>header .journey-menu-account-state{grid-column:2!important;padding:0!important;margin:2px 0 0!important;text-align:left!important}.v38-menu .journey-menu-close{top:14px!important;right:12px!important;min-width:0!important;padding:9px 12px!important}
 .v38-menu-home{padding:14px 12px 28px!important}.journey-resume-card{height:155px!important}.journey-memory-strip{grid-template-columns:1fr 1fr!important}
 .v38-object-grid .journey-object-card{grid-template-columns:88px minmax(0,1fr) 22px!important;min-height:92px!important;padding:7px 10px 7px 7px!important}.v38-object-grid .journey-object-card>img,.profile-object-card .profile-object-avatar{width:80px!important;height:76px!important}.v38-object-grid .journey-object-card>div{padding:0 8px!important}.v38-object-grid .journey-object-card b{font-size:23px!important}.v38-object-grid .journey-object-card p{font-size:9px!important}.profile-object-card .profile-object-avatar{font-size:40px!important}
 .auth-shell{align-items:end!important;padding:0!important}.auth-card{width:100%!important;max-height:94svh!important;border-radius:22px 22px 0 0!important;padding:24px 18px max(24px,var(--safe))!important}.auth-card header h2{font-size:37px!important}
}


/* === V62 · HERITAGE MENU + ESSENTIAL PROTECTION ===
   Shell only. Day 0 / Day 1 scene blocks remain locked to V60. */
.v62-heritage-home{padding:14px 22px 38px!important;background:#efe4d2!important}
.v62-heritage-home .journey-resume-card{height:205px!important;margin-bottom:12px!important;border-radius:6px!important;box-shadow:0 14px 30px rgba(56,41,28,.14)!important}
.v62-heritage-home .journey-resume-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,25,32,.72));pointer-events:none}
.v62-heritage-home .journey-resume-card>span{z-index:2!important}
.v62-heritage-home .journey-memory-strip{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;margin:0 0 22px!important;border-top:1px solid rgba(21,55,68,.15)!important;border-bottom:1px solid rgba(21,55,68,.15)!important;background:transparent!important}
.v62-heritage-home .journey-memory-strip>span{padding:11px 9px!important;border:0!important;border-right:1px solid rgba(21,55,68,.12)!important;border-radius:0!important;background:transparent!important}
.v62-heritage-home .journey-memory-strip>span:last-child{border-right:0!important}
.v62-heritage-home .journey-menu-section-label{display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 6px!important;color:#8b6859!important;font-size:8px!important;letter-spacing:.19em!important}
.v62-heritage-home .journey-menu-section-label:after{content:"";height:1px;flex:1;background:rgba(21,55,68,.15)}
.v62-heritage-list{display:block!important;border-top:1px solid rgba(21,55,68,.13)!important}
.v62-heritage-list .journey-object-card{position:relative!important;display:grid!important;grid-template-columns:136px minmax(0,1fr) 26px!important;gap:16px!important;align-items:center!important;width:100%!important;min-height:124px!important;margin:0!important;padding:12px 4px!important;border:0!important;border-bottom:1px solid rgba(21,55,68,.13)!important;border-radius:0!important;background:transparent!important;color:#153744!important;box-shadow:none!important;text-align:left!important;overflow:visible!important}
.v62-heritage-list .journey-object-card:hover{background:rgba(255,252,245,.44)!important}
.v62-heritage-list .journey-object-card:after{content:"→"!important;grid-column:3;grid-row:1;align-self:center;justify-self:end;color:#a15e4d;font:500 22px/1 var(--font-display),serif!important}
.v62-heritage-list .journey-object-card>img{position:relative!important;grid-column:1;grid-row:1;width:136px!important;height:96px!important;padding:0!important;border-radius:4px!important;object-fit:cover!important;background:#dfd0bc!important;box-shadow:0 8px 18px rgba(65,46,31,.12)!important;filter:saturate(.88) contrast(.96) brightness(.96)!important}
.v62-heritage-list .journey-object-card:nth-child(1)>img,.v62-heritage-list .journey-object-card:nth-child(4)>img,.v62-heritage-list .journey-object-card:nth-child(6)>img{object-fit:contain!important;padding:9px!important;background:#e2d2bc!important;filter:none!important}
.v62-heritage-list .journey-object-card .journey-object-shade{display:none!important}
.v62-heritage-list .journey-object-card>div{position:relative!important;grid-column:2;grid-row:1;right:auto!important;bottom:auto!important;left:auto!important;padding:0!important;background:none!important}
.v62-heritage-list .journey-object-card small{display:block!important;margin:0 0 5px!important;color:#9a5b4b!important;font-size:7px!important;font-weight:800!important;letter-spacing:.17em!important}
.v62-heritage-list .journey-object-card b{display:block!important;color:#153744!important;font:600 30px/1 var(--font-display),serif!important;letter-spacing:0!important}
.v62-heritage-list .journey-object-card p{max-width:44ch;margin:7px 0 0!important;color:#66787b!important;font:500 10px/1.45 var(--font-sans),sans-serif!important}
.v62-heritage-list .profile-object-card .profile-object-avatar{position:relative!important;grid-column:1;grid-row:1;width:136px!important;height:96px!important;min-height:0!important;border-radius:4px!important;background:linear-gradient(145deg,#cfb995,#efe0c5)!important;box-shadow:0 8px 18px rgba(65,46,31,.12)!important;font-size:52px!important}
.v62-heritage-list .profile-object-card>div{grid-column:2!important;grid-row:1!important;padding:0!important}
.v62-heritage-home .journey-admin-card{margin-top:18px!important;border-radius:5px!important;background:#dfcfba!important}
.v62-heritage-home .journey-legal-links{padding-top:14px!important;border-top:1px solid rgba(21,55,68,.12)!important}
.v62-heritage-home .journey-legal-links a{border-radius:3px!important;background:rgba(255,255,255,.35)!important}
@media(max-width:760px){
  .v62-heritage-home{padding:12px 12px 28px!important}
  .v62-heritage-home .journey-resume-card{height:170px!important}
  .v62-heritage-home .journey-memory-strip{grid-template-columns:1fr 1fr!important}
  .v62-heritage-home .journey-memory-strip>span:nth-child(2){border-right:0!important}.v62-heritage-home .journey-memory-strip>span:nth-child(-n+2){border-bottom:1px solid rgba(21,55,68,.12)!important}
  .v62-heritage-list .journey-object-card{grid-template-columns:96px minmax(0,1fr) 18px!important;gap:11px!important;min-height:104px!important;padding:10px 2px!important}
  .v62-heritage-list .journey-object-card>img,.v62-heritage-list .profile-object-card .profile-object-avatar{width:96px!important;height:82px!important}
  .v62-heritage-list .journey-object-card b{font-size:25px!important}.v62-heritage-list .journey-object-card p{font-size:9px!important;margin-top:5px!important}
  .v62-heritage-list .profile-object-card .profile-object-avatar{font-size:43px!important}
}



/* source: former inline style */

/* V47: commercial immersion pass. The place and objects lead; UI recedes. */
:root{--paper47:#f3eadb;--ink47:#143542;--terra47:#b7604e;--night47:#082a35}
/* Correct responsive masters for the first transit chain. */
@media(max-width:700px){
 .d1-airport .world-image{background-image:url('../assets/day1/v76/airport-arrival-mobile.webp')!important;background-position:center center!important}
 .d1-shuttle .world-image{background-image:url('../assets/day1/v77/shuttle-mobile.webp')!important;background-position:center center!important}
 .d1-machine .world-image{background-image:url('../assets/day1/v77/ticket-machine-mobile.webp')!important;background-position:center center!important}
 .d1-gate .world-image,.d1-train .world-image{background-image:url('../assets/day1/v77/kuko-platform-mobile.webp')!important;background-position:center center!important}
}
/* Airport: signage embedded into the environment, not a bottom QCM. */
.airport-wayfinding{position:absolute;inset:0;z-index:9;pointer-events:none}
.airport-whisper{position:absolute;left:clamp(18px,4vw,58px);bottom:clamp(18px,7vh,72px);max-width:360px;padding:10px 13px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(5,28,38,.72),rgba(5,28,38,0));color:#fff;text-shadow:0 2px 14px #000;pointer-events:none}
.airport-whisper small{font-size:8px;letter-spacing:.18em;color:#efb596}.airport-whisper p{margin:4px 0 0;font-family:var(--font-display),serif;font-size:16px;line-height:1.25}
.airport-signs-world{position:absolute;left:30%;top:36%;display:grid;width:min(305px,38vw);gap:4px;transform:perspective(800px) rotateY(2deg);pointer-events:auto}
.airport-world-sign{display:grid;grid-template-columns:74px 1fr;align-items:center;min-height:44px;padding:7px 10px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:rgba(15,52,65,.88);color:#fff;box-shadow:0 9px 24px rgba(0,0,0,.18);text-align:left;backdrop-filter:blur(2px)}
.airport-world-sign b{font-size:20px}.airport-world-sign span{font-size:9px;font-weight:700;opacity:.9}.airport-world-sign:active{transform:scale(.98)}
.airport-stage-1 .airport-world-sign:not(.chosen){opacity:.22}.airport-world-sign.chosen{border-color:#f0c1a7;background:rgba(141,77,61,.94);box-shadow:0 0 0 2px rgba(239,181,150,.16),0 10px 30px rgba(0,0,0,.3)}
.airport-stage--1 .airport-signs-world{animation:v47-nudge .28s ease}@keyframes v47-nudge{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:700px){.airport-signs-world{left:25px;top:39%;width:245px}.airport-world-sign{grid-template-columns:64px 1fr;min-height:40px;padding:6px 9px}.airport-world-sign b{font-size:18px}.airport-whisper{left:18px;right:18px;bottom:max(15px,calc(env(safe-area-inset-bottom) + 10px));max-width:none}}
/* Shuttle: physical door first, then a brief ride, then wayfinding. */
.shuttle-live{position:absolute;inset:0;z-index:9;pointer-events:none}
.shuttle-whisper{position:absolute;left:22px;bottom:24px;max-width:300px;padding:9px 12px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(5,28,38,.68),transparent);color:#fff;text-shadow:0 2px 12px #000}.shuttle-whisper small{font-size:8px;letter-spacing:.18em;color:#efb596}.shuttle-whisper p{margin:4px 0;font-family:var(--font-display),serif;font-size:17px}
.shuttle-door-hotspot{position:absolute;right:18%;top:38%;width:27%;height:36%;border:1px solid rgba(255,255,255,.0);border-radius:36% 20% 20% 34%;background:transparent;pointer-events:auto;cursor:pointer}
.shuttle-door-hotspot:after{content:'';position:absolute;right:26%;top:44%;width:22px;height:22px;border:1px solid rgba(255,255,255,.75);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-pulse 1.8s ease-in-out infinite}.shuttle-door-hotspot span{position:absolute;right:15%;bottom:8%;padding:5px 9px;border-radius:999px;background:rgba(5,28,38,.72);color:#fff;font-size:9px;opacity:.88}@keyframes v47-pulse{50%{transform:scale(1.18);opacity:.55}}
.shuttle-cinematic{position:absolute;inset:0;overflow:hidden;background:linear-gradient(90deg,rgba(4,20,28,.1),rgba(4,20,28,.38));pointer-events:none}.shuttle-window-light{position:absolute;inset:-10%;background:linear-gradient(105deg,transparent 20%,rgba(255,227,174,.22) 36%,transparent 52%);animation:v47-lightpass 2.3s linear infinite}@keyframes v47-lightpass{from{transform:translateX(-35%)}to{transform:translateX(45%)}}
.shuttle-route-thread{position:absolute;left:8%;right:8%;bottom:8%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;color:#fff;font-size:9px;font-weight:800;text-shadow:0 2px 10px #000}.shuttle-route-thread i{position:relative;height:2px;background:rgba(255,255,255,.4)}.shuttle-route-thread i span{position:absolute;left:0;top:50%;width:14px;height:14px;border-radius:50%;background:var(--terra47);transform:translateY(-50%);animation:v47-bus 4.7s ease-in-out forwards}@keyframes v47-bus{to{left:calc(100% - 14px)}}.shuttle-cinematic>small{position:absolute;left:8%;bottom:4%;color:rgba(255,255,255,.78);font-size:9px}
.shuttle-arrival-cue{position:absolute;left:7%;right:7%;bottom:7%;padding:12px 14px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(5,28,38,.8),rgba(5,28,38,.18));color:#fff;text-shadow:0 2px 12px #000;pointer-events:auto}.shuttle-arrival-cue>small{font-size:8px;letter-spacing:.16em;color:#efb596}.shuttle-arrival-cue>p{margin:4px 0 9px;font-family:var(--font-display),serif;font-size:18px}.shuttle-signs-world{display:flex;gap:7px}.shuttle-signs-world button{min-width:0;flex:1;padding:8px 6px;border:1px solid rgba(255,255,255,.42);border-radius:4px;background:rgba(8,40,52,.82);color:#fff}.shuttle-signs-world b{display:block;font-size:18px}.shuttle-signs-world span{display:block;font-size:8px}.shuttle-feedback{display:block;margin-top:6px;color:#f0b79c;font-size:10px}.shuttle-found{position:absolute;left:50%;top:50%;display:grid;place-items:center;padding:16px 24px;border:1px solid rgba(255,255,255,.4);background:rgba(5,28,38,.65);color:#fff;transform:translate(-50%,-50%);backdrop-filter:blur(5px)}.shuttle-found b{font-size:30px}.shuttle-found span{font-size:10px}
@media(max-width:700px){.shuttle-door-hotspot{right:7%;top:35%;width:37%;height:40%}.shuttle-arrival-cue{left:14px;right:14px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))}.shuttle-whisper{left:14px;right:14px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));max-width:none}}
/* Machine: controls sit on the machine screen, not as a floating SaaS panel. */
.machine{padding:0;place-items:stretch}.machine-screen{position:absolute;z-index:9;left:50%;top:54%;width:min(420px,33vw);min-height:230px;grid-template-columns:1fr 1fr;gap:7px;padding:12px;border:2px solid rgba(195,213,215,.72);border-radius:4px;background:rgba(4,69,94,.89);box-shadow:0 8px 30px rgba(0,0,0,.28);transform:translate(-50%,-50%)}.machine-screen h2{font-size:clamp(20px,2.5vw,31px)}.machine-screen button{min-height:46px;border-radius:3px}.machine-screen img{max-height:110px}.machine-screen .drag-scene{min-height:120px}.machine-screen .drag-help{font-size:8px}
@media(max-width:700px){.machine-screen{left:49%;top:54.2%;width:43%;min-height:0;padding:7px;gap:4px}.machine-screen>span{font-size:6px}.machine-screen h2{font-size:13px;margin:1px 0}.machine-screen p{font-size:7px;margin:2px 0}.machine-screen button{min-height:28px;padding:3px;font-size:7px}.machine-screen img{max-height:52px}.machine-screen .drag-help{display:none}.machine-screen .drag-piece{width:46%;font-size:7px}.machine-screen .drag-destination{font-size:7px}}
/* Mei stays in the world instead of becoming a chatbot card. */
.mei-in-world{position:absolute;right:5%;bottom:7%;z-index:9;width:min(470px,82vw);padding:11px 48px 11px 14px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(5,28,38,.78),rgba(5,28,38,.08));color:#fff;text-shadow:0 2px 14px #000}.mei-in-world span{font-size:8px;letter-spacing:.2em;color:#efb596}.mei-in-world p{margin:5px 0;font-family:var(--font-display),serif;font-size:20px;line-height:1.25}.mei-in-world button{position:absolute;right:8px;top:50%;width:34px;height:34px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(183,96,78,.86);color:#fff;transform:translateY(-50%)}
/* Ryokan entry: the noren is the action. */
.ryokan-entry-physical{position:absolute;inset:0;z-index:8}.ryokan-whisper{position:absolute;left:5%;bottom:6%;max-width:350px;padding:9px 12px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(5,28,38,.72),transparent);color:#fff;text-shadow:0 2px 14px #000}.ryokan-whisper small{font-size:8px;letter-spacing:.18em;color:#efb596}.ryokan-whisper p{margin:3px 0;font-family:var(--font-display),serif;font-size:18px}.noren-hotspot{position:absolute;left:38%;top:19%;width:27%;height:55%;border:0;background:transparent;color:transparent;cursor:pointer}.noren-hotspot:after{content:'';position:absolute;left:50%;top:48%;width:24px;height:24px;border:1px solid rgba(255,255,255,.75);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-pulse 1.8s ease-in-out infinite}
/* Room discovery: reduce floating circles and paper modal footprint. */
.room-details{gap:6px;right:4%;bottom:12%}.room-details button{width:70px;height:70px;background:rgba(6,28,39,.38);border-color:rgba(255,255,255,.38);font-size:16px;backdrop-filter:blur(3px)}.detail-slip{width:min(360px,88vw);padding:15px;background:rgba(247,240,223,.96)}
/* Menu: travel desk / paper / objects, not a dark dashboard. */
.journey-menu{background:#efe5d5!important;color:var(--ink47)!important}.journey-menu>header{background:#123642!important;color:#fff!important}.journey-menu-home,.object-ledger{background:linear-gradient(180deg,#f7f0e4,#e9dcc8)!important;color:var(--ink47)!important}.journey-menu-section-label{color:#806d5e!important}.journey-memory-strip{background:rgba(255,255,255,.48)!important;border:1px solid rgba(20,53,66,.11)!important}.journey-object-card{border:0!important;border-radius:7px!important;background:#fff!important;box-shadow:0 8px 22px rgba(63,45,31,.13)!important;overflow:hidden}.journey-object-card img{filter:saturate(.95)}.journey-object-card>div{background:linear-gradient(transparent,rgba(4,25,32,.76))!important}.journey-admin-card{background:#dcc9b7!important;color:#143542!important;border:1px solid rgba(20,53,66,.12)!important}.journey-legal-links a{color:#143542!important;opacity:.78!important}.object-ledger>button{color:#143542!important}.object-ledger h3,.object-ledger h4{color:#143542!important}.ledger-intro{color:#475f67!important}.profile-card{background:rgba(255,255,255,.55)!important;color:#143542!important;border:1px solid rgba(20,53,66,.12)!important;box-shadow:none!important}.profile-choice button,.profile-actions button,.profile-save{border-color:rgba(20,53,66,.22)!important;background:#fff!important;color:#143542!important}.profile-choice button.selected{background:#b7604e!important;color:#fff!important}.v38-wallet{background-image:linear-gradient(rgba(243,234,219,.88),rgba(243,234,219,.9)),url('../assets/portefeuille-ouvert.webp')!important;background-size:cover!important;background-position:center!important}.wallet-hero,.wallet-balance,.wallet-card{background:rgba(255,255,255,.58)!important;color:#143542!important;box-shadow:none!important}
/* Night: ending through the travel object. */
.night-close{position:absolute;inset:0;z-index:8}.night-whisper{position:absolute;left:5%;bottom:9%;max-width:350px;color:#fff;text-shadow:0 2px 14px #000}.night-whisper small{font-size:8px;letter-spacing:.18em;color:#efb596}.night-whisper p{font-family:var(--font-display),serif;font-size:19px}.night-passport-hotspot{position:absolute;right:7%;bottom:7%;width:110px;height:72px;border:1px solid rgba(255,255,255,.35);border-radius:5px;background:rgba(6,28,39,.38);color:#fff;backdrop-filter:blur(3px)}.night-passport-hotspot:before{content:'✦';display:block;font-size:18px;color:#efb596}.night-passport-hotspot span{font-size:9px}
/* Paywall: memory first, price second. */
.trial-offer-stage{background:#efe5d5!important}.trial-offer-story,.trial-offer-card{border-radius:8px!important;box-shadow:0 18px 45px rgba(56,39,26,.16)!important}.trial-offer-story{background:#0b2a35!important;color:#fff!important}.trial-offer-card{background:#f7f0e4!important;color:#143542!important}.journey-access-progress{display:none!important}.continuation-memory{display:grid!important;gap:8px!important}.continuation-memory span{padding:9px 0!important;border-bottom:1px solid rgba(255,255,255,.14)!important;background:none!important;color:rgba(255,255,255,.88)!important}.promo-ready{color:#8e5144!important}.trial-offer-card .promo{display:none!important}
/* Mandatory account checkpoint feels like a passport pause, not onboarding. */
.v47-passport-checkpoint{background:#f5ebda!important;color:#143542!important;border-radius:7px!important}.v47-passport-checkpoint:before{content:'PASSPORT / DOBOX ASIA';display:block;margin:-4px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(20,53,66,.16);font-size:8px;letter-spacing:.22em}.passport-checkpoint-skip{display:none!important}
/* Keep physical action labels subtle. */
.quiet-action,.trial-flow-next{border-radius:999px}.mei-speech>div,.narration>div{background:linear-gradient(90deg,rgba(4,24,33,.68),rgba(4,24,33,0))}
@media(max-width:700px){.mei-speech{grid-template-columns:82px 1fr}.mei-speech>div{padding:12px 12px}.mei-speech p{font-size:17px}.journey-menu{width:100vw!important}.night-passport-hotspot{right:16px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px))}}


/* source: former inline style */

/* V47 FINAL IMMERSION PASS — scene UI belongs to the world, not a dashboard. */
:root{--paper47:#f2eadc;--ink47:#153744;--terra47:#b85f4e}
/* Airport: one real-world sign hotspot over the pictured sign. */
.airport-wayfinding{position:absolute;inset:0;z-index:8}.airport-sign-hotspot{position:absolute;z-index:9;left:43%;top:9%;width:23%;height:30%;border:0;background:transparent;cursor:pointer}.airport-sign-hotspot:before{content:"";position:absolute;inset:6%;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 0 0 0 rgba(255,255,255,.12);animation:v47-world-pulse 2.2s ease-in-out infinite}.airport-sign-hotspot span{position:absolute;left:50%;bottom:5%;padding:5px 9px;border-radius:999px;background:rgba(5,27,36,.66);color:#fff;font-size:9px;white-space:nowrap;transform:translateX(-50%);backdrop-filter:blur(5px)}.airport-sign-hotspot.found:before{border-color:rgba(236,194,151,.65);box-shadow:inset 0 0 40px rgba(236,194,151,.08)}.airport-whisper{position:absolute;z-index:10;left:4%;bottom:5%;max-width:390px;padding:8px 11px;border-left:2px solid rgba(230,151,124,.9);background:linear-gradient(90deg,rgba(4,25,33,.72),rgba(4,25,33,0));color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.7);pointer-events:none}.airport-whisper small{font-size:8px;letter-spacing:.17em;color:#efb596}.airport-whisper p{margin:4px 0;font:500 14px/1.35 var(--font-sans),sans-serif}.airport-v53-signs{position:absolute;z-index:16;top:18%;left:4%;display:grid;width:min(610px,78vw);grid-template-columns:repeat(3,1fr);gap:7px;pointer-events:auto}.airport-v53-sign{min-height:58px;padding:8px 10px;border:1px solid rgba(255,255,255,.42);border-radius:10px;background:rgba(5,28,38,.74);color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.22);backdrop-filter:blur(7px);text-align:left}.airport-v53-sign b,.airport-v53-sign span{display:block}.airport-v53-sign b{font-size:20px;font-weight:700}.airport-v53-sign span{margin-top:2px;font-size:9px;opacity:.82}.airport-v53-sign.chosen{border-color:#efb596;background:rgba(118,67,56,.82)}.airport-v58-next{position:absolute;z-index:18;right:4%;bottom:5%;min-height:52px;padding:11px 17px;border:1px solid #edc4aa;border-radius:999px;background:rgba(169,87,72,.94);color:#fff;font-weight:750;box-shadow:0 14px 34px rgba(0,0,0,.28)}@media(max-width:700px){.airport-v53-signs{top:18%;right:12px;left:12px;width:auto;gap:5px}.airport-v53-sign{min-height:48px;padding:6px 7px}.airport-v53-sign b{font-size:16px}.airport-v53-sign span{font-size:7px}.airport-v58-next{right:14px;bottom:max(86px,calc(var(--safe) + 76px));left:14px;width:auto}}@keyframes v47-world-pulse{50%{box-shadow:0 0 0 8px rgba(255,255,255,0);border-color:rgba(255,255,255,.45)}}
/* Shuttle: physical door, then a calm short ride. */
.shuttle-live{position:absolute;inset:0;z-index:8}.shuttle-whisper{position:absolute;z-index:9;left:4%;bottom:5%;max-width:360px;padding:8px 11px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.72),transparent);color:#fff}.shuttle-whisper small{font-size:8px;letter-spacing:.16em;color:#efb596}.shuttle-whisper p{margin:4px 0;font-size:14px}.shuttle-door-hotspot{position:absolute;z-index:10;left:59%;top:41%;width:14%;height:38%;border:0;background:transparent;cursor:pointer}.shuttle-door-hotspot:after{content:"";position:absolute;left:42%;top:50%;width:20px;height:20px;border:1px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-world-pulse 2s ease-in-out infinite}.shuttle-door-hotspot span{position:absolute;right:6%;bottom:5%;padding:4px 8px;border-radius:999px;background:rgba(5,27,36,.6);color:#fff;font-size:8px}.shuttle-cinematic{position:absolute;inset:0;overflow:hidden;background:linear-gradient(90deg,rgba(4,22,30,.06),rgba(255,255,255,.06),rgba(4,22,30,.06));animation:v47-bus-breathe 5.2s linear}.shuttle-cinematic:before,.shuttle-cinematic:after{content:"";position:absolute;top:0;bottom:0;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);filter:blur(10px);animation:v47-bus-light 1.45s linear infinite}.shuttle-cinematic:after{animation-delay:.75s}.shuttle-route-thread{position:absolute;left:9%;right:9%;bottom:8%;display:flex;align-items:center;gap:10px;color:#fff;text-shadow:0 2px 12px #000}.shuttle-route-thread i{position:relative;height:2px;flex:1;background:rgba(255,255,255,.45)}.shuttle-route-thread i span{position:absolute;left:0;top:-4px;width:10px;height:10px;border-radius:50%;background:#efb596;animation:v47-route 4.7s linear forwards}.shuttle-cinematic>small{position:absolute;left:9%;bottom:12%;color:#fff;font-size:9px;opacity:.82}.shuttle-arrival-minimal{position:absolute;z-index:10;left:6%;bottom:6%;display:grid;gap:3px;padding:10px 13px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.75),transparent);color:#fff}.shuttle-arrival-minimal small{font-size:8px;letter-spacing:.14em;color:#efb596}.shuttle-arrival-minimal b{font:500 32px/1.05 var(--font-display),serif}.shuttle-arrival-minimal p{margin:0;font-size:12px}@keyframes v47-route{to{left:calc(100% - 10px)}}@keyframes v47-bus-light{from{left:-25%}to{left:110%}}@keyframes v47-bus-breathe{50%{transform:scale(1.012)}}
/* Machine sits on the real machine screen. */
.machine{padding:0!important;place-items:stretch!important}.machine-screen{position:absolute!important;z-index:9!important;left:50%!important;top:54%!important;width:min(430px,34vw)!important;min-height:220px!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:12px!important;border:2px solid rgba(195,213,215,.65)!important;border-radius:4px!important;background:rgba(5,77,104,.9)!important;box-shadow:0 10px 30px rgba(0,0,0,.2)!important;transform:translate(-50%,-50%)!important}.machine-screen h2{font-size:clamp(20px,2.2vw,31px)!important}.machine-screen button{min-height:44px!important;border-radius:3px!important}.machine-screen img{max-height:108px!important}
/* Gate reuses the same concourse photo because the physical gates are actually visible at left. */
.d1-gate .world-image{background-image:url('../assets/day1/v77/ticket-machine-desktop.webp')!important;background-position:left center!important}.gate-scene .drag-destination{top:42%!important;right:auto!important;left:2.5%!important;width:15%!important;height:31%!important;border-radius:10px!important}.gate-scene .drag-piece{left:auto!important;right:7%!important;bottom:6%!important;width:25%!important}.gate-copy{top:20%!important;left:auto!important;right:5%!important;width:min(380px,36vw)!important;background:linear-gradient(270deg,rgba(4,24,33,.72),transparent)!important;border-left:0!important;border-right:2px solid var(--terra47)!important;text-align:right!important}
/* Hakata uses the visible taxi rank, not fabricated sign cards. */
.hakata-world{position:absolute;inset:0}.hakata-whisper{position:absolute;z-index:9;left:5%;bottom:7%;max-width:380px;padding:8px 11px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.74),transparent);color:#fff}.hakata-whisper span{font-size:8px;letter-spacing:.16em;color:#efb596}.hakata-whisper p{margin:4px 0;font-size:14px}.hakata-taxi-hotspot{position:absolute;z-index:10;right:2%;top:43%;width:43%;height:31%;border:0;background:transparent;cursor:pointer}.hakata-taxi-hotspot:after{content:"";position:absolute;right:23%;top:46%;width:19px;height:19px;border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-world-pulse 2s ease-in-out infinite}.hakata-taxi-hotspot span{position:absolute;right:14%;bottom:4%;padding:4px 8px;border-radius:999px;background:rgba(4,25,33,.64);color:#fff;font-size:8px}.hakata-mei-cue{position:absolute;z-index:11;right:5%;bottom:6%;max-width:330px;padding:10px 13px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:rgba(5,28,38,.7);color:#fff}.hakata-culture-cue{position:absolute;z-index:11;left:5%;top:21%;max-width:280px;color:#fff;text-shadow:0 2px 9px #000}.hakata-culture-cue summary{cursor:pointer;font:600 16px var(--font-display),serif}.hakata-culture-cue p{font-size:10px;line-height:1.35}
/* Taxi: real stand photo + real open-door image; no CSS door geometry. */
.taxi-stand-whisper{position:absolute;z-index:10;left:4%;bottom:6%;max-width:360px;padding:8px 11px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.76),transparent);color:#fff}.taxi-stand-whisper small{font-size:8px;letter-spacing:.16em;color:#efb596}.taxi-stand-whisper p{margin:4px 0;font-size:14px}.taxi-stand-hotspot{position:absolute;z-index:11;right:3%;top:43%;width:47%;height:33%;border:0;background:transparent}.taxi-stand-hotspot:after{content:"";position:absolute;right:28%;top:42%;width:20px;height:20px;border:1px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-world-pulse 2s ease-in-out infinite}.taxi-stand-hotspot span{position:absolute;right:8%;bottom:5%;padding:4px 8px;border-radius:999px;background:rgba(4,25,33,.65);color:#fff;font-size:8px}.taxi-entry-real{position:absolute;inset:0;z-index:9;box-shadow:inset 0 0 120px rgba(0,0,0,.28);animation:v47-enter-car 1.35s ease both}.taxi-entry-real small{position:absolute;left:5%;bottom:6%;padding:6px 9px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.72),transparent);color:#fff;font-size:10px}@keyframes v47-enter-car{from{transform:scale(1.03);opacity:.72}to{transform:scale(1);opacity:1}}
/* Rest: the object itself closes the day. */
.rest-scene{position:absolute;inset:0}.rest-whisper{position:absolute;z-index:10;left:5%;bottom:7%;max-width:390px;padding:8px 11px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.72),transparent);color:#fff}.rest-whisper small{font-size:8px;letter-spacing:.14em;color:#efb596}.rest-whisper p{margin:4px 0;font-size:14px}.lamp-hotspot{position:absolute;z-index:11;right:4%;top:35%;width:24%;height:35%;border:0;background:transparent}.lamp-hotspot:after{content:"";position:absolute;right:35%;top:30%;width:20px;height:20px;border:1px solid rgba(255,239,196,.88);border-radius:50%;box-shadow:0 0 0 9px rgba(255,221,146,.1);animation:v47-world-pulse 2s ease-in-out infinite}.lamp-hotspot span{position:absolute;right:22%;bottom:5%;padding:4px 8px;border-radius:999px;background:rgba(4,25,33,.62);color:#fff;font-size:8px}.rest-stage-1 .sleep-shade{opacity:.7!important}
/* Travel menu: paper and objects first. Blue remains an accent, not the page. */
.v38-menu{background:#efe5d4!important}.v38-menu>header{background:#eee2cf!important;color:#153744!important;border-bottom:1px solid rgba(21,55,68,.12)!important;box-shadow:0 10px 28px rgba(53,40,29,.08)!important}.v38-menu>header img{filter:drop-shadow(0 4px 8px rgba(0,0,0,.08))}.v38-menu .journey-menu-close{background:rgba(21,55,68,.06)!important;color:#153744!important;border-color:rgba(21,55,68,.16)!important}.v38-menu .journey-menu-account-state{color:#52686e!important}.journey-menu-home,.object-ledger{background:#efe5d4!important}.journey-resume-card{border-radius:8px!important;box-shadow:0 12px 26px rgba(57,42,28,.13)!important}.v38-object-grid .journey-object-card{border-radius:8px!important;box-shadow:0 10px 24px rgba(57,42,28,.13)!important}.v38-object-grid .journey-object-card:nth-child(1)>img,.v38-object-grid .journey-object-card:nth-child(4)>img,.v38-object-grid .journey-object-card:nth-child(5)>img,.v38-object-grid .journey-object-card:nth-child(6)>img{background:#e7d9c5!important}.profile-card{border-radius:8px!important;background:rgba(255,252,245,.68)!important}.profile-choice button,.profile-actions button,.profile-save{border-radius:6px!important}.wallet-ledger{border-radius:7px!important}.docs-grid>a{border-radius:7px!important}.journey-memory-strip>span{border-radius:5px!important}
/* Paywall: continuation after emotion, not a freemium dashboard. */
.trial-offer-story,.trial-offer-card{border-radius:8px!important}.continuation-memory{display:grid;gap:7px;margin:12px 0 0}.continuation-memory span{padding-left:13px;position:relative;font-size:11px;line-height:1.4}.continuation-memory span:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:#b85f4e}
@media(max-width:700px){
  .airport-sign-hotspot{left:32%;top:22%;width:27%;height:16%}.airport-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.airport-sign-hotspot span{font-size:8px}
  .shuttle-door-hotspot{left:41%;right:auto;top:38%;width:21%;height:31%}.shuttle-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.shuttle-route-thread{left:7%;right:7%;bottom:10%}.shuttle-cinematic>small{left:7%;bottom:14%}.shuttle-arrival-minimal{left:14px;right:14px;bottom:max(14px,var(--safe))}
  .machine-screen{left:49%!important;top:54%!important;width:50%!important;min-height:0!important;padding:7px!important;gap:4px!important}.machine-screen>span{font-size:6px!important}.machine-screen h2{font-size:14px!important;margin:1px 0!important}.machine-screen p{font-size:7px!important;margin:2px 0!important}.machine-screen button{min-height:29px!important;padding:3px!important;font-size:7px!important}.machine-screen img{max-height:54px!important}
  .d1-gate .world-image{background-image:url('../assets/day1/v77/ticket-machine-mobile.webp')!important;background-position:18% center!important}.gate-copy{top:17%!important;right:14px!important;width:56%!important;padding:10px!important}.gate-copy h2{font-size:23px!important}.gate-scene .drag-destination{top:45%!important;left:3%!important;width:31%!important;height:22%!important}.gate-scene .drag-piece{right:6%!important;left:auto!important;bottom:7%!important;width:42%!important}
  .d1-hakata .world-image,.d1-meetMei .world-image{background-image:url('../assets/day1/v76/taxi-door-pov.webp')!important;background-position:center!important}.hakata-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.hakata-taxi-hotspot{right:0;top:42%;width:58%;height:31%}.hakata-mei-cue{right:14px;bottom:max(14px,var(--safe));left:14px;max-width:none}.hakata-culture-cue{left:16px;top:18%}
  .taxi-stand-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.taxi-stand-hotspot{right:0;top:42%;width:62%;height:33%}.taxi-entry-real small{left:14px;right:14px;bottom:max(14px,var(--safe))}
  .rest-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.lamp-hotspot{right:2%;top:31%;width:36%;height:39%}
  .v38-menu>header{padding:64px 14px 14px!important}.v38-menu .journey-menu-close{top:12px!important;right:12px!important}
}


/* source: former inline style */

/* V47 scene polish */
.meal-sato-whisper{max-width:470px!important;padding:12px 14px!important;background:linear-gradient(90deg,rgba(5,28,38,.74),transparent)!important;border-left:2px solid var(--terra47)!important}.meal-sato-whisper p{font-size:16px!important;line-height:1.35!important}.meal-table-hotspot{position:absolute;z-index:12;left:8%;right:8%;bottom:4%;height:42%;border:0;background:transparent;cursor:pointer}.meal-table-hotspot:after{content:"";position:absolute;left:50%;top:48%;width:20px;height:20px;border:1px solid rgba(255,255,255,.78);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-world-pulse 2s ease-in-out infinite}.meal-table-hotspot span{position:absolute;left:50%;bottom:4%;padding:4px 8px;border-radius:999px;background:rgba(4,25,33,.62);color:#fff;font-size:8px;transform:translateX(-50%)}
.bath-entry-whisper{position:absolute;z-index:12;left:5%;bottom:6%;max-width:390px;padding:9px 12px;border-left:2px solid var(--terra47);background:linear-gradient(90deg,rgba(4,25,33,.74),transparent);color:#fff}.bath-entry-whisper small{font-size:8px;letter-spacing:.16em;color:#efb596}.bath-entry-whisper p{margin:4px 0;font-size:14px;line-height:1.4}.bath-entry-hotspot{position:absolute;z-index:11;right:0;top:25%;width:43%;height:54%;border:0;background:transparent}.bath-entry-hotspot:after{content:"";position:absolute;right:32%;top:50%;width:20px;height:20px;border:1px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08);animation:v47-world-pulse 2s ease-in-out infinite}.bath-entry-hotspot span{position:absolute;right:22%;bottom:5%;padding:4px 8px;border-radius:999px;background:rgba(4,25,33,.62);color:#fff;font-size:8px}
.taxi-greeting-v38{max-width:520px!important}.taxi-greeting-v38 .phrase-guide{margin-top:7px!important}.taxi-greeting-v38 .taxi-listen-first,.taxi-greeting-v38 .taxi-answer-phrase{min-height:44px!important;margin-top:7px!important;border:1px solid rgba(255,255,255,.34)!important;background:rgba(5,28,38,.72)!important;color:#fff!important}.taxi-greeting-v38 .taxi-answer-phrase{font-size:18px!important}.garden-nav{opacity:.28;transition:opacity .2s}.garden-nav:hover,.garden-nav:focus-within{opacity:.9}
@media(max-width:700px){.meal-sato-whisper{left:14px!important;right:14px!important;bottom:max(14px,var(--safe))!important;top:auto!important;max-width:none!important}.meal-table-hotspot{left:2%;right:2%;bottom:2%;height:48%}.bath-entry-whisper{left:14px;right:14px;bottom:max(14px,var(--safe));max-width:none}.bath-entry-hotspot{right:0;top:27%;width:54%;height:48%}.taxi-greeting-v38{max-width:none!important}.garden-nav{opacity:.22}}

/* V49 authoritative shuttle scene: the legacy definitions above cannot hide this layer. */
.d1-shuttle .shuttle-live{position:absolute!important;inset:0!important;z-index:20!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:none!important;color:#fff!important}
.d1-shuttle .shuttle-stage-0 .shuttle-whisper{position:absolute!important;z-index:23!important;left:clamp(14px,4vw,42px)!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 14px))!important;display:block!important;visibility:visible!important;opacity:1!important;max-width:270px!important;padding:8px 12px!important;border-left:2px solid #b85d4b!important;background:linear-gradient(90deg,rgba(4,25,33,.72),rgba(4,25,33,0))!important;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.8)!important}
.d1-shuttle .shuttle-stage-0 .shuttle-whisper p{margin:3px 0 0!important;font:500 15px/1.25 var(--font-display),serif!important}
.d1-shuttle .shuttle-door-hotspot{position:absolute!important;z-index:26!important;left:52%!important;top:35%!important;width:22%!important;height:35%!important;display:block!important;visibility:visible!important;opacity:1!important;border:0!important;border-radius:34% 22% 24% 32%!important;background:transparent!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;cursor:pointer!important}
.d1-shuttle .shuttle-door-hotspot:before{content:""!important;position:absolute!important;left:48%!important;top:48%!important;width:22px!important;height:22px!important;border:1.5px solid rgba(255,255,255,.9)!important;border-radius:50%!important;background:rgba(5,28,38,.18)!important;box-shadow:0 0 0 8px rgba(255,255,255,.09),0 0 26px rgba(255,255,255,.28)!important;animation:v49-door-pulse 1.7s ease-in-out infinite!important}
.d1-shuttle .shuttle-door-hotspot span{position:absolute!important;left:50%!important;top:calc(48% + 34px)!important;display:block!important;padding:4px 9px!important;border:1px solid rgba(255,255,255,.38)!important;border-radius:999px!important;background:rgba(5,28,38,.62)!important;color:#fff!important;font-size:9px!important;white-space:nowrap!important;transform:translateX(-42%)!important}
@keyframes v49-door-pulse{50%{transform:scale(1.18);opacity:.56}}
.d1-shuttle .shuttle-cinematic{position:absolute!important;inset:0!important;z-index:22!important;display:block!important;visibility:visible!important;opacity:1!important;overflow:hidden!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(4,22,30,.16),rgba(255,255,255,.035),rgba(4,22,30,.22))!important}
.d1-shuttle.shuttle-phase-1 .world-image{animation:v49-shuttle-camera 4.6s ease-in-out both!important}
@keyframes v49-shuttle-camera{0%{transform:scale(1.035)}18%{transform:scale(1.075) translateX(-1.5%)}100%{transform:scale(1.055) translateX(1.4%)}}
.d1-shuttle .shuttle-route-thread{position:absolute!important;left:8%!important;right:8%!important;bottom:max(48px,calc(env(safe-area-inset-bottom) + 38px))!important;display:flex!important;align-items:center!important;gap:10px!important;color:#fff!important;font-size:9px!important;text-shadow:0 2px 12px #000!important}
.d1-shuttle .shuttle-route-thread i{position:relative!important;height:2px!important;flex:1!important;background:rgba(255,255,255,.5)!important}
.d1-shuttle .shuttle-route-thread i span{position:absolute!important;left:0!important;top:-5px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#d98670!important;animation:v49-route 4.25s linear forwards!important}
@keyframes v49-route{to{left:calc(100% - 12px)}}
.d1-shuttle .shuttle-cinematic>small{position:absolute!important;left:8%!important;bottom:max(22px,calc(env(safe-area-inset-bottom) + 14px))!important;color:rgba(255,255,255,.82)!important;font-size:9px!important}
.d1-shuttle .shuttle-arrival-minimal{position:absolute!important;z-index:26!important;left:clamp(14px,5vw,60px)!important;right:auto!important;bottom:max(20px,calc(env(safe-area-inset-bottom) + 14px))!important;display:grid!important;visibility:visible!important;opacity:1!important;gap:2px!important;min-width:190px!important;max-width:300px!important;padding:10px 14px!important;border:0!important;border-left:2px solid #b85d4b!important;border-radius:0!important;background:linear-gradient(90deg,rgba(4,25,33,.82),rgba(4,25,33,.15))!important;color:#fff!important;text-align:left!important;pointer-events:auto!important;touch-action:manipulation!important;text-shadow:0 2px 12px #000!important}
.d1-shuttle .shuttle-arrival-minimal b{font:500 30px/1 var(--font-display),serif!important}.d1-shuttle .shuttle-arrival-minimal p{margin:1px 0!important;font-size:12px!important}.d1-shuttle .shuttle-arrival-action{margin-top:3px!important;color:#efb596!important;font-size:9px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important}
@media(max-width:700px){.d1-shuttle .shuttle-door-hotspot{left:49%!important;top:35%!important;width:24%!important;height:34%!important}.d1-shuttle .shuttle-stage-0 .shuttle-whisper{max-width:220px!important}.d1-shuttle .shuttle-arrival-minimal{left:14px!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))!important}}


/* source: former inline style */

/* V57 CLEAN STABILITY LAYER — one small shell, no global scene takeover. */
/* Entry controls are local-first: network hydration never owns navigation. */
.chapter-threshold .threshold{position:relative;z-index:40;pointer-events:auto}
.chapter-threshold .threshold-actions,.chapter-threshold .threshold-actions button{position:relative;z-index:41;pointer-events:auto;touch-action:manipulation}
.chapter-threshold .dobox-start{opacity:1;filter:none;cursor:pointer}

/* Day 1 keeps the authored geometry from the scene CSS. Do not flatten or disable the scene tree. */
.chapter-day1 .day1-stage{pointer-events:auto;isolation:isolate}
.chapter-day1 .day1-stage button,.chapter-day1 .day1-stage [role="button"],.chapter-day1 .day1-stage a,.chapter-day1 .day1-stage summary{pointer-events:auto;touch-action:manipulation}
.chapter-day1 .garden-scene,.chapter-day1 .condensation-canvas{pointer-events:auto!important}
/* Only actual interactive targets are raised. No scene-sized container gets re-positioned. */
.airport-sign-hotspot,.shuttle-door-hotspot,.machine-screen button,.machine-screen .drag-piece,.machine-screen .drag-destination,.gate-scene .drag-piece,.gate-scene .drag-destination,.metro-announcement button,.hakata-taxi-hotspot,.hakata-mei-cue,.mei-in-world button,.taxi-stand-hotspot,.taxi-answer-phrase,.address-slip,.noren-hotspot,.meet-sato,.sato-response button,.shoe-choice button,.genkan-scene .drag-piece,.genkan-scene .drag-destination,.shoji-gesture,.room-hotspot,.room-look-right,.room-knock,.meal-table-hotspot,.meal-hotspots button,.pronunciation-practice button,.chopstick-lesson button,.dish-hotspot,.meal-finish,.garden-lookpoint,.garden-nav button,.garden-exit,.bath-side-choice button,.bath-entry-hotspot,.wash-observe,.wash-real-hit,.wash-complete,.towel-piece,.towel-placement,.bath-enter-gesture,.soak-exit,.afterbath-actions button,.afterbath-water,.milk-hotspots button,.airport-confirm button,.evening-objects button,.yukata-choices button,.yukata-zone,.yukata-done,.lamp-hotspot,.night-passport-hotspot{z-index:20;pointer-events:auto!important;touch-action:manipulation}
.airport-wayfinding,.shuttle-live,.ryokan-entry-physical,.night-close{pointer-events:none}
.airport-sign-hotspot,.shuttle-door-hotspot,.shuttle-arrival-cue,.noren-hotspot,.night-passport-hotspot{pointer-events:auto!important}

/* Menu is an independent overlay; its children keep their existing authored layout. */
.journey-menu-trigger{z-index:170;pointer-events:auto;touch-action:manipulation}
.journey-menu{z-index:220;pointer-events:auto;overscroll-behavior:contain}
.journey-menu-close{z-index:230;pointer-events:auto;touch-action:manipulation}
.journey-menu-logo-home{display:flex;align-items:center;gap:12px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.journey-menu-logo-home img{flex:none}.journey-menu-logo-home:focus-visible{outline:2px solid #b7604e;outline-offset:5px;border-radius:12px}
.journey-menu *{min-width:0}

/* Prevent accidental tap interception by decorative layers. */
.world,.world-image,.world-light,.world-grain,.taxi-glass,.taxi-approach-world,.steam,.rain-glass{pointer-events:none}

/* Smooth interaction without changing scene geometry. */
button,[role="button"]{-webkit-tap-highlight-color:transparent}
@media (prefers-reduced-motion:reduce){.transition-curtain,.world-image{animation:none!important}.is-transitioning .transition-curtain{animation-duration:.01ms!important}}
@media(max-width:700px){
  .journey-menu{width:100vw;max-width:100vw;overflow-x:hidden}
  .journey-menu>header,.journey-menu-home,.journey-menu .object-ledger,.journey-menu .journey-menu-footer{width:100%;max-width:100%;min-width:0}
  .journey-legal-links{display:flex;flex-wrap:wrap;max-width:100%}
  .d1-ride .journey-menu-trigger{display:grid!important}
}



/* === V60 · PHYSICAL CONTINUITY PASS — shoji / wash / bath === */
/* Shōji: opening is a physical transition, not an immediate scene jump. */
.shoji-gesture{transition:opacity .28s ease,transform .28s ease}
.genkan-scene.shoji-entering .genkan-copy,.genkan-scene.shoji-entering .repere-tab{opacity:0;pointer-events:none;transition:opacity .2s ease}
.genkan-scene.shoji-entering .shoji-gesture{opacity:0;pointer-events:none;transform:scale(1.03)}
.shoji-room-crossing{position:absolute;z-index:18;inset:0;overflow:hidden;pointer-events:none;background:#071b23;animation:v60-room-cross 1.25s cubic-bezier(.22,.72,.22,1) both}
.shoji-room-crossing i{position:absolute;inset:-7%;display:block;background:url('../assets/day1/ryokan-room.webp') center/cover no-repeat;filter:brightness(.82);animation:v60-room-camera 1.25s cubic-bezier(.2,.75,.22,1) both}
.shoji-room-crossing:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 56% 55%,transparent 0 30%,rgba(2,13,18,.28) 78%,rgba(2,13,18,.5));animation:v60-room-vignette 1.25s ease both}
@keyframes v60-room-cross{0%{opacity:0;clip-path:inset(0 100% 0 0)}28%{opacity:1}100%{opacity:1;clip-path:inset(0 0 0 0)}}
@keyframes v60-room-camera{from{transform:scale(1.14) translateX(-4%);filter:brightness(.62) blur(1px)}to{transform:scale(1.02);filter:brightness(.9) blur(0)}}
@keyframes v60-room-vignette{from{opacity:.9}to{opacity:.18}}

/* Room: no floating circular game markers. The touch areas remain but read like quiet annotations. */
.room-details .room-hotspot{width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;padding:6px 9px!important;border:0!important;border-left:2px solid rgba(239,181,150,.9)!important;border-radius:0!important;background:linear-gradient(90deg,rgba(5,28,39,.72),rgba(5,28,39,.18))!important;box-shadow:none!important;color:#fff!important;backdrop-filter:blur(5px)!important}
.room-details .room-hotspot i{display:none!important}.room-details .room-hotspot span{position:static!important;width:auto!important;height:auto!important;border-radius:0!important;background:none!important;font-size:10px!important}
.room-details .room-hotspot:not(.seen):after{content:"observer";font:700 8px var(--font-sans),sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.78}
.room-details .room-hotspot.seen:after{content:"✓";font-size:11px}.room-details .room-hotspot.seen{opacity:.48}

/* Wash: object hit areas stay large for mobile, but all visible circles/pulses disappear. */
.wash-observe.station i{display:none!important}.wash-observe.station span{position:absolute;right:7%;bottom:18%;padding:7px 10px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.78),rgba(5,28,39,.2));color:#fff;font:700 10px var(--font-sans),sans-serif;letter-spacing:.04em;white-space:nowrap;backdrop-filter:blur(5px)}
.wash-real-hit{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;width:110px!important;height:92px!important}
.wash-real-hit:before{display:none!important}.wash-real-hit span{top:auto!important;right:0!important;bottom:0!important;left:auto!important;transform:none!important;padding:6px 9px!important;border-radius:0!important;border-left:2px solid rgba(239,181,150,.9)!important;background:linear-gradient(90deg,rgba(5,28,39,.78),rgba(5,28,39,.22))!important;font-size:9px!important;letter-spacing:.035em}
.wash-real-hit:focus-visible span,.wash-real-hit:active span{background:rgba(169,87,72,.78)!important}
/* Micro camera changes make each washing action feel like the same body moving in one room. */
.d1-wash.wash-progress-1 .world-image{transform:scale(1.035) translate3d(1%,1.5%,0)!important}
.d1-wash.wash-progress-2 .world-image{transform:scale(1.065) translate3d(-1.5%,0,0)!important}
.d1-wash.wash-progress-3 .world-image{transform:scale(1.08) translate3d(-2%,-1%,0)!important}
.d1-wash.wash-progress-4 .world-image{transform:scale(1.075) translate3d(-1%,0,0)!important}
.d1-wash.wash-progress-5 .world-image{transform:scale(1.055) translate3d(1%,1%,0)!important}
.d1-wash.wash-progress-6 .world-image,.d1-wash.wash-progress-7 .world-image{transform:scale(1.035) translate3d(0,1%,0)!important}
.d1-wash .world-image{transition:transform .9s cubic-bezier(.2,.72,.22,1)!important}

/* Bath entry: one decision, then POV physically lowers into the basin. */
.immersive-enter{right:5%;bottom:6%;min-width:min(430px,88vw)!important;border:1px solid rgba(247,240,223,.5)!important;background:rgba(5,28,39,.74)!important;backdrop-filter:blur(8px)}
.bath-immersive .bath-enter-gesture{display:none!important}.bath-immersive .brand,.bath-immersive .journey-menu-trigger,.bath-immersive .scene-meta,.bath-immersive .sound{opacity:.08!important;pointer-events:none!important;transition:opacity .45s ease}
.bath-entry-sequence{position:fixed;z-index:15;left:50%;bottom:8%;transform:translateX(-50%);color:#fff;text-shadow:0 2px 15px #001;text-align:center;pointer-events:none}
.bath-entry-sequence span{display:block;padding:7px 11px;background:rgba(5,28,39,.34);font:500 15px var(--font-display),serif;backdrop-filter:blur(5px);animation:v60-bath-caption .8s ease both}
.bath-stage-5 .bath-pov{animation:v60-bath-feet .9s cubic-bezier(.22,.72,.22,1) both!important}
.bath-stage-6 .bath-pov{animation:v60-bath-knees .85s cubic-bezier(.22,.72,.22,1) both!important}
.bath-stage-7 .bath-pov{animation:v60-bath-shoulders 1.35s cubic-bezier(.18,.72,.2,1) both!important}
@keyframes v60-bath-feet{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.055) translateY(2.5%);filter:brightness(.92)}}
@keyframes v60-bath-knees{from{transform:scale(1.055) translateY(2.5%)}to{transform:scale(1.095) translateY(5%);filter:brightness(.88)}}
@keyframes v60-bath-shoulders{0%{transform:scale(1.095) translateY(5%)}55%{transform:scale(1.13) translateY(8%)}100%{transform:scale(1.12) translateY(7%);filter:brightness(.84) saturate(.92)}}
@keyframes v60-bath-caption{from{opacity:0;transform:translateY(8px)}to{opacity:.86;transform:none}}
.bath-splash-layer{position:fixed;z-index:13;inset:0;overflow:hidden;pointer-events:none;opacity:0}.bath-splash-layer.stage-6,.bath-splash-layer.stage-7{opacity:1}
.bath-splash-layer i{position:absolute;left:50%;bottom:5%;width:9px;height:42px;border-radius:50%;background:linear-gradient(to top,rgba(231,247,244,.05),rgba(240,255,252,.8));filter:blur(.2px);transform-origin:50% 100%;animation:v60-splash 1.05s ease-out both}
.bath-splash-layer i:nth-child(1){--x:-170px;--r:-32deg;animation-delay:.02s}.bath-splash-layer i:nth-child(2){--x:-120px;--r:-23deg;animation-delay:.08s}.bath-splash-layer i:nth-child(3){--x:-65px;--r:-12deg;animation-delay:.14s}.bath-splash-layer i:nth-child(4){--x:-18px;--r:-4deg;animation-delay:.04s}.bath-splash-layer i:nth-child(5){--x:45px;--r:10deg;animation-delay:.1s}.bath-splash-layer i:nth-child(6){--x:98px;--r:20deg;animation-delay:.16s}.bath-splash-layer i:nth-child(7){--x:145px;--r:28deg;animation-delay:.06s}.bath-splash-layer i:nth-child(8){--x:185px;--r:36deg;animation-delay:.12s}
@keyframes v60-splash{0%{opacity:0;transform:translate(0,40px) rotate(var(--r)) scaleY(.3)}25%{opacity:.92}100%{opacity:0;transform:translate(var(--x),-190px) rotate(var(--r)) scaleY(1.25)}}
.bath-entry-steam{position:fixed;z-index:14;inset:0;pointer-events:none;background:radial-gradient(ellipse at 35% 65%,rgba(244,249,242,.55),transparent 42%),radial-gradient(ellipse at 72% 60%,rgba(239,248,244,.48),transparent 38%),linear-gradient(to top,rgba(236,244,237,.62),rgba(232,240,235,.12) 70%,transparent);filter:blur(10px);animation:v60-steam-in 2.7s ease-in both}
@keyframes v60-steam-in{0%{opacity:.08;transform:translateY(12%)}55%{opacity:.46}100%{opacity:.9;transform:none}}

/* Fog is now the full-screen culmination. Content appears only after first wipe. */
.condensation-canvas{z-index:30!important;background:rgba(232,238,229,.44)!important;backdrop-filter:blur(12px)!important;animation:v60-fog-arrive .6s ease both}
.lens-drops{z-index:31!important}.fog-wipe-hint{position:fixed;z-index:32;left:50%;bottom:11%;display:grid;gap:2px;transform:translateX(-50%);padding:9px 13px;background:rgba(5,28,39,.42);color:#fff;pointer-events:none;text-align:center;backdrop-filter:blur(6px);animation:v60-fog-hint 1s ease .55s both}.fog-wipe-hint span{font:500 17px var(--font-display),serif}.fog-wipe-hint small{font-size:9px;opacity:.7}
.bath-presence-copy,.bath-native-source,.soak-exit{z-index:34!important}
@keyframes v60-fog-arrive{from{opacity:0}to{opacity:1}}@keyframes v60-fog-hint{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

@media(max-width:700px){
  .room-details .room-hotspot{padding:5px 7px!important}.room-details .room-hotspot:not(.seen):after{font-size:7px}
  .wash-observe.station span{right:4%;bottom:15%;font-size:9px}.wash-real-hit{width:95px!important;height:82px!important}.wash-real-hit span{font-size:8px!important}
  .immersive-enter{right:12px!important;bottom:max(14px,var(--safe))!important;left:12px!important;width:auto!important;min-width:0!important}
  .bath-entry-sequence{right:12px;bottom:8%;left:12px;transform:none}.bath-entry-sequence span{font-size:14px}
  .fog-wipe-hint{right:20px;bottom:10%;left:20px;transform:none}.fog-wipe-hint span{font-size:16px}
  @keyframes v60-fog-hint{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.shoji-room-crossing,.shoji-room-crossing i,.bath-pov,.bath-splash-layer i,.bath-entry-steam,.condensation-canvas{animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* source: former inline style */

.admin-test-toolbar{position:fixed;z-index:9999;right:14px;bottom:max(14px,env(safe-area-inset-bottom));left:14px;display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,260px) auto auto auto;gap:8px;align-items:center;padding:10px 12px;border:1px solid rgba(247,240,223,.22);border-radius:18px;background:rgba(4,28,38,.94);color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.36);backdrop-filter:blur(14px)}
.admin-test-toolbar div{display:grid}.admin-test-toolbar b{font-size:10px;letter-spacing:.16em;color:#efb596}.admin-test-toolbar small{font-size:9px;opacity:.75}.admin-test-toolbar select,.admin-test-toolbar button{min-height:42px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:#f7f0e4;color:#143542;padding:0 10px;font-weight:800}.admin-test-toolbar button{cursor:pointer}.admin-test-toolbar .admin-test-exit{background:#b7604e;color:#fff}.admin-test-active .journey-menu-trigger{bottom:86px}
@media(max-width:760px){.admin-test-toolbar{grid-template-columns:1fr 1fr;padding:9px}.admin-test-toolbar div{grid-column:1/-1}.admin-test-toolbar select{grid-column:1/-1}.admin-test-toolbar button{font-size:10px}.admin-test-toolbar .admin-test-exit{grid-column:1/-1}.admin-test-active{padding-bottom:190px}.admin-test-active .journey-menu-trigger{bottom:190px}}

/* V82 — grammaire de mouvement / monde vivant */
.day1-living-fx{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none}.day1-living-fx i{position:absolute;display:block;opacity:0}
.living-ride:before{content:"";position:absolute;inset:0;background:linear-gradient(112deg,transparent 18%,rgba(255,235,194,.1) 40%,transparent 58%);transform:translateX(-110%);animation:v82-window-light 7.8s ease-in-out infinite}.living-ride i:nth-child(1){left:8%;top:26%;width:48%;height:1px;background:rgba(255,255,255,.22);animation:v82-road-vibe 3.6s ease-in-out infinite}.living-ride i:nth-child(2){right:12%;top:18%;width:9px;height:9px;border-radius:50%;background:#e8ae92;animation:v82-blinker 4.4s step-end infinite}.living-ride i:nth-child(3){inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 25%,transparent 75%,rgba(0,0,0,.08));opacity:.28}
.living-ryokan:before,.living-genkan:before,.living-meal:before,.living-bathDoor:before{content:"";position:absolute;inset:-10%;background:radial-gradient(circle at 72% 34%,rgba(255,210,145,.12),transparent 28%),radial-gradient(circle at 25% 65%,rgba(255,180,110,.07),transparent 24%);animation:v82-lantern-breathe 5.6s ease-in-out infinite alternate}.living-meal i:nth-child(1){left:24%;bottom:8%;width:2px;height:54px;border-radius:50%;background:linear-gradient(to top,transparent,rgba(255,255,255,.15),transparent);filter:blur(3px);animation:v82-steam-rise 3.8s ease-in-out infinite}.living-meal i:nth-child(2){left:47%;bottom:11%;width:2px;height:48px;background:linear-gradient(to top,transparent,rgba(255,255,255,.12),transparent);filter:blur(3px);animation:v82-steam-rise 4.7s ease-in-out 1.1s infinite}
.meal-breath{position:absolute;z-index:18;right:4%;bottom:5%;width:min(470px,90vw);padding:15px 17px;border-left:2px solid var(--terra);background:linear-gradient(90deg,rgba(5,28,39,.83),rgba(5,28,39,.48));color:#fff;backdrop-filter:blur(7px);animation:v82-breath-in .8s ease both}.meal-breath small{color:#efb596;letter-spacing:.14em;font-size:9px}.meal-breath p{margin:8px 0 12px;font:500 20px/1.35 var(--font-display),serif}.meal-breath button{min-height:48px;width:100%;border:1px solid rgba(247,240,223,.4);border-radius:999px;background:rgba(191,91,72,.88);color:#fff;font-weight:700}
.d1-garden .world-image{animation:v82-garden-enter 2.4s cubic-bezier(.18,.8,.22,1) both!important;will-change:transform,background-position}.garden-scene{animation:v82-step-settle 2.4s ease both}.garden-step-shadow{position:absolute;z-index:6;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),transparent 16%,transparent 80%,rgba(0,0,0,.12));opacity:0;animation:v82-step-shadow 2.1s ease .45s both;pointer-events:none}.garden-leaf-light{position:absolute;z-index:6;inset:-8%;background:radial-gradient(ellipse at 18% 18%,rgba(244,223,172,.12),transparent 25%),radial-gradient(ellipse at 74% 24%,rgba(244,223,172,.09),transparent 22%);mix-blend-mode:screen;animation:v82-leaf-dapple 6.8s ease-in-out infinite alternate;pointer-events:none}.garden-fireflies{opacity:.45}.living-garden:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,232,188,.06) 47%,transparent 64%);animation:v82-garden-glint 8.5s ease-in-out infinite}
@keyframes v82-window-light{0%,20%{transform:translateX(-110%);opacity:0}38%{opacity:1}58%,100%{transform:translateX(110%);opacity:0}}@keyframes v82-road-vibe{0%,100%{transform:translate3d(0,0,0);opacity:.06}50%{transform:translate3d(1px,1.5px,0);opacity:.18}}@keyframes v82-blinker{0%,78%,100%{opacity:0}82%,92%{opacity:.55}}@keyframes v82-lantern-breathe{from{opacity:.45;transform:scale(1)}to{opacity:.72;transform:scale(1.015)}}@keyframes v82-steam-rise{0%{opacity:0;transform:translateY(12px) scaleX(.6)}35%{opacity:.32}100%{opacity:0;transform:translateY(-35px) scaleX(1.8)}}@keyframes v82-breath-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes v82-garden-enter{0%{transform:scale(1.11) translateY(-2.2%);filter:brightness(.78)}45%{filter:brightness(.92)}68%{transform:scale(1.045) translateY(.8%)}76%{transform:scale(1.055) translateY(1.35%)}100%{transform:scale(1.04) translateY(1%)}}@keyframes v82-step-settle{0%,45%{transform:translateY(-2px)}62%{transform:translateY(3px)}70%{transform:translateY(-1px)}100%{transform:none}}@keyframes v82-step-shadow{0%,30%{opacity:0}58%{opacity:.32}100%{opacity:.08}}@keyframes v82-leaf-dapple{from{transform:translate3d(-1%,0,0);opacity:.48}to{transform:translate3d(1.4%,-.8%,0);opacity:.75}}@keyframes v82-garden-glint{0%,30%{transform:translateX(-80%);opacity:0}47%{opacity:.5}72%,100%{transform:translateX(80%);opacity:0}}
@media(max-width:700px){.meal-breath{right:12px;bottom:max(14px,var(--safe));left:12px;width:auto}.meal-breath p{font-size:18px}.living-meal i:nth-child(1){left:31%}.living-meal i:nth-child(2){left:58%}}
@media(prefers-reduced-motion:reduce){.day1-living-fx:before,.day1-living-fx i,.d1-garden .world-image,.garden-scene,.garden-leaf-light,.meal-breath{animation:none!important}}


/* source: former inline style */

.chapter-day2.d2-tanaka .v79-tanaka-scene{background:#2a241c!important}
.chapter-day2.d2-tanaka .v79-tanaka-still{display:block!important;visibility:visible!important;opacity:1!important;z-index:5!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 48%!important}
.chapter-day2.d2-tanaka .v79-tanaka-media{z-index:6!important}
.chapter-day2.d2-tanaka .v79-tanaka-scene:after{z-index:7!important}
.chapter-day2.d2-tanaka .v79-tanaka-scene>*:not(.v79-tanaka-still):not(.v79-tanaka-media){z-index:12!important}
@media(max-width:700px){.chapter-day2.d2-tanaka .v79-tanaka-still{object-position:center 44%!important}}


/* V91 — Tanaka world-first heritage pass */
.v91-tanaka-heritage{background:#17130f!important}
.v91-tanaka-heritage .v91-heritage-view{transform:scale(1.08);object-position:56% 48%;filter:saturate(.9) contrast(1.04) brightness(.78)!important}
.v91-tanaka-heritage:after{background:linear-gradient(90deg,rgba(2,15,20,.08) 34%,rgba(2,15,20,.35) 62%,rgba(2,15,20,.82) 100%),linear-gradient(180deg,rgba(2,15,20,.03),rgba(2,15,20,.35))!important}
.v91-heritage-panel{position:absolute;z-index:14;right:clamp(22px,5vw,72px);top:50%;transform:translateY(-50%);width:min(490px,42vw);max-height:78svh;overflow:auto;padding:20px 22px;border-left:2px solid var(--terra);background:linear-gradient(110deg,rgba(3,28,38,.92),rgba(3,28,38,.62));color:#f7f0df;backdrop-filter:blur(8px)}
.v91-heritage-panel>small{color:#efb596;letter-spacing:.17em;font-size:9px}
.v91-heritage-panel h2{margin:8px 0 10px;font:500 clamp(25px,3vw,38px)/1.08 var(--font-display),Georgia,serif;max-width:18ch}
.v91-heritage-panel>p{margin:0 0 13px;font-size:13px;line-height:1.55;color:rgba(247,240,223,.84)}
.v91-heritage-facts{display:grid;gap:7px;margin:12px 0}
.v91-heritage-facts>div{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:9px 0;border-top:1px solid rgba(247,240,223,.14)}
.v91-heritage-facts b{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#efb596}.v91-heritage-facts span{font-size:12px;line-height:1.42;color:rgba(247,240,223,.82)}
.v91-source-note{margin:10px 0;border-top:1px solid rgba(247,240,223,.14);padding-top:10px}.v91-source-note summary{cursor:pointer;color:#efb596;font-size:10px}.v91-source-note p{font-size:11px;line-height:1.5;color:rgba(247,240,223,.76)}.v91-source-note a{color:#efb596;font-size:9px;text-decoration:none;border-bottom:1px solid rgba(239,181,150,.35)}
.v91-heritage-whisper{font-family:var(--font-display),Georgia,serif!important;font-style:italic;color:rgba(247,240,223,.68)!important}
.v91-heritage-cue{position:absolute;z-index:13;left:clamp(20px,5vw,70px);bottom:clamp(28px,7vh,80px);display:flex;align-items:baseline;gap:8px;color:#f7f0df;text-shadow:0 2px 18px rgba(0,0,0,.5)}.v91-heritage-cue span{font:500 clamp(42px,7vw,82px)/.9 var(--font-display),Georgia,serif}.v91-heritage-cue small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
@media(max-width:700px){.v91-tanaka-heritage .v91-heritage-view{transform:scale(1.04);object-position:58% 42%}.v91-tanaka-heritage:after{background:linear-gradient(180deg,rgba(2,15,20,.02) 30%,rgba(2,15,20,.3) 50%,rgba(2,15,20,.9) 100%)!important}.v91-heritage-cue{left:16px;top:17svh;bottom:auto}.v91-heritage-cue span{font-size:42px}.v91-heritage-panel{left:12px;right:12px;top:auto;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));transform:none;width:auto;max-height:52svh;padding:13px 14px}.v91-heritage-panel h2{font-size:25px;max-width:none}.v91-heritage-panel>p{font-size:12px;line-height:1.48}.v91-heritage-facts{gap:4px;margin:9px 0}.v91-heritage-facts>div{grid-template-columns:72px 1fr;padding:6px 0}.v91-heritage-facts span{font-size:11px}.v91-source-note{margin:7px 0;padding-top:7px}.v91-heritage-whisper{display:none}}


/* V92 — Visual continuity gate
   J3 must look like the same DOBOX product as J0/J1: world first, warm travel mood,
   editorial typography, minimal overlays, no visual-novel glass cards. */
.chapter-day3{background:#102c35}
.chapter-day3 .brand{opacity:1!important;transform:none!important}
.chapter-day3 .journey-menu-trigger{opacity:1!important;transform:none!important}
.chapter-day3 .sound{opacity:1!important}
.v85-d3-image{transform:none!important;filter:saturate(.92) contrast(.98) brightness(.94);animation:v92-scene-enter .9s cubic-bezier(.2,.75,.25,1) both!important}
.v85-d3-shade{background:linear-gradient(180deg,rgba(4,24,33,.22) 0%,rgba(4,24,33,0) 28%,rgba(4,24,33,.06) 58%,rgba(4,24,33,.52) 100%)!important}
.v85-d3-panel{left:auto!important;right:clamp(22px,6vw,90px)!important;bottom:clamp(32px,7vh,82px)!important;width:min(620px,46vw)!important;max-height:70svh!important;padding:18px 0 0 22px!important;border:0!important;border-left:2px solid var(--terra)!important;border-radius:0!important;background:linear-gradient(90deg,rgba(4,24,33,.76),rgba(4,24,33,.18) 72%,transparent)!important;box-shadow:none!important;backdrop-filter:blur(2px)!important;overflow:visible!important;text-shadow:0 3px 20px rgba(0,0,0,.75)}
.v85-d3-meta{justify-content:flex-start!important;gap:14px!important}.v85-d3-meta span{color:#efb596!important}.v85-d3-meta small{text-align:left!important;color:rgba(255,255,255,.7)!important}
.v85-d3-panel h2{margin:8px 0 7px!important;font-size:clamp(36px,4.4vw,64px)!important;line-height:.98!important;font-weight:500!important}.v85-d3-lead{max-width:48ch!important;margin:0!important;font-size:clamp(13px,1.2vw,17px)!important;line-height:1.5!important;color:rgba(255,255,255,.86)!important}
.v85-d3-actions{margin-top:13px!important;align-items:center!important}.v85-d3-actions button{min-height:52px!important}.v85-back{background:rgba(4,24,33,.42)!important}.v85-next{border:1px solid rgba(247,240,223,.58)!important;background:rgba(6,28,39,.74)!important;box-shadow:none!important}.v85-next:not(:disabled):hover,.v85-next:not(:disabled):focus-visible{background:rgba(163,80,66,.82)!important}
.v85-cultural-note{border:0!important;border-radius:0!important;background:transparent!important;padding:8px 0!important;color:rgba(255,255,255,.76)!important}.v85-cultural-note summary{color:#f0c3aa!important}
.v85-observation-caption,.v85-phrase,.v85-cinema-copy,.v85-final-memory blockquote{background:linear-gradient(90deg,rgba(4,24,33,.36),transparent)!important}
.v85-hotspot{width:45px!important;height:45px!important;border-color:rgba(247,240,223,.82)!important;background:rgba(4,24,33,.12)!important;box-shadow:0 0 0 6px rgba(239,181,150,.08),0 10px 24px rgba(0,0,0,.18)!important}.v85-hotspot:before{inset:10px!important;border-color:rgba(239,181,150,.75)!important}.v85-hotspot span{opacity:0!important;transform:translate(-50%,6px)!important;transition:.2s ease!important;pointer-events:none}.v85-hotspot:hover span,.v85-hotspot:focus-visible span{opacity:1!important;transform:translate(-50%,0)!important}
.v85-menu-sheet{background:#f2ead9!important;color:#183b46!important;border:1px solid rgba(98,67,43,.18)!important;box-shadow:0 28px 80px rgba(0,0,0,.34)!important}.v85-menu-sheet:before{border-color:rgba(24,59,70,.12)!important}.v85-menu-section button.selected{background:#e6d7bd!important}.v85-menu-pin{background:#a65345!important}
.v85-order-card,.v85-soft-response,.v85-food-note,.v85-neighbor-reply,.v85-bill-lines,.v85-memory-choice button,.v85-day-summary span{border-radius:0!important;background:linear-gradient(90deg,rgba(247,240,223,.09),transparent)!important}
.v85-human-action,.v85-wallet-mini button,.v85-collect-stamp{background:rgba(6,28,39,.78)!important;border-color:rgba(247,240,223,.5)!important}

.v85-receipt-object{background:#f2ead9!important;color:#183b46!important}
/* Day 2 Kawabata continuity: one narration layer, not two floating dashboard cards. */
.v92-arcade-pause .v78-arcade-atmosphere{display:none}.v92-arcade-caption{top:auto!important;right:clamp(22px,6vw,90px)!important;bottom:clamp(32px,7vh,82px)!important;left:auto!important;width:min(620px,46vw)!important;padding:18px 0 0 22px!important;border-left:2px solid var(--terra)!important;background:linear-gradient(90deg,rgba(4,24,33,.76),rgba(4,24,33,.12) 72%,transparent)!important;text-shadow:0 3px 20px rgba(0,0,0,.75)!important}.v92-arcade-caption p{font-size:clamp(25px,3vw,42px)!important;line-height:1.04!important}.v92-bag-peek{margin-top:12px;padding:8px 0;border-top:1px solid rgba(247,240,223,.24);font-size:10px;color:rgba(255,255,255,.82)}.v92-bag-peek summary{cursor:pointer;font-weight:800;color:#f0c3aa}.v92-bag-peek .d2-bag-summary{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.v92-bag-peek .d2-bag-summary>div{padding:7px 8px;border:1px solid rgba(247,240,223,.15);background:rgba(4,24,33,.3)}.v92-arcade-walk{margin-top:12px!important;width:100%!important}
.v78-return-panel{right:clamp(22px,6vw,90px)!important;left:auto!important;bottom:clamp(32px,7vh,82px)!important;width:min(620px,46vw)!important;padding:18px 0 0 22px!important;border:0!important;border-left:2px solid var(--terra)!important;border-radius:0!important;background:linear-gradient(90deg,rgba(4,24,33,.76),rgba(4,24,33,.12) 72%,transparent)!important;box-shadow:none!important;backdrop-filter:blur(2px)!important;text-shadow:0 3px 20px rgba(0,0,0,.75)!important}.v78-return-panel h2{font-size:clamp(36px,4.2vw,60px)!important;line-height:.98!important}.v78-return-panel p{font-size:clamp(13px,1.2vw,17px)!important}.v78-return-panel .d2-primary{background:rgba(6,28,39,.76)!important;border-color:rgba(247,240,223,.5)!important}
@media(max-width:760px){
 .chapter-day3 .brand{top:max(12px,env(safe-area-inset-top))!important;left:12px!important;transform:none!important;opacity:1!important}.chapter-day3 .sound{top:max(13px,env(safe-area-inset-top))!important;right:12px!important;width:50px!important;height:50px!important}.chapter-day3 .journey-menu-trigger{opacity:1!important;transform:none!important}
 .v85-d3-image{background-size:cover!important;transform:none!important}.v85-d3-shade{background:linear-gradient(180deg,rgba(4,24,33,.12),rgba(4,24,33,0) 46%,rgba(4,24,33,.6) 100%)!important}
 .v85-d3-panel{right:16px!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px))!important;left:16px!important;width:auto!important;max-height:40svh!important;padding:15px 8px 12px 16px!important;border-left:2px solid var(--terra)!important;background:linear-gradient(90deg,rgba(4,24,33,.78),rgba(4,24,33,.12) 82%,transparent)!important;overflow:auto!important}.v85-d3-panel h2{font-size:35px!important}.v85-d3-lead{font-size:13px!important}.v85-d3-actions{position:static!important;margin:12px 0 0!important;padding:0!important;background:none!important}.v85-d3-actions button{min-height:56px!important}
 .v85-hotspot{width:43px!important;height:43px!important}.v85-hotspot span{display:none!important}.hotspot-menu{left:11%!important;top:23%!important}.hotspot-chef{left:52%!important;top:34%!important}.hotspot-passage{right:9%!important;top:55%!important}.hotspot-chef-seat{left:51%!important;top:34%!important}.hotspot-stool{left:57%!important;top:67%!important}.hotspot-chef-order,.hotspot-chef-leave{left:52%!important;top:34%!important}
 .v85-menu-sheet{top:max(78px,calc(env(safe-area-inset-top) + 64px))!important;right:16px!important;left:16px!important;max-height:47svh!important}.v85-d3-menu .v85-d3-panel{max-height:32svh!important}.v85-d3-codes .v85-d3-panel{max-height:28svh!important}.v85-d3-prep .v85-d3-panel{max-height:30svh!important}
 .v92-arcade-caption,.v78-return-panel{right:16px!important;bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px))!important;left:16px!important;width:auto!important;padding:15px 8px 12px 16px!important;background:linear-gradient(90deg,rgba(4,24,33,.78),rgba(4,24,33,.12) 82%,transparent)!important}.v92-arcade-caption p{font-size:31px!important}.v92-bag-peek .d2-bag-summary{grid-template-columns:1fr!important}.v78-return-panel h2{font-size:34px!important}
}
@keyframes v92-scene-enter{from{opacity:.45;transform:scale(1.025)}to{opacity:1;transform:none}}

/* V93 — J3 world-first corrective pass
   Goal: same DOBOX family as J0/J1; the world leads, the interface whispers. */
.chapter-day3{background:#102c35}
.v85-d3-image{filter:saturate(.86) contrast(.96) brightness(.96)!important}
.v85-d3-shade{background:linear-gradient(180deg,rgba(8,31,39,.08) 0%,rgba(8,31,39,0) 48%,rgba(8,31,39,.22) 74%,rgba(8,31,39,.34) 100%)!important}
.v85-d3-panel{right:clamp(24px,4.5vw,64px)!important;bottom:clamp(24px,4.5vh,52px)!important;width:min(430px,38vw)!important;max-height:62svh!important;padding:16px 18px 15px!important;border:1px solid rgba(86,65,45,.16)!important;border-left:3px solid var(--terra)!important;border-radius:18px!important;background:rgba(247,240,223,.94)!important;color:#173743!important;box-shadow:0 18px 48px rgba(7,28,35,.25)!important;backdrop-filter:blur(8px)!important;text-shadow:none!important;overflow:auto!important}
.v85-d3-meta{justify-content:flex-start!important;gap:10px!important}.v85-d3-meta span{color:#a45a4c!important}.v85-d3-meta small{color:#66777a!important}.v85-d3-panel h2{margin:7px 0 6px!important;font-size:clamp(30px,3vw,44px)!important;line-height:1.01!important;color:#173743!important;text-shadow:none!important}.v85-d3-lead{max-width:42ch!important;font-size:12.5px!important;line-height:1.48!important;color:#5f7174!important}
.v85-d3-panel p,.v85-d3-panel span,.v85-d3-panel small,.v85-d3-panel label,.v85-d3-panel em{color:#5f7174}.v85-d3-panel b,.v85-d3-panel strong{color:#173743}
.v85-d3-actions{margin-top:11px!important}.v85-d3-actions button{min-height:46px!important}.v85-back{border-color:rgba(23,55,67,.2)!important;background:rgba(23,55,67,.05)!important;color:#173743!important}.v85-next{border-color:#173743!important;background:#173743!important;color:#f8f0df!important}.v85-next:not(:disabled):hover,.v85-next:not(:disabled):focus-visible{background:#a65345!important;border-color:#a65345!important}
.v85-cultural-note,.v85-observation-caption,.v85-phrase,.v85-cinema-copy,.v85-order-card,.v85-soft-response,.v85-food-note,.v85-neighbor-reply,.v85-bill-lines,.v85-memory-choice button,.v85-day-summary span{background:rgba(23,55,67,.045)!important;border-color:rgba(164,90,76,.34)!important;color:#173743!important;text-shadow:none!important}.v85-cultural-note summary,.v85-phrase summary,.v85-menu-summary small{color:#a65345!important}.v85-phrase>b,.v85-order-card b,.v85-neighbor-reply b{color:#173743!important}.v85-phrase>span,.v85-phrase details,.v85-human-moment>p,.v85-order-card span,.v85-neighbor-reply span,.v85-neighbor-reply small{color:#657679!important}
.v85-human-action,.v85-wallet-mini button,.v85-collect-stamp{background:#173743!important;color:#f8f0df!important;border-color:#173743!important}.v85-job-input input{background:#fffaf0!important;color:#173743!important;border-color:rgba(23,55,67,.22)!important}
/* Bag interaction: one physical object, no giant answer cards. */
.v93-bag-moment{position:absolute;inset:0;pointer-events:none}.v93-bag-object{pointer-events:auto;position:absolute;left:50%;bottom:12%;width:76px;height:64px;transform:translateX(-50%);padding:0;border:0;background:transparent;color:#fff;filter:drop-shadow(0 14px 15px rgba(0,0,0,.38));transition:left .6s cubic-bezier(.2,.75,.25,1),bottom .6s cubic-bezier(.2,.75,.25,1),transform .6s cubic-bezier(.2,.75,.25,1)}.v93-bag-body{position:absolute;left:7px;right:7px;bottom:5px;height:43px;border-radius:11px 11px 8px 8px;background:linear-gradient(145deg,#45352c,#1f1e1c);border:1px solid rgba(255,255,255,.13)}.v93-bag-handle{position:absolute;left:23px;top:0;width:30px;height:26px;border:5px solid #2b2622;border-bottom:0;border-radius:18px 18px 0 0}.v93-bag-object small{position:absolute;left:50%;top:69px;transform:translateX(-50%);padding:4px 8px;border-radius:999px;background:rgba(4,24,33,.72);color:#f8f0df!important;font-size:8px;white-space:nowrap}.v93-bag-object:not(.is-placed):after{content:'';position:absolute;inset:-9px;border:1px solid rgba(247,240,223,.58);border-radius:50%;animation:v85-pulse 2.2s ease-in-out infinite}.v93-bag-object.is-placed{left:27%;bottom:15%;transform:translateX(-50%) scale(.82)}.v93-seat-kept{position:absolute;right:18%;bottom:20%;padding:5px 8px;border-radius:999px;background:rgba(247,240,223,.82);color:#173743!important;font-size:8px;font-weight:800;letter-spacing:.05em}.v93-space-copy{margin-top:7px}.v93-space-copy p{margin:0;font-size:11px!important;line-height:1.45!important;color:#5f7174!important}
/* Hotspots become cues, not UI labels. */
.v85-hotspot{width:40px!important;height:40px!important;background:rgba(247,240,223,.12)!important;border-color:rgba(247,240,223,.8)!important;box-shadow:0 0 0 5px rgba(239,181,150,.06),0 10px 24px rgba(0,0,0,.15)!important}.v85-hotspot:before{inset:9px!important}.v85-hotspot span{background:rgba(247,240,223,.92)!important;color:#173743!important;text-shadow:none!important}
@media(max-width:760px){
 .v85-d3-image{background-size:cover!important;background-position:center!important}
 .v85-d3-shade{background:linear-gradient(180deg,rgba(8,31,39,.04) 0%,rgba(8,31,39,0) 60%,rgba(8,31,39,.22) 100%)!important}
 .v85-d3-panel{right:12px!important;left:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))!important;width:auto!important;max-height:34svh!important;padding:12px 13px 11px!important;border-left:3px solid var(--terra)!important;border-radius:16px!important;background:rgba(247,240,223,.95)!important;box-shadow:0 16px 38px rgba(7,28,35,.22)!important;overflow:auto!important}
 .v85-d3-meta span,.v85-d3-meta small{font-size:7px!important}.v85-d3-panel h2{font-size:27px!important;line-height:1.02!important;margin:5px 0!important}.v85-d3-lead{font-size:11.2px!important;line-height:1.4!important}.v85-d3-actions{margin-top:9px!important}.v85-d3-actions button{min-height:46px!important}.v85-back{width:46px!important}.v85-next{padding:8px 14px!important;font-size:12px!important}
 .v85-hotspot{width:38px!important;height:38px!important}.v85-hotspot span{display:none!important}
 .v93-bag-object{left:50%;bottom:38%;width:68px;height:58px}.v93-bag-object.is-placed{left:25%;bottom:36%;transform:translateX(-50%) scale(.78)}.v93-seat-kept{right:12%;bottom:39%;font-size:7px}
 .v85-d3-codes .v85-d3-panel{max-height:27svh!important}
}


/* V94 — J3 parity pass: reuse J1's reward language and scene punctuation */
.v94-scene-shell{animation:v94-shell-enter .68s ease both}
.v94-scene-dissolve{position:absolute;z-index:3;inset:0;pointer-events:none;background:#f7f0df;mix-blend-mode:soft-light;animation:v94-dissolve .82s ease both}
.v94-ambient{position:absolute;z-index:2;inset:0;pointer-events:none}
.v94-steam{background:radial-gradient(ellipse at 28% 72%,rgba(255,255,255,.18),transparent 28%),radial-gradient(ellipse at 58% 62%,rgba(255,255,255,.14),transparent 25%);filter:blur(18px);animation:v94-steam 5.8s ease-in-out infinite alternate}
.v94-river-shimmer{background:linear-gradient(112deg,transparent 12%,rgba(240,190,115,.12) 43%,transparent 62%);transform:translateX(-40%);animation:v94-shimmer 6.5s ease-in-out infinite}
.v94-passing-shadows:before,.v94-passing-shadows:after{content:"";position:absolute;top:8%;bottom:0;width:18%;background:linear-gradient(90deg,transparent,rgba(3,14,18,.3),transparent);filter:blur(7px);animation:v94-pass 7s linear infinite}
.v94-passing-shadows:after{animation-delay:3.4s}
.v94-passport-open{min-height:52px!important;border-radius:999px!important;background:#173846!important;color:#fff!important}
.v94-final-memory{max-width:560px}
@keyframes v94-shell-enter{from{opacity:.35}to{opacity:1}}
@keyframes v94-dissolve{0%{opacity:.55}100%{opacity:0}}
@keyframes v94-steam{from{opacity:.28;transform:translate3d(-1%,2%,0) scale(1)}to{opacity:.52;transform:translate3d(2%,-1%,0) scale(1.04)}}
@keyframes v94-shimmer{0%,100%{opacity:.08;transform:translateX(-42%)}50%{opacity:.26;transform:translateX(35%)}}
@keyframes v94-pass{0%{left:-25%;opacity:0}18%{opacity:.45}72%{opacity:.25}100%{left:115%;opacity:0}}
@media(max-width:760px){.v94-scene-dissolve{animation-duration:.65s}.v94-steam{filter:blur(14px)}}
@media(prefers-reduced-motion:reduce){.v94-scene-shell,.v94-scene-dissolve,.v94-steam,.v94-river-shimmer,.v94-passing-shadows:before,.v94-passing-shadows:after{animation:none!important}}

/* =========================================================
   V97 · J2/J3 REWORK — world-first corrections
   ========================================================= */

/* Shared whisper: short context that never becomes the scene. */
.v97-world-whisper{position:absolute;z-index:18;left:clamp(22px,5vw,76px);bottom:clamp(28px,7vh,86px);display:grid;gap:3px;max-width:min(520px,66vw);padding:14px 18px 14px 20px;border-left:2px solid var(--terra,#a85b4c);background:linear-gradient(90deg,rgba(4,24,33,.68),rgba(4,24,33,.06) 88%,transparent);color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.74);pointer-events:none}.v97-world-whisper small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#efc0a9}.v97-world-whisper b{font:500 clamp(24px,2.7vw,38px)/1.04 var(--font-display),Georgia,serif}.v97-world-whisper span{font-size:12px;line-height:1.45;color:rgba(255,255,255,.8)}

/* J2 breakfast: tap the actual tray, not three product cards. */
.v88-breakfast-objects{display:none!important}.v97-breakfast-world{position:absolute;inset:0;z-index:16;pointer-events:none}.v97-breakfast-hotspot{position:absolute;width:92px;height:92px;padding:0;border:0;background:transparent;pointer-events:auto}.v97-breakfast-hotspot i{position:absolute;inset:50% auto auto 50%;width:17px;height:17px;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.10),0 6px 20px rgba(0,0,0,.24);animation:v85-pulse 2.4s ease-in-out infinite}.v97-breakfast-hotspot span{position:absolute;left:50%;top:65%;transform:translateX(-50%);padding:5px 8px;border-radius:999px;background:rgba(4,24,33,.68);color:#fff;font-size:8px;font-weight:800;white-space:nowrap;opacity:0;transition:.2s}.v97-breakfast-hotspot:hover span,.v97-breakfast-hotspot:focus-visible span{opacity:1}.v97-breakfast-hotspot.fish{left:46%;top:29%}.v97-breakfast-hotspot.rice{left:17%;top:43%}.v97-breakfast-hotspot.miso{left:58%;top:59%}

/* J2 street: the road itself is the action. */
.v97-street-world .d2-story-panel{display:none!important}.v97-street-path{position:absolute;z-index:19;left:26%;top:37%;width:28%;height:48%;padding:0;border:0;background:transparent;color:#fff}.v97-street-path i{position:absolute;left:42%;top:40%;width:20px;height:20px;border:1.5px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08)}.v97-street-path span{position:absolute;left:42%;top:52%;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(4,24,33,.65);font-size:8px;font-weight:800;white-space:nowrap;opacity:.72}.v97-street-path:hover span,.v97-street-path:focus-visible span{opacity:1}

/* J2 konbini: enter through the physical door. */
.v97-konbini-door .d2-door-glow,.v97-konbini-door .d2-story-panel{display:none!important}.v97-door-hotspot{position:absolute;z-index:20;right:20%;top:20%;width:36%;height:68%;padding:0;border:0;background:transparent;color:#fff}.v97-door-hotspot i{position:absolute;left:56%;top:52%;width:19px;height:19px;border:1.5px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.09)}.v97-door-hotspot span{position:absolute;left:56%;top:62%;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(4,24,33,.68);font-size:8px;font-weight:800;white-space:nowrap}.v97-context-fold{position:absolute;z-index:21;right:clamp(18px,4vw,60px);bottom:clamp(20px,5vh,58px);width:min(360px,40vw);padding:9px 12px;border:1px solid rgba(247,240,223,.24);background:rgba(4,24,33,.48);color:#fff;backdrop-filter:blur(7px)}.v97-context-fold summary{cursor:pointer;font-size:9px;font-weight:800;color:#efc0a9}.v97-context-fold p{margin:7px 0 0;font-size:10px;line-height:1.45}.v97-context-fold a{display:inline-block;margin-top:7px;color:#efc0a9;font-size:9px}

/* J2 shrine approach: the basin draws the player into the ritual. */
.v97-shrine-arrival .d2-story-panel{display:none!important}.v97-shrine-water-hotspot{position:absolute;z-index:20;left:3%;top:38%;width:28%;height:40%;padding:0;border:0;background:transparent;color:#fff}.v97-shrine-water-hotspot i{position:absolute;left:48%;top:48%;width:19px;height:19px;border:1.5px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.09)}.v97-shrine-water-hotspot span{position:absolute;left:48%;top:60%;transform:translateX(-50%);padding:5px 8px;border-radius:999px;background:rgba(4,24,33,.66);font-size:8px;font-weight:800;white-space:nowrap}.v97-context-fold.shrine{right:clamp(16px,3vw,46px);bottom:clamp(18px,4vh,50px)}

/* J3 codes: no fake CSS bag. The interaction is a discreet spatial zone. */
.v93-bag-moment,.v93-bag-object,.v93-seat-kept{display:none!important}.v97-space-zone{position:absolute;z-index:18;left:4%;bottom:7%;width:34%;height:38%;padding:0;border:0;background:transparent;color:#fff}.v97-space-zone i{position:absolute;left:45%;bottom:30%;width:19px;height:19px;border:1.5px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.09);transition:.25s}.v97-space-zone span{position:absolute;left:45%;bottom:10%;transform:translateX(-50%);padding:5px 8px;border-radius:999px;background:rgba(4,24,33,.64);font-size:8px;font-weight:800;white-space:nowrap;opacity:.78}.v97-space-zone.is-done i{background:#eab79e;border-color:#eab79e}.v97-space-copy{display:grid;gap:4px}.v97-space-copy small{font-size:8px;letter-spacing:.13em;color:#a65345}.v97-space-copy p{margin:0;font-size:12px;line-height:1.48;color:#596c70}

/* J3 taste: the selected dish becomes the scene instead of a circular overlay. */
.v85-food-object{display:none!important}.v97-taste-hotspot{position:absolute;z-index:18;left:50%;bottom:10%;width:58%;height:44%;transform:translateX(-50%);padding:0;border:0;background:transparent;color:#fff}.v97-taste-hotspot i{position:absolute;left:50%;top:48%;width:20px;height:20px;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.1)}.v97-taste-hotspot span{position:absolute;left:50%;top:60%;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(4,24,33,.62);font-size:8px;font-weight:800;white-space:nowrap}.v97-taste-copy>small{font-size:8px;letter-spacing:.12em;color:#a65345}.v97-taste-note{padding:0 0 0 13px;border-left:2px solid #a85b4c;background:transparent!important}.v97-taste-note>b{font:600 24px var(--font-display),Georgia,serif;color:#173743}.v97-taste-note p{margin:5px 0 8px;font-size:11px;line-height:1.5;color:#607377}

/* J3 reflection: memory is derived from lived actions, never a quiz. */
.v85-memory-choice{display:none!important}.v97-memory-moment{display:grid;gap:8px}.v97-memory-moment small{font-size:8px;letter-spacing:.14em;color:#a65345}.v97-memory-moment p{margin:0;font-size:11px;line-height:1.5;color:#607377}.v97-memory-moment blockquote{margin:2px 0 0;padding:10px 0 4px 14px;border-left:2px solid #a85b4c;font:500 22px/1.15 var(--font-display),Georgia,serif;color:#173743}

@media(max-width:760px){
  .v97-world-whisper{left:14px;right:14px;bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));max-width:none;padding:11px 10px 11px 14px}.v97-world-whisper b{font-size:25px}.v97-world-whisper span{font-size:10px}.v97-world-whisper.shrine{bottom:auto;top:18svh;right:16px;max-width:55vw}.v97-world-whisper.shrine b{font-size:20px}.v97-world-whisper.shrine span{display:none}
  .v97-breakfast-hotspot{width:72px;height:72px}.v97-breakfast-hotspot.fish{left:44%;top:32%}.v97-breakfast-hotspot.rice{left:11%;top:45%}.v97-breakfast-hotspot.miso{left:57%;top:59%}.v97-breakfast-hotspot span{display:none}
  .v97-street-path{left:12%;top:27%;width:46%;height:58%}.v97-street-path span{display:none}
  .v97-door-hotspot{right:7%;top:23%;width:58%;height:62%}.v97-door-hotspot span{display:none}.v97-context-fold{left:14px;right:14px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 9px));width:auto;padding:8px 10px}.v97-context-fold:not([open]) p,.v97-context-fold:not([open]) a{display:none}
  .v97-shrine-water-hotspot{left:0;top:42%;width:38%;height:38%}.v97-shrine-water-hotspot span{display:none}.v97-context-fold.shrine{left:auto;right:14px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));width:min(260px,64vw)}
  .v97-space-zone{left:0;bottom:19%;width:42%;height:42%}.v97-space-zone span{display:none}
  .v97-taste-hotspot{bottom:20%;width:88%;height:46%}.v97-taste-hotspot span{display:none}.v97-taste-note>b{font-size:20px}.v97-memory-moment blockquote{font-size:19px}
}

@media(prefers-reduced-motion:reduce){.v97-breakfast-hotspot i{animation:none}}

/* =========================================================
   V98 · J0→J2 FINAL PASS — DA / readability / release gate
   Reference: bright, inhabited, semi-watercolour cinematic world.
   No new visual language is introduced here.
   ========================================================= */
:root{
  --v98-paper:#f6efe2;
  --v98-ink:#153746;
  --v98-terra:#ad5e4d;
  --v98-night:rgba(5,30,39,.78);
  --v98-line:rgba(21,55,70,.16);
}
/* Global release guards: no clipped labels, tiny controls or accidental horizontal overflow. */
html,body,#root{max-width:100%;overflow-x:hidden}
button,a,summary,[role="button"]{min-height:44px}
button,summary,a{overflow-wrap:anywhere}
.scene-meta{max-width:calc(100vw - 150px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.world-image{background-repeat:no-repeat;background-color:#0b2e3a}

/* J0: keep the room and physical objects dominant; reading is optional depth. */
.v98-letter-flow{max-height:min(52svh,480px)!important;overflow:auto!important;padding-right:5px}
.v98-letter-flow>p{font-size:clamp(14px,1.5vw,17px)!important;line-height:1.58!important}
.v98-letter-more{margin-top:14px;padding-top:10px;border-top:1px solid rgba(21,55,70,.16)}
.v98-letter-more summary{cursor:pointer;color:var(--v98-terra);font-size:11px;font-weight:850;letter-spacing:.05em;list-style:none}
.v98-letter-more summary::-webkit-details-marker{display:none}.v98-letter-more summary:after{content:" +"}.v98-letter-more[open] summary:after{content:" −"}
.v98-letter-more p{font-size:13px!important;line-height:1.55!important;color:#526a70!important}
.passport-focus .focus-copy,.support-focus .focus-copy{max-width:560px}
.passport-questions.v88-passport-flow fieldset{border:0!important;padding:0!important;margin:12px 0 0!important;display:grid!important;gap:8px!important}
.passport-questions.v88-passport-flow legend{margin:0 0 7px!important;color:#6b7779!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase}
.passport-questions.v88-passport-flow button{min-height:48px!important;border:1px solid rgba(21,55,70,.18)!important;border-radius:16px!important;background:rgba(255,250,240,.72)!important;color:var(--v98-ink)!important;text-align:left!important;padding:11px 14px!important;box-shadow:none!important}
.passport-questions.v88-passport-flow button:hover,.passport-questions.v88-passport-flow button:focus-visible{border-color:var(--v98-terra)!important;background:#fff8eb!important}
.passport-questions.v88-passport-flow button.selected{background:#173846!important;color:#fff!important;border-color:#173846!important}
.support-demo{border:1px solid var(--v98-line)!important;background:rgba(255,250,240,.72)!important;color:var(--v98-ink)!important;box-shadow:none!important}
.support-demo p{color:#536b72!important}.support-demo small{color:#87645d!important}
.support-focus .choice-row button{border-color:var(--v98-line)!important;background:rgba(255,250,240,.72)!important;color:var(--v98-ink)!important}
.support-focus .choice-row button.selected{background:#173846!important;color:#fff!important;border-color:#173846!important}

/* J1 parity / protection: never let a text card erase the world. */
.chapter-day1 .repere-card,.chapter-day1 .detail-slip,.chapter-day1 .sato-response,.chapter-day1 .meal-breath{max-width:min(520px,88vw);max-height:56svh;overflow:auto}
.chapter-day1 .sato-response,.chapter-day1 .meal-breath{background:linear-gradient(105deg,rgba(5,30,39,.91),rgba(5,30,39,.62))!important;color:#fff!important;backdrop-filter:blur(8px)}
.chapter-day1 .sato-response p,.chapter-day1 .meal-breath p{color:rgba(255,255,255,.9)!important}
.garden-whisper{max-width:min(460px,80vw)!important;background:linear-gradient(90deg,rgba(5,30,39,.72),rgba(5,30,39,.08))!important}

/* J2: same visual family as J1. Lighter world, smaller UI, no opaque dashboard cards. */
.chapter-day2 .world-image{filter:saturate(.93) contrast(1.01) brightness(.99)!important}
.chapter-day2 .world-light{background:linear-gradient(90deg,rgba(3,22,30,.18),transparent 58%),linear-gradient(0deg,rgba(3,18,26,.18),transparent 42%)!important}
.d2-story-panel{border-left:2px solid var(--v98-terra)!important;background:linear-gradient(100deg,rgba(5,30,39,.84),rgba(5,30,39,.42),rgba(5,30,39,.05))!important;box-shadow:none!important;backdrop-filter:blur(5px)!important}
.d2-aoi-panel{max-height:49svh!important;scrollbar-width:thin}
.d2-aoi-panel .d2-dialogue-choices button{min-height:46px!important;border-radius:14px!important}
.v97-world-whisper{background:linear-gradient(90deg,rgba(5,30,39,.70),rgba(5,30,39,.06) 88%,transparent)!important}
.v97-context-fold{background:rgba(246,239,226,.92)!important;color:var(--v98-ink)!important;border:1px solid var(--v98-line)!important;box-shadow:0 12px 28px rgba(10,37,45,.12)!important}
.v97-context-fold summary{color:var(--v98-terra)!important}.v97-context-fold p{color:#536b72!important}.v97-context-fold a{color:#8d5145!important}

/* Tanaka: the workshop, not a museum page. */
.v79-tanaka-scene{background:#1a2f35!important}
.v79-tanaka-still{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;filter:saturate(.93) contrast(1.01) brightness(.98)!important}
.v79-tanaka-scene.intro .v79-tanaka-caption,.v79-tanaka-greeting,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel{background:linear-gradient(100deg,rgba(5,30,39,.86),rgba(5,30,39,.44),rgba(5,30,39,.04))!important;box-shadow:none!important;border-left:2px solid var(--v98-terra)!important;backdrop-filter:blur(5px)!important}
.v91-tanaka-heritage .v91-heritage-panel{width:min(500px,88vw)!important;max-height:48svh!important;overflow:auto!important;padding:17px 18px!important;background:linear-gradient(100deg,rgba(5,30,39,.88),rgba(5,30,39,.46),rgba(5,30,39,.05))!important;box-shadow:none!important}
.v91-tanaka-heritage .v91-heritage-panel h2{font-size:clamp(30px,3.6vw,45px)!important;line-height:.98!important}
.v98-heritage-more{margin-top:11px;border-top:1px solid rgba(255,255,255,.18);padding-top:9px}.v98-heritage-more summary{cursor:pointer;color:#efc0a9;font-size:10px;font-weight:850}.v98-heritage-more .v91-heritage-facts{margin-top:9px}
.v91-heritage-cue{opacity:.55!important;transform:scale(.8)!important;transform-origin:right top!important}

/* Kawabata return: the arcade remains the hero. */
.v92-arcade-caption{width:min(470px,86vw)!important;background:linear-gradient(90deg,rgba(5,30,39,.78),rgba(5,30,39,.08))!important;box-shadow:none!important;border-left:2px solid var(--v98-terra)!important}
.v92-bag-peek{border:0!important;border-top:1px solid rgba(255,255,255,.16)!important;background:transparent!important;padding:8px 0 0!important}
.v92-bag-peek summary{font-size:10px!important;color:#efc0a9!important}

/* Focus and keyboard visibility across J0→J2. */
.chapter-day0 button:focus-visible,.chapter-day1 button:focus-visible,.chapter-day2 button:focus-visible,
.chapter-day0 summary:focus-visible,.chapter-day1 summary:focus-visible,.chapter-day2 summary:focus-visible{outline:3px solid #f1ad8e!important;outline-offset:3px!important}

@media(max-width:760px){
  .scene-meta{left:20px!important;top:150px!important;max-width:calc(100vw - 140px)!important;font-size:10px!important}
  .v98-letter-flow{max-height:46svh!important}.paper-letter{max-width:calc(100vw - 24px)!important;max-height:78svh!important}
  .passport-focus,.support-focus{padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
  .passport-questions.v88-passport-flow button{font-size:13px!important}
  .chapter-day1 .repere-card,.chapter-day1 .detail-slip,.chapter-day1 .sato-response,.chapter-day1 .meal-breath{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:48svh!important}
  .d2-story-panel{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:46svh!important;padding:15px 16px!important}
  .d2-story-panel h2{font-size:30px!important}.d2-story-panel p{font-size:12px!important}
  .d2-aoi-panel{max-height:44svh!important}
  .v79-tanaka-scene .v79-tanaka-still{object-position:center center!important}
  .v79-tanaka-scene.intro .v79-tanaka-caption,.v79-tanaka-greeting,.v79-question-panel,.v79-answer-panel,.v79-farewell-panel,.v91-tanaka-heritage .v91-heritage-panel{left:12px!important;right:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px))!important;width:auto!important;max-width:none!important;max-height:42svh!important;padding:14px 15px!important}
  .v91-tanaka-heritage .v91-heritage-panel h2{font-size:28px!important}
  .v92-arcade-caption{left:12px!important;right:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 6px))!important;width:auto!important;max-width:none!important}
}
@media(prefers-reduced-motion:reduce){.chapter-day2 .world-image,.v79-tanaka-still{transition:none!important;animation:none!important}}

/* === V99 · JOURNEY MENU REHIERARCHY === */
.v99-journey-home{padding:18px clamp(18px,4vw,34px) 40px!important;background:#efe5d4!important;color:#153744!important}
.v99-menu-close{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;min-width:48px!important;padding:0!important;border-radius:50%!important;font:400 28px/1 var(--font-sans),sans-serif!important}
.v99-resume{height:clamp(170px,25vw,230px)!important;margin:0 0 14px!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 14px 34px rgba(52,38,27,.15)!important}
.v99-resume img{filter:saturate(.92) contrast(.97)!important}
.v99-resume>span{left:22px!important;right:22px!important;bottom:20px!important}
.v99-resume b{max-width:14ch;font-size:clamp(30px,4vw,46px)!important;line-height:.96!important}
.v99-status-strip{margin:0 0 28px!important;border:1px solid rgba(21,55,68,.12)!important;border-radius:12px!important;background:rgba(255,252,246,.56)!important;overflow:hidden!important}
.v99-status-strip>span{min-height:66px;padding:12px 14px!important;background:transparent!important}
.v99-status-strip small{font-size:8px!important;letter-spacing:.1em!important;color:#8b6859!important}.v99-status-strip b{font-size:13px!important;color:#153744!important}
.v99-primary-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;margin-bottom:30px}
.v99-primary-grid .journey-object-card,.v99-essentials-grid .journey-object-card{position:relative;display:grid;align-items:end;min-height:190px;border:0;border-radius:16px;background:#fff;color:#153744;overflow:hidden;box-shadow:0 10px 26px rgba(57,42,28,.11);text-align:left}
.v99-primary-grid .journey-object-card>img,.v99-essentials-grid .journey-object-card>img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;padding:0!important;border-radius:0!important;filter:saturate(.9) contrast(.97)!important}
.v99-primary-grid .journey-object-card .journey-object-shade,.v99-essentials-grid .journey-object-card .journey-object-shade{display:block!important;position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,34,43,.02) 32%,rgba(8,34,43,.78) 100%)}
.v99-primary-grid .journey-object-card>div,.v99-essentials-grid .journey-object-card>div{position:relative!important;z-index:2;padding:18px!important;background:none!important;color:#fff!important}
.v99-primary-grid .journey-object-card small,.v99-essentials-grid .journey-object-card small{display:block;margin-bottom:5px;color:#f0b6a0!important;font-size:8px!important;letter-spacing:.15em!important}
.v99-primary-grid .journey-object-card b,.v99-essentials-grid .journey-object-card b{display:block;color:#fff!important;font:600 28px/1 var(--font-display),serif!important}
.v99-primary-grid .journey-object-card p,.v99-essentials-grid .journey-object-card p{margin:6px 0 0;color:rgba(255,255,255,.84)!important;font-size:10px!important}
.v99-primary-grid .journey-object-card:after,.v99-essentials-grid .journey-object-card:after{content:"→";position:absolute;z-index:3;right:16px;top:14px;color:#fff;font-size:22px}
.v99-essentials-label{margin-top:0!important}
.v99-essentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:28px}
.v99-essentials-grid .journey-object-card{min-height:160px}
.v99-essentials-grid .journey-object-card:nth-child(2)>img{object-fit:contain!important;padding:18px!important;background:linear-gradient(145deg,#decbb1,#f3e8d4)!important;filter:none!important}
.v99-essentials-grid .profile-object-card{background:linear-gradient(145deg,#cfb995,#efe0c5)!important}
.v99-essentials-grid .profile-object-card .profile-object-avatar{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;background:transparent!important;display:grid!important;place-items:center!important;color:#153744!important;font-size:72px!important;opacity:.74!important}
.v99-essentials-grid .profile-object-card>div{align-self:end!important}
.v99-essentials-grid .v86-bag-card .v86-bag-visual{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;background:linear-gradient(145deg,#ddceb8,#f5ead9)!important}
.v99-essentials-grid .v86-bag-card .v86-bag-visual img{position:absolute!important;max-width:58%!important;max-height:58%!important;object-fit:contain!important}
.v99-secondary-actions{display:grid;gap:8px;padding-top:18px;border-top:1px solid rgba(21,55,68,.13)}
.v99-secondary-actions>button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding:12px 14px;border:1px solid rgba(21,55,68,.12);border-radius:12px;background:rgba(255,252,246,.48);color:#153744;text-align:left}
.v99-secondary-actions span{display:grid;gap:3px}.v99-secondary-actions b{font-size:12px}.v99-secondary-actions small{font-size:9px;color:#65777b}.v99-secondary-actions i{font-style:normal;color:#a15e4d;font-size:20px}
.v99-leave-journey{display:block;margin:18px auto 0;padding:8px 4px;border:0;background:transparent;color:#7d6d61;font-size:10px;text-decoration:underline;text-underline-offset:4px}
.v99-journey-home .journey-admin-card,.v99-journey-home .journey-legal-links,.v99-journey-home .journey-menu-footer{display:none!important}
@media(max-width:700px){
 .v99-journey-home{padding:12px 12px 28px!important}.v99-resume{height:168px!important}.v99-resume>span{left:16px!important;right:16px!important;bottom:16px!important}.v99-resume b{font-size:31px!important}
 .v99-status-strip{grid-template-columns:1fr 1fr!important;margin-bottom:22px!important}.v99-status-strip>span{min-height:58px!important;padding:10px 11px!important}.v99-status-strip>span:nth-child(2){border-right:0!important}.v99-status-strip>span:nth-child(-n+2){border-bottom:1px solid rgba(21,55,68,.1)!important}
 .v99-primary-grid{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:24px}.v99-primary-grid .journey-object-card{min-height:148px;border-radius:13px}.v99-primary-grid .journey-object-card>div{padding:13px!important}.v99-primary-grid .journey-object-card b{font-size:23px!important}.v99-primary-grid .journey-object-card p{font-size:9px!important}
 .v99-essentials-grid{gap:9px}.v99-essentials-grid .journey-object-card{min-height:142px;border-radius:13px}.v99-essentials-grid .journey-object-card>div{padding:13px!important}.v99-essentials-grid .journey-object-card b{font-size:22px!important}.v99-essentials-grid .journey-object-card p{font-size:9px!important}
}

/* === V102 · EXPERIENCE REBUILD — menu owner access + Day 3 world-first === */
.v88-build-mark{display:none!important}
.v99-secondary-actions>.v102-admin-shortcut{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:11px 14px;border:1px solid rgba(161,94,77,.25);border-radius:12px;background:rgba(235,215,205,.48);color:#153744;text-align:left;text-decoration:none}
.v102-admin-shortcut span{display:grid;gap:3px}.v102-admin-shortcut b{font-size:12px}.v102-admin-shortcut small{font-size:9px;color:#65777b}.v102-admin-shortcut i{font-style:normal;color:#a15e4d;font-size:20px}

.v102-d3-scene{position:absolute;z-index:4;inset:0;overflow:hidden;background:#061820;color:#173743}
.v102-d3-image,.v102-d3-shade,.v102-world-layer{position:absolute;inset:0}.v102-d3-image{z-index:0;background-size:cover;background-position:center;animation:v102-scene-in .72s ease both}.v102-d3-shade{z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(3,18,25,.38),transparent 48%),linear-gradient(90deg,rgba(3,18,25,.2),transparent 55%)}.v102-world-layer{z-index:4;pointer-events:none}.v102-world-layer>*{pointer-events:auto}
.v102-d3-panel{position:absolute;z-index:7;left:clamp(24px,4.5vw,72px);bottom:clamp(22px,4.5vh,54px);width:min(430px,38vw);max-height:72svh;overflow:auto;padding:17px 18px 15px;border:1px solid rgba(21,55,68,.14);border-radius:13px;background:rgba(247,240,228,.93);box-shadow:0 18px 46px rgba(4,26,34,.25);color:#173743;backdrop-filter:blur(7px);overscroll-behavior:contain}
.v102-d3-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.v102-d3-meta span{font-size:8px;font-weight:900;letter-spacing:.17em;color:#a25b4b}.v102-d3-meta small{font-size:8px;letter-spacing:.06em;color:#6a797c;text-align:right}.v102-d3-panel h2{margin:8px 0 6px;font:500 clamp(28px,3vw,41px)/.98 var(--font-display),Georgia,serif;letter-spacing:-.02em;color:#173743}.v102-d3-lead{max-width:45ch;margin:0 0 11px;font-size:11px;line-height:1.52;color:#5d7075}
.v102-d3-actions{display:flex;gap:8px;margin-top:12px}.v102-d3-actions button{min-height:44px;border-radius:999px;font-weight:800}.v102-back{width:45px;padding:0;border:1px solid rgba(21,55,68,.16);background:rgba(255,255,255,.55);color:#173743;font-size:17px}.v102-next{flex:1;padding:8px 16px;border:1px solid #b56a58;background:#173743;color:#fff}.v102-next:disabled{opacity:.32;cursor:not-allowed}
.v102-mode-cinematic .v102-d3-panel{width:min(520px,46vw);padding:12px 0 0;border:0;border-radius:0;background:linear-gradient(90deg,rgba(4,24,33,.72),rgba(4,24,33,.08) 86%,transparent);box-shadow:none;color:#fff;backdrop-filter:none}.v102-mode-cinematic .v102-d3-meta{padding:0 16px}.v102-mode-cinematic .v102-d3-meta span{color:#efb9a1}.v102-mode-cinematic .v102-d3-meta small{color:rgba(255,255,255,.72)}.v102-mode-cinematic .v102-d3-panel h2{padding:0 16px;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}.v102-mode-cinematic .v102-d3-lead{padding:0 16px;color:rgba(255,255,255,.82)}.v102-mode-cinematic .v102-d3-actions{padding:0 16px 13px}.v102-mode-cinematic .v102-next{background:rgba(247,240,228,.93);border-color:rgba(255,255,255,.55);color:#173743}.v102-mode-cinematic .v102-back{background:rgba(4,24,33,.36);border-color:rgba(255,255,255,.22);color:#fff}
.v102-mode-dialogue .v102-d3-panel{width:min(420px,36vw);background:rgba(247,240,228,.95)}

.v102-hotspot{position:absolute;display:grid;place-items:center;width:50px;height:50px;padding:0;border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(5,26,34,.15);box-shadow:0 0 0 7px rgba(255,255,255,.06),0 12px 24px rgba(0,0,0,.2);backdrop-filter:blur(2px);transition:.2s ease}.v102-hotspot:before{content:'';position:absolute;inset:10px;border:1px solid rgba(255,255,255,.9);border-radius:50%;animation:v85-pulse 2.5s ease-in-out infinite}.v102-hotspot i{width:5px;height:5px;border-radius:50%;background:#efb89f}.v102-hotspot span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.v102-hotspot.is-done{border-color:#c4e1ca;background:rgba(80,133,96,.32)}.v102-hotspot.is-done:before{animation:none;border-color:#d1ead6}.hotspot-menu-open{left:17%;top:25%}

.v102-phrase{display:grid;gap:4px;margin:9px 0;padding:10px 12px;border-left:2px solid #a85b4c;background:rgba(255,255,255,.42)}.v102-phrase>b{font:500 22px/1.08 var(--font-display),Georgia,serif;color:#173743}.v102-phrase>span,.v102-phrase details{font-size:9.5px;color:#617277}.v102-phrase summary{cursor:pointer;color:#965546;font-weight:750}
.v102-dialogue-beat{display:grid;gap:8px}.v102-dialogue-beat>p{margin:0;font-size:11px;line-height:1.5;color:#5f7075}.v102-dialogue-line{display:grid;gap:3px;padding:10px 12px;border-left:2px solid #a85b4c;background:rgba(255,255,255,.52)}.v102-dialogue-line small{font-size:8px;letter-spacing:.12em;color:#965546;text-transform:uppercase}.v102-dialogue-line b{font:500 21px/1.12 var(--font-display),Georgia,serif;color:#173743}.v102-dialogue-line p{margin:0;font-size:10.5px;line-height:1.45;color:#465f66}.v102-dialogue-line span{font-size:9px;color:#76868a}
.v102-spoken-reply{display:grid;gap:3px;width:100%;padding:11px 12px;border:1px solid rgba(21,55,68,.15);border-radius:9px;background:#fffaf2;color:#173743;text-align:left}.v102-spoken-reply b{font:500 20px var(--font-display),Georgia,serif}.v102-spoken-reply span{font-size:9px;color:#65777b}
.v102-cinema-note p{margin:0;font:500 18px/1.26 var(--font-display),Georgia,serif;color:inherit}

.v102-observe-copy{display:grid;gap:9px}.v102-observe-copy p{margin:0;font-size:11px;line-height:1.45;color:#5d7075}.v102-observe-copy p b{color:#173743}.v102-observe-progress{display:flex;gap:5px}.v102-observe-progress i{width:22px;height:2px;background:#cfc7b9}.v102-observe-progress i.done{background:#a85b4c}

.v102-menu-sheet{position:absolute;z-index:9;top:10vh;right:clamp(24px,5vw,76px);width:min(430px,38vw);max-height:78svh;overflow:auto;padding:22px 20px 18px;background:#f6edda;color:#173845;box-shadow:0 26px 66px rgba(0,0,0,.38);transform:rotate(.35deg);border:1px solid rgba(77,53,34,.17)}.v102-menu-sheet:before{content:'';position:absolute;inset:8px;border:1px solid rgba(39,63,68,.12);pointer-events:none}.v102-menu-close{position:absolute;z-index:2;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(23,56,69,.08);color:#173845;font-size:20px}.v102-menu-sheet header{display:flex;align-items:end;justify-content:space-between;gap:10px;padding:0 40px 10px 0;border-bottom:1px solid rgba(23,56,69,.2)}.v102-menu-sheet header small{font-size:9px;letter-spacing:.16em}.v102-menu-sheet header b{font:600 27px var(--font-display),Georgia,serif}.v102-menu-section{display:grid;gap:5px;margin-top:12px}.v102-menu-section button{display:grid;grid-template-columns:52px 1fr auto;gap:9px;align-items:center;padding:7px;border:0;border-bottom:1px dashed rgba(23,56,69,.16);background:transparent;color:#173845;text-align:left}.v102-menu-section button img{width:52px;height:44px;object-fit:cover;border-radius:5px}.v102-menu-section button.selected{margin:0 -4px;padding:7px 11px;border-radius:7px;background:#e5d4b6}.v102-menu-section button span b,.v102-menu-section button span small{display:block}.v102-menu-section button span b{font-size:11px}.v102-menu-section button span small{margin-top:2px;font-size:8.5px;opacity:.66}.v102-menu-section button strong{font-size:11px}.v102-menu-section.drinks{margin-top:14px}.v102-menu-sheet footer{margin-top:12px;font-size:8.5px;line-height:1.4;opacity:.62}.v102-menu-summary{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:end}.v102-menu-summary p{grid-column:1/-1;margin:0;font-size:11px;color:#5d7075}.v102-menu-summary small,.v102-menu-summary em{grid-column:1/-1}.v102-menu-summary small{font-size:8px;letter-spacing:.13em;color:#a85b4c}.v102-menu-summary b{font:600 19px var(--font-display),Georgia,serif}.v102-menu-summary span{font-size:10px;color:#63767a}.v102-menu-summary strong{grid-row:2/4;grid-column:2;font:600 23px var(--font-display),Georgia,serif}.v102-menu-summary em{font-size:9px;font-style:normal;color:#718185}

.v102-passage-zone{position:absolute;z-index:7;right:5%;bottom:12%;width:35%;height:46%;padding:0;border:0;background:transparent}.v102-passage-zone i{position:absolute;left:50%;top:52%;width:18px;height:18px;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.94);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08)}.v102-space-copy p{margin:0;font-size:11px;line-height:1.5;color:#5d7075}
.v102-food-plate{position:absolute;z-index:6;left:50%;bottom:-3%;width:min(420px,39vw);max-height:54vh;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 18px 28px rgba(0,0,0,.28));transition:transform .35s ease}.v102-food-plate.is-tasted{transform:translateX(-50%) scale(.98)}.v102-food-taste-zone{position:absolute;z-index:7;left:50%;bottom:0;width:min(460px,44vw);height:50%;transform:translateX(-50%);border:0;background:transparent}.v102-taste-copy{display:grid;gap:6px}.v102-taste-copy>b{font:600 21px var(--font-display),Georgia,serif}.v102-taste-copy>p{margin:0;font-size:11px;line-height:1.5;color:#5d7075}.v102-taste-copy details summary{cursor:pointer;color:#965546;font-size:9px;font-weight:750}

.v102-receipt-object{position:absolute;z-index:7;right:clamp(62px,10vw,180px);top:43%;width:210px;min-height:230px;padding:22px 18px;border:0;background:#f4eddc;color:#173844;box-shadow:0 24px 52px rgba(0,0,0,.36);transform:rotate(-1.6deg);text-align:left}.v102-receipt-object small,.v102-receipt-object b,.v102-receipt-object strong{display:block}.v102-receipt-object small{font-size:8px;letter-spacing:.15em}.v102-receipt-object b{margin-top:15px;font:600 27px var(--font-display),Georgia,serif}.v102-receipt-object strong{margin-top:58px;padding-top:8px;border-top:1px dashed rgba(23,56,68,.28);font:600 23px var(--font-display),Georgia,serif;text-align:right}.v102-receipt-object.checked{outline:2px solid rgba(176,98,82,.45)}
.v102-wallet-mini{display:grid;gap:5px}.v102-bill-lines{display:grid;gap:3px;margin-bottom:5px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.52)}.v102-bill-lines span{display:flex;justify-content:space-between;font-size:9.5px}.v102-wallet-mini>span{font-size:8px;letter-spacing:.12em;color:#a85b4c}.v102-wallet-mini>b{font:600 26px var(--font-display),Georgia,serif}.v102-wallet-mini button{min-height:42px;border:1px solid #b56a58;border-radius:999px;background:#173743;color:#fff;font-weight:800}.v102-wallet-mini em{font-size:10px;font-style:normal;color:#4e775c}
.v102-final-memory{display:grid;gap:11px}.v102-final-memory>p{margin:0;font-size:11px;line-height:1.55;color:#5d7075}.v102-passport-open{min-height:48px;border:1px solid #173743;border-radius:999px;background:#173743;color:#fff;font-weight:800}.v102-stamp-earned{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:center;padding:8px;background:rgba(255,255,255,.52)}.v102-stamp-earned img{width:72px;height:72px;object-fit:contain}.v102-stamp-earned small,.v102-stamp-earned b{display:block}.v102-stamp-earned small{font-size:8px;letter-spacing:.12em}.v102-stamp-earned b{font:600 21px var(--font-display),Georgia,serif}

.v102-aoi-panel{max-width:520px!important}.v102-aoi-panel .d2-dialogue-choices{display:none!important}.v102-tanaka-dialogue{max-width:min(460px,42vw)!important}.v102-tanaka-dialogue .v79-mei-craft{margin-top:8px}.v102-tanaka-legacy .v79-answer-panel{max-width:420px}

@keyframes v102-scene-in{from{opacity:.35;transform:scale(1.01)}to{opacity:1;transform:scale(1.018)}}
@media(max-width:760px){
 .v99-secondary-actions>.v102-admin-shortcut{min-height:58px}
 .v102-d3-panel{left:12px;right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:auto;max-height:39svh;padding:13px 14px 12px;border-radius:12px}.v102-d3-meta small{max-width:48%;font-size:7px}.v102-d3-panel h2{font-size:27px}.v102-d3-lead{font-size:10px}.v102-d3-actions{margin-top:10px}.v102-d3-actions button{min-height:45px}
 .v102-mode-cinematic .v102-d3-panel{left:12px;right:12px;width:auto;max-height:none;padding-top:9px;background:linear-gradient(90deg,rgba(4,24,33,.74),rgba(4,24,33,.14) 88%,transparent)}.v102-mode-cinematic .v102-d3-panel h2{font-size:27px}.v102-mode-cinematic .v102-d3-actions{padding-bottom:10px}
 .v102-hotspot{width:46px;height:46px}.hotspot-menu{left:14%;top:25%}.hotspot-passage{right:8%;top:63%}.hotspot-chef{left:28%;top:46%}.hotspot-chef-seat{left:30%;top:42%}.hotspot-stool{left:63%;top:70%}.hotspot-chef-order{left:44%;top:43%}.hotspot-chef-leave{left:37%;top:42%}.hotspot-menu-open{left:18%;top:25%}
 .v102-menu-sheet{top:10svh;left:12px;right:12px;width:auto;max-height:72svh;padding:19px 15px 15px;transform:none}.v102-menu-section button{grid-template-columns:46px 1fr auto}.v102-menu-section button img{width:46px;height:40px}
 .v102-passage-zone{right:0;bottom:18%;width:42%;height:46%}.v102-food-plate{bottom:12%;width:76vw;max-height:42svh}.v102-food-taste-zone{bottom:10%;width:88vw;height:45%}
 .v102-receipt-object{right:20px;top:25%;width:170px;min-height:190px;padding:18px 15px}.v102-receipt-object b{font-size:23px}.v102-receipt-object strong{margin-top:42px;font-size:20px}
 .v102-aoi-panel{left:12px!important;right:12px!important;width:auto!important;max-width:none!important}.v102-tanaka-dialogue{left:12px!important;right:12px!important;max-width:none!important}
}
@media(prefers-reduced-motion:reduce){.v102-d3-image,.v102-hotspot:before{animation:none!important}}

/* =========================================================
   V103 · DAY 3 DIRECTED EXPERIENCE
   World first: no permanent card, no generic next button.
   ========================================================= */
.v103-d3-scene{position:absolute;inset:0;z-index:4;overflow:hidden;background:#071820;color:#fff;isolation:isolate}
.v103-d3-bg{position:absolute;inset:-1.5%;z-index:0;background-size:cover;background-position:center;transform:scale(1.018);transition:opacity .9s ease,filter 1.4s ease,transform 6s cubic-bezier(.2,.7,.2,1);will-change:transform,filter,opacity}
.v103-d3-grade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(4,16,23,.05),rgba(4,16,23,.03) 48%,rgba(4,16,23,.23));transition:background 2s ease}
.v103-d3-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.055;background-image:radial-gradient(rgba(255,255,255,.5) .45px,transparent .55px);background-size:3px 3px;mix-blend-mode:soft-light}
.v103-world{position:absolute;inset:0;z-index:5;pointer-events:none}.v103-world>*{pointer-events:auto}
.v103-d3-hud{position:absolute;z-index:10;top:max(18px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(5,20,28,.24);box-shadow:0 8px 30px rgba(0,0,0,.12);backdrop-filter:blur(8px);pointer-events:none}
.v103-d3-hud span{font-size:9px;letter-spacing:.1em;color:rgba(255,255,255,.76)}.v103-d3-hud b{font-size:9px;font-weight:700;color:#fff}
.v103-back{position:absolute;z-index:11;left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(5,20,28,.24);color:#fff;backdrop-filter:blur(8px);font-size:18px}
.v103-whisper{position:absolute;z-index:9;left:clamp(22px,5vw,72px);bottom:clamp(26px,7vh,78px);width:min(410px,39vw);padding:12px 15px 13px;border-left:2px solid rgba(235,190,153,.7);background:linear-gradient(90deg,rgba(4,18,26,.68),rgba(4,18,26,.12) 88%,transparent);text-shadow:0 2px 16px rgba(0,0,0,.45)}
.v103-whisper small{display:block;margin-bottom:5px;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#efc4aa}.v103-whisper p{margin:0 0 4px;font:500 clamp(16px,1.6vw,22px)/1.22 var(--font-display),Georgia,serif;color:#fff}.v103-whisper p:last-child{margin-bottom:0}
.v103-world-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(7,28,37,.73);color:#fff;font-size:11px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(9px);transition:transform .2s ease,background .2s ease,opacity .2s ease}.v103-world-action:hover{transform:translateY(-1px);background:rgba(10,38,49,.86)}.v103-world-action:disabled{opacity:.38;cursor:not-allowed}.v103-world-action.is-quiet{background:rgba(245,239,227,.9);color:#173743;border-color:rgba(255,255,255,.55)}
.v103-depart-action,.v103-follow-lights,.v103-choose-yatai,.v103-passport-action{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(28px,7vh,76px)}
.v103-truth-note{position:absolute;z-index:9;right:clamp(22px,5vw,72px);bottom:clamp(82px,13vh,126px);max-width:300px;padding:7px 10px;border-radius:8px;background:rgba(5,20,28,.32);color:rgba(255,255,255,.67);font-size:8px;line-height:1.4;backdrop-filter:blur(7px)}
.v103-hotspot{position:absolute;z-index:8;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff}.v103-hotspot i{position:absolute;inset:12px;border:1.5px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.08),0 0 22px rgba(255,218,177,.22);animation:v103-hotspot 2.6s ease-in-out infinite}.v103-hotspot span{position:absolute;left:50%;top:56px;transform:translateX(-50%);white-space:nowrap;padding:5px 8px;border-radius:999px;background:rgba(4,20,28,.72);color:#fff;font-size:8px;font-weight:750;opacity:0;transition:opacity .2s ease}.v103-hotspot:hover span,.v103-hotspot:focus-visible span,.v103-hotspot.is-done span{opacity:1}.v103-hotspot.is-done i{background:rgba(236,197,158,.7);box-shadow:0 0 0 5px rgba(255,255,255,.08)}
@keyframes v103-hotspot{0%,100%{transform:scale(.93);opacity:.75}50%{transform:scale(1.07);opacity:1}}
.v103-breathe .v103-d3-bg{animation:v103-breathe 14s ease-in-out infinite alternate}@keyframes v103-breathe{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.028) translate3d(-.35%,.25%,0)}}

/* Taxi: one scene, several moments, no button-to-image rhythm. */
.v103-taxi-ride .v103-d3-bg{background-position:center;transform:scale(1.035)}.v103-taxi-ride.beat-1 .v103-d3-bg{transform:scale(1.045) translateX(-.35%)}.v103-taxi-ride.beat-2 .v103-d3-bg{filter:saturate(.88) brightness(.74) sepia(.05);transform:scale(1.05) translateX(.45%)}.v103-taxi-ride.beat-3 .v103-d3-bg{filter:saturate(.92) brightness(.7);transform:scale(1.035)}
.v103-window-reflections{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.22;background:radial-gradient(circle at 18% 42%,rgba(255,219,164,.32),transparent 8%),radial-gradient(circle at 68% 56%,rgba(255,255,255,.18),transparent 10%),radial-gradient(circle at 88% 31%,rgba(255,177,119,.24),transparent 7%);mix-blend-mode:screen;animation:v103-window 8s linear infinite alternate}@keyframes v103-window{from{transform:translateX(-7%)}to{transform:translateX(7%)}}
.v103-ride-progress{position:absolute;z-index:9;bottom:25px;left:50%;display:flex;gap:6px;transform:translateX(-50%)}.v103-ride-progress i{width:24px;height:2px;background:rgba(255,255,255,.24)}.v103-ride-progress i.is-on{background:rgba(255,228,198,.9)}
.v103-skip-breath{position:absolute;z-index:10;right:20px;top:78px;border:0;border-bottom:1px solid rgba(255,255,255,.42);background:transparent;color:rgba(255,255,255,.78);font-size:9px;padding:4px 0}

/* Nakasu arrival + discovery */
.look-river{left:28%;top:62%}.look-lights{right:23%;top:53%}.see-chef{left:24%;top:43%}.see-stools{left:46%;bottom:18%}.see-passage{right:18%;bottom:22%}.seat-stool{left:38%;bottom:17%}.open-menu{left:26%;top:38%}.bill-chef{left:40%;top:40%}
.v103-observation{position:absolute;z-index:9;right:clamp(22px,5vw,72px);bottom:clamp(90px,14vh,140px);max-width:320px;margin:0;padding:9px 12px;border-radius:9px;background:rgba(245,239,227,.9);color:#173743;font-size:10px;line-height:1.45;box-shadow:0 12px 36px rgba(0,0,0,.2)}
.v103-culture-note{position:absolute;z-index:9;left:clamp(22px,5vw,72px);bottom:24px;width:min(360px,38vw);color:#fff}.v103-culture-note summary{width:max-content;cursor:pointer;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:9px;font-weight:800}.v103-culture-note[open]{padding:12px 13px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(4,20,28,.82);backdrop-filter:blur(10px)}.v103-culture-note p{font-size:9px;line-height:1.48;color:rgba(255,255,255,.78)}.v103-culture-note a{font-size:8px;color:#f0c7a9;text-decoration:none}

/* Counter / dialogue */
.v103-dialogue-stack{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(26px,7vh,78px);display:grid;gap:9px;width:min(390px,38vw)}
.v103-dialogue{display:grid;gap:3px;padding:11px 13px;border-left:2px solid rgba(229,169,133,.82);background:rgba(5,21,29,.76);box-shadow:0 14px 38px rgba(0,0,0,.2);backdrop-filter:blur(9px);color:#fff}.v103-dialogue.is-quiet{background:rgba(5,21,29,.58)}.v103-dialogue small{font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#f0c4a8}.v103-dialogue b{font:600 clamp(18px,1.8vw,24px)/1.14 var(--font-display),Georgia,serif}.v103-dialogue p{margin:0;font-size:10px;line-height:1.42;color:rgba(255,255,255,.85)}.v103-dialogue span{font-size:8px;color:rgba(255,255,255,.58)}
.v103-phrase{display:grid;gap:4px;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(247,240,228,.94);color:#173743;box-shadow:0 14px 38px rgba(0,0,0,.18)}.v103-phrase>b{font:600 clamp(19px,1.9vw,25px)/1.1 var(--font-display),Georgia,serif}.v103-phrase>span,.v103-phrase details{font-size:9px;color:#617277}.v103-phrase details summary{cursor:pointer;font-weight:800;color:#a05d4e}.v103-phrase details p{margin:5px 0 0}
.v103-moment-copy{margin:0;padding:9px 12px;border-radius:9px;background:rgba(4,20,28,.62);font-size:10px;line-height:1.45;color:rgba(255,255,255,.85)}
.v103-seat-scene.is-seated .v103-d3-bg{transform:scale(1.07) translateY(2.1%);transition-duration:.8s}

/* Menu as object, not e-commerce cards */
.v103-menu-sheet{position:absolute;z-index:20;top:8vh;right:clamp(24px,6vw,84px);width:min(430px,40vw);max-height:82svh;overflow:auto;padding:22px 21px 18px;border:1px solid rgba(77,55,38,.16);background:#efe3ca;color:#173743;box-shadow:0 28px 70px rgba(0,0,0,.36);transform:rotate(.2deg)}.v103-menu-sheet:before{content:"";position:absolute;inset:8px;border:1px solid rgba(39,63,68,.12);pointer-events:none}.v103-menu-x{position:absolute;z-index:2;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(23,55,67,.08);color:#173743;font-size:20px}.v103-menu-sheet header{position:relative;padding:0 40px 12px 0;border-bottom:1px solid rgba(23,55,67,.18)}.v103-menu-sheet header small{font-size:10px;letter-spacing:.17em}.v103-menu-sheet h3{margin:2px 0 4px;font:600 30px/1 var(--font-display),Georgia,serif}.v103-menu-sheet header em{font-size:8px;font-style:normal;letter-spacing:.1em;color:#8d594d}.v103-menu-group{position:relative;display:grid;margin-top:13px}.v103-menu-group>small{margin-bottom:3px;font-size:8px;font-weight:900;letter-spacing:.16em;color:#9b5a4d}.v103-menu-group button{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 4px;border:0;border-bottom:1px dashed rgba(23,55,67,.16);background:transparent;color:#173743;text-align:left}.v103-menu-group button span b,.v103-menu-group button span small{display:block}.v103-menu-group button span b{font-size:14px}.v103-menu-group button span small{font-size:9px;opacity:.66}.v103-menu-group button strong{font-size:11px}.v103-menu-group button.is-selected{padding-left:10px;padding-right:10px;background:rgba(184,143,92,.16);box-shadow:inset 3px 0 #a85f4f}.v103-menu-sheet footer{position:relative;margin-top:14px;padding-top:10px;border-top:1px solid rgba(23,55,67,.15)}.v103-menu-sheet footer p{font-size:8px;line-height:1.35;opacity:.64}.v103-menu-sheet footer button{width:100%;min-height:44px;border:1px solid #173743;border-radius:999px;background:#173743;color:#fff;font-weight:800}.v103-menu-sheet footer button:disabled{opacity:.38}

/* Cooking / meal */
.v103-cooking .v103-d3-bg{animation:v103-cook-camera 10s ease-in-out both}@keyframes v103-cook-camera{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.065) translateX(-1.1%)}}
.v103-steam{position:absolute;z-index:4;left:30%;top:22%;width:36%;height:52%;opacity:.26;filter:blur(13px);background:radial-gradient(ellipse at 45% 78%,rgba(255,255,255,.65),transparent 50%),radial-gradient(ellipse at 55% 45%,rgba(255,255,255,.34),transparent 48%);animation:v103-steam 5.4s ease-in-out infinite alternate;pointer-events:none}@keyframes v103-steam{from{transform:translateY(5%) scale(.95);opacity:.16}to{transform:translateY(-7%) scale(1.08);opacity:.31}}
.v103-silent-cue{position:absolute;z-index:9;left:50%;bottom:25px;transform:translateX(-50%);margin:0;padding:7px 11px;border-radius:999px;background:rgba(4,20,28,.34);color:rgba(255,255,255,.66);font-size:8px;backdrop-filter:blur(7px)}
.v103-meal-zone{position:absolute;z-index:7;left:16%;right:16%;bottom:4%;height:64%;border:0;background:transparent}.v103-meal-hint{position:absolute;z-index:9;left:50%;bottom:8%;transform:translateX(-50%);padding:7px 11px;border-radius:999px;background:rgba(4,20,28,.56);font-size:9px;font-weight:800}.v103-optional-reply{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(24px,5vh,50px);display:grid;gap:8px;width:min(390px,38vw)}.v103-optional-reply>small{padding:7px 10px;border-radius:8px;background:rgba(4,20,28,.58);font-size:8px;line-height:1.35;color:rgba(255,255,255,.75)}.v103-optional-reply>div{display:flex;gap:7px}.v103-return-counter{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(24px,5vh,50px)}

/* Neighbor: a real change of gaze, not a portrait screen. */
.v103-neighbor-choice{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);display:flex;gap:8px}.v103-neighbor-turn .v103-d3-bg{transform:scale(1.03) translateX(-.4%)}.v103-reply-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v103-reply-pair .v103-world-action{display:grid;gap:3px;text-align:left;border-radius:10px}.v103-reply-pair span{font-size:14px;font-weight:750}.v103-reply-pair small{font-size:8px;opacity:.72}

/* Bill / wallet */
.v103-waiting-cue{position:absolute;z-index:8;right:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);max-width:270px;margin:0;padding:8px 11px;border-radius:8px;background:rgba(4,20,28,.48);color:rgba(255,255,255,.76);font-size:9px;line-height:1.4}.v103-bill-flow{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(22px,5vh,54px);display:grid;grid-template-columns:minmax(230px,360px) 190px;gap:10px;align-items:end}.v103-bill-paper{grid-column:2;grid-row:1/3;min-height:178px;padding:17px 14px;background:#f1e7d1;color:#173743;box-shadow:0 16px 40px rgba(0,0,0,.28);transform:rotate(-1deg)}.v103-bill-paper small,.v103-bill-paper b,.v103-bill-paper span{display:block}.v103-bill-paper small{font-size:8px;letter-spacing:.13em}.v103-bill-paper b{margin-top:53px;padding-top:8px;border-top:1px dashed rgba(23,55,67,.25);font:600 24px var(--font-display),Georgia,serif;text-align:right}.v103-bill-paper span{margin-top:5px;text-align:right;font-size:8px}.v103-wallet-line{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:9px;background:rgba(247,240,228,.94);color:#173743}.v103-wallet-line span{font-size:9px}.v103-wallet-line strong{font:600 20px var(--font-display),Georgia,serif}.v103-paid-note{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);display:grid;gap:5px;padding:12px 14px;border-radius:10px;background:rgba(247,240,228,.94);color:#173743}.v103-paid-note b{font-size:11px}.v103-paid-note small{font-size:9px;color:#648}.v103-paid-note .v103-world-action{margin-top:5px}

/* Exit, river choice, cruise, memory */
.v103-farewell{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);display:grid;gap:7px;width:min(370px,38vw)}.v103-depart-yatai .v103-d3-bg{animation:v103-exit-walk 6.3s ease-in-out both}@keyframes v103-exit-walk{from{transform:scale(1.06) translateY(1%)}to{transform:scale(1.015) translateX(1.2%)}}
.v103-night-options{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);display:flex;gap:8px}.v103-night-view .v103-d3-bg,.v103-river-pause .v103-d3-bg,.v103-cruise-view .v103-d3-bg{animation:v103-water-breathe 12s ease-in-out infinite alternate}@keyframes v103-water-breathe{from{transform:scale(1.015) translateX(-.2%)}to{transform:scale(1.035) translateX(.3%)}}
.v103-photo-action{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px)}.v103-photo-flash{position:absolute;z-index:30;inset:0;background:#fff;animation:v103-flash .18s ease-out both;pointer-events:none}@keyframes v103-flash{0%{opacity:0}35%{opacity:.92}100%{opacity:0}}
.v103-cruise-board{position:absolute;z-index:10;left:clamp(22px,5vw,72px);bottom:clamp(24px,6vh,64px);display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:rgba(247,240,228,.93);color:#173743}.v103-cruise-board small{font-size:8px;letter-spacing:.12em}.v103-cruise-board b{font:600 26px var(--font-display),Georgia,serif}.v103-cruise-board span{font-size:8px;color:#65777b}.v103-cruise-board .v103-world-action{margin-top:5px}
.v103-photo-saved{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(84px,14vh,140px);display:grid;padding:9px 11px;border-radius:8px;background:rgba(247,240,228,.9);color:#173743}.v103-photo-saved small{font-size:7px;letter-spacing:.13em;color:#a15e4d}.v103-photo-saved b{font-size:10px}

@media(max-width:760px){
  .v103-d3-hud{top:max(12px,env(safe-area-inset-top));padding:6px 9px}.v103-back{left:10px;top:max(12px,env(safe-area-inset-top));width:38px;height:38px}
  .v103-whisper{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));width:auto;padding:10px 12px}.v103-whisper p{font-size:18px}.v103-depart-action,.v103-follow-lights,.v103-choose-yatai,.v103-passport-action,.v103-photo-action{right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}.v103-truth-note{right:12px;bottom:76px;max-width:230px}
  .v103-hotspot{width:48px;height:48px}.v103-hotspot span{top:51px;font-size:7px}.look-river{left:16%;top:58%}.look-lights{right:18%;top:45%}.see-chef{left:23%;top:37%}.see-stools{left:42%;bottom:24%}.see-passage{right:12%;bottom:28%}.seat-stool{left:47%;bottom:25%}.open-menu{left:25%;top:39%}.bill-chef{left:32%;top:38%}
  .v103-observation{left:12px;right:12px;bottom:86px;max-width:none}.v103-culture-note{left:12px;bottom:16px;width:auto;max-width:64vw}
  .v103-dialogue-stack{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));width:auto}.v103-dialogue b{font-size:21px}.v103-phrase>b{font-size:21px}
  .v103-menu-sheet{top:8svh;left:12px;right:12px;width:auto;max-height:82svh;padding:19px 16px 15px;transform:none}.v103-menu-sheet h3{font-size:27px}
  .v103-optional-reply{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));width:auto}.v103-return-counter{right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}.v103-neighbor-choice{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));display:grid;grid-template-columns:1fr 1fr}.v103-reply-pair{grid-template-columns:1fr}
  .v103-waiting-cue{left:12px;right:12px;bottom:76px;max-width:none}.v103-bill-flow{left:12px;right:12px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));grid-template-columns:1fr 128px;gap:7px}.v103-bill-paper{min-height:146px;padding:13px 10px}.v103-bill-paper b{margin-top:40px;font-size:19px}.v103-paid-note{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}.v103-farewell{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));width:auto}.v103-night-options{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));display:grid;grid-template-columns:1fr 1fr}.v103-cruise-board{left:12px;right:12px;bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}.v103-photo-saved{right:12px;bottom:74px}
  .v103-silent-cue{bottom:14px;max-width:76vw;text-align:center}.v103-skip-breath{right:12px;top:60px}.v103-ride-progress{bottom:18px}
}
@media(prefers-reduced-motion:reduce){.v103-d3-bg,.v103-breathe .v103-d3-bg,.v103-window-reflections,.v103-hotspot i,.v103-steam,.v103-taxi-ride .v103-d3-bg,.v103-depart-yatai .v103-d3-bg,.v103-night-view .v103-d3-bg,.v103-river-pause .v103-d3-bg,.v103-cruise-view .v103-d3-bg{animation:none!important;transition:none!important;transform:none!important}.v103-photo-flash{animation:none!important;opacity:.65}}

/* V103 QA spacing guards — keep the world readable when contextual actions appear. */
.chapter-day3 .v103-back{top:max(92px,calc(env(safe-area-inset-top) + 78px))}
.v103-culture-note{left:auto;right:clamp(22px,5vw,72px);top:82px;bottom:auto;width:min(360px,34vw)}
.v103-d3-neighbor .v103-whisper{bottom:112px}
@media(max-width:760px){
  .chapter-day3 .v103-back{top:max(72px,calc(env(safe-area-inset-top) + 60px));left:12px}
  .v103-culture-note{left:auto;right:12px;top:62px;bottom:auto;width:auto;max-width:58vw}
  .v103-d3-depart .v103-whisper,
  .v103-d3-arrival .v103-whisper,
  .v103-d3-approach .v103-whisper,
  .v103-d3-river .v103-whisper,
  .v103-d3-final .v103-whisper{bottom:max(82px,calc(env(safe-area-inset-bottom) + 76px))}
  .v103-d3-neighbor .v103-whisper{bottom:max(92px,calc(env(safe-area-inset-bottom) + 86px))}
}

/* V103 spatial reactions — one world, the gaze/camera changes instead of swapping cards. */
.v103-d3-bg{transition:opacity .9s ease,filter 1.4s ease,transform 2.6s cubic-bezier(.2,.7,.2,1),background-position 1.25s ease}
.v103-d3-arrival.focus-river .v103-d3-bg{background-position:42% center}
.v103-d3-arrival.focus-lights .v103-d3-bg{background-position:62% center}
.v103-d3-approach.walk-0 .v103-d3-bg{transform:scale(1.01) translateY(.2%)}
.v103-d3-approach.walk-1 .v103-d3-bg{transform:scale(1.035) translateY(.45%)}
.v103-d3-approach.walk-2 .v103-d3-bg{transform:scale(1.055) translateY(.8%)}
.v103-d3-approach.focus-chef .v103-d3-bg{background-position:31% center}
.v103-d3-approach.focus-stools .v103-d3-bg{background-position:48% 62%}
.v103-d3-approach.focus-passage .v103-d3-bg{background-position:66% 58%}
.v103-menu-sheet{animation:v103-menu-lift .42s cubic-bezier(.2,.75,.25,1) both;transform-origin:50% 92%}
@keyframes v103-menu-lift{from{opacity:0;transform:translateY(24px) rotate(-1.2deg) scale(.965)}to{opacity:1;transform:translateY(0) rotate(.2deg) scale(1)}}
@media(max-width:760px){
  .v103-d3-arrival.focus-river .v103-d3-bg{background-position:36% center}
  .v103-d3-arrival.focus-lights .v103-d3-bg{background-position:68% center}
  .v103-d3-approach.focus-chef .v103-d3-bg{background-position:26% center}
  .v103-d3-approach.focus-stools .v103-d3-bg{background-position:48% 62%}
  .v103-d3-approach.focus-passage .v103-d3-bg{background-position:73% 58%}
}
@media(prefers-reduced-motion:reduce){.v103-menu-sheet{animation:none!important}.v103-d3-approach .v103-d3-bg{transform:none!important}}

/* V103 menu-object pass — the menu lives on the counter, not in a detached app card. */
.v103-menu-world.is-menu-open .v103-d3-bg{transform:scale(1.14) translate(4.5%,1%);filter:brightness(.84) saturate(.94)}
.v103-menu-world .v103-menu-sheet{top:17%;left:12%;right:auto;width:min(430px,38vw);max-height:72svh;border:0;border-radius:2px;background:rgba(239,227,202,.96);box-shadow:0 18px 44px rgba(0,0,0,.18);transform:rotate(-.6deg)}
.v103-menu-world .v103-menu-sheet:before{inset:6px;border-color:rgba(71,52,33,.16)}
.v103-menu-world .v103-menu-x{background:transparent;border:1px solid rgba(23,55,67,.18)}
@media(max-width:760px){
  .v103-menu-world.is-menu-open .v103-d3-bg{transform:scale(1.16) translate(5%,1%)}
  .v103-menu-world .v103-menu-sheet{top:15svh;left:8px;right:8px;width:auto;max-height:76svh;padding:18px 16px 14px;background:rgba(239,227,202,.965);transform:none}
}

/* =========================================================
   V104 · DAY 3 IMMERSION REBUILD
   Macro-spaces, persistent counter, player-paced transitions.
   ========================================================= */
.v104-d3-scene{position:absolute;inset:0;z-index:4;overflow:hidden;background:#071820;color:#fff;isolation:isolate}
.v104-bg{position:absolute;inset:-1.5%;z-index:0;background-size:cover;background-position:center;transform:scale(1.018);transition:transform 2.4s cubic-bezier(.2,.7,.2,1),filter 1.3s ease,background-position 1.2s ease;will-change:transform,filter,background-position}
.v104-grade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(3,14,21,.04),rgba(3,14,21,.02) 50%,rgba(3,14,21,.26));}
.v104-grain{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.025;background-image:radial-gradient(rgba(255,255,255,.42) .4px,transparent .52px);background-size:4px 4px;mix-blend-mode:soft-light}
.v104-world{position:absolute;inset:0;z-index:6;pointer-events:none}.v104-world>*{pointer-events:auto}
.v104-hud{position:absolute;z-index:10;top:max(16px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(5,20,28,.20);backdrop-filter:blur(8px);pointer-events:none}
.v104-hud span,.v104-hud b{font-size:8px}.v104-hud span{letter-spacing:.09em;color:rgba(255,255,255,.68)}.v104-hud b{font-weight:750;color:#fff}
.v104-back{position:absolute;z-index:12;left:max(18px,env(safe-area-inset-left));bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));width:42px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(5,20,28,.34);color:#fff;backdrop-filter:blur(9px);font-size:18px}
.v104-whisper{position:absolute;z-index:9;left:clamp(22px,5vw,72px);bottom:clamp(28px,7vh,78px);width:min(420px,39vw);padding:11px 14px 12px;border-left:2px solid rgba(235,190,153,.68);background:linear-gradient(90deg,rgba(4,18,26,.65),rgba(4,18,26,.08) 90%,transparent);text-shadow:0 2px 15px rgba(0,0,0,.44)}
.v104-whisper small{display:block;margin-bottom:4px;font-size:8px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:#efc4aa}.v104-whisper p{margin:0 0 4px;font:500 clamp(17px,1.65vw,23px)/1.22 var(--font-display),Georgia,serif}.v104-whisper p:last-child{margin-bottom:0}
.v104-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:10px 16px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(7,28,37,.75);color:#fff;font-size:11px;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.2);backdrop-filter:blur(9px);transition:transform .18s ease,background .18s ease,opacity .18s ease}.v104-action:hover{transform:translateY(-1px);background:rgba(10,38,49,.88)}.v104-action:disabled{opacity:.4;cursor:not-allowed}.v104-action.is-quiet{background:rgba(247,240,228,.92);color:#173743;border-color:rgba(255,255,255,.58)}
.v104-primary-action{position:absolute;z-index:11;right:clamp(22px,5vw,72px);bottom:clamp(28px,7vh,76px)}
.v104-truth-note{position:absolute;z-index:8;right:clamp(22px,5vw,72px);bottom:clamp(84px,13vh,128px);max-width:290px;padding:7px 9px;border-radius:8px;background:rgba(5,20,28,.30);font-size:8px;line-height:1.4;color:rgba(255,255,255,.62);backdrop-filter:blur(7px)}

.v104-hotspot{position:absolute;z-index:8;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff}.v104-hotspot i{position:absolute;inset:13px;border:1.5px solid rgba(255,255,255,.96);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.07),0 0 22px rgba(255,218,177,.2);animation:v104-hotspot 2.8s ease-in-out infinite}.v104-hotspot span{position:absolute;left:50%;top:57px;transform:translateX(-50%);white-space:nowrap;padding:5px 8px;border-radius:999px;background:rgba(4,20,28,.72);color:#fff;font-size:8px;font-weight:760;opacity:0;transition:opacity .18s ease}.v104-hotspot:hover span,.v104-hotspot:focus-visible span,.v104-hotspot.is-done span{opacity:1}.v104-hotspot.is-done i{background:rgba(236,197,158,.66)}
@keyframes v104-hotspot{0%,100%{transform:scale(.93);opacity:.72}50%{transform:scale(1.07);opacity:1}}
.v104-breathe .v104-bg{animation:v104-breathe 15s ease-in-out infinite alternate}@keyframes v104-breathe{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.03) translate3d(-.35%,.22%,0)}}

/* Taxi: time passes, but the next space waits for the traveller. */
.v104-taxi .v104-bg{transform:scale(1.035)}.v104-taxi.beat-1 .v104-bg{transform:scale(1.047) translateX(-.35%)}.v104-taxi.beat-2 .v104-bg{filter:saturate(.9) brightness(.78);transform:scale(1.05) translateX(.4%)}.v104-taxi.beat-3 .v104-bg{filter:saturate(.92) brightness(.72);transform:scale(1.035)}
.v104-window-reflections{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.18;background:radial-gradient(circle at 18% 42%,rgba(255,219,164,.30),transparent 8%),radial-gradient(circle at 68% 56%,rgba(255,255,255,.15),transparent 10%),radial-gradient(circle at 88% 31%,rgba(255,177,119,.20),transparent 7%);mix-blend-mode:screen;animation:v104-window 8s linear infinite alternate}@keyframes v104-window{from{transform:translateX(-7%)}to{transform:translateX(7%)}}
.v104-ride-dots{position:absolute;z-index:9;left:50%;bottom:24px;display:flex;gap:6px;transform:translateX(-50%)}.v104-ride-dots i{width:24px;height:2px;background:rgba(255,255,255,.22)}.v104-ride-dots i.is-on{background:rgba(255,228,198,.9)}

/* Arrival and walk: gaze and distance change the world. */
.v104-look-river{left:28%;top:61%}.v104-look-lights{right:23%;top:51%}.v104-arrival.focus-river .v104-bg{background-position:40% center}.v104-arrival.focus-lights .v104-bg{background-position:63% center}
.v104-follow-row{right:27%;top:49%}.v104-step-nearer{right:21%;top:44%}.v104-see-chef{left:22%;top:43%}.v104-see-stools{left:46%;bottom:20%}.v104-see-passage{right:17%;bottom:24%}
.v104-approach.stage-0 .v104-bg{transform:scale(1.015)}.v104-approach.stage-1 .v104-bg{transform:scale(1.045) translateX(-.5%)}.v104-approach.stage-2 .v104-bg{transform:scale(1.075) translateX(-1.15%)}
.v104-observation{position:absolute;z-index:9;right:clamp(22px,5vw,72px);bottom:clamp(91px,14vh,142px);max-width:310px;margin:0;padding:9px 12px;border-radius:9px;background:rgba(247,240,228,.91);color:#173743;font-size:10px;line-height:1.44;box-shadow:0 12px 36px rgba(0,0,0,.18)}
.v104-culture-note{position:absolute;z-index:9;right:clamp(22px,5vw,72px);top:72px;width:min(360px,33vw)}.v104-culture-note summary{width:max-content;cursor:pointer;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:9px;font-weight:800;color:#fff}.v104-culture-note[open]{padding:12px 13px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(4,20,28,.84);backdrop-filter:blur(10px)}.v104-culture-note p{font-size:9px;line-height:1.48;color:rgba(255,255,255,.78)}.v104-culture-note a{font-size:8px;color:#f0c7a9;text-decoration:none}

/* One persistent yatai counter. */
.v104-counter .v104-bg{background-position:center}.v104-counter.phase-3 .v104-bg,.v104-counter.phase-4 .v104-bg,.v104-counter.phase-5 .v104-bg{transform:scale(1.03)}.v104-counter.phase-6 .v104-bg{animation:v104-cook-camera 11s ease-in-out both}.v104-counter.phase-9 .v104-bg{transform:scale(1.035) translateX(-.35%)}
@keyframes v104-cook-camera{from{transform:scale(1.018) translateX(0)}to{transform:scale(1.06) translateX(-1%)}}
.v104-seat-stool{left:47%;bottom:20%}.v104-counter-kitchen{left:38%;top:39%}.v104-counter-menu{left:25%;bottom:26%}.v104-bowl-arrives{left:49%;bottom:24%}.v104-taste-zone{left:50%;bottom:22%}.v104-counter-chef{left:38%;top:38%}
.v104-dialogue-stack{position:absolute;z-index:11;left:clamp(22px,5vw,72px);bottom:clamp(28px,7vh,78px);display:grid;gap:9px;width:min(400px,38vw)}
.v104-dialogue{display:grid;gap:3px;padding:11px 13px;border-left:2px solid rgba(229,169,133,.82);background:rgba(5,21,29,.74);box-shadow:0 14px 38px rgba(0,0,0,.19);backdrop-filter:blur(9px)}.v104-dialogue.is-quiet{background:rgba(5,21,29,.55)}.v104-dialogue small{font-size:8px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#f0c4a8}.v104-dialogue b{font:600 clamp(18px,1.8vw,24px)/1.14 var(--font-display),Georgia,serif}.v104-dialogue p{margin:0;font-size:10px;line-height:1.42;color:rgba(255,255,255,.86)}.v104-dialogue span{font-size:8px;color:rgba(255,255,255,.58)}
.v104-phrase{display:grid;gap:4px;padding:11px 13px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(247,240,228,.95);color:#173743;box-shadow:0 14px 38px rgba(0,0,0,.18)}.v104-phrase>b{font:600 clamp(19px,1.9vw,25px)/1.1 var(--font-display),Georgia,serif}.v104-phrase>span,.v104-phrase details{font-size:9px;color:#617277}.v104-phrase summary{cursor:pointer;font-weight:800;color:#a05d4e}.v104-phrase.is-compact{padding:9px 11px}.v104-phrase.is-compact>b{font-size:19px}
.v104-low-hint{position:absolute;z-index:9;left:50%;bottom:24px;transform:translateX(-50%);margin:0;padding:7px 11px;border-radius:999px;background:rgba(4,20,28,.38);font-size:8px;color:rgba(255,255,255,.7);backdrop-filter:blur(7px)}
.v104-steam{position:absolute;z-index:4;left:29%;top:20%;width:38%;height:55%;opacity:.24;filter:blur(13px);background:radial-gradient(ellipse at 44% 78%,rgba(255,255,255,.65),transparent 50%),radial-gradient(ellipse at 55% 44%,rgba(255,255,255,.32),transparent 48%);animation:v104-steam 5.5s ease-in-out infinite alternate;pointer-events:none}@keyframes v104-steam{from{transform:translateY(5%) scale(.95);opacity:.14}to{transform:translateY(-8%) scale(1.09);opacity:.3}}

/* The menu behaves like a physical object lifted from the counter. */
.v104-menu-object{position:absolute;z-index:22;right:clamp(25px,6vw,84px);bottom:clamp(24px,5vh,52px);width:min(420px,39vw);max-height:84svh;overflow:auto;padding:21px 20px 17px;border:1px solid rgba(77,55,38,.18);background:#efe3ca;color:#173743;box-shadow:0 28px 70px rgba(0,0,0,.38);transform-origin:50% 100%;animation:v104-menu-lift .44s cubic-bezier(.2,.75,.25,1) both}.v104-menu-object:before{content:"";position:absolute;inset:8px;border:1px solid rgba(39,63,68,.12);pointer-events:none}@keyframes v104-menu-lift{from{opacity:0;transform:translateY(32px) rotate(-1deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(.15deg) scale(1)}}
.v104-menu-close{position:absolute;z-index:3;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(23,55,67,.08);color:#173743;font-size:20px}.v104-menu-object header{position:relative;padding-right:40px;padding-bottom:11px;border-bottom:1px solid rgba(23,55,67,.18)}.v104-menu-object header small{font-size:10px;letter-spacing:.17em}.v104-menu-object header h3{margin:2px 0 4px;font:600 31px/1 var(--font-display),Georgia,serif}.v104-menu-object header span{display:block;font-size:8px;line-height:1.35;opacity:.6}
.v104-menu-list{position:relative;display:grid;margin-top:12px}.v104-menu-list button{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 4px;border:0;border-bottom:1px dashed rgba(23,55,67,.17);background:transparent;color:#173743;text-align:left}.v104-menu-list button span b,.v104-menu-list button span small{display:block}.v104-menu-list button span b{font-size:14px}.v104-menu-list button span small{font-size:9px;opacity:.66}.v104-menu-list button strong{font-size:11px}.v104-menu-list button.is-selected{padding-left:9px;padding-right:9px;background:rgba(184,143,92,.16);box-shadow:inset 3px 0 #a85f4f}
.v104-menu-drinks{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:13px}.v104-menu-drinks>small{grid-column:1/-1;font-size:8px;font-weight:900;letter-spacing:.12em;color:#9b5a4d}.v104-menu-drinks button{display:grid;gap:2px;padding:7px 6px;border:1px solid rgba(23,55,67,.14);background:rgba(255,255,255,.22);color:#173743;text-align:left}.v104-menu-drinks button span{font-size:10px}.v104-menu-drinks button b{font-size:9px}.v104-menu-drinks button.is-selected{background:rgba(184,143,92,.18);box-shadow:inset 0 -2px #a85f4f}.v104-menu-object footer{position:relative;margin-top:12px;padding-top:10px;border-top:1px solid rgba(23,55,67,.15)}.v104-menu-object footer .paper-action{width:100%}

/* Meal remains inside the counter world: the chosen dish slides into the foreground. */
.v104-meal-card{position:absolute;z-index:7;left:50%;bottom:-2%;width:min(520px,48vw);max-height:52vh;object-fit:cover;border-radius:18px 18px 0 0;transform:translateX(-50%) translateY(12%) scale(.94);box-shadow:0 -12px 34px rgba(0,0,0,.28);animation:v104-meal-arrive .75s cubic-bezier(.2,.75,.25,1) both}@keyframes v104-meal-arrive{from{opacity:0;transform:translateX(-50%) translateY(28%) scale(.9)}to{opacity:1;transform:translateX(-50%) translateY(12%) scale(.94)}}.v104-meal-card.is-settled{opacity:.96;transform:translateX(-50%) translateY(17%) scale(.9)}
.v104-optional-reply{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(28px,6vh,64px);display:grid;gap:8px;width:min(400px,38vw)}.v104-optional-reply>small{padding:7px 10px;border-radius:8px;background:rgba(4,20,28,.57);font-size:8px;line-height:1.35;color:rgba(255,255,255,.76)}.v104-optional-reply>div{display:flex;gap:7px}
.v104-choice-row{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(28px,6vh,64px);display:flex;gap:8px}.v104-reply-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v104-reply-grid .v104-action{display:grid;gap:3px;text-align:left;border-radius:10px}.v104-reply-grid span{font-size:14px;font-weight:750}.v104-reply-grid small{font-size:8px;opacity:.72}

/* Bill and wallet stay in-world, not a dashboard. */
.v104-bill-flow{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(24px,5vh,54px);display:grid;grid-template-columns:minmax(230px,360px) 190px;gap:10px;align-items:end}.v104-bill-paper{grid-column:2;grid-row:1/4;min-height:190px;padding:16px 14px;background:#f1e7d1;color:#173743;box-shadow:0 16px 40px rgba(0,0,0,.28);transform:rotate(-1deg)}.v104-bill-paper small,.v104-bill-paper b,.v104-bill-paper span,.v104-bill-paper em{display:block}.v104-bill-paper small{font-size:8px;letter-spacing:.12em}.v104-bill-paper b{margin-top:48px;padding-top:8px;border-top:1px dashed rgba(23,55,67,.25);font:600 24px var(--font-display),Georgia,serif;text-align:right}.v104-bill-paper span{margin-top:5px;text-align:right;font-size:9px}.v104-bill-paper em{margin-top:12px;font-size:7px;line-height:1.35;font-style:normal;opacity:.58}.v104-wallet-line{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:9px;background:rgba(247,240,228,.94);color:#173743}.v104-wallet-line span{font-size:9px}.v104-wallet-line strong{font:600 20px var(--font-display),Georgia,serif}.v104-paid-note{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(28px,6vh,64px);display:grid;gap:5px;padding:12px 14px;border-radius:10px;background:rgba(247,240,228,.94);color:#173743}.v104-paid-note small{font-size:8px;color:#65777b}.v104-paid-note b{font-size:14px}

/* Leaving, river, cruise: no auto-advance. */
.v104-exit .v104-bg{transform:scale(1.02)}.v104-river .v104-bg,.v104-night-view .v104-bg,.v104-cruise .v104-bg{animation:v104-water 13s ease-in-out infinite alternate}@keyframes v104-water{from{transform:scale(1.016) translateX(-.2%)}to{transform:scale(1.035) translateX(.3%)}}
.v104-night-options{position:absolute;z-index:11;right:clamp(22px,5vw,72px);bottom:clamp(28px,7vh,76px);display:flex;gap:8px}
.v104-photo-flash{position:absolute;z-index:30;inset:0;background:#fff;animation:v104-flash .18s ease-out both;pointer-events:none}@keyframes v104-flash{0%{opacity:0}35%{opacity:.9}100%{opacity:0}}
.v104-cruise-ticket{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(28px,6vh,64px);display:grid;gap:4px;padding:12px 14px;border-radius:10px;background:rgba(247,240,228,.93);color:#173743}.v104-cruise-ticket small{font-size:8px;letter-spacing:.12em}.v104-cruise-ticket b{font:600 26px var(--font-display),Georgia,serif}.v104-cruise-ticket span{max-width:310px;font-size:8px;line-height:1.35;color:#65777b}.v104-cruise-ticket .v104-action{margin-top:5px}
.v104-cruise.stage-depart .v104-bg{animation:v104-boat-depart 9s ease-in-out both}.v104-cruise.stage-river .v104-bg{animation:v104-boat-river 14s ease-in-out both}.v104-cruise.stage-bridgepass .v104-bg{animation:v104-boat-bridge 10s ease-in-out both}
@keyframes v104-boat-depart{from{transform:scale(1.02) translateX(0)}to{transform:scale(1.05) translateX(-1.4%)}}
@keyframes v104-boat-river{from{transform:scale(1.025) translateX(.5%)}to{transform:scale(1.055) translateX(-1%)}}
@keyframes v104-boat-bridge{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.085) translateY(1.2%)}}
.v104-memory-chip{position:absolute;z-index:10;right:clamp(22px,5vw,72px);bottom:clamp(88px,14vh,142px);display:grid;padding:9px 11px;border-radius:8px;background:rgba(247,240,228,.9);color:#173743}.v104-memory-chip small{font-size:7px;letter-spacing:.13em;color:#a15e4d}.v104-memory-chip b{font-size:10px}

@media(max-width:760px){
  .v104-hud{top:max(8px,env(safe-area-inset-top));padding:5px 8px}.v104-hud b{display:none}.v104-back{left:10px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:40px;height:40px}
  .v104-whisper{left:12px;right:12px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 68px));width:auto;padding:10px 12px}.v104-whisper p{font-size:18px}
  .v104-primary-action{right:12px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px));max-width:calc(100vw - 72px)}.v104-truth-note{right:12px;left:72px;bottom:max(68px,calc(env(safe-area-inset-bottom) + 62px));max-width:none;text-align:right}
  .v104-hotspot{width:50px;height:50px}.v104-hotspot span{top:52px;font-size:7px}.v104-look-river{left:16%;top:58%}.v104-look-lights{right:15%;top:44%}.v104-follow-row{right:18%;top:50%}.v104-step-nearer{right:13%;top:43%}.v104-see-chef{left:22%;top:36%}.v104-see-stools{left:47%;bottom:25%}.v104-see-passage{right:10%;bottom:29%}
  .v104-observation{left:12px;right:12px;bottom:82px;max-width:none}.v104-culture-note{right:12px;top:52px;width:auto;max-width:60vw}
  .v104-dialogue-stack{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));width:auto}.v104-dialogue b{font-size:21px}.v104-phrase>b{font-size:21px}
  .v104-seat-stool{left:47%;bottom:24%}.v104-counter-kitchen{left:40%;top:35%}.v104-counter-menu{left:23%;bottom:32%}.v104-bowl-arrives{left:50%;bottom:27%}.v104-taste-zone{left:50%;bottom:26%}.v104-counter-chef{left:34%;top:34%}
  .v104-menu-object{left:12px;right:12px;bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));width:auto;max-height:86svh;padding:18px 15px 14px;transform:none}.v104-menu-object header h3{font-size:27px}.v104-menu-drinks{grid-template-columns:1fr}
  .v104-meal-card{width:min(92vw,520px);max-height:45vh;bottom:3%;border-radius:15px}.v104-optional-reply{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));width:auto}.v104-optional-reply>div{display:grid;grid-template-columns:1fr 1fr}.v104-choice-row{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));display:grid;grid-template-columns:1fr 1fr}.v104-reply-grid{grid-template-columns:1fr}
  .v104-low-hint{bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));max-width:70vw;text-align:center}.v104-bill-flow{left:12px;right:12px;bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px));grid-template-columns:1fr 126px;gap:7px}.v104-bill-paper{min-height:150px;padding:12px 9px}.v104-bill-paper b{margin-top:34px;font-size:19px}.v104-paid-note{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px))}
  .v104-night-options{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px));display:grid;grid-template-columns:1fr 1fr}.v104-cruise-ticket{left:12px;right:12px;bottom:max(70px,calc(env(safe-area-inset-bottom) + 62px))}.v104-memory-chip{right:12px;bottom:max(72px,calc(env(safe-area-inset-bottom) + 64px))}
  .v104-ride-dots{bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px))}
}
@media(prefers-reduced-motion:reduce){.v104-bg,.v104-window-reflections,.v104-hotspot i,.v104-steam,.v104-meal-card{animation:none!important;transition:none!important;transform:none!important}.v104-photo-flash{animation:none!important;opacity:.65}}

/* V104 · J3 journal: memory, not checklist. */
.j3-memory-page .j3-memory-hero{min-height:290px}.j3-memory-page .j3-memory-hero img{filter:saturate(.92) brightness(.78)}
.j3-memory-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px 0}.j3-memory-strip article{display:grid;gap:5px;min-height:118px;padding:15px 14px;border:1px solid rgba(21,55,68,.12);border-radius:12px;background:rgba(255,252,246,.48);color:#173743}.j3-memory-strip small{font-size:8px;font-weight:850;letter-spacing:.12em;color:#a15e4d}.j3-memory-strip b{font:600 21px/1.05 var(--font-display),Georgia,serif}.j3-memory-strip span{font-size:9px;line-height:1.4;color:#65777b}.j3-memory-total,.j3-memory-line{margin:6px 0;padding:12px 14px;border-left:2px solid rgba(161,94,77,.45);background:rgba(255,252,246,.34);font-size:10px;line-height:1.5;color:#51666d}.j3-memory-stamp{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(21,55,68,.12);color:#173743}.j3-memory-stamp img{width:62px;height:62px;object-fit:contain}.j3-memory-stamp span{font:600 18px var(--font-display),Georgia,serif}
@media(max-width:700px){.j3-memory-page .j3-memory-hero{min-height:220px}.j3-memory-strip{grid-template-columns:1fr;gap:8px}.j3-memory-strip article{min-height:0}.j3-memory-stamp img{width:52px;height:52px}.j3-memory-stamp span{font-size:16px}}

/* V104.1 · interaction legibility + Mei presence */
.v104-mei-presence>.v104-whisper{padding-left:62px}
.v104-mei-presence>img{position:absolute;z-index:10;left:clamp(24px,5vw,74px);bottom:clamp(31px,7.3vh,81px);width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:50%;object-fit:cover;object-position:50% 9%;background:rgba(247,240,228,.88);box-shadow:0 8px 24px rgba(0,0,0,.22);pointer-events:none}
.v104-spoken-action{display:grid;justify-items:start;gap:2px;width:max-content;max-width:100%;text-align:left}
.v104-spoken-action span{font-size:16px;font-weight:800;letter-spacing:.01em}.v104-spoken-action small{font-size:8px;font-weight:650;opacity:.76}
.v104-walk-down{right:20%;bottom:21%}.v104-enter-counter{right:20%;bottom:21%}
/* The food asset is now the actual gaze/POV, not a rectangular card over another image. */
.v104-counter.phase-7 .v104-bg,.v104-counter.phase-8 .v104-bg{background-position:center;animation:v104-food-gaze .7s cubic-bezier(.2,.75,.25,1) both}
@keyframes v104-food-gaze{from{opacity:.45;transform:scale(1.08) translateY(1.2%)}to{opacity:1;transform:scale(1.025) translateY(0)}}

@media(max-width:760px){
  .v104-mei-presence>.v104-whisper{padding-left:54px}
  .v104-mei-presence>img{left:15px;bottom:max(81px,calc(env(safe-area-inset-bottom) + 73px));width:42px;height:42px}
  /* Touch screens cannot rely on hover to explain where the world can be touched. */
  .v104-hotspot span{opacity:.9;max-width:145px;white-space:normal;text-align:center;line-height:1.2}
  .v104-hotspot.is-done span{opacity:.58}
  .v104-culture-note{top:auto;right:12px;bottom:max(132px,calc(env(safe-area-inset-bottom) + 124px));max-width:72vw}
  .v104-walk-down{right:14%;bottom:22%}.v104-enter-counter{right:12%;bottom:22%}
}

/* V104.2 · mobile interaction recovery */
.v104-context-card{position:absolute;z-index:13;left:clamp(22px,5vw,72px);bottom:clamp(86px,12vh,124px);max-width:min(420px,42vw);padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(5,22,29,.68);color:#fff;font-size:10px;line-height:1.45;box-shadow:0 12px 30px rgba(0,0,0,.2);backdrop-filter:blur(10px);pointer-events:none}
.v104-context-card.is-subtle{background:rgba(5,22,29,.48);color:rgba(255,255,255,.92)}
.v104-path-action{position:absolute!important;z-index:13;left:50%;bottom:clamp(28px,6vh,58px);transform:translateX(-50%);min-width:210px;max-width:min(82vw,360px);background:rgba(7,28,37,.70)!important;box-shadow:0 12px 32px rgba(0,0,0,.22)}
.v104-path-action:after{content:'  →';opacity:.72}
.v104-counter.phase-2 .v104-seat-stool i,.v104-counter.phase-6 .v104-bowl-arrives i,.v104-counter.phase-7 .v104-taste-zone i{box-shadow:0 0 0 10px rgba(255,255,255,.08),0 0 28px rgba(255,218,177,.34)}
.v104-cruise-ticket{background:rgba(247,240,228,.86);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.52);box-shadow:0 18px 45px rgba(0,0,0,.25)}
.v104-bill-flow{filter:drop-shadow(0 12px 32px rgba(0,0,0,.18))}
.v104-mei-presence>img{width:46px;height:56px;border:0;border-radius:16px 16px 20px 20px;box-shadow:0 10px 28px rgba(0,0,0,.24);background:transparent}

@media(max-width:760px){
  /* Labels inside the world were becoming vertical columns on narrow phones. Keep the touch target, remove the floating text. */
  .v104-hotspot span{display:none!important}
  .v104-hotspot{width:58px;height:58px}
  .v104-hotspot i{inset:14px}
  .v104-context-card{left:14px;right:14px;bottom:max(92px,calc(env(safe-area-inset-bottom) + 82px));max-width:none;padding:10px 12px;font-size:10px;line-height:1.42}
  .v104-path-action{left:14px;right:14px;bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));transform:none;max-width:none;width:auto;min-width:0}
  .v104-cruise-ticket{left:14px;right:auto;width:min(310px,calc(100vw - 28px));bottom:max(18px,calc(env(safe-area-inset-bottom) + 12px));padding:11px 12px;gap:3px;border-radius:14px}
  .v104-cruise-ticket b{font-size:22px}.v104-cruise-ticket span{font-size:8px}.v104-cruise-ticket .v104-action{min-height:42px;margin-top:4px}
  .v104-mei-presence>.v104-whisper{padding-left:48px}
  .v104-mei-presence>img{left:16px;bottom:max(83px,calc(env(safe-area-inset-bottom) + 74px));width:38px;height:48px;border-radius:13px 13px 17px 17px}
  .v104-bill-flow{left:12px;right:12px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 66px));grid-template-columns:minmax(0,1fr) 112px;gap:7px}
  .v104-bill-flow .v104-phrase{max-width:none}
  .v104-wallet-line strong{font-size:17px}
}
/* Movement cues are intentionally lighter than UI buttons: they read like a direction in the world. */
.v104-path-action{border-color:transparent!important;background:linear-gradient(90deg,transparent,rgba(5,22,29,.58))!important;box-shadow:none!important;backdrop-filter:none!important;justify-content:flex-end;text-align:right;font-weight:720}
@media(max-width:760px){.v104-path-action{padding:9px 4px 9px 32%;background:linear-gradient(90deg,transparent,rgba(5,22,29,.48))!important}}

/* V107 — verified practice ledger + player-controlled transport beats */
.shuttle-arrival-action{margin-top:10px;min-height:44px;padding:9px 14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(8,36,46,.84);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.passport-skill-ledger{margin-top:18px;padding:18px;border:1px solid rgba(21,55,68,.12);border-radius:9px;background:rgba(255,252,245,.7)}
.passport-skill-head{display:flex;justify-content:space-between;gap:18px;align-items:end;padding-bottom:12px;border-bottom:1px solid rgba(21,55,68,.1)}
.passport-skill-head span{display:grid;gap:3px}.passport-skill-head small{font-size:8px;letter-spacing:.16em;color:#956453}.passport-skill-head b{font:600 23px/1.05 var(--font-display),Georgia,serif;color:#173846}.passport-skill-head em{max-width:300px;font-size:9px;line-height:1.4;color:#66787c;text-align:right;font-style:normal}
.passport-skill-list{display:grid;gap:7px;margin-top:12px}.passport-skill-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid rgba(21,55,68,.09);border-radius:7px;background:#fffaf1}.passport-skill-row span{display:grid;gap:2px}.passport-skill-row b{font-size:11px;color:#173846}.passport-skill-row small{font-size:8px;color:#6c7c7e}.passport-skill-row i{display:grid;min-width:30px;height:30px;place-items:center;border-radius:50%;background:#e9e1d5;color:#7a685a;font-style:normal;font-size:9px;font-weight:900}.passport-skill-row.is-complete{border-color:rgba(64,112,86,.24);background:#f4f7ef}.passport-skill-row.is-complete i{background:#477a61;color:#fff}.passport-skill-empty,.passport-skill-disclaimer{margin:10px 0 0;font-size:9px;line-height:1.45;color:#66777b}.passport-skill-disclaimer{padding-top:9px;border-top:1px dashed rgba(21,55,68,.12)}
.stamp-skill-proof{display:grid;gap:6px;width:100%;margin:11px 0 14px;padding:11px 12px;border:1px solid rgba(30,74,67,.14);border-radius:8px;background:rgba(241,246,235,.8);text-align:left}.stamp-skill-proof>small{font-size:8px;letter-spacing:.15em;color:#52735f}.stamp-skill-proof span{display:flex;gap:8px;align-items:flex-start;font-size:10px;line-height:1.35;color:#29493f}.stamp-skill-proof span b{color:#46745c}
.v62-heritage-home .journey-memory-strip{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:760px){.passport-skill-head{display:grid;gap:6px}.passport-skill-head em{text-align:left}.v62-heritage-home .journey-memory-strip{grid-template-columns:1fr 1fr!important}.v62-heritage-home .journey-memory-strip>span:nth-child(2){border-right:1px solid rgba(21,55,68,.12)!important}.v62-heritage-home .journey-memory-strip>span:nth-child(even){border-right:0!important}.v62-heritage-home .journey-memory-strip>span:nth-child(-n+4){border-bottom:1px solid rgba(21,55,68,.12)!important}}

/* V107: fifth memory metric (verified skills) */
.journey-memory-strip{grid-template-columns:repeat(5,1fr)!important}
@media(max-width:760px){.journey-memory-strip{grid-template-columns:1fr 1fr!important}}

/* V107: explicit player-controlled taxi exit */
.taxi-arrival-exit{position:absolute;z-index:18;right:50%;bottom:max(22px,var(--safe));transform:translateX(50%);min-width:min(360px,86vw);padding:13px 18px;border:1px solid rgba(255,255,255,.36);border-radius:8px;background:rgba(10,43,53,.88);color:#fff;font:700 11px/1.2 var(--font-sans),sans-serif;letter-spacing:.03em;backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.22)}
@media(max-width:760px){.taxi-arrival-exit{right:12px;left:12px;bottom:max(14px,var(--safe));width:auto;min-width:0;transform:none}}

/* V120 · release hardening: persistent worlds, readable overlays and complete yatai ordering. */
.experience .world>.world-image{background-image:var(--dobox-world-bg)!important}
.j3-memory-page .j3-memory-hero h4{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.72)}
.v104-d3-scene>.v104-dialogue{position:absolute;z-index:12;left:clamp(22px,5vw,72px);bottom:clamp(138px,17vh,176px);width:min(400px,38vw)}
.ride-stage-3 .expense-float{right:clamp(20px,4vw,54px)!important;bottom:clamp(78px,11vh,112px)!important;max-width:min(360px,40vw);text-align:right}
.v104-menu-list button{grid-template-columns:62px minmax(0,1fr) auto!important;gap:11px!important;text-align:left}
.v104-menu-list button img{width:62px;height:54px;object-fit:cover;border-radius:8px;box-shadow:0 3px 12px rgba(28,40,38,.13)}
.v104-menu-list button span,.v112-drink-group button span{display:grid;min-width:0;gap:2px}
.v104-menu-list button b,.v112-drink-group button b{font-size:12px}
.v104-menu-list button small,.v112-drink-group button small{font-size:9px;line-height:1.25;opacity:.72}
.v112-menu-group-title{margin:13px 0 7px;font-size:8px;font-weight:850;letter-spacing:.16em;color:#8e6254}
.v112-drink-group button{grid-template-columns:34px minmax(0,1fr) auto!important;gap:9px!important;align-items:center;text-align:left}
.v112-drink-visual{position:relative;display:block;width:23px;height:30px;margin:auto;border:1px solid rgba(28,55,63,.42);border-top-width:2px;border-radius:3px 3px 8px 8px;background:linear-gradient(to top,#d6a34e 0 68%,rgba(255,255,255,.62) 69% 78%,transparent 79%);box-shadow:inset 0 -4px 8px rgba(83,50,24,.17)}
.v112-drink-visual:after{content:'';position:absolute;right:-7px;top:8px;width:7px;height:12px;border:1px solid rgba(28,55,63,.35);border-left:0;border-radius:0 8px 8px 0}
.v112-drink-visual.highball{background:linear-gradient(to top,#d7c28e 0 70%,rgba(255,255,255,.7) 71% 82%,transparent 83%)}
.v112-drink-visual.oolong{background:linear-gradient(to top,#9c5f2c 0 76%,transparent 77%)}
.v112-drink-visual.cola{background:linear-gradient(to top,#4e251b 0 76%,transparent 77%)}
.v112-drink-visual.orange{background:linear-gradient(to top,#ed983a 0 76%,transparent 77%)}
.v112-payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v112-payment-methods button:disabled{cursor:not-allowed;opacity:.54;filter:grayscale(.45)}
.v112-cash-motion{animation:v120-cash-paid .55s cubic-bezier(.22,.76,.27,1) both}
@keyframes v120-cash-paid{0%{opacity:.15;transform:translateY(18px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}
html,body,#root{max-width:100%;overflow-x:hidden}
button{overflow-wrap:anywhere}

@media(max-width:760px){
  .v104-d3-scene>.v104-dialogue{top:auto!important;right:14px;bottom:max(148px,calc(env(safe-area-inset-bottom) + 138px));left:14px;width:auto}
  .ride-stage-3 .expense-float{right:18px!important;bottom:max(86px,calc(var(--safe) + 78px))!important;max-width:calc(100vw - 36px)}
  .v104-menu-list button{grid-template-columns:52px minmax(0,1fr) auto!important;gap:8px!important}
  .v104-menu-list button img{width:52px;height:46px}
  .v104-menu-drinks{grid-template-columns:1fr!important}
  .v112-payment-methods{grid-template-columns:1fr}
}

@media(min-width:761px) and (max-width:1400px){
  .v104-menu-object{width:min(690px,72vw);max-height:min(82vh,780px);overflow:auto}
  .v104-menu-list button,.v112-drink-group button{min-width:0}
  .v104-action,.choice-btn,.button{min-height:44px}
}

/* V121 · FOUNDATION RESCUE
   Player-paced readable beats, mobile HUD collision repair and spatial Mei presence.
   This block intentionally comes last so it can neutralize older versioned overrides. */

/* The HUD is secondary to the world. Keep it below the brand and out of airport signage. */
@media (max-width:700px){
  .scene-meta{
    left:16px!important;
    top:max(76px,calc(env(safe-area-inset-top) + 62px))!important;
    z-index:25!important;
    max-width:calc(100vw - 138px)!important;
    padding:4px 8px!important;
    gap:7px!important;
    border:1px solid rgba(247,240,223,.12)!important;
    border-radius:999px!important;
    background:rgba(5,23,31,.54)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  .scene-meta time{font-size:15px!important}
  .scene-meta span{font-size:8px!important;letter-spacing:.04em!important}
}

/* J2 wake-up: exits must look and behave like exits, never invisible hotspots. */
.chapter-day2.d2-wake .v80-wake-hold button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin-top:4px!important;
  padding:11px 17px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(185,91,72,.94)!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18)!important;
}
@media (max-width:700px){
  .chapter-day2.d2-wake .v80-wake-hold button{width:100%!important;min-height:52px!important}
}

/* D1 shuttle: cinematic movement can loop, but the player decides when the readable beat ends. */
.d1-shuttle .shuttle-cinematic{pointer-events:auto!important}
.d1-shuttle .shuttle-player-next{
  position:absolute;
  z-index:30;
  right:8%;
  bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));
  min-height:46px;
  padding:10px 16px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(5,27,36,.78);
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 10px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  pointer-events:auto!important;
}
.d1-shuttle .shuttle-cinematic>small{bottom:max(84px,calc(env(safe-area-inset-bottom) + 76px))!important}
@media (max-width:700px){
  .d1-shuttle .shuttle-player-next{
    right:14px;
    left:14px;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));
    width:auto;
    min-height:52px;
  }
  .d1-shuttle .shuttle-cinematic>small{
    left:14px!important;
    right:14px!important;
    bottom:max(78px,calc(env(safe-area-inset-bottom) + 70px))!important;
    line-height:1.35!important;
  }
}

/* D1 taxi: all readable transport beats remain on screen until an explicit action. */
.taxi-entry-real .taxi-entry-continue,
.taxi-ride-control button,
.taxi-ride-next,
.taxi-pay-next{
  min-height:48px;
  padding:11px 17px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;
  background:rgba(7,28,37,.82);
  color:#fff;
  font-size:11px;
  font-weight:800;
  box-shadow:0 12px 30px rgba(0,0,0,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.taxi-entry-real .taxi-entry-continue{
  position:absolute;
  z-index:18;
  right:5%;
  bottom:6%;
}
.taxi-entry-real>small{max-width:min(420px,48vw);bottom:14%!important}
.taxi-ride-control{
  position:absolute;
  z-index:16;
  left:clamp(24px,5vw,72px);
  bottom:clamp(30px,7vh,76px);
  display:grid;
  gap:8px;
  width:min(430px,42vw);
  padding:13px 15px;
  border-left:2px solid rgba(235,190,153,.72);
  background:linear-gradient(90deg,rgba(4,20,28,.78),rgba(4,20,28,.18),transparent);
  color:#fff;
  text-shadow:0 2px 14px rgba(0,0,0,.42);
}
.taxi-ride-control small{font-size:8px;font-weight:850;letter-spacing:.14em;color:#efc4aa}
.taxi-ride-control p{margin:0;font:500 clamp(17px,1.55vw,22px)/1.3 var(--font-display),Georgia,serif}
.taxi-ride-control button{justify-self:start;margin-top:2px}
.taxi-ride-next{
  position:absolute;
  z-index:18;
  right:clamp(24px,5vw,72px);
  bottom:clamp(30px,7vh,76px);
}
.taxi-arrival-meter .taxi-pay-next{margin-top:8px}
@media (max-width:700px){
  .taxi-entry-real>small{
    left:14px!important;
    right:14px!important;
    bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px))!important;
    max-width:none!important;
    line-height:1.4!important;
  }
  .taxi-entry-real .taxi-entry-continue,
  .taxi-ride-next{
    right:14px;
    left:14px;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));
    width:auto;
    min-height:52px;
  }
  .taxi-ride-control{
    right:14px;
    left:14px;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));
    width:auto;
    padding:12px 13px;
  }
  .taxi-ride-control p{font-size:18px}
  .taxi-ride-control button{width:100%;min-height:50px}
  .taxi-arrival-meter{left:14px!important;right:14px!important;bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px))!important;width:auto!important}
  .taxi-arrival-meter .taxi-pay-next{width:100%;min-height:50px}
}

/* J3 Mei: a contextual person in the place, not a 40px UI avatar. */
.v104-mei-presence{
  position:absolute!important;
  z-index:9!important;
  inset:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.v104-mei-presence::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:linear-gradient(90deg,rgba(2,13,19,.24),transparent 54%,rgba(2,13,19,.16));
  pointer-events:none;
}
.v104-mei-presence>img{
  position:absolute!important;
  z-index:2!important;
  right:clamp(18px,4vw,64px)!important;
  left:auto!important;
  bottom:0!important;
  width:clamp(220px,28vw,360px)!important;
  height:auto!important;
  max-height:78svh!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 18px 30px rgba(0,0,0,.32))!important;
  box-shadow:none!important;
  animation:v121-mei-enter .46s cubic-bezier(.2,.74,.25,1) both!important;
  pointer-events:none!important;
}
.v104-mei-presence>.v104-whisper{
  z-index:3!important;
  left:clamp(24px,5vw,72px)!important;
  right:auto!important;
  bottom:clamp(90px,12vh,128px)!important;
  width:min(440px,42vw)!important;
  padding:12px 15px!important;
  background:linear-gradient(90deg,rgba(4,18,26,.74),rgba(4,18,26,.18) 86%,transparent)!important;
  pointer-events:none!important;
}
.v104-mei-presence>.v104-whisper p{font-size:clamp(18px,1.7vw,24px)!important;line-height:1.28!important}
@keyframes v121-mei-enter{from{opacity:0;transform:translateX(9%) translateY(1.5%)}to{opacity:1;transform:translateX(0) translateY(0)}}

/* On Mei beats, place the decision away from her body and keep the world readable. */
.v104-d3-scene:has(.v104-mei-presence)>.v104-primary-action{
  right:auto!important;
  left:clamp(24px,5vw,72px)!important;
  bottom:clamp(28px,5vh,52px)!important;
  z-index:13!important;
}
@media (max-width:760px){
  .v104-mei-presence::before{
    background:linear-gradient(0deg,rgba(2,13,19,.30),transparent 58%),linear-gradient(90deg,rgba(2,13,19,.16),transparent 68%);
  }
  .v104-mei-presence>img{
    right:-4vw!important;
    left:auto!important;
    bottom:max(58px,calc(env(safe-area-inset-bottom) + 50px))!important;
    width:min(46vw,220px)!important;
    height:auto!important;
    max-height:47svh!important;
  }
  .v104-mei-presence>.v104-whisper{
    left:14px!important;
    right:35vw!important;
    bottom:max(112px,calc(env(safe-area-inset-bottom) + 104px))!important;
    width:auto!important;
    min-width:0!important;
    padding:10px 11px!important;
  }
  .v104-mei-presence>.v104-whisper p{font-size:17px!important;line-height:1.28!important}
  .v104-d3-scene:has(.v104-mei-presence)>.v104-primary-action{
    right:14px!important;
    left:14px!important;
    bottom:max(14px,calc(env(safe-area-inset-bottom) + 9px))!important;
    width:auto!important;
    max-width:none!important;
    min-height:50px!important;
  }
}
@media (max-width:390px){
  .v104-mei-presence>img{width:min(43vw,178px)!important;right:-5vw!important}
  .v104-mei-presence>.v104-whisper{right:30vw!important;bottom:max(110px,calc(env(safe-area-inset-bottom) + 102px))!important}
}

/* V121 · keep memory and cultural notes from visually colliding with the world. */
.v41-end-journal .memory-strip{
  overflow:hidden!important;
  min-height:0!important;
  isolation:isolate!important;
}
.v41-end-journal .memory-strip img{
  display:block!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
  overflow:hidden!important;
}
.v41-end-journal .end-day-checks{position:relative!important;z-index:2!important;background:var(--paper)!important}
.garden-fact{max-width:min(360px,38vw)!important;padding:11px 38px 11px 13px!important}
.garden-fact p{font-size:17px!important;line-height:1.28!important}
.garden-fact-close{
  position:absolute;
  top:6px;
  right:7px;
  width:28px;
  height:28px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(5,28,39,.42);
  color:#fff;
  font-size:18px;
  line-height:1;
}
@media(max-width:700px){
  .v41-end-journal .memory-strip{height:126px!important;grid-template-columns:1.8fr 1fr 1.8fr!important;gap:5px!important;margin:18px 0!important}
  .garden-fact{
    right:auto!important;
    left:14px!important;
    bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px))!important;
    width:min(72vw,310px)!important;
    max-width:none!important;
    padding:10px 35px 10px 12px!important;
    background:linear-gradient(90deg,rgba(5,28,39,.82),rgba(5,28,39,.58))!important;
  }
  .garden-fact p{font-size:15px!important;line-height:1.3!important}
  .garden-fact b{font-size:8px!important}
}

/* =========================================================
   V140 · RESPONSIVE RECOVERY
   Regression fixes from real Samsung mobile captures/video.
   Keep the world visible; UI never competes for the same space.
   ========================================================= */

/* Breakfast / Mme Sato: social choices occupy one deliberate zone. */
.v140-breakfast-social{
  position:absolute;z-index:28;
  right:clamp(18px,4vw,58px);bottom:clamp(22px,4vh,48px);
  width:min(440px,42vw);max-height:38svh;overflow:auto;
  padding:10px 11px;border-radius:18px;
  background:rgba(4,26,34,.66);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.v140-breakfast-social .v129-social-whisper{margin:0 0 8px;max-width:none}
.v140-breakfast-social .breakfast-human-choice{margin:0;max-width:none;width:100%}
.v140-breakfast-reaction{
  position:absolute!important;z-index:28;right:clamp(18px,4vw,58px);bottom:clamp(22px,4vh,48px);
  width:min(390px,42vw);margin:0!important;
}

/* Checkout: each concept gets a column on desktop instead of shrinking text. */
.v73-payment-dock{
  display:grid!important;
  grid-template-columns:auto minmax(210px,320px) auto minmax(150px,auto)!important;
  align-items:center!important;gap:9px!important;
  border-radius:20px!important;
  max-width:min(980px,calc(100vw - 40px))!important;
}
.v140-payment-guide{min-width:0;padding:7px 10px;border-left:2px solid #bf6556;background:rgba(4,25,33,.42)}
.v140-payment-guide>small{display:block;margin-bottom:4px;color:#efb596;font-size:7px;font-weight:850;letter-spacing:.15em}
.v140-payment-guide>p{margin:0;color:#fff;font-size:10px;line-height:1.35}
.v140-payment-guide details{margin-top:3px;color:rgba(255,255,255,.78);font-size:9px;line-height:1.35}
.v140-payment-guide summary{min-height:0!important;cursor:pointer;color:#efb596;font-size:8px;font-weight:800}
.v140-payment-guide details p{margin:5px 0 0;font-size:9px;line-height:1.4}
.v140-checkout-transition{
  position:absolute!important;z-index:20;left:clamp(18px,5vw,70px);bottom:clamp(160px,18vh,205px);
  width:min(330px,36vw);margin:0!important;
}

/* Shrine: context is optional depth, never allowed to cover the action. */
.d2-shrine-approach-scene .v127-world-continue.shrine{z-index:40!important}
.d2-shrine-approach-scene .v97-context-fold.shrine{z-index:35!important}

@media(max-width:760px){
  /* Compact HUD: preserve the image and never stack the menu over content. */
  .brand{top:max(9px,env(safe-area-inset-top))!important;left:9px!important;padding:4px 9px 4px 4px!important;gap:8px!important;max-width:190px!important}
  .brand img{width:38px!important;height:38px!important}
  .brand b{font-size:11px!important;letter-spacing:.10em!important;white-space:nowrap!important}
  .brand small{margin-top:2px!important;font-size:6px!important;letter-spacing:.16em!important}
  .sound{top:max(10px,env(safe-area-inset-top))!important;right:10px!important;width:44px!important;height:44px!important}
  .journey-menu-trigger{top:max(59px,calc(env(safe-area-inset-top) + 49px))!important;right:10px!important;width:46px!important;height:46px!important}
  .scene-meta{top:max(61px,calc(env(safe-area-inset-top) + 51px))!important;left:12px!important;max-width:calc(100vw - 78px)!important;padding:4px 8px!important}
  .scene-meta time{font-size:15px!important}.scene-meta span{font-size:8px!important}

  /* Mme Sato: narration under HUD; response block at the bottom. */
  .d2-breakfast-discovery .d2-narrative-caption,
  .d2-breakfast-discovery .d2-narrative-caption.v123-breakfast-sato{
    top:max(116px,calc(env(safe-area-inset-top) + 104px))!important;
    bottom:auto!important;left:12px!important;right:12px!important;width:auto!important;
    max-width:min(86vw,470px)!important;max-height:24svh!important;overflow:auto!important;
    padding:10px 12px!important;
  }
  .d2-breakfast-discovery .d2-narrative-caption p{font-size:15px!important;line-height:1.38!important}
  .v140-breakfast-social{
    left:10px!important;right:10px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px))!important;
    width:auto!important;max-height:31svh!important;padding:8px!important;border-radius:16px!important;
  }
  .v140-breakfast-social .v129-social-whisper{margin:0 0 6px!important;padding:7px 9px!important;font-size:11px!important;line-height:1.3!important}
  .v140-breakfast-social .v129-social-whisper::before{font-size:8px!important;margin-bottom:3px!important}
  .v140-breakfast-social .breakfast-human-choice{grid-template-columns:1fr 1fr!important;gap:6px!important;margin:0!important}
  .v140-breakfast-social .breakfast-human-choice>button{min-height:58px!important;padding:8px 9px!important;border-radius:13px!important}
  .v140-breakfast-social .breakfast-human-choice b{font-size:12px!important;line-height:1.18!important}
  .v140-breakfast-social .breakfast-human-choice small{font-size:9px!important;line-height:1.2!important}
  .v140-breakfast-reaction{
    left:12px!important;right:12px!important;top:max(116px,calc(env(safe-area-inset-top) + 104px))!important;bottom:auto!important;
    width:auto!important;max-width:390px!important;font-size:11px!important;
  }

  /* Checkout question is its own moment. Once answered it gets out of the way. */
  .v73-cashier-dialogue{
    top:max(118px,calc(env(safe-area-inset-top) + 106px))!important;bottom:auto!important;
    left:12px!important;right:12px!important;width:auto!important;max-width:430px!important;
    max-height:34svh!important;overflow:auto!important;padding:10px 12px!important;
    background:linear-gradient(100deg,rgba(4,24,33,.88),rgba(4,24,33,.55))!important;
  }
  .v73-cashier-dialogue>b{font-size:22px!important}
  .v73-cashier-dialogue .v129-social-whisper{font-size:11px!important;line-height:1.32!important;padding:6px 8px!important;margin:6px 0!important}
  .v73-response-pills{display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important;margin-top:7px!important}
  .v73-response-pills button{min-width:0!important;min-height:48px!important;padding:7px 8px!important;border-radius:12px!important}
  .v73-response-pills b{font-size:10px!important}.v73-response-pills small{font-size:8px!important}
  .v140-checkout-transition{
    top:max(116px,calc(env(safe-area-inset-top) + 104px))!important;bottom:auto!important;
    left:12px!important;right:12px!important;width:auto!important;max-width:350px!important;
    padding:7px 9px!important;font-size:10px!important;line-height:1.3!important;
  }

  /* Payment is a vertical sheet, never a horizontal squeeze. */
  .v73-payment-dock{
    left:10px!important;right:10px!important;bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px))!important;
    width:auto!important;max-width:none!important;max-height:42svh!important;overflow:auto!important;
    display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;
    gap:7px!important;align-items:stretch!important;padding:9px!important;border-radius:17px!important;
  }
  .v140-payment-guide{grid-column:1/-1!important;grid-row:1!important;padding:7px 9px!important}
  .v140-payment-guide>small{font-size:8px!important}.v140-payment-guide>p{font-size:11px!important;line-height:1.3!important}
  .v140-payment-guide details,.v140-payment-guide details p{font-size:9px!important}
  .v73-pay-total{grid-column:1!important;grid-row:2!important;min-width:0!important;padding:7px 8px!important;border-radius:12px!important;background:rgba(255,255,255,.06)!important;align-content:center!important}
  .v73-pay-total small{font-size:7px!important}.v73-pay-total b{font-size:18px!important;white-space:nowrap!important}
  .v73-pay-methods{grid-column:2!important;grid-row:2!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  .v73-pay-methods button{min-width:0!important;min-height:48px!important;justify-content:center!important;padding:7px!important;border-radius:12px!important}
  .v73-pay-methods b{font-size:9px!important;overflow-wrap:normal!important;word-break:normal!important;writing-mode:horizontal-tb!important}
  .payment-reaction{grid-column:1/-1!important;margin:0!important;padding:6px 8px!important;font-size:10px!important;line-height:1.3!important}
  .v73-pay-action{grid-column:1/-1!important;width:100%!important;min-height:48px!important;padding:9px 11px!important;border-radius:12px!important;font-size:11px!important}

  /* Shrine help goes near the top/right; primary movement stays at the bottom. */
  .d2-shrine-approach-scene .v97-context-fold.shrine{
    top:max(122px,calc(env(safe-area-inset-top) + 110px))!important;right:12px!important;left:auto!important;bottom:auto!important;
    width:min(210px,56vw)!important;max-height:31svh!important;overflow:auto!important;padding:8px 10px!important;
  }
  .d2-shrine-approach-scene .v97-context-fold.shrine summary{min-height:30px!important;font-size:9px!important}
  .d2-shrine-approach-scene .v97-context-fold.shrine p{font-size:10px!important;line-height:1.35!important}
  .d2-shrine-approach-scene .v127-world-continue.shrine{
    left:12px!important;right:12px!important;bottom:max(12px,calc(env(safe-area-inset-bottom) + 7px))!important;
    width:auto!important;min-height:52px!important;
  }
}

@media(max-width:360px){
  .brand{max-width:166px!important}.brand b{font-size:10px!important}.brand small{display:none!important}
  .v140-breakfast-social{max-height:35svh!important}
  .v140-breakfast-social .breakfast-human-choice{grid-template-columns:1fr!important}
  .v140-breakfast-social .breakfast-human-choice>button{min-height:48px!important}
  .v73-payment-dock{max-height:46svh!important;grid-template-columns:72px minmax(0,1fr)!important}
}

/* V140.1 · desktop collision cleanup found by rendered regression harness. */
@media(min-width:761px){
  .d2-shrine-approach-scene .v97-context-fold.shrine{
    top:clamp(132px,17vh,170px)!important;right:clamp(18px,3vw,46px)!important;
    bottom:auto!important;left:auto!important;width:min(330px,28vw)!important;max-height:34vh!important;overflow:auto!important;
  }
  .v73-pay-methods button{min-width:108px!important;justify-content:center!important}
  .v73-pay-action{grid-column:1/-1!important;width:100%!important;min-height:42px!important;border-radius:12px!important}
}

/* V140.2 · old payment glyph no longer floats inside the rebuilt sheet. */
.v123-konbini-checkout.pay-cash .v73-payment-dock:after,
.v123-konbini-checkout.pay-ic .v73-payment-dock:after{display:none!important;content:none!important}
