:root{
  --ink:#fffaf1;--paper:#f4ebdc;--paper2:#e7d9c5;--charcoal:#171918;--muted:rgba(255,250,241,.72);
  --accent:#a95643;--accent2:#7e3c30;--olive:#65664d;--line:rgba(255,255,255,.17);--shadow:0 24px 70px rgba(0,0,0,.35);
  --safe-x:clamp(20px,4.6vw,74px);--safe-y:clamp(18px,3vw,38px);--scene-x:0px;--scene-y:0px
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#111615}body{min-height:100svh;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}button,input{font:inherit}button{color:inherit}button.is-action-busy{pointer-events:none}button:focus-visible,input:focus-visible{outline:2px solid rgba(255,222,190,.95);outline-offset:3px}[hidden]{display:none!important}.app-shell{min-height:100svh;background:#151816}

/* COVER */
.cover{position:relative;min-height:100svh;width:100%;overflow:hidden;isolation:isolate;background:#1b1d1a;opacity:0;pointer-events:none;transition:opacity .45s ease}.cover.is-active{opacity:1;pointer-events:auto}.cover__image{position:absolute;inset:0;z-index:-7;overflow:hidden}.cover__image-inner{position:absolute;inset:-2.5%;background:url("assets/jeonju-cover.webp") center 50%/cover no-repeat;transform:scale(1.012);animation:city-breathe 26s ease-in-out infinite alternate}@keyframes city-breathe{from{transform:scale(1.012)}to{transform:scale(1.034) translate3d(-.25%,-.15%,0)}}.cover__air{position:absolute;inset:-15%;z-index:-6;pointer-events:none;opacity:.16;background:radial-gradient(circle at 70% 58%,rgba(255,205,142,.17),transparent 22%),radial-gradient(circle at 47% 25%,rgba(214,232,240,.11),transparent 28%);filter:blur(24px);animation:air-drift 18s ease-in-out infinite alternate}@keyframes air-drift{from{transform:translate3d(-1.2%,.4%,0);opacity:.11}to{transform:translate3d(1.4%,-1%,0) scale(1.03);opacity:.21}}.cover__glow{position:absolute;inset:0;z-index:-5;pointer-events:none;background:radial-gradient(ellipse at 69% 69%,rgba(255,177,97,.14),transparent 18%);mix-blend-mode:screen;animation:street-glow 9s ease-in-out infinite}@keyframes street-glow{0%,100%{opacity:.22}50%{opacity:.48}}.cover__veil{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(10,14,14,.74) 0%,rgba(10,14,14,.38) 34%,rgba(10,14,14,.06) 64%,rgba(10,14,14,.14) 100%),linear-gradient(180deg,rgba(0,0,0,.13),rgba(0,0,0,.02) 42%,rgba(0,0,0,.30))}.cover__vignette{position:absolute;inset:0;z-index:-3;box-shadow:inset 0 0 165px rgba(0,0,0,.28);pointer-events:none}
.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:max(var(--safe-y),env(safe-area-inset-top)) var(--safe-x) 0;z-index:10}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0}.topbar--cover .brand{padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;box-shadow:none}.brand__logo{width:62px;height:62px;display:block;object-fit:contain;border-radius:50%;background:transparent;box-shadow:none;flex:0 0 auto}.brand__seal,.brand__seal-main,.brand__seal-rule{display:none!important}.brand__wordmark{display:grid;gap:5px;text-shadow:none}.brand__wordmark strong{display:none}.brand__wordmark small{color:rgba(91,58,40,.78);font-size:10px;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase}.controls{display:flex;align-items:center;gap:13px}.lang-switch{display:flex;align-items:center;gap:7px;font-size:16px;text-shadow:0 2px 12px rgba(0,0,0,.45)}.lang{border:0;background:transparent;padding:8px 2px;cursor:pointer;opacity:.58}.lang.is-active,.lang:hover{opacity:1}.sound-button{width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(8,14,16,.22);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-content:center;gap:2px;box-shadow:0 7px 25px rgba(0,0,0,.14);transition:.2s ease}.sound-button:hover{transform:translateY(-1px);background:rgba(8,14,16,.34)}.sound-button__icon{font-size:19px;line-height:1}.sound-button__label{font-size:8px;letter-spacing:.11em}.sound-button[aria-pressed=true]{background:rgba(70,95,77,.48)}.menu-button{display:none}.hero{position:absolute;left:var(--safe-x);top:51%;transform:translateY(-43%);width:min(650px,50vw);z-index:5;text-shadow:0 4px 26px rgba(0,0,0,.38)}.hero__eyebrow{margin:0 0 16px;color:#f0a184;font-size:clamp(12px,1.02vw,16px);font-weight:700;letter-spacing:.23em}.hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(50px,5.55vw,88px);font-weight:500;line-height:.96;letter-spacing:-.038em;text-wrap:balance}.hero__intro{margin:23px 0 0;max-width:600px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,1.95vw,31px);line-height:1.22}.hero__actions{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:27px}.start-button{min-width:270px;border:1px solid rgba(255,247,236,.7);border-radius:999px;background:linear-gradient(180deg,rgba(177,79,60,.98),rgba(142,54,43,.98));padding:15px 34px;font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:700;cursor:pointer;box-shadow:var(--shadow);transition:.2s ease}.start-button:hover{transform:translateY(-2px);filter:brightness(1.05)}.passport-link{border:0;border-bottom:1px solid rgba(255,255,255,.45);background:transparent;padding:4px 0 3px;cursor:pointer;color:#fff;font-size:14px;font-weight:650;letter-spacing:.03em;text-shadow:0 2px 12px rgba(0,0,0,.66)}
.leaves{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}.leaf{position:absolute;top:var(--start-y,-12vh);width:var(--size);height:calc(var(--size)*1.12);opacity:var(--opacity);filter:blur(var(--blur)) drop-shadow(0 4px 5px rgba(30,14,9,.18));will-change:transform,opacity;animation:leaf-fall var(--duration) linear forwards;transform-origin:50% 45%}.leaf svg{width:100%;height:100%;display:block}.leaf .leaf-body{fill:var(--leaf-color)}.leaf .leaf-vein{fill:none;stroke:var(--leaf-vein);stroke-width:1.45;stroke-linecap:round;opacity:.42}@keyframes leaf-fall{0%{transform:translate3d(0,-8vh,0) rotate(var(--rot0)) scale(var(--scale));opacity:0}7%{opacity:var(--opacity)}33%{transform:translate3d(var(--drift-a),36vh,0) rotate(var(--rot1)) rotateX(68deg) scale(var(--scale))}67%{transform:translate3d(var(--drift-b),76vh,0) rotate(var(--rot2)) rotateX(18deg) scale(var(--scale))}100%{transform:translate3d(var(--drift-c),118vh,0) rotate(var(--rot3)) rotateX(72deg) scale(var(--scale));opacity:0}}

/* PRE-IMMERSION */
.profile-flow{position:fixed;inset:0;overflow:hidden;background:#171918;opacity:0;transition:opacity .38s ease}.profile-flow.is-active{opacity:1}.profile-flow__bg{position:absolute;inset:-3%;background:url("assets/jeonju-cover.webp") center/cover no-repeat;filter:blur(2px);transform:scale(1.04)}.profile-flow__veil{position:absolute;inset:0;background:linear-gradient(105deg,rgba(19,20,18,.9),rgba(27,26,22,.73) 50%,rgba(27,26,22,.5)),radial-gradient(circle at 76% 70%,rgba(180,102,70,.17),transparent 28%)}.mini-topbar{position:absolute;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:max(22px,env(safe-area-inset-top)) var(--safe-x) 0}.wordmark-button{border:0;background:transparent;padding:8px 0;cursor:pointer;font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:.18em;font-size:14px}.mini-topbar__actions{display:flex;gap:8px}.mini-lang,.mini-sound{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.24);background:rgba(14,16,15,.28);backdrop-filter:blur(10px);cursor:pointer}.mini-sound.is-on{background:rgba(90,107,76,.5)}.profile-stage{position:relative;z-index:3;min-height:100svh;display:grid;align-items:center;padding:96px var(--safe-x) 56px}.profile-stage.is-leaving{opacity:0;transform:scale(.99);transition:.45s ease}.profile-card{width:min(720px,100%);animation:card-in .38s ease both}@keyframes card-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.profile-card__head p{margin:0 0 13px;color:#d89579;font-size:11px;font-weight:750;letter-spacing:.24em}.profile-card__head h1{margin:0;max-width:680px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5.1vw,68px);line-height:1.02;font-weight:500;letter-spacing:-.035em;text-wrap:balance}.profile-card__text{margin-top:18px;max-width:590px;color:rgba(255,250,241,.76);font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.6vw,23px);line-height:1.48}.profile-card__body{margin-top:32px}.profile-choices{display:grid;gap:12px;width:min(660px,100%)}.profile-choice{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;text-align:left;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(247,239,228,.075);backdrop-filter:blur(14px);padding:17px 20px;cursor:pointer;transition:.22s ease}.profile-choice:hover,.profile-choice.is-selected{transform:translateX(4px);border-color:rgba(232,185,158,.55);background:rgba(247,239,228,.12)}.profile-choice__index{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);font-size:10px;color:#d9a28c}.profile-choice strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:500}.profile-choice small{display:block;margin-top:4px;color:rgba(255,255,255,.55);font-size:12px;line-height:1.4}.profile-choice__arrow{font-size:24px;color:rgba(255,255,255,.46)}.profile-back{margin-top:20px;border:0;background:transparent;padding:8px 0;color:rgba(255,255,255,.56);cursor:pointer}.profile-name-form{display:flex;gap:12px;max-width:620px}.profile-name-form input{flex:1;min-width:0;border:0;border-bottom:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;padding:14px 3px;font-family:Georgia,"Times New Roman",serif;font-size:28px}.profile-name-form input::placeholder{color:rgba(255,255,255,.32)}.profile-primary,.profile-secondary{border-radius:999px;padding:13px 22px;cursor:pointer}.profile-primary{border:1px solid rgba(255,255,255,.58);background:rgba(169,86,67,.9);font-weight:700}.profile-secondary{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05)}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.profile-card--documents{width:min(980px,100%)}.docs-hint{margin:22px 0 0;color:rgba(255,255,255,.62);font-family:Georgia,"Times New Roman",serif;font-size:15px}

/* PASSPORT AND IMMERSION ID */
.travel-docs{display:grid;grid-template-columns:minmax(430px,1.3fr) minmax(260px,.75fr);gap:26px;align-items:center;margin-top:30px;max-width:980px}.passport-book{position:relative;display:grid;grid-template-columns:34% 66%;min-height:340px;perspective:1200px;filter:drop-shadow(0 28px 40px rgba(0,0,0,.25))}.passport-book[role=button]{cursor:pointer}.passport-cover{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;border-radius:14px 6px 6px 14px;background:linear-gradient(145deg,#3c2921,#291b17 58%,#4a3025);border:1px solid rgba(228,194,156,.17);box-shadow:inset -18px 0 30px rgba(0,0,0,.22);color:#d8ba8e;text-align:center;transform-origin:right center;transition:.35s ease}.passport-book[role=button]:hover .passport-cover{transform:rotateY(-5deg)}.passport-mark{font-size:11px;letter-spacing:.18em;line-height:1.5}.passport-mark span{font-size:7px}.passport-emblem{width:58px;height:58px;margin:24px 0;border:1px solid rgba(216,186,142,.48);border-radius:50%;display:grid;place-items:center;font:700 30px/1 Georgia,serif}.passport-cover strong{font:600 20px/1 Georgia,serif;letter-spacing:.14em}.passport-cover small{margin-top:14px;font-size:8px;letter-spacing:.2em}.passport-pages{display:grid;grid-template-columns:1fr 1fr;min-height:340px;border-radius:3px 14px 14px 3px;background:#efe4d2;box-shadow:inset 0 0 0 1px rgba(84,61,44,.14),inset 14px 0 24px rgba(94,64,43,.06);color:#4b3e34;overflow:hidden}.passport-page{padding:26px 22px;background-image:linear-gradient(rgba(117,91,67,.045) 1px,transparent 1px);background-size:100% 22px}.passport-page:first-child{border-right:1px solid rgba(87,65,48,.15)}.passport-page>p{margin:0;color:#8e6853;font-size:8px;font-weight:800;letter-spacing:.18em}.passport-page h3{margin:18px 0 20px;font:500 24px/1.1 Georgia,serif}.passport-page dl,.immersion-id-card dl{display:grid;gap:10px;margin:0}.passport-page dl div,.immersion-id-card dl div{display:grid;grid-template-columns:90px 1fr;gap:10px}.passport-page dt,.immersion-id-card dt{text-transform:uppercase;font-size:7px;font-weight:800;letter-spacing:.12em;color:#8f7967}.passport-page dd,.immersion-id-card dd{margin:0;font-size:10px}.passport-page--visa{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#875b48}.passport-page--visa>span{font:500 30px/1 Georgia,serif;letter-spacing:.08em}.passport-page--visa>small{margin-top:8px;font-size:8px;letter-spacing:.18em}.passport-blank-stamp{width:96px;height:96px;margin-top:38px;border:1px dashed rgba(112,78,59,.25);border-radius:50%}.immersion-id-card{align-self:center;border-radius:16px;background:linear-gradient(135deg,#e8ddca,#cab89e);color:#44372e;box-shadow:0 24px 45px rgba(0,0,0,.22);overflow:hidden;transform:rotate(1.4deg)}.immersion-id-card__head{padding:16px 18px 13px;background:linear-gradient(120deg,#6c684f,#56513e);color:#f6efe4}.immersion-id-card__head span{display:block;font-size:8px;letter-spacing:.18em}.immersion-id-card__head strong{display:block;margin-top:5px;font:500 15px/1.2 Georgia,serif}.immersion-id-card__body{padding:18px}.immersion-id-card__body>p{margin:0 0 18px;font:500 25px/1 Georgia,serif}.menu-edit-link{border:0;border-bottom:1px solid rgba(80,58,46,.28);background:transparent;color:#6d4d3e;padding:6px 0;cursor:pointer;margin-right:16px}

/* SCENE WORLD */
.scene{position:fixed;inset:0;overflow:hidden;background:#151817;opacity:0;transition:opacity .5s ease;isolation:isolate}.scene.is-active{opacity:1}.scene__picture{position:absolute;inset:-2.2%;overflow:hidden;z-index:-5}.scene__image{width:104.4%;height:104.4%;object-fit:cover;transform:translate3d(var(--scene-x),var(--scene-y),0) scale(1.015);transition:opacity .72s ease,filter .72s ease;will-change:transform,filter}.scene.is-transitioning .scene__image{opacity:.22;filter:blur(3px)}.scene__image-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(5,8,8,.18),transparent 24%,transparent 65%,rgba(5,7,7,.28))}.scene::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 74% 20%,rgba(255,223,184,.045),transparent 22%);animation:world-light 13s ease-in-out infinite alternate}@keyframes world-light{from{opacity:.45;transform:translateX(-1%)}to{opacity:.8;transform:translateX(1%)}}
.scene-hud{position:absolute;z-index:40;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:max(18px,env(safe-area-inset-top)) var(--safe-x) 0;pointer-events:none}.scene-brand,.scene-hud__actions button{pointer-events:auto}.scene-brand{border:0;background:transparent;color:#fff;padding:7px 0;cursor:pointer;font:700 12px/1 Georgia,serif;letter-spacing:.16em;text-shadow:0 2px 16px rgba(0,0,0,.5)}.scene-brand span{display:block;margin-top:4px;font:600 6px/1 system-ui;letter-spacing:.26em}.scene-hud__meta{display:none}.scene-hud__actions{display:flex;gap:7px}.hud-lang,.hud-sound,.hud-menu{width:39px;height:39px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(12,14,13,.24);backdrop-filter:blur(8px);cursor:pointer}.hud-menu{display:grid;place-content:center;gap:5px}.hud-menu span{display:block;width:15px;height:1px;background:#fff}.hud-sound.is-on{background:rgba(93,106,78,.44)}.scene-content{position:absolute;inset:0;z-index:12;pointer-events:none}.scene-content>*{pointer-events:auto}

/* WAKE UP: eyes open, focus, body rises. */
.scene[data-mode=wake] .scene__image{animation:wake-camera 6.8s cubic-bezier(.22,.7,.2,1) both}@keyframes wake-camera{0%{transform:scale(1.12) translateY(6%);filter:blur(8px) brightness(.56)}18%{filter:blur(5px) brightness(.72)}42%{filter:blur(0) brightness(.92);transform:scale(1.09) translateY(4%)}72%{transform:scale(1.045) translateY(-1.4%);filter:blur(0) brightness(1)}100%{transform:scale(1.025) translateY(-1.8%);filter:blur(0) brightness(1)}}.wake-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:#000}.eyelid{position:absolute;left:-3%;right:-3%;height:54%;background:#050606;z-index:5}.eyelid--top{top:-2%;transform-origin:top;animation:lid-top 2.2s .55s cubic-bezier(.22,.75,.18,1) forwards}.eyelid--bottom{bottom:-2%;transform-origin:bottom;animation:lid-bottom 2.2s .55s cubic-bezier(.22,.75,.18,1) forwards}@keyframes lid-top{0%,18%{transform:translateY(0)}55%{transform:translateY(-73%)}100%{transform:translateY(-103%)}}@keyframes lid-bottom{0%,18%{transform:translateY(0)}55%{transform:translateY(73%)}100%{transform:translateY(103%)}}.wake-layer{animation:wake-layer-away 1s 2.6s forwards}@keyframes wake-layer-away{to{background:transparent}}.wake-time{position:absolute;z-index:8;left:var(--safe-x);bottom:max(38px,env(safe-area-inset-bottom));display:grid;opacity:0;transform:translateY(6px);animation:wake-time-in .8s 4.9s forwards;text-shadow:0 2px 20px rgba(0,0,0,.45)}.wake-time strong{font:500 34px/1 Georgia,serif}.wake-time span{margin-top:5px;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}@keyframes wake-time-in{to{opacity:1;transform:none}}

/* PHONE */
.phone-stage{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding:78px max(5vw,var(--safe-x)) 34px}.phone-device{pointer-events:auto;position:relative;width:min(330px,27vw);aspect-ratio:.50;max-height:74vh;border-radius:42px;padding:9px;background:linear-gradient(145deg,#161817,#050606 55%,#252725);border:1px solid rgba(255,255,255,.18);box-shadow:0 32px 100px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.04);transform:translateY(18px) rotate(1deg);opacity:0;animation:phone-arrive .75s .15s cubic-bezier(.2,.8,.2,1) forwards;transform-origin:70% 80%}@keyframes phone-arrive{to{transform:translateY(0) rotate(1deg);opacity:1}}.phone-device::before{content:"";position:absolute;inset:2px;border-radius:39px;border:1px solid rgba(255,255,255,.05);pointer-events:none}.phone-device.is-vibrating{animation:phone-vibrate .5s linear!important;opacity:1}@keyframes phone-vibrate{0%,100%{transform:rotate(1deg) translateX(0)}15%{transform:rotate(.3deg) translateX(-3px)}30%{transform:rotate(1.8deg) translateX(3px)}45%{transform:rotate(.5deg) translateX(-2px)}60%{transform:rotate(1.6deg) translateX(2px)}}.phone-speaker{position:absolute;z-index:3;top:15px;left:50%;width:78px;height:19px;transform:translateX(-50%);border-radius:999px;background:#050606}.phone-screen{position:relative;height:100%;overflow:hidden;border-radius:34px;padding:28px 15px 16px;background:linear-gradient(180deg,rgba(8,13,15,.05),rgba(8,13,15,.34)),radial-gradient(circle at 58% 18%,rgba(214,172,119,.25),transparent 28%),linear-gradient(160deg,#26363a,#11181a 56%,#332a23);color:#fff}.phone-status{display:flex;justify-content:space-between;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.06em}.phone-lock-time{margin-top:12%;text-align:center;font-family:Inter,system-ui,sans-serif;font-size:clamp(42px,4.5vw,62px);font-weight:250;letter-spacing:-.04em}.phone-lock-date{text-align:center;margin-top:-6px;color:rgba(255,255,255,.67);font-size:12px}.phone-notification{position:absolute;left:12px;right:12px;bottom:12%;display:grid;gap:3px;text-align:left;padding:13px 14px;border:1px solid rgba(255,255,255,.26);border-radius:16px;background:rgba(239,236,229,.9);color:#272521;backdrop-filter:blur(15px);box-shadow:0 16px 34px rgba(0,0,0,.18);cursor:pointer}.phone-notification__app{color:#775949;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.phone-notification strong{font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.25}.phone-thread-head{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:6px;padding:4px 2px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.phone-back{font-size:27px}.phone-thread-head strong{display:block;font-size:13px}.phone-thread-head small{display:block;color:rgba(255,255,255,.48);font-size:9px}.phone-thread{display:flex;flex-direction:column;gap:9px;padding-top:16px}.phone-message{align-self:flex-start;max-width:88%;padding:10px 11px;border-radius:14px 14px 14px 4px;background:rgba(244,239,231,.92);color:#2c2925;font-family:Georgia,"Times New Roman",serif;font-size:13px;line-height:1.42;box-shadow:0 8px 22px rgba(0,0,0,.1);opacity:0;transform:translateY(7px);animation:phone-msg-in .38s ease forwards}.phone-message--1{animation-delay:.45s}.phone-message--2{animation-delay:1.35s}.phone-message--3{animation-delay:2.15s}.phone-message--4{animation-delay:3s}.phone-message--5{animation-delay:3.9s}.phone-message--6{animation-delay:4.8s}@keyframes phone-msg-in{to{opacity:1;transform:none}}.phone-memory-link{position:absolute;left:15px;right:15px;bottom:16px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;padding:11px 13px;cursor:pointer;font-size:12px}.phone-memory-link--delayed{opacity:0;pointer-events:none;animation:memory-link-in .45s 3.55s forwards}.phone-memory-link--gift{animation-delay:6.05s}@keyframes memory-link-in{to{opacity:1;pointer-events:auto}}

/* LETTERS */
.letter-table{position:absolute;inset:0;pointer-events:none;display:flex;align-items:flex-end;justify-content:flex-end;padding:110px var(--safe-x) max(42px,env(safe-area-inset-bottom))}.letter-envelopes{pointer-events:auto;display:flex;align-items:flex-end;gap:18px;padding-right:4vw}.envelope{width:235px;aspect-ratio:1.55;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;border:0;border-radius:3px;background:linear-gradient(145deg,#f0e3d2,#d8c4ac);color:#4d4137;box-shadow:0 22px 58px rgba(0,0,0,.3);cursor:pointer;transform:rotate(-3deg);transition:.25s ease}.envelope:hover{transform:rotate(-2deg) translateY(-5px)}.envelope::before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,50% 56%,100% 0);background:rgba(255,255,255,.26)}.envelope--mae{transform:rotate(2.5deg) translateY(-9px);background:linear-gradient(145deg,#f5eadc,#e1cfba)}.envelope--mae:hover{transform:rotate(2deg) translateY(-14px)}.envelope span,.envelope small{position:relative;z-index:2}.envelope span{font-family:Georgia,"Times New Roman",serif;font-size:18px}.envelope small{margin-top:5px;color:#8c7562;letter-spacing:.07em}.envelope.is-read{opacity:.56;filter:saturate(.65)}.envelope.is-locked{opacity:.24}.letter-layer{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:70px 6vw;background:rgba(10,11,10,.42);backdrop-filter:blur(4px)}.letter-sheet{position:relative;width:min(720px,92vw);max-height:82svh;overflow:auto;padding:clamp(36px,5vw,68px);transform:rotate(-.25deg);background:linear-gradient(145deg,#fbf4e9,#eadcc9);color:#4b3d32;box-shadow:0 40px 120px rgba(0,0,0,.5)}.letter-close{position:absolute;top:14px;right:16px;width:36px;height:36px;border:0;background:transparent;color:#634e3f;font-size:26px;cursor:pointer}.letter-kicker{font-size:9px;font-weight:800;letter-spacing:.2em;color:#9b6e58}.letter-sheet h2{margin:14px 0 26px;font:500 clamp(30px,4vw,48px)/1.05 Georgia,serif}.letter-body{font:400 17px/1.68 Georgia,serif}.letter-body p{margin:0 0 18px}.letter-signature{margin:32px 0 0;text-align:right;font:italic 18px/1 Georgia,serif}

/* WORLD PRESENCE AND HOTSPOTS */
.scene-hotspot{position:absolute;z-index:13;pointer-events:auto;border:0;background:transparent;color:#fff;cursor:pointer;padding:30px}.scene-hotspot span{display:block;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.7);box-shadow:0 0 0 8px rgba(255,255,255,.055),0 0 25px rgba(255,239,218,.2);animation:hotspot-breathe 1.9s ease-in-out infinite}.scene-hotspot strong{display:block;margin-top:10px;padding:6px 9px;border-radius:999px;background:rgba(13,14,13,.42);backdrop-filter:blur(8px);font-size:10px;font-weight:650;opacity:.78}@keyframes hotspot-breathe{50%{transform:scale(1.11);box-shadow:0 0 0 11px rgba(255,255,255,.025),0 0 28px rgba(255,239,218,.26)}}.scene-hotspot--road{left:50%;bottom:9%;transform:translateX(-50%)}.scene-hotspot--restaurant{right:19%;bottom:25%}.scene-hotspot--door{right:40%;bottom:24%}.world-breath{position:absolute;inset:0;pointer-events:none}.world-breath--door::after{content:"";position:absolute;left:46%;top:38%;width:80px;height:80px;border-radius:50%;background:rgba(255,215,163,.06);filter:blur(25px);animation:door-glow 2.5s ease-in-out infinite alternate}@keyframes door-glow{to{transform:scale(1.25);opacity:.45}}.world-breath--steam::before,.world-breath--steam::after{content:"";position:absolute;right:28%;bottom:22%;width:80px;height:160px;background:radial-gradient(ellipse,rgba(255,255,255,.08),transparent 65%);filter:blur(12px);animation:steam-rise 4s ease-in-out infinite}.world-breath--steam::after{right:35%;bottom:28%;animation-delay:1.3s}@keyframes steam-rise{0%{transform:translateY(30px) scale(.8);opacity:0}35%{opacity:.5}100%{transform:translateY(-40px) scale(1.25);opacity:0}}.memory-time-label{position:absolute;left:var(--safe-x);bottom:max(42px,env(safe-area-inset-bottom));padding:10px 13px;border-radius:11px;background:rgba(17,18,17,.45);backdrop-filter:blur(9px);color:rgba(255,255,255,.86);font-family:Georgia,"Times New Roman",serif;font-size:16px;animation:time-label-away .8s 2.2s forwards}@keyframes time-label-away{to{opacity:0;transform:translateY(4px)}}.menu-memory{position:absolute;left:var(--safe-x);bottom:max(42px,env(safe-area-inset-bottom));max-width:520px;padding:13px 16px;border-left:1px solid rgba(255,235,215,.42);background:linear-gradient(90deg,rgba(13,14,13,.43),transparent);color:rgba(255,255,255,.86);font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.45;animation:memory-note-in .6s .8s both}@keyframes memory-note-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.menu-memory p{margin:0}

/* DIALOGUE */
.story-panel{position:absolute;left:var(--safe-x);right:var(--safe-x);bottom:max(34px,env(safe-area-inset-bottom));margin:auto;max-width:920px;padding:22px 24px 21px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(135deg,rgba(14,15,14,.72),rgba(13,14,13,.48));backdrop-filter:blur(16px);box-shadow:0 22px 60px rgba(0,0,0,.24);pointer-events:auto;animation:story-in .45s ease both}@keyframes story-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.story-panel--minimal{max-width:680px;background:rgba(13,14,13,.42)}.story-panel--advance{cursor:pointer;padding-right:58px}.story-speaker{margin:0 0 9px;color:#e0a084;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.story-text{font:400 clamp(18px,1.35vw,23px)/1.45 Georgia,serif}.story-text p{margin:0 0 10px}.story-text h1{margin:0 0 12px;font:500 clamp(32px,4.4vw,58px)/1 Georgia,serif}.story-eyebrow{margin:0 0 9px!important;color:#d89a80;font:700 9px/1.2 system-ui!important;letter-spacing:.16em}.tap-cue{position:absolute;right:22px;bottom:20px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.24);border-radius:50%;color:rgba(255,255,255,.65);font-size:20px;opacity:0;animation:tap-cue-in .4s 3.4s forwards}@keyframes tap-cue-in{to{opacity:1}}.story-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.story-actions--delayed{opacity:1;pointer-events:auto}.choice-button{flex:1 1 220px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.055);padding:13px 15px;text-align:left;cursor:pointer;transition:.2s ease}.choice-button:hover{background:rgba(255,255,255,.11);border-color:rgba(255,213,185,.34)}.language-block{position:relative;margin-top:13px;padding:15px 74px 14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(8,9,8,.32);display:grid;gap:5px}.language-block>strong{font:500 22px/1.25 system-ui,sans-serif}.romanization{color:rgba(255,255,255,.52);font-size:11px}.translation{color:rgba(255,255,255,.8);font-family:Georgia,serif;font-size:14px}.language-float-tools{position:absolute;right:10px;top:10px;display:flex;gap:6px}.audio-chip,.mic-chip{width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.05);cursor:pointer;display:grid;place-items:center}.language-tools{display:flex;align-items:center;gap:8px;margin-top:4px}.language-tools>button{border:0;background:transparent;padding:4px 0;color:#dca38b;font-size:11px;cursor:pointer}.mae-aside{margin-top:12px;padding:11px 13px;border-left:1px solid rgba(220,172,139,.55);color:rgba(255,255,255,.75);font-size:13px;line-height:1.45}.mae-aside span{display:block;margin-bottom:3px;color:#dfaa93;font-weight:800}.inline-reply{position:relative;margin-top:18px;padding:12px 48px 12px 14px;border-top:1px solid rgba(255,255,255,.11);display:flex;align-items:center;gap:12px;opacity:0;animation:inline-reply-in .45s 3s forwards}.inline-reply span{color:#dca28a;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.inline-reply strong{font:500 22px/1.2 system-ui}.inline-reply .audio-chip{position:absolute;right:8px;top:8px}@keyframes inline-reply-in{to{opacity:1}}
.icon-speaker{display:inline-block;width:13px;height:13px;position:relative}.icon-speaker::before{content:"";position:absolute;left:1px;top:4px;width:4px;height:5px;border:1px solid currentColor;border-right:0}.icon-speaker::after{content:"))";position:absolute;left:5px;top:-2px;font:9px/13px system-ui;letter-spacing:-2px}.icon-mic{display:block;width:8px;height:12px;border:1px solid currentColor;border-radius:5px;margin:auto;position:relative}.icon-mic::after{content:"";position:absolute;width:10px;height:5px;left:-2px;bottom:-5px;border-bottom:1px solid currentColor;border-radius:0 0 8px 8px}

/* MEMORY TRANSITION */
.memory-transition{position:fixed;inset:0;z-index:120;overflow:hidden;pointer-events:none;background:rgba(12,11,10,.04);backdrop-filter:blur(0);animation:memory-in 1.7s cubic-bezier(.18,.8,.2,1) both}.memory-transition::before{content:"";position:absolute;inset:-15%;background:radial-gradient(circle at center,transparent 18%,rgba(16,12,10,.52) 72%);animation:memory-pulse 1.7s ease both}.memory-transition__wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(220,174,125,.05),rgba(255,243,222,.13),rgba(100,76,56,.04));mix-blend-mode:screen;animation:memory-wash 1.7s ease both}.memory-transition__line{position:absolute;top:50%;left:-15%;width:130%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,239,214,.64),transparent);box-shadow:0 0 28px rgba(255,225,183,.5);animation:memory-line 1.55s ease both}.memory-transition__time{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;gap:8px;text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.6)}.memory-transition__time span{color:rgba(255,255,255,.42);font-size:11px;letter-spacing:.16em;animation:old-time .7s .2s forwards}.memory-transition__time strong{font:500 clamp(27px,4vw,48px)/1.1 Georgia,serif;opacity:0;transform:translateY(8px);animation:new-time .6s .75s forwards}.memory-transition.is-leaving{animation:memory-out .65s ease both}@keyframes memory-in{0%{opacity:0;backdrop-filter:blur(0)}42%{opacity:1;backdrop-filter:blur(8px)}100%{opacity:1;backdrop-filter:blur(2px)}}@keyframes memory-out{to{opacity:0;backdrop-filter:blur(0)}}@keyframes memory-pulse{0%{transform:scale(1.2);opacity:0}58%{opacity:1}100%{transform:scale(.97);opacity:.72}}@keyframes memory-wash{0%{transform:translateX(18%);opacity:0}50%{opacity:1}100%{transform:translateX(-18%);opacity:.2}}@keyframes memory-line{0%{transform:translateY(130px);opacity:0}35%{opacity:1}100%{transform:translateY(-120px);opacity:0}}@keyframes old-time{to{opacity:.15;transform:translateY(-10px)}}@keyframes new-time{to{opacity:1;transform:none}}

/* OBJECTS */
.object-layer{position:absolute;inset:0;pointer-events:none}.wallet-object{pointer-events:auto;position:absolute;left:45%;top:53%;width:98px;height:59px;border:0;border-radius:9px 11px 9px 8px;background:linear-gradient(155deg,#5a3325,#2e1914 58%,#6c3c29);box-shadow:0 12px 18px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,202,156,.13);transform:rotate(-8deg);cursor:pointer;transition:.28s ease}.wallet-object::before{content:"";position:absolute;inset:5px;border:1px dashed rgba(224,166,113,.42);border-radius:6px}.wallet-object:hover{transform:rotate(-6deg) translateY(-3px)}.wallet-object.is-taken{opacity:0;transform:translateY(-16px) scale(.94);pointer-events:none}.object-hotspot{pointer-events:auto;position:absolute;border:0;background:transparent;color:#fff;cursor:pointer}.object-hotspot span{position:absolute;width:32px;height:32px;border:1px solid rgba(255,255,255,.72);border-radius:50%;box-shadow:0 0 0 8px rgba(255,255,255,.06);animation:hotspot-breathe 1.8s ease-in-out infinite}.object-hotspot--jacket{left:63%;top:46%;width:150px;height:250px}.object-hotspot--jacket span{left:58px;top:82px}.object-hotspot.is-taken{opacity:.18;pointer-events:none}.exit-hotspot{pointer-events:auto;position:absolute;right:var(--safe-x);bottom:max(42px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#fff;cursor:pointer}.exit-hotspot span{width:27px;height:27px;border:1px solid rgba(255,255,255,.7);border-radius:50%;box-shadow:0 0 0 7px rgba(255,255,255,.05)}.exit-hotspot strong{padding:8px 11px;border-radius:999px;background:rgba(12,13,12,.5);backdrop-filter:blur(8px);font-size:11px}

/* EXPERIENCE MENU */
.experience-menu{position:fixed;inset:0;z-index:200}.experience-menu__backdrop{position:absolute;inset:0;background:rgba(5,7,7,.52);backdrop-filter:blur(7px)}.experience-menu__panel{position:absolute;top:0;right:0;width:min(980px,92vw);height:100svh;display:grid;grid-template-columns:190px 1fr;grid-template-rows:auto 1fr auto;background:linear-gradient(145deg,#f4ebdd,#e8dac5);color:#493b31;box-shadow:-28px 0 90px rgba(0,0,0,.36);animation:menu-in .42s cubic-bezier(.22,.8,.2,1) both}@keyframes menu-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}.experience-menu__panel>header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(82,60,44,.12)}.menu-brand{display:flex;align-items:baseline;gap:7px}.menu-brand strong{font:700 18px/1 Georgia,serif;letter-spacing:.14em}.menu-brand span{font-size:8px;letter-spacing:.2em}.experience-menu__panel>header button{width:38px;height:38px;border:0;background:transparent;color:#5f4b3d;font-size:26px;cursor:pointer}.experience-menu__panel>nav{grid-column:1;grid-row:2;display:flex;flex-direction:column;padding:22px 14px;border-right:1px solid rgba(82,60,44,.12);background:rgba(112,88,63,.045)}.experience-menu__panel>nav button{border:0;border-left:2px solid transparent;background:transparent;color:#6b584a;padding:13px 12px;text-align:left;cursor:pointer;font-size:12px;line-height:1.35}.experience-menu__panel>nav button.is-active{border-left-color:#a85c47;color:#3e3129;font-weight:800;background:rgba(168,92,71,.055)}.experience-menu__body{grid-column:2;grid-row:2;overflow:auto;padding:26px 34px 38px}.experience-menu__panel>footer{grid-column:1/-1;display:flex;justify-content:space-between;padding:14px 22px;border-top:1px solid rgba(82,60,44,.12)}.experience-menu__panel>footer button{border:0;background:transparent;color:#6a5546;cursor:pointer;font-size:11px}.menu-section{max-width:760px}.menu-section-head p{margin:0;color:#a75d49;font-size:8px;font-weight:800;letter-spacing:.18em}.menu-section-head h2{margin:7px 0 5px;font:500 clamp(29px,3.4vw,44px)/1 Georgia,serif}.menu-section-head>span{color:#8a7766;font-size:10px}.menu-section--passport .travel-docs{grid-template-columns:minmax(360px,1.2fr) minmax(230px,.7fr);gap:18px;margin-top:22px}.menu-section--passport .passport-book{min-height:280px}.menu-section--passport .passport-cover,.menu-section--passport .passport-pages{min-height:280px}.menu-section--passport .passport-page{padding:20px 16px}.menu-section--passport .passport-page h3{font-size:20px}.menu-section--passport .passport-page dl div{grid-template-columns:74px 1fr}.menu-section--passport .immersion-id-card__body>p{font-size:21px}.notebook-book{display:grid;grid-template-columns:1fr 1fr;min-height:440px;margin-top:24px;background:#f5ecdd;border:1px solid rgba(95,70,53,.15);box-shadow:0 24px 45px rgba(78,56,39,.13);position:relative}.notebook-book::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(104,77,57,.17);box-shadow:0 0 14px rgba(104,77,57,.08)}.notebook-page{padding:30px 28px;background-image:linear-gradient(rgba(127,98,76,.06) 1px,transparent 1px);background-size:100% 28px}.notebook-page h3{margin:0 0 24px;font:500 22px/1 Georgia,serif}.notebook-page p,.notebook-page li{font:400 14px/1.65 Georgia,serif;color:#6c5a4d}.notebook-page ol{padding-left:18px}.notebook-expression{position:relative;display:grid;gap:4px;padding:12px 38px 12px 0;border-bottom:1px solid rgba(104,77,57,.13)}.notebook-expression strong{font:600 18px/1.2 system-ui}.notebook-expression small{color:#9a7b66;font-size:9px}.notebook-expression span{font:400 13px/1.45 Georgia,serif}.notebook-expression button{position:absolute;right:0;top:14px;width:30px;height:30px;border:1px solid rgba(92,65,49,.2);border-radius:50%;background:transparent;color:#694c3c;cursor:pointer}.menu-paper-copy{max-width:620px;margin-top:26px;padding:28px 30px;background:#f7efe3;border:1px solid rgba(93,67,49,.13);box-shadow:0 18px 40px rgba(77,57,42,.08)}.menu-paper-copy p{margin:0 0 16px;font:400 16px/1.65 Georgia,serif;color:#655246}.menu-paper-copy p:last-child{margin-bottom:0}

/* ACCOUNT MODAL */
.modal-layer{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 25% 20%,rgba(163,88,58,.18),transparent 30%),rgba(5,7,7,.72);backdrop-filter:blur(14px)}.passport-modal{position:relative;display:grid;grid-template-columns:minmax(230px,.78fr) minmax(320px,1.22fr);width:min(790px,94vw);max-height:min(760px,92svh);overflow:auto;border:1px solid rgba(255,245,225,.22);border-radius:26px;background:#f3eadc;color:#493a30;box-shadow:0 38px 120px rgba(0,0,0,.55);animation:passport-auth-in .55s cubic-bezier(.2,.8,.2,1) both}.modal-close{position:absolute;right:16px;top:14px;z-index:3;width:38px;height:38px;border:1px solid rgba(91,65,49,.15);border-radius:50%;background:rgba(255,250,242,.76);color:#5f493a;font-size:24px;cursor:pointer}.passport-auth-visual{position:relative;display:grid;place-items:center;align-content:center;gap:22px;min-height:570px;padding:38px;overflow:hidden;background:linear-gradient(145deg,rgba(39,28,22,.20),rgba(19,18,15,.72)),url("assets/scene1/room-desk-desktop.webp") center/cover}.passport-auth-visual::after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 42%,rgba(255,234,196,.10) 50%,transparent 58%);animation:passport-light 7s ease-in-out infinite}.passport-auth-visual>p{position:relative;z-index:1;margin:0;color:rgba(255,244,224,.74);font-size:9px;letter-spacing:.2em}.passport-auth-book{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:190px;aspect-ratio:.72;border-radius:15px 6px 6px 15px;background:linear-gradient(145deg,#472d24,#271916);color:#d9b88a;border:1px solid rgba(239,207,160,.24);box-shadow:0 30px 60px rgba(0,0,0,.45);transform:rotate(-2deg);animation:passport-book-breathe 5.5s ease-in-out infinite}.passport-auth-book span{font-size:10px;letter-spacing:.22em}.passport-auth-book strong{margin-top:5px;font:600 27px/1 Georgia,serif;letter-spacing:.15em}.passport-auth-book small{margin-top:36px;font-size:7px;letter-spacing:.18em}.passport-auth-book i{position:absolute;left:22px;right:22px;bottom:35px;height:1px;background:rgba(217,184,138,.34)}.passport-auth-content{padding:44px 42px 36px}.modal-kicker{margin:0;color:#9b5f4c;font-size:9px;font-weight:800;letter-spacing:.18em}.passport-modal h2{margin:9px 0 10px;font:500 clamp(30px,4vw,42px)/1 Georgia,serif}.modal-copy{margin:0 0 22px;color:#756153;font:400 15px/1.5 Georgia,serif}.passport-form{display:grid;gap:12px}.passport-form label{display:grid;gap:6px;font-size:10px;color:#806b5b}.passport-form input{width:100%;border:1px solid rgba(91,65,49,.2);border-radius:12px;background:#fffaf2;color:#43352c;padding:13px 14px;outline:none;transition:border-color .2s,box-shadow .2s}.passport-form input:focus{border-color:#9b5f4c;box-shadow:0 0 0 3px rgba(155,95,76,.12)}.modal-primary,.modal-secondary{width:100%;border-radius:999px;padding:12px 18px;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.modal-primary:hover,.modal-secondary:hover{transform:translateY(-1px)}.modal-primary{margin-top:4px;border:0;background:linear-gradient(135deg,#9e5944,#7f3e31);color:#fff;box-shadow:0 12px 24px rgba(105,51,40,.20)}.modal-primary:disabled{opacity:.55;cursor:wait}.modal-secondary{border:1px solid rgba(91,65,49,.2);background:transparent;color:#624f42}.passport-forgot{justify-self:end;margin-top:-3px;border:0;background:transparent;color:#8d4938;font-size:11px;cursor:pointer}.passport-auth-switch{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(91,65,49,.14)}.passport-auth-switch>span{color:#806b5b;font-size:11px}.passport-auth-switch .modal-secondary{width:auto;min-width:140px}.passport-guest{margin-top:12px}.passport-auth-status{min-height:18px;color:#8d4938;font-size:11px;line-height:1.4}.passport-auth-status.is-success{color:#4b7355}.passport-modal[data-auth-view="signup"] .passport-auth-book{transform:rotate(1.5deg) scale(1.02)}.passport-modal[data-auth-view="confirm"] .passport-auth-book,.passport-modal[data-auth-view="recovery-sent"] .passport-auth-book{animation:none;transform:none}.demo-toast{position:fixed;z-index:300;left:50%;bottom:24px;transform:translate(-50%,12px);padding:10px 14px;border-radius:999px;background:rgba(18,20,19,.9);color:#fff;font-size:11px;opacity:0;pointer-events:none;transition:.25s ease}.demo-toast.is-visible{opacity:1;transform:translate(-50%,0)}@keyframes passport-auth-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}@keyframes passport-light{0%,100%{transform:translateX(-16%)}50%{transform:translateX(16%)}}@keyframes passport-book-breathe{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-6px)}}@media(max-width:700px){.modal-layer{padding:10px}.passport-modal{grid-template-columns:1fr;max-height:94svh}.passport-auth-visual{min-height:150px;padding:20px}.passport-auth-book{width:92px}.passport-auth-book small,.passport-auth-book i{display:none}.passport-auth-visual>p{display:none}.passport-auth-content{padding:28px 22px 24px}.modal-close{right:10px;top:10px}.passport-auth-switch{grid-template-columns:1fr}.passport-auth-switch .modal-secondary{width:100%}}@media(prefers-reduced-motion:reduce){.passport-modal,.passport-auth-book,.passport-auth-visual::after{animation:none!important}}

@media(max-width:820px){
  :root{--safe-x:16px}.topbar{padding-top:max(16px,env(safe-area-inset-top))}.brand__logo{width:50px;height:50px}.brand__wordmark{display:none}.sound-button{width:44px;height:44px}.sound-button__label{display:none}.hero{left:16px;right:16px;top:auto;bottom:max(42px,env(safe-area-inset-bottom));transform:none;width:auto}.hero h1{font-size:clamp(46px,14vw,70px)}.hero__intro{font-size:20px;margin-top:15px}.hero__actions{margin-top:22px}.start-button{min-width:min(270px,80vw);font-size:18px;padding:13px 28px}.cover__veil{background:linear-gradient(180deg,rgba(8,12,12,.3),rgba(8,12,12,.08) 38%,rgba(8,12,12,.7) 82%,rgba(8,12,12,.85))}
  .profile-stage{padding:86px 16px 30px;align-items:center}.profile-card__head h1{font-size:clamp(34px,10vw,50px)}.profile-name-form{display:grid;gap:14px}.profile-primary,.profile-secondary{width:100%}.profile-choice{padding:15px 14px}.profile-choice strong{font-size:18px}.profile-choice small{font-size:11px}.travel-docs{display:block;margin-top:22px}.passport-book{grid-template-columns:36% 64%;min-height:270px}.passport-cover,.passport-pages{min-height:270px}.passport-cover strong{font-size:14px}.passport-emblem{width:44px;height:44px;margin:16px 0;font-size:22px}.passport-pages{grid-template-columns:1fr}.passport-page--visa{display:none}.passport-page{padding:20px 15px}.passport-page h3{font-size:20px;margin:14px 0 16px}.passport-page dl div{grid-template-columns:68px 1fr}.immersion-id-card{margin:18px 7vw 0}.profile-card--documents .immersion-id-card{margin-left:9vw;margin-right:2vw;transform:rotate(1deg)}.docs-hint{text-align:center;font-size:13px}
  .scene-hud{padding-top:max(14px,env(safe-area-inset-top));padding-left:16px;padding-right:16px}.scene-hud__actions{gap:5px}.hud-lang,.hud-sound,.hud-menu{width:36px;height:36px}.scene__picture{inset:-1.5%}.scene__image{width:103%;height:103%}.wake-time{left:18px;bottom:max(28px,env(safe-area-inset-bottom))}.wake-time strong{font-size:30px}
  .phone-stage{padding:70px 14px max(18px,env(safe-area-inset-bottom));align-items:flex-end;justify-content:center}.phone-device{width:min(77vw,318px);max-height:69svh;transform:translateY(18px) rotate(.4deg)}.phone-lock-time{font-size:50px}.phone-message{font-size:12.5px}.phone-memory-link{font-size:11.5px}
  .letter-table{display:block;padding:0}.letter-envelopes{position:absolute;left:12px;right:12px;bottom:max(24px,env(safe-area-inset-bottom));justify-content:center;gap:9px;padding:0}.envelope{width:min(43vw,185px)}.envelope span{font-size:14px}.letter-layer{padding:66px 13px 20px;align-items:end}.letter-sheet{width:100%;max-height:78svh;padding:32px 24px 36px}.letter-sheet h2{font-size:32px}.letter-body{font-size:15px}
  .scene-hotspot{padding:22px}.scene-hotspot--road{bottom:8%}.scene-hotspot--restaurant{right:9%;bottom:23%}.scene-hotspot--door{right:31%;bottom:24%}.scene-hotspot strong{font-size:9px}.memory-time-label,.menu-memory{left:16px;right:16px;bottom:max(28px,env(safe-area-inset-bottom));max-width:none}.menu-memory{font-size:15px}.story-panel{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-height:47svh;padding:17px 17px 16px;border-radius:17px;overflow:auto}.story-panel--advance{padding-right:48px}.story-text{font-size:17px}.language-block{padding:13px 68px 13px 14px}.language-block>strong{font-size:20px}.translation{font-size:13px}.choice-button{flex-basis:100%;font-size:13px}.tap-cue{right:16px;bottom:16px}.object-hotspot--jacket{left:59%;top:43%;width:120px;height:210px}.object-hotspot--jacket span{left:44px;top:76px}.wallet-object{left:44%;top:50%;width:74px;height:45px}.exit-hotspot{right:16px;bottom:max(28px,env(safe-area-inset-bottom))}
  .experience-menu__panel{width:100vw;grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.experience-menu__panel>header{grid-column:1;padding:16px}.experience-menu__panel>nav{grid-column:1;grid-row:2;flex-direction:row;overflow-x:auto;padding:8px 10px;border-right:0;border-bottom:1px solid rgba(82,60,44,.12);gap:4px}.experience-menu__panel>nav button{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:10px 9px}.experience-menu__panel>nav button.is-active{border-left:0;border-bottom-color:#a85c47}.experience-menu__body{grid-column:1;grid-row:3;padding:20px 16px 28px}.experience-menu__panel>footer{grid-column:1;grid-row:4;padding:12px 14px}.menu-section--passport .travel-docs{display:block}.menu-section--passport .passport-book{min-height:265px}.menu-section--passport .passport-cover,.menu-section--passport .passport-pages{min-height:265px}.menu-section--passport .immersion-id-card{margin:16px 6vw 0}.notebook-book{display:block;min-height:0}.notebook-book::before{display:none}.notebook-page{min-height:280px;border-bottom:1px solid rgba(104,77,57,.15)}.menu-paper-copy{padding:22px 20px}.menu-section-head h2{font-size:32px}
}
 .notebook-lived-notes{display:grid;gap:9px;margin-top:22px}.notebook-lived-notes>p{margin:0 0 3px;color:#9f6f5d;font-size:9px;font-weight:800;letter-spacing:.15em}
 .notebook-lived-note{display:grid;gap:5px;padding:13px 15px;border:1px solid rgba(104,77,57,.14);border-radius:13px;background:rgba(245,236,221,.78);box-shadow:0 8px 20px rgba(78,56,39,.06)}
 .notebook-lived-note>small{color:#9a7b66;font:800 8px/1.25 system-ui,sans-serif;letter-spacing:.13em}.notebook-lived-note>strong{font:500 17px/1.2 Georgia,serif;color:#493b31}.notebook-lived-note>p{margin:0;color:#6c5a4d;font:400 12px/1.5 Georgia,serif}
 @media(max-width:820px){.notebook-lived-notes{margin-top:16px}.notebook-lived-note{padding:11px 12px}}
@media(max-width:520px){.passport-book{grid-template-columns:38% 62%}.passport-cover{padding:12px}.passport-cover small{letter-spacing:.12em}.passport-page dl div{display:block}.passport-page dt{margin-bottom:2px}.passport-page dd{font-size:9px}.immersion-id-card dl div{grid-template-columns:68px 1fr}}
@media(prefers-reduced-motion:reduce){.cover__image-inner,.cover__air,.cover__glow,.leaf,.scene::after,.scene[data-mode=wake] .scene__image,.eyelid,.wake-layer,.wake-time,.scene-hotspot span,.object-hotspot span,.world-breath--steam::before,.world-breath--steam::after,.world-breath--door::after,.memory-transition,.memory-transition::before,.memory-transition__wash,.memory-transition__line,.memory-transition__time *{animation:none!important}.wake-layer{background:transparent}.eyelid{display:none}.wake-time{opacity:1;transform:none}}

/* Sequential client response: chosen answer first, context line second. */
.client-detail-line{opacity:0;transform:translateY(5px);animation:client-detail-in .42s 1.18s ease forwards;color:rgba(255,255,255,.88)}
@keyframes client-detail-in{to{opacity:1;transform:none}}

.profile-choice{grid-template-columns:1fr auto}.profile-choice__index{display:none}

/* =========================================================
   SCENE 1 — CANON RECOVERED 07/09/2026
   In-world card, slower pacing, physical documents and richer dialogue.
   ========================================================= */

/* The profile is now filled inside the room, after the two letters. */
.profile-flow__bg{background-image:url("assets/scene1/room-desk-desktop.webp");background-position:center 48%;filter:blur(1.2px) brightness(.78);transform:scale(1.035)}
.profile-flow__veil{background:linear-gradient(90deg,rgba(35,29,23,.58),rgba(35,29,23,.30) 55%,rgba(35,29,23,.48)),radial-gradient(circle at 72% 28%,rgba(224,177,116,.14),transparent 30%)}
.profile-stage{justify-items:start}
.profile-card{position:relative;width:min(720px,100%);padding:clamp(28px,4vw,48px);border:1px solid rgba(98,74,53,.22);border-radius:5px;background:linear-gradient(145deg,rgba(250,243,231,.97),rgba(231,217,197,.97));color:#493c32;box-shadow:0 34px 90px rgba(0,0,0,.42);transform:rotate(-.18deg)}
.profile-card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(rgba(119,91,69,.06) 1px,transparent 1px);background-size:100% 26px;mix-blend-mode:multiply}
.profile-card__head,.profile-card__body,.profile-back,.profile-mae-note{position:relative;z-index:1}
.profile-card__head p{color:#9a5e49}.profile-card__head h1{color:#47382e;font-size:clamp(34px,4.7vw,58px)}
.profile-card__text{color:#746052;font-size:clamp(16px,1.45vw,20px)}
.profile-choice{border:1px solid rgba(91,66,47,.17);border-radius:9px;background:rgba(255,252,246,.52);backdrop-filter:none;color:#4a3c32;padding:15px 17px}
.profile-choice:hover,.profile-choice.is-selected{transform:translateX(3px);border-color:rgba(159,88,65,.46);background:rgba(177,102,74,.08)}
.profile-choice strong{color:#45372d}.profile-choice small{color:#8b7565}.profile-choice__arrow{color:#9b6b54}.profile-back{color:#806a5a}
.profile-name-form input{color:#493a30;border-bottom-color:rgba(84,62,47,.32)}.profile-name-form input::placeholder{color:rgba(73,58,48,.38)}
.profile-primary{background:#8f4d3b;color:#fff;border-color:#8f4d3b}.profile-secondary{color:#5f4a3d;border-color:rgba(91,65,49,.22);background:rgba(255,255,255,.28)}
.profile-mae-note{max-width:590px;margin:-4px 0 26px;padding:13px 15px;border-left:2px solid #a15d48;background:rgba(255,255,255,.34);font:400 14px/1.55 Georgia,serif;color:#5e4a3d}
.profile-mae-note span{display:block;margin-bottom:4px;color:#995945;font:800 9px/1 system-ui;letter-spacing:.14em;text-transform:uppercase}.profile-mae-note p{margin:0}
.profile-card--documents{width:min(980px,100%)}
.travel-docs--traveler{grid-template-columns:minmax(470px,1fr);max-width:760px}.travel-docs--traveler .passport-book{max-width:760px}

/* Phone lock screen: DOBOX + Mae notifications, both visible in-world. */
.phone-notification-stack{position:absolute;left:12px;right:12px;bottom:9%;display:grid;gap:8px}
.phone-notification-stack .phone-notification{position:relative;left:auto;right:auto;bottom:auto;width:100%}
.phone-notification--mae{cursor:default;opacity:.94;background:rgba(239,236,229,.82)}

/* Long Mae thread after the flashback. */
.phone-thread--long{gap:7px;padding-bottom:62px;overflow:auto;max-height:calc(100% - 64px);scrollbar-width:none}
.phone-thread--long::-webkit-scrollbar{display:none}
.phone-thread--long .phone-message{font-size:11.5px;line-height:1.38;padding:8px 9px}
.phone-thread--long .phone-message--1{animation-delay:.55s}.phone-thread--long .phone-message--2{animation-delay:1.8s}.phone-thread--long .phone-message--3{animation-delay:3.0s}.phone-thread--long .phone-message--4{animation-delay:4.3s}.phone-thread--long .phone-message--5{animation-delay:6.3s}.phone-thread--long .phone-message--6{animation-delay:8.6s}
.phone-memory-link--gift{animation-delay:10.0s}

/* Letter is still a physical paper object, not a full application page. */
.letter-sheet{border-radius:2px;background:linear-gradient(145deg,#fbf4e9,#eadcc9);box-shadow:0 35px 110px rgba(0,0,0,.46),inset 0 0 0 1px rgba(103,75,55,.06)}
.letter-sheet::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.3;background-image:linear-gradient(rgba(125,96,72,.05) 1px,transparent 1px);background-size:100% 29px}
.letter-kicker,.letter-sheet h2,.letter-body,.letter-signature{position:relative;z-index:1}
.letter-signature{white-space:pre-line;line-height:1.45}
@media(min-width:900px){.letter-sheet{width:min(900px,88vw)}.letter-body{column-count:2;column-gap:42px}.letter-body p{break-inside:avoid}}

/* Quiet room after letters. */
.room-time-note{position:absolute;left:var(--safe-x);bottom:max(38px,env(safe-area-inset-bottom));display:grid;gap:4px;padding:11px 13px;border-left:1px solid rgba(255,244,224,.46);background:linear-gradient(90deg,rgba(18,16,14,.36),transparent);text-shadow:0 2px 14px rgba(0,0,0,.35);animation:room-note-in .8s 1.2s both}
.room-time-note strong{font:500 18px/1 Georgia,serif}.room-time-note span{color:rgba(255,255,255,.66);font-size:9px;letter-spacing:.16em;text-transform:uppercase}@keyframes room-note-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.world-breath--curtain::after{content:"";position:absolute;right:8%;top:8%;width:20%;height:62%;background:linear-gradient(90deg,transparent,rgba(255,236,210,.08),transparent);filter:blur(9px);animation:curtain-light 5.6s ease-in-out infinite alternate}@keyframes curtain-light{to{transform:translateX(8px);opacity:.55}}

.street-presence-note{position:absolute;left:var(--safe-x);bottom:max(42px,env(safe-area-inset-bottom));padding:10px 13px;background:rgba(18,18,17,.35);backdrop-filter:blur(8px);font:400 15px/1.4 Georgia,serif;color:rgba(255,255,255,.83);animation:memory-note-in .6s 1.1s both}

/* Dialogue sequence: lines appear with actual pauses instead of slide changes. */
.dialogue-sequence{position:relative;display:grid;gap:12px}.dialogue-sequence__line{opacity:0;transform:translateY(7px);animation:dialogue-seq-in .45s ease forwards;animation-delay:var(--delay)}
.dialogue-sequence__line span{display:block;margin-bottom:4px;color:#dda38b;font:800 9px/1 system-ui;letter-spacing:.12em;text-transform:uppercase}.dialogue-sequence__line p{margin:0;font:400 clamp(17px,1.2vw,21px)/1.45 Georgia,serif}.dialogue-sequence__line p[lang=ko]{font-family:system-ui,sans-serif;font-weight:600;font-size:22px}
.dialogue-sequence__audio{position:absolute;right:0;top:0}@keyframes dialogue-seq-in{to{opacity:1;transform:none}}
.client-echo{margin-bottom:14px!important;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.78)}

/* Passport waiting state before the card is filled. */
.passport-waiting{margin-top:24px;display:flex;align-items:center;gap:24px;max-width:650px}.passport-waiting__book{width:190px;aspect-ratio:.72;border-radius:12px 5px 5px 12px;background:linear-gradient(145deg,#3b2821,#261915);color:#d4b58b;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 24px 45px rgba(0,0,0,.18);border:1px solid rgba(212,181,139,.17)}.passport-waiting__book span{font-size:9px;letter-spacing:.18em}.passport-waiting__book strong{margin-top:28px;font:600 19px/1 Georgia,serif;letter-spacing:.14em}.passport-waiting__book small{margin-top:12px;font-size:7px;letter-spacing:.18em}.passport-waiting>p{max-width:340px;color:#7b6758;font:400 15px/1.55 Georgia,serif}

/* Slightly more tactile menu — travel folio, not settings dashboard. */
.experience-menu__panel{background:linear-gradient(145deg,#f2e8d8,#e5d5bf)}
.experience-menu__panel>nav{background:rgba(105,80,58,.045)}.experience-menu__panel>nav button{font-family:Georgia,serif;font-size:13px}.experience-menu__panel>nav button.is-active{background:rgba(164,91,67,.07)}

/* Longer memory transition = recollection, not a slide change. */
.memory-transition{animation-duration:2.5s}.memory-transition::before,.memory-transition__wash{animation-duration:2.5s}.memory-transition__line{animation-duration:2.25s}.memory-transition__time strong{animation-delay:1.15s}

@media(max-width:820px){
  .profile-flow__bg{background-image:url("assets/scene1/room-desk-mobile.webp");background-position:center 50%}
  .profile-stage{justify-items:center;padding-top:78px}.profile-card{padding:26px 20px;max-height:86svh;overflow:auto}.profile-card__head h1{font-size:clamp(30px,9vw,45px)}
  .profile-mae-note{font-size:13px;margin-bottom:18px}
  .phone-thread--long .phone-message{font-size:10.7px}.phone-thread--long{padding-bottom:58px}
  .letter-body{column-count:1}.letter-sheet{max-height:80svh}.letter-signature{font-size:16px}
  .street-presence-note{left:16px;right:16px;bottom:max(26px,env(safe-area-inset-bottom));font-size:14px}
  .dialogue-sequence__line p{font-size:16px}.passport-waiting{display:block}.passport-waiting__book{width:150px;margin:0 auto 20px}.passport-waiting>p{text-align:center;margin:0 auto}
}

.client-practice{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10)}.client-practice>span{display:block;margin-bottom:7px;color:#dca28a;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.scene[data-mode=afterletters] .scene__image{animation:after-letters-look 5.8s ease-in-out both}@keyframes after-letters-look{0%{transform:scale(1.035) translateX(0)}55%{transform:scale(1.045) translateX(-.5%)}100%{transform:scale(1.04) translateX(.35%)}}
.scene[data-mode=card] .scene__image{animation:desk-glance .9s ease both}@keyframes desk-glance{from{transform:scale(1.05) translateY(-1.5%);filter:brightness(.94)}to{transform:scale(1.03) translateY(0);filter:brightness(1)}}

/* V5 — Mae integration, language audio affordances, responsive hardening */
.mae-avatar{display:block;object-fit:cover;object-position:50% 22%;border-radius:50%;background:#efe2d5;border:1px solid rgba(255,255,255,.55);box-shadow:0 4px 12px rgba(0,0,0,.18);flex:0 0 auto}
.mae-avatar--notification{width:34px;height:34px;grid-column:1;grid-row:1/3;align-self:center}
.phone-notification--mae{grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center}
.phone-notification--mae .phone-notification__app,.phone-notification--mae strong{grid-column:2;min-width:0;overflow-wrap:anywhere}
.phone-thread-head{grid-template-columns:22px 36px minmax(0,1fr);gap:7px}
.mae-avatar--header{width:36px;height:36px}
.phone-thread-head>div{min-width:0}.phone-thread-head strong,.phone-thread-head small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phone-thread{min-width:0}.phone-message-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:end;gap:7px;min-width:0}.phone-message-row+.phone-message-row{margin-top:-2px}
.mae-avatar--message{width:28px;height:28px;margin-bottom:2px}.mae-avatar-spacer{width:28px}
.phone-message{max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:normal}
.phone-thread--long .phone-message-row{grid-template-columns:24px minmax(0,1fr);gap:6px}.phone-thread--long .mae-avatar--message,.phone-thread--long .mae-avatar-spacer{width:24px;height:24px}

.mae-guide-overlay{position:absolute;left:clamp(26px,5vw,76px);bottom:clamp(42px,7vh,96px);z-index:7;width:clamp(122px,11vw,172px);pointer-events:none;opacity:0;transform:translateY(10px);animation:mae-guide-in .55s 1s ease forwards;filter:drop-shadow(0 20px 28px rgba(0,0,0,.26))}
.mae-guide-overlay__portrait{height:clamp(165px,23vh,245px);overflow:hidden;border-radius:68px 68px 24px 24px;background:linear-gradient(180deg,rgba(249,239,226,.88),rgba(232,210,186,.72));border:1px solid rgba(255,255,255,.42)}
.mae-guide-overlay__portrait img{width:100%;height:150%;object-fit:cover;object-position:50% 4%;display:block}
.mae-guide-overlay__label{width:max-content;max-width:100%;margin:-10px auto 0;padding:8px 12px;border-radius:999px;background:rgba(26,26,24,.76);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);text-align:center;color:#fff}.mae-guide-overlay__label strong{display:block;font:700 11px/1 Georgia,serif}.mae-guide-overlay__label span{display:block;margin-top:2px;font-size:7px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.66)}
@keyframes mae-guide-in{to{opacity:.95;transform:none}}

.profile-mae-note{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:13px;padding:10px 15px 10px 9px;overflow:hidden}
.profile-mae-note__portrait{width:54px;height:66px;overflow:hidden;border-radius:28px 28px 14px 14px;background:#ead8c6;border:1px solid rgba(117,79,60,.16)}
.profile-mae-note__portrait img{display:block;width:100%;height:145%;object-fit:cover;object-position:50% 3%}
.profile-mae-note>div:last-child{min-width:0}.profile-mae-note p{overflow-wrap:anywhere}
.mae-aside{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:9px 13px 9px 8px;overflow:hidden}
.mae-aside__portrait{width:48px;height:58px;overflow:hidden;border-radius:26px 26px 12px 12px;background:rgba(237,220,202,.9);border:1px solid rgba(255,255,255,.18)}
.mae-aside__portrait img{display:block;width:100%;height:145%;object-fit:cover;object-position:50% 3%}.mae-aside p{margin:0;overflow-wrap:anywhere}.mae-aside>div:last-child{min-width:0}

.story-panel,.story-text,.story-actions,.choice-button,.language-block,.language-block>*{min-width:0}.story-panel{overflow-wrap:anywhere}.story-actions{align-items:stretch}.choice-button{max-width:100%;overflow-wrap:anywhere}.language-block{max-width:100%}.romanization,.translation{overflow-wrap:anywhere}.client-practice{min-width:0}

.experience-menu__panel{overflow:hidden}.experience-menu__body{min-width:0;min-height:0;overscroll-behavior:contain}.menu-section{width:100%;min-width:0}.menu-section-head h2,.menu-section-head>span,.menu-paper-copy,.notebook-expression{overflow-wrap:anywhere}.experience-menu__panel>nav button{min-width:0}.menu-paper-copy,.notebook-book,.passport-waiting{max-width:100%}

@media(max-width:980px){.mae-guide-overlay{display:none}}
@media(max-width:820px){
  .phone-device{width:min(82vw,318px)}
  .phone-thread-head{grid-template-columns:18px 32px minmax(0,1fr)}.mae-avatar--header{width:32px;height:32px}.phone-message-row{grid-template-columns:24px minmax(0,1fr);gap:6px}.mae-avatar--message,.mae-avatar-spacer{width:24px;height:24px}
  .profile-mae-note{grid-template-columns:46px minmax(0,1fr);gap:10px}.profile-mae-note__portrait{width:46px;height:56px}
  .mae-aside{grid-template-columns:42px minmax(0,1fr);gap:9px}.mae-aside__portrait{width:42px;height:50px}
  .story-panel{max-height:min(56svh,520px);overscroll-behavior:contain;scrollbar-width:thin}.story-actions{display:grid;grid-template-columns:1fr}.choice-button{width:100%;flex:none}
  .experience-menu__panel{height:100dvh;grid-template-rows:auto auto minmax(0,1fr) auto}
  .experience-menu__panel>nav{display:grid;grid-template-columns:1fr 1fr;overflow:visible;padding:8px 10px;gap:6px;background:rgba(105,80,58,.055)}
  .experience-menu__panel>nav button{white-space:normal;border:1px solid rgba(82,60,44,.10);border-radius:10px;padding:9px 10px;min-height:42px;line-height:1.2;background:rgba(255,255,255,.14)}
  .experience-menu__panel>nav button.is-active{border:1px solid rgba(168,92,71,.24);background:rgba(164,91,67,.09);box-shadow:inset 0 -2px 0 #a85c47}
  .experience-menu__body{padding:18px 14px 24px;background:rgba(255,250,242,.18)}
  .experience-menu__panel>footer{background:rgba(239,226,207,.96);padding:max(10px,env(safe-area-inset-bottom)) 14px 12px;gap:16px}.experience-menu__panel>footer button{min-height:34px;text-align:left}.experience-menu__panel>footer button:last-child{text-align:right}
  .menu-section-head h2{font-size:clamp(28px,8.5vw,34px)}.menu-paper-copy{margin-top:20px}.notebook-page{padding:24px 20px}.notebook-expression{padding-right:40px}
}
@media(max-width:520px){
  .phone-device{width:min(88vw,312px)}
  .phone-notification{padding:11px 12px}.phone-notification strong{font-size:13.5px}.phone-notification--mae{grid-template-columns:30px minmax(0,1fr)}.mae-avatar--notification{width:30px;height:30px}
  .story-panel{left:9px;right:9px;padding:15px 14px 14px}.story-panel--advance{padding-right:42px}.story-text{font-size:16px}.story-text h1{font-size:clamp(29px,9vw,38px)}
  .language-block{padding:13px 14px}.language-float-tools{position:static;justify-content:flex-end;margin-top:7px}.language-tools{flex-wrap:wrap}.language-block>strong{font-size:19px}
  .experience-menu__panel>header{padding:12px 14px}.experience-menu__panel>nav{padding:7px 8px;gap:5px}.experience-menu__panel>nav button{font-size:11px;padding:8px 8px}.experience-menu__body{padding:16px 12px 22px}.menu-paper-copy{padding:18px 16px}.notebook-page{padding:21px 16px}.menu-section--passport .immersion-id-card{margin-left:2vw;margin-right:2vw}
}

/* SCENE 2 — cadeau : 4 branches, mobile-first, same engine */
.scene[data-mode^="scene2"] .scene__image-shade{background:linear-gradient(180deg,rgba(8,9,8,.18),rgba(8,9,8,.02) 42%,rgba(8,9,8,.40) 100%)}
.scene2-selector{position:absolute;inset:0;padding:max(92px,calc(env(safe-area-inset-top) + 76px)) var(--safe-x) max(28px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(280px,.72fr) minmax(520px,1.28fr);gap:clamp(24px,4vw,72px);align-items:center;pointer-events:none;background:linear-gradient(90deg,rgba(10,12,11,.63),rgba(10,12,11,.18) 48%,rgba(10,12,11,.05))}
.scene2-selector>*{pointer-events:auto}.scene2-selector__copy{max-width:520px;text-shadow:0 4px 26px rgba(0,0,0,.42)}.scene2-selector__copy>p{margin:0 0 12px;color:#e0a084;font-size:10px;font-weight:800;letter-spacing:.18em}.scene2-selector__copy h1{margin:0;font:500 clamp(42px,5vw,68px)/.98 Georgia,serif;letter-spacing:-.035em}.scene2-selector__copy span{display:block;margin-top:16px;max-width:470px;color:rgba(255,250,241,.82);font:400 clamp(17px,1.4vw,21px)/1.45 Georgia,serif}
.scene2-branch-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:700px;justify-self:end;width:100%}.scene2-branch-card{position:relative;min-height:190px;overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:#29241f;padding:0;cursor:pointer;box-shadow:0 16px 38px rgba(0,0,0,.20);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.scene2-branch-card:hover{transform:translateY(-3px);border-color:rgba(255,218,186,.55);box-shadow:0 20px 44px rgba(0,0,0,.28)}.scene2-branch-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}.scene2-branch-card:hover img{transform:scale(1.035)}.scene2-branch-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,9,.04),rgba(10,10,9,.10) 45%,rgba(10,10,9,.76))}.scene2-branch-card strong{position:absolute;left:15px;right:15px;bottom:13px;display:flex;align-items:center;gap:8px;color:#fff;font:600 19px/1.15 Georgia,serif;text-align:left;text-shadow:0 2px 12px rgba(0,0,0,.6)}.scene2-branch-card strong i{font-style:normal;font-size:18px}
.scene2-place-label{position:absolute;left:var(--safe-x);top:max(92px,calc(env(safe-area-inset-top) + 72px));z-index:10;display:grid;gap:5px;padding:12px 15px;border-left:2px solid rgba(231,164,133,.78);background:linear-gradient(90deg,rgba(12,13,12,.58),rgba(12,13,12,.08));text-shadow:0 2px 12px rgba(0,0,0,.45)}.scene2-place-label span{font-size:9px;font-weight:800;letter-spacing:.16em;color:#e4ab92}.scene2-place-label strong{font:500 28px/1 Georgia,serif}
.mae-scene-note{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:10px;margin-top:12px;padding:10px 12px 10px 9px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(12,13,12,.26)}.mae-scene-note img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 22%;background:#ead8c8;border:1px solid rgba(255,255,255,.35)}.mae-scene-note>div{min-width:0}.mae-scene-note strong{display:block;color:#e2a58c;font-size:10px;letter-spacing:.10em}.mae-scene-note p{margin:4px 0 0;color:rgba(255,255,255,.80);font:400 13px/1.43 Georgia,serif;overflow-wrap:anywhere}
.scene[data-mode="scene2-entry"] .mae-scene-note{position:absolute;left:var(--safe-x);bottom:max(36px,env(safe-area-inset-bottom));width:min(520px,44vw);z-index:12;background:rgba(12,13,12,.52);backdrop-filter:blur(12px);box-shadow:0 15px 34px rgba(0,0,0,.22)}
.scene[data-mode="scene2-entry"] .scene-hotspot--door{right:16%;bottom:24%}
.gift-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px}.gift-option{display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:126px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.045);padding:14px;text-align:left;cursor:pointer;transition:.2s ease}.gift-option:hover{background:rgba(255,255,255,.10);border-color:rgba(233,184,156,.38);transform:translateY(-2px)}.gift-option span{display:block;min-width:0}.gift-option strong{display:block;font:600 17px/1.2 Georgia,serif}.gift-option small{display:block;margin-top:6px;color:rgba(255,255,255,.62);font-size:11px;line-height:1.38}.gift-option b{color:#e0a184;font-size:13px;font-weight:800}.gift-look{grid-column:1/-1;border:0;background:transparent;color:rgba(255,255,255,.65);padding:7px 3px;text-align:left;cursor:pointer;font-size:11px}.gift-look:hover{color:#fff}
.gift-selected-chip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid rgba(227,176,145,.20);border-radius:12px;background:rgba(177,93,65,.10)}.gift-selected-chip span{color:#dba188;font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.gift-selected-chip strong{min-width:0;font:500 15px/1.2 Georgia,serif;overflow-wrap:anywhere}.gift-selected-chip b{font-size:12px;color:#f1d0bd;white-space:nowrap}
.choice-button--language{display:grid;gap:4px}.choice-button--language strong{font:600 17px/1.25 system-ui}.choice-button--language small{color:rgba(255,255,255,.60);font-size:10px;line-height:1.35}.dialogue-followup{display:grid;gap:5px;margin-top:12px;padding:12px 14px;border-left:1px solid rgba(224,160,132,.55);background:rgba(10,11,10,.20)}.dialogue-followup span{color:#dfa48b;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dialogue-followup strong{font:600 19px/1.25 system-ui;margin-top:2px}.dialogue-followup small{color:rgba(255,255,255,.65);font-size:10px;line-height:1.35}.dialogue-followup strong+small+strong{margin-top:8px}
.payment-card{display:grid;gap:12px;margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(8,9,8,.25)}.payment-card .gift-selected-chip{margin-top:0}.payment-total{display:flex;align-items:center;justify-content:space-between;padding:4px 2px}.payment-total span{color:rgba(255,255,255,.58);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.payment-total strong{font:600 24px/1 Georgia,serif}.phone-pay-visual{position:relative;height:38px;display:flex;align-items:center;justify-content:center;gap:7px;color:rgba(255,255,255,.66)}.phone-pay-visual span{font-size:25px}.phone-pay-visual i{display:block;width:28px;height:18px;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:rgba(255,255,255,.04)}.phone-pay-visual b{font-size:8px;letter-spacing:.14em;color:#dca28a}.phone-pay-button{width:100%;border:1px solid rgba(245,213,193,.38);border-radius:14px;background:linear-gradient(180deg,rgba(172,87,65,.86),rgba(126,60,48,.86));padding:13px 16px;text-align:center;font-weight:750;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.18)}.phone-pay-button:hover{filter:brightness(1.08)}
.payment-success{display:grid;justify-items:center;text-align:center;gap:5px;padding:16px 8px}.payment-success__check{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(98,135,91,.28);border:1px solid rgba(205,236,198,.36);font-size:24px}.payment-success strong{font:700 24px/1.2 system-ui}.payment-success p{margin:0;color:rgba(255,255,255,.70);font:400 15px/1.4 Georgia,serif}.payment-success b{margin-top:4px;color:#e6b29b;font-size:15px}
.scene2-end-mark{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.11)}.scene2-end-mark span{color:#dfa48b;font-size:10px;font-weight:800;letter-spacing:.12em}.scene2-end-mark strong{font:500 14px/1.2 Georgia,serif;color:rgba(255,255,255,.72)}
.scene[data-mode="scene2-exit"] .story-panel{background:linear-gradient(135deg,rgba(14,15,14,.78),rgba(13,14,13,.56))}.scene[data-mode="scene2-pay"] .story-panel{max-width:720px}

@media(max-width:980px){
  .scene2-selector{grid-template-columns:1fr;align-content:end;gap:18px;padding-top:88px;background:linear-gradient(180deg,rgba(10,12,11,.18),rgba(10,12,11,.18) 35%,rgba(10,12,11,.78) 100%)}.scene2-selector__copy{max-width:640px}.scene2-selector__copy h1{font-size:clamp(34px,7vw,52px)}.scene2-selector__copy span{font-size:16px}.scene2-branch-grid{justify-self:stretch;max-width:none}.scene2-branch-card{min-height:150px}.scene[data-mode="scene2-entry"] .mae-scene-note{width:min(520px,58vw)}.gift-options{grid-template-columns:1fr 1fr}.gift-option:last-of-type:nth-child(odd){grid-column:1/-1}
}
@media(max-width:820px){
  .scene2-selector{padding:82px 12px max(12px,env(safe-area-inset-bottom));gap:12px}.scene2-selector__copy{padding:0 4px}.scene2-selector__copy>p{font-size:8px;margin-bottom:7px}.scene2-selector__copy h1{font-size:34px}.scene2-selector__copy span{margin-top:8px;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene2-branch-grid{gap:8px}.scene2-branch-card{min-height:122px;border-radius:14px}.scene2-branch-card strong{left:11px;right:11px;bottom:10px;font-size:15px}.scene2-branch-card strong i{font-size:15px}.scene2-place-label{left:16px;top:max(72px,calc(env(safe-area-inset-top) + 60px));padding:9px 11px}.scene2-place-label strong{font-size:22px}.scene[data-mode="scene2-entry"] .mae-scene-note{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto}.scene[data-mode="scene2-entry"] .scene-hotspot--door{right:26%;bottom:35%}.gift-options{grid-template-columns:1fr 1fr;gap:7px}.gift-option{min-height:106px;padding:11px}.gift-option strong{font-size:15px}.gift-option small{font-size:10px}.gift-look{padding-bottom:2px}.gift-selected-chip{grid-template-columns:1fr auto}.gift-selected-chip span{grid-column:1/-1}.gift-selected-chip strong{font-size:14px}.dialogue-followup strong{font-size:17px}.scene2-end-mark{align-items:flex-start}.scene2-end-mark strong{text-align:right}
}
@media(max-width:520px){
  .scene2-selector{padding-top:74px}.scene2-selector__copy h1{font-size:30px}.scene2-selector__copy span{font-size:13px}.scene2-branch-card{min-height:108px}.scene2-branch-card strong{font-size:14px}.gift-options{grid-template-columns:1fr}.gift-option:last-of-type:nth-child(odd){grid-column:auto}.gift-option{min-height:0;display:grid;grid-template-columns:1fr auto;align-items:end}.gift-option b{align-self:end}.mae-scene-note{grid-template-columns:36px minmax(0,1fr)}.mae-scene-note img{width:36px;height:36px}.mae-scene-note p{font-size:12px}.scene[data-mode="scene2-entry"] .scene-hotspot--door{right:20%;bottom:42%}.payment-total strong{font-size:21px}
}


/* Scene 2 premium refinement — 2026-09-07 */
.scene2-branch-card__no{position:absolute;left:14px;top:13px;z-index:2;color:rgba(255,255,255,.72);font:700 9px/1 system-ui;letter-spacing:.18em;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.scene2-branch-card strong{gap:0}.scene2-branch-card strong i{display:none}
.scene2-observation{margin:10px 0 2px;padding:12px 14px;border-left:1px solid rgba(225,163,134,.52);background:rgba(9,10,9,.20)}
.scene2-observation span{display:block;color:#dfa48b;font-size:8px;font-weight:800;letter-spacing:.14em}
.scene2-observation p{margin:6px 0 0;color:rgba(255,255,255,.76);font:400 13px/1.45 Georgia,serif}
.gift-look{border-top:1px solid rgba(255,255,255,.08);margin-top:2px;padding-top:10px;letter-spacing:.02em}
.phone-pay-visual{gap:10px}.phone-pay-device{display:block;width:20px;height:31px;border:1px solid rgba(255,255,255,.56);border-radius:5px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}
.phone-pay-device::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:1px;transform:translateX(-50%);background:rgba(255,255,255,.52);border-radius:2px}
.korean-follow{position:relative;display:inline-block}
.language-block.is-speaking .korean-follow::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;border-radius:2px;background:linear-gradient(90deg,#e1a082,#f0c6b3);transform:scaleX(0);transform-origin:left;animation:korean-follow var(--speech-duration) linear forwards;box-shadow:0 0 10px rgba(224,160,130,.28)}
@keyframes korean-follow{to{transform:scaleX(1)}}
.speech-feedback{grid-column:1/-1;margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.04);display:grid;gap:4px}
.speech-feedback strong{font:600 12px/1.3 system-ui!important;color:#f4e8df}
.speech-feedback span{font:400 11px/1.4 Georgia,serif;color:rgba(255,255,255,.72)}
.speech-feedback small{font-size:9px;color:rgba(255,255,255,.46);overflow-wrap:anywhere}
.speech-feedback--listening{border-color:rgba(223,164,139,.30);background:rgba(223,164,139,.07)}
.speech-feedback--retry{border-color:rgba(196,132,112,.26);background:rgba(164,93,72,.07)}
.notebook-expression__tools{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:5px}
.notebook-expression__tools button{position:static!important;transform:none!important;width:28px!important;height:28px!important;border-radius:50%;display:grid!important;place-items:center!important}
.notebook-references{margin-top:22px;display:grid;gap:10px}
.notebook-references>p{margin:0 0 2px;color:#9f6f5d;font-size:9px;font-weight:800;letter-spacing:.15em}
.real-reference-card{border:1px solid rgba(93,67,49,.13);background:rgba(255,252,246,.46);padding:15px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(81,57,39,.045)}
.real-reference-card>span{display:block;color:#a0614d;font-size:8px;font-weight:800;letter-spacing:.14em}
.real-reference-card h4{margin:6px 0 7px;color:#3f332b;font:600 17px/1.2 Georgia,serif}
.real-reference-card p{margin:0;color:#66584d;font:400 12.5px/1.5 Georgia,serif}
.real-reference-card a{display:inline-block;margin-top:9px;color:#8d5946;font-size:10px;text-decoration:none;border-bottom:1px solid rgba(141,89,70,.26)}
.real-reference-card a:hover{border-bottom-color:#8d5946}


.method-sources{margin-top:24px;display:grid;gap:10px}
.method-sources h3{margin:0 0 3px;color:#463930;font:600 18px/1.2 Georgia,serif}
.method-sources>small{display:block;margin-top:5px;color:#827164;font:400 10px/1.5 system-ui}
@media(max-width:820px){.scene2-branch-card__no{left:11px;top:10px}.notebook-references{margin-top:16px}.real-reference-card{padding:13px 14px}.speech-feedback{padding:9px 10px}}
.notebook-expression .speech-feedback{margin-top:8px;background:rgba(95,70,54,.045);border-color:rgba(95,70,54,.12)}
.notebook-expression .speech-feedback strong{color:#4a3b31!important}.notebook-expression .speech-feedback span{color:#6c5b4f}.notebook-expression .speech-feedback small{color:#917c6d}
/* Korean audio-follow: the Hangul itself is progressively highlighted, not gamified */
.language-block.is-speaking .korean-follow{background:linear-gradient(90deg,#edb59d 0 50%,rgba(255,255,255,.96) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:korean-text-follow var(--speech-duration) linear forwards}
.language-block.is-speaking .korean-follow::after{display:none}
@keyframes korean-text-follow{to{background-position:0 0}}


/* Premium method disclosure + itinerary */
.method-note{margin:1.15rem 0 1.35rem;padding:1rem 1.05rem;border:1px solid rgba(66,55,43,.14);border-radius:16px;background:rgba(255,252,245,.72);box-shadow:0 10px 30px rgba(50,39,27,.05)}
.method-note>span{display:block;font-size:.68rem;letter-spacing:.16em;font-weight:700;opacity:.58;margin-bottom:.35rem}.method-note h3{margin:.05rem 0 .55rem;font-family:var(--font-serif,Georgia,serif);font-size:1.08rem}.method-note p{margin:.45rem 0;line-height:1.62}.method-note small{display:block;margin-top:.65rem;opacity:.62}
.itinerary-intro{max-width:620px;margin:.25rem 0 1.1rem;line-height:1.6;opacity:.76}.itinerary-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.itinerary-step{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.78rem .85rem;border-radius:14px;border:1px solid rgba(70,58,44,.10);background:rgba(255,255,255,.38)}.itinerary-step__num{font-size:.69rem;letter-spacing:.12em;opacity:.55}.itinerary-step div{display:grid;grid-template-columns:60px 1fr;column-gap:.55rem;align-items:baseline}.itinerary-step div b{font-size:.72rem;letter-spacing:.06em;opacity:.58}.itinerary-step div strong{font-size:.93rem;font-weight:650}.itinerary-step div small{grid-column:2;display:block;margin-top:.18rem;font-size:.73rem;opacity:.62}.itinerary-step>i{font-style:normal;font-size:.62rem;letter-spacing:.1em;font-weight:700;opacity:.6}.itinerary-step.is-current{background:rgba(168,124,73,.10);border-color:rgba(139,94,47,.22)}.itinerary-step.is-current div strong{font-weight:760}.itinerary-step.is-future{opacity:.48}.itinerary-step.is-done{opacity:.72}
@media(max-width:720px){.itinerary-step{grid-template-columns:32px minmax(0,1fr) auto;padding:.72rem .7rem;gap:.55rem}.itinerary-step div{grid-template-columns:52px 1fr}.itinerary-step div strong{font-size:.88rem}.method-note{padding:.9rem}.experience-menu__panel nav{overflow-x:auto;scrollbar-width:none}.experience-menu__panel nav::-webkit-scrollbar{display:none}}


/* Scene 2 — final audio pass: pronunciation remains immersive, never scored like a game. */
.choice-language-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;flex:1 1 300px;min-width:0}
.choice-language-row .choice-button--language{width:100%;height:100%;padding-right:15px;flex:none}
.choice-button--language .korean-follow{display:block;width:max-content;max-width:100%}
.choice-language-actions{display:flex;flex-direction:column;gap:6px;justify-content:center}
.choice-language-actions button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.05);cursor:pointer}
.choice-language-actions .icon-speaker,.choice-language-actions .icon-mic{width:15px;height:15px}
.choice-language-row.is-speaking .korean-follow{
  background:linear-gradient(90deg,#edb59d 0 50%,rgba(255,255,255,.96) 50% 100%);
  background-size:200% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:korean-text-follow var(--speech-duration) linear forwards
}
.choice-language-row .speech-feedback{grid-column:1/-1}
.payment-thanks-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.payment-thanks-pair>div>span{display:block;margin:0 0 5px;color:#dca28a;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.payment-thanks-pair .language-block{margin-top:0}
.payment-farewell{margin-top:12px;padding:11px 13px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.035)}
.payment-farewell strong{display:block;font:500 18px/1.25 system-ui,sans-serif}
.payment-farewell small{display:block;margin-top:4px;color:rgba(255,255,255,.66)}
@media(max-width:620px){
  .payment-thanks-pair{grid-template-columns:1fr}
  .choice-language-row{grid-template-columns:minmax(0,1fr) 34px;gap:7px;flex-basis:100%}
  .choice-language-actions button{width:32px;height:32px}
}

/* Final pass: persistent documents live in the menu, never as decorative scene overlays. */
.menu-edit-link--primary{display:inline-flex!important;align-items:center;justify-content:center;margin-top:18px;padding:11px 15px!important;border:1px solid rgba(151,88,66,.28)!important;border-radius:999px;background:rgba(166,92,70,.08)!important;color:#6d4032!important;font-weight:800!important}

/* =========================================================
   BUILD 2026.09.07 · S1–S3 RC1
   Deployment visibility + Scene 3
   ========================================================= */

/* Kill legacy floating course-note assets from earlier builds. Card/notebook live in the menu. */
#scene .sticky-note,#scene .floating-note,#scene .course-note,#scene .study-note,#scene .korean-note,#scene .notes-de-cours{display:none!important}

/* Audio must look actionable, not hidden behind unlabeled icon circles. */
.audio-chip--text,.mic-chip--text,.choice-language-actions button{width:auto!important;min-width:78px!important;height:34px!important;padding:0 11px!important;border-radius:999px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:750;letter-spacing:.02em;white-space:nowrap}
.audio-chip--text>span:last-child,.mic-chip--text>span:last-child,.choice-language-actions button>span:last-child{display:inline!important}
.language-float-tools{display:flex!important;gap:7px;right:10px!important;top:10px!important;transform:none!important;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.language-block{padding-right:102px!important}
.choice-language-actions{display:flex;flex-direction:row;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}
.choice-language-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important}

.build-stamp{align-self:center;color:rgba(88,69,55,.52);font-size:8px;letter-spacing:.12em;white-space:nowrap}

/* Scene 3 physical gift */
.scene3-gift-object{position:absolute;z-index:9;margin:0;pointer-events:none;filter:drop-shadow(0 20px 28px rgba(0,0,0,.24));animation:scene3-object-in .55s ease both}
.scene3-gift-object img{display:block;width:100%;height:auto;object-fit:contain}.scene3-gift-object figcaption{margin-top:5px;text-align:center;color:rgba(255,255,255,.78);font-size:9px;letter-spacing:.08em;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.scene3-gift-object--dresser{right:7.5%;bottom:16%;width:min(230px,18vw)}.scene3-gift-object--small{right:7%;bottom:13%;width:min(180px,14vw);opacity:.94}
@keyframes scene3-object-in{from{opacity:0;transform:translateY(7px) scale(.98)}to{opacity:1;transform:none}}

/* Scene 3 phone actions stay inside the phone, visible and reachable. */
.phone-stage--scene3 .phone-screen{padding-bottom:72px}.scene3-phone-actions{position:absolute;left:15px;right:15px;bottom:15px;z-index:5;display:grid;gap:7px}.scene3-phone-actions .choice-button{width:100%;margin:0;padding:10px 12px;border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.09);color:#fff;text-align:center}.phone-message--papa{max-width:100%;font-size:11.3px!important;line-height:1.45!important}.phone-message--papa strong[lang=ko]{font-family:system-ui,sans-serif;font-size:14px}.contact-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font:700 15px/1 system-ui}.contact-avatar--han{background:#d6c4ac;color:#43372f}.phone-thread-head--papa{grid-template-columns:22px 36px minmax(0,1fr)}.phone-thread--papa{overflow:auto;max-height:calc(100% - 62px);padding-bottom:72px;scrollbar-width:none}.phone-thread--papa::-webkit-scrollbar{display:none}

/* Scene 3 prep cards: editorial, not game UI. */
.scene3-prep-sheet,.scene3-check-card,.scene3-route{position:absolute;z-index:10;left:var(--safe-x);right:var(--safe-x);bottom:max(28px,env(safe-area-inset-bottom));margin:auto;width:min(980px,calc(100% - 2*var(--safe-x)));padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:linear-gradient(135deg,rgba(16,17,16,.80),rgba(16,17,16,.55));backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.28);pointer-events:auto;color:#fff}
.scene3-kicker{margin:0 0 15px;color:#dfa187;font-size:9px;font-weight:800;letter-spacing:.18em}.scene3-tip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.scene3-tip{position:relative;min-height:152px;padding:18px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(255,255,255,.055)}.scene3-tip>span{display:block;color:rgba(255,255,255,.36);font-size:9px;letter-spacing:.12em}.scene3-tip strong{display:block;margin-top:22px;font:500 19px/1.2 Georgia,serif}.scene3-tip p{margin:9px 0 0;color:rgba(255,255,255,.72);font:400 14px/1.5 Georgia,serif}.scene3-prep-sheet .mae-scene-note,.scene3-check-card .mae-scene-note,.scene3-route .mae-scene-note{margin-top:12px}.scene3-sheet-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.scene3-sheet-actions .choice-button{flex-basis:auto;min-width:145px}

/* Outfit selection */
.scene3-outfit-select{position:absolute;inset:0;z-index:10;padding:92px var(--safe-x) max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(240px,.62fr) minmax(0,1.38fr);gap:28px;align-items:end;background:linear-gradient(90deg,rgba(10,11,10,.58),rgba(10,11,10,.05) 58%,rgba(10,11,10,.16));pointer-events:auto}.scene3-outfit-select h1{margin:0;color:#fff;font:500 clamp(36px,5vw,64px)/1 Georgia,serif}.scene3-outfit-select>div:first-child>p:last-child{max-width:440px;color:rgba(255,255,255,.74);font:400 16px/1.5 Georgia,serif}.scene3-outfit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}.scene3-outfit-card{position:relative;min-height:410px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#1b1c1a;color:#fff;cursor:pointer;text-align:left;box-shadow:0 18px 40px rgba(0,0,0,.18);transition:.22s ease}.scene3-outfit-card:hover{transform:translateY(-4px);border-color:rgba(232,187,158,.55)}.scene3-outfit-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.scene3-outfit-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(10,11,10,.88) 100%)}.scene3-outfit-card>span{position:absolute;z-index:2;left:16px;right:16px;bottom:15px}.scene3-outfit-card strong{display:block;font:500 18px/1.2 Georgia,serif}.scene3-outfit-card small{display:block;margin-top:6px;color:rgba(255,255,255,.67);font-size:10px;line-height:1.35}
.scene3-outfit-confirm{position:absolute;z-index:10;left:var(--safe-x);right:var(--safe-x);bottom:max(26px,env(safe-area-inset-bottom));margin:auto;width:min(900px,calc(100% - 2*var(--safe-x)));display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:20px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(13,14,13,.74);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.28);pointer-events:auto}.scene3-outfit-confirm>img{width:100%;height:320px;object-fit:cover;border-radius:15px}.scene3-outfit-confirm h2{margin:0;color:#fff;font:500 32px/1.08 Georgia,serif}.scene3-outfit-confirm>div>p:not(.scene3-kicker){color:rgba(255,255,255,.76);font:400 16px/1.55 Georgia,serif}

/* Checklist and route */
.scene3-check-card{width:min(740px,calc(100% - 2*var(--safe-x)))}.scene3-check-card ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.scene3-check-card li{display:flex;justify-content:space-between;gap:16px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.10);color:rgba(255,255,255,.64);font-size:10px;letter-spacing:.08em}.scene3-check-card li strong{color:#fff;font:500 14px/1.3 Georgia,serif;text-align:right}.scene3-route{width:min(820px,calc(100% - 2*var(--safe-x)))}.scene3-route-line{display:grid;grid-template-columns:1fr minmax(90px,.35fr) 1fr;align-items:center;gap:10px}.scene3-route-line article{padding:16px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(255,255,255,.05)}.scene3-route-line article span{display:block;color:#dca188;font-size:8px;font-weight:800;letter-spacing:.16em}.scene3-route-line article strong{display:block;margin-top:7px;font:500 20px/1.2 Georgia,serif}.scene3-route-line article small{display:block;margin-top:4px;color:rgba(255,255,255,.56)}.scene3-route-line>i{height:1px;background:linear-gradient(90deg,rgba(255,255,255,.15),rgba(230,166,137,.8),rgba(255,255,255,.15));position:relative}.scene3-route-line>i::after{content:"";position:absolute;right:-2px;top:-3px;width:7px;height:7px;border-top:1px solid #dfa187;border-right:1px solid #dfa187;transform:rotate(45deg)}
.scene3-end-cap{margin-top:16px;display:flex;justify-content:space-between;gap:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.12)}.scene3-end-cap strong{font-size:9px;letter-spacing:.15em;color:#dfa187}.scene3-end-cap span{color:rgba(255,255,255,.58);font-size:10px}

.scene3-timeskip{position:fixed;inset:0;z-index:350;display:grid;place-items:center;grid-template-columns:auto minmax(70px,160px) auto;gap:18px;padding:24px;background:rgba(10,11,10,.93);color:#fff;animation:scene3-time-in .45s ease both}.scene3-timeskip span,.scene3-timeskip strong{font:500 clamp(26px,4vw,48px)/1 Georgia,serif}.scene3-timeskip strong{color:#e0a086}.scene3-timeskip i{height:1px;background:rgba(255,255,255,.22)}.scene3-timeskip small{grid-column:1/-1;margin-top:-2px;color:rgba(255,255,255,.58);font:400 14px/1.4 Georgia,serif}.scene3-timeskip.is-leaving{opacity:0;transition:.7s ease}@keyframes scene3-time-in{from{opacity:0}to{opacity:1}}

@media(max-width:820px){
  .language-block{padding-right:14px!important;padding-bottom:55px!important}.language-float-tools{left:12px!important;right:auto!important;top:auto!important;bottom:10px!important}.audio-chip--text,.mic-chip--text{min-width:92px!important}.choice-language-row{grid-template-columns:1fr!important}.choice-language-actions{justify-content:flex-start;margin-left:0}
  .scene3-gift-object--dresser{right:3%;bottom:11%;width:min(180px,38vw)}.scene3-gift-object--small{right:3%;bottom:9%;width:min(145px,31vw)}
  .phone-stage--scene3{padding-top:82px!important;padding-bottom:12px!important}.phone-stage--scene3 .phone-device{max-height:76svh!important}
  .scene3-prep-sheet,.scene3-check-card,.scene3-route{left:12px;right:12px;width:auto;bottom:max(12px,env(safe-area-inset-bottom));max-height:69svh;overflow:auto;padding:16px;border-radius:17px}.scene3-tip-grid{grid-template-columns:1fr}.scene3-tip{min-height:0;padding:14px}.scene3-tip strong{margin-top:8px;font-size:17px}.scene3-tip p{font-size:13px}.scene3-sheet-actions{justify-content:stretch}.scene3-sheet-actions .choice-button{width:100%;flex:1}
  .scene3-outfit-select{padding:82px 12px max(12px,env(safe-area-inset-bottom));grid-template-columns:1fr;gap:12px;align-content:end;background:linear-gradient(180deg,rgba(10,11,10,.06),rgba(10,11,10,.78) 48%,rgba(10,11,10,.93))}.scene3-outfit-select h1{font-size:34px}.scene3-outfit-select>div:first-child>p:last-child{font-size:13px;margin-bottom:0}.scene3-outfit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.scene3-outfit-card{min-height:255px;border-radius:13px}.scene3-outfit-card>span{left:10px;right:10px;bottom:9px}.scene3-outfit-card strong{font-size:14px}.scene3-outfit-card small{display:none}
  .scene3-outfit-confirm{left:12px;right:12px;width:auto;bottom:max(12px,env(safe-area-inset-bottom));grid-template-columns:118px minmax(0,1fr);gap:12px;padding:12px}.scene3-outfit-confirm>img{height:185px}.scene3-outfit-confirm h2{font-size:23px}.scene3-outfit-confirm>div>p:not(.scene3-kicker){font-size:13px;line-height:1.4}.scene3-outfit-confirm .scene3-sheet-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:8px}
  .scene3-check-card ul{grid-template-columns:1fr}.scene3-route-line{grid-template-columns:1fr}.scene3-route-line>i{width:1px;height:22px;justify-self:center}.scene3-route-line>i::after{right:-3px;top:auto;bottom:-1px;transform:rotate(135deg)}
  .build-stamp{display:none}
  .experience-menu__panel>nav{display:grid!important;grid-template-columns:1fr 1fr!important;overflow:visible!important;gap:5px!important;padding:8px 10px!important}.experience-menu__panel>nav button{white-space:normal!important;text-align:center!important;padding:9px 6px!important;border:1px solid rgba(91,67,50,.10)!important;border-radius:10px!important;background:rgba(255,255,255,.18)!important}.experience-menu__panel>nav button.is-active{border-color:rgba(168,92,71,.42)!important;background:rgba(168,92,71,.08)!important}.experience-menu__panel>nav button:last-child{grid-column:1/-1}
}
@media(max-width:520px){.scene3-outfit-card{min-height:210px}.scene3-outfit-card strong{font-size:12.5px}.scene3-outfit-confirm{grid-template-columns:95px minmax(0,1fr)}.scene3-outfit-confirm>img{height:160px}.scene3-gift-object--dresser{width:min(145px,36vw)}}

/* =========================================================
   BASE · scènes 1–4
   Scene 4 — En route chez les Han
   Scroll is the movement: no game progression bar.
   ========================================================= */
.scene[data-mode^="scene4-"] .scene__image-shade{background:linear-gradient(180deg,rgba(5,7,8,.25),transparent 30%,transparent 64%,rgba(4,6,7,.45))}



.scene4-panel-picture{position:absolute;inset:0;z-index:-4;display:block;overflow:hidden}
.scene4-panel-picture img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);filter:saturate(.92) contrast(1.02)}

@keyframes scene4-drift{from{transform:scale(1.045) translate3d(-.8%,0,0)}to{transform:scale(1.075) translate3d(.9%,-.5%,0)}}





.scene4-mae{display:flex;align-items:flex-start;gap:11px;color:#fff}
.scene4-mae>img{width:37px;height:37px;flex:0 0 37px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.22);background:#efe8de}
.scene4-mae>div{min-width:0}.scene4-mae span{display:block;margin-bottom:4px;color:#efc4b1;font-size:9px;font-weight:800;letter-spacing:.08em}.scene4-mae p{margin:0;color:rgba(255,255,255,.88);font:400 clamp(16px,1.4vw,20px)/1.48 Georgia,serif}.scene4-mae p strong[lang=ko]{font-family:system-ui,sans-serif;font-weight:650}

@keyframes scene4-cue{50%{transform:translate(-50%,4px);opacity:.58}}


.scene4-inline-route{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10)}
.scene4-inline-route>span{color:rgba(255,255,255,.84);font:500 15px/1.2 Georgia,serif}.scene4-inline-route button{border:0;border-bottom:1px solid rgba(226,162,136,.42);background:transparent;color:#e3aa91;padding:5px 0;cursor:pointer;font-size:10px}
.scene4-continue{display:inline-flex;align-items:center;justify-content:center;margin-top:15px;padding:11px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;font-size:11px;font-weight:700;transition:.2s ease}.scene4-continue:hover{background:rgba(255,255,255,.13);border-color:rgba(230,177,151,.42)}
.scene4-fare-note{margin-top:14px;padding:12px 14px;border-left:1px solid rgba(229,171,145,.58);background:rgba(255,255,255,.035)}.scene4-fare-note span{display:block;color:#dfa187;font-size:8px;font-weight:800;letter-spacing:.15em}.scene4-fare-note strong{display:block;margin-top:5px;color:rgba(255,255,255,.84);font:400 14px/1.4 Georgia,serif}

/* Validator: card is the action itself. */
.scene4-validator{position:absolute;inset:0;z-index:18;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(250px,.72fr) minmax(280px,.82fr);gap:28px;align-items:center;padding:96px max(var(--safe-x),5vw) max(30px,env(safe-area-inset-bottom));background:radial-gradient(circle at 62% 45%,rgba(30,36,38,.88),#050707 66%);pointer-events:auto}
.scene4-validator-copy small{display:block;color:#e1a086;font-size:9px;font-weight:800;letter-spacing:.18em}.scene4-validator-copy h2{margin:8px 0 8px;color:#fff;font:500 clamp(30px,4vw,54px)/1.04 Georgia,serif}.scene4-validator-copy p{margin:0;color:rgba(255,255,255,.55);font:400 14px/1.45 Georgia,serif}
.scene4-validator-device{height:min(66svh,640px);display:grid;place-items:center;overflow:hidden;border-radius:28px;background:#020303;box-shadow:0 30px 70px rgba(0,0,0,.4)}.scene4-validator-device img{width:100%;height:100%;object-fit:contain}
.scene4-transport-card{position:relative;align-self:end;justify-self:center;width:min(410px,100%);height:245px;padding:0;overflow:hidden;border:0;border-radius:24px;background:#020303;cursor:pointer;box-shadow:0 24px 55px rgba(0,0,0,.32);transition:transform .25s ease,box-shadow .25s ease}.scene4-transport-card:hover{transform:translateY(-5px);box-shadow:0 30px 65px rgba(0,0,0,.4)}.scene4-transport-card img{width:100%;height:100%;object-fit:contain}.scene4-transport-card span{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 9px;border-radius:999px;background:rgba(0,0,0,.60);color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.05em;white-space:nowrap}
.scene4-validator.is-tapping .scene4-transport-card{animation:scene4-card-tap .45s cubic-bezier(.25,.75,.25,1) both}.scene4-validator.is-tapping .scene4-validator-device{box-shadow:0 0 0 1px rgba(168,241,124,.45),0 0 60px rgba(123,210,99,.15),0 30px 70px rgba(0,0,0,.4)}
@keyframes scene4-card-tap{55%{transform:translate(-38%,-42%) rotate(-5deg) scale(.87)}100%{transform:translate(-45%,-48%) rotate(-3deg) scale(.82)}}
.scene4-validator--success{display:grid;place-items:center;background:rgba(5,7,7,.94)}.scene4-validator-success{display:grid;place-items:center;gap:8px;text-align:center}.scene4-validator-dot{width:16px;height:16px;border-radius:50%;background:#8bd35f;box-shadow:0 0 0 9px rgba(139,211,95,.08),0 0 28px rgba(139,211,95,.3)}.scene4-validator-success strong{margin-top:11px;color:#fff;font:500 clamp(28px,4vw,46px)/1 Georgia,serif}.scene4-validator-success small{color:rgba(255,255,255,.56);font-size:12px}
.scene[data-mode="scene4-exit"]>.scene-content>.scene4-mae{position:absolute;z-index:22;left:var(--safe-x);top:90px;max-width:510px;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(9,11,11,.58);backdrop-filter:blur(12px)}

/* Bus ride: ordinary city texture through a lightly reflective window. */


.scene4-expression{margin-top:10px}.scene4-expression button{display:flex;align-items:baseline;gap:10px;border:0;border-bottom:1px solid rgba(255,255,255,.13);background:transparent;padding:3px 0 7px;color:#fff;cursor:pointer;text-align:left}.scene4-expression strong{font:600 20px/1.2 system-ui,sans-serif}.scene4-expression span{color:rgba(255,255,255,.52);font-size:10px}.scene4-expression em{display:block;margin-top:6px;color:#e8c0ad;font:400 13px/1.4 Georgia,serif}

.scene4-arrival{position:absolute;z-index:15;left:var(--safe-x);right:var(--safe-x);bottom:max(30px,env(safe-area-inset-bottom));margin:auto;width:min(760px,calc(100% - 2*var(--safe-x)));padding:20px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(10,12,12,.64);backdrop-filter:blur(16px);box-shadow:0 22px 60px rgba(0,0,0,.26);pointer-events:auto}.scene4-arrival-card{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding-bottom:14px;margin-bottom:13px;border-bottom:1px solid rgba(255,255,255,.10)}.scene4-arrival-card small{color:#dfa187;font-size:9px;font-weight:800;letter-spacing:.12em}.scene4-arrival-card strong{font:500 26px/1 Georgia,serif}.scene4-arrival-card span{color:rgba(255,255,255,.62);font-size:11px}

@media(max-width:820px){
  .scene4-mae>img{width:34px;height:34px;flex-basis:34px}.scene4-mae p{font-size:15px}.scene4-inline-route{align-items:flex-end}
  .scene4-validator{grid-template-columns:1fr;grid-template-rows:auto minmax(180px,1fr) auto;gap:12px;padding:78px 14px max(14px,env(safe-area-inset-bottom));overflow:auto}.scene4-validator-copy h2{font-size:30px;margin:5px 0}.scene4-validator-copy p{display:none}.scene4-validator-device{height:min(38svh,390px);border-radius:18px}.scene4-transport-card{width:min(390px,94vw);height:170px;align-self:center;border-radius:18px}.scene4-transport-card span{bottom:7px}.scene4-validator.is-tapping .scene4-transport-card{animation:scene4-card-tap-mobile .45s cubic-bezier(.25,.75,.25,1) both}@keyframes scene4-card-tap-mobile{55%{transform:translateY(-45%) scale(.86)}100%{transform:translateY(-55%) scale(.82)}}
  .scene[data-mode="scene4-exit"]>.scene-content>.scene4-mae{left:12px;right:12px;top:72px;max-width:none;padding:10px 12px}.scene4-expression button{flex-wrap:wrap}.scene4-arrival{left:12px;right:12px;width:auto;bottom:max(12px,env(safe-area-inset-bottom));padding:15px}.scene4-arrival-card{grid-template-columns:auto 1fr}.scene4-arrival-card span{grid-column:1/-1}.scene4-arrival-card strong{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.scene4-validator.is-tapping .scene4-transport-card{animation:none!important}}


/* =========================================================
   POLISH · responsive et interactions
   Mobile fit + cinematic movement (no TikTok-style scroll)
   ========================================================= */

/* Scene 3: confirmation sheet must never run outside the phone viewport. */
.scene3-outfit-confirm{grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr);grid-template-rows:auto auto}
.scene3-outfit-confirm>.scene3-outfit-body{min-width:0}
.scene3-outfit-confirm>.scene3-outfit-actions{grid-column:2;justify-self:stretch;margin-top:0}
.scene3-outfit-confirm>.scene3-outfit-actions .choice-button{min-width:0;white-space:normal}

/* Scene 4 now uses controlled cinematic beats instead of nested full-screen scroll snapping. */
.scene4-cinematic-stage,.scene4-bus-arrival,.scene4-bus-ride{position:absolute;inset:0;z-index:12;overflow:hidden;isolation:isolate;pointer-events:auto;background:#0a0c0d}
.scene4-cinematic-picture{z-index:-4}
.scene4-cinematic-picture img{transform:scale(1.035);will-change:transform}
.scene4-cinematic-picture--push img{animation:scene4-camera-push 7s ease-out both}
.scene4-cinematic-picture--pan img{animation:scene4-camera-pan 9s ease-in-out both}
.scene4-cinematic-picture--settle img{animation:scene4-camera-settle 6s ease-out both}
.scene4-cinematic-picture--bus img{animation:scene4-bus-arrive-image 6.5s ease-out both}
@keyframes scene4-camera-push{from{transform:scale(1.025)}to{transform:scale(1.075) translate3d(-.5%,-.3%,0)}}
@keyframes scene4-camera-pan{from{transform:scale(1.075) translate3d(-1.3%,0,0)}to{transform:scale(1.075) translate3d(1.1%,-.3%,0)}}
@keyframes scene4-camera-settle{from{transform:scale(1.06) translate3d(.6%,0,0)}to{transform:scale(1.025)}}
@keyframes scene4-bus-arrive-image{from{transform:scale(1.02) translate3d(1.2%,0,0)}to{transform:scale(1.055) translate3d(-.4%,-.2%,0)}}
.scene4-cinematic-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(5,7,8,.12),rgba(5,7,8,.03) 42%,rgba(4,6,7,.68));pointer-events:none}
.scene4-cinematic-veil--soft{background:linear-gradient(180deg,rgba(5,7,8,.06),rgba(5,7,8,.04) 45%,rgba(4,6,7,.53))}
.scene4-cinematic-veil--bus{background:linear-gradient(180deg,rgba(6,8,9,.08),rgba(6,8,9,.05) 46%,rgba(5,7,8,.70))}
.scene4-cinematic-copy{position:absolute;left:var(--safe-x);bottom:max(28px,env(safe-area-inset-bottom));width:min(650px,calc(100% - 2*var(--safe-x)));padding:18px 19px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(9,12,12,.54);backdrop-filter:blur(13px);box-shadow:0 20px 55px rgba(0,0,0,.22);animation:scene4-copy-in .52s ease both}
.scene4-cinematic-copy--left{max-width:560px}
.scene4-cinematic-copy--observation{max-width:670px;border-left-color:rgba(224,159,132,.62)}
.scene4-cinematic-copy>small,.scene4-ride-moment>small,.scene4-ride-final>small{display:block;margin-bottom:9px;color:#e2a288;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.scene4-cinematic-copy>p,.scene4-ride-moment>p{margin:0;color:rgba(255,255,255,.88);font:400 clamp(17px,1.45vw,21px)/1.5 Georgia,serif}
@keyframes scene4-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scene4-ambient-line{position:absolute;z-index:-1;left:-15%;right:-15%;bottom:18%;height:1px;background:linear-gradient(90deg,transparent,rgba(245,190,151,.30),transparent);animation:scene4-ambient-sweep 4.8s ease-in-out infinite}

@keyframes scene4-ambient-sweep{50%{opacity:.35;transform:translateY(-7px)}}
@keyframes scene4-shadow-pass{to{transform:translateX(65%)}}

/* Bus arrival: headlights and a tiny engine vibration, not a static poster. */
.scene4-bus-arrival{animation:scene4-engine-breathe 2.8s ease-in-out infinite}
.scene4-headlight{position:absolute;z-index:-1;bottom:19%;width:24vw;height:18vw;max-width:330px;max-height:250px;border-radius:50%;filter:blur(20px);background:radial-gradient(circle,rgba(255,238,186,.27),rgba(255,214,135,.08) 42%,transparent 70%);pointer-events:none;animation:scene4-headlight-pulse 2.4s ease-in-out infinite}
.scene4-headlight--one{left:43%}.scene4-headlight--two{left:63%;animation-delay:.25s}
@keyframes scene4-headlight-pulse{50%{opacity:.68;transform:scale(1.05)}}
@keyframes scene4-engine-breathe{50%{transform:translateY(.55px)}}

/* Bus ride: automatic visual progression, no user scroll. */
.scene4-bus-ride{animation:scene4-engine-breathe 2.6s ease-in-out infinite}
.scene4-bus-ride .scene4-ride-layer{z-index:-5}
.scene4-bus-ride .scene4-ride-layer img{width:100%;height:100%;object-fit:cover;will-change:transform,opacity}
.scene4-bus-ride .scene4-ride-layer--a img{animation:scene4-ride-a 7s ease-in-out both}
.scene4-bus-ride .scene4-ride-layer--b{opacity:0;animation:scene4-layer-b-in 1.2s 3.1s ease forwards}
.scene4-bus-ride .scene4-ride-layer--b img{animation:scene4-ride-b 8.5s 2.9s ease-in-out both}
@keyframes scene4-ride-a{from{transform:scale(1.07) translateX(-1%)}to{transform:scale(1.10) translateX(1.6%)}}
@keyframes scene4-layer-b-in{to{opacity:1}}
@keyframes scene4-ride-b{from{transform:scale(1.09) translateX(1.3%)}to{transform:scale(1.12) translateX(-1.6%)}}
.scene4-bus-window{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(7,9,11,.48) 0 3%,transparent 3% 97%,rgba(7,9,11,.48) 97% 100%),linear-gradient(180deg,rgba(255,255,255,.035),transparent 18%,transparent 82%,rgba(3,5,6,.32));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -1px 0 rgba(255,255,255,.05)}
.scene4-bus-reflection{position:absolute;inset:-20%;z-index:-1;pointer-events:none;background:linear-gradient(112deg,transparent 35%,rgba(255,255,255,.095) 43%,rgba(255,196,147,.045) 48%,transparent 55%);transform:translateX(-60%);animation:scene4-bus-reflect 3.6s linear infinite}
@keyframes scene4-bus-reflect{to{transform:translateX(65%)}}
.scene4-ride-moment,.scene4-ride-final{position:absolute;left:var(--safe-x);bottom:max(34px,env(safe-area-inset-bottom));max-width:550px;padding:14px 16px;border-left:1px solid rgba(224,159,132,.62);background:linear-gradient(90deg,rgba(5,7,8,.58),rgba(5,7,8,.14),transparent);text-shadow:0 2px 14px rgba(0,0,0,.36)}
.scene4-ride-moment{opacity:0;pointer-events:none}
.scene4-ride-moment--one{animation:scene4-moment-one 3.2s .45s ease both}
.scene4-ride-moment--two{left:auto;right:var(--safe-x);animation:scene4-moment-two 3.0s 3.1s ease both}
.scene4-ride-final{opacity:0;pointer-events:none;width:min(620px,calc(100% - 2*var(--safe-x)));border:1px solid rgba(255,255,255,.11);border-left:1px solid rgba(224,159,132,.62);border-radius:16px;background:rgba(7,9,10,.55);backdrop-filter:blur(12px);animation:scene4-final-in .55s 6.0s ease forwards}
@keyframes scene4-moment-one{0%{opacity:0;transform:translateY(8px)}18%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-5px)}}
@keyframes scene4-moment-two{0%{opacity:0;transform:translateY(8px)}18%,72%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-5px)}}
@keyframes scene4-final-in{to{opacity:1;pointer-events:auto}}

@media(max-width:820px){
  .scene3-outfit-confirm{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));width:auto;grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto;gap:10px;padding:11px;max-height:calc(100svh - 90px);overflow:auto;border-radius:18px}
  .scene3-outfit-confirm>img{height:132px;border-radius:12px}
  .scene3-outfit-confirm>.scene3-outfit-body{align-self:center;min-width:0}
  .scene3-outfit-confirm h2{font-size:22px;overflow-wrap:anywhere}
  .scene3-outfit-confirm>.scene3-outfit-body>p:not(.scene3-kicker){font-size:12.5px;line-height:1.38;margin:7px 0 0}
  .scene3-outfit-confirm>.scene3-outfit-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:0}
  .scene3-outfit-confirm>.scene3-outfit-actions .choice-button{width:100%;min-width:0!important;margin:0;padding:11px 8px;font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
  .scene4-cinematic-copy,.scene4-ride-moment,.scene4-ride-final{left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));width:auto;max-width:none;padding:14px 14px;border-radius:15px}
  .scene4-cinematic-copy>p,.scene4-ride-moment>p{font-size:15.5px}
  .scene4-ride-moment--two{left:12px;right:12px}
  .scene4-headlight{bottom:26%;width:42vw;height:35vw}
  .scene4-bus-window{background:linear-gradient(90deg,rgba(7,9,11,.42) 0 2%,transparent 2% 98%,rgba(7,9,11,.42) 98% 100%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 16%,transparent 84%,rgba(3,5,6,.28))}
}
@media(max-width:430px){
  .scene3-outfit-confirm{grid-template-columns:76px minmax(0,1fr)}
  .scene3-outfit-confirm>img{height:122px}
  .scene3-outfit-confirm h2{font-size:20px}
  .scene3-outfit-confirm .scene3-kicker{font-size:8px;margin-bottom:6px}
  .scene4-cinematic-copy,.scene4-ride-moment,.scene4-ride-final{padding:12px 13px}
  .scene4-cinematic-copy>small,.scene4-ride-moment>small,.scene4-ride-final>small{font-size:8px;margin-bottom:7px}
}
@media(prefers-reduced-motion:reduce){
  .scene4-cinematic-picture img,.scene4-bus-arrival,.scene4-bus-ride,.scene4-headlight,.scene4-ambient-line,.scene4-bus-reflection{animation:none!important}
  .scene4-bus-ride .scene4-ride-layer--a{display:none}.scene4-bus-ride .scene4-ride-layer--b{opacity:1!important;animation:none!important}
  .scene4-ride-moment{display:none}.scene4-ride-final{opacity:1!important;pointer-events:auto!important;animation:none!important}
}


/* Scene 5 · Arrival at the Han home */
.scene[data-mode^="scene5-"] .scene-background img{filter:saturate(.93) contrast(1.02) brightness(.92)}
.scene5-cinematic,.scene5-house-reveal,.scene5-father-stage,.scene5-gift-stage,.scene5-threshold,.scene5-inside,.scene5-doorbell{position:absolute;inset:0;z-index:15;pointer-events:auto}
.scene5-cinematic,.scene5-house-reveal,.scene5-father-stage,.scene5-gift-stage,.scene5-threshold,.scene5-inside{display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--safe-x) max(28px,env(safe-area-inset-bottom))}
.scene5-mae{display:flex;gap:10px;align-items:flex-start;width:min(520px,100%);padding:12px 14px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(10,12,12,.58);backdrop-filter:blur(14px);box-shadow:0 18px 50px rgba(0,0,0,.22)}
.scene5-mae img{width:38px;height:38px;border-radius:50%;object-fit:cover}.scene5-mae span{color:#e0a084;font-size:10px;font-weight:800;letter-spacing:.12em}.scene5-mae p{margin:3px 0 0;font:400 16px/1.45 Georgia,serif;color:#fff}.scene5-mae strong[lang="ko"]{font-family:system-ui,sans-serif}
.scene5-route-chip{align-self:flex-start;margin-bottom:12px;padding:10px 13px;border-radius:13px;background:rgba(9,11,11,.53);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(10px)}.scene5-route-chip small{display:block;color:#e2a288;font-size:9px;letter-spacing:.14em;font-weight:800}.scene5-route-chip strong{display:block;margin-top:4px;font-size:15px}.scene5-route-chip--inline{margin:12px 0}
.scene5-reply-echo{width:min(520px,100%);margin:10px 0;padding:10px 13px;border-left:1px solid rgba(224,160,132,.7);background:rgba(10,12,12,.34)}.scene5-reply-echo span{font-size:9px;color:#e2a288;font-weight:800}.scene5-reply-echo p{margin:4px 0 0;font:400 16px/1.4 Georgia,serif}

.scene5-house-caption,.scene5-dialogue-card,.scene5-threshold-copy,.scene5-inside-caption,.scene5-doorbell-copy{width:min(650px,100%);padding:17px 18px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(135deg,rgba(9,11,11,.70),rgba(9,11,11,.48));backdrop-filter:blur(14px);box-shadow:0 20px 60px rgba(0,0,0,.24)}
.scene5-house-caption{margin-bottom:10px}.scene5-house-caption small,.scene5-dialogue-card>small,.scene5-threshold-copy>small,.scene5-inside-caption>small,.scene5-doorbell-copy>small{color:#e2a288;font-size:9px;font-weight:800;letter-spacing:.16em}.scene5-house-caption strong{display:block;margin:5px 0;font:500 31px/1 Georgia,serif}.scene5-house-caption p,.scene5-dialogue-card>p,.scene5-threshold-copy>p,.scene5-inside-caption>p,.scene5-doorbell-copy>p{font:400 17px/1.48 Georgia,serif;color:rgba(255,255,255,.9)}
.scene5-doorbell{display:grid;place-items:center;padding:90px var(--safe-x) 30px}.scene5-doorbell-copy{justify-self:start;align-self:end}.scene5-bell{position:absolute;right:8%;top:42%;width:104px;height:104px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(12,13,13,.32);color:#fff;display:grid;place-items:center;gap:5px;backdrop-filter:blur(8px);cursor:pointer}.scene5-bell span{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 6px rgba(255,255,255,.1)}.scene5-bell.is-ringing{animation:scene5-ring .18s ease 3}@keyframes scene5-ring{50%{transform:scale(.96)}}
.scene5-father-stage{align-items:flex-start}.scene5-dialogue-card{max-height:72svh;overflow:auto}.scene5-dialogue-card .language-block{margin-top:10px}.scene5-gift-stage{align-items:flex-start}.scene5-gift-visible{position:absolute;right:7%;bottom:9%;width:min(220px,23vw);z-index:1}.scene5-gift-visible img{width:100%;filter:drop-shadow(0 20px 28px rgba(0,0,0,.38))}.scene5-gift-visible figcaption{display:none}.scene5-gift-stage .scene5-dialogue-card{position:relative;z-index:2;width:min(660px,70%)}

.scene5-inside{align-items:flex-start}.scene5-offscreen{margin-top:14px;padding:11px 13px;border-left:1px solid rgba(224,160,132,.65);background:rgba(255,255,255,.035)}.scene5-offscreen span{display:block;color:#e0a084;font-size:9px;font-weight:800;letter-spacing:.12em}.scene5-offscreen strong{display:block;margin-top:4px;font-size:21px}.scene5-offscreen small{display:block;margin-top:3px;color:rgba(255,255,255,.7)}.scene5-offscreen--papa{margin-top:7px}
@media(max-width:820px){
 .scene5-cinematic,.scene5-house-reveal,.scene5-father-stage,.scene5-gift-stage,.scene5-threshold,.scene5-inside{padding:0 12px max(12px,env(safe-area-inset-bottom))}.scene5-mae{width:100%;padding:10px 11px}.scene5-mae p{font-size:14.5px}.scene5-house-caption,.scene5-dialogue-card,.scene5-threshold-copy,.scene5-inside-caption,.scene5-doorbell-copy{padding:14px 14px;border-radius:15px;width:100%;max-height:62svh;overflow:auto}.scene5-house-caption strong{font-size:25px}.scene5-house-caption p,.scene5-dialogue-card>p,.scene5-threshold-copy>p,.scene5-inside-caption>p,.scene5-doorbell-copy>p{font-size:15.5px}.scene5-doorbell{padding:72px 12px 12px;align-items:end}.scene5-bell{right:18px;top:26%;width:78px;height:78px}.scene5-gift-visible{right:15px;top:90px;bottom:auto;width:104px}.scene5-gift-stage .scene5-dialogue-card{width:100%;padding-top:15px}.scene5-dialogue-card .story-actions{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.scene5-bell.is-ringing{animation:none}}


/* QA FIX — 2026-09-07 · Scene 2 mobile progression + Scene 5 completion */
@media(max-width:820px){
  .scene[data-mode^="scene2"] .story-panel{
    max-height:calc(100dvh - max(118px, calc(env(safe-area-inset-top) + 98px)));
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(231,171,143,.42) transparent;
  }
  .scene[data-mode^="scene2"] .story-panel::-webkit-scrollbar{width:4px}
  .scene[data-mode^="scene2"] .story-panel::-webkit-scrollbar-thumb{background:rgba(231,171,143,.42);border-radius:999px}
  .scene[data-mode^="scene2"] .choice-language-actions{flex-direction:row!important;justify-content:flex-start!important;width:100%}
  .scene[data-mode^="scene2"] .choice-language-actions button{flex:0 1 auto;min-width:98px!important}
  .scene[data-mode="scene2-context"] .story-actions,
  .scene[data-mode="scene2-wrap"] .story-actions,
  .scene[data-mode="scene2-pay"] .story-actions,
  .scene[data-mode="scene2-exit"] .story-actions{
    padding-bottom:2px;
  }
}
@media(max-width:520px){
  .scene[data-mode^="scene2"] .story-panel{left:8px;right:8px;bottom:max(9px,env(safe-area-inset-bottom));padding:14px 13px 13px}
  .scene[data-mode^="scene2"] .choice-language-actions{gap:7px}
  .scene[data-mode^="scene2"] .choice-language-actions button{min-width:104px!important;justify-content:center}
}


/* === S1–S5 FREEZE 1 · city route component === */
.city-route-widget{color:#2f2a25;background:rgba(248,244,236,.96);border:1px solid rgba(91,78,61,.18);border-radius:18px;padding:14px;box-shadow:0 16px 46px rgba(30,25,19,.14)}
.city-route-widget--compact{margin-top:4px}
.city-route-widget__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.city-route-widget__head div{display:grid;gap:3px}.city-route-widget__head small{font-size:8px;font-weight:800;letter-spacing:.15em;color:#8b674f}.city-route-widget__head strong{font:600 18px/1.15 Georgia,serif}.city-route-widget__head>span{font-size:10px;color:#6f655a;white-space:nowrap}
.city-route-map{overflow:hidden;border-radius:13px;border:1px solid rgba(83,71,56,.12);background:#ece2d4}.city-route-map img{display:block;width:100%;height:auto;aspect-ratio:900/520;object-fit:cover}
.city-route-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}.city-route-step{position:relative;display:grid;justify-items:center;gap:5px;text-align:center;color:#8a8177;font-size:9px}.city-route-step::before{content:"";position:absolute;top:5px;left:-50%;right:50%;height:1px;background:rgba(86,77,65,.18)}.city-route-step:first-child::before{display:none}.city-route-step i{position:relative;z-index:1;width:10px;height:10px;border-radius:50%;border:2px solid #9a8c7c;background:#f6f0e6}.city-route-step.is-done i,.city-route-step.is-current i{border-color:#647157;background:#647157}.city-route-step.is-done::before,.city-route-step.is-current::before{background:#8b784e}.city-route-step.is-current span{color:#403a33;font-weight:700}
.city-route-disclaimer{margin:10px 0 0;color:#6f665d;font-size:10px;line-height:1.45}
.scene3-route--mapped{width:min(900px,calc(100% - 2*var(--safe-x)))}.scene3-route--mapped .city-route-widget{margin-top:4px}.scene3-route--mapped .mae-scene-note{color:#fff}
.city-route-overlay{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:18px;opacity:0;transition:opacity .22s ease}.city-route-overlay.is-open{opacity:1}.city-route-overlay__backdrop{position:absolute;inset:0;border:0;background:rgba(8,10,10,.67);backdrop-filter:blur(8px)}.city-route-overlay__sheet{position:relative;width:min(820px,100%);max-height:min(780px,88svh);overflow:auto;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.38)}.city-route-overlay__close{position:absolute;z-index:3;right:12px;top:10px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(52,45,38,.18);background:rgba(250,247,241,.92);color:#37312b;font-size:25px;line-height:1;cursor:pointer}.city-route-overlay__sheet .city-route-widget{border-radius:22px;padding:20px 20px 17px}
.scene4-arrival-card button{grid-column:3;grid-row:1/3;align-self:center;border:1px solid rgba(226,162,136,.30);border-radius:999px;background:rgba(255,255,255,.05);color:#e4ad95;padding:8px 11px;font-size:9px;cursor:pointer}.scene5-english-line{display:grid;gap:4px}.scene5-english-line strong{font-weight:500}.scene5-english-line span{font-size:11px;color:rgba(255,255,255,.58);font-style:italic}
.method-note--map{border-color:rgba(95,108,85,.20);background:linear-gradient(150deg,rgba(244,240,231,.94),rgba(230,224,211,.72))}

@media(max-width:720px){
  .scene3-route--mapped{max-height:76svh}.scene3-route--mapped .city-route-widget{padding:10px}.city-route-widget__head{align-items:flex-start}.city-route-widget__head strong{font-size:16px}.city-route-widget__head>span{font-size:9px}.city-route-rail{gap:2px}.city-route-step{font-size:8px}.city-route-disclaimer{font-size:9px}.city-route-overlay{padding:10px}.city-route-overlay__sheet{max-height:92svh}.city-route-overlay__sheet .city-route-widget{padding:14px 12px 12px}.city-route-overlay__close{right:8px;top:8px}.scene4-arrival-card button{grid-column:1/-1;grid-row:auto;justify-self:start}.scene5-english-line span{font-size:10px}
}


/* S1–S5 audit · canonical traveler card (not a passport) */
.traveler-card{width:min(720px,100%);margin:24px 0 18px;border:1px solid rgba(85,62,46,.16);border-radius:24px;background:linear-gradient(145deg,#f5ecdf 0%,#e5d4bd 58%,#d6c0a5 100%);color:#41362e;box-shadow:0 24px 55px rgba(48,34,25,.16);overflow:hidden;position:relative}
.traveler-card::after{content:"";position:absolute;inset:auto -70px -90px auto;width:240px;height:240px;border:1px solid rgba(86,104,79,.13);border-radius:50%;box-shadow:0 0 0 30px rgba(86,104,79,.035),0 0 0 62px rgba(86,104,79,.025);pointer-events:none}
.traveler-card__top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 24px 16px;border-bottom:1px solid rgba(85,62,46,.12);background:rgba(255,255,255,.18)}
.traveler-card__top div{display:grid;gap:3px}.traveler-card__top span,.traveler-card__top strong,.traveler-card__top b{font-size:9px;letter-spacing:.17em;text-transform:uppercase}.traveler-card__top strong{font-weight:800;color:#8c5d49}.traveler-card__top b{font-weight:700;color:#65705d;white-space:nowrap}
.traveler-card__title{padding:24px 24px 18px}.traveler-card__title small{display:block;color:#8c5d49;font-size:8px;font-weight:800;letter-spacing:.2em}.traveler-card__title h3{margin:8px 0 5px;font:500 clamp(28px,4vw,44px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}.traveler-card__title p{margin:0;color:#7a695b;font:400 13px/1.45 Georgia,serif}
.traveler-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0 24px 22px;border:1px solid rgba(85,62,46,.11);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.19)}
.traveler-card__grid>div{padding:13px 15px;border-bottom:1px solid rgba(85,62,46,.09)}.traveler-card__grid>div:nth-child(odd){border-right:1px solid rgba(85,62,46,.09)}.traveler-card__grid>div:nth-last-child(-n/**/+2){border-bottom:0}.traveler-card__grid dt{margin:0 0 4px;color:#8b7765;font-size:7px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.traveler-card__grid dd{margin:0;font-size:11px;font-weight:650;overflow-wrap:anywhere}
.traveler-card__foot{position:relative;z-index:1;padding:15px 24px 18px;border-top:1px solid rgba(85,62,46,.1);color:#6c5a4d;font:italic 12px/1.5 Georgia,serif}
.traveler-card--waiting{min-height:190px;opacity:.76}.traveler-card--waiting .traveler-card__title{padding-bottom:34px}
.profile-card--documents .traveler-card{margin-top:26px}.docs-hint{max-width:720px;color:rgba(255,255,255,.62);font:400 13px/1.5 Georgia,serif}
.passport-waiting>.traveler-card{flex:0 1 430px;margin:0}.passport-waiting>p{flex:1}
.scene5-walk-time{margin:14px 0 2px;color:rgba(255,248,238,.68);font:400 14px/1.55 Georgia,serif}
@media(max-width:720px){.traveler-card{border-radius:20px}.traveler-card__top,.traveler-card__title,.traveler-card__foot{padding-left:18px;padding-right:18px}.traveler-card__grid{margin-left:18px;margin-right:18px;grid-template-columns:1fr}.traveler-card__grid>div,.traveler-card__grid>div:nth-child(odd){border-right:0;border-bottom:1px solid rgba(85,62,46,.09)}.traveler-card__grid>div:last-child{border-bottom:0}.passport-waiting{display:block}.passport-waiting>.traveler-card{width:100%;margin:0 0 18px}.passport-waiting>p{text-align:left}.profile-card--documents .traveler-card{margin-left:auto;margin-right:auto}.docs-hint{text-align:center}}

/* === SCENE 6 RC1 · Seo-yeon & Grandmother === */
.scene[data-mode^="scene6-"] .scene__image{object-position:center center;transform:scale(1.015);transition:transform 7s ease,filter .6s ease}
.scene[data-mode="scene6-entry"] .scene__image{object-position:center 44%}
.scene[data-mode="scene6-seoyeon"] .scene__image,.scene[data-mode="scene6-grandma"] .scene__image,.scene[data-mode="scene6-mandarin"] .scene__image{object-position:center 48%}
.scene[data-mode="scene6-papa"] .scene__image{object-position:center 48%}
.scene[data-mode^="scene6-"] .scene__image-shade{background:linear-gradient(180deg,rgba(9,8,6,.05) 0%,rgba(9,8,6,.06) 40%,rgba(8,7,5,.52) 100%)}
.scene6-stage{position:absolute;z-index:16;inset:0;display:flex;align-items:flex-end;pointer-events:none;padding:92px max(var(--safe-x),4vw) max(28px,env(safe-area-inset-bottom));overflow:hidden}
.scene6-stage::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent 32%,rgba(10,8,6,.08) 54%,rgba(9,7,5,.46) 100%)}
.scene6-stage--entry{justify-content:flex-end}.scene6-stage--talk{justify-content:flex-end}.scene6-stage--family,.scene6-stage--grandma{justify-content:flex-start}.scene6-stage--evening{justify-content:center}







.scene6-spoken{font-size:clamp(18px,1.65vw,23px)!important;color:#fff!important}.scene6-spoken--soft{color:#f0d1c2!important;font-style:italic}
.scene6-translation{display:block;margin-top:5px;color:rgba(255,255,255,.58);font:italic 12px/1.4 Georgia,serif}


.scene6-mae{display:flex;align-items:flex-start;gap:10px;margin:14px 0 3px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045)}
.scene6-mae img{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.18);background:#efe8de}.scene6-mae span{display:block;color:#efc2ad;font-size:9px;font-weight:800;letter-spacing:.08em}.scene6-mae p{margin:4px 0 0!important;color:rgba(255,255,255,.82)!important;font-size:14px!important;line-height:1.46!important}
.scene6-client{margin-bottom:14px;padding:11px 12px;border-left:2px solid rgba(226,162,136,.65);background:rgba(255,255,255,.035)}.scene6-client>small{display:block;margin-bottom:5px;color:#e4ac91;font-size:8px;font-weight:800;letter-spacing:.14em}.scene6-client p{margin:0;color:#fff;font:400 15px/1.45 Georgia,serif}



.scene6-mandarin{display:flex;align-items:center;gap:11px;margin-top:14px;padding:10px 14px 10px 10px;border:1px solid rgba(232,181,134,.33);border-radius:999px;background:rgba(255,177,73,.09);color:#fff;cursor:pointer}.scene6-mandarin span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:rgba(255,175,61,.18);font-size:21px}.scene6-mandarin strong{font-size:11px}




@media(max-width:820px){
  .scene[data-mode^="scene6-"] .scene__image{object-position:center 44%;transform:scale(1.01)}
  .scene[data-mode="scene6-entry"] .scene__image{object-position:center 38%}.scene[data-mode="scene6-papa"] .scene__image{object-position:center 45%}
  .scene6-stage{padding:74px 12px max(11px,env(safe-area-inset-bottom));align-items:flex-end}
  
  .scene6-spoken{font-size:17px!important}.scene6-mae{padding:9px 10px}.scene6-mae p{font-size:13.5px!important}.scene6-mandarin{width:100%;justify-content:center;border-radius:13px}
}
@media(max-width:480px){
  .scene6-client{padding:9px 10px}.scene6-stage{padding-left:8px;padding-right:8px}
}
@media(prefers-reduced-motion:reduce){.scene[data-mode^="scene6-"] .scene__image{transform:none;transition:none}}

/* === S5–S6 UX POLISH 1 · less UI, more lived scene === */
.scene-flow-cue{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:44px;height:18px;transform:translateX(-50%);pointer-events:none;opacity:.7}
.scene-flow-cue::before{content:"";position:absolute;left:50%;top:2px;width:1px;height:12px;background:rgba(255,255,255,.32)}
.scene-flow-cue i{position:absolute;left:50%;top:2px;width:3px;height:3px;margin-left:-1px;border-radius:50%;background:#f1c1aa;box-shadow:0 0 12px rgba(241,193,170,.6);animation:scene-flow 1.6s ease-in-out infinite}
@keyframes scene-flow{0%{transform:translateY(0);opacity:.25}55%{opacity:1}100%{transform:translateY(10px);opacity:0}}

.scene-conversation-choices{display:grid;gap:2px;margin-top:12px;border-top:1px solid rgba(255,255,255,.10)}
.scene-conversation-choice{position:relative;width:100%;padding:11px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:rgba(255,255,255,.9);text-align:left;font:500 14px/1.42 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;transition:color .18s ease,background .18s ease,padding-left .18s ease}
.scene-conversation-choice::after{content:"›";position:absolute;right:3px;top:50%;transform:translateY(-50%);color:rgba(239,194,173,.62);font-size:18px}
.scene-conversation-choice:hover,.scene-conversation-choice:focus-visible{color:#fff;background:rgba(255,255,255,.035);padding-left:7px;outline:none}
.scene-conversation-choice--korean{display:grid;gap:2px;padding-right:28px}.scene-conversation-choice--korean strong{font:650 19px/1.25 system-ui,sans-serif}.scene-conversation-choice--korean small{color:rgba(255,255,255,.56);font-size:10px;font-weight:500}
.scene-conversation-choices--compact{margin-top:10px}.scene-conversation-choices--compact .scene-conversation-choice{padding-top:9px;padding-bottom:9px}

.scene-lang-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 9px;align-items:center;margin:8px 0;padding:9px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.scene-lang-line>strong{grid-column:1;color:#fff;font:650 clamp(20px,2vw,27px)/1.2 system-ui,sans-serif;letter-spacing:-.02em}
.scene-lang-help{grid-column:1;color:rgba(255,255,255,.58);font-size:10px;line-height:1.4}.scene-lang-tools{grid-column:2;grid-row:1/3;display:flex;gap:5px;align-self:center}
.scene-lang-icon{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);color:#fff;display:grid;place-items:center;cursor:pointer}.scene-lang-icon:hover{background:rgba(255,255,255,.09)}
.scene-lang-translate{grid-column:1;justify-self:start;padding:0;border:0;border-bottom:1px solid rgba(231,171,143,.38);background:transparent;color:#e4ad95;font-size:9px;cursor:pointer}
.scene-lang-line.is-speaking>strong{animation:korean-follow var(--speech-duration) linear}

.scene-object-action{position:absolute;z-index:20;display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#fff;cursor:pointer;padding:7px 8px;text-shadow:0 2px 16px rgba(0,0,0,.72)}
.scene-object-action i{position:relative;width:16px;height:16px;flex:0 0 16px;border:1px solid rgba(255,255,255,.92);border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.08),0 0 18px rgba(255,255,255,.22)}
.scene-object-action i::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.2);border-radius:50%;animation:object-pulse 1.8s ease-out infinite}
.scene-object-action span{padding:6px 9px;border-radius:999px;background:rgba(8,8,7,.54);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(9px);font-size:10px;font-weight:700;letter-spacing:.02em}
@keyframes object-pulse{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.35);opacity:0}}

.scene5-presence{width:min(560px,100%);padding:16px 17px;border-radius:18px;background:linear-gradient(135deg,rgba(8,9,9,.58),rgba(8,9,9,.30));border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(13px);box-shadow:0 24px 70px rgba(0,0,0,.24)}
.scene5-presence>small{color:#e2a288;font-size:9px;font-weight:800;letter-spacing:.15em}.scene5-presence>p{margin:8px 0 0;color:rgba(255,255,255,.86);font:400 16px/1.48 Georgia,serif}
.scene5-cinematic--flow,.scene5-house-reveal--auto,.scene5-father-stage--flow,.scene5-threshold--flow,.scene5-inside--flow{padding-bottom:max(48px,env(safe-area-inset-bottom))}
.scene5-mae--whisper{padding:9px 11px;background:rgba(9,10,10,.44);border-color:rgba(255,255,255,.09);box-shadow:none}.scene5-mae--whisper img{width:31px;height:31px}.scene5-mae--whisper p{font-size:14px}
.scene5-dialogue-card--cinematic{max-height:none;overflow:visible;width:min(520px,100%);padding:15px 16px;background:linear-gradient(135deg,rgba(8,9,9,.64),rgba(8,9,9,.36));border-color:rgba(255,255,255,.10)}
.scene5-dialogue-card--choice{width:min(520px,100%);max-height:70svh;padding:15px 16px;background:linear-gradient(135deg,rgba(8,9,9,.69),rgba(8,9,9,.40))}
.scene5-dialogue-card--choice .scene-conversation-choices{margin-top:9px}
.scene5-muted{margin:7px 0 0!important;color:rgba(255,255,255,.62)!important;font:400 13px/1.45 Georgia,serif!important}
.scene5-doorbell-copy--minimal,.scene5-threshold-copy--minimal,.scene5-inside-caption--minimal{width:min(500px,100%);padding:14px 15px;background:linear-gradient(135deg,rgba(8,9,9,.58),rgba(8,9,9,.31));border-color:rgba(255,255,255,.09)}
.scene5-doorbell-copy--minimal h2{font-size:clamp(26px,3.5vw,39px);margin:6px 0}.scene5-doorbell-copy--minimal p{margin:6px 0}
.scene5-gift-stage--reaction .scene5-dialogue-card{width:min(550px,72%)}.scene5-gift-stage--choice .scene5-dialogue-card{width:min(560px,72%)}
.scene5-gift-stage--reaction .scene5-mae{margin-top:9px}
.scene5-client-reply{margin-bottom:9px;padding-left:10px;border-left:1px solid rgba(224,160,132,.58)}.scene5-client-reply>small{color:#e0a084;font-size:8px;font-weight:800;letter-spacing:.12em}.scene5-client-reply p{margin:4px 0 0;font:400 15px/1.42 Georgia,serif}
.scene5-bell{background:rgba(8,9,9,.24);box-shadow:0 12px 40px rgba(0,0,0,.18)}
.scene5-bell strong{font-size:10px;letter-spacing:.05em}.scene5-bell span{width:18px;height:18px}
.scene5-offscreen{padding:8px 10px;margin-top:10px}.scene5-offscreen strong{font-size:19px}.scene5-offscreen small{font-size:11px}

.scene-beat{opacity:0;transform:translateY(4px);animation:scene-beat-in .48s ease forwards}.scene-beat--1{animation-delay:.15s}.scene-beat--2{animation-delay:1.1s}.scene-beat--3{animation-delay:2.2s}.scene-beat--4{animation-delay:3.15s}.scene-beat--5{animation-delay:4.2s}
@keyframes scene-beat-in{to{opacity:1;transform:none}}




.scene6-stage--object{pointer-events:none}.scene6-stage--object .scene-object-action{pointer-events:auto}
.scene-object-action--seat{left:14%;bottom:17%}.scene-object-action--mandarin{left:47%;bottom:23%;transform:translateX(-50%)}.scene-object-action--greet{left:50%;bottom:13%;transform:translateX(-50%)}


.scene6-mae--whisper{margin:10px 0 0;padding:8px 9px;background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.07)}.scene6-mae--whisper img{width:30px;height:30px;flex-basis:30px}.scene6-mae--whisper p{font-size:13px!important}

.scene6-next-whisper{margin-top:16px;padding-top:11px;border-top:1px solid rgba(255,255,255,.08);display:flex;gap:12px;align-items:baseline}.scene6-next-whisper span{color:#e4ac91;font-size:10px;font-weight:800;letter-spacing:.12em}.scene6-next-whisper p{margin:0!important;color:rgba(255,255,255,.62)!important;font-size:13px!important}

/* The current S6 family shot keeps Grandmother visible in the kitchen. This cinematic push is a temporary framing hook until the dedicated approach asset is supplied. */
.scene[data-mode="scene6-grandma"] .scene__image{transform:scale(1.24);object-position:58% 27%;transition:transform 5.5s ease,object-position 5.5s ease,filter .6s ease}
.scene[data-mode="scene6-grandma"] .scene__image-shade{background:linear-gradient(180deg,rgba(9,8,6,.02) 0%,rgba(9,8,6,.04) 48%,rgba(8,7,5,.48) 100%)}

@media(max-width:820px){
  .scene-flow-cue{bottom:max(10px,env(safe-area-inset-bottom));height:15px}
  .scene5-cinematic--flow,.scene5-house-reveal--auto,.scene5-father-stage--flow,.scene5-threshold--flow,.scene5-inside--flow{padding-bottom:max(34px,env(safe-area-inset-bottom))}
  .scene5-presence{padding:13px 12px;border-radius:15px;max-height:67svh;overflow:auto}.scene5-presence>p{font-size:14.5px}
  .scene-conversation-choice{font-size:13.5px;padding:10px 1px;padding-right:25px}
  .scene5-dialogue-card--cinematic,.scene5-dialogue-card--choice,.scene5-doorbell-copy--minimal,.scene5-threshold-copy--minimal,.scene5-inside-caption--minimal{width:100%;padding:12px 12px;border-radius:14px;max-height:61svh;overflow:auto}
  .scene5-gift-stage--reaction .scene5-dialogue-card,.scene5-gift-stage--choice .scene5-dialogue-card{width:100%}.scene5-gift-visible{width:88px;right:11px;top:78px;opacity:.92}
  .scene-lang-line>strong{font-size:20px}.scene-lang-icon{width:29px;height:29px}.scene-lang-help{font-size:9.5px}
  .scene-object-action span{font-size:9.5px;padding:5px 8px}
  
  .scene6-stage--grandma-approach{align-items:flex-end;padding-bottom:max(62px,env(safe-area-inset-bottom))}
  .scene-object-action--seat{left:8%;bottom:12%}.scene-object-action--mandarin{left:50%;bottom:12%}.scene-object-action--greet{left:50%;bottom:8%}
  .scene[data-mode="scene6-grandma"] .scene__image{transform:scale(1.18);object-position:57% 23%}
  .scene6-next-whisper{gap:8px}.scene6-next-whisper p{font-size:12px!important}
}

@media(max-width:420px){
  .scene5-mae--whisper p{font-size:13px}.scene5-route-chip{padding:8px 10px}.scene5-reply-echo{padding:8px 10px;margin:7px 0}.scene5-reply-echo p{font-size:14px}
  .scene6-spoken{font-size:16px!important}
}

@media(prefers-reduced-motion:reduce){.scene-flow-cue i,.scene-object-action i::after,.scene-beat{animation:none}.scene-beat{opacity:1;transform:none}.scene[data-mode="scene6-grandma"] .scene__image{transition:none}}
.scene5-gift-stage--reaction .scene5-mae{opacity:0;transform:translateY(4px);animation:scene-beat-in .48s ease 5.05s forwards}
@media(prefers-reduced-motion:reduce){.scene5-gift-stage--reaction .scene5-mae{opacity:1;transform:none;animation:none}}

/* QUALITY PASS 1 · S1–S6 */
.scene-flow-next{align-self:center;display:inline-flex;align-items:center;gap:9px;margin-top:14px;padding:7px 11px;border:0;border-radius:999px;background:rgba(8,9,9,.30);color:rgba(255,255,255,.78);font:700 10px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.06em;backdrop-filter:blur(8px);cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.scene-flow-next i{font-style:normal;font-size:14px;opacity:.72;animation:scene-flow-soft 1.8s ease-in-out infinite}.scene-flow-next:hover,.scene-flow-next:focus-visible{background:rgba(8,9,9,.50);color:#fff;transform:translateY(-1px);outline:none}.scene-flow-next--finish{margin-top:18px}
.scene-breath{align-self:center;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;margin:10px auto 0;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(8,9,9,.30);color:rgba(255,255,255,.70);backdrop-filter:blur(8px);cursor:pointer;pointer-events:auto;transition:background .18s ease,color .18s ease,transform .18s ease}
.scene-breath span{font:500 16px/1 system-ui,sans-serif;transform:translateY(-1px);animation:scene-flow-soft 2.2s ease-in-out infinite}
.scene-breath:hover,.scene-breath:focus-visible{background:rgba(8,9,9,.48);color:#fff;transform:translateY(-1px);outline:none}
@keyframes scene-flow-soft{0%,100%{transform:translateY(-1px);opacity:.5}50%{transform:translateY(2px);opacity:1}}
.scene-free-korean{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:11px;padding-top:11px;border-top:1px solid rgba(255,255,255,.10)}
.scene-free-korean input{min-width:0;width:100%;padding:10px 11px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:rgba(7,8,8,.34);color:#fff;font:500 16px/1.25 system-ui,sans-serif;outline:none}.scene-free-korean input::placeholder{color:rgba(255,255,255,.42)}.scene-free-korean input:focus{border-color:rgba(226,162,136,.58);box-shadow:0 0 0 3px rgba(226,162,136,.10)}
.scene-free-korean button{padding:10px 12px;border:1px solid rgba(226,162,136,.32);border-radius:11px;background:rgba(226,162,136,.12);color:#fff;font:750 11px/1 system-ui,sans-serif;cursor:pointer}
.scene-lang-disclosure,.language-help-disclosure{grid-column:1;display:block;margin-top:3px;color:rgba(255,255,255,.62);font:500 10px/1.35 system-ui,sans-serif}.scene-lang-disclosure summary,.language-help-disclosure summary{display:inline-flex;align-items:center;gap:5px;color:rgba(239,194,173,.82);cursor:pointer;list-style:none;font-weight:750;letter-spacing:.03em}.scene-lang-disclosure summary::-webkit-details-marker,.language-help-disclosure summary::-webkit-details-marker{display:none}.scene-lang-disclosure summary::after,.language-help-disclosure summary::after{content:"+";font-size:12px}.scene-lang-disclosure[open] summary::after,.language-help-disclosure[open] summary::after{content:"−"}.scene-lang-disclosure span{display:block;margin-top:4px;color:rgba(255,255,255,.58)}
.language-help-disclosure{margin:6px 0 0}.language-help-disclosure .romanization,.language-help-disclosure .translation{display:block;margin-top:4px}
.language-block--guided>.romanization,.language-block--guided>.translation{display:none}
@media(max-width:820px){.scene-flow-next{margin-top:10px;padding:7px 10px}.scene-free-korean{grid-template-columns:1fr}.scene-free-korean button{width:100%}.scene-lang-disclosure,.language-help-disclosure{font-size:9.5px}}
@media(prefers-reduced-motion:reduce){.scene-flow-next i,.scene-breath span{animation:none}}

/* =========================================================
   AUTHORITY PASS 1 · SCENE 6
   Less UI, more lived-in presence. S1–S5 intentionally untouched.
   ========================================================= */
.scene[data-mode^="scene6-"] .scene__image{
  transition:opacity .62s ease,transform 6s cubic-bezier(.2,.65,.25,1),object-position 6s ease,filter .45s ease;
  transform:scale(1.015);
}
.scene[data-mode="scene6-entry"] .scene__image{object-position:center 48%;transform:scale(1.02)}
.scene[data-mode="scene6-salon"] .scene__image{object-position:center 40%;transform:scale(1.018)}
.scene[data-mode="scene6-seoyeon"] .scene__image{object-position:center 45%;transform:scale(1.02)}
.scene[data-mode="scene6-grandma"] .scene__image{object-position:center 42%;transform:scale(1.025)}
.scene[data-mode="scene6-mandarin"] .scene__image{object-position:center 52%;transform:scale(1.02)}
.scene[data-mode="scene6-chat"] .scene__image{object-position:center 44%;transform:scale(1.018)}
.scene[data-mode="scene6-papa"] .scene__image{object-position:center 45%;transform:scale(1.018)}
.scene[data-mode="scene6-evening"] .scene__image{object-position:center 46%;transform:scale(1.025)}
.scene[data-mode^="scene6-"] .scene__image-shade{
  background:linear-gradient(180deg,rgba(7,6,5,.025) 0%,rgba(7,6,5,.035) 50%,rgba(7,6,5,.42) 100%);
}

.scene6-stage--immersive{pointer-events:none;isolation:isolate}
.scene6-tap-layer{
  position:absolute;inset:0;z-index:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;
  color:#fff;text-align:center;
}
.scene6-tap-layer:focus-visible{outline:2px solid rgba(239,194,173,.75);outline-offset:-6px}
.scene6-tap-cue{
  position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 30px);padding:7px 10px;border-radius:999px;
  background:rgba(9,8,7,.28);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);
  color:rgba(255,255,255,.72);font:700 9px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.06em;white-space:nowrap;text-transform:none;
}
.scene6-tap-cue i{width:5px;height:5px;border-radius:50%;background:#e8b49b;box-shadow:0 0 0 5px rgba(232,180,155,.08);animation:scene6-cue-pulse 1.9s ease-in-out infinite}
@keyframes scene6-cue-pulse{0%,100%{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}

.scene6-caption{
  position:relative;z-index:2;pointer-events:auto;width:min(490px,100%);padding:13px 14px 12px;
  border:1px solid rgba(255,255,255,.09);border-radius:15px;
  background:linear-gradient(135deg,rgba(10,9,8,.50),rgba(10,9,8,.22));
  backdrop-filter:blur(11px);box-shadow:0 18px 46px rgba(0,0,0,.18);color:#fff;
}
.scene6-caption--left{margin-right:auto}.scene6-caption--right{margin-left:auto}.scene6-caption--dialogue{width:min(500px,100%)}
.scene6-caption--final{width:min(610px,100%)}
.scene6-caption>small,.scene6-choice-dock>small{display:block;margin:0 0 7px;color:#e7b099;font-size:8px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.scene6-caption>strong{display:block;color:#fff;font:500 clamp(23px,2.6vw,35px)/1.1 Georgia,serif}
.scene6-caption>p{margin:7px 0 0;color:rgba(255,255,255,.80);font:400 clamp(14px,1.25vw,17px)/1.48 Georgia,serif}
.scene6-caption .scene6-spoken{font-size:clamp(17px,1.5vw,21px)!important}
.scene6-caption .scene6-client{margin:0 0 12px}
.scene6-caption .scene-lang-line{margin:8px 0 3px}
.scene6-caption .scene-lang-line strong{font-size:clamp(20px,1.8vw,25px)}
.scene6-caption .scene-lang-disclosure{margin-top:3px}
.scene6-caption--grandma{width:min(440px,100%)}
.scene6-caption--grandma .scene6-mae{margin-bottom:0}
.scene6-offscreen-label{margin:12px 0 2px!important;color:rgba(255,255,255,.54)!important;font:700 9px/1.2 system-ui,sans-serif!important;letter-spacing:.12em;text-transform:uppercase}

.scene6-choice-dock{
  position:relative;z-index:3;pointer-events:auto;width:min(470px,100%);margin-right:auto;padding:13px 15px 8px;
  border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(10,9,8,.57);backdrop-filter:blur(13px);
  box-shadow:0 20px 54px rgba(0,0,0,.22);color:#fff;
}
.scene6-choice-dock--right{margin-left:auto;margin-right:0}
.scene6-choice-dock .scene6-spoken{margin:0;color:#fff!important;font:500 clamp(18px,1.55vw,22px)/1.35 Georgia,serif!important}
.scene6-choice-dock .scene6-translation{margin-top:4px}
.scene6-choice-dock .scene-conversation-choices{margin-top:9px}
.scene6-choice-dock .scene-conversation-choice{padding-top:9px;padding-bottom:9px;font-size:13.5px}

.scene6-action-echo{
  position:relative;z-index:2;pointer-events:none;align-self:flex-end;margin-right:auto;margin-bottom:40px;
  padding:9px 11px;border-left:2px solid rgba(231,176,153,.78);background:rgba(9,8,7,.24);backdrop-filter:blur(7px);color:#fff;
}
.scene6-action-echo--table{margin-bottom:34px}
.scene6-action-echo span{display:block;color:#e7b099;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.16em}
.scene6-action-echo p{margin:4px 0 0;color:rgba(255,255,255,.78);font:400 14px/1.42 Georgia,serif}

.scene-object-action--premium{z-index:5}
.scene-object-action--premium span{background:rgba(8,7,6,.42);border-color:rgba(255,255,255,.13);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.scene-object-action--seat{left:32%;bottom:20%}
.scene-object-action--greet{left:50%;bottom:12%;transform:translateX(-50%)}
.scene-object-action--mandarin{left:49%;bottom:29%;transform:translateX(-50%)}
.scene6-free-dock{position:absolute;z-index:5;left:50%;bottom:max(19px,env(safe-area-inset-bottom));width:min(470px,calc(100% - 28px));transform:translateX(-50%);pointer-events:auto}
.scene6-free-dock .scene-free-korean{background:rgba(9,8,7,.58);border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:8px;backdrop-filter:blur(12px)}
.scene6-free-dock .scene-free-korean input{background:rgba(255,255,255,.055)}
.scene6-free-dock .scene-free-korean button{border-radius:10px}

.scene6-next-whisper{margin-top:13px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.scene6-stage--entry,.scene6-stage--salon,.scene6-stage--family,.scene6-stage--grandma,.scene6-stage--table,.scene6-stage--talk,.scene6-stage--evening{align-items:flex-end}
.scene6-stage--entry,.scene6-stage--family,.scene6-stage--grandma,.scene6-stage--table,.scene6-stage--talk,.scene6-stage--evening{justify-content:flex-start}
.scene6-stage--salon{justify-content:flex-end}

@media(max-width:820px){
  .scene[data-mode="scene6-entry"] .scene__image{object-position:center 44%}
  .scene[data-mode="scene6-salon"] .scene__image{object-position:center 38%}
  .scene[data-mode="scene6-seoyeon"] .scene__image{object-position:center 38%}
  .scene[data-mode="scene6-grandma"] .scene__image{object-position:center 31%;transform:scale(1.04)}
  .scene[data-mode="scene6-mandarin"] .scene__image{object-position:center 50%}
  .scene[data-mode="scene6-chat"] .scene__image{object-position:center 34%}
  .scene[data-mode="scene6-papa"] .scene__image{object-position:center 40%}
  .scene[data-mode="scene6-evening"] .scene__image{object-position:center 38%}
  .scene6-stage{padding:72px 10px max(14px,env(safe-area-inset-bottom))}
  .scene6-caption,.scene6-choice-dock{width:100%;padding:11px 12px 10px;border-radius:14px;max-height:48svh;overflow:auto;overscroll-behavior:contain}
  .scene6-caption>strong{font-size:22px}.scene6-caption>p{font-size:13.5px}.scene6-caption .scene6-spoken{font-size:16px!important}
  .scene6-tap-cue{bottom:max(10px,env(safe-area-inset-bottom));font-size:8.5px;padding:6px 9px}
  .scene-object-action--seat{left:21%;bottom:12%}.scene-object-action--greet{bottom:7%}.scene-object-action--mandarin{left:50%;bottom:16%}
  .scene6-free-dock{bottom:max(9px,env(safe-area-inset-bottom));width:calc(100% - 20px)}
  .scene6-action-echo{margin-bottom:35px;max-width:calc(100% - 20px)}
  .scene6-choice-dock .scene-conversation-choice{font-size:13px}
}
@media(max-width:390px){
  .scene6-caption,.scene6-choice-dock{max-height:50svh;padding:10px 10px 9px}
  .scene6-caption>strong{font-size:20px}.scene6-caption>p{font-size:13px}
  .scene6-caption .scene-lang-line strong{font-size:19px}
  .scene6-tap-cue{max-width:90vw;white-space:normal}
  .scene-object-action--seat{left:16%;bottom:11%}.scene-object-action--mandarin{bottom:14%}
}
@media(prefers-reduced-motion:reduce){
  .scene6-tap-cue i{animation:none}.scene[data-mode^="scene6-"] .scene__image{transition:none;transform:none}
}

/* SCENE 7 */
.scene[data-mode^="scene7-"] .scene__image{filter:saturate(.97) brightness(.9);transition:transform 1.1s ease}.scene7-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}.scene7-caption{pointer-events:auto;width:min(540px,100%);padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(10,9,8,.52);backdrop-filter:blur(11px)}.scene7-caption--left{margin-right:auto}.scene7-caption--right{margin-left:auto}.scene7-caption small,.scene7-choice-panel small{display:block;color:#e7b099;font:800 8px/1.2 system-ui;letter-spacing:.15em;margin:0 0 7px}.scene7-caption strong{display:block;font:500 clamp(22px,2.5vw,34px)/1.1 Georgia,serif}.scene7-caption p{margin:7px 0 0;font:400 15px/1.45 Georgia,serif;color:rgba(255,255,255,.82)}.scene7-tap-layer{position:absolute;inset:0;z-index:2;border:0;background:transparent;pointer-events:auto}.scene7-tap-cue{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(7,6,5,.38);color:#fff;font:700 9px system-ui;white-space:nowrap}.scene7-choice-dock,.scene7-choice-panel{pointer-events:auto;position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 24px));padding:10px;border-radius:15px;background:rgba(10,9,8,.6);backdrop-filter:blur(12px)}.scene7-choice-dock{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.scene7-choice-dock button,.scene7-choice-panel button,.scene7-nonverbal,.scene7-stand-action{border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:10px;font:650 13px system-ui}.scene7-choice-panel{position:relative;left:auto;bottom:auto;transform:none;margin:0 auto}.scene7-choice-panel>div{display:grid;gap:7px}.scene7-free-dock{position:absolute;z-index:5;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(470px,calc(100% - 24px));pointer-events:auto}.scene7-nonverbal{position:absolute;z-index:5;right:18px;bottom:max(14px,env(safe-area-inset-bottom));pointer-events:auto}.scene7-gift-object{position:absolute;right:5%;bottom:9%;z-index:3;width:min(180px,16vw);pointer-events:none}.scene7-gift-object img{display:block;width:100%;height:auto;filter:drop-shadow(0 14px 24px rgba(0,0,0,.28))}.scene7-gift-object figcaption{display:none}.scene7-stand-action{position:absolute;z-index:5;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);pointer-events:auto;background:rgba(9,8,7,.58)}.scene7-client{margin-bottom:10px;padding:8px;border-left:2px solid #e7b099;background:rgba(255,255,255,.035)}
@media(max-width:820px){.scene7-gift-object{right:12px;top:82px;bottom:auto;width:96px}.scene7-stage{padding:70px 10px max(10px,env(safe-area-inset-bottom))}.scene7-caption{width:100%;max-height:48svh;overflow:auto;padding:11px 12px}.scene7-caption p{font-size:13.5px}.scene7-choice-dock{grid-template-columns:1fr;width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom))}.scene7-choice-panel{width:100%;max-height:44svh;overflow:auto}.scene7-free-dock{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom))}.scene7-nonverbal{right:10px;bottom:max(8px,env(safe-area-inset-bottom));max-width:46%;font-size:11px}.scene7-tap-cue{max-width:90vw;white-space:normal;text-align:center}.scene[data-mode="scene7-entry"] .scene__image{object-position:center 34%}.scene[data-mode="scene7-greeting"] .scene__image{object-position:center 27%}.scene[data-mode="scene7-sibling"] .scene__image{object-position:center 35%}.scene[data-mode="scene7-conversation"] .scene__image{object-position:center 36%}.scene[data-mode="scene7-gift"] .scene__image{object-position:center 35%}.scene[data-mode="scene7-dinner"] .scene__image{object-position:center 28%}}


/* ===== SCENE 8 · DINNER AT THE HAN HOME · AUTHORITY PASS 1 ===== */
.scene[data-mode^="scene8-"] .scene__image{filter:saturate(.94) contrast(1.012) brightness(.89);transition:transform 1.15s ease,filter .65s ease}
.scene[data-mode="scene8-table"] .scene__image{transform:scale(1.012)}
.scene[data-mode="scene8-welcome"] .scene__image{transform:scale(1.018)}
.scene[data-mode="scene8-bibimbap"] .scene__image{transform:scale(1.022)}
.scene[data-mode="scene8-bite"] .scene__image{transform:scale(1.018)}
.scene[data-mode="scene8-bulgogi"] .scene__image{transform:scale(1.018)}
.scene[data-mode="scene8-pour"] .scene__image{transform:scale(1.022)}
.scene[data-mode="scene8-banchan"] .scene__image{transform:scale(1.014)}
.scene[data-mode="scene8-end"] .scene__image{transform:scale(1.01)}
.scene[data-mode^="scene8-"] .scene__veil{background:linear-gradient(180deg,rgba(8,6,4,.035),rgba(8,6,4,.08) 43%,rgba(8,6,4,.30))}
.scene8-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}
.scene8-stage--immersive{align-items:flex-end}
.scene8-caption{position:relative;z-index:4;pointer-events:auto;width:min(540px,100%);padding:14px 16px 13px;border:1px solid rgba(255,255,255,.095);border-radius:15px;background:linear-gradient(135deg,rgba(10,8,7,.54),rgba(10,8,7,.24));backdrop-filter:blur(11px);box-shadow:0 18px 46px rgba(0,0,0,.19)}
.scene8-caption--left{margin-right:auto}.scene8-caption--right{margin-left:auto}.scene8-caption--dialogue{width:min(520px,100%)}.scene8-caption--final{width:min(650px,100%)}
.scene8-caption small,.scene8-choice-panel small{display:block;margin:0 0 7px;color:#ecc09b;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.scene8-caption strong{display:block;color:#fff;font:500 clamp(23px,2.5vw,35px)/1.11 Georgia,serif}
.scene8-caption p{margin:7px 0 0;color:rgba(255,255,255,.83);font:400 clamp(14px,1.2vw,17px)/1.48 Georgia,serif}
.scene8-spoken{color:#fff!important;font-size:clamp(16px,1.45vw,20px)!important}
.scene8-translation{display:block;margin:3px 0 8px;color:rgba(255,255,255,.58);font:400 12px/1.35 system-ui,sans-serif}
.scene8-mae{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.scene8-mae img{width:31px;height:31px;border-radius:50%;object-fit:cover;flex:0 0 auto}.scene8-mae span{display:block;color:#e8a88e;font:800 9px/1.2 system-ui,sans-serif}.scene8-mae p{margin:2px 0 0;font-size:13px;color:rgba(255,255,255,.72)}
.scene8-tap-layer{position:absolute;inset:0;z-index:2;border:0;background:transparent;pointer-events:auto;cursor:pointer}
.scene8-tap-cue{position:absolute;left:50%;bottom:max(11px,env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(7,6,5,.34);backdrop-filter:blur(8px);color:rgba(255,255,255,.83);font:750 9px/1 system-ui,sans-serif;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}
.scene8-tap-cue i{width:5px;height:5px;border-radius:50%;background:#e9b58d;box-shadow:0 0 0 0 rgba(233,181,141,.4);animation:scene8Pulse 1.8s infinite}
@keyframes scene8Pulse{55%{box-shadow:0 0 0 7px rgba(233,181,141,0)}100%{box-shadow:0 0 0 0 rgba(233,181,141,0)}}
.scene8-object-action{position:absolute;z-index:6;pointer-events:auto;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(12,10,8,.48);backdrop-filter:blur(10px);color:#fff;padding:10px 14px;display:flex;align-items:center;gap:9px;font:700 12px/1.2 system-ui,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.18);cursor:pointer}
.scene8-object-action i{width:9px;height:9px;border-radius:50%;border:2px solid #e9b58d;box-shadow:0 0 0 5px rgba(233,181,141,.10)}
.scene8-object-action--seat{right:7%;bottom:14%}.scene8-object-action--bite{right:12%;bottom:17%}.scene8-object-action--pour{right:9%;bottom:18%}.scene8-object-action--retry{right:9%;bottom:16%}
.scene8-choice-panel{position:relative;z-index:5;pointer-events:auto;align-self:flex-end;margin:0 auto;width:min(560px,100%);padding:11px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(10,8,7,.58);backdrop-filter:blur(13px);box-shadow:0 20px 54px rgba(0,0,0,.22)}
.scene8-choice-panel .scene8-spoken,.scene8-choice-panel .scene8-question{margin:0 0 10px;color:#fff;font:500 clamp(17px,1.5vw,21px)/1.35 Georgia,serif}
.scene8-choice-panel>div{display:grid;gap:7px}
.scene8-choice-panel button{border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.055);color:#fff;padding:10px 11px;font:650 13px/1.3 system-ui,sans-serif;text-align:left;cursor:pointer}
.scene8-choice-panel button:hover{background:rgba(255,255,255,.10)}
.scene8-next{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}
.scene8-next span{display:block;color:#eab692;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.14em}
.scene8-next b{display:block;margin-top:4px;font:500 20px/1.2 Georgia,serif}
.scene[data-mode="scene8-pour"] .scene8-caption--right{max-width:470px}

@media(max-width:820px){
  .scene[data-mode="scene8-table"] .scene__image{object-position:center 34%}
  .scene[data-mode="scene8-welcome"] .scene__image{object-position:center 31%}
  .scene[data-mode="scene8-bibimbap"] .scene__image{object-position:center 30%}
  .scene[data-mode="scene8-bite"] .scene__image{object-position:center 34%}
  .scene[data-mode="scene8-bulgogi"] .scene__image{object-position:center 30%}
  .scene[data-mode="scene8-pour"] .scene__image{object-position:center 34%}
  .scene[data-mode="scene8-banchan"] .scene__image{object-position:center 34%}
  .scene[data-mode="scene8-end"] .scene__image{object-position:center 32%}
  .scene8-stage{padding:70px 10px max(11px,env(safe-area-inset-bottom))}
  .scene8-caption{width:100%;padding:11px 12px 10px;border-radius:14px;max-height:49svh;overflow:auto;overscroll-behavior:contain}
  .scene8-caption strong{font-size:21px}.scene8-caption p{font-size:13.3px}.scene8-spoken{font-size:16px!important}
  .scene8-choice-panel{width:100%;max-height:46svh;overflow:auto;padding:9px}
  .scene8-choice-panel button{font-size:12.5px;padding:9px 10px}
  .scene8-object-action{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 22px);white-space:normal;text-align:center}
  .scene8-stage--with-action .scene8-caption{margin-bottom:58px}
  .scene8-tap-cue{bottom:max(8px,env(safe-area-inset-bottom));font-size:8.4px;padding:6px 9px;max-width:90vw;white-space:normal;text-align:center}
}
@media(max-width:390px){
  .scene8-caption{max-height:51svh;padding:10px}.scene8-caption strong{font-size:20px}.scene8-caption p{font-size:12.9px}
  .scene8-choice-panel{max-height:48svh}.scene8-choice-panel button{font-size:12.2px}
}
@media(prefers-reduced-motion:reduce){.scene8-tap-cue i{animation:none}.scene[data-mode^="scene8-"] .scene__image{transition:none;transform:none}}


/* ===== SCENE 9 · FAIRE CONNAISSANCE · RELATION PASS 1 ===== */
.scene[data-mode^="scene9-"] .scene__image{filter:saturate(.94) contrast(1.015) brightness(.84);transition:transform 1.2s ease,filter .8s ease}
.scene[data-mode="scene9-opening"] .scene__image{transform:scale(1.012)}
.scene[data-mode="scene9-origin"] .scene__image{transform:scale(1.022);object-position:center center}
.scene[data-mode="scene9-reason"] .scene__image{transform:scale(1.018);object-position:center center}
.scene[data-mode="scene9-grandma"] .scene__image{transform:scale(1.026);object-position:center 42%}
.scene[data-mode="scene9-jiho"] .scene__image{transform:scale(1.028);object-position:center center}
.scene[data-mode="scene9-dessert"] .scene__image{transform:scale(1.018)}
.scene[data-mode^="scene9-"] .scene__veil{background:linear-gradient(180deg,rgba(7,5,4,.035),rgba(8,6,4,.07) 36%,rgba(8,6,4,.34))}
.scene9-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:86px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}
.scene9-stage--immersive{align-items:flex-end}
.scene9-caption{position:relative;z-index:4;width:min(560px,100%);padding:14px 16px 13px;border:1px solid rgba(255,255,255,.085);border-radius:15px;background:linear-gradient(135deg,rgba(10,8,7,.54),rgba(10,8,7,.25));backdrop-filter:blur(11px);box-shadow:0 20px 50px rgba(0,0,0,.19);pointer-events:auto}
.scene9-caption--left{margin-right:auto}.scene9-caption--right{margin-left:auto}.scene9-caption--question{margin-bottom:150px}.scene9-caption--final{width:min(640px,100%)}
.scene9-caption>small,.scene9-free>label{display:block;margin:0 0 7px;color:#e9b49a;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.scene9-caption>strong{display:block;color:#fff;font:500 clamp(23px,2.5vw,34px)/1.1 Georgia,serif}
.scene9-caption>p{margin:7px 0 0;color:rgba(255,255,255,.83);font:400 clamp(14px,1.2vw,17px)/1.48 Georgia,serif}
.scene9-family-beat{margin-top:11px!important;padding-top:9px;border-top:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.66)!important;font-size:13px!important}
.scene9-big-question{margin:0!important;color:#fff!important;font:500 clamp(19px,2vw,28px)/1.2 Georgia,serif!important}
.scene9-spoken{color:#fff!important;font-size:17px!important}
.scene9-mae{display:flex;gap:9px;align-items:flex-start;margin-top:11px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(255,255,255,.04)}
.scene9-mae img{width:28px;height:28px;border-radius:50%;object-fit:cover}.scene9-mae span{display:block;color:#e9b49a;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.12em}.scene9-mae p{margin:3px 0 0!important;font-size:12.5px!important;line-height:1.4!important;color:rgba(255,255,255,.77)!important}
.scene9-tap{position:absolute;inset:0;z-index:2;border:0;background:transparent;pointer-events:auto;cursor:pointer}
.scene9-tap>span{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;max-width:90vw;padding:6px 10px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(8,7,6,.34);backdrop-filter:blur(8px);color:rgba(255,255,255,.78);font:750 8.5px/1.15 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.scene9-tap i{width:5px;height:5px;border-radius:50%;background:#e9b49a;animation:scene9Pulse 1.8s infinite}@keyframes scene9Pulse{55%{box-shadow:0 0 0 7px rgba(233,180,154,0)}100%{box-shadow:0 0 0 0 rgba(233,180,154,0)}}
.scene9-replies{position:absolute;z-index:6;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(600px,calc(100% - 28px));display:grid;gap:0;pointer-events:auto;border-top:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(10,8,7,.16),rgba(10,8,7,.52));backdrop-filter:blur(10px)}
.scene9-replies button{appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.11);background:transparent;color:#fff;text-align:left;padding:11px 6px;cursor:pointer;font:500 14px/1.35 Georgia,serif;transition:background .18s ease,padding-left .18s ease}
.scene9-replies button:hover,.scene9-replies button:focus-visible{background:rgba(255,255,255,.055);padding-left:12px;outline:none}.scene9-replies button:last-child{border-bottom:0}
.scene9-free{position:absolute;z-index:6;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100% - 28px));padding:10px 12px;border-top:1px solid rgba(255,255,255,.15);background:linear-gradient(180deg,rgba(8,7,6,.16),rgba(8,7,6,.58));backdrop-filter:blur(11px);pointer-events:auto}
.scene9-free>div{display:flex;align-items:center;gap:8px}.scene9-free input{flex:1;min-width:0;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;padding:9px 2px;font:500 15px/1.3 Georgia,serif;outline:none}.scene9-free input::placeholder{color:rgba(255,255,255,.45)}.scene9-free button{width:34px;height:34px;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;cursor:pointer}.scene9-free>small{display:block;margin-top:6px;color:rgba(255,255,255,.52);font:500 10px/1.35 system-ui,sans-serif}
.scene9-next{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08)}.scene9-next span{display:block;color:#e9b49a;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.14em}.scene9-next b{display:block;margin-top:4px;font:500 20px/1.2 Georgia,serif;color:#fff}
@media(max-width:820px){
  .scene9-stage{padding:70px 10px max(10px,env(safe-area-inset-bottom))}
  .scene9-caption{width:100%;padding:11px 12px 10px;border-radius:13px;max-height:47svh;overflow:auto;overscroll-behavior:contain}.scene9-caption--question{margin-bottom:142px}
  .scene9-caption>strong{font-size:21px}.scene9-caption>p{font-size:13.4px}.scene9-big-question{font-size:18px!important}
  .scene9-replies{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom))}.scene9-replies button{font-size:13px;padding:9px 4px}
  .scene9-free{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));padding:9px 10px}.scene9-free input{font-size:14px}
  .scene9-tap>span{bottom:max(8px,env(safe-area-inset-bottom));font-size:8px}
  .scene[data-mode="scene9-origin"] .scene__image{object-position:center 34%}.scene[data-mode="scene9-reason"] .scene__image{object-position:center 36%}.scene[data-mode="scene9-grandma"] .scene__image{object-position:center 32%}.scene[data-mode="scene9-jiho"] .scene__image{object-position:center 30%}.scene[data-mode="scene9-dessert"] .scene__image{object-position:center 35%}
}
@media(max-width:390px){.scene9-caption{max-height:49svh;padding:10px}.scene9-caption>p{font-size:12.9px}.scene9-replies button{font-size:12.5px;padding:8px 3px}.scene9-caption--question{margin-bottom:136px}}
@media(prefers-reduced-motion:reduce){.scene9-tap i{animation:none}.scene[data-mode^="scene9-"] .scene__image{transition:none;transform:none}}


/* ===== SCENE 10 · DESSERT · IMMERSION PASS 1 ===== */
.scene[data-mode^="scene10-"] .scene__image{filter:saturate(.94) contrast(1.01) brightness(.90);transition:transform 1.2s ease,filter .8s ease}
.scene[data-mode^="scene10-"] .scene__veil{background:linear-gradient(180deg,rgba(8,6,5,.04),rgba(8,6,5,.10) 50%,rgba(8,6,5,.34))}
.scene[data-mode="scene10-dessert"] .scene__image{transform:scale(1.015)}
.scene[data-mode="scene10-drinks"] .scene__image,.scene[data-mode="scene10-difference"] .scene__image{transform:scale(1.01)}
.scene[data-mode="scene10-taste"] .scene__image{transform:scale(1.02)}
.scene10-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}
.scene10-caption{position:relative;z-index:4;pointer-events:auto;width:min(560px,100%);padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:linear-gradient(135deg,rgba(10,8,7,.55),rgba(10,8,7,.25));backdrop-filter:blur(11px);box-shadow:0 18px 48px rgba(0,0,0,.20)}
.scene10-caption--left{margin-right:auto}.scene10-caption--right{margin-left:auto}.scene10-caption--question{width:min(520px,100%)}.scene10-caption--final{width:min(620px,100%)}
.scene10-caption small{display:block;margin:0 0 6px;color:#e8b092;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.scene10-caption strong{display:block;color:#fff;font:500 clamp(22px,2.4vw,34px)/1.12 Georgia,serif}.scene10-caption p{margin:7px 0 0;color:rgba(255,255,255,.84);font:400 clamp(14px,1.25vw,17px)/1.48 Georgia,serif}.scene10-translation{display:block;margin-top:3px;color:rgba(255,255,255,.58);font:400 12px/1.35 system-ui,sans-serif}.scene10-family-beat{padding-top:7px;border-top:1px solid rgba(255,255,255,.08)}
.scene10-family-joke{margin-top:10px;padding:9px 10px;border-left:2px solid rgba(232,176,146,.65);background:rgba(255,255,255,.035)}.scene10-family-joke p{margin:3px 0 7px}.scene10-family-joke small{margin-top:5px}
.scene10-tap{position:absolute;inset:0;z-index:2;border:0;background:transparent;pointer-events:auto;cursor:pointer}.scene10-tap span{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(8,7,6,.37);backdrop-filter:blur(8px);color:rgba(255,255,255,.82);font:750 9px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.scene10-tap i{width:5px;height:5px;border-radius:50%;background:#e8b092;animation:scene10Pulse 1.8s infinite}@keyframes scene10Pulse{55%{box-shadow:0 0 0 7px rgba(232,176,146,0)}100%{box-shadow:0 0 0 0 rgba(232,176,146,0)}}
.scene10-replies{position:absolute;z-index:5;pointer-events:auto;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(560px,calc(100% - 28px));padding:9px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(10,8,7,.58);backdrop-filter:blur(13px);display:grid;gap:6px;box-shadow:0 20px 54px rgba(0,0,0,.22)}.scene10-replies button{border:0;border-bottom:1px solid rgba(255,255,255,.09);background:transparent;color:#fff;text-align:left;padding:10px 9px;cursor:pointer;font:500 14px/1.35 Georgia,serif}.scene10-replies button:last-child{border-bottom:0}.scene10-replies button:hover{background:rgba(255,255,255,.05)}
.scene10-free{position:absolute;z-index:5;pointer-events:auto;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(520px,calc(100% - 28px));padding:11px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(10,8,7,.60);backdrop-filter:blur(13px)}.scene10-free label{display:block;margin-bottom:7px;color:#fff;font:500 14px/1.3 Georgia,serif}.scene10-free>div{display:flex;gap:7px}.scene10-free input{min-width:0;flex:1;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;padding:10px 11px;outline:none}.scene10-free button{width:42px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.08);color:#fff}
.scene10-mae{display:grid;grid-template-columns:36px 1fr;gap:9px;margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.scene10-mae img{width:36px;height:36px;border-radius:50%;object-fit:cover}.scene10-mae span{color:#e8b092;font:800 9px/1 system-ui,sans-serif;letter-spacing:.09em}.scene10-mae p{margin-top:4px!important;font-size:13px!important;color:rgba(255,255,255,.77)!important}.scene10-next{margin-top:13px;padding-top:9px;border-top:1px solid rgba(255,255,255,.08)}.scene10-next span{display:block;color:#e8b092;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.14em}.scene10-next b{display:block;margin-top:4px;font:500 20px/1.2 Georgia,serif}
@media(max-width:820px){.scene10-stage{padding:70px 10px max(10px,env(safe-area-inset-bottom))}.scene10-caption{width:100%;max-height:48svh;overflow:auto;overscroll-behavior:contain;padding:11px 12px}.scene10-caption strong{font-size:21px}.scene10-caption p{font-size:13.5px}.scene10-replies{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));max-height:43svh;overflow:auto}.scene10-replies button{padding:9px 8px;font-size:13px}.scene10-free{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom))}.scene10-tap span{bottom:max(8px,env(safe-area-inset-bottom));font-size:8.5px;white-space:normal;max-width:90vw;text-align:center}.scene[data-mode="scene10-dessert"] .scene__image{object-position:center 30%}.scene[data-mode="scene10-drinks"] .scene__image{object-position:center 30%}.scene[data-mode="scene10-jeonju"] .scene__image{object-position:center 35%}.scene[data-mode="scene10-difference"] .scene__image{object-position:center 32%}.scene[data-mode="scene10-taste"] .scene__image{object-position:center 30%}.scene[data-mode="scene10-help"] .scene__image{object-position:center 34%}}
@media(max-width:390px){.scene10-caption{max-height:50svh}.scene10-caption strong{font-size:19.5px}.scene10-caption p{font-size:13px}.scene10-replies button{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){.scene10-tap i{animation:none}.scene[data-mode^="scene10-"] .scene__image{transition:none;transform:none}}

/* SCENE 11 — after dinner / relationship pass */
.scene[data-mode^="scene11-"] .scene__image{filter:saturate(.91) contrast(1.01) brightness(.82);transition:transform 1.6s ease,filter 1s ease}
.scene[data-mode^="scene11-"] .scene__image-shade{background:linear-gradient(180deg,rgba(8,6,5,.03),rgba(8,6,5,.06) 45%,rgba(8,6,5,.30))}
.scene[data-mode="scene11-opening"] .scene__image{transform:scale(1.015)}
.scene[data-mode="scene11-meal"] .scene__image{transform:scale(1.008)}
.scene[data-mode="scene11-jeonju"] .scene__image{transform:scale(1.012)}
.scene[data-mode="scene11-phone"] .scene__image{transform:scale(1.018)}
.scene[data-mode="scene11-end"] .scene__image{filter:saturate(.88) contrast(1.01) brightness(.74);transform:scale(1.012)}
.scene11-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}
.scene11-caption{position:relative;z-index:4;pointer-events:auto;width:min(555px,100%);padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(10,8,7,.50),rgba(10,8,7,.20));backdrop-filter:blur(12px);box-shadow:0 18px 48px rgba(0,0,0,.18)}
.scene11-caption--left{margin-right:auto}.scene11-caption--right{margin-left:auto}.scene11-caption--question{width:min(510px,100%)}.scene11-caption--quiet{background:linear-gradient(135deg,rgba(10,8,7,.44),rgba(10,8,7,.14))}.scene11-caption--phone{width:min(430px,100%)}
.scene11-caption small{display:block;margin:0 0 6px;color:#e8b092;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.scene11-caption strong{display:block;color:#fff;font:500 clamp(22px,2.35vw,33px)/1.13 Georgia,serif}.scene11-caption p{margin:7px 0 0;color:rgba(255,255,255,.84);font:400 clamp(14px,1.18vw,16.5px)/1.48 Georgia,serif}.scene11-sibling-beat{margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.075)}.scene11-sibling-beat small{margin-top:7px}.scene11-client-echo{font-style:italic;color:#fff!important}.scene11-memory-thread,.scene11-phone-hint{margin-top:10px!important;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.64)!important;font-size:12.5px!important}
.scene11-phone-card{position:absolute;z-index:5;pointer-events:auto;right:clamp(22px,8vw,120px);bottom:clamp(56px,9vh,110px);width:min(255px,38vw);padding:15px 15px 13px;text-align:left;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(160deg,rgba(31,35,32,.90),rgba(13,14,13,.88));box-shadow:0 18px 42px rgba(0,0,0,.32);color:#fff;cursor:pointer;transform:rotate(-1.2deg);backdrop-filter:blur(12px)}.scene11-phone-card__eyebrow{display:block;color:#d8c19d;font:800 7px/1.2 system-ui,sans-serif;letter-spacing:.14em}.scene11-phone-card strong{display:block;margin-top:9px;font:600 23px/1.1 Georgia,serif}.scene11-phone-card b{display:block;margin-top:2px;font:500 14px/1.2 system-ui,sans-serif}.scene11-phone-card small{display:block;margin-top:12px;color:rgba(255,255,255,.55);font:700 8px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.scene11-stage--map{align-items:center;justify-content:center;padding:76px 18px 56px;background:rgba(7,8,7,.26);backdrop-filter:blur(2px)}.scene11-map-card{position:relative;z-index:6;pointer-events:auto;width:min(760px,94vw);height:min(520px,72svh);display:grid;grid-template-rows:auto 1fr;grid-template-columns:1.25fr .9fr;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:#171a18;box-shadow:0 26px 80px rgba(0,0,0,.44)}.scene11-map-card header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.scene11-map-card header span{color:#d8c19d;font:800 8px/1 system-ui,sans-serif;letter-spacing:.15em}.scene11-map-card header button{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}.scene11-map-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 62% 42%,rgba(217,184,122,.15),transparent 25%),linear-gradient(145deg,#222824,#151916)}.scene11-map-visual:before,.scene11-map-visual:after{content:"";position:absolute;inset:-20%;opacity:.28;transform:rotate(-13deg);background:repeating-linear-gradient(90deg,transparent 0 52px,rgba(255,255,255,.10) 53px 55px,transparent 56px 108px)}.scene11-map-visual:after{transform:rotate(48deg);opacity:.18}.scene11-map-dot{position:absolute;z-index:2;left:58%;top:44%;width:14px;height:14px;border:3px solid #f1dfbd;border-radius:50%;box-shadow:0 0 0 7px rgba(241,223,189,.15)}.scene11-map-visual>span{position:absolute;left:12%;top:18%;z-index:2;color:rgba(255,255,255,.38);font:800 9px/1 system-ui,sans-serif;letter-spacing:.18em}.scene11-map-visual>b{position:absolute;left:calc(58% + 16px);top:calc(44% - 4px);z-index:2;color:#fff;font:600 13px/1.2 system-ui,sans-serif}.scene11-map-copy{padding:24px 22px;display:flex;flex-direction:column;justify-content:center}.scene11-map-copy small{color:#d8c19d;font:800 8px/1 system-ui,sans-serif;letter-spacing:.14em}.scene11-map-copy h3{margin:10px 0 1px;font:600 30px/1.1 Georgia,serif}.scene11-map-copy strong{font:500 16px/1.2 system-ui,sans-serif}.scene11-map-copy p{margin:10px 0 0;color:rgba(255,255,255,.68);font:400 13px/1.5 Georgia,serif}
.scene11-stage--end{align-items:stretch;padding:0}@keyframes scene11MaeWhisper{0%,7%{opacity:0;transform:translate(-50%,-46%)}18%,72%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-53%)}}
.scene11-end-continue{position:absolute;z-index:5;pointer-events:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);border:0;background:transparent;color:rgba(255,255,255,.72);font:800 8px/1 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;opacity:0;animation:scene11ContinueIn 1s 7.2s forwards}.scene11-end-continue:after{content:"";display:block;width:34px;height:1px;margin:7px auto 0;background:rgba(232,176,146,.7)}@keyframes scene11ContinueIn{to{opacity:1}}
.scene11-stage--complete{align-items:flex-end;padding:88px 22px max(20px,env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent 45%,rgba(6,6,5,.28))}.scene11-complete{width:min(540px,100%);margin-right:auto;padding:13px 15px;border-left:1px solid rgba(232,176,146,.55);background:rgba(8,7,6,.18);backdrop-filter:blur(7px)}.scene11-complete small,.scene11-complete span{display:block;color:#e8b092;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.15em}.scene11-complete strong{display:block;margin-top:6px;font:500 clamp(22px,2.3vw,32px)/1.15 Georgia,serif}.scene11-complete p{margin:7px 0 11px;color:rgba(255,255,255,.70);font:400 14px/1.45 Georgia,serif}
@media(max-width:820px){.scene11-stage{padding:70px 10px max(10px,env(safe-area-inset-bottom))}.scene11-caption{width:100%;max-height:47svh;overflow:auto;overscroll-behavior:contain;padding:11px 12px}.scene11-caption strong{font-size:21px}.scene11-caption p{font-size:13.4px}.scene11-replies{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));max-height:42svh;overflow:auto}.scene11-replies button{padding:9px 8px;font-size:13px}.scene11-free{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom))}.scene11-tap span{bottom:max(8px,env(safe-area-inset-bottom));font-size:8px;white-space:normal;max-width:88vw;text-align:center}.scene11-phone-card{right:12px;bottom:72px;width:min(220px,64vw)}.scene11-stage--map{padding:70px 10px 54px}.scene11-map-card{width:100%;height:min(610px,76svh);grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.scene11-map-card header{grid-column:1}.scene11-map-visual{min-height:210px}.scene11-map-copy{padding:16px 17px}.scene11-map-copy h3{font-size:25px}.scene11-stage--complete{padding:70px 12px max(14px,env(safe-area-inset-bottom))}.scene[data-mode="scene11-opening"] .scene__image{object-position:center 34%}.scene[data-mode="scene11-meal"] .scene__image{object-position:center 32%}.scene[data-mode="scene11-jeonju"] .scene__image{object-position:center 35%}.scene[data-mode="scene11-tomorrow"] .scene__image,.scene[data-mode="scene11-phone"] .scene__image{object-position:center 32%}.scene[data-mode="scene11-end"] .scene__image{object-position:center 35%}}
@media(max-width:390px){.scene11-caption{max-height:50svh}.scene11-caption strong{font-size:19.5px}.scene11-caption p{font-size:13px}.scene11-replies button{font-size:12.5px}.scene11-phone-card{width:min(205px,68vw)}.scene11-map-visual{min-height:190px}}
@media(prefers-reduced-motion:reduce){.scene11-tap i,.scene11-end-continue{animation:none}.scene11-end-continue{opacity:1}.scene[data-mode^="scene11-"] .scene__image{transition:none;transform:none}}



/* SCENE 12 — departure, memory, passport */
.scene[data-mode^="scene12-"] .scene__image{filter:saturate(.88) contrast(1.02) brightness(.78);transition:transform 1.6s ease,filter 1s ease}
.scene[data-mode^="scene12-"] .scene__image-shade{background:linear-gradient(180deg,rgba(5,6,7,.03),rgba(5,6,7,.10) 52%,rgba(5,6,7,.40))}
.scene[data-mode="scene12-time"] .scene__image{transform:scale(1.012)}
.scene[data-mode="scene12-photo"] .scene__image{transform:scale(1.008)}
.scene[data-mode="scene12-container"] .scene__image,.scene[data-mode="scene12-farewell"] .scene__image{filter:saturate(.92) brightness(.84);transform:scale(1.01)}
.scene[data-mode="scene12-outside"] .scene__image,.scene[data-mode="scene12-walk"] .scene__image{filter:saturate(.82) brightness(.64);transform:scale(1.012)}
.scene[data-mode="scene12-favorite"] .scene__image,.scene[data-mode="scene12-recipe"] .scene__image,.scene[data-mode="scene12-stamp"] .scene__image,.scene[data-mode="scene12-souvenirs"] .scene__image{filter:brightness(.10) saturate(.45);transform:scale(1.02)}
.scene12-stage{position:absolute;inset:0;z-index:3;display:flex;align-items:flex-end;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none;color:#fff}
.scene12-stage--black{background:rgba(2,3,4,.84);align-items:center;justify-content:center;padding:78px 18px 36px;backdrop-filter:blur(2px)}
.scene12-caption{position:relative;z-index:5;pointer-events:auto;width:min(560px,100%);padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(135deg,rgba(9,8,7,.55),rgba(9,8,7,.22));backdrop-filter:blur(12px);box-shadow:0 18px 52px rgba(0,0,0,.22)}
.scene12-caption--left{margin-right:auto}.scene12-caption--right{margin-left:auto}.scene12-caption--question{width:min(520px,100%)}.scene12-caption--quiet{background:linear-gradient(135deg,rgba(8,8,8,.42),rgba(8,8,8,.14))}
.scene12-caption small{display:block;margin:0 0 6px;color:#e8b092;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.scene12-caption strong{display:block;color:#fff;font:500 clamp(22px,2.35vw,33px)/1.13 Georgia,serif}.scene12-caption p{margin:7px 0 0;color:rgba(255,255,255,.84);font:400 clamp(14px,1.16vw,16.5px)/1.48 Georgia,serif}.scene12-dialogue,.scene12-farewell-lines{margin-top:11px;padding-top:9px;border-top:1px solid rgba(255,255,255,.075)}.scene12-farewell-lines small{margin-top:8px}.scene12-context-note{font-size:12px!important;color:rgba(255,255,255,.60)!important;font-style:italic}
.scene12-tap{position:absolute;inset:0;z-index:2;border:0;background:transparent;pointer-events:auto;cursor:pointer}.scene12-tap span{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(8,7,6,.34);backdrop-filter:blur(8px);color:rgba(255,255,255,.78);font:750 8.5px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.scene12-tap i{width:5px;height:5px;border-radius:50%;background:#e8b092;animation:scene12Pulse 2.1s infinite}@keyframes scene12Pulse{55%{box-shadow:0 0 0 7px rgba(232,176,146,0)}100%{box-shadow:0 0 0 0 rgba(232,176,146,0)}}
.scene12-replies{position:absolute;z-index:6;pointer-events:auto;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(570px,calc(100% - 28px));padding:9px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:rgba(9,8,7,.58);backdrop-filter:blur(13px);display:grid;gap:5px;box-shadow:0 20px 54px rgba(0,0,0,.22)}.scene12-replies button{border:0;border-bottom:1px solid rgba(255,255,255,.085);background:transparent;color:#fff;text-align:left;padding:10px 9px;cursor:pointer;font:500 14px/1.35 Georgia,serif}.scene12-replies button:last-child{border-bottom:0}.scene12-replies button:hover{background:rgba(255,255,255,.045)}
.scene12-give-phone{position:absolute;z-index:6;pointer-events:auto;left:50%;bottom:18px;transform:translateX(-50%);padding:11px 18px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(8,7,6,.52);color:#fff;backdrop-filter:blur(10px);font:800 9px/1 system-ui,sans-serif;letter-spacing:.10em;text-transform:uppercase;cursor:pointer}
.scene12-stage--photo-result{align-items:center;justify-content:center;background:rgba(4,4,4,.28)}.scene12-photo-memory{position:relative;z-index:5;width:min(820px,84vw);margin:0;overflow:hidden;border:8px solid rgba(247,240,229,.97);border-bottom-width:58px;background:#efe9e0;box-shadow:0 28px 80px rgba(0,0,0,.45);transform:rotate(-.4deg);opacity:0;animation:scene12PhotoIn .85s 2.3s forwards}.scene12-photo-memory img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.scene12-photo-memory figcaption{position:absolute;left:18px;right:18px;bottom:-47px;color:#3f352e;display:flex;align-items:baseline;gap:10px}.scene12-photo-memory figcaption span{font:800 7px/1 system-ui,sans-serif;letter-spacing:.14em}.scene12-photo-memory figcaption strong{font:500 14px/1.2 Georgia,serif}.scene12-photo-memory figcaption small{margin-left:auto;font:500 10px/1 system-ui,sans-serif}.scene12-countdown{position:absolute;z-index:7;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.scene12-countdown i,.scene12-countdown b{position:absolute;font:700 clamp(56px,9vw,120px)/1 Georgia,serif;text-shadow:0 5px 25px rgba(0,0,0,.35);opacity:0}.scene12-countdown i:nth-child(1){animation:scene12Count .55s .15s}.scene12-countdown i:nth-child(2){animation:scene12Count .55s .75s}.scene12-countdown i:nth-child(3){animation:scene12Count .55s 1.35s}.scene12-countdown b{animation:scene12Flash .6s 1.95s}@keyframes scene12Count{20%,75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}@keyframes scene12Flash{25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.25)}}@keyframes scene12PhotoIn{to{opacity:1;transform:rotate(-.4deg) translateY(-4px)}}
.scene12-phone-memory{position:absolute;z-index:5;right:clamp(22px,7vw,100px);bottom:clamp(58px,10vh,115px);width:min(260px,38vw);padding:9px 9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#111;box-shadow:0 22px 58px rgba(0,0,0,.48);pointer-events:none;transform:rotate(1.2deg)}.scene12-phone-memory span,.scene12-phone-memory small{display:block;color:rgba(255,255,255,.62);font:800 7px/1 system-ui,sans-serif;letter-spacing:.13em}.scene12-phone-memory img{display:block;width:100%;margin:8px 0;aspect-ratio:16/9;object-fit:cover;border-radius:12px}.scene12-walk-note{position:absolute;left:22px;bottom:28px;z-index:5;max-width:420px;padding-left:12px;border-left:1px solid rgba(232,176,146,.45)}.scene12-walk-note span{color:#e8b092;font:800 8px/1 system-ui,sans-serif;letter-spacing:.16em}.scene12-walk-note p{margin:6px 0 0;color:rgba(255,255,255,.70);font:400 13px/1.48 Georgia,serif}
.scene12-mae-final{position:relative;z-index:6;width:min(500px,calc(100% - 24px));display:grid;grid-template-columns:54px minmax(0,1fr);gap:13px;padding:16px 17px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(18,16,14,.55);backdrop-filter:blur(12px);transform:translateY(-56px)}.scene12-mae-final img{width:54px;height:54px;border-radius:50%;object-fit:cover}.scene12-mae-final span{color:#e8b092;font:800 9px/1 system-ui,sans-serif;letter-spacing:.10em}.scene12-mae-final p{margin:5px 0 0;color:rgba(255,255,255,.86);font:500 15px/1.42 Georgia,serif}.scene12-mae-final--answer{transform:none}.scene12-leaves i{position:absolute;top:-10%;width:10px;height:18px;border-radius:80% 20% 80% 20%;background:rgba(157,65,37,.72);opacity:.75;animation:scene12Leaf 8s linear infinite}.scene12-leaves i:nth-child(1){left:12%;animation-delay:-1s}.scene12-leaves i:nth-child(2){left:37%;animation-delay:-4s;transform:scale(.8)}.scene12-leaves i:nth-child(3){left:66%;animation-delay:-2.5s;transform:scale(1.1)}.scene12-leaves i:nth-child(4){left:84%;animation-delay:-6s;transform:scale(.7)}@keyframes scene12Leaf{to{top:110%;transform:translateX(55px) rotate(330deg)}}
.scene12-recipe-card{position:relative;z-index:6;pointer-events:auto;width:min(820px,94vw);max-height:76svh;overflow:auto;padding:24px;border:1px solid rgba(118,91,65,.18);border-radius:24px;background:linear-gradient(155deg,#f5ecdf,#dfceb6);color:#41362e;box-shadow:0 30px 90px rgba(0,0,0,.45)}.scene12-recipe-card header small{color:#945f49;font:850 8px/1 system-ui,sans-serif;letter-spacing:.15em}.scene12-recipe-card h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:8px 0 18px;font:500 clamp(30px,5vw,48px)/1 Georgia,serif}.scene12-recipe-card h2 span{font-size:.65em;color:#765b49}.scene12-recipe-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.scene12-recipe-grid section{padding:16px;border:1px solid rgba(77,55,42,.12);border-radius:16px;background:rgba(255,255,255,.20)}.scene12-recipe-grid h3{margin:0 0 10px;color:#8b5c49;font:800 9px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}.scene12-recipe-grid ul,.scene12-recipe-grid ol{margin:0;padding-left:18px}.scene12-recipe-grid li{margin:7px 0;font:400 13px/1.45 Georgia,serif}.scene12-recipe-card footer{margin-top:16px;padding-top:12px;border-top:1px solid rgba(77,55,42,.12);color:#786657;font:italic 12px/1.45 Georgia,serif}.scene12-recipe-custom p{font:400 14px/1.55 Georgia,serif}
.scene12-passport-page{position:relative;z-index:6;width:min(720px,92vw);min-height:min(520px,70svh);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:1px solid rgba(92,66,49,.18);border-radius:25px;background:linear-gradient(145deg,#f3eadc,#ddcbb3);color:#46382e;box-shadow:0 30px 90px rgba(0,0,0,.48);overflow:hidden}.scene12-passport-page:after{content:"";position:absolute;inset:18px;border:1px solid rgba(92,66,49,.10);border-radius:18px;pointer-events:none}.scene12-passport-page>small{position:absolute;top:25px;left:28px;color:#8b5c49;font:850 8px/1 system-ui,sans-serif;letter-spacing:.16em}.scene12-passport-page>p{position:absolute;left:28px;bottom:25px;margin:0;font:500 14px/1.2 Georgia,serif}.scene12-passport-page img{width:min(460px,72vw);max-height:52svh;object-fit:contain;opacity:0;transform:scale(1.35) rotate(-7deg);filter:drop-shadow(0 10px 12px rgba(90,0,0,.10));animation:scene12StampHit 1s .65s cubic-bezier(.2,.9,.25,1.05) forwards}@keyframes scene12StampHit{65%{opacity:.95;transform:scale(.92) rotate(-7deg)}100%{opacity:.86;transform:scale(1) rotate(-7deg)}}.scene12-stamp-continue{position:absolute;z-index:7;pointer-events:auto;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);border:0;background:transparent;color:rgba(255,255,255,.74);font:800 8.5px/1 system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;opacity:0;animation:scene12StampContinue 1s 1.75s forwards}@keyframes scene12StampContinue{to{opacity:1}}
.scene12-stage--souvenirs{align-items:flex-start;overflow:auto;pointer-events:auto}.scene12-souvenir-shell{position:relative;z-index:6;width:min(1040px,96vw);margin:auto;padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:25px;background:rgba(15,13,12,.72);backdrop-filter:blur(12px);box-shadow:0 30px 90px rgba(0,0,0,.45)}.scene12-souvenir-shell>header small{color:#e8b092;font:850 8px/1 system-ui,sans-serif;letter-spacing:.16em}.scene12-souvenir-shell>header h2{margin:7px 0 2px;font:500 clamp(28px,5vw,48px)/1.05 Georgia,serif}.scene12-souvenir-shell>header p{margin:0;color:rgba(255,255,255,.55);font:500 11px/1 system-ui,sans-serif;letter-spacing:.08em}.scene12-souvenir-grid{display:grid;grid-template-columns:1.45fr repeat(2,1fr);gap:10px;margin-top:18px}.scene12-souvenir-grid article{min-height:128px;padding:13px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035);overflow:hidden}.scene12-souvenir-grid article>span{display:block;color:#d8c19d;font:800 8px/1 system-ui,sans-serif;letter-spacing:.11em}.scene12-souvenir-grid article>strong{display:block;margin-top:12px;font:500 18px/1.2 Georgia,serif}.scene12-souvenir-grid article>small{display:block;margin-top:6px;color:rgba(255,255,255,.52);font:500 10px/1.3 system-ui,sans-serif}.scene12-souvenir-photo{grid-row:span 2;padding:10px!important}.scene12-souvenir-photo img{display:block;width:100%;height:calc(100% - 18px);min-height:238px;margin-top:8px;object-fit:cover;border-radius:11px}.scene12-souvenir-stamp img{display:block;width:110px;height:88px;object-fit:contain;margin:7px auto -1px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.15))}.scene12-souvenir-shell blockquote{margin:12px 0 0;padding:13px 15px;border-left:1px solid rgba(232,176,146,.48);background:rgba(255,255,255,.025)}.scene12-souvenir-shell blockquote span{color:#e8b092;font:800 7.5px/1 system-ui,sans-serif;letter-spacing:.13em}.scene12-souvenir-shell blockquote p{margin:5px 0 0;font:italic 14px/1.45 Georgia,serif}.scene12-souvenir-shell>footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.scene12-souvenir-shell>footer>div:first-child{display:flex;align-items:center;gap:10px}.scene12-souvenir-shell>footer img{width:42px;height:42px;border-radius:50%;object-fit:cover}.scene12-souvenir-shell>footer p{margin:0}.scene12-souvenir-shell>footer p b,.scene12-souvenir-shell>footer p span{display:block}.scene12-souvenir-shell>footer p b{color:#e8b092;font:800 9px/1 system-ui,sans-serif}.scene12-souvenir-shell>footer p span{margin-top:4px;font:500 13px/1.35 Georgia,serif;color:rgba(255,255,255,.75)}.scene12-final-actions{display:flex;gap:7px}.scene12-final-actions button{padding:9px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.04);color:#fff;font:800 8px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.traveler-card__stamp{position:absolute;z-index:2;right:12px;bottom:6px;width:190px;height:150px;object-fit:contain;opacity:.28;transform:rotate(-10deg);pointer-events:none;mix-blend-mode:multiply}.passport-memory-strip{display:flex;align-items:center;gap:14px;margin:14px 0 18px;padding:10px 12px;border:1px solid rgba(94,65,49,.13);border-radius:16px;background:rgba(255,255,255,.22);color:#493b31}.passport-memory-strip img{width:92px;height:72px;object-fit:contain;mix-blend-mode:multiply}.passport-memory-strip small,.passport-memory-strip strong,.passport-memory-strip span{display:block}.passport-memory-strip small{color:#935b49;font:800 7px/1 system-ui,sans-serif;letter-spacing:.14em}.passport-memory-strip strong{margin-top:4px;font:500 16px/1.2 Georgia,serif}.passport-memory-strip span{margin-top:3px;color:#7a695b;font:600 9px/1 system-ui,sans-serif;letter-spacing:.06em}
@media(max-width:820px){.scene12-stage{padding:70px 10px max(10px,env(safe-area-inset-bottom))}.scene12-stage--black{padding:66px 10px 44px}.scene12-caption{width:100%;max-height:48svh;overflow:auto;padding:11px 12px}.scene12-caption strong{font-size:21px}.scene12-caption p{font-size:13.3px}.scene12-replies{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));max-height:41svh;overflow:auto}.scene12-replies button{padding:9px 8px;font-size:13px}.scene12-tap span{bottom:max(8px,env(safe-area-inset-bottom));white-space:normal;max-width:88vw;text-align:center}.scene12-photo-memory{width:calc(100% - 18px);border-width:5px;border-bottom-width:48px}.scene12-photo-memory figcaption{left:10px;right:10px;bottom:-39px}.scene12-photo-memory figcaption strong{font-size:12px}.scene12-photo-memory figcaption small{display:none}.scene12-phone-memory{right:10px;bottom:75px;width:min(225px,66vw)}.scene12-walk-note{left:12px;right:12px;bottom:28px;max-width:none}.scene12-mae-final{width:calc(100% - 12px);transform:translateY(-52px);grid-template-columns:46px minmax(0,1fr);padding:13px}.scene12-mae-final--answer{transform:none}.scene12-mae-final img{width:46px;height:46px}.scene12-mae-final p{font-size:13.8px}.scene12-recipe-card{width:100%;max-height:78svh;padding:18px}.scene12-recipe-grid{grid-template-columns:1fr}.scene12-passport-page{width:100%;min-height:60svh}.scene12-passport-page img{width:min(390px,85vw)}.scene12-stage--souvenirs{padding-top:68px}.scene12-souvenir-shell{width:100%;padding:16px}.scene12-souvenir-grid{grid-template-columns:1fr 1fr}.scene12-souvenir-photo{grid-column:1/-1;grid-row:auto}.scene12-souvenir-photo img{min-height:180px}.scene12-souvenir-shell>footer{display:block}.scene12-final-actions{margin-top:13px;flex-wrap:wrap}.traveler-card__stamp{width:145px;height:118px;right:4px;bottom:5px;opacity:.24}.passport-memory-strip img{width:78px;height:60px}.scene[data-mode="scene12-container"] .scene__image,.scene[data-mode="scene12-farewell"] .scene__image{object-position:center 34%}.scene[data-mode="scene12-outside"] .scene__image{object-position:center 43%}.scene[data-mode="scene12-walk"] .scene__image{object-position:center 48%}}
@media(max-width:390px){.scene12-caption strong{font-size:19.5px}.scene12-caption p{font-size:12.9px}.scene12-replies button{font-size:12.5px}.scene12-souvenir-grid{grid-template-columns:1fr}.scene12-souvenir-photo{grid-column:1}.scene12-passport-page img{width:88vw}.scene12-recipe-card h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.scene12-tap i,.scene12-countdown i,.scene12-countdown b,.scene12-photo-memory,.scene12-leaves i,.scene12-passport-page img,.scene12-stamp-continue{animation:none}.scene12-photo-memory,.scene12-passport-page img,.scene12-stamp-continue{opacity:1;transform:none}.scene[data-mode^="scene12-"] .scene__image{transition:none;transform:none}}


/* === FULL IMMERSION QA PASS · responsive interaction safety === */
/* Immersive captions are descriptive, not modal blockers. The full-scene tap remains reachable. */
.scene6-stage--immersive .scene6-caption,
.scene7-stage--immersive .scene7-caption,
.scene8-stage--immersive .scene8-caption,
.scene9-stage--immersive .scene9-caption,
.scene10-stage--immersive .scene10-caption,
.scene11-stage--immersive .scene11-caption,
.scene12-stage--immersive .scene12-caption{pointer-events:none;margin-bottom:38px}
.scene6-stage--immersive .scene6-caption button,.scene6-stage--immersive .scene6-caption details,
.scene7-stage--immersive .scene7-caption button,.scene7-stage--immersive .scene7-caption details,
.scene8-stage--immersive .scene8-caption button,.scene8-stage--immersive .scene8-caption details,
.scene9-stage--immersive .scene9-caption button,.scene9-stage--immersive .scene9-caption details,
.scene10-stage--immersive .scene10-caption button,.scene10-stage--immersive .scene10-caption details,
.scene11-stage--immersive .scene11-caption button,.scene11-stage--immersive .scene11-caption details,
.scene12-stage--immersive .scene12-caption button,.scene12-stage--immersive .scene12-caption details{pointer-events:auto}

/* Keep tap cues and reply targets above the safe-area and at a comfortable touch size. */
.scene6-tap-cue,.scene7-tap-cue,.scene8-tap-cue,.scene9-tap>span,.scene10-tap>span,.scene11-tap span,.scene12-tap span{min-height:36px;justify-content:center}
.scene6-choice-dock button,.scene7-choice-dock button,.scene7-choice-panel button,
.scene8-choice-panel button,.scene9-replies button,.scene10-replies button,.scene11-replies button,.scene12-replies button,

/* Scene 7: ambient family phrases stay readable without becoming three teaching cards. */
.scene7-ambient-line{margin:7px 0 0;padding:7px 0;border-top:1px solid rgba(255,255,255,.07)}
.scene7-ambient-line:first-of-type{border-top:0}
.scene7-ambient-line small{margin-bottom:3px}
.scene7-ambient-line strong{display:block;font:650 clamp(17px,1.5vw,21px)/1.25 system-ui,sans-serif;color:#fff}
.scene7-ambient-line span{display:block;margin-top:2px;color:rgba(255,255,255,.56);font:400 11px/1.35 Georgia,serif}

/* Final memories must remain scrollable and action buttons visible on short phones. */
.scene12-stage--souvenirs{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.scene12-souvenir-shell{margin:auto 0}

/* Audio recovery pass: keep speaker controls large and in the dialogue flow. */
.scene-lang-icon{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.scene7-ambient-line{position:relative;padding-right:50px}
.scene7-ambient-line>small{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:44px;margin:0 0 3px!important}
.scene7-ambient-line .scene-lang-icon{flex:0 0 44px}
.scene7-ambient-line.is-speaking>strong{animation:korean-follow var(--speech-duration) linear}
.scene12-final-actions{position:sticky;bottom:0;padding-top:10px;background:linear-gradient(180deg,transparent,rgba(8,8,7,.94) 32%)}

@media(max-width:820px){
  .scene6-stage--immersive .scene6-caption,.scene7-stage--immersive .scene7-caption,.scene8-stage--immersive .scene8-caption,
  .scene9-stage--immersive .scene9-caption,.scene10-stage--immersive .scene10-caption,.scene11-stage--immersive .scene11-caption,
  .scene12-stage--immersive .scene12-caption{margin-bottom:42px;max-height:44svh}
  .scene7-caption--dialogue{max-height:46svh}
  .scene7-ambient-line{padding:5px 0}.scene7-ambient-line strong{font-size:17px}
  .scene12-final-actions button{flex:1 1 150px}
}
@media(max-width:390px){
  .scene6-stage--immersive .scene6-caption,.scene7-stage--immersive .scene7-caption,.scene8-stage--immersive .scene8-caption,
  .scene9-stage--immersive .scene9-caption,.scene10-stage--immersive .scene10-caption,.scene11-stage--immersive .scene11-caption,
  .scene12-stage--immersive .scene12-caption{margin-bottom:44px;max-height:42svh}
}

/* === NATIVE REVIEW CANDIDATE · PASS 2 === */
.scene10-stage--with-action{pointer-events:none}
.scene10-object-action{position:absolute;z-index:6;pointer-events:auto;right:10%;bottom:16%;min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(12,10,8,.50);backdrop-filter:blur(10px);color:#fff;padding:11px 15px;display:flex;align-items:center;gap:9px;font:700 12px/1.2 system-ui,sans-serif;box-shadow:0 14px 34px rgba(0,0,0,.18);cursor:pointer}
.scene10-object-action i{width:9px;height:9px;border-radius:50%;border:2px solid #e9b58d;box-shadow:0 0 0 5px rgba(233,181,141,.10)}
@media(max-width:820px){
  .scene10-object-action{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:calc(100% - 22px);white-space:normal;text-align:center}
  .letter-layer{padding:calc(max(54px,env(safe-area-inset-top) + 42px)) 12px max(12px,env(safe-area-inset-bottom));align-items:center;overflow:hidden}
  .letter-sheet{max-height:calc(100svh - max(78px,env(safe-area-inset-top) + 64px) - max(20px,env(safe-area-inset-bottom)));padding:32px 22px 36px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .letter-close{position:sticky;float:right;top:0;right:0;z-index:4;margin:-18px -10px 0 0;background:rgba(251,244,233,.86);border-radius:50%;backdrop-filter:blur(5px)}
}
@media(max-width:390px){
  .letter-sheet{padding:28px 20px 32px}.letter-sheet h2{font-size:30px;margin-bottom:20px}.letter-body{font-size:14.7px;line-height:1.62}
}


/* === MOBILE INTERACTION HOTFIX · 2026-09-09 ===
   A real-device S6 review exposed two coupled issues:
   1) an object-action could inherit pointer-events:none from its cinematic stage;
   2) bottom-positioned object actions could overlap narrative / Mae cards on short phones.
   Keep every explicit scene action reachable and reserve a dedicated bottom action rail. */
.scene [data-scene-action]{pointer-events:auto}
.scene-object-action{min-height:44px;max-width:calc(100% - 24px)}

@media(max-width:820px){
  /* S6 object moments: copy occupies the world above; the physical gesture owns a separate rail below. */
  .scene6-stage--object{
    padding-bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px));
  }
  .scene6-stage--object .scene6-caption{
    margin-bottom:0;
    max-height:min(46svh,calc(100svh - 170px));
  }
  .scene6-stage--object .scene-object-action--seat,
  .scene6-stage--object .scene-object-action--greet,
  .scene6-stage--object .scene-object-action--mandarin{
    left:50%!important;
    right:auto!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%)!important;
  }
  .scene6-stage--grandma-approach .scene6-caption--grandma{
    margin-bottom:0;
  }
  .scene6-stage--grandma-approach .scene6-free-dock{
    bottom:max(10px,env(safe-area-inset-bottom));
  }
}

@media(max-width:390px){
  .scene6-stage--object{
    padding-bottom:max(86px,calc(env(safe-area-inset-bottom) + 78px));
  }
  .scene6-stage--object .scene6-caption{
    max-height:min(43svh,calc(100svh - 176px));
  }
  .scene-object-action span{
    white-space:normal;
    text-align:center;
  }
}

/* === TRANSFORMATION PASS · ACTION → CONSEQUENCE → COMPREHENSION === */
/* Recovery moments never use "wrong/correct" UI. A world cue lets the visitor adjust in place. */
.scene4-exit-practice{position:relative;width:min(820px,94vw);display:grid;gap:12px;align-items:center;justify-items:center;pointer-events:none}
.scene4-exit-practice>.scene4-mae,.scene4-exit-practice>.scene4-validator,.scene4-exit-attempt{pointer-events:auto}
.scene4-exit-attempt{min-height:44px;padding:10px 15px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(15,13,11,.48);backdrop-filter:blur(9px);color:#fff;font:750 10px/1 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.scene4-exit-practice.is-recovery .scene4-exit-attempt{opacity:.48}

.scene5-threshold-continue{min-height:44px;padding:11px 16px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(12,10,8,.38);backdrop-filter:blur(10px);color:rgba(255,255,255,.82);font:750 10px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}

/* S5 CANONICAL FOOTWEAR — uses the actual pair derived from the S3 outfit. */
.scene5-footwear-detail{position:relative;z-index:5;order:0;width:min(520px,100%);margin:0 auto 4px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(12,10,8,.50);box-shadow:0 18px 50px rgba(0,0,0,.22);pointer-events:none}
.scene5-footwear-detail img{display:block;width:100%;height:clamp(132px,25svh,230px);object-fit:cover;object-position:center 58%}
.scene5-footwear-detail figcaption{padding:9px 12px 10px;color:rgba(255,255,255,.76);font:500 11px/1.35 system-ui,sans-serif}
.scene5-footwear-action{min-height:48px;padding:12px 16px;border:1px solid rgba(239,190,158,.52);border-radius:999px;background:rgba(33,20,15,.76);color:#fff;font:800 11px/1.15 system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.20)}
.scene5-footwear-action:hover,.scene5-footwear-action:focus-visible{background:rgba(67,37,27,.90);border-color:#efbe9e;outline:none}
.scene5-threshold--object{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch}
.scene5-threshold--object>.scene5-threshold-copy{order:1}
.scene5-threshold--object>.scene5-threshold-actions,.scene5-threshold--object>.scene5-footwear-action{order:2}
@media(max-width:820px){.scene5-footwear-detail{width:100%;margin-bottom:2px}.scene5-footwear-detail img{height:clamp(118px,22svh,180px)}.scene5-footwear-detail figcaption{font-size:10px;padding:7px 10px 8px}.scene5-footwear-action{width:100%}}




.scene6-greeting-actions{position:absolute;z-index:7;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;gap:9px;width:min(760px,calc(100% - 20px));pointer-events:auto}
.scene6-greeting-actions>.scene-object-action--greet{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important}
.scene6-greeting-actions>.scene6-free-dock{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;flex:1;max-width:540px}
.scene6-stay-seated{min-height:44px;padding:10px 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(10,9,8,.34);backdrop-filter:blur(9px);color:rgba(255,255,255,.8);font:700 10px/1.15 system-ui,sans-serif;cursor:pointer}
.scene6-learning-echo,.scene8-learning-echo{margin-top:8px!important;padding-top:8px;border-top:1px solid rgba(255,255,255,.09);color:rgba(255,255,255,.66)!important;font-style:italic!important}

.scene8-pour-actions{position:absolute;z-index:7;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:9px;width:min(760px,calc(100% - 22px));pointer-events:auto}
.scene8-pour-actions>.scene8-object-action--pour{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important}


.scene12-container-receive{position:absolute;z-index:8;left:50%;bottom:max(13px,env(safe-area-inset-bottom));transform:translateX(-50%);min-height:44px;padding:11px 18px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(18,15,12,.52);backdrop-filter:blur(10px);color:#fff;font:750 10px/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;pointer-events:auto}
.scene12-transfer-cue{margin-top:9px!important;color:rgba(255,255,255,.64)!important;font-style:italic!important}
.scene12-transfer-echo{margin-bottom:10px;padding:10px 11px;border:1px solid rgba(232,176,146,.18);border-radius:12px;background:rgba(232,176,146,.05)}
.scene12-transfer-echo span{display:block;color:#e8b092;font:800 7.5px/1 system-ui,sans-serif;letter-spacing:.13em}
.scene12-transfer-echo p{margin:6px 0 0!important;color:rgba(255,255,255,.76)!important}

.scene12-transformation{margin-top:12px;padding:14px;border:1px solid rgba(232,176,146,.13);border-radius:17px;background:linear-gradient(145deg,rgba(232,176,146,.055),rgba(255,255,255,.018))}
.scene12-transformation>header{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:9px}
.scene12-transformation>header small{color:#e8b092;font:850 8px/1 system-ui,sans-serif;letter-spacing:.14em}
.scene12-transformation>header strong{color:rgba(255,255,255,.56);font:500 11px/1.35 Georgia,serif;text-align:right}
.scene12-transformation>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.scene12-transformation article{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:start;padding:9px 10px;border:1px solid rgba(255,255,255,.055);border-radius:12px;background:rgba(255,255,255,.022)}
.scene12-transformation article span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:rgba(232,176,146,.10);color:#e8b092;font:800 8px/1 system-ui,sans-serif}
.scene12-transformation article p{margin:1px 0 0;color:rgba(255,255,255,.72);font:400 12px/1.42 Georgia,serif}

@media(max-width:820px){
  .scene4-exit-practice{width:100%;padding:0 10px 64px}.scene4-exit-attempt{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);white-space:nowrap}
  .scene6-stage--grandma-approach{padding-bottom:max(118px,calc(env(safe-area-inset-bottom) + 110px))}
  .scene6-greeting-actions{bottom:max(8px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:7px}.scene6-greeting-actions>*{width:100%;max-width:none!important}.scene6-stay-seated{width:100%}
  .scene8-stage--pour{padding-bottom:max(116px,calc(env(safe-area-inset-bottom) + 108px))}.scene8-pour-actions{bottom:max(8px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.scene8-pour-actions>*{width:100%;max-width:420px!important;margin:auto;justify-content:center}
  .scene12-stage--container{padding-bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px))}.scene12-container-receive{width:min(360px,calc(100% - 24px));white-space:normal}
  .scene12-transformation>header{display:block}.scene12-transformation>header strong{display:block;margin-top:5px;text-align:left}.scene12-transformation>div{grid-template-columns:1fr}
}
@media(max-width:390px){
  .scene5-threshold-copy,.scene6-stage--grandma-approach .scene6-caption,.scene8-stage--pour .scene8-caption{max-height:40svh;overflow:auto}
  .scene12-transformation{padding:11px}.scene12-transformation article{padding:8px}.scene12-transformation article p{font-size:11.5px}
}
/* EXPERIENCE PASS — preparation memory and contextual reading */
.scene3-memory-prompt{margin:14px 0 0;color:rgba(255,255,255,.78);font-size:clamp(.92rem,2vw,1.02rem);line-height:1.55}
.scene3-check-card--memory .scene3-sheet-actions{display:flex;flex-wrap:wrap;gap:10px}
.scene3-check-card--memory .scene3-gift-object--small{max-width:150px;margin:0 0 12px auto}
@media (max-width:640px){.scene3-check-card--memory .scene3-sheet-actions{display:grid;grid-template-columns:1fr}.scene3-check-card--memory .scene3-gift-object--small{max-width:112px}.scene9-stage--grandma .scene9-replies{padding-bottom:max(18px,env(safe-area-inset-bottom))}}

/* === END-OF-IMMERSION FEEDBACK + HOUSEHOLD CUE PASS === */


.dobox-feedback-layer{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(7,6,5,.82);backdrop-filter:blur(18px);overflow:auto;color:#f8f3ec}
.dobox-feedback{width:min(760px,100%);max-height:min(880px,calc(100svh - 36px));overflow:auto;border:1px solid rgba(232,176,146,.18);border-radius:24px;background:linear-gradient(155deg,rgba(35,28,22,.98),rgba(15,13,11,.99));box-shadow:0 34px 90px rgba(0,0,0,.46);padding:24px}
.dobox-feedback>header{padding:2px 2px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.dobox-feedback>header small,.dobox-feedback-thanks small{display:block;color:#e8b092;font:850 8px/1 system-ui,sans-serif;letter-spacing:.16em}
.dobox-feedback>header h2,.dobox-feedback-thanks h2{margin:7px 0 6px;font:500 clamp(28px,4vw,42px)/1.05 Georgia,serif;color:#fff}
.dobox-feedback>header p,.dobox-feedback-thanks p{margin:0;max-width:620px;color:rgba(255,255,255,.66);font:400 14px/1.55 Georgia,serif}
.dobox-feedback-form{display:grid;gap:0}
.dobox-feedback-form>section{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.07)}
.dobox-feedback-form>section>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(232,176,146,.09);color:#e8b092;font:850 8px/1 system-ui,sans-serif}
.dobox-feedback-form label{display:block;margin:2px 0 10px;color:#fff;font:600 16px/1.35 Georgia,serif}
.dobox-rating{display:flex;gap:7px;flex-wrap:wrap}
.dobox-rating button{display:grid;grid-template-columns:auto auto;gap:4px;align-items:center;min-width:52px;min-height:44px;padding:8px 11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.52);font:700 17px/1 system-ui;cursor:pointer}
.dobox-rating button small{font:800 9px/1 system-ui;color:rgba(255,255,255,.62)}
.dobox-rating button.is-selected{border-color:rgba(232,176,146,.62);background:rgba(232,176,146,.14);color:#f1bd9d}
.dobox-feedback-chips{display:flex;flex-wrap:wrap;gap:7px}
.dobox-feedback-chips button{min-height:42px;padding:9px 12px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.78);font:650 11px/1.2 system-ui,sans-serif;cursor:pointer}
.dobox-feedback-chips button.is-selected{border-color:rgba(232,176,146,.52);background:rgba(232,176,146,.12);color:#fff}
.dobox-feedback textarea,.dobox-feedback input{box-sizing:border-box;width:100%;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:rgba(255,255,255,.035);color:#fff;padding:11px 12px;outline:none;font:500 13px/1.45 system-ui,sans-serif}
.dobox-feedback textarea{min-height:88px;resize:vertical}
.dobox-feedback input:focus,.dobox-feedback textarea:focus{border-color:rgba(232,176,146,.46);box-shadow:0 0 0 3px rgba(232,176,146,.07)}
.dobox-feedback-other{display:none!important;margin-top:9px}.dobox-feedback-other.is-visible{display:block!important}
.dobox-feedback-form>footer{display:flex;align-items:center;justify-content:flex-end;gap:9px;padding:18px 2px 1px}
.dobox-feedback-form>footer button,.dobox-feedback-thanks button{min-height:46px;padding:11px 17px;border-radius:999px;font:800 10px/1 system-ui,sans-serif;letter-spacing:.04em;cursor:pointer}
.dobox-feedback-later{border:1px solid rgba(255,255,255,.1);background:transparent;color:rgba(255,255,255,.65)}
.dobox-feedback-submit,.dobox-feedback-thanks button{border:1px solid rgba(232,176,146,.45);background:#e3aa87;color:#20140d}
.dobox-feedback-privacy select{width:100%;margin:.45rem 0;padding:.75rem;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#171513;color:#fff}
.dobox-feedback-privacy>[hidden]{display:none}
.dobox-feedback-consent{display:flex!important;align-items:flex-start;gap:.65rem;margin-top:.75rem;font-weight:400!important;line-height:1.4}
.dobox-feedback-consent input{width:1.15rem;height:1.15rem;margin:.1rem 0 0;flex:0 0 auto}
.dobox-feedback-privacy small{display:block;margin-top:.65rem;color:rgba(255,255,255,.68);line-height:1.45}
.dobox-feedback-thanks{padding:38px 18px;text-align:center}.dobox-feedback-thanks p{margin:0 auto 20px}

@media(max-width:820px){
    .dobox-feedback-layer{padding:0;place-items:stretch}.dobox-feedback{width:100%;max-height:100svh;border-radius:0;border-left:0;border-right:0;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.dobox-feedback-form>section{grid-template-columns:28px minmax(0,1fr);gap:9px;padding:15px 0}.dobox-feedback-form label{font-size:15px}.dobox-feedback-form>footer{position:sticky;bottom:calc(-18px - env(safe-area-inset-bottom));margin:0 -14px -18px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(15,13,11,.15),rgba(15,13,11,.98) 30%)}
}
@media(max-width:390px){.dobox-feedback-chips{display:grid;grid-template-columns:1fr 1fr}.dobox-feedback-chips button{white-space:normal}.dobox-rating{justify-content:space-between}.dobox-rating button{min-width:0;flex:1;justify-content:center;padding:8px 6px}}

/* === INTERACTION SAFETY + FINISHING DELIVERABLES · 2026-09-09 === */
.story-panel--advance{cursor:default;padding-right:22px}
.scene-panel-next{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:16px;padding:9px 13px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.055);color:#fff;cursor:pointer;font:750 10px/1 system-ui,sans-serif;letter-spacing:.06em}
.scene-panel-next i{font-style:normal;font-size:14px;color:#e7b099}
.scene-panel-next:hover,.scene-panel-next:focus-visible{background:rgba(255,255,255,.11)}
.scene-panel-next:disabled,.scene-flow-next:disabled,[data-scene-gated="true"]:disabled{opacity:0;pointer-events:none;cursor:default}
.scene-flow-next--standalone{position:absolute;z-index:20;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);min-height:44px;margin:0;white-space:nowrap;background:rgba(8,9,9,.58);border:1px solid rgba(255,255,255,.13);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.scene-flow-next--standalone:hover,.scene-flow-next--standalone:focus-visible{transform:translateX(-50%) translateY(-1px)}

/* Keep the post-letter continuation in normal layout flow so it never covers an envelope. */

/* Menu memory is a compact document, so its continuation belongs below its copy. */
.menu-memory{padding-bottom:8px}
.menu-memory .scene-flow-next--standalone{position:relative;left:auto;bottom:auto;transform:none;margin:12px 0 0}
.menu-memory .scene-flow-next--standalone:hover,.menu-memory .scene-flow-next--standalone:focus-visible{transform:translateY(-1px)}

/* A narrative continuation is a real button, never a full-stage click target. */

/* S8 makes the objects visible as an observation, not an etiquette quiz. */




.scene8-table-details{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}
.scene8-table-details span{display:flex;align-items:center;gap:6px;padding:6px 7px;border-radius:8px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.72);font:500 10px/1.25 system-ui,sans-serif}
.scene8-table-details b{font-size:15px;font-weight:400}
.scene8-mealstart-actions{display:grid!important;gap:7px}
@keyframes scene7Water{50%{opacity:.45;transform:translateX(-50%) scaleY(.82)}100%{opacity:.95}}

/* S5: the shoe choice has a visible before/after cue while the source doorway stays intact. */
@media(max-width:820px){}
@media(prefers-reduced-motion:reduce){}

/* End-of-immersion downloads are optional and do not gate completion. */
.scene12-download-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.scene12-download-actions button{min-height:44px;padding:9px 11px;border:1px solid rgba(232,176,146,.28);border-radius:999px;background:rgba(232,176,146,.08);color:#fff;font:750 9px/1.2 system-ui,sans-serif;letter-spacing:.045em;cursor:pointer}
.scene12-download-actions button:hover,.scene12-download-actions button:focus-visible{background:rgba(232,176,146,.16)}
.scene12-download-note{margin:7px 0 0;color:rgba(255,255,255,.48);font:500 10px/1.35 system-ui,sans-serif}
@media(max-width:820px){
  .scene-flow-next--standalone{bottom:max(9px,env(safe-area-inset-bottom));max-width:calc(100% - 20px);white-space:normal;text-align:center}
  .menu-memory .scene-flow-next--standalone{bottom:auto;max-width:100%;white-space:normal;text-align:left}
  .scene8-table-details{grid-template-columns:1fr}.scene12-download-actions button{flex:1 1 145px}
}
@media(max-width:390px){
  .scene8-table-details span{font-size:9.5px;padding:5px 6px}.scene8-table-details b{font-size:14px}
  .scene12-download-actions{display:grid}.scene12-download-actions button{width:100%}
}

/* CORRECTIVE PASS · remove the overlaps reported in the Han dinner review. */
.scene7-stage--dinner.scene7-stage--immersive>.scene7-stand-action{
  position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;
  transform:none!important;order:2;align-self:center;width:min(760px,100%);min-height:50px;
  margin:0 auto!important;white-space:normal;text-align:center
}

/* Dish labels stay closed until requested; the six options no longer cover the table. */
.scene8-dish-legend{
  position:absolute!important;z-index:11;left:12px;right:auto;bottom:max(66px,calc(env(safe-area-inset-bottom) + 58px));
  transform:none!important;display:block!important;width:auto!important;max-width:calc(100% - 24px);
  margin:0;padding:0;pointer-events:auto
}
.scene8-dish-legend>summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;
  padding:9px 13px;border:1px solid rgba(255,248,239,.26);border-radius:999px;
  background:rgba(17,13,10,.84);backdrop-filter:blur(11px);box-shadow:0 8px 20px rgba(0,0,0,.25);
  color:#fffaf1;font:700 12px/1.2 system-ui,sans-serif;cursor:pointer;list-style:none
}
.scene8-dish-legend>summary::-webkit-details-marker{display:none}
.scene8-dish-legend>summary::after{content:'＋';color:#efbd9b;font-size:16px}
.scene8-dish-legend[open]>summary::after{content:'−'}
.scene8-dish-legend>summary>b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(217,155,110,.23);color:#efbd9b;font-size:9px}
.scene8-dish-legend__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:min(34svh,320px);overflow:auto;margin-top:7px;padding:8px;border:1px solid rgba(255,248,239,.18);border-radius:16px;background:rgba(17,13,10,.92);backdrop-filter:blur(13px);overscroll-behavior:contain}
.scene8-dish-legend__grid>button{display:flex;align-items:center;gap:7px;min-width:0;min-height:42px;padding:7px 9px;border:1px solid rgba(255,248,239,.18);border-radius:11px;background:rgba(255,255,255,.045);color:#fffaf1;text-align:left;cursor:pointer}
.scene8-dish-legend__grid>button>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:rgba(217,155,110,.23);color:#efbd9b;font:800 8px/1 system-ui,sans-serif}
.scene8-dish-legend__grid>button>b{font:650 11px/1.2 system-ui,sans-serif}
.scene8-dish-legend__grid>button[aria-pressed="true"],.scene8-dish-legend__grid>button:hover,.scene8-dish-legend__grid>button:focus-visible{border-color:#efbd9b;background:rgba(83,47,32,.94);outline:none}
.scene8-dish-continue{z-index:12}

/* One scroll container for a Papa turn keeps its question and answer controls together. */
.scene9-stage--papa{overflow:hidden;overscroll-behavior:none}
.papa-conversation-panel{min-height:0;scrollbar-gutter:stable;scrollbar-width:thin}
.scene9-stage--papa .scene-korean-answer-list{max-height:none!important;overflow:visible!important;overscroll-behavior:visible!important}
.scene9-stage--papa .scene-korean-answer{padding:10px 11px}
.scene9-stage--papa .scene-korean-answer__copy strong{font-size:clamp(16px,1.2vw,19px);line-height:1.25}
.scene9-stage--papa .scene-korean-answer__copy>span{font-size:11px;line-height:1.3}
.scene9-stage--papa .scene-korean-answer__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.scene9-stage--papa .scene-korean-answer__mic,.scene9-stage--papa .scene-korean-answer__send{min-height:43px;padding:7px 8px;font-size:11px;line-height:1.2}
.scene9-stage--papa .speech-feedback{overflow-wrap:anywhere}
@media(min-width:900px){
  .scene9-stage--papa{padding:clamp(24px,4vh,46px) clamp(28px,5vw,88px) max(24px,env(safe-area-inset-bottom))}
  .papa-conversation-panel{width:min(520px,35vw);max-height:min(78dvh,calc(100dvh - 90px));gap:11px}
}
@media(max-width:799px){
  .scene9-stage--papa{justify-content:center;align-items:flex-end;padding:clamp(176px,29dvh,248px) 10px max(10px,env(safe-area-inset-bottom))}
  .papa-conversation-panel{width:100%;max-height:min(64dvh,calc(100dvh - clamp(176px,29dvh,248px) - max(10px,env(safe-area-inset-bottom))));padding:13px 13px 12px;gap:8px;border-radius:18px}
  .papa-conversation-eyebrow{font-size:9px}
  .papa-conversation-panel h2{font-size:20px;line-height:1.15}
  .papa-conversation-turn{gap:8px}
  .papa-voice-turn .scene-lang-line>strong{font-size:21px;line-height:1.28}
  .papa-voice-turn .scene-lang-help{font-size:12px;line-height:1.35}
  .papa-guest-question .scene-korean-replies{padding:8px}
  .papa-guest-question .scene-korean-replies__hint{margin:0 0 7px;font-size:10px;line-height:1.3}
  .scene9-stage--papa .scene-korean-answer-list{gap:7px}
  .scene9-stage--papa .scene-korean-answer{padding:9px;border-radius:12px}
  .scene9-stage--papa .scene-korean-answer__audio{width:34px;height:34px;flex:none}
  .scene9-stage--papa .scene-korean-answer__mic,.scene9-stage--papa .scene-korean-answer__send{min-height:42px;font-size:10px}
  .papa-conversation-actions{position:sticky;bottom:-1px;margin-top:3px;padding-top:6px}
}
@media(max-width:390px){
  .scene8-dish-legend{left:9px;bottom:max(62px,calc(env(safe-area-inset-bottom) + 56px));max-width:calc(100% - 18px)}
  .scene8-dish-legend>summary{min-height:40px;font-size:11px}
  .scene8-dish-legend__grid{gap:5px;padding:7px}
  .scene8-dish-legend__grid>button{min-height:40px;padding:6px}
  .scene8-dish-legend__grid>button>b{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.scene8-dish-legend__grid>button{transition:none}}

/* === FINAL INTERACTION PASS · readable copy and lived gestures === */
/* No decorative shadow may be mistaken for the visitor's body. */


/* S5: the threshold is a small readable sequence, not a bottom overlay. */
.scene5-threshold,.scene5-inside--flow{overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
.scene5-threshold{align-items:stretch;gap:10px;padding-bottom:max(22px,env(safe-area-inset-bottom))}
.scene5-threshold-copy,.scene5-inside--flow .scene5-inside-caption{position:relative;z-index:5;order:1;margin:0 auto;max-height:min(58svh,calc(100svh - 190px));overflow:auto}
.scene5-threshold-actions{position:static;z-index:7;display:flex;align-items:center;justify-content:center;order:2;width:min(760px,100%);margin:0 auto;flex-wrap:wrap;gap:8px;pointer-events:auto}
.scene5-threshold-actions>*{flex:1 1 190px;justify-content:center}
.scene5-observe-threshold{min-height:44px;padding:11px 14px;border:1px solid rgba(232,176,146,.30);border-radius:999px;background:rgba(232,176,146,.10);color:#fff;font:750 10px/1.2 system-ui,sans-serif;letter-spacing:.05em;cursor:pointer}
.scene5-threshold--flow,.scene5-inside--flow{align-items:stretch!important;gap:10px}
.scene5-threshold--flow .scene-flow-next--standalone,.scene5-inside--flow .scene-flow-next--standalone{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;order:2;align-self:center;margin:0 auto}

/* Any explicit continuation is a normal button in the layout. */
.scene6-stage--immersive,.scene7-stage--immersive,.scene8-stage--immersive,.scene9-stage--immersive,.scene10-stage--immersive,.scene11-stage--immersive,.scene12-stage--immersive{
  flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))!important
}
.scene6-stage--immersive>.scene6-caption,.scene7-stage--immersive>.scene7-caption,.scene8-stage--immersive>.scene8-caption,.scene9-stage--immersive>.scene9-caption,.scene10-stage--immersive>.scene10-caption,.scene11-stage--immersive>.scene11-caption,.scene12-stage--immersive>.scene12-caption{
  order:1;align-self:center;margin:0!important;max-height:min(58svh,calc(100svh - 156px));overflow:auto;pointer-events:auto!important
}
.scene6-stage--immersive>.scene-flow-next--standalone,.scene7-stage--immersive>.scene-flow-next--standalone,.scene8-stage--immersive>.scene-flow-next--standalone,.scene9-stage--immersive>.scene-flow-next--standalone,.scene10-stage--immersive>.scene-flow-next--standalone,.scene11-stage--immersive>.scene-flow-next--standalone,.scene12-stage--immersive>.scene-flow-next--standalone{
  position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;order:2;align-self:center;margin:0 auto;max-width:100%;white-space:normal;text-align:center
}

/* S7: every handwashing step gets its own action and its own place below the copy. */
/* S7 CANONICAL HANDWASH — optional everyday action, never an etiquette test. */
.scene7-stage--handwash{display:flex;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box;padding:76px 18px max(18px,env(safe-area-inset-bottom))!important}
.scene7-stage--handwash>.scene7-caption{position:relative!important;z-index:5;order:1;align-self:center;width:min(620px,100%);max-height:min(50svh,calc(100svh - 230px));margin:0!important;overflow:auto}
.scene7-handwash-actions{position:static;z-index:7;order:2;display:flex;gap:9px;width:min(720px,100%);margin:0 auto;pointer-events:auto}
.scene7-handwash-actions button{flex:1;min-height:48px;padding:12px 15px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(10,9,8,.62);backdrop-filter:blur(10px);color:#fff;font:750 10px/1.2 system-ui,sans-serif;cursor:pointer}
.scene7-handwash-actions button:last-child{background:rgba(255,255,255,.06);color:rgba(255,255,255,.86)}
.scene7-stage--sink-action{overflow:hidden!important;pointer-events:none}
.scene7-stage--sink-action>.scene7-caption{pointer-events:auto;align-self:flex-start;width:min(520px,92%);margin:0 0 auto!important;max-height:38svh}
.scene7-sink-hotspot{position:absolute;z-index:8;display:grid;place-items:center;border:1px solid rgba(255,221,193,.70);border-radius:999px;background:rgba(32,18,12,.34);box-shadow:0 0 0 8px rgba(239,190,158,.10),0 10px 30px rgba(0,0,0,.24);color:#fff;cursor:pointer;pointer-events:auto;animation:scene7HotspotPulse 2.2s ease-in-out infinite}
.scene7-sink-hotspot span{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;padding:5px 7px;border-radius:999px;background:rgba(8,7,6,.70);font:800 9px/1 system-ui,sans-serif;letter-spacing:.04em}
.scene7-sink-hotspot--faucet{left:50%;top:54%;width:58px;height:58px;transform:translate(-50%,-50%)}
@keyframes scene7HotspotPulse{50%{box-shadow:0 0 0 13px rgba(239,190,158,.05),0 10px 30px rgba(0,0,0,.24)}}
@media(max-width:820px){.scene7-stage--handwash{padding:70px 10px max(18px,env(safe-area-inset-bottom))!important}.scene7-handwash-actions{flex-direction:column;width:100%}.scene7-handwash-actions button{width:100%}.scene7-stage--sink-action>.scene7-caption{max-height:32svh}.scene7-sink-hotspot--faucet{left:50%;top:54%;width:54px;height:54px}}
@media(prefers-reduced-motion:reduce){.scene7-sink-hotspot{animation:none}}
.scene7-stage--dinner:not(.scene7-stage--immersive):not(.scene7-stage--handwash){flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto}
.scene7-stage--dinner:not(.scene7-stage--immersive):not(.scene7-stage--handwash)>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--immersive):not(.scene7-stage--handwash)>.scene7-stand-action{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;margin:0 auto;align-self:center}
.scene7-stage--dinner:not(.scene7-stage--immersive):not(.scene7-stage--handwash)>.scene7-caption{order:1;max-height:min(55svh,calc(100svh - 170px));overflow:auto}
.scene7-stage--dinner:not(.scene7-stage--immersive):not(.scene7-stage--handwash)>.scene7-stand-action{order:2}
/* S8: the table itself remains the visual source; the panel only names what the eye can find. */
.scene8-stage--with-action{flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}
.scene8-stage--with-action>.scene8-caption,.scene8-stage--with-action>.scene8-choice-panel{order:1;align-self:center;margin:0!important;max-height:min(58svh,calc(100svh - 174px));overflow:auto}
.scene8-stage--with-action>.scene8-object-action,.scene8-stage--with-action>.scene8-pour-actions{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;order:2;align-self:center;margin:0 auto;max-width:100%}
.scene8-stage--with-action>.scene8-pour-actions{flex-wrap:wrap}
.scene8-table-details span{display:grid;grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto;column-gap:6px;align-items:center}
.scene8-table-details span>b{grid-row:1/3}.scene8-table-details strong{font:700 10px/1.2 system-ui,sans-serif;color:rgba(255,255,255,.82)}.scene8-table-details small{margin:1px 0 0!important;color:rgba(255,255,255,.48)!important;font:500 9px/1.2 system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important}








/* Other object moments use the same flow rule. */
.scene10-stage--with-action{flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box}
.scene10-stage--with-action>.scene10-caption,.scene10-stage--with-action>.scene10-object-action{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0 auto;align-self:center}
.scene10-stage--with-action>.scene10-caption{order:1;max-height:min(58svh,calc(100svh - 174px));overflow:auto}.scene10-stage--with-action>.scene10-object-action{order:2}
.scene12-stage--container{flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box}
.scene12-stage--container>.scene12-caption,.scene12-stage--container>.scene12-container-receive{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0 auto;align-self:center}
.scene12-stage--container>.scene12-caption{order:1;max-height:min(58svh,calc(100svh - 174px));overflow:auto}.scene12-stage--container>.scene12-container-receive{order:2}
.scene12-stage--recipe>.scene12-tap,.scene12-stage--photo-result>.scene12-tap{position:static!important;inset:auto!important;transform:none!important;order:2;align-self:center;margin:0 auto}
.scene12-stage--recipe,.scene12-stage--photo-result{flex-direction:column!important;justify-content:center!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box}
.scene12-stage--recipe>.scene12-recipe-card,.scene12-stage--photo-result>.scene12-photo-memory{order:1;align-self:center}


/* Conversation layout: prompts and actions share one system across dinner scenes. */
.scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){display:flex;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:14px;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:88px 20px max(22px,env(safe-area-inset-bottom))!important}
.scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{position:relative!important;inset:auto!important;z-index:5;order:1;align-self:center;width:min(660px,100%);max-width:660px;max-height:min(54svh,calc(100svh - 190px));margin:0!important;overflow:auto;overscroll-behavior:contain}
.scene6-stage--object>.scene-object-action,.scene6-stage--object>.scene6-greeting-actions,.scene6-stage--object>.scene6-free-dock,.scene7-stage--greeting>.scene7-choice-dock,.scene7-stage--greeting>.scene7-greeting-response,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-stand-action,.scene8-stage--with-action>.scene8-object-action,.scene8-stage--with-action>.scene8-pour-actions,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-free,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--with-action>.scene10-object-action,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-free,.scene12-stage--container>.scene12-container-receive,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-replies,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--container>.scene12-replies{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;z-index:6;order:2;align-self:center;width:min(620px,100%);max-width:620px;max-height:min(48svh,calc(100svh - 230px));margin:0 auto!important;overflow:auto;overscroll-behavior:contain}
.scene6-stage--object>.scene6-greeting-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
.scene7-greeting-response{display:grid;gap:9px;min-width:0}
.scene7-greeting-response>.scene7-free-dock{position:static;width:100%;max-width:none;margin:0;transform:none}
.scene7-greeting-response>.scene7-nonverbal{position:static;width:100%;max-width:none;margin:0;transform:none;min-height:48px;white-space:normal}
.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-stand-action{width:100%;min-height:52px}
.scene8-stage--with-action>.scene8-pour-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.scene8-stage--with-action>.scene8-pour-actions>button,.scene8-stage--with-action>.scene8-object-action,.scene10-stage--with-action>.scene10-object-action,.scene12-stage--container>.scene12-container-receive{width:100%;min-height:52px;justify-content:center}
.scene11-stage--map{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:14px;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box}
.scene11-stage--map>.scene11-map-card,.scene11-stage--map>.scene11-tap{position:static;inset:auto;left:auto;right:auto;bottom:auto;transform:none;order:1;align-self:center;margin:0 auto}
.scene11-stage--map>.scene11-tap{order:2}
@media(min-width:821px){
  .scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.88fr);justify-content:center;align-content:end;align-items:end;column-gap:clamp(26px,3vw,44px);row-gap:16px;max-width:1380px;margin-inline:auto;padding:90px clamp(24px,4vw,60px) max(30px,env(safe-area-inset-bottom))!important;overflow-y:auto}
  .scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{grid-column:1;grid-row:1;width:min(660px,100%);max-width:660px;max-height:min(58svh,560px);align-self:end;justify-self:end}
  .scene6-stage--object>.scene-object-action,.scene6-stage--object>.scene6-greeting-actions,.scene6-stage--object>.scene6-free-dock,.scene7-stage--greeting>.scene7-choice-dock,.scene7-stage--greeting>.scene7-greeting-response,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-stand-action,.scene8-stage--with-action>.scene8-object-action,.scene8-stage--with-action>.scene8-pour-actions,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-free,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--with-action>.scene10-object-action,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-free,.scene12-stage--container>.scene12-container-receive,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-replies,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--container>.scene12-replies{grid-column:2;grid-row:1;width:min(420px,100%);max-width:420px;max-height:min(56svh,560px);align-self:end;justify-self:start}
  .scene6-stage--object>.scene6-greeting-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
}
@media(max-width:820px){
  .scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){gap:12px;padding:76px 12px max(20px,env(safe-area-inset-bottom))!important}
  .scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{width:100%;max-width:620px;max-height:min(46svh,calc(100svh - 228px))}
  .scene6-stage--object>.scene-object-action,.scene6-stage--object>.scene6-greeting-actions,.scene6-stage--object>.scene6-free-dock,.scene7-stage--greeting>.scene7-choice-dock,.scene7-stage--greeting>.scene7-greeting-response,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-stand-action,.scene8-stage--with-action>.scene8-object-action,.scene8-stage--with-action>.scene8-pour-actions,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-free,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--with-action>.scene10-object-action,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-free,.scene12-stage--container>.scene12-container-receive,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-replies,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--container>.scene12-replies{width:100%;max-width:620px;max-height:none;overflow:visible}
  .scene7-stage--greeting>.scene7-choice-dock.story-choice-list{width:100%;max-width:620px}
  .scene6-stage--object>.scene6-greeting-actions{width:100%}
  .scene8-stage--with-action>.scene8-pour-actions{width:100%}
}
@media(max-width:390px){
  .scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){gap:11px;padding-right:10px;padding-left:10px}
  .scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{padding:12px 13px}
  .story-choice-list>button,.story-choice-list button.story-choice{min-height:50px;padding:11px 12px;font-size:14.5px}
}
@media(max-height:700px){
  .scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){overflow-y:auto}
  .scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{max-height:min(43svh,calc(100svh - 178px))}
}


.scene12-stage--favorite>.scene12-mae-final{transform:none!important;width:min(500px,100%);max-width:500px}
@media(max-width:820px){.scene12-stage--favorite>.scene12-mae-final{width:100%;max-width:620px;max-height:min(46svh,calc(100svh - 228px));overflow:auto}}
/* === REVISION 2 · the scene remains readable while the action stays explicit === */
.scene-content button,.scene-content [role="button"]{-webkit-user-select:none;user-select:none}
.scene-content input,.scene-content textarea{-webkit-user-select:text;user-select:text}
.scene-content button[data-scene-action]{pointer-events:auto!important}

/* Continuations are buttons in the document flow, never invisible full-screen hit areas. */
.scene6-tap-layer,.scene7-tap-layer,.scene8-tap-layer,.scene9-tap,.scene10-tap,.scene11-tap,.scene12-tap{
  position:static;inset:auto;display:flex;align-items:center;justify-content:center;order:2;align-self:center;
  width:min(720px,100%);max-width:100%;height:auto;min-height:44px;margin:0 auto;padding:0;transform:none;
  z-index:8;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(8,7,6,.64);backdrop-filter:blur(10px);
  box-shadow:0 12px 30px rgba(0,0,0,.18);color:#fff;cursor:pointer;pointer-events:auto;text-align:center
}
.scene6-tap-cue,.scene7-tap-cue,.scene8-tap-cue,.scene9-tap>span,.scene10-tap>span,.scene11-tap>span,.scene12-tap>span{
  position:static;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;max-width:100%;padding:10px 13px;
  transform:none;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.88);font:750 9px/1.2 system-ui,sans-serif;
  letter-spacing:.06em;text-transform:none;white-space:normal;text-align:center
}
.scene6-tap-cue i,.scene7-tap-cue i,.scene8-tap-cue i,.scene9-tap i,.scene10-tap i,.scene11-tap i,.scene12-tap i{flex:0 0 auto}

/* S7: the bathroom/wet-room asset carries the place; the interface only names the observed cue. */







.scene8-table-details b{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(232,176,146,.35);border-radius:7px;color:#efbd9e;font:800 8px/1 system-ui,sans-serif}



/* S9: one misunderstanding gets one visible pause, then a human recovery. */
.scene9-subtext{color:rgba(255,255,255,.62)!important;font-size:12.5px!important}
.scene9-family-beat{padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}
.scene9-stage--origin:not(.scene9-stage--immersive) .scene9-caption--question,.scene9-stage--reason:not(.scene9-stage--immersive) .scene9-caption--question,.scene9-stage--grandma:not(.scene9-stage--immersive) .scene9-caption--question,.scene9-stage--jiho:not(.scene9-stage--immersive) .scene9-caption--question{margin-bottom:0!important}

/* S11 stays quiet: no timed guide card over the payoff. */
.scene11-stage--quiet{align-items:center!important;justify-content:center!important;padding:88px 22px max(22px,env(safe-area-inset-bottom))!important}
.scene11-quiet-payoff{width:min(430px,100%);padding:15px 16px;border-left:1px solid rgba(232,176,146,.62);background:rgba(8,7,6,.18);color:rgba(255,255,255,.78)}
.scene11-quiet-payoff small{display:block;color:#e8b092;font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.15em}.scene11-quiet-payoff p{margin:9px 0 0;font:400 16px/1.5 Georgia,serif}.scene11-quiet-payoff span{display:block;margin-top:10px;color:rgba(255,255,255,.56);font:700 9px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.scene11-stage--quiet .scene11-end-continue{position:static!important;transform:none!important;margin-top:15px;opacity:1!important;animation:none!important}

@media(max-width:820px){

  .scene7-stage--handwash>.scene7-caption{max-height:min(43svh,calc(100svh - 218px))!important}.scene8-stage--with-action>.scene8-choice-panel,.scene8-stage--with-action>.scene8-caption{max-height:min(46svh,calc(100svh - 228px))!important}
  .scene9-stage--grandma.scene9-stage--immersive>.scene9-caption{max-height:min(42svh,calc(100svh - 185px))!important}
  .scene7-stage--greeting>.scene7-caption{max-height:min(42svh,calc(100svh - 210px))}
  .scene7-stage--greeting>.scene7-choice-dock,.scene7-stage--greeting>.scene7-free-dock,.scene7-stage--greeting>.scene7-nonverbal{width:100%}
  .scene11-stage--quiet{padding:76px 12px max(20px,env(safe-area-inset-bottom))!important}.scene11-quiet-payoff{width:100%}
}
@media(max-width:390px){
}

/* === IMMERSION REBUILD · the scene carries the action === */
/* S5: the correction happens in the room, then Mae names what was just read. */
.scene5-threshold-copy--recovery{max-width:580px!important}
.scene5-threshold-copy--recovery>strong{display:block;margin:6px 0 7px;color:#fff;font:500 clamp(22px,2.4vw,31px)/1.12 Georgia,serif}
.scene5-human-cue{display:grid;gap:4px;margin-top:11px;padding:9px 11px;border-left:2px solid rgba(232,176,146,.68);background:rgba(255,255,255,.035)}
.scene5-human-cue span{color:#e8b092;font:800 8px/1 system-ui,sans-serif;letter-spacing:.13em}.scene5-human-cue b{font:600 12px/1.35 system-ui,sans-serif;color:rgba(255,255,255,.82)}
.scene5-threshold-copy--recovery .scene5-mae{margin-top:11px}

/* S7: the new wash asset is a place, not a drawn icon. */
.scene[data-mode="scene7-dinner"] .scene__image{transition:transform 1s ease,filter 1s ease}


/* S8: the first table interaction points at things in the image. */
.scene8-stage--explore{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:10px;box-sizing:border-box;overflow-y:auto;padding:88px 22px max(18px,env(safe-area-inset-bottom));pointer-events:none}
.scene8-explore-label{position:relative;z-index:3;width:min(430px,100%);margin:0 auto;padding:12px 14px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(9,8,7,.48);backdrop-filter:blur(10px);pointer-events:auto}
.scene8-explore-label small{display:block;color:#e8b092;font:800 8px/1.1 system-ui,sans-serif;letter-spacing:.14em}.scene8-explore-label strong{display:block;margin-top:5px;color:#fff;font:500 clamp(21px,2.2vw,29px)/1.12 Georgia,serif}.scene8-explore-label p{margin:6px 0 0;color:rgba(255,255,255,.72);font:400 13px/1.4 Georgia,serif}
.scene8-table-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.scene8-table-hotspot{position:absolute;display:grid;gap:3px;min-width:112px;padding:8px 10px;border:1px solid rgba(239,190,158,.52);border-radius:12px;background:rgba(15,11,9,.62);backdrop-filter:blur(8px);color:#fff;text-align:left;box-shadow:0 10px 24px rgba(0,0,0,.18);cursor:pointer;pointer-events:auto}.scene8-table-hotspot:hover,.scene8-table-hotspot:focus-visible{background:rgba(46,27,20,.82);border-color:#f0b897;outline:none}.scene8-table-hotspot b{font:750 11px/1.15 system-ui,sans-serif}.scene8-table-hotspot span{color:rgba(255,255,255,.64);font:500 9px/1.2 system-ui,sans-serif}.scene8-table-hotspot--dishes{left:50%;top:50%;transform:translate(-50%,-50%)}.scene8-table-hotspot--tools{right:11%;bottom:16%}.scene8-table-hotspot--people{right:9%;top:27%}

/* S9/S10: the social response sits next to the gesture, not inside a generic quiz card. */
.scene9-stage--situation{flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:9px;overflow-y:auto;box-sizing:border-box;padding-bottom:max(18px,env(safe-area-inset-bottom))!important}.scene9-stage--situation>.scene9-caption{order:1;align-self:center;margin:0!important;max-height:min(51svh,calc(100svh - 190px));overflow:auto}.scene9-gesture-note{order:2;align-self:center;width:min(620px,100%);padding:8px 11px;border-left:2px solid rgba(232,176,146,.58);background:rgba(255,255,255,.035);pointer-events:auto}.scene9-gesture-note span{display:block;color:#e8b092;font:800 8px/1 system-ui,sans-serif;letter-spacing:.11em}.scene9-gesture-note b{display:block;margin-top:3px;color:rgba(255,255,255,.72);font:600 11px/1.3 system-ui,sans-serif}.scene9-stage--situation>.scene9-replies{position:static!important;order:3;transform:none;align-self:center;width:min(620px,100%);margin:0 auto}.scene9-mae--after{margin-top:10px!important;width:100%!important;padding:9px 10px!important;background:rgba(255,255,255,.035)!important;border-left:2px solid rgba(232,176,146,.58)!important}
.scene10-stage--situation{flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:10px;overflow-y:auto;box-sizing:border-box;padding:88px 22px max(18px,env(safe-area-inset-bottom))!important}.scene10-stage--situation>.scene10-caption{order:1;align-self:center;margin:0!important;max-height:min(51svh,calc(100svh - 190px));overflow:auto}
@media(min-width:821px){
  .scene9-stage--situation{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(260px,.88fr);grid-template-rows:auto auto;justify-content:center!important;align-content:end;align-items:end!important;column-gap:clamp(26px,3vw,44px);row-gap:16px;max-width:1380px;margin-inline:auto;padding:90px clamp(24px,4vw,60px) max(30px,env(safe-area-inset-bottom))!important;overflow-y:auto}
  .scene9-stage--situation>.scene9-caption{grid-column:1;grid-row:1/3;width:min(660px,100%);max-width:660px;max-height:min(58svh,560px);margin:0!important;justify-self:end}
  .scene9-stage--situation>.scene9-replies{grid-column:2;grid-row:1;width:min(420px,100%);max-width:420px;margin:0!important;justify-self:start;align-self:end}
  .scene9-stage--situation>.scene9-gesture-note{grid-column:2;grid-row:2;width:min(420px,100%);max-width:420px;margin:0;align-self:start}
  .scene10-stage--situation{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;gap:0;max-width:1380px;margin-inline:auto;padding:90px clamp(24px,4vw,60px) max(30px,env(safe-area-inset-bottom))!important;overflow-y:auto}
  .scene10-stage--situation>.scene10-caption{width:min(660px,100%);max-width:660px;max-height:min(58svh,560px);margin:0 auto!important}
}

@media(max-width:820px){
  .scene8-stage--explore{padding:76px 10px max(18px,env(safe-area-inset-bottom))}.scene8-explore-label{width:100%}.scene8-table-hotspot{min-width:96px;padding:7px 8px}.scene8-table-hotspot b{font-size:10px}.scene8-table-hotspot span{font-size:8px}.scene8-table-hotspot--dishes{left:50%;top:48%}.scene8-table-hotspot--tools{right:8%;bottom:14%}.scene8-table-hotspot--people{right:6%;top:25%}.scene10-stage--situation{padding:76px 10px max(18px,env(safe-area-inset-bottom))!important}.scene9-stage--situation{padding:76px 10px max(18px,env(safe-area-inset-bottom))!important}.scene9-stage--situation>.scene9-caption{max-height:min(42svh,calc(100svh - 230px))}
  .dobox-feedback-form>footer{position:static;bottom:auto;margin:0;padding:14px 0 calc(18px + env(safe-area-inset-bottom));background:transparent;flex-wrap:wrap}
}
@media(max-height:700px){
  .scene8-table-hotspot{padding:6px 7px}.scene8-table-hotspot span{display:none}.scene8-explore-label strong{font-size:20px}.scene8-explore-label p{font-size:12px}.scene10-stage--situation>.scene10-caption,.scene9-stage--situation>.scene9-caption{max-height:min(39svh,calc(100svh - 220px))}
}

/* Keep Hangul on a Korean-capable system face instead of the editorial serif. */
[lang="ko"],.korean-follow,.scene-lang-line>strong{font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic","Nanum Gothic","Noto Sans",system-ui,sans-serif}

/* Release candidate: scene 12 homemade kimchi keepsake */
.scene12-souvenir-container picture{display:block;width:100%;margin:8px 0 10px;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.04)}
.scene12-souvenir-container picture img{display:block;width:100%;height:116px;object-fit:cover}
@media(max-width:820px){.scene12-souvenir-container picture img{height:132px}}

/* First-run guide: one layout, with a scene image and useful copy. */
.tutorial-layer{position:fixed;inset:0;z-index:120;display:grid;place-items:center;overflow-y:auto;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));background:rgba(12,12,11,.72);backdrop-filter:blur(9px)}
.tutorial-panel{width:min(1040px,100%);max-height:min(900px,92svh);overflow:auto;border:1px solid rgba(92,57,42,.18);border-radius:26px;background:#f5eadb;color:#3d2922;box-shadow:0 30px 90px rgba(0,0,0,.4);padding:clamp(20px,3vw,34px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:22px}
.tutorial-header{display:flex;align-items:center;gap:18px;min-width:0}.tutorial-brand{display:grid;gap:4px;margin-right:auto}.tutorial-brand strong{font:700 15px/1 Georgia,serif;letter-spacing:.14em}.tutorial-brand span,.tutorial-kicker,.tutorial-photo-caption span{font:750 10px/1.3 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#936250}.tutorial-languages{display:flex;gap:4px;border:1px solid rgba(83,55,42,.14);border-radius:999px;padding:4px}.tutorial-languages .lang{min-width:42px;min-height:38px;border-radius:999px;color:#50392f;opacity:.68;font-weight:750}.tutorial-languages .lang.is-active{background:#e7d3c0;color:#6c201c;opacity:1}.tutorial-close{width:46px;height:46px;flex:0 0 auto;border:1px solid rgba(83,55,42,.2);border-radius:50%;background:transparent;color:#472e24;font-size:28px;line-height:1;cursor:pointer}.tutorial-progress-row{display:flex;align-items:center;gap:14px;color:#674a3d;font:700 13px/1 system-ui,sans-serif}.tutorial-progress{height:5px;flex:1;overflow:hidden;border-radius:999px;background:#deccbb}.tutorial-progress span{display:block;height:100%;width:14.285%;border-radius:inherit;background:#8c2722;transition:width .25s ease}.tutorial-main{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:clamp(24px,5vw,62px);align-items:stretch;min-height:300px}.tutorial-photo{position:relative;min-height:300px;overflow:hidden;border-radius:18px;background:#35251d}.tutorial-photo::after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(180deg,transparent,rgba(21,13,10,.8))}.tutorial-photo img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;object-position:center 58%}.tutorial-photo-caption{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:grid;gap:7px;color:white}.tutorial-photo-caption span{color:#f0c0a2}.tutorial-photo-caption strong{font:500 clamp(23px,3vw,34px)/1.08 Georgia,serif}.tutorial-copy{align-self:center;max-width:620px;padding:10px 0}.tutorial-kicker{margin:0 0 14px;color:#963c32}.tutorial-copy h1{margin:0;color:#2e1b16;font:500 clamp(36px,5.3vw,60px)/.98 Georgia,serif;letter-spacing:-.035em;text-wrap:balance}.tutorial-body{margin:18px 0 0;color:#49372f;font:400 clamp(17px,1.6vw,20px)/1.52 Georgia,serif;max-width:57ch}.tutorial-note{margin:22px 0 0;padding:13px 16px;border-left:3px solid #a4483c;border-radius:0 12px 12px 0;background:#f0ddcd;color:#62463a;font:500 15px/1.45 system-ui,sans-serif}.tutorial-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid rgba(83,55,42,.15);padding-top:18px}.tutorial-skip,.tutorial-back,.tutorial-next{min-height:50px;padding:12px 20px;border-radius:999px;font:700 15px/1.2 system-ui,sans-serif;writing-mode:horizontal-tb;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.tutorial-skip{border:0;background:transparent;color:#745344;text-decoration:underline;text-underline-offset:3px}.tutorial-nav{display:flex;gap:10px}.tutorial-back{min-width:136px;border:1px solid #9c755f;background:transparent;color:#533a30}.tutorial-back:disabled{opacity:.42;cursor:default}.tutorial-next{min-width:210px;border:1px solid #7f211d;background:#7f211d;color:#fff7ef;box-shadow:0 8px 20px rgba(84,30,25,.16)}.tutorial-next:hover:not(:disabled){background:#681b18}.tutorial-layer button:focus-visible{outline:3px solid #c98158;outline-offset:3px}

/* Shared story-panel and choice rules for dinner scenes 6–12. */
.scene6-caption.story-caption,.scene7-caption.story-caption,.scene8-caption.story-caption,.scene9-caption.story-caption,.scene10-caption.story-caption,.scene11-caption.story-caption,.scene12-caption.story-caption,.scene6-choice-dock.story-caption,.scene8-choice-panel.story-caption{width:min(660px,100%);padding:clamp(15px,1.6vw,22px);border:1px solid rgba(255,248,239,.22);border-radius:20px;background:rgba(18,15,13,.82);color:#fffaf1;backdrop-filter:blur(15px);box-shadow:0 16px 42px rgba(0,0,0,.28);max-height:min(62svh,calc(100svh - 178px));overflow:auto;overscroll-behavior:contain}
.scene6-caption.story-caption>small,.scene7-caption.story-caption>small,.scene8-caption.story-caption>small,.scene9-caption.story-caption>small,.scene10-caption.story-caption>small,.scene11-caption.story-caption>small,.scene12-caption.story-caption>small,.scene6-choice-dock.story-caption>small,.scene8-choice-panel.story-caption>small{font:750 10px/1.35 system-ui,sans-serif;letter-spacing:.13em;color:#f0b398;opacity:1}
.scene6-caption.story-caption>strong,.scene7-caption.story-caption>strong,.scene8-caption.story-caption>strong,.scene9-caption.story-caption>strong,.scene10-caption.story-caption>strong,.scene11-caption.story-caption>strong,.scene12-caption.story-caption>strong{font:500 clamp(24px,2.3vw,34px)/1.13 Georgia,serif;color:#fffaf1;letter-spacing:-.012em}
.scene6-caption.story-caption>p,.scene7-caption.story-caption>p,.scene8-caption.story-caption>p,.scene9-caption.story-caption>p,.scene10-caption.story-caption>p,.scene11-caption.story-caption>p,.scene12-caption.story-caption>p,.scene6-choice-dock.story-caption>p,.scene8-choice-panel.story-caption>p{margin:9px 0 0;color:rgba(255,250,241,.94);font:400 clamp(15.5px,1.1vw,17px)/1.52 Georgia,serif;max-width:62ch}
.scene6-choice-dock.story-caption,.scene8-choice-panel.story-caption{width:min(700px,100%)}
.scene7-choice-panel.story-choice-list{width:min(660px,100%);max-width:100%;padding:clamp(15px,1.6vw,22px);border:1px solid rgba(255,248,239,.22);border-radius:20px;background:rgba(18,15,13,.84);color:#fffaf1;backdrop-filter:blur(15px);box-shadow:0 16px 42px rgba(0,0,0,.28)}
.scene-conversation-choices.story-choice-list,.scene7-choice-dock.story-choice-list,.scene7-choice-panel.story-choice-list,.scene9-replies.story-choice-list,.scene10-replies.story-choice-list,.scene11-replies.story-choice-list,.scene12-replies.story-choice-list,.story-choice-list>div{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.scene9-replies.story-choice-list,.scene10-replies.story-choice-list,.scene11-replies.story-choice-list,.scene12-replies.story-choice-list,.scene7-choice-dock.story-choice-list{width:min(620px,100%);max-width:100%;}
.story-choice-list>button,.story-choice-list button.story-choice{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0;min-height:52px;padding:12px 15px;border:1px solid rgba(255,248,239,.27);border-radius:13px;background:rgba(255,248,239,.095);color:#fffaf1;text-align:left;text-decoration:none;font:550 clamp(15px,1.05vw,17px)/1.35 system-ui,sans-serif;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;word-break:normal;writing-mode:horizontal-tb;text-orientation:mixed;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}
.story-choice-list>button:hover,.story-choice-list>button:focus-visible,.story-choice-list button.story-choice:hover,.story-choice-list button.story-choice:focus-visible{background:rgba(255,248,239,.17);border-color:rgba(255,207,176,.66);outline-offset:2px}
.scene9-free-entry{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;gap:8px}.scene9-free-entry input,.scene9-free-entry button{min-width:0;min-height:50px}.scene9-free-entry button{display:grid;place-items:center}
.scene-free-korean{display:grid;grid-template-columns:minmax(0,1fr) 48px auto;align-items:stretch;gap:8px}.scene-free-korean input{min-width:0;min-height:50px}.scene-free-korean__mic,.scene-free-korean__submit{min-width:48px;min-height:50px;display:grid;place-items:center;writing-mode:horizontal-tb;white-space:normal}.speech-feedback{grid-column:1/-1;min-width:0}.speech-feedback__text{font:500 18px/1.4 system-ui,sans-serif!important;color:#fffaf1!important;overflow-wrap:anywhere}
@media(max-width:820px){
  .tutorial-layer{place-items:center;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
  .tutorial-panel{width:100%;max-height:94svh;gap:14px;padding:15px;border-radius:19px}
  .tutorial-header{gap:8px}.tutorial-brand strong{font-size:13px}.tutorial-brand span{font-size:8px;letter-spacing:.1em}.tutorial-close{width:42px;height:42px}.tutorial-progress-row{gap:10px;font-size:12px}
  .tutorial-main{grid-template-columns:minmax(0,1fr);gap:14px;min-height:0}.tutorial-photo{min-height:142px;max-height:20svh;border-radius:13px}.tutorial-photo img{min-height:142px;max-height:20svh;object-position:center 58%}.tutorial-photo-caption{left:13px;right:13px;bottom:11px;gap:4px}.tutorial-photo-caption span{font-size:8px}.tutorial-photo-caption strong{font-size:22px}
  .tutorial-copy{padding:0}.tutorial-kicker{font-size:9px;margin-bottom:7px}.tutorial-copy h1{font-size:clamp(30px,8vw,40px);line-height:1}.tutorial-body{margin-top:9px;font-size:16px;line-height:1.4}.tutorial-note{margin-top:11px;padding:9px 11px;font-size:13px}
  .tutorial-footer{align-items:stretch;flex-direction:column;gap:8px;padding-top:12px}.tutorial-skip{min-height:40px;align-self:center;padding:7px 12px;font-size:13px}.tutorial-nav{width:100%;display:grid;grid-template-columns:minmax(90px,.72fr) minmax(0,1.28fr);gap:8px}.tutorial-back,.tutorial-next{min-width:0;min-height:50px;padding:10px 12px;font-size:14px}
  .scene6-caption.story-caption,.scene7-caption.story-caption,.scene8-caption.story-caption,.scene9-caption.story-caption,.scene10-caption.story-caption,.scene11-caption.story-caption,.scene12-caption.story-caption,.scene6-choice-dock.story-caption,.scene8-choice-panel.story-caption,.scene7-choice-panel.story-choice-list{width:100%;max-height:min(44svh,calc(100svh - 212px));padding:13px 14px;border-radius:16px}
  .scene6-caption.story-caption>small,.scene7-caption.story-caption>small,.scene8-caption.story-caption>small,.scene9-caption.story-caption>small,.scene10-caption.story-caption>small,.scene11-caption.story-caption>small,.scene12-caption.story-caption>small,.scene6-choice-dock.story-caption>small,.scene8-choice-panel.story-caption>small{font-size:9px}
  .scene6-caption.story-caption>strong,.scene7-caption.story-caption>strong,.scene8-caption.story-caption>strong,.scene9-caption.story-caption>strong,.scene10-caption.story-caption>strong,.scene11-caption.story-caption>strong,.scene12-caption.story-caption>strong{font-size:clamp(21px,5.8vw,25px)}
  .scene6-caption.story-caption>p,.scene7-caption.story-caption>p,.scene8-caption.story-caption>p,.scene9-caption.story-caption>p,.scene10-caption.story-caption>p,.scene11-caption.story-caption>p,.scene12-caption.story-caption>p,.scene6-choice-dock.story-caption>p,.scene8-choice-panel.story-caption>p{font-size:15px;line-height:1.45}
  .scene9-replies.story-choice-list,.scene10-replies.story-choice-list,.scene11-replies.story-choice-list,.scene12-replies.story-choice-list,.scene7-choice-dock.story-choice-list{width:100%;max-width:100%;gap:8px}
  .story-choice-list>button,.story-choice-list button.story-choice{min-height:50px;padding:11px 13px;font-size:15px;line-height:1.35}
  .scene-free-korean{grid-template-columns:minmax(0,1fr) 48px;gap:7px}.scene-free-korean__submit{grid-column:1/-1;width:100%}
}
@media(prefers-reduced-motion:reduce){.tutorial-progress span{transition:none}}

/* Optional Korean answer practice stays collapsed until the guest asks for it. */
.scene-answer-practice{display:block;max-width:100%;margin:8px 0 10px;padding-top:7px;border-top:1px solid rgba(255,255,255,.12)}
.scene-answer-practice>summary{display:flex;align-items:center;gap:8px;min-width:0;min-height:44px;color:#efb79f;font:650 13px/1.35 system-ui,sans-serif;cursor:pointer;list-style:none}
.scene-answer-practice>summary::-webkit-details-marker{display:none}
.scene-answer-practice>summary::after{content:"+";display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid rgba(239,183,159,.36);border-radius:50%;font-size:16px;line-height:1}
.scene-answer-practice[open]>summary::after{content:"−"}
.scene-answer-practice__hint{margin:6px 0 9px;color:rgba(255,250,241,.72);font:400 12px/1.45 system-ui,sans-serif}
.scene10-korean-response{font:500 clamp(20px,2vw,27px)/1.4 system-ui,sans-serif!important;color:#fffaf1!important;letter-spacing:.01em}
.scene-answer-practice .scene-lang-line{margin:4px 0 2px;padding:8px 0}
.scene-answer-practice .scene-lang-line>strong{font-size:clamp(19px,1.7vw,24px)}
.scene-answer-practice .scene-lang-icon{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
@media(max-width:820px){.scene-answer-practice{margin:7px 0 8px}.scene-answer-practice>summary{font-size:13px}.scene-answer-practice .scene-lang-line>strong{font-size:19px}}


/* Final guard for dinner controls: horizontal labels, clear hit targets, no floating reply card. */
.scene-content button[data-scene-action],.scene-content .story-choice-list button{box-sizing:border-box;writing-mode:horizontal-tb!important;text-orientation:mixed!important;word-break:normal!important;white-space:normal;overflow-wrap:anywhere}
.scene-content .story-choice-list{min-width:0;max-width:100%}
.scene-content .story-choice-list button{display:flex;width:100%;min-width:0;max-width:100%;min-height:52px;align-items:center;justify-content:flex-start;text-align:left;line-height:1.35}
.scene11-stage--free-entry{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;box-sizing:border-box;padding:88px 20px max(22px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.scene11-stage--free-entry>.scene11-free{position:relative;inset:auto;left:auto;right:auto;bottom:auto;transform:none;align-self:center;width:min(560px,100%);max-width:560px;margin:0;box-sizing:border-box}
.scene11-free{min-width:0;max-width:100%;padding:14px;border:1px solid rgba(255,248,239,.22);border-radius:16px;background:rgba(18,15,13,.88);color:#fffaf1;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.scene11-free label{display:block;min-width:0;margin:0 0 9px;color:#fffaf1;font:600 15px/1.35 system-ui,sans-serif;overflow-wrap:anywhere}
.scene11-free>div{display:grid;grid-template-columns:minmax(0,1fr) 52px;gap:8px;min-width:0}
.scene11-free input{display:block;width:100%;min-width:0;min-height:52px;box-sizing:border-box;font:500 16px/1.35 system-ui,sans-serif}
.scene11-free button{display:grid;width:52px;min-width:52px;min-height:52px;place-items:center;box-sizing:border-box;font:700 20px/1 system-ui,sans-serif}
.scene-content button[data-scene-action]:focus-visible,.scene-content .story-choice-list button:focus-visible{outline:3px solid #f0b398;outline-offset:2px}
@media(max-width:820px){
 .scene-content .story-choice-list button{min-height:50px;padding:12px 14px;font-size:15px;line-height:1.35}
}

/* Dinner controls: a full-size continuation and a stable reading order. */
.scene6-tap-layer,.scene7-tap-layer,.scene8-tap-layer,.scene9-tap,.scene10-tap,.scene11-tap,.scene12-tap{min-height:52px;width:min(660px,100%);flex:0 0 auto}
.scene6-tap-cue,.scene7-tap-cue,.scene8-tap-cue,.scene9-tap>span,.scene10-tap>span,.scene11-tap>span,.scene12-tap>span{min-height:50px;padding:12px 18px;font:650 15px/1.3 system-ui,sans-serif;letter-spacing:0;color:#fffaf1}
.scene6-tap-cue i,.scene7-tap-cue i,.scene8-tap-cue i,.scene9-tap i,.scene10-tap i,.scene11-tap i,.scene12-tap i{width:6px;height:6px}
.scene11-end-continue,.scene12-stamp-continue,.scene12-final-actions button,.scene12-download-actions button{min-height:48px;padding:12px 16px;font:650 14px/1.25 system-ui,sans-serif;letter-spacing:0;text-transform:none;white-space:normal;overflow-wrap:normal;word-break:normal;writing-mode:horizontal-tb}
.scene11-stage--end .scene11-end-continue{opacity:1;animation:none}
.scene11-stage--free-entry{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;overflow-y:auto!important}
.scene11-stage--free-entry>.scene11-free{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(560px,100%)!important;max-width:100%;margin:0 auto!important}
.scene11-stage--tomorrow>.scene11-replies,.scene11-stage--meal>.scene11-replies,.scene11-stage--jeonju>.scene11-replies{min-width:0;max-width:100%;box-sizing:border-box}
.scene11-stage--phone:not(.scene11-stage--map){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:14px;overflow-y:auto}
.scene11-stage--phone:not(.scene11-stage--map)>.scene11-caption,.scene11-stage--phone:not(.scene11-stage--map)>.scene11-phone-card{position:relative;inset:auto;left:auto;right:auto;bottom:auto;transform:none;width:min(620px,100%);margin:0 auto;align-self:center;max-width:100%}
.scene11-stage--phone:not(.scene11-stage--map)>.scene11-phone-card{min-height:120px;padding:18px;flex:0 0 auto}
.scene8-stage--bibimbap:not(.scene8-stage--immersive),.scene8-stage--bulgogi:not(.scene8-stage--immersive),.scene8-stage--banchan:not(.scene8-stage--immersive),.scene7-stage--conversation:not(.scene7-stage--immersive),.scene6-stage--talk:not(.scene6-stage--immersive),.scene6-stage--family:not(.scene6-stage--immersive){display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;overflow-y:auto;box-sizing:border-box}
.scene8-stage--bibimbap:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--banchan:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene7-stage--conversation:not(.scene7-stage--immersive)>.scene7-choice-panel,.scene6-stage--talk:not(.scene6-stage--immersive)>.scene6-choice-dock,.scene6-stage--family:not(.scene6-stage--immersive)>.scene6-choice-dock{position:relative;inset:auto;left:auto;right:auto;bottom:auto;transform:none;margin:0 auto;width:min(660px,100%);max-width:100%;max-height:min(68svh,620px);overflow-y:auto;pointer-events:auto}
.scene8-stage--with-action>.scene8-pour-actions.story-choice-list{background:rgba(18,15,13,.84);padding:9px;border:1px solid rgba(255,248,239,.22);border-radius:18px}
.scene8-table-hotspot--dishes{top:53%}
.scene7-stage--sink-action{display:flex;flex-direction:column!important;justify-content:flex-end!important;align-items:stretch!important;gap:12px;overflow-y:auto!important;pointer-events:none;padding:76px 20px max(22px,env(safe-area-inset-bottom))!important}
.scene7-stage--sink-action>.scene7-caption{position:relative!important;order:1;align-self:center!important;width:min(660px,100%)!important;max-height:min(52svh,calc(100svh - 190px));margin:0 auto!important;overflow-y:auto}
.scene7-stage--sink-action>.scene7-sink-hotspot--faucet{position:relative!important;order:2;left:auto!important;top:auto!important;transform:none!important;align-self:center;width:min(620px,100%);height:auto;min-height:52px;border-radius:999px;background:rgba(18,15,13,.82);box-shadow:0 12px 30px rgba(0,0,0,.2);animation:none}
.scene7-stage--sink-action>.scene7-sink-hotspot--faucet span{position:static;transform:none;background:transparent;color:#fffaf1;font:650 15px/1.3 system-ui,sans-serif;letter-spacing:0;padding:12px 18px;white-space:normal}
@media(max-width:820px){
  .scene6-tap-layer,.scene7-tap-layer,.scene8-tap-layer,.scene9-tap,.scene10-tap,.scene11-tap,.scene12-tap{width:100%}
  .scene6-tap-cue,.scene7-tap-cue,.scene8-tap-cue,.scene9-tap>span,.scene10-tap>span,.scene11-tap>span,.scene12-tap>span{font-size:15px}
  .scene11-stage--phone:not(.scene11-stage--map){padding:76px 12px max(20px,env(safe-area-inset-bottom))}
  .scene11-stage--free-entry{padding:76px 12px max(20px,env(safe-area-inset-bottom))!important}
  .scene8-stage--bibimbap:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--banchan:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene7-stage--conversation:not(.scene7-stage--immersive)>.scene7-choice-panel,.scene6-stage--talk:not(.scene6-stage--immersive)>.scene6-choice-dock,.scene6-stage--family:not(.scene6-stage--immersive)>.scene6-choice-dock{width:100%;max-height:min(57svh,calc(100svh - 115px))}
  .scene8-table-hotspot--dishes{top:56%}
  .scene8-table-hotspot--tools{right:8%;bottom:17%}
  .scene8-table-hotspot b{font-size:12px}.scene8-table-hotspot span{font-size:10px}
  .scene7-stage--sink-action{padding:76px 12px max(20px,env(safe-area-inset-bottom))!important}
  .scene7-stage--sink-action>.scene7-caption,.scene7-stage--sink-action>.scene7-sink-hotspot--faucet{width:100%!important}
}
@media(max-height:650px){.scene11-stage--phone:not(.scene11-stage--map)>.scene11-phone-card{min-height:82px;padding:12px}.scene8-stage--bibimbap:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel,.scene8-stage--banchan:not(.scene8-stage--immersive)>.scene8-choice-panel{max-height:68svh}}

/* Final pass: keep dinner copy and replies in one stable reading column on every screen. */
@media(min-width:821px){
  .scene6-stage--object,.scene7-stage--greeting,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive),.scene8-stage--with-action,.scene9-stage--origin:not(.scene9-stage--immersive),.scene9-stage--reason:not(.scene9-stage--immersive),.scene9-stage--grandma:not(.scene9-stage--immersive),.scene9-stage--jiho:not(.scene9-stage--immersive),.scene9-stage--situation,.scene10-stage--drinks:not(.scene10-stage--immersive),.scene10-stage--difference:not(.scene10-stage--immersive),.scene10-stage--taste:not(.scene10-stage--immersive),.scene10-stage--jeonju:not(.scene10-stage--immersive),.scene10-stage--situation,.scene10-stage--with-action,.scene11-stage--meal:not(.scene11-stage--immersive),.scene11-stage--jeonju:not(.scene11-stage--immersive),.scene11-stage--tomorrow:not(.scene11-stage--immersive),.scene12-stage--container,.scene12-stage--time:not(.scene12-stage--immersive),.scene12-stage--farewell:not(.scene12-stage--immersive),.scene12-stage--favorite:not(.scene12-stage--immersive){display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:14px;max-width:none;margin:0;padding:90px clamp(24px,4vw,60px) max(30px,env(safe-area-inset-bottom))!important;overflow-y:auto}
  .scene6-stage--object>.scene6-caption,.scene7-stage--greeting>.scene7-caption,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,.scene8-stage--with-action>.scene8-caption,.scene8-stage--with-action>.scene8-choice-panel,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,.scene9-stage--situation>.scene9-caption,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,.scene10-stage--situation>.scene10-caption,.scene10-stage--with-action>.scene10-caption,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,.scene12-stage--container>.scene12-caption,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final{align-self:center!important;justify-self:auto!important;width:min(660px,100%)!important;max-width:660px!important;margin:0 auto!important}
  .scene6-stage--object>.scene-object-action,.scene6-stage--object>.scene6-greeting-actions,.scene6-stage--object>.scene6-free-dock,.scene7-stage--greeting>.scene7-choice-dock,.scene7-stage--greeting>.scene7-greeting-response,.scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-stand-action,.scene8-stage--with-action>.scene8-object-action,.scene8-stage--with-action>.scene8-pour-actions,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-replies,.scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-free,.scene9-stage--situation>.scene9-replies,.scene9-stage--situation>.scene9-gesture-note,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-free,.scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-replies,.scene10-stage--with-action>.scene10-object-action,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-free,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-replies,.scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-free,.scene12-stage--container>.scene12-container-receive,.scene12-stage--container>.scene12-replies,.scene12-stage--time:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-replies,.scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-replies{align-self:center!important;justify-self:auto!important;width:min(660px,100%)!important;max-width:660px!important;margin:0 auto!important}
}
.scene6-caption.story-caption,.scene7-caption.story-caption,.scene8-caption.story-caption,.scene9-caption.story-caption,.scene10-caption.story-caption,.scene11-caption.story-caption,.scene12-caption.story-caption,.scene6-choice-dock.story-caption,.scene8-choice-panel.story-caption{box-sizing:border-box;color:#fffaf1!important}
.scene6-caption.story-caption>small,.scene7-caption.story-caption>small,.scene8-caption.story-caption>small,.scene9-caption.story-caption>small,.scene10-caption.story-caption>small,.scene11-caption.story-caption>small,.scene12-caption.story-caption>small,.scene6-choice-dock.story-caption>small,.scene8-choice-panel.story-caption>small{font:750 10px/1.35 system-ui,sans-serif!important;color:#efb79f!important;letter-spacing:.11em!important}
.scene6-caption.story-caption>p,.scene7-caption.story-caption>p,.scene8-caption.story-caption>p,.scene9-caption.story-caption>p,.scene10-caption.story-caption>p,.scene11-caption.story-caption>p,.scene12-caption.story-caption>p,.scene6-choice-dock.story-caption>p,.scene8-choice-panel.story-caption>p{font:400 16px/1.48 Georgia,serif!important;color:rgba(255,250,241,.94)!important;overflow-wrap:anywhere}
.scene6-caption.story-caption>strong,.scene7-caption.story-caption>strong,.scene8-caption.story-caption>strong,.scene9-caption.story-caption>strong,.scene10-caption.story-caption>strong,.scene11-caption.story-caption>strong,.scene12-caption.story-caption>strong{font:500 clamp(23px,2.1vw,30px)/1.14 Georgia,serif!important;color:#fffaf1!important;letter-spacing:-.01em!important}
.scene-content .story-choice-list button,.scene6-choice-dock button,.scene7-choice-dock button,.scene7-choice-panel button,.scene8-choice-panel button,.scene9-replies button,.scene10-replies button,.scene11-replies button,.scene12-replies button{min-height:50px;padding:12px 15px;color:#fffaf1;font:600 15px/1.35 system-ui,sans-serif;letter-spacing:0;text-transform:none}
.scene8-mix-indicator{display:inline-grid;place-items:center;width:26px;height:26px;margin:10px 0 0;border:1px solid rgba(239,183,159,.42);border-radius:50%;color:#efb79f;font:700 16px/1 system-ui,sans-serif;animation:scene8Mix .65s ease-out 1}
@keyframes scene8Mix{from{transform:rotate(-150deg) scale(.78);opacity:.35}to{transform:rotate(0) scale(1);opacity:1}}
.scene-content .story-choice-list button:focus-visible,.scene-content button[data-scene-action]:focus-visible{outline:3px solid #f0b398;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.scene8-mix-indicator{animation:none}}

.tutorial-photo picture{display:block;width:100%;height:100%}
.tutorial-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0 0;padding:0;list-style:none}
.tutorial-points li{position:relative;min-width:0;padding:11px 13px 11px 34px;border:1px solid rgba(128,83,61,.14);border-radius:13px;background:rgba(255,250,243,.72);color:#563e32;font:600 13px/1.4 system-ui,sans-serif}
.tutorial-points li::before{content:"✓";position:absolute;left:12px;top:10px;color:#8c2722;font-weight:800}
@media(max-width:820px){.tutorial-points{gap:6px;margin-top:10px}.tutorial-points li{padding:9px 9px 9px 27px;font-size:11px;line-height:1.35}.tutorial-points li::before{left:9px;top:8px}}
@media(max-width:380px){.tutorial-points{grid-template-columns:1fr}.tutorial-points li{padding-top:7px;padding-bottom:7px}.tutorial-points li::before{top:6px}}

/* Sound settings entry points are consistent on the cover, profile, guide, and scene HUD. */
.sound-settings-trigger{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border:1px solid rgba(255,248,239,.22);border-radius:50%;background:rgba(19,18,16,.42);color:#fff7ed;font:600 19px/1 system-ui,sans-serif;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.sound-settings-trigger:hover{background:rgba(126,43,34,.82);border-color:rgba(255,235,221,.58);transform:rotate(18deg)}
.sound-settings-trigger--compact{width:36px;height:36px;font-size:16px}
.sound-settings-trigger:focus-visible,.sound-settings-master:focus-visible,.sound-range input:focus-visible{outline:3px solid #f0b398;outline-offset:3px}
.tutorial-sound-settings{margin:15px 0 0;padding:12px 16px;border:1px solid #926856;border-radius:999px;background:#fff8f0;color:#592e25;font:700 14px/1.3 system-ui,sans-serif;cursor:pointer}
.tutorial-sound-settings[hidden]{display:none}
.sound-settings-layer[hidden]{display:none}
.sound-settings-layer{position:fixed;inset:0;z-index:230;display:grid;place-items:center;box-sizing:border-box;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));}
.sound-settings-backdrop{position:absolute;inset:0;background:rgba(12,11,10,.74);backdrop-filter:blur(8px)}
.sound-settings-card{position:relative;width:min(520px,100%);max-height:min(760px,92svh);overflow:auto;box-sizing:border-box;padding:clamp(20px,4vw,32px);border:1px solid rgba(111,74,57,.22);border-radius:24px;background:#f5eadb;color:#3d2922;box-shadow:0 30px 90px rgba(0,0,0,.44)}
.sound-settings-card header{display:flex;align-items:center;justify-content:space-between;gap:16px}.sound-settings-card header small{color:#936250;font:750 10px/1.2 system-ui,sans-serif;letter-spacing:.16em}.sound-settings-card h2{margin:5px 0 0;font:500 clamp(28px,6vw,38px)/1 Georgia,serif;letter-spacing:-.025em}.sound-settings-card header>button{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(83,55,42,.2);border-radius:50%;background:transparent;color:#472e24;font:400 27px/1 system-ui,sans-serif;cursor:pointer}.sound-settings-card>p{margin:16px 0 20px;color:#62463a;font:400 16px/1.45 Georgia,serif}
.sound-settings-master{width:100%;min-height:48px;margin:0 0 15px;padding:11px 15px;border:1px solid #7f211d;border-radius:999px;background:#7f211d;color:#fff7ef;font:700 14px/1.25 system-ui,sans-serif;cursor:pointer}
.sound-range{display:grid;gap:8px;margin:14px 0;padding:13px 14px;border:1px solid rgba(83,55,42,.14);border-radius:14px;background:#fffaf3}.sound-range>span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#49372f;font:600 14px/1.3 system-ui,sans-serif}.sound-range output{color:#7f3a2d;font-variant-numeric:tabular-nums}.sound-range input{width:100%;accent-color:#842a22}.sound-settings-card>small{display:block;margin-top:16px;color:#745344;font:500 12px/1.4 system-ui,sans-serif}
body.has-sound-settings{overflow:hidden}
@media(max-width:820px){.sound-settings-trigger{width:38px;height:38px}.sound-settings-trigger--compact{width:34px;height:34px}.sound-settings-layer{place-items:end center;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.sound-settings-card{width:100%;max-height:92svh;padding:20px;border-radius:20px}.sound-settings-card>p{font-size:15px}.sound-range{margin:10px 0}.tutorial-sound-settings{width:100%;margin-top:11px}}

/* One anchored information card for every table hotspot, on touch and pointer screens. */
.scene8-table-hotspot.is-selected{border-color:#f4c3a0;background:rgba(90,43,29,.88);box-shadow:0 0 0 3px rgba(244,195,160,.16),0 12px 28px rgba(0,0,0,.3)}
.scene8-focus-panel{position:relative;z-index:6;width:min(620px,100%);max-height:min(27svh,230px);overflow:auto;box-sizing:border-box;margin:0 auto;padding:14px 16px;border:1px solid rgba(255,248,239,.23);border-radius:16px;background:rgba(16,14,12,.9);color:#fffaf1;backdrop-filter:blur(15px);box-shadow:0 16px 40px rgba(0,0,0,.28);pointer-events:auto}
.scene8-focus-panel>small{display:block;color:#eab192;font:800 9px/1.2 system-ui,sans-serif;letter-spacing:.14em}.scene8-focus-panel p{margin:6px 0 10px;color:#fffaf1;font:400 15px/1.45 Georgia,serif}.scene8-focus-panel button{min-height:38px;padding:8px 14px;border:1px solid rgba(255,248,239,.28);border-radius:999px;background:rgba(255,255,255,.08);color:#fffaf1;font:650 13px/1.2 system-ui,sans-serif;cursor:pointer}
.scene8-table-hotspot:focus-visible,.scene8-focus-panel button:focus-visible{outline:3px solid #f0b398;outline-offset:2px}
@media(max-width:820px){.scene8-focus-panel{max-height:min(27svh,205px);padding:12px 13px}.scene8-focus-panel p{font-size:14px;line-height:1.4}}

/* Korean reply choices use a single row pattern and remain optional under French/English choices. */
.scene-korean-replies{position:relative;z-index:8;width:min(660px,100%);box-sizing:border-box;margin:10px auto 0;padding:0 12px;color:#fffaf1;pointer-events:auto}
.scene-korean-replies>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 15px;border:1px solid rgba(255,248,239,.28);border-radius:14px;background:rgba(19,16,14,.86);color:#fffaf1;font:650 14px/1.3 system-ui,sans-serif;cursor:pointer;list-style:none}
.scene-korean-replies>summary::-webkit-details-marker{display:none}.scene-korean-replies>summary::after{content:"+";display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid rgba(239,183,159,.48);border-radius:50%;font-size:17px}.scene-korean-replies[open]>summary::after{content:"−"}
.scene-korean-replies__hint{margin:8px 2px;color:rgba(255,250,241,.76);font:400 12px/1.4 system-ui,sans-serif}
.scene-korean-answer-list{display:grid;gap:8px;max-height:min(33svh,300px);overflow:auto;padding:1px 2px 4px}
.scene-korean-answer{min-width:0;padding:10px;border:1px solid rgba(255,248,239,.17);border-radius:13px;background:rgba(19,16,14,.88);color:#fffaf1}
.scene-korean-answer__row{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;align-items:stretch}.scene-korean-answer__choose{display:grid;gap:5px;min-width:0;min-height:55px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#fffaf1;text-align:left;cursor:pointer}.scene-korean-answer__choose:hover{background:rgba(255,255,255,.06)}.scene-korean-answer__choose strong{font:650 17px/1.3 system-ui,sans-serif;overflow-wrap:anywhere}.scene-korean-answer__choose span{color:rgba(255,250,241,.72);font:400 11px/1.35 system-ui,sans-serif;overflow-wrap:anywhere}
.scene-korean-answer__audio{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid rgba(255,248,239,.2);border-radius:50%;background:rgba(255,255,255,.06);color:#fffaf1;cursor:pointer}.scene-korean-answer__audio .icon-speaker{width:17px;height:17px}.scene-korean-answer__mic{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin-top:7px;padding:8px 10px;border:1px solid rgba(239,183,159,.3);border-radius:999px;background:rgba(129,44,34,.42);color:#fffaf1;font:600 12px/1.25 system-ui,sans-serif;cursor:pointer}.scene-korean-answer__mic:disabled{opacity:.7;cursor:default}.scene-korean-answer__mic .icon-mic{width:15px;height:15px}.scene-korean-answer :focus-visible{outline:3px solid #f0b398;outline-offset:2px}
.scene-korean-answer .speech-feedback{margin-top:8px;padding:9px 10px;border-radius:10px;background:rgba(0,0,0,.25);color:#fffaf1}.scene-korean-answer .speech-feedback strong,.scene-korean-answer .speech-feedback span,.scene-korean-answer .speech-feedback small{display:block;margin:0 0 4px;font:500 12px/1.4 system-ui,sans-serif}.scene-korean-answer__choose[data-scene-action="korean-answer-select"]:disabled{opacity:.55;cursor:default}.scene-korean-reply-echo{display:grid;gap:5px;margin:8px 0 12px;padding:10px 12px;border-left:3px solid #e9ad8f;border-radius:0 10px 10px 0;background:rgba(0,0,0,.2)}.scene-korean-reply-echo strong{font:650 18px/1.35 system-ui,sans-serif}.scene-korean-reply-echo span{color:rgba(255,250,241,.74);font:400 12px/1.4 system-ui,sans-serif}
@media(max-width:820px){.scene-korean-replies{width:100%;margin-top:7px;padding:0}.scene-korean-replies>summary{min-height:44px;padding:9px 12px;font-size:13px}.scene-korean-replies__hint{font-size:11px}.scene-korean-answer-list{max-height:min(30svh,245px)}.scene-korean-answer__choose strong{font-size:16px}}

.scene8-table-hotspot--bibimbap{left:50%;top:53%;transform:translate(-50%,-50%)}
.scene8-table-hotspot--bulgogi{left:18%;bottom:18%}
.scene8-table-hotspot--banchan{left:62%;bottom:21%}
.scene8-table-hotspot--tools{right:11%;bottom:15%}
.scene8-table-hotspot--people{right:9%;top:27%}
.scene8-table-hotspot--dishes{display:none!important}
.scene5-father-intro{margin:0 0 12px;color:rgba(255,250,241,.86);font:400 clamp(14px,1.35vw,17px)/1.46 Georgia,serif}
@media(max-width:820px){
 .scene8-table-hotspot{min-width:82px;max-width:min(38vw,142px);padding:7px 8px;border-radius:11px}
 .scene8-table-hotspot b{font-size:10px;line-height:1.1}.scene8-table-hotspot span{font-size:8px}
 .scene8-table-hotspot--bibimbap{left:50%;top:47%}
 .scene8-table-hotspot--bulgogi{left:4%;bottom:34%}
 .scene8-table-hotspot--banchan{left:auto;right:4%;bottom:34%}
 .scene8-table-hotspot--tools{left:4%;right:auto;bottom:14%}
 .scene8-table-hotspot--people{right:4%;top:20%}
}

/* Final pass 4: guide access, table cue, and focused image motion. */
.guide-link{min-height:42px;padding:8px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.46);background:transparent;color:#fff;font:650 14px/1.3 system-ui,sans-serif;text-align:left;text-shadow:0 2px 12px rgba(0,0,0,.7);cursor:pointer}
.guide-link:hover{color:#f2c7ae;border-bottom-color:#f2c7ae}
.guide-link:focus-visible,.experience-menu__panel>nav button[data-menu="tutorial"]:focus-visible{outline:3px solid #c98158;outline-offset:3px}
.experience-menu__panel>nav button[data-menu="tutorial"]{margin-top:auto;padding-top:16px;border-top:1px solid rgba(82,60,44,.14);color:#8a3d31;font-weight:700}
.scene8-stage--meal-start{align-items:center;justify-content:center;padding:90px 22px max(24px,env(safe-area-inset-bottom))}
.scene8-stage--meal-start .scene8-choice-panel{align-self:center;width:min(620px,100%);padding:clamp(16px,2.4vw,24px)}
.scene8-stage--meal-start .scene8-choice-panel>strong{display:block;margin:2px 0 10px;color:#fff;font:500 clamp(24px,2.6vw,34px)/1.12 Georgia,serif}
.scene8-stage--meal-start .scene8-choice-panel>p{margin:0 0 12px;color:rgba(255,255,255,.9);font:400 clamp(15px,1.2vw,17px)/1.5 Georgia,serif}
.scene8-context-note{display:block;margin:10px 0 0;color:rgba(255,250,241,.65);font:500 11px/1.4 system-ui,sans-serif;letter-spacing:0}
.notebook-expression__context{display:block!important;margin-top:2px;color:#846d5b!important;font-size:10px!important;line-height:1.45}
.scene[data-mode="scene7-entry"] .scene__image{object-position:center 54%;transform:none!important;transition:opacity .72s ease,filter .72s ease}
@media(max-width:820px){.scene8-stage--meal-start{padding:74px 12px max(12px,env(safe-area-inset-bottom))}.scene8-stage--meal-start .scene8-choice-panel{max-height:min(62svh,calc(100svh - 150px));padding:14px}.scene8-stage--meal-start .scene8-choice-panel>p{font-size:15px}.scene[data-mode="scene7-entry"] .scene__image{object-position:center 34%}}
@media(prefers-reduced-motion:reduce){.guide-link{transition:none}}

/* Keep the card optional and make the path back into the immersion unmistakable. */
.scene3-phone-actions .choice-button{min-height:48px;border-color:#efc3a3;background:#d9a080;color:#2c2c25;font-weight:750;box-shadow:0 6px 16px rgba(0,0,0,.2)}
.scene3-phone-actions .choice-button:hover{background:#e7b18f;border-color:#ffddc2}
.scene3-phone-actions .scene3-card-open-link{justify-self:center;min-height:42px;padding:8px 14px;border:1px solid rgba(255,245,232,.54);border-radius:999px;background:rgba(255,255,255,.08);color:#fff9f0;font:600 13px/1.25 system-ui,sans-serif;text-align:center;cursor:pointer}
.scene3-phone-actions .scene3-card-open-link:hover{background:rgba(255,255,255,.17);border-color:rgba(255,245,232,.74)}
.experience-menu__panel>footer .experience-menu__resume{min-width:148px;min-height:46px;padding:10px 20px;border:1px solid #8b4f3d;border-radius:999px;background:#9e5b43;color:#fff8ef;font-size:14px;font-weight:700;line-height:1.2;text-align:center;box-shadow:0 6px 14px rgba(87,49,36,.16)}
.experience-menu__panel>footer .experience-menu__resume:hover{background:#854a39}
.experience-menu__panel>footer .experience-menu__resume:focus-visible{outline:3px solid #b7795f;outline-offset:3px}
.scene-brand{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#f5e9d8;box-shadow:0 4px 16px rgba(0,0,0,.23);text-shadow:none;letter-spacing:0;overflow:hidden}
.scene-brand__logo{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.scene-brand:focus-visible{outline:3px solid #e5aa8f;outline-offset:3px}
.phone-stage--scene3 .phone-screen{padding-bottom:122px}
.scene4-continue{min-width:152px;min-height:48px;padding:12px 18px;border:1px solid rgba(255,247,235,.76);border-radius:999px;background:#d7a184;color:#2d3028;font-size:14px;font-weight:750;line-height:1.2;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.scene4-continue:hover{background:#e3b294;border-color:#fff7eb}
.scene4-inline-route button{min-height:44px;padding:10px 12px;border:1px solid rgba(227,170,145,.52);border-radius:999px;background:rgba(15,18,17,.48);color:#f2c2a8;font-size:12px;font-weight:650}
@media(max-width:820px){
  .scene3-phone-actions .scene3-card-open-link{min-height:44px;font-size:14px}
  .scene-brand{width:42px;height:42px}
  .phone-stage--scene3 .phone-screen{padding-bottom:126px}
  .scene4-cinematic-copy{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:calc(100svh - 118px);overflow-y:auto;overscroll-behavior:contain;padding:15px 15px 14px}
  .scene4-cinematic-copy>p{font-size:16px;line-height:1.45}
  .scene4-continue{width:100%;min-height:50px;margin-top:12px;font-size:15px}
  .scene4-inline-route{align-items:center}
  .scene4-inline-route button{min-width:120px;min-height:44px}
  .experience-menu__panel>footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px}
  .experience-menu__panel>footer .experience-menu__resume{grid-column:1;grid-row:1;min-width:0;width:100%;min-height:48px;text-align:center}
  .experience-menu__panel>footer .build-stamp{grid-column:1/-1;grid-row:2;text-align:center}
  .experience-menu__panel>footer button:last-child{grid-column:2;grid-row:1;min-height:44px;text-align:right;white-space:nowrap}
}

/* Small bow cue: shown after the guest selects the non-verbal greeting on both layouts. */
.scene7-client--bow{position:relative;padding-right:42px;overflow:hidden}.scene7-bow-motion{position:absolute;right:12px;top:50%;width:22px;height:25px;transform:translateY(-50%);color:#e7b099}.scene7-bow-motion i{position:absolute;top:1px;left:7px;width:10px;height:10px;border:2px solid currentColor;border-radius:50%;transform-origin:50% 120%;animation:scene7-bow-head 1.05s .12s cubic-bezier(.2,.75,.25,1) both}.scene7-bow-motion b{position:absolute;left:5px;bottom:1px;width:14px;height:9px;border:2px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0;transform-origin:50% 100%;animation:scene7-bow-body 1.05s .12s cubic-bezier(.2,.75,.25,1) both}@keyframes scene7-bow-head{0%,100%{transform:rotate(0)}38%,68%{transform:rotate(24deg) translateY(2px)}}@keyframes scene7-bow-body{0%,100%{transform:rotate(0)}38%,68%{transform:rotate(7deg) translateY(1px)}}@media(prefers-reduced-motion:reduce){.scene7-bow-motion i,.scene7-bow-motion b{animation:none}}


/* === CANDIDATE 14 · FINAL IMMERSION HARDENING · 2026-10-01 === */
/* Brand: fixed physical dimensions prevent the scene logo from collapsing or reverting to a text wordmark. */
.scene-brand{width:52px;height:52px;display:grid;place-items:center;padding:0!important;border-radius:50%;overflow:hidden;background:rgba(17,15,14,.22);box-shadow:0 8px 26px rgba(0,0,0,.18)}
.scene-brand__logo{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:50%}
.wordmark-button{width:52px;height:52px;padding:0!important;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.wordmark-button__logo{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}

/* Korean answer flow: visible when Korean is required, compact, scroll-safe, never laid over the dialogue. */
.scene-korean-replies--required{display:grid;gap:8px;margin-top:12px;padding:11px;border:1px solid rgba(239,183,159,.31);border-radius:16px;background:rgba(13,12,11,.86);backdrop-filter:blur(12px)}
.scene-korean-replies__title{font:700 11px/1.2 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#f1b99e}
.scene-korean-replies--required .scene-korean-replies__hint{margin:0 2px 2px}
.speech-feedback__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}
.speech-feedback__actions button{min-height:36px;padding:8px 11px;border:1px solid rgba(255,248,239,.2);border-radius:999px;background:rgba(255,255,255,.07);color:#fffaf1;font:650 11px/1.2 system-ui,sans-serif;cursor:pointer}
.speech-feedback__actions button:last-child{border-color:rgba(239,183,159,.36);background:rgba(129,44,34,.42)}
.scene12-stage--farewell:not(.scene12-stage--immersive)>.scene-korean-replies--required{position:relative!important;inset:auto!important;transform:none!important;z-index:6;align-self:center;width:min(620px,100%);max-width:620px;max-height:min(48svh,390px);overflow:auto;margin:0 auto!important}

/* Bus ride: fill the viewport beyond the safe edges so no black cap/gap can appear on tall phones. */
.scene4-bus-ride{background:#514b46}
@media(max-width:820px){
  .scene-brand,.wordmark-button{width:44px;height:44px}
  .scene4-bus-ride .scene4-ride-layer{inset:-8% -4% -5%!important}
  .scene4-bus-ride .scene4-ride-layer img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
  .scene4-bus-window{inset:-2px!important;background:linear-gradient(90deg,rgba(7,9,11,.30) 0 2%,transparent 2% 98%,rgba(7,9,11,.30) 98% 100%),linear-gradient(180deg,transparent 0 82%,rgba(3,5,6,.28) 100%)}
  .scene12-stage--farewell:not(.scene12-stage--immersive)>.scene-korean-replies--required{order:2;width:100%;max-height:none;overflow:visible}
  .scene-korean-answer-list{max-height:none!important;overflow:visible!important}
}
@media(min-width:821px){
  .scene12-stage--farewell:not(.scene12-stage--immersive)>.scene-korean-replies--required{grid-column:2;grid-row:auto}
}

/* V16: transparent wordmark, clear spoken turns, and tactile reply feedback. */
.topbar--cover .brand{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;backdrop-filter:none!important;box-shadow:none!important}
.brand__logo,.wordmark-button__logo,.scene-brand__logo{display:block;width:120px!important;height:auto!important;max-width:36vw;aspect-ratio:auto!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.24))}
.brand__wordmark small{color:rgba(255,255,255,.88)!important;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.wordmark-button{width:auto!important;min-width:48px;height:48px!important;padding:5px!important;border-radius:0!important;overflow:visible!important;display:grid;place-items:center}
.wordmark-button__logo{width:112px!important}
.scene-brand{width:auto!important;min-width:48px;height:48px!important;padding:4px!important;border-radius:0!important;display:grid;place-items:center}
.scene-brand__logo{width:106px!important}
.scene6-greeting-actions{align-items:stretch}
.scene6-greeting-actions>button{min-height:48px;flex:1;padding:12px 15px;border:1px solid rgba(255,231,208,.35);border-radius:14px;background:rgba(35,24,19,.9);color:#fff;font:650 13px/1.3 system-ui,sans-serif;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.scene6-greeting-actions>button:hover,.scene6-greeting-actions>button:focus-visible{transform:translateY(-2px);border-color:rgba(240,179,152,.7);background:rgba(65,38,28,.95);outline:none}
.scene7-stage--single-voice .story-caption,.scene8-stage--single-voice .story-caption{animation:voiceCardEnter .4s cubic-bezier(.2,.75,.28,1) both}
.scene7-stage--single-voice .scene-flow-next--standalone{min-height:48px;padding:12px 18px;border-color:rgba(240,179,152,.35)}
.scene8-stage--single-voice .story-caption{max-width:min(620px,calc(100% - 28px))}
.scene-korean-answer__row{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.scene-korean-answer__copy{display:grid;gap:5px;min-width:0;min-height:55px;align-content:center;padding:8px 10px}
.scene-korean-answer__copy strong{font:650 18px/1.35 system-ui,sans-serif;overflow-wrap:anywhere}
.scene-korean-answer__copy span{color:rgba(255,250,241,.72);font:400 11px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.scene-korean-answer__actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:8px}
.scene-korean-answer__mic,.scene-korean-answer__send{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:46px;margin:0;padding:9px 12px;border:1px solid rgba(239,183,159,.38);border-radius:13px;color:#fffaf1;font:650 12px/1.25 system-ui,sans-serif;cursor:pointer;transition:transform .18s ease,filter .18s ease,border-color .18s ease,background .18s ease}
.scene-korean-answer__mic{background:rgba(129,44,34,.52)}
.scene-korean-answer__send{background:rgba(255,255,255,.075)}
.scene-korean-answer__mic:hover,.scene-korean-answer__send:hover{transform:translateY(-1px);filter:brightness(1.18)}
.scene-korean-answer__mic:disabled{opacity:.58;cursor:default;transform:none}
.scene-korean-answer__send:disabled{opacity:.55;cursor:default}
.scene-korean-answer__attempts{display:block;margin:6px 2px 0;color:rgba(255,250,241,.65);font:600 10px/1.2 system-ui,sans-serif}
.scene-korean-answer.is-sending{border-color:rgba(240,179,152,.82);animation:koreanSendPulse .44s ease both}
.scene-korean-answer.is-retrying{border-color:rgba(227,140,122,.62);animation:koreanRetryNudge .34s ease both}
.scene-korean-answer.is-speaking{border-color:rgba(240,184,151,.58);background:rgba(108,65,43,.35);box-shadow:0 0 18px rgba(221,145,97,.12)}
.scene-korean-answer.is-speaking .scene-korean-answer__copy strong{color:#ffd9b5;text-shadow:0 0 12px rgba(255,196,145,.22)}
.scene-korean-answer .speech-feedback--good{border-color:rgba(162,208,160,.48);background:rgba(79,126,74,.15)}
@keyframes voiceCardEnter{from{opacity:0;transform:translateY(12px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes koreanSendPulse{0%{box-shadow:0 0 0 rgba(240,179,152,0);transform:scale(1)}42%{box-shadow:0 0 28px rgba(240,179,152,.3);transform:scale(1.012)}100%{box-shadow:0 0 10px rgba(240,179,152,.12);transform:scale(1)}}
@keyframes koreanRetryNudge{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}100%{transform:none}}
@media(max-width:820px){
  .brand__logo{width:96px!important;max-width:28vw}
  .brand__wordmark{display:none!important}
  .wordmark-button__logo{width:98px!important}
  .scene-brand__logo{width:90px!important}
  .scene-korean-answer__actions{gap:6px}
  .scene-korean-answer__mic,.scene-korean-answer__send{min-height:48px;padding:9px 8px;font-size:11px}
  .scene-korean-answer__copy strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .scene7-stage--single-voice .story-caption,.scene8-stage--single-voice .story-caption,.scene-korean-answer.is-sending,.scene-korean-answer.is-retrying{animation:none!important}
  .scene6-greeting-actions>button,.scene-korean-answer__mic,.scene-korean-answer__send{transition:none!important}
}

/* The transparent wordmark has its own brand color treatment; do not put it inside a badge. */
.brand__logo,.wordmark-button__logo,.scene-brand__logo{background:transparent!important;border-radius:0!important;object-fit:contain!important}


.scene-brand{width:112px!important;min-width:112px!important;height:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.scene-brand__logo{width:108px!important;height:auto!important;max-width:108px!important;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.26))}
.wordmark-button{width:112px!important;min-width:112px!important;height:38px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.wordmark-button__logo{width:108px!important;height:auto!important;max-width:108px!important;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.24))}
@media(max-width:820px){
  .scene-brand,.wordmark-button{width:96px!important;min-width:96px!important;height:34px!important}
  .scene-brand__logo,.wordmark-button__logo{width:94px!important;max-width:94px!important}
}

/* S11: let the recovered family exchange read as a paced, quiet conversation. */
.scene11-caption--family-thread{max-height:min(62svh,calc(100svh - 150px));overflow:auto;overscroll-behavior:contain}
.scene11-family-line{margin-top:9px;padding:8px 10px;border-left:2px solid rgba(232,176,146,.46);border-radius:0 9px 9px 0;background:rgba(255,255,255,.025);animation:scene11-family-enter .36s cubic-bezier(.2,.75,.28,1) both}
.scene11-family-line:nth-of-type(2){animation-delay:.08s}
.scene11-family-line:nth-of-type(3){animation-delay:.16s}
.scene11-family-line>small{display:block;margin:0 0 4px;color:#e8b092;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.14em}
.scene11-family-line>p{margin:4px 0 0;color:rgba(255,255,255,.84);font:400 clamp(13px,1.08vw,15px)/1.42 Georgia,serif}
@keyframes scene11-family-enter{from{opacity:0;transform:translateY(7px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:820px){.scene11-caption--family-thread{width:100%;max-height:min(57svh,calc(100svh - 158px));padding:11px 12px}.scene11-family-line{margin-top:7px;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){.scene11-family-line{animation:none!important}}

/* V16 corrective: restore the table's six dish-specific markers and the pour/photo feedback. */
.scene8-dish-world{position:absolute!important;inset:0!important;display:block!important;overflow:hidden!important;padding:0!important;pointer-events:none!important}
.scene8-dish-hint{position:absolute;z-index:8;top:clamp(76px,9vh,100px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(620px,calc(100% - 32px));margin:0;padding:9px 14px;border:1px solid rgba(255,244,226,.20);border-radius:999px;background:rgba(22,17,13,.72);color:#fff8ef;text-align:center;backdrop-filter:blur(9px);font:600 13px/1.35 system-ui,sans-serif;pointer-events:auto}
.scene8-dish-world.is-focused .scene8-dish-hint{display:none}
.scene8-dish-markers{position:absolute;inset:0;z-index:5;pointer-events:none}
.scene8-dish-marker{position:absolute;width:52px;height:52px;min-width:52px;min-height:52px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer}
.scene8-dish-marker i{display:block;width:13px;height:13px;border:2px solid rgba(255,249,237,.98);border-radius:50%;background:#d99b6e;box-shadow:0 0 0 7px rgba(217,155,110,.27),0 4px 16px rgba(0,0,0,.42);transition:transform .18s ease,background .18s ease,box-shadow .18s ease;animation:scene8DishPulse 2.8s ease-out infinite}
.scene8-dish-marker:nth-child(2) i{animation-delay:.35s}.scene8-dish-marker:nth-child(3) i{animation-delay:.7s}.scene8-dish-marker:nth-child(4) i{animation-delay:1.05s}.scene8-dish-marker:nth-child(5) i{animation-delay:1.4s}.scene8-dish-marker:nth-child(6) i{animation-delay:1.75s}
@keyframes scene8DishPulse{0%,100%{box-shadow:0 0 0 5px rgba(217,155,110,.22),0 4px 16px rgba(0,0,0,.42)}50%{box-shadow:0 0 0 10px rgba(255,235,209,.04),0 4px 16px rgba(0,0,0,.42)}}
.scene8-dish-marker:hover i,.scene8-dish-marker:focus-visible i{transform:scale(1.18);background:#fff0dc;box-shadow:0 0 0 10px rgba(255,240,220,.28),0 5px 22px rgba(0,0,0,.48)}
.scene8-dish-marker:focus-visible{outline:3px solid #fff0dc;outline-offset:1px}
.scene8-dish-marker.is-current i{transform:scale(1.18);background:#fff0dc;box-shadow:0 0 0 10px rgba(255,240,220,.34),0 5px 22px rgba(0,0,0,.5);animation:none}
.scene8-dish-marker--bibimbap{left:49%;top:66%}.scene8-dish-marker--bulgogi{left:24%;top:65%}.scene8-dish-marker--japchae{left:10%;top:72%}.scene8-dish-marker--kimchi{left:25%;top:75%}.scene8-dish-marker--jeon{left:45%;top:51%}.scene8-dish-marker--banchan{left:75%;top:67%}
.scene8-dish-card{position:absolute;z-index:9;top:clamp(124px,16vh,150px);left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 34px));max-height:120px;overflow:auto;box-sizing:border-box;padding:12px 16px;border:1px solid rgba(255,248,239,.22);border-radius:15px;background:rgba(16,14,12,.88);color:#fffaf1;text-align:center;backdrop-filter:blur(13px);box-shadow:0 16px 40px rgba(0,0,0,.28);pointer-events:auto}
.scene8-dish-card>span{display:block;color:#efbd9b;font:750 11px/1.2 system-ui,sans-serif;letter-spacing:.09em}.scene8-dish-card>strong{display:block;margin-top:4px;font:500 19px/1.2 Georgia,serif}.scene8-dish-card>p{margin:5px 0 0;color:rgba(255,250,241,.82);font:400 12px/1.38 system-ui,sans-serif}
.scene8-dish-continue{position:absolute;z-index:10;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);min-height:44px;padding:10px 18px;border:1px solid rgba(255,248,239,.28);border-radius:999px;background:rgba(15,12,10,.78);color:#fff;font:700 12px/1.2 system-ui,sans-serif;backdrop-filter:blur(10px);box-shadow:0 10px 26px rgba(0,0,0,.3);pointer-events:auto;cursor:pointer}
.scene8-dish-continue:hover,.scene8-dish-continue:focus-visible{background:rgba(72,43,30,.92);border-color:#f0b897;outline:3px solid rgba(240,184,151,.35);outline-offset:2px}
.han-water-service{overflow:hidden!important}
.han-water-hint{display:block;margin-top:8px;color:rgba(255,236,214,.78);font:700 11px/1.35 system-ui,sans-serif;letter-spacing:.02em}
.han-water-objects{position:absolute!important;right:clamp(20px,5vw,74px)!important;left:auto!important;bottom:clamp(22px,6vh,66px)!important;width:min(34vw,430px)!important;height:min(30vh,270px)!important;pointer-events:none!important;z-index:8!important}
.han-water-carafe-wrap,.han-water-glass-wrap{position:absolute!important;pointer-events:auto!important}
.han-water-carafe-wrap{left:auto!important;right:5%!important;bottom:3%!important;width:clamp(82px,8.5vw,124px)!important;transform:translate(var(--carafe-x,0),var(--carafe-y,0));transform-origin:68% 76%;touch-action:none;cursor:grab;transition:transform .2s ease,filter .2s ease,opacity .18s ease;z-index:10}
.han-water-carafe-wrap img{display:block!important;position:static!important;width:100%!important;max-width:none!important;pointer-events:none!important;filter:drop-shadow(0 10px 14px rgba(0,0,0,.28))}
.han-water-glass-wrap{left:8%!important;right:auto!important;bottom:4%!important;width:clamp(58px,5.2vw,78px)!important;z-index:8;border-radius:50%;transition:box-shadow .2s ease,transform .2s ease}
.han-water-glass-wrap img{display:block!important;position:static!important;width:100%!important;max-width:none!important;pointer-events:none!important;filter:drop-shadow(0 8px 12px rgba(0,0,0,.18))}
.han-water-carafe-wrap.is-dragging{cursor:grabbing;transition:none!important;filter:brightness(1.04)}
.han-water-glass-wrap.is-ready{box-shadow:0 0 0 8px rgba(230,185,125,.08),0 0 22px rgba(230,185,125,.17);transform:scale(1.035)}
.han-water-carafe-wrap.is-pouring{opacity:1!important;transform:translate(var(--carafe-x,0),var(--carafe-y,0)) rotate(-25deg) scale(.94)!important;transition:transform .34s ease!important;pointer-events:none!important}
.han-water-carafe-wrap.is-pouring::after{content:'';position:absolute;left:5%;top:24%;width:6px;height:72px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(196,230,244,.42) 56%,rgba(255,255,255,.08));filter:blur(.5px);transform:rotate(18deg);transform-origin:top center;opacity:.82;animation:hanPourStream .46s ease-in-out infinite alternate;pointer-events:none}
@keyframes hanPourStream{from{height:62px;opacity:.56}to{height:80px;opacity:.9}}
.scene12-stage--photo-result::after{content:'';position:absolute;z-index:6;inset:0;background:radial-gradient(ellipse at center,rgba(255,255,249,.98),rgba(255,255,255,.72) 44%,rgba(255,255,255,.18) 100%);opacity:0;pointer-events:none;mix-blend-mode:screen;animation:scene12ScreenFlash .68s 1.95s both}
@keyframes scene12ScreenFlash{0%,100%{opacity:0}18%{opacity:.9}42%{opacity:.55}72%{opacity:.14}}
@media(max-width:820px){
  .scene8-dish-hint{top:72px;width:calc(100% - 24px);max-width:520px;padding:8px 11px;font-size:11px}
  .scene8-dish-marker{width:52px;height:52px;min-width:52px;min-height:52px}
  .scene8-dish-marker--bibimbap{left:53%;top:53%}.scene8-dish-marker--bulgogi{left:18%;top:70%}.scene8-dish-marker--japchae{left:19%;top:59%}.scene8-dish-marker--kimchi{left:38%;top:80%}.scene8-dish-marker--jeon{left:84%;top:68%}.scene8-dish-marker--banchan{left:72%;top:80%}
  .scene8-dish-card{top:120px;width:calc(100% - 22px);max-height:110px;padding:10px 12px}.scene8-dish-card>strong{font-size:17px}.scene8-dish-card>p{font-size:11px}
  .scene8-dish-continue{bottom:max(10px,env(safe-area-inset-bottom));min-height:42px}
  .han-water-service>.scene8-caption{position:absolute!important;z-index:6!important;top:68px!important;left:10px!important;right:10px!important;bottom:auto!important;width:auto!important;max-width:none!important;max-height:24svh!important;overflow:auto!important;margin:0!important;padding:10px 11px!important}
  .han-water-objects{left:50%!important;right:auto!important;transform:translateX(-50%)!important;bottom:max(44px,8svh)!important;width:min(92vw,410px)!important;height:min(31svh,240px)!important}
  .han-water-carafe-wrap{left:auto!important;right:10%!important;bottom:3%!important;width:min(24vw,96px)!important}.han-water-glass-wrap{left:12%!important;right:auto!important;bottom:4%!important;width:min(16vw,66px)!important}
  .han-water-carafe-wrap.is-pouring::after{height:58px!important}
}
@media(prefers-reduced-motion:reduce){
  .scene8-dish-marker i{animation:none!important;transition:none!important}
  .han-water-carafe-wrap.is-pouring::after{animation:none!important}
  .scene12-stage--photo-result::after{animation:none!important}
}
/* Match the marker canvas to the 4:3 dinner image on desktop and the portrait crop on phones. */
.scene[data-mode="scene8-table"] .scene8-dish-world .scene8-dish-markers{position:absolute!important;inset:auto!important;top:50%!important;left:50%!important;width:max(106vw,142svh)!important;height:auto!important;aspect-ratio:4/3!important;transform:translate(-50%,-50%)!important;pointer-events:none!important}
@media(max-width:820px){.scene[data-mode="scene8-table"] .scene8-dish-world .scene8-dish-markers{width:max(107.5vw,60.5svh)!important;aspect-ratio:9/16!important}}
@media(orientation:landscape) and (max-height:540px) and (max-width:820px){.scene[data-mode="scene8-table"] .scene__image{object-position:center center!important}}

/* V16.3 inherited immersion pass: voice presence, cultural cues, and separate mobile/desktop tutorial layouts. */
.scene8-meal-rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0 4px;padding:0;list-style:none}
.scene8-meal-rhythm>li{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:9px;border:1px solid rgba(255,240,220,.18);border-radius:12px;background:linear-gradient(145deg,rgba(246,196,154,.12),rgba(255,255,255,.035))}
.scene8-meal-rhythm>li>span{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border:1px solid rgba(239,183,159,.62);border-radius:50%;color:#f3c3a4;font:800 9px/1 system-ui,sans-serif}
.scene8-meal-rhythm>li>div{display:grid;gap:3px;min-width:0}
.scene8-meal-rhythm strong{color:#fffaf1;font:700 11px/1.25 system-ui,sans-serif}
.scene8-meal-rhythm small{color:rgba(255,250,241,.7);font:500 10px/1.3 system-ui,sans-serif}
.scene8-dish-marker i{width:35px;height:35px;display:grid;place-items:center;border-width:2px;font-style:normal;box-shadow:0 0 0 6px rgba(217,155,110,.28),0 5px 18px rgba(0,0,0,.5)}
.scene8-dish-marker i b{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:rgba(22,17,13,.62);color:#fffaf1;font:800 10px/1 system-ui,sans-serif}
.scene8-dish-marker.is-current i b,.scene8-dish-marker:hover i b,.scene8-dish-marker:focus-visible i b{background:#fff0dc;color:#38251c}
.scene8-dish-card{max-height:min(24svh,220px);padding:13px 16px}
.scene8-dish-card>p{font-size:13px;line-height:1.45}
.scene9-family-line{margin-top:8px;padding:8px 10px;border-left:2px solid rgba(232,176,146,.54);border-radius:0 10px 10px 0;background:rgba(255,255,255,.035);animation:scene9-family-enter .38s cubic-bezier(.2,.75,.28,1) both}
.scene9-family-line:nth-of-type(3){animation-delay:.07s}.scene9-family-line:nth-of-type(4){animation-delay:.14s}.scene9-family-line:nth-of-type(5){animation-delay:.21s}
.scene9-family-line>small{display:block;margin:0 0 3px;color:#e8b092;font:850 9px/1.2 system-ui,sans-serif;letter-spacing:.13em}
.scene9-family-line>p{margin:3px 0 0;color:rgba(255,255,255,.9);font:400 clamp(14px,1.08vw,16px)/1.4 Georgia,serif}
.scene8-guest-question{display:grid;gap:5px;margin:10px 0;padding:10px 12px;border:1px solid rgba(239,183,159,.36);border-radius:13px;background:linear-gradient(135deg,rgba(159,82,59,.2),rgba(255,255,255,.035));animation:scene9-family-enter .36s ease both}
.scene8-guest-question>small{color:#efb79f;font:800 9px/1.25 system-ui,sans-serif;letter-spacing:.13em}
.scene8-guest-question .scene-lang-line{margin:0;padding:0;border:0;background:transparent}
.scene8-guest-question .scene-lang-line>p{font-size:clamp(18px,2vw,22px)}
.scene9-repere-card{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 14px;border:1px solid rgba(235,184,150,.36);border-radius:14px;background:linear-gradient(135deg,rgba(181,110,72,.17),rgba(255,255,255,.035));box-shadow:inset 3px 0 0 rgba(235,184,150,.72)}
.scene9-repere-card>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:rgba(235,184,150,.18);color:#f1bf9d;font:700 17px/1 Georgia,serif}
.scene9-repere-card>div{min-width:0}.scene9-repere-card>div>small{display:block;margin:1px 0 5px;color:#efb79f;font:800 9px/1.25 system-ui,sans-serif;letter-spacing:.12em}
.scene9-repere-card>div>p{margin:0;color:rgba(255,250,241,.92);font:400 14px/1.45 Georgia,serif}
.scene-korean-answer__send{border-color:rgba(239,183,159,.56)!important;background:linear-gradient(135deg,rgba(152,75,54,.86),rgba(93,43,34,.88))!important;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.scene-korean-answer__send:hover,.scene-korean-answer__send:focus-visible{border-color:#f2c2a2!important;background:linear-gradient(135deg,rgba(181,95,66,.96),rgba(115,51,38,.96))!important;outline:2px solid rgba(240,184,151,.38);outline-offset:2px}
@keyframes scene9-family-enter{from{opacity:0;transform:translateY(7px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:820px){
  .scene8-meal-rhythm{gap:5px;margin:9px 0 2px}
  .scene8-meal-rhythm>li{display:grid;gap:5px;padding:8px 7px;border-radius:11px}
  .scene8-meal-rhythm>li>span{width:22px;height:22px;flex-basis:22px;font-size:8px}
  .scene8-meal-rhythm strong{font-size:10px;line-height:1.25}.scene8-meal-rhythm small{font-size:9px;line-height:1.25}
  .han-s6-first-meeting--intro.scene6-stage{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:11px;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain;padding:76px 10px max(12px,env(safe-area-inset-bottom))!important}
  .han-s6-first-meeting--intro>.scene6-caption{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;order:1;align-self:center;width:100%!important;max-width:620px;max-height:min(41svh,calc(100svh - 245px));margin:0!important;padding:12px 13px;overflow:auto;overscroll-behavior:contain}
  .han-s6-first-meeting--intro>.scene6-greeting-actions{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;order:2;display:grid;width:100%;max-width:620px;margin:0 auto!important;gap:8px}
  .han-s6-first-meeting--intro>.scene6-greeting-actions>button{width:100%;min-height:50px}
  .scene7-stage--entry{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:11px;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain;padding:78px 10px max(12px,env(safe-area-inset-bottom))!important}
  .scene7-stage--entry>.scene7-caption{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;order:1;align-self:center;width:100%;max-width:620px;max-height:min(42svh,calc(100svh - 175px));margin:0!important;overflow:auto;overscroll-behavior:contain}
  .scene7-stage--entry>.scene7-tap-layer{position:relative!important;inset:auto!important;z-index:8;display:flex!important;order:2;align-self:stretch;width:100%;height:auto;min-height:54px;margin:0;padding:0;border:0;background:transparent;pointer-events:auto}
  .scene7-stage--entry .scene7-tap-cue{position:static;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:none;padding:14px 16px;transform:none;border:1px solid rgba(240,179,152,.42);border-radius:16px;background:rgba(22,16,13,.84);font:700 14px/1.3 system-ui,sans-serif;white-space:normal;box-shadow:0 9px 28px rgba(0,0,0,.25);animation:scene7-entry-cue 2.8s ease-in-out infinite}
  .scene7-stage--entry .scene7-tap-cue i{width:8px;height:8px;flex:none;border:1px solid #f2c2a2;border-radius:50%;background:#e7a47e;box-shadow:0 0 0 5px rgba(231,164,126,.12)}
  .scene9-stage--family-thread{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-end!important;gap:10px;box-sizing:border-box;overflow-y:auto!important;overscroll-behavior:contain;padding:76px 10px max(14px,env(safe-area-inset-bottom))!important}
  .scene9-stage--family-thread>.scene9-family-thread{position:relative!important;inset:auto!important;order:1;align-self:center;width:100%!important;max-width:660px;max-height:min(48svh,calc(100svh - 210px));margin:0!important;padding:12px 13px;overflow:auto;overscroll-behavior:contain}
  .scene9-family-line{margin-top:7px;padding:7px 8px}.scene9-family-line>small{font-size:8px}.scene9-family-line>p{font-size:14px;line-height:1.4}
  .scene9-stage--family-thread>.scene-flow-next--standalone{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;order:2;align-self:center;width:100%;max-width:660px;margin:0 auto!important;white-space:normal;text-align:center}
  .scene9-repere-card{gap:9px;margin-top:12px;padding:11px 12px}.scene9-repere-card>div>p{font-size:13px}
  .scene8-dish-card{top:clamp(112px,15svh,142px);width:calc(100% - 20px);max-height:min(24svh,205px);padding:11px 12px}
  .scene8-dish-card>strong{font-size:17px}.scene8-dish-card>p{font-size:12px;line-height:1.42}
  .scene8-dish-continue{bottom:max(8px,env(safe-area-inset-bottom));min-height:42px}
  .scene-korean-answer__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .scene-korean-answer__mic,.scene-korean-answer__send{min-height:48px;padding:9px 8px;font-size:11px;line-height:1.25}
  .scene-korean-answer-list{max-height:min(38svh,310px)}
}
@media(max-width:390px){.scene8-dish-legend__grid>button{gap:4px;padding:5px}.scene8-dish-legend__grid>button>b{font-size:9px}.scene-korean-answer__actions{grid-template-columns:minmax(0,1fr)}}

/* V16.6: dish markers stay as quiet light points; detail appears only on tap. */
.scene8-dish-marker i{width:11px;height:11px;border:1px solid rgba(255,248,233,.96);background:#f2bd87;box-shadow:0 0 0 4px rgba(242,189,135,.16),0 0 14px 3px rgba(242,189,135,.42);animation:scene8DishPulse 3.2s ease-out infinite}
.scene8-dish-marker:hover i,.scene8-dish-marker:focus-visible i,.scene8-dish-marker.is-current i{transform:scale(1.16);background:#fff2df;box-shadow:0 0 0 6px rgba(255,242,223,.19),0 0 18px 5px rgba(242,189,135,.54)}
.scene8-dish-marker.is-current i{animation:none}
.scene8-dish-marker--japchae{left:89%;top:72%}
.scene8-dish-hint{width:min(590px,calc(100% - 28px));padding:8px 12px;font-size:12px;line-height:1.35}
.scene8-dish-card{top:auto;bottom:max(82px,calc(env(safe-area-inset-bottom) + 74px));width:min(340px,calc(100% - 34px));max-height:min(20svh,160px);padding:10px 13px;text-align:left}
.scene8-dish-card>strong{font-size:17px}.scene8-dish-card>p{font-size:12px;line-height:1.38}
.scene8-dish-continue{z-index:10}
.han-water-carafe-wrap{display:block;padding:0;border:0;background:transparent;color:inherit;appearance:none;-webkit-appearance:none}
.han-water-hint{max-width:470px}
.han-water-support-note{display:none}
.scene8-stage--pour .han-water-carafe-wrap,.scene8-stage--pour .han-water-glass-wrap{touch-action:manipulation}
.scene8-stage--pour .han-water-carafe-wrap.is-pouring{cursor:default}

.scene-guest-intro{position:absolute;z-index:12;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(620px,calc(100% - 28px));max-height:min(58svh,calc(100svh - 166px));overflow:auto;box-sizing:border-box;padding:clamp(13px,2vw,20px);border:1px solid rgba(255,248,239,.22);border-radius:20px;background:rgba(18,15,13,.88);color:#fffaf1;backdrop-filter:blur(15px);box-shadow:0 18px 48px rgba(0,0,0,.32);overscroll-behavior:contain}
.scene-guest-intro>header small,.scene-guest-intro__translation>small{display:block;color:#efbd9b;font:800 8px/1.25 system-ui,sans-serif;letter-spacing:.14em}
.scene-guest-intro>header p{margin:6px 0 12px;color:rgba(255,250,241,.74);font:400 13px/1.42 Georgia,serif}
.scene-guest-intro__korean{margin:0;color:#fff;font:500 clamp(18px,2vw,24px)/1.5 Georgia,serif}
.scene-guest-intro__korean strong{color:#ffd3a8;font-weight:650;overflow-wrap:anywhere}
.scene-guest-intro__translation{display:grid;grid-template-columns:1fr;gap:3px;margin-top:9px;padding:9px 10px;border:1px solid rgba(255,248,239,.08);border-radius:12px;background:rgba(255,255,255,.035)}
.scene-guest-intro__translation p{margin:0 0 5px;color:rgba(255,250,241,.82);font:400 12px/1.42 system-ui,sans-serif;overflow-wrap:anywhere}
.scene-guest-intro__audio-note{margin:8px 0;color:rgba(255,250,241,.57);font:400 10px/1.4 system-ui,sans-serif}
.scene-guest-intro__actions{display:flex;flex-wrap:wrap;gap:7px}
.scene-guest-intro__actions button{min-height:40px;padding:9px 12px;border:1px solid rgba(239,190,158,.26);border-radius:999px;background:rgba(255,255,255,.05);color:#fffaf1;font:700 11px/1.25 system-ui,sans-serif;cursor:pointer}
.scene-guest-intro__actions .scene-guest-intro__mic{display:inline-flex;align-items:center;gap:7px;border-color:rgba(239,190,158,.72);background:rgba(118,38,29,.85)}
.scene-guest-intro__actions button:hover,.scene-guest-intro__actions button:focus-visible{outline:2px solid #f3c39e;outline-offset:2px}
.scene-guest-intro__mic.is-listening{box-shadow:0 0 0 4px rgba(231,184,135,.24);animation:scene8DishPulse 1.2s ease-out infinite}
.scene-guest-intro .speech-feedback{margin-top:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.10);border-radius:10px;background:rgba(255,255,255,.04)}
.scene6-intro-transcript{display:block;margin-top:8px;padding:6px 8px;border-radius:8px;background:rgba(66,173,112,.14);color:#bdffd4;font:600 11px/1.4 system-ui,sans-serif}

@media(max-width:820px){
  .scene8-dish-marker i{width:10px;height:10px;box-shadow:0 0 0 4px rgba(242,189,135,.16),0 0 12px 3px rgba(242,189,135,.38)}
  .scene8-dish-hint{top:72px;width:calc(100% - 24px);max-width:520px;padding:7px 10px;font-size:10.5px}
  .scene8-dish-card{bottom:max(68px,calc(env(safe-area-inset-bottom) + 60px));width:calc(100% - 24px);max-width:340px;max-height:min(20svh,152px);padding:9px 11px}
  .scene8-dish-card>strong{font-size:16px}.scene8-dish-card>p{font-size:11px;line-height:1.35}
  .scene-guest-intro{width:calc(100% - 20px);max-height:min(48svh,calc(100svh - 142px));bottom:max(8px,env(safe-area-inset-bottom));padding:12px;border-radius:17px}
  .scene-guest-intro>header p{font-size:12px;margin-bottom:9px}.scene-guest-intro__korean{font-size:18px;line-height:1.42}.scene-guest-intro__translation{margin-top:7px;padding:8px}.scene-guest-intro__translation p{font-size:11px}
  .scene-guest-intro__actions{display:grid;grid-template-columns:1fr 1fr}.scene-guest-intro__actions .scene-guest-intro__mic{grid-column:1/-1;justify-content:center}
}
@media(max-width:390px){
  .scene8-dish-card{max-height:min(22svh,148px)}
  .scene-guest-intro{max-height:min(51svh,calc(100svh - 132px));padding:10px}.scene-guest-intro__audio-note{font-size:9px}.scene-guest-intro__actions button{font-size:10px;padding:8px 9px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:820px){
  .scene9-stage--family-thread>.scene9-family-thread{max-height:calc(100svh - 178px)}
  .scene8-dish-legend{bottom:48px;max-width:calc(100% - 16px)}
  .scene8-dish-legend__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:min(28svh,140px);gap:4px;margin-top:5px;padding:6px}
  .scene8-dish-legend__grid>button{min-height:34px;padding:4px 6px}.scene8-dish-continue{min-height:34px;padding:6px 12px}
}
@keyframes scene7-entry-cue{0%,100%{box-shadow:0 9px 28px rgba(0,0,0,.25);border-color:rgba(240,179,152,.36)}50%{box-shadow:0 10px 30px rgba(154,86,59,.28),0 0 0 3px rgba(240,179,152,.12);border-color:rgba(240,179,152,.65)}}
@media(prefers-reduced-motion:reduce){.scene9-family-line,.scene7-stage--entry .scene7-tap-cue{animation:none!important}}

/* V16.3 · Papa Han conversation: compact turns, separate mobile/desktop composition. */
.scene9-stage--papa{position:absolute;inset:0;z-index:8;display:flex;align-items:flex-end;justify-content:flex-end;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;padding:clamp(24px,5vh,58px) clamp(24px,4vw,72px) max(20px,env(safe-area-inset-bottom))}
.papa-conversation-panel{box-sizing:border-box;display:flex;flex-direction:column;gap:12px;width:min(520px,39vw);max-height:min(64dvh,calc(100dvh - 96px));min-width:320px;overflow-y:auto;overscroll-behavior:contain;padding:clamp(18px,2vw,26px);border:1px solid rgba(246,206,173,.30);border-radius:24px;background:linear-gradient(145deg,rgba(30,20,16,.94),rgba(20,16,15,.90));box-shadow:0 22px 60px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fffaf1}
.papa-conversation-eyebrow{color:#f0b893;font:800 10px/1.35 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}
.papa-conversation-panel h2{margin:0;color:#fffaf1;font:500 clamp(22px,2.1vw,30px)/1.14 Georgia,serif;letter-spacing:-.015em}
.papa-conversation-context,.papa-pending-copy,.papa-reaction-copy{margin:0;color:rgba(255,250,241,.88);font:400 15px/1.5 system-ui,sans-serif}
.papa-person-choice,.papa-topic-choice{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:11px 12px;border:1px solid rgba(244,213,190,.22);border-radius:16px;background:rgba(255,255,255,.055);color:#fffaf1;text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.papa-person-choice:hover,.papa-topic-choice:hover{transform:translateY(-1px);border-color:rgba(255,203,156,.65);background:rgba(242,184,140,.12)}
.papa-person-choice__initial{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid rgba(244,189,147,.32);border-radius:50%;background:rgba(224,156,107,.14);color:#ffcfaa;font:500 19px Georgia,serif}
.papa-person-choice>span:nth-child(2),.papa-topic-choice>span:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}
.papa-person-choice strong,.papa-topic-choice strong{font:650 15px/1.3 system-ui,sans-serif}
.papa-person-choice small,.papa-topic-choice small{color:rgba(255,250,241,.69);font:400 12px/1.35 system-ui,sans-serif}
.papa-person-choice>i,.papa-topic-choice>i{color:#efb790;font:400 20px/1 Georgia,serif;font-style:normal}
.papa-topic-list,.papa-choice-list{display:grid;gap:8px}
.papa-topic-choice{min-height:64px}.papa-topic-choice__index{flex:0 0 34px;color:#efb790;font:700 11px/1 system-ui,sans-serif;letter-spacing:.12em}
.papa-conversation-turn{display:grid;gap:10px;min-width:0}
.papa-voice-turn{display:grid;gap:4px;min-width:0}
.papa-voice-turn .scene-lang-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 10px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.papa-voice-turn .scene-lang-speaker{grid-column:1/-1;margin:0;color:#f2b996;font:800 10px/1.2 system-ui,sans-serif;letter-spacing:.14em}
.papa-voice-turn .scene-lang-line>strong{min-width:0;color:#fffaf1;font:500 clamp(22px,2vw,29px)/1.35 Georgia,serif;overflow-wrap:anywhere}
.papa-voice-turn .scene-lang-help{grid-column:1/-1;display:block;margin:2px 0 0;color:rgba(255,250,241,.76);font:400 14px/1.45 system-ui,sans-serif}
.papa-voice-turn .scene-lang-tools{grid-column:2;grid-row:2}
.papa-voice-turn .scene-lang-icon{width:42px;height:42px}
.papa-audio-pending{color:#f1c69f;font:650 9px/1.3 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.papa-guest-question>small{display:block;margin-bottom:7px;color:#f1b997;font:800 9px/1.2 system-ui,sans-serif;letter-spacing:.14em}
.papa-guest-question .scene-korean-replies{margin:0;padding:11px;border-color:rgba(238,184,150,.24);border-radius:15px;background:rgba(255,255,255,.045)}
.papa-guest-question .scene-korean-replies__title{font-size:13px}
.papa-conversation-actions{position:sticky;bottom:-1px;z-index:2;display:grid;gap:8px;margin-top:auto;padding-top:8px;background:linear-gradient(180deg,rgba(24,19,17,0),rgba(24,19,17,.98) 24%)}
.papa-conversation-actions .scene-flow-next{position:static;width:100%;min-height:48px;margin:0;transform:none}
.papa-personal-form{display:grid;gap:7px;margin-top:2px}
.papa-personal-form>label{color:#f1b997;font:750 10px/1.35 system-ui,sans-serif;letter-spacing:.1em}
.papa-personal-form__row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
.papa-personal-form__row--voice{grid-template-columns:minmax(0,1fr) 46px 48px}
.papa-personal-form input{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid rgba(244,213,190,.28);border-radius:13px;background:rgba(255,255,255,.08);color:#fffaf1;font:400 15px/1.35 system-ui,sans-serif}
.papa-personal-form input::placeholder{color:rgba(255,250,241,.50)}
.papa-personal-form button{min-height:48px;border:1px solid rgba(244,190,150,.52);border-radius:13px;background:#f5b890;color:#211813;font:700 20px/1 system-ui,sans-serif;cursor:pointer}
.papa-personal-form__mic{display:grid;place-items:center;background:rgba(245,184,144,.16)!important;color:#fffaf1!important}
.papa-personal-form__mic.is-listening{box-shadow:0 0 0 3px rgba(242,181,143,.25),0 0 20px rgba(242,181,143,.34)}
.papa-skip-answer{align-self:flex-start;min-height:42px;padding:8px 12px;border:1px solid rgba(244,213,190,.38);border-radius:12px;background:rgba(255,255,255,.08);color:#fffaf1;font:650 13px/1.3 system-ui,sans-serif;cursor:pointer}
.papa-choice-list button{width:100%;min-height:48px;padding:10px 13px;border:1px solid rgba(244,213,190,.24);border-radius:14px;background:rgba(255,255,255,.06);color:#fffaf1;text-align:left;font:600 14px/1.35 system-ui,sans-serif;cursor:pointer}
.papa-choice-list button:hover{border-color:rgba(255,203,156,.62);background:rgba(242,184,140,.12)}
.papa-table-breath{pointer-events:none}
.papa-breath-indicator{display:flex;gap:6px;align-items:center;margin-top:13px;height:8px}
.papa-breath-indicator i{width:5px;height:5px;border-radius:50%;background:#efb790;opacity:.55;animation:papa-breath 1.4s ease-in-out infinite alternate}
.papa-breath-indicator i:nth-child(2){animation-delay:.22s}.papa-breath-indicator i:nth-child(3){animation-delay:.44s}
@keyframes papa-breath{to{transform:translateY(-3px);opacity:1;box-shadow:0 0 12px rgba(244,190,150,.55)}}
@media(min-width:900px){.scene[data-mode="scene9-reason"] .scene__image{object-position:center 32%}.scene9-stage--papa{align-items:flex-end;justify-content:flex-end}.papa-conversation-panel{width:min(500px,36vw);max-height:min(62dvh,calc(100dvh - 90px))}}
@media(max-width:799px){.scene9-stage--papa{justify-content:center;align-items:flex-end;padding:clamp(142px,22dvh,220px) 12px max(12px,env(safe-area-inset-bottom))}.papa-conversation-panel{width:100%;min-width:0;max-height:calc(100dvh - clamp(156px,24dvh,232px) - max(12px,env(safe-area-inset-bottom)));padding:16px 15px;border-radius:20px;gap:10px}.papa-conversation-panel h2{font-size:23px}.papa-person-choice,.papa-topic-choice{min-height:56px}.papa-topic-choice{min-height:60px}.papa-voice-turn .scene-lang-line>strong{font-size:23px}.papa-guest-question .scene-korean-answer__actions{grid-template-columns:1fr}.papa-guest-question .scene-korean-answer__mic,.papa-guest-question .scene-korean-answer__send{min-height:46px}.papa-conversation-actions{padding-top:8px}}
@media(max-width:390px){.scene9-stage--papa{padding-right:9px;padding-left:9px}.papa-conversation-panel{padding:14px 13px}.papa-conversation-panel h2{font-size:21px}.papa-voice-turn .scene-lang-line>strong{font-size:21px}.papa-personal-form__row{grid-template-columns:minmax(0,1fr) 46px}.papa-personal-form__row--voice{grid-template-columns:minmax(0,1fr) 42px 46px}}
@media(prefers-reduced-motion:reduce){.papa-person-choice,.papa-topic-choice,.papa-breath-indicator i{transition:none;animation:none!important}}


/* V16.3 · speaking presence: the real playing duration drives only the text sweep. */
.scene-lang-line[data-speaker]{position:relative;isolation:isolate;padding:11px 12px;border:1px solid transparent;border-radius:13px;transition:background-color .24s ease,border-color .24s ease,box-shadow .24s ease}
.scene-lang-line[data-speaker]::before{position:absolute;z-index:-1;inset:-1px;border-radius:inherit;content:"";opacity:0;background:radial-gradient(ellipse at 16% 45%,rgba(244,183,138,.16),rgba(229,158,112,.055) 46%,transparent 78%);transition:opacity .25s ease}
.scene-lang-line[data-speaker].is-speaking{border-color:rgba(236,183,144,.27);background:rgba(197,126,83,.045);box-shadow:inset 0 0 26px rgba(233,169,123,.055),0 0 22px rgba(221,145,97,.06)}
.scene-lang-line[data-speaker].is-speaking::before{opacity:1}
.scene-lang-speaker{grid-column:1;grid-row:1;align-self:end;margin:0 0 2px;color:rgba(238,184,148,.7);font:800 8px/1.2 system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;transition:color .25s ease,text-shadow .25s ease}
.scene-lang-line[data-speaker]>strong{grid-row:2;grid-column:1}
.scene-lang-line[data-speaker]>.scene-lang-tools{grid-row:1/4;grid-column:2}
.scene-lang-line[data-speaker].is-speaking .scene-lang-speaker{color:#ffd7b7;text-shadow:0 0 12px rgba(255,196,145,.42)}
.scene-lang-line[data-speaker].is-speaking .korean-follow{background:linear-gradient(90deg,#ffd9b5 0 50%,rgba(255,250,244,.98) 50% 100%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent;animation:korean-text-follow var(--speech-duration) linear forwards}
.scene-lang-line[data-speaker].is-speaking .korean-follow::after{display:none}
@keyframes korean-text-follow{to{background-position:0 0}}
.scene-korean-answer.is-listening{border-color:rgba(242,188,145,.58);box-shadow:0 0 0 1px rgba(242,188,145,.12),0 0 20px rgba(229,160,112,.12)}
.scene-korean-answer__mic.is-listening{border-color:rgba(255,207,164,.82);background:linear-gradient(120deg,rgba(167,82,53,.75),rgba(115,56,40,.72));animation:koreanMicPulse 1.35s ease-in-out infinite}
@keyframes koreanMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,194,143,.14)}50%{box-shadow:0 0 0 5px rgba(255,194,143,.10)}}
.scene-korean-answer .speech-feedback--good{border-color:rgba(217,192,143,.46);background:rgba(149,121,69,.15)}

/* V16.3 · first-run guide: warm cinematic image, short copy, separate desktop/mobile composition. */
.tutorial-layer{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:rgba(10,8,7,.82);backdrop-filter:blur(14px)}
.tutorial-panel{width:min(1120px,100%);height:min(790px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);min-height:0;overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(12px,1.7vh,18px);padding:clamp(18px,2.3vw,28px);border:1px solid rgba(250,228,208,.18);border-radius:24px;background:radial-gradient(ellipse at 0 0,rgba(168,105,70,.16),transparent 38%),linear-gradient(145deg,rgba(35,26,21,.99),rgba(17,14,12,.99));color:#f8efe5;box-shadow:0 30px 100px rgba(0,0,0,.52)}
.tutorial-header{gap:12px}.tutorial-brand strong{color:#fff7ee;font-size:14px;letter-spacing:.2em}.tutorial-brand span{color:#c69377;font-size:8px;letter-spacing:.19em}.tutorial-languages{border-color:rgba(244,226,209,.17);background:rgba(255,255,255,.025)}.tutorial-languages .lang{color:#f5e6d8}.tutorial-languages .lang.is-active{background:#e8b08f;color:#251811}.tutorial-close{width:42px;height:42px;border-color:rgba(244,226,209,.2);color:#f7eadf}.tutorial-progress-row{color:#d1b5a0;font-size:11px}.tutorial-progress{height:4px;background:rgba(246,224,204,.14)}.tutorial-progress span{background:linear-gradient(90deg,#c57c5a,#f0c09b);box-shadow:0 0 13px rgba(227,162,120,.23)}
.tutorial-main{grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(22px,4vw,54px);align-items:center;min-height:0;overflow:hidden}
.tutorial-photo{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;max-height:100%;border:1px solid rgba(255,242,230,.15);border-radius:18px;background:#100c09;box-shadow:0 18px 48px rgba(0,0,0,.24)}.tutorial-photo::after{display:none}.tutorial-photo picture{display:grid;place-items:center;min-height:0;overflow:hidden}.tutorial-photo img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 52%}.tutorial-photo--mockup{background:#090807}.tutorial-photo--mockup img{object-fit:contain;background:#090807}.tutorial-photo-caption{position:relative;inset:auto;left:auto;right:auto;bottom:auto;gap:4px;padding:12px 15px 13px;border-top:1px solid rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(30,21,17,.98),rgba(19,15,13,.98));color:#fff8f0}.tutorial-photo-caption span{color:#e6ad8d;font-size:8px;letter-spacing:.15em}.tutorial-photo-caption strong{font-size:clamp(16px,1.8vw,22px);line-height:1.1}
.tutorial-copy{align-self:center;max-width:510px;padding:0}.tutorial-kicker{margin:0 0 12px;color:#e8ae8e;font-size:9px;letter-spacing:.19em}.tutorial-copy h1{color:#fff5e9;font-size:clamp(34px,4.5vw,56px);line-height:1.01;letter-spacing:-.025em}.tutorial-body{max-width:42ch;margin:15px 0 0;color:rgba(255,246,235,.82);font:400 clamp(15px,1.35vw,18px)/1.5 system-ui,sans-serif}.tutorial-points:empty{display:none}.tutorial-note{margin:18px 0 0;padding:10px 13px;border:1px solid rgba(235,181,143,.17);border-left:2px solid #d79470;border-radius:0 10px 10px 0;background:rgba(228,162,122,.07);color:rgba(255,239,223,.78);font:500 12px/1.45 system-ui,sans-serif}.tutorial-sound-settings{margin-top:12px;padding:9px 12px;border:1px solid rgba(239,188,151,.4);border-radius:999px;background:rgba(215,145,105,.12);color:#f8ddc7;font:650 12px/1.25 system-ui,sans-serif;cursor:pointer}.tutorial-footer{gap:12px;border-color:rgba(245,225,207,.13);padding-top:13px}.tutorial-skip{min-height:44px;padding:8px 12px;color:rgba(255,240,224,.65);font-size:12px}.tutorial-nav{gap:8px}.tutorial-back,.tutorial-next{min-height:46px;padding:10px 16px;font-size:13px}.tutorial-back{min-width:112px;border-color:rgba(245,225,207,.27);color:#f5e8dc}.tutorial-next{min-width:195px;border-color:#f1b18d;background:linear-gradient(135deg,#f4bd98,#e8a27e);color:#271812;box-shadow:0 7px 24px rgba(181,104,72,.17)}.tutorial-next:hover:not(:disabled){background:linear-gradient(135deg,#ffd0ab,#f1ae87)}.tutorial-main.is-entering{animation:tutorialEnter .34s cubic-bezier(.2,.72,.2,1) both}@keyframes tutorialEnter{from{opacity:.3;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){
  .tutorial-layer{place-items:center;overflow:hidden;padding:max(7px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))}
  .tutorial-panel{width:100%;height:auto;max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 14px);overflow-y:auto;overscroll-behavior:contain;gap:10px;padding:12px;border-radius:18px}
  .tutorial-header{gap:7px}.tutorial-brand{gap:3px}.tutorial-brand strong{font-size:12px}.tutorial-brand span{font-size:7px;letter-spacing:.12em}.tutorial-languages{padding:2px}.tutorial-languages .lang{min-width:35px;min-height:34px;font-size:11px}.tutorial-close{width:36px;height:36px;font-size:24px}.tutorial-progress-row{gap:8px;font-size:10px}
  .tutorial-main{grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;overflow:visible}.tutorial-photo{height:clamp(150px,23svh,210px);border-radius:13px}.tutorial-photo img{object-position:center 38%}.tutorial-photo--mockup img{object-fit:cover;object-position:center 42%}.tutorial-photo-caption{padding:8px 10px 9px}.tutorial-photo-caption span{font-size:7px}.tutorial-photo-caption strong{font-size:16px}
  .tutorial-copy{align-self:start;max-width:none;padding:0}.tutorial-kicker{margin:0 0 6px;font-size:8px}.tutorial-copy h1{font-size:clamp(25px,7vw,33px);line-height:1.02}.tutorial-body{margin-top:7px;font-size:13px;line-height:1.38}.tutorial-note{margin-top:8px;padding:7px 9px;font-size:10.5px;line-height:1.35}.tutorial-sound-settings{margin-top:7px;padding:7px 10px;font-size:11px}
  .tutorial-footer{align-items:center;gap:6px;padding-top:8px}.tutorial-skip{min-height:32px;padding:5px 9px;font-size:10px}.tutorial-nav{width:100%;display:grid;grid-template-columns:minmax(80px,.72fr) minmax(0,1.28fr);gap:7px}.tutorial-back,.tutorial-next{min-width:0;min-height:44px;padding:8px 10px;font-size:12px}
}
@media(max-width:390px){.tutorial-panel{padding:10px;gap:8px}.tutorial-photo{height:clamp(138px,20svh,166px)}.tutorial-photo-caption{padding:7px 9px}.tutorial-photo-caption strong{font-size:14px}.tutorial-copy h1{font-size:25px}.tutorial-body{font-size:12px}.tutorial-note{font-size:10px}}
@media(max-height:720px) and (min-width:821px){.tutorial-panel{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:16px;gap:10px}.tutorial-main{gap:26px}.tutorial-copy h1{font-size:clamp(30px,4vw,46px)}.tutorial-body{margin-top:9px;font-size:15px}.tutorial-note{margin-top:11px}}
@media(prefers-reduced-motion:reduce){.tutorial-main.is-entering,.scene-korean-answer__mic.is-listening{animation:none}.scene-lang-line[data-speaker],.scene-lang-line[data-speaker]::before{transition:none}}

/* Cultural cues should read like a small object in the room, not a block of footnote text. */
.scene9-repere-card{position:relative;overflow:hidden;border-color:rgba(235,184,150,.32);background:linear-gradient(125deg,rgba(160,96,62,.17),rgba(255,255,255,.035));box-shadow:inset 2px 0 0 rgba(235,184,150,.75),0 7px 22px rgba(0,0,0,.09)}
.scene9-repere-card>span{width:34px;height:34px;flex-basis:34px;border:1px solid rgba(235,184,150,.22);box-shadow:0 0 17px rgba(235,184,150,.1)}
.scene9-repere-card>span svg{width:18px;height:18px}
.scene9-repere-card>div>small{color:#f0bd9b;letter-spacing:.15em}
.scene9-gesture-note{position:relative;display:grid!important;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:2px 10px;padding:11px 13px!important;border:1px solid rgba(235,184,150,.28)!important;border-left:2px solid rgba(235,184,150,.76)!important;border-radius:14px;background:linear-gradient(120deg,rgba(174,105,69,.16),rgba(255,255,255,.04))!important;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.scene9-gesture-note::before{grid-column:1;grid-row:1/3;content:"✦";display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(235,184,150,.26);border-radius:50%;background:rgba(235,184,150,.12);color:#f1bf9d;font:700 16px/1 Georgia,serif;box-shadow:0 0 17px rgba(235,184,150,.10)}
.scene9-gesture-note>span{grid-column:2;grid-row:1;color:#efb79f!important;font:800 8px/1.2 system-ui,sans-serif!important;letter-spacing:.15em}.scene9-gesture-note>b{grid-column:2;grid-row:2;color:rgba(255,250,241,.92);font:500 13px/1.38 system-ui,sans-serif}
/* The logo asset has alpha transparency; keep it free of a white tile and refresh stale cached marks. */
.brand__logo,.wordmark-button__logo,.scene-brand__logo{background:transparent!important;border-radius:0!important;object-fit:contain!important}

/* V16.4 · object-led mandarin and water-service interactions. */
.scene6-stage--fruit{overflow:hidden!important}
.scene6-fruit-caption{position:absolute!important;z-index:7!important;top:clamp(96px,12vh,138px)!important;left:clamp(20px,3vw,46px)!important;right:auto!important;bottom:auto!important;width:min(380px,calc(100% - 40px))!important;max-height:min(34vh,300px)!important;overflow:auto!important;box-sizing:border-box;padding:15px 17px!important;border:1px solid rgba(255,248,239,.16)!important;border-radius:17px!important;background:linear-gradient(135deg,rgba(18,14,12,.72),rgba(18,14,12,.48))!important;backdrop-filter:blur(12px);box-shadow:0 16px 42px rgba(0,0,0,.20);pointer-events:auto!important}
.scene6-fruit-caption>small{display:block;margin:0 0 6px;color:#f0bd9b;font:850 8px/1.2 system-ui,sans-serif;letter-spacing:.16em}
.scene6-fruit-caption>p{margin:0;color:rgba(255,250,241,.94);font:400 15px/1.48 Georgia,serif}
.scene6-fruit-caption .scene-lang-line{margin-top:8px;padding:0;border:0;background:transparent;box-shadow:none}
.scene6-mandarin-hotspot{position:absolute;z-index:9;left:31%;top:66%;width:37%;height:25%;padding:0;border:0;border-radius:42%;background:transparent;cursor:pointer;pointer-events:auto}
.scene6-mandarin-hotspot__ring{position:absolute;inset:0;border:2px solid rgba(255,219,149,.86);border-radius:42%;background:rgba(249,163,48,.08);box-shadow:0 0 0 7px rgba(255,211,135,.11),0 9px 28px rgba(0,0,0,.24);animation:scene6FruitCue 2s ease-in-out infinite}
.scene6-mandarin-hotspot__label{position:absolute;left:50%;top:-19px;transform:translate(-50%,-100%);max-width:calc(100vw - 28px);padding:9px 13px;border:1px solid rgba(255,228,187,.42);border-radius:999px;background:rgba(23,17,12,.88);box-shadow:0 8px 24px rgba(0,0,0,.28);color:#fff8ec;font:750 12px/1.2 system-ui,sans-serif;white-space:nowrap}
.scene6-mandarin-hotspot:focus-visible{outline:3px solid #fff0d6;outline-offset:5px}
.scene6-mandarin-hotspot:focus-visible .scene6-mandarin-hotspot__ring{animation:none;background:rgba(249,163,48,.2)}
.scene6-peel-object{position:absolute;z-index:8;left:53%;top:60%;display:grid;place-items:center;width:clamp(136px,15vw,218px);aspect-ratio:1;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation;filter:drop-shadow(0 14px 16px rgba(20,10,5,.36));animation:scene6FruitLift .48s cubic-bezier(.2,.7,.25,1) both}
.scene6-peel-object img{display:block;width:100%;height:100%;object-fit:contain;animation:scene6PeelSwap .32s ease both}
.scene6-peel-object>span{position:absolute;left:50%;bottom:-7px;transform:translate(-50%,100%);width:max-content;max-width:min(260px,80vw);padding:7px 11px;border:1px solid rgba(255,228,187,.42);border-radius:999px;background:rgba(23,17,12,.88);box-shadow:0 8px 24px rgba(0,0,0,.28);color:#fff8ec;font:750 11px/1.2 system-ui,sans-serif;text-align:center}
.scene6-peel-object:focus-visible{outline:3px solid #fff0d6;outline-offset:5px;border-radius:50%}
.scene6-peel-object--ready{cursor:default;animation:none}
.scene6-peel-object--ready img{animation:none}
.scene6-peel-progress{display:flex;gap:5px;margin-top:11px;max-width:164px}
.scene6-peel-progress i{display:block;flex:1;height:3px;border-radius:99px;background:rgba(255,255,255,.28)}
.scene6-peel-progress i.is-done{background:#f0bd9b;box-shadow:0 0 12px rgba(255,203,147,.48)}
.scene6-fruit-skip{position:absolute;z-index:11;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);min-height:44px;padding:11px 17px;border:1px solid rgba(255,248,239,.24);border-radius:999px;background:rgba(12,10,8,.78);box-shadow:0 12px 30px rgba(0,0,0,.3);color:#fff7eb;font:700 12px/1.2 system-ui,sans-serif;cursor:pointer}
.scene6-fruit-skip:hover,.scene6-fruit-skip:focus-visible{background:rgba(52,31,23,.94);outline:2px solid rgba(255,229,195,.8);outline-offset:2px}
.scene6-stage--fruit-taken .scene6-fruit-caption{top:clamp(96px,12vh,138px)!important;bottom:auto!important;left:clamp(20px,3vw,46px)!important}
.scene6-stage--fruit-taken>.scene-flow-next--standalone{z-index:12}
@keyframes scene6FruitCue{50%{box-shadow:0 0 0 13px rgba(255,211,135,.035),0 9px 28px rgba(0,0,0,.24)}}
@keyframes scene6FruitLift{from{opacity:0;transform:translateY(17px) scale(.76) rotate(-12deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-12deg)}}

.han-water-hint{padding-top:2px;color:#fff2df;font-size:12px}
.han-water-support-note{display:block;margin-top:8px;color:rgba(255,245,229,.73);font:500 11px/1.42 system-ui,sans-serif}
.han-water-carafe-wrap:focus-visible{outline:3px solid #fff0d6;outline-offset:5px;border-radius:18px}
.han-water-carafe-wrap--resting{pointer-events:none!important;cursor:default!important}
.han-water-glass-wrap.is-filled{overflow:visible}
.han-water-fill{position:absolute;z-index:1;left:24%;right:24%;top:35%;bottom:18%;display:block;overflow:hidden;border-radius:11% 11% 24% 24% / 9% 9% 18% 18%;background:linear-gradient(180deg,rgba(209,238,244,.72),rgba(155,210,224,.62) 45%,rgba(129,191,210,.7));clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);opacity:0;transform:scaleY(.08);transform-origin:bottom;box-shadow:inset 0 0 12px rgba(255,255,255,.46);transition:transform .6s cubic-bezier(.2,.7,.25,1),opacity .25s ease}
.han-water-fill::before{position:absolute;top:0;left:-8%;width:116%;height:12px;border-radius:50%;background:rgba(239,250,252,.72);content:"";filter:blur(1px)}
.han-water-glass-wrap.is-filled .han-water-fill{opacity:1;transform:scaleY(1)}
.han-water-glass-wrap.is-filled img{position:relative!important;z-index:2!important}
.han-water-service--complete>.scene8-caption{z-index:9}
.han-water-service--complete>.scene-flow-next--standalone{position:absolute!important;z-index:12!important;left:50%!important;right:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;min-height:48px;margin:0!important;padding:12px 18px!important;border:1px solid rgba(255,248,239,.24)!important;background:rgba(12,10,8,.76)!important;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.han-water-service--complete>.scene-flow-next--standalone:hover,.han-water-service--complete>.scene-flow-next--standalone:focus-visible{transform:translateX(-50%) translateY(-1px)!important}
.story-choice-list button:focus-visible{outline:3px solid #fff0d6;outline-offset:3px}
.scene8-stage--bulgogi.scene8-stage--immersive>.scene-flow-next--standalone{position:absolute!important;z-index:12!important;left:50%!important;right:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;transform:translateX(-50%)!important;min-height:48px;margin:0!important;padding:12px 18px!important;border:1px solid rgba(255,248,239,.24)!important;background:rgba(12,10,8,.76)!important;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.scene8-stage--bulgogi.scene8-stage--immersive>.scene-flow-next--standalone:hover,.scene8-stage--bulgogi.scene8-stage--immersive>.scene-flow-next--standalone:focus-visible{transform:translateX(-50%) translateY(-1px)!important}
@media(max-width:820px){
  .scene6-fruit-caption{top:72px!important;left:10px!important;right:10px!important;width:auto!important;max-height:23svh!important;padding:11px 12px!important;border-radius:14px!important}
  .scene6-fruit-caption>p{font-size:13.5px}
  .scene6-mandarin-hotspot{left:5%;top:62%;width:70%;height:29%;border-radius:40%}
  .scene6-mandarin-hotspot__ring{border-radius:40%}
  .scene6-mandarin-hotspot__label{top:-14px;padding:8px 11px;font-size:11px}
  .scene6-peel-object{left:39%;top:65%;width:clamp(112px,30vw,168px)}
  .scene6-fruit-skip{bottom:max(12px,env(safe-area-inset-bottom));min-height:42px;max-width:calc(100% - 24px);white-space:normal}
  .scene6-stage--fruit-taken .scene6-fruit-caption{top:72px!important;bottom:auto!important}
  .scene6-stage--fruit-taken .scene6-picked-mandarin{top:79%;left:72%}
  .han-water-hint{font-size:11.5px}
  .han-water-support-note{font-size:10px}
  .han-water-service--complete>.scene8-caption{max-height:24svh!important}
  .han-water-service--complete>.scene-flow-next--standalone{bottom:max(10px,env(safe-area-inset-bottom))!important;max-width:calc(100% - 24px);white-space:normal}
  .han-water-service--complete .han-water-objects{bottom:max(54px,8svh)!important}
}
@keyframes scene6PeelSwap{from{opacity:.45;transform:translateY(6px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:390px){
  .scene6-fruit-caption{max-height:24svh!important;padding:10px 11px!important}
  .scene6-fruit-caption>p{font-size:12.5px;line-height:1.4}
  .scene6-mandarin-hotspot{left:3%;width:72%}
  .scene6-mandarin-hotspot__label{font-size:10px}
}
@media(max-height:700px) and (max-width:820px){
  .han-water-service>.scene8-caption{max-height:21svh!important}
  .han-water-service .han-water-objects{height:min(28svh,190px)!important;bottom:7svh!important}
}
@media(prefers-reduced-motion:reduce){
  .scene6-mandarin-hotspot__ring,.scene6-picked-mandarin{animation:none!important}
  .han-water-fill{transition:none!important;transform:scaleY(1)}
  .scene8-pour-actions,.scene8-dish-marker,.han-water-carafe-wrap{transition:none!important}
}

/* V16.5 · supplied seven-step guide, accessible voice feedback, and clearer table actions. */
.tutorial-photo--poster{background:#f4e6d8}
.tutorial-photo--poster picture{padding:6px;background:#f4e6d8}
.tutorial-photo--poster img{object-fit:contain!important;object-position:center!important;background:#f4e6d8!important}
.tutorial-photo-caption[hidden]{display:none!important}
.speech-feedback--good{border-color:rgba(143,205,151,.55)!important;background:rgba(69,133,76,.18)!important;box-shadow:0 0 0 1px rgba(143,205,151,.08),0 0 18px rgba(91,173,101,.08)}
.speech-feedback--good strong{color:#c9f0ce!important}
.speech-feedback--retry,.speech-feedback--error{border-color:rgba(235,132,126,.54)!important;background:rgba(147,48,47,.19)!important;box-shadow:0 0 0 1px rgba(235,132,126,.08),0 0 18px rgba(206,68,65,.08)}
.speech-feedback--retry strong,.speech-feedback--error strong{color:#ffd0ca!important}
.scene-korean-answer .speech-feedback--good{border-color:rgba(143,205,151,.55)!important;background:rgba(69,133,76,.18)!important}
.scene-korean-answer .speech-feedback--retry{border-color:rgba(235,132,126,.54)!important;background:rgba(147,48,47,.19)!important}
.scene8-dish-marker i,.scene11-map-dot{animation-duration:2.5s}
.scene9-repere-card>div>small::after,.scene9-gesture-note>span::before{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-radius:50%;vertical-align:1px;background:#f0bd9b;box-shadow:0 0 0 3px rgba(240,189,155,.13),0 0 11px rgba(240,189,155,.36);animation:repereCuePulse 2.2s ease-in-out infinite}
.scene11-map-dot{animation:repereMapPulse 2.1s ease-in-out infinite}
@keyframes repereCuePulse{50%{opacity:.48;box-shadow:0 0 0 5px rgba(240,189,155,.035),0 0 6px rgba(240,189,155,.18)}}
@keyframes repereMapPulse{50%{box-shadow:0 0 0 12px rgba(241,223,189,.045)}}
.scene6-mandarin-hotspot{left:31%;top:59%;width:34%;height:23%}
.scene6-mandarin-hotspot__label{top:-12px;white-space:normal;width:max-content;max-width:min(220px,calc(100vw - 32px));text-align:center}
.scene6-picked-mandarin{left:53%;top:79%}
.han-water-glass-wrap{display:block;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.han-water-glass-wrap:focus-visible{outline:3px solid #fff0d6;outline-offset:5px;box-shadow:0 0 0 8px rgba(230,185,125,.08),0 0 22px rgba(230,185,125,.17)}
.han-water-glass-wrap:hover{box-shadow:0 0 0 7px rgba(230,185,125,.09),0 0 20px rgba(230,185,125,.16)}
.han-water-glass-cue{position:absolute;left:50%;top:-24px;transform:translateX(-50%);display:block;padding:5px 8px;border:1px solid rgba(255,248,239,.22);border-radius:999px;background:rgba(16,13,10,.76);color:#fff7ed;font:700 9px/1.1 system-ui,sans-serif;white-space:nowrap;pointer-events:none}
.scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel{max-width:min(600px,calc(100% - 24px));}
.scene8-stage--bulgogi .scene8-choice-panel .scene8-question{margin-bottom:12px}
.scene8-stage--bulgogi .scene8-choice-panel .story-choice-list button{min-height:48px}
@media(max-width:820px){
  .tutorial-panel{height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 14px);max-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 14px);overflow:hidden;grid-template-rows:auto auto minmax(0,1fr) auto}
  .tutorial-main{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .tutorial-photo--poster{height:min(45svh,420px);min-height:250px;max-height:none}
  .tutorial-photo--poster picture{padding:4px}
  .tutorial-photo--poster img{object-fit:contain!important}
  .tutorial-inline-visual{margin-top:8px;padding:6px}
  .tutorial-inline-visual img{max-height:130px}
  .tutorial-inline-visual figcaption{font-size:9px}
  .scene6-mandarin-hotspot{left:18%;top:57%;width:48%;height:23%}
  .scene6-mandarin-hotspot__label{top:-11px;max-width:min(190px,calc(100vw - 28px));font-size:11px}
  .scene6-picked-mandarin{left:51%;top:78%}
  .scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel{width:100%;max-height:min(58svh,calc(100svh - 112px));}
  .han-water-glass-cue{top:-22px;font-size:8px}
}
@media(max-width:390px){
  .tutorial-photo--poster{height:min(44svh,360px);min-height:230px}
  .tutorial-inline-visual img{max-height:112px}
}
@media(orientation:landscape) and (max-height:540px) and (max-width:820px){
  .tutorial-panel{height:calc(100svh - 10px);max-height:calc(100svh - 10px);padding:8px;gap:7px}
  .tutorial-main{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:10px;overflow:auto}
  .tutorial-photo--poster{height:100%;min-height:0;max-height:calc(100svh - 132px)}
  .tutorial-copy h1{font-size:clamp(21px,4vw,28px)}
  .tutorial-body{font-size:11px}
  .tutorial-note{font-size:9px}
  .tutorial-inline-visual img{max-height:82px}
  .scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel{max-height:68svh}
}
@media(prefers-reduced-motion:reduce){
  .scene9-repere-card>div>small::after,.scene9-gesture-note>span::before,.scene11-map-dot{animation:none!important}
  .speech-feedback--good,.speech-feedback--retry{box-shadow:none}
}

/* Keep the approved bus-stop photograph behind the HUD without a dark strip. */
.scene4-cinematic-stage--stop>.scene4-cinematic-picture{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.scene4-cinematic-stage--stop>.scene4-cinematic-picture img{display:block;width:100%;height:100%;object-fit:cover}
.scene4-cinematic-stage--stop>.scene4-cinematic-veil{z-index:1;background:linear-gradient(180deg,rgba(5,7,8,.25),transparent 25%,transparent 60%,rgba(4,6,7,.6))}
.scene4-cinematic-stage--stop>.scene4-cinematic-copy{z-index:2}
.scene[data-mode="scene4-exit"] .scene4-exit-practice{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;background:transparent}
.scene[data-mode="scene4-exit"] .scene4-exit-practice>.scene4-validator{position:absolute;inset:auto auto 11svh 50%;width:min(950px,calc(100% - 48px));height:min(610px,72svh);transform:translateX(-50%);padding:24px;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:rgba(8,12,12,.88);backdrop-filter:blur(16px);box-shadow:0 25px 70px rgba(0,0,0,.38)}
.scene[data-mode="scene4-exit"] .scene4-exit-practice>.scene4-exit-attempt{position:absolute;z-index:21;left:50%;bottom:max(2svh,env(safe-area-inset-bottom));transform:translateX(-50%);white-space:nowrap}
.scene[data-mode="scene4-exit"] .scene4-exit-practice>.scene4-mae{position:absolute;z-index:22;top:85px;left:var(--safe-x);width:min(500px,calc(100% - 24px))}
@media(max-width:820px){.scene[data-mode="scene4-exit"] .scene4-exit-practice>.scene4-validator{left:12px;right:12px;bottom:max(76px,calc(env(safe-area-inset-bottom) + 62px));width:auto;height:min(465px,58svh);transform:none;grid-template-columns:1fr;grid-template-rows:auto minmax(100px,1fr) auto;gap:8px;padding:12px;border-radius:18px}.scene[data-mode="scene4-exit"] .scene4-exit-practice .scene4-validator-copy h2{font-size:22px}.scene[data-mode="scene4-exit"] .scene4-exit-practice .scene4-validator-device{height:min(18svh,160px)}.scene[data-mode="scene4-exit"] .scene4-exit-practice .scene4-transport-card{width:min(310px,100%);height:88px}.scene[data-mode="scene4-exit"] .scene4-exit-practice>.scene4-mae{top:76px;left:12px;right:12px}}

/* The certificate supplied by the creators is the final on-screen reveal. */
.scene12-stage--certificate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,2svh,22px);padding:clamp(76px,10svh,104px) 16px max(20px,env(safe-area-inset-bottom));overflow:auto;background:radial-gradient(circle at 50% 40%,#665143,#1c1816 75%)}
.scene12-certificate-intro{color:#f9e9d8;text-align:center;font:500 clamp(16px,2vw,25px)/1.25 Georgia,serif}
.scene12-certificate-art{position:relative;flex:none;width:min(100%,min(1100px,calc((100svh - 205px)*1.5)));aspect-ratio:3/2;background:#efe5d7;box-shadow:0 25px 65px rgba(0,0,0,.4);animation:han-certificate-arrive .7s ease-out both}
.scene12-certificate-base{display:block;width:100%;height:100%;object-fit:contain}
.scene12-certificate-name,.scene12-certificate-date,.scene12-certificate-seal{position:absolute}
.scene12-certificate-name{top:48.5%;left:25%;display:grid;place-items:center;width:50%;height:8%;overflow:hidden;color:#4d352b;text-align:center;font:500 clamp(10px,3vw,42px)/1.1 Georgia,serif;overflow-wrap:anywhere}
.scene12-certificate-date{top:84%;left:77%;display:grid;grid-template-columns:26% 28% 46%;align-items:center;width:17%;color:#4d352b;text-align:center;font:500 clamp(8px,1.35vw,18px)/1.2 Georgia,serif}
.scene12-certificate-seal{top:56%;left:78%;width:15%;height:auto;opacity:0;transform:scale(1.7) rotate(-13deg);animation:han-certificate-stamp .5s 1.05s cubic-bezier(.18,.8,.25,1.2) forwards;filter:drop-shadow(1px 3px 2px rgba(80,24,20,.25))}
.scene12-stage--certificate>.scene12-stamp-continue{position:relative;left:auto;right:auto;bottom:auto;flex:none;margin:0;opacity:0;animation:han-certificate-button .35s 1.65s forwards}
@keyframes han-certificate-arrive{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes han-certificate-stamp{to{opacity:.87;transform:scale(1) rotate(-13deg)}}
@keyframes han-certificate-button{to{opacity:1}}
@media(max-width:820px){.scene12-stage--certificate{justify-content:center;gap:16px;padding:88px 12px max(22px,env(safe-area-inset-bottom))}.scene12-certificate-art{width:100%}.scene12-certificate-name{font-size:clamp(8px,3.1vw,23px)}.scene12-certificate-date{font-size:clamp(7px,1.4vw,12px)}.scene12-stage--certificate>.scene12-stamp-continue{width:min(360px,100%);min-height:48px}}
@media(prefers-reduced-motion:reduce){.scene12-certificate-art,.scene12-certificate-seal,.scene12-stage--certificate>.scene12-stamp-continue{animation:none;opacity:1}.scene12-certificate-seal{transform:rotate(-13deg)}}

/* Spoken reply choices remain readable on 360–390 px screens. */
@media(max-width:390px){.scene-korean-answer__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.scene-korean-answer__mic,.scene-korean-answer__send{min-height:46px;padding:8px 6px;font-size:12px}.scene-korean-answer__copy{min-height:0;padding:6px 8px}.scene-korean-answer__copy strong{font-size:16px}.scene-korean-replies__hint{font-size:12px;line-height:1.35}}

/* A familiar word can be spoken naturally when Grandmother hands over the food. */
.scene12-stage--container>.scene12-natural-reply{position:relative;z-index:8;order:2;align-self:center;box-sizing:border-box;width:min(660px,100%);max-height:min(48svh,410px);overflow-y:auto;overscroll-behavior:contain;display:grid;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(22,17,14,.82);backdrop-filter:blur(12px)}
.scene12-natural-reply>.scene12-replies{position:static;left:auto;bottom:auto;transform:none;width:100%;max-height:none;overflow:visible;box-shadow:none;backdrop-filter:none;background:transparent;padding:0;border:0}
.scene12-natural-reply>.scene-korean-replies{position:static;inset:auto;transform:none;width:100%;max-height:none;margin:0}
@media(max-width:820px){.scene12-stage--container>.scene12-natural-reply{max-height:min(45svh,390px);padding:8px}.scene12-stage--container:has(>.scene12-natural-reply)>.scene12-caption{max-height:26svh}}

/* Fit the supplied portrait guide art to phones without cropping or shrinking it into a thumbnail. */
.tutorial-photo--poster{height:auto;min-height:0;max-height:none;aspect-ratio:2 / 3;align-self:start}
.tutorial-photo--poster picture{position:absolute;inset:0;display:block;padding:4px}
.tutorial-photo--poster img{display:block!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:0!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.tutorial-photo--poster::after{display:none!important}
.tutorial-photo--embedded-progress picture::before,.tutorial-photo--embedded-progress picture::after{position:absolute;z-index:3;display:block;content:"";pointer-events:none;background:rgba(246,231,215,.98)}
.tutorial-photo--embedded-progress picture::before{top:1.4%;left:29%;width:42%;height:4.1%;border-radius:999px}
.tutorial-photo--embedded-progress picture::after{top:1.2%;right:1%;width:13%;height:4.4%;border-radius:7px}
@media(max-width:820px){
  .tutorial-photo--poster{height:auto;min-height:0;max-height:none;aspect-ratio:2 / 3}
  .tutorial-main{overflow-y:auto;scrollbar-width:thin}
  .tutorial-photo--poster img{height:100%;min-height:0}
  .scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel{max-height:min(46svh,calc(100svh - 176px));overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:390px){.tutorial-photo--poster{height:auto;min-height:0;max-height:none;aspect-ratio:2 / 3}}
@media(orientation:landscape) and (max-height:540px) and (max-width:820px){
  .tutorial-photo--poster{height:calc(100svh - 164px);width:auto;min-height:0;max-height:calc(100svh - 164px);aspect-ratio:2 / 3;justify-self:start}
  .tutorial-main{grid-template-columns:minmax(140px,.82fr) minmax(0,1fr)}
}

/* A guest can leave the mandarin for later without stopping the scene. */
.scene6-fruit-defer{display:block;min-height:36px;margin:8px 0 0 auto;padding:7px 11px;border:1px solid rgba(255,248,239,.2);border-radius:999px;background:rgba(255,255,255,.06);color:rgba(255,250,241,.86);font:650 11px/1.2 system-ui,sans-serif;cursor:pointer}
.scene6-fruit-defer:hover,.scene6-fruit-defer:focus-visible{border-color:rgba(255,214,176,.72);background:rgba(255,255,255,.12);outline:2px solid rgba(255,214,176,.35);outline-offset:2px}
@media(max-width:820px){.scene6-fruit-defer{min-height:38px;padding:8px 12px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.scene6-fruit-defer{transition:none}}

/* Align dish targets to the real 16:9 desktop and 9:16 phone table photos. */
.scene[data-mode="scene8-table"] .scene8-dish-world .scene8-dish-markers{width:max(110.3vw,196.2svh)!important;aspect-ratio:16/9!important}
.scene8-dish-marker--bibimbap{left:50%;top:64%}.scene8-dish-marker--bulgogi{left:27%;top:66%}.scene8-dish-marker--japchae{left:87%;top:71%}.scene8-dish-marker--kimchi{left:62%;top:74%}.scene8-dish-marker--jeon{left:65%;top:63%}.scene8-dish-marker--banchan{left:75%;top:84%}
.scene8-dish-card{pointer-events:none}
.scene8-dish-card__close{position:absolute;top:6px;right:7px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid rgba(255,248,239,.16);border-radius:50%;background:rgba(255,255,255,.08);color:#fffaf1;font:500 19px/1 system-ui,sans-serif;pointer-events:auto;cursor:pointer}
.scene8-dish-card__close:hover,.scene8-dish-card__close:focus-visible{border-color:rgba(255,214,176,.72);background:rgba(255,255,255,.15);outline:2px solid rgba(255,214,176,.32);outline-offset:2px}
@media(max-width:820px){
  .scene[data-mode="scene8-table"] .scene8-dish-world .scene8-dish-markers{width:max(107.5vw,60.5svh)!important;aspect-ratio:9/16!important}
  .scene8-dish-marker--bibimbap{left:54%;top:54%}.scene8-dish-marker--bulgogi{left:25%;top:68%}.scene8-dish-marker--japchae{left:38%;top:52%}.scene8-dish-marker--kimchi{left:30%;top:81%}.scene8-dish-marker--jeon{left:84%;top:68%}.scene8-dish-marker--banchan{left:71%;top:81%}
}

/* Mirror feedback in the answer card so speech has a clear listening / correct / retry state. */
.scene-korean-answer.is-listening{border-color:rgba(242,192,139,.62);box-shadow:0 0 0 1px rgba(242,192,139,.12),0 0 24px rgba(225,160,97,.16)}
.scene-korean-answer.is-listening .scene-korean-answer__mic{border-color:rgba(242,192,139,.78);background:rgba(165,94,50,.62);box-shadow:0 0 18px rgba(238,178,120,.23)}
.scene-korean-answer .speech-feedback--good{border-color:rgba(151,218,158,.78)!important;box-shadow:0 0 0 2px rgba(121,196,130,.18),0 0 25px rgba(91,173,101,.26)!important}
.scene-korean-answer .speech-feedback--retry,.scene-korean-answer .speech-feedback--error{border-color:rgba(243,133,128,.8)!important;box-shadow:0 0 0 2px rgba(206,68,65,.17),0 0 25px rgba(206,68,65,.24)!important}
@media(prefers-reduced-motion:reduce){.scene-korean-answer.is-listening,.scene-korean-answer.is-listening .scene-korean-answer__mic{box-shadow:none}}

/* V16.7: subtle camera motion keeps the dinner scenes from reading as a slideshow. */
.scene[data-mode^="scene8-"] .scene__image,
.scene[data-mode^="scene9-"] .scene__image,
.scene[data-mode^="scene10-"] .scene__image,
.scene[data-mode^="scene11-"] .scene__image{
  animation:han-dinner-camera 18s ease-in-out infinite alternate;
  --han-dinner-zoom-start:1.022;
  --han-dinner-zoom-end:1.042;
  --han-dinner-pan:.16%;
}
@keyframes han-dinner-camera{
  from{transform:translate3d(calc(-1 * var(--han-dinner-pan)),0,0) scale(var(--han-dinner-zoom-start))}
  to{transform:translate3d(var(--han-dinner-pan),-.12%,0) scale(var(--han-dinner-zoom-end))}
}
.scene[data-mode="scene8-bite"][data-scene8-action="mixed"] .scene__image{
  animation:han-bibimbap-mix .82s cubic-bezier(.2,.75,.25,1) 1 both;
}
.scene[data-mode="scene8-bite"][data-scene8-action="tasted"] .scene__image{
  animation:han-bibimbap-taste 1.05s cubic-bezier(.2,.72,.25,1) 1 both;
}
@keyframes han-bibimbap-mix{
  0%{transform:scale(1.025)}
  22%{transform:translate3d(-.28%,.08%,0) scale(1.035)}
  48%{transform:translate3d(.3%,-.08%,0) scale(1.04)}
  72%{transform:translate3d(-.12%,0,0) scale(1.035)}
  100%{transform:scale(1.042)}
}
@keyframes han-bibimbap-taste{
  from{transform:scale(1.035)}
  to{transform:translate3d(0,-.18%,0) scale(1.065)}
}
.scene[data-mode="scene8-bite"] .scene__image{object-position:center 50%}
.scene8-object-action:focus-visible{outline:2px solid #f0c29c;outline-offset:3px}
.scene9-country-replies{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.scene9-country-replies button{min-height:44px;padding:10px 11px;border:1px solid rgba(255,255,255,.10)!important;border-radius:10px;background:rgba(255,255,255,.045);text-align:center;font:650 12px/1.25 system-ui,sans-serif}
.scene9-country-replies button:last-child{grid-column:1/-1;border:0!important;border-radius:8px;color:rgba(255,255,255,.70);font-size:11px}
.scene9-country-replies button:hover,.scene9-country-replies button:focus-visible{padding-left:11px;background:rgba(255,255,255,.10)}
.scene9-country-form .scene9-country-skip{width:auto;height:36px;margin-top:6px;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.78);font:650 11px/1 system-ui,sans-serif}
.scene9-country-form .scene9-country-skip:hover,.scene9-country-form .scene9-country-skip:focus-visible{background:rgba(255,255,255,.10);outline:2px solid rgba(240,194,156,.75);outline-offset:2px}
@media(max-width:820px){
  .scene[data-mode^="scene8-"] .scene__image,
  .scene[data-mode^="scene9-"] .scene__image,
  .scene[data-mode^="scene10-"] .scene__image,
  .scene[data-mode^="scene11-"] .scene__image{--han-dinner-zoom-start:1.012;--han-dinner-zoom-end:1.027;--han-dinner-pan:.12%}
  .scene[data-mode="scene8-bite"] .scene__image{object-position:center 47%}
  .scene9-country-replies{width:calc(100% - 20px);bottom:max(8px,env(safe-area-inset-bottom));gap:6px;padding:7px}
  .scene9-country-replies button{min-height:42px;padding:8px;font-size:12px}
  .scene9-country-replies button:hover,.scene9-country-replies button:focus-visible{padding-left:8px}
  .scene9-country-form .scene9-country-skip{width:auto;margin-top:7px}
}
@media(prefers-reduced-motion:reduce){
  .scene[data-mode^="scene8-"] .scene__image,
  .scene[data-mode^="scene9-"] .scene__image,
  .scene[data-mode^="scene10-"] .scene__image,
  .scene[data-mode^="scene11-"] .scene__image{animation:none!important}
}
.scene9-caption>.scene9-country-label{max-width:100%;overflow-wrap:anywhere;word-break:break-word}

/* V17.0 · Keep voice and action controls beside the dialogue, never over it. */
.language-block{padding:15px 16px 14px!important}
.language-block>.language-float-tools{position:static!important;inset:auto!important;grid-column:1/-1!important;grid-row:auto!important;justify-content:flex-start!important;margin:5px 0 0!important}
.language-block .audio-chip--text,.language-block .mic-chip--text{min-height:44px!important}
.scene-lang-line{box-sizing:border-box;width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}
.scene-lang-line>strong,.scene-lang-line>.scene-lang-help,.scene-lang-line>.scene-lang-disclosure,.scene-lang-line>.scene-lang-translate{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.scene-lang-line>.scene-lang-tools{position:static!important;inset:auto!important;grid-column:2!important;grid-row:1/4!important;align-self:center;justify-self:end;z-index:1;min-width:max-content}
.scene-lang-tools>.scene-lang-icon{position:relative!important;inset:auto!important;flex:0 0 44px}
.scene-lang-icon{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
.scene-speak-practice{position:relative;z-index:22;display:grid;gap:9px;align-self:flex-end;width:min(540px,100%);max-width:100%;max-height:min(52svh,560px);margin:0;padding:clamp(14px,2vw,20px);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,239,220,.2);border-radius:17px;background:rgba(13,11,10,.84);backdrop-filter:blur(14px);box-shadow:0 20px 54px rgba(0,0,0,.34);color:#fffaf1;pointer-events:auto}
.scene-speak-practice>small{color:#e8b59a;font:800 9px/1.3 system-ui,sans-serif;letter-spacing:.14em}
.scene-speak-practice>strong{font:650 clamp(24px,3vw,34px)/1.15 system-ui,sans-serif;overflow-wrap:anywhere}
.scene-speak-practice>p{margin:0;color:rgba(255,250,241,.82);font:14px/1.4 Georgia,serif}
.scene-speak-practice>span{color:rgba(255,250,241,.68);font:12px/1.45 system-ui,sans-serif}
.scene-speak-practice .scene-free-korean{margin-top:2px;padding-top:9px}
.scene-speak-practice .scene-free-korean__submit{min-width:112px}
.scene-speak-practice__back{justify-self:start;min-height:40px;padding:8px 10px;border:0;border-bottom:1px solid rgba(240,194,156,.45);background:transparent;color:#f2c4a7;font:650 12px/1.35 system-ui,sans-serif;cursor:pointer}
.scene6-stage--object>.scene-speak-practice,.scene6-stage--immersive>.scene-speak-practice,.scene7-stage--greeting>.scene-speak-practice{pointer-events:auto}
.scene7-stage--greeting>.scene-speak-practice{margin-left:auto;margin-right:auto}
@media(max-width:820px){
  .language-block{padding:13px 14px!important}
  .scene-lang-line{column-gap:8px}
  .scene-lang-line>strong{font-size:clamp(18px,5vw,23px)}
  .scene-lang-line>.scene-lang-tools{grid-row:1/4!important}
  .scene-speak-practice{width:calc(100% - 16px);max-width:560px;max-height:calc(100svh - 208px);margin:0 auto;padding:13px;border-radius:15px}
  .scene-speak-practice>strong{font-size:25px}
  .scene-speak-practice .scene-free-korean{grid-template-columns:minmax(0,1fr) 48px;gap:7px}
  .scene-speak-practice .scene-free-korean__submit{grid-column:1/-1;width:100%;min-height:48px}
  .scene-speak-practice .scene-free-korean__mic{min-height:48px}
}
@media(max-width:390px){
  .scene-lang-line{grid-template-columns:minmax(0,1fr) 44px;column-gap:6px;padding-right:2px;padding-left:2px}
  .scene-lang-icon{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important}
  .scene-speak-practice{width:calc(100% - 10px);max-height:calc(100svh - 186px);padding:11px}
}


/* === V17.1 · AUDIO / UX CLEAN PASS · 2026-10-03 ===
   One compact Korean practice surface, desktop-native layout, and unobtrusive Mae cues. */
.mae-scene-note.mae-repere{display:block;width:max-content;max-width:min(92vw,420px);margin:12px 0 0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}
.mae-repere>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:5px 10px 5px 6px;border:1px solid rgba(239,193,151,.35);border-radius:999px;background:rgba(20,17,15,.70);color:#fff7ed;box-shadow:0 8px 24px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.03) inset;backdrop-filter:blur(10px);cursor:pointer;font:650 11px/1.2 system-ui,sans-serif;letter-spacing:.04em}
.mae-repere>summary::-webkit-details-marker{display:none}.mae-repere>summary::marker{display:none;content:''}
.mae-repere>summary img{width:26px;height:26px;border-radius:50%;object-fit:cover}.mae-repere__spark{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#ffd8a8;text-shadow:0 0 10px rgba(255,202,137,.9);animation:maeRepereGlow 2.2s ease-in-out infinite}
.mae-repere__body{width:min(86vw,390px);margin-top:7px;padding:11px 13px;border:1px solid rgba(239,193,151,.25);border-radius:14px;background:rgba(18,15,13,.90);box-shadow:0 12px 28px rgba(0,0,0,.22);backdrop-filter:blur(12px)}
.mae-repere__body p{margin:0;color:rgba(255,248,238,.88);font:400 13px/1.48 system-ui,sans-serif}.mae-repere[open]>summary{border-color:rgba(246,202,158,.55);background:rgba(51,34,25,.84)}

/* The dining-room instruction is copy, not an invisible control over the food targets. */
.scene8-dish-hint{pointer-events:none;top:max(96px,calc(env(safe-area-inset-top) + 82px));border-radius:14px;white-space:normal}
.notebook-lived-note a{display:inline-block;margin-top:8px;color:#f1c69d;text-decoration:underline;text-underline-offset:3px;font:600 12px/1.4 system-ui,sans-serif}
.notebook-lived-note a:focus-visible{outline:2px solid #f1c69d;outline-offset:3px}
@keyframes maeRepereGlow{0%,100%{transform:scale(.94);opacity:.72}50%{transform:scale(1.08);opacity:1}}

.scene-korean-replies--required{gap:9px!important;padding:12px!important;overflow:visible!important;max-height:none!important}
.scene-korean-replies__hint{margin:0 1px 2px!important;color:rgba(255,248,238,.72)!important;font:400 12px/1.4 system-ui,sans-serif!important}
.scene-korean-options{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
.scene-korean-option{position:relative;flex:1 1 0;min-width:min(220px,72vw);min-height:58px;padding:9px 34px 9px 11px;border:1px solid rgba(255,245,235,.17);border-radius:13px;background:rgba(255,255,255,.045);color:#fffaf3;text-align:left;cursor:pointer;scroll-snap-align:start;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.scene-korean-option:hover,.scene-korean-option:focus-visible{border-color:rgba(241,188,145,.52);background:rgba(103,55,38,.28);outline:none}.scene-korean-option.is-selected{border-color:rgba(242,192,139,.68);background:linear-gradient(135deg,rgba(119,62,42,.42),rgba(65,37,29,.42));box-shadow:0 0 0 1px rgba(242,192,139,.08) inset}
.scene-korean-option>span{display:block;font:650 16px/1.25 system-ui,sans-serif;overflow-wrap:anywhere}.scene-korean-option>small{display:block;margin-top:4px;color:rgba(255,248,238,.68);font:400 10.5px/1.3 system-ui,sans-serif}.scene-korean-option>i{position:absolute;right:10px;top:10px;color:rgba(255,226,194,.4);font:650 9px/1 system-ui,sans-serif;font-style:normal;letter-spacing:.08em}
.scene-korean-answer.scene-korean-answer--focus{margin-top:2px;padding:11px 12px 10px;border:1px solid rgba(241,190,149,.26);border-radius:16px;background:linear-gradient(145deg,rgba(12,11,10,.88),rgba(31,22,18,.88));box-shadow:0 12px 30px rgba(0,0,0,.18);overflow:visible}
.scene-korean-answer__prompt{display:grid;gap:4px;padding:2px 4px 10px;text-align:center}.scene-korean-answer__prompt>strong{font:700 clamp(20px,2.2vw,27px)/1.3 system-ui,sans-serif;color:#fffdf9;overflow-wrap:anywhere}.scene-korean-answer__prompt>span{color:rgba(255,247,237,.68);font:400 11.5px/1.4 system-ui,sans-serif}
.scene-korean-practice{display:grid;grid-template-columns:minmax(68px,1fr) minmax(150px,1.6fr) minmax(68px,1fr);align-items:center;gap:10px;padding:4px 2px 2px}
.scene-korean-practice__side{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0!important;min-height:64px!important;padding:7px!important;border:0!important;border-radius:14px!important;background:transparent!important;color:rgba(255,248,238,.86)!important;box-shadow:none!important;font:600 10.5px/1.2 system-ui,sans-serif!important;cursor:pointer}.scene-korean-practice__side>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(245,211,181,.34);border-radius:50%;background:rgba(30,24,21,.62);font-size:18px}.scene-korean-practice__side small{font:600 10px/1.15 system-ui,sans-serif;color:rgba(255,248,238,.72)}.scene-korean-practice__side--empty{visibility:hidden}
.scene-korean-practice__mic.scene-korean-answer__mic{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-width:0;min-height:118px;margin:0;padding:8px 10px;border:0!important;border-radius:18px!important;background:transparent!important;box-shadow:none!important;color:#fffaf3;cursor:pointer}
.scene-korean-practice__mic .icon-mic{display:grid;place-items:center;width:78px;height:78px;border:2px solid rgba(247,202,149,.78);border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(143,83,44,.72),rgba(64,42,29,.86));box-shadow:0 0 0 8px rgba(226,168,105,.09),0 0 0 16px rgba(226,168,105,.045),0 12px 28px rgba(0,0,0,.23);transition:transform .16s ease,box-shadow .16s ease}.scene-korean-practice__mic:hover .icon-mic,.scene-korean-practice__mic:focus-visible .icon-mic{transform:scale(1.035);box-shadow:0 0 0 9px rgba(226,168,105,.13),0 0 0 18px rgba(226,168,105,.06),0 12px 30px rgba(0,0,0,.24)}.scene-korean-practice__mic:focus-visible{outline:none}.scene-korean-practice__mic>b{font:650 12px/1.2 system-ui,sans-serif}.scene-korean-practice__mic>small{font:400 10.5px/1.25 system-ui,sans-serif;color:rgba(255,247,238,.62)}
.scene-korean-answer.is-listening .scene-korean-practice__mic .icon-mic,.scene-korean-practice__mic.is-listening .icon-mic{animation:koreanMicOrb 1.15s ease-in-out infinite;border-color:rgba(255,216,168,.95);box-shadow:0 0 0 8px rgba(226,168,105,.15),0 0 0 18px rgba(226,168,105,.08),0 0 34px rgba(234,171,104,.3)}
@keyframes koreanMicOrb{0%,100%{transform:scale(.98)}50%{transform:scale(1.055)}}
.scene-korean-answer--focus>.speech-feedback{margin:7px 2px 0!important;padding:8px 10px!important;max-height:92px;overflow:auto;border-radius:11px!important;background:rgba(15,13,12,.78)!important;box-shadow:none!important}.scene-korean-answer--focus>.speech-feedback strong,.scene-korean-answer--focus>.speech-feedback span,.scene-korean-answer--focus>.speech-feedback small{display:block}.scene-korean-answer--focus>.speech-feedback__text{font-size:14px}.scene-korean-answer__attempts{text-align:center;margin-top:5px!important}

/* Desktop should feel native to a wide screen: no phone-like nested scroll pane. */
@media(min-width:900px){
  .scene9-stage--papa{overflow:visible!important;align-items:flex-end!important;padding-top:clamp(82px,11vh,118px)!important}
  .papa-conversation-panel{width:min(560px,40vw)!important;max-height:none!important;overflow:visible!important}
  .scene-korean-answer-list{max-height:none!important;overflow:visible!important}
  .scene12-stage--farewell:not(.scene12-stage--immersive)>.scene-korean-replies--required{max-height:none!important;overflow:visible!important}
  .scene-korean-options{overflow:visible;flex-wrap:wrap}.scene-korean-option{min-width:180px}
}
@media(max-width:820px){
  .scene-korean-replies--required{padding:9px!important;border-radius:15px!important}
  .scene-korean-answer.scene-korean-answer--focus{padding:9px 8px 8px}
  .scene-korean-practice{grid-template-columns:62px minmax(138px,1fr) 62px;gap:3px}
  .scene-korean-practice__mic.scene-korean-answer__mic{min-height:105px;padding-inline:3px}
  .scene-korean-practice__mic .icon-mic{width:68px;height:68px}
  .scene-korean-practice__side{min-height:58px!important;padding:4px!important}.scene-korean-practice__side>span{width:40px;height:40px}
  .scene-korean-option{min-width:min(205px,74vw);min-height:54px}.scene-korean-option>span{font-size:15px}
  .scene-korean-answer--focus>.speech-feedback{max-height:78px}
}
@media(max-width:390px){
  .scene-korean-practice{grid-template-columns:56px minmax(128px,1fr) 56px}.scene-korean-practice__side small{font-size:9px}.scene-korean-practice__mic>b{font-size:11px}.scene-korean-practice__mic>small{font-size:9px}.scene-korean-practice__mic .icon-mic{width:64px;height:64px}
}
@media(prefers-reduced-motion:reduce){.mae-repere__spark,.scene-korean-answer.is-listening .scene-korean-practice__mic .icon-mic,.scene-korean-practice__mic.is-listening .icon-mic{animation:none!important}.scene-korean-option,.scene-korean-practice__mic .icon-mic{transition:none!important}}

/* V17.1 wide-screen rule: one page-level overflow is acceptable; nested mobile cards are not. */
@media(min-width:900px){
  .scene6-stage--object>.scene6-caption,
  .scene7-stage--greeting>.scene7-caption,
  .scene7-stage--dinner:not(.scene7-stage--handwash):not(.scene7-stage--sink-action):not(.scene7-stage--immersive)>.scene7-caption,
  .scene8-stage--with-action>.scene8-caption,
  .scene8-stage--with-action>.scene8-choice-panel,
  .scene9-stage--origin:not(.scene9-stage--immersive)>.scene9-caption,
  .scene9-stage--reason:not(.scene9-stage--immersive)>.scene9-caption,
  .scene9-stage--grandma:not(.scene9-stage--immersive)>.scene9-caption,
  .scene9-stage--jiho:not(.scene9-stage--immersive)>.scene9-caption,
  .scene10-stage--drinks:not(.scene10-stage--immersive)>.scene10-caption,
  .scene10-stage--difference:not(.scene10-stage--immersive)>.scene10-caption,
  .scene10-stage--taste:not(.scene10-stage--immersive)>.scene10-caption,
  .scene10-stage--with-action>.scene10-caption,
  .scene11-stage--meal:not(.scene11-stage--immersive)>.scene11-caption,
  .scene11-stage--jeonju:not(.scene11-stage--immersive)>.scene11-caption,
  .scene11-stage--tomorrow:not(.scene11-stage--immersive)>.scene11-caption,
  .scene12-stage--container>.scene12-caption,
  .scene10-stage--jeonju:not(.scene10-stage--immersive)>.scene10-caption,
  .scene12-stage--time:not(.scene12-stage--immersive)>.scene12-caption,
  .scene12-stage--farewell:not(.scene12-stage--immersive)>.scene12-caption,
  .scene12-stage--favorite:not(.scene12-stage--immersive)>.scene12-mae-final,
  .scene12-stage--container>.scene12-natural-reply,
  .scene8-stage--bulgogi:not(.scene8-stage--immersive)>.scene8-choice-panel,
  .scene-speak-practice{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* V17.1 · automatic dialogue presence. The visual cue follows real audio playback; no extra client action is required. */
.story-caption,.papa-conversation-panel,.scene6-fruit-caption,.scene8-choice-panel,.scene9-choice-panel{transition:border-color .24s ease,box-shadow .24s ease,background-color .24s ease}
.story-caption.is-speaking-presence,.papa-conversation-panel.is-speaking-presence,.scene6-fruit-caption.is-speaking-presence,.scene8-choice-panel.is-speaking-presence,.scene9-choice-panel.is-speaking-presence{border-color:rgba(248,202,166,.34)!important;box-shadow:0 18px 58px rgba(16,8,4,.34),0 0 34px rgba(226,154,108,.13)!important}
.scene.is-dialogue-speaking .scene__image{filter:saturate(1.025) brightness(1.015);transition:filter .3s ease}
@media(prefers-reduced-motion:reduce){.story-caption,.papa-conversation-panel,.scene6-fruit-caption,.scene8-choice-panel,.scene9-choice-panel,.scene.is-dialogue-speaking .scene__image{transition:none!important}}

/* V17.1 · mobile too: scroll the scene, never a conversation card inside the scene. */
@media(max-width:899px){
  .scene9-stage--papa{overflow-y:auto!important;overscroll-behavior-y:contain!important;align-items:safe flex-end!important}
  .papa-conversation-panel{max-height:none!important;overflow:visible!important;scrollbar-gutter:auto!important}
}

/* V17.1 · reference-style microphone: the large orb carries the microphone itself. */
.scene-korean-practice__mic .icon-mic{color:#fff8ef;background:linear-gradient(currentColor,currentColor) center 76%/2px 12% no-repeat,radial-gradient(circle at 50% 42%,rgba(143,83,44,.72),rgba(64,42,29,.86))}
.scene-korean-practice__mic .icon-mic::before{content:"";position:absolute;left:50%;top:18%;width:22%;height:38%;transform:translateX(-50%);border:2px solid currentColor;border-radius:999px;background:transparent}
.scene-korean-practice__mic .icon-mic::after{content:"";position:absolute;left:50%;top:42%;bottom:auto;width:42%;height:31%;transform:translateX(-50%);border:2px solid currentColor;border-top:0;border-radius:0 0 999px 999px}

/* === UX / RESPONSIVE BASE · V17.7 · canonical responsive base ===
   Stable Korean reply surface, no horizontal answer rails, no nested desktop conversation scrollers. */

/* Spoken answer UI: one visual grammar everywhere. */
.scene-korean-replies--required{
  box-sizing:border-box;
  width:min(660px,100%);
  max-width:660px;
  margin-inline:auto!important;
}
.scene-korean-options{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  overflow:visible!important;
  padding:1px 0 3px!important;
  scroll-snap-type:none!important;
}
.scene-korean-option{
  min-width:0!important;
  width:100%;
  min-height:54px;
  padding:9px 30px 9px 10px;
}
.scene-korean-answer.scene-korean-answer--focus{
  padding:9px 10px 10px;
  border-color:rgba(255,232,207,.18);
  background:linear-gradient(155deg,rgba(17,14,12,.84),rgba(31,22,18,.90));
}
.scene-korean-answer__prompt{
  position:relative;
  gap:4px;
  padding:12px 54px 12px 14px;
  border:1px solid rgba(100,70,52,.16);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(251,242,229,.98),rgba(239,223,202,.98));
  color:#33261f;
  text-align:left;
  box-shadow:0 8px 22px rgba(0,0,0,.13);
}
.scene-korean-answer__prompt::after{
  content:'나';
  position:absolute;
  right:13px;
  top:50%;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  transform:translateY(-50%);
  border:1px solid rgba(119,77,53,.18);
  border-radius:50%;
  background:rgba(255,255,255,.42);
  color:#8c3f32;
  font:700 11px/1 system-ui,sans-serif;
}
.scene-korean-answer__prompt>strong{
  color:#2c211b!important;
  font:700 clamp(20px,2vw,27px)/1.28 system-ui,sans-serif!important;
}
.scene-korean-answer__prompt>span{
  color:#725f52!important;
  font:500 11.5px/1.38 system-ui,sans-serif!important;
}
.scene-korean-practice{
  grid-template-columns:86px minmax(164px,1fr) 86px;
  gap:8px;
  padding:7px 2px 0;
}
.scene-korean-practice__side{
  min-height:80px!important;
  padding:4px!important;
}
.scene-korean-practice__side>span{
  width:48px;
  height:48px;
  background:rgba(42,31,25,.74);
  border-color:rgba(245,211,181,.32);
}
.scene-korean-practice__mic.scene-korean-answer__mic{
  min-height:112px;
}
.scene-korean-practice__mic .icon-mic{
  width:76px;
  height:76px;
}
.scene-korean-answer--focus>.speech-feedback{
  max-height:none!important;
  overflow:visible!important;
  margin:8px 0 0!important;
  padding:8px 10px!important;
  border-radius:10px!important;
  background:rgba(10,9,8,.66)!important;
}
.scene-korean-answer--focus>.speech-feedback:empty{display:none}
.scene-korean-answer--focus>.speech-feedback strong{font-size:10.5px;letter-spacing:.02em}
.scene-korean-answer--focus>.speech-feedback .speech-feedback__text{margin-top:3px;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.scene-korean-answer--focus>.speech-feedback small{margin-top:3px;font-size:9.5px;line-height:1.35;color:rgba(255,246,235,.64)}

/* Wide screens: let the scene own any rare overflow; cards themselves never become phone-like scroll boxes. */
@media(min-width:900px){
  .scene9-stage--papa,
  .scene6-stage--object,
  .scene7-stage--greeting,
  .scene8-stage--with-action,
  .scene9-stage--family-thread,
  .scene10-stage--with-action,
  .scene11-stage--meal,
  .scene11-stage--jeonju,
  .scene11-stage--tomorrow,
  .scene12-stage--container,
  .scene12-stage--farewell{
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    scrollbar-gutter:stable;
  }
  .papa-conversation-panel,
  .scene-guest-intro,
  .scene11-caption--family-thread,
  .scene9-stage--family-thread>.scene9-family-thread,
  .scene8-focus-panel,
  .scene8-dish-card,
  .scene12-stage--container>.scene12-natural-reply,
  .scene-speak-practice{
    max-height:none!important;
    overflow:visible!important;
  }
  .papa-conversation-panel{width:min(590px,42vw)!important}
}

/* Phones: no sideways option rail and no text hidden under the large microphone. */
@media(max-width:820px){
  .scene-korean-replies--required{width:min(100%,620px);padding:8px!important}
  .scene-korean-options{grid-template-columns:1fr!important;gap:6px}
  .scene-korean-option{min-height:49px;padding:8px 28px 8px 9px}
  .scene-korean-option>span{font-size:14.5px}
  .scene-korean-option>small{font-size:10px}
  .scene-korean-answer.scene-korean-answer--focus{padding:8px}
  .scene-korean-answer__prompt{padding:10px 46px 10px 11px;border-radius:12px}
  .scene-korean-answer__prompt::after{right:10px;width:31px;height:31px}
  .scene-korean-answer__prompt>strong{font-size:19px!important}
  .scene-korean-answer__prompt>span{font-size:10.5px!important}
  .scene-korean-practice{grid-template-columns:60px minmax(134px,1fr) 60px;gap:3px;padding-top:5px}
  .scene-korean-practice__side{min-height:62px!important}
  .scene-korean-practice__side>span{width:40px;height:40px}
  .scene-korean-practice__mic.scene-korean-answer__mic{min-height:96px}
  .scene-korean-practice__mic .icon-mic{width:64px;height:64px}
  .scene-korean-practice__mic>b{font-size:11px}
  .scene-korean-practice__mic>small{font-size:9px}
  .scene-korean-answer--focus>.speech-feedback{padding:7px 8px!important}
}
@media(max-width:390px){
  .scene-hud{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .scene-brand__logo{max-width:82px}
  .scene-hud__actions{gap:5px}
  .hud-lang,.hud-sound,.hud-menu,.sound-settings-trigger--compact{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
  .scene-korean-practice{grid-template-columns:54px minmax(124px,1fr) 54px}
  .scene-korean-practice__side small{font-size:8.5px}
}
@media(max-width:360px){
  .scene-brand__logo{max-width:72px}
  .scene-hud__actions{gap:4px}
  .hud-lang,.hud-sound,.hud-menu,.sound-settings-trigger--compact{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;font-size:11px}
  .scene-korean-answer__prompt>strong{font-size:18px!important}
  .scene-korean-practice{grid-template-columns:50px minmax(118px,1fr) 50px}
  .scene-korean-practice__mic .icon-mic{width:60px;height:60px}
}

/* Short desktop screens still scroll at scene level, never inside dialogue cards. */
@media(min-width:900px) and (max-height:720px){
  .scene9-stage--papa{align-items:flex-start!important;padding-top:78px!important;padding-bottom:22px!important}
  .papa-conversation-panel{margin-left:auto}
}

/* International tutorial sheets supplied for EN stay legible and never crop. */
.tutorial-photo--poster{box-shadow:0 18px 45px rgba(45,23,14,.18)}
.tutorial-photo--poster picture{background:#f6e9d9!important}
@media(max-width:820px){
  .tutorial-photo--poster{width:min(100%,430px);justify-self:center}
}

/* Final chapter: wide screens use the page, not a small scrollable card. */
@media(min-width:900px){
  .scene12-stage--recipe{overflow-y:auto!important;overscroll-behavior-y:contain!important}
  .scene12-recipe-card{max-height:none!important;overflow:visible!important}
  .scene12-souvenir-shell{margin:auto!important}
}
@media(max-width:820px){
  .scene12-souvenir-shell{margin:auto!important}
}

/* V17.7 — recipe imagery reuses the food visuals seen during dinner. */
.scene12-recipe-photo{display:block;width:100%;margin:14px 0 18px;border-radius:18px;overflow:hidden;aspect-ratio:16/8.5;background:#17130f;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.scene12-recipe-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.scene12-recipe-photo{margin:10px 0 14px;border-radius:14px;aspect-ratio:4/3}.scene12-recipe-photo img{object-position:center}}

/* V17.7 canonical audio pass: deployment/cache cleanup; layout inherited from severe QA pass. */

/* V17.7.6: the same response surface also fits inside greeting/intro cards. */
.scene-guest-intro .scene-korean-replies--required,
.scene-speak-practice .scene-korean-replies--required{position:relative!important;inset:auto!important;width:100%!important;max-width:100%;margin:0!important}
.scene-korean-answer__prompt>strong{overflow-wrap:anywhere}
.scene-korean-practice{min-width:0}
.scene-guest-intro .scene-korean-practice,
.scene-speak-practice .scene-korean-practice{grid-template-columns:minmax(38px,.7fr) minmax(0,1.8fr) minmax(38px,.7fr)}
.scene-korean-practice__mic{min-width:0}
.scene-korean-practice__mic>b,.scene-korean-practice__mic>small{overflow-wrap:anywhere}

/* V17.7.6: guided conversations occupy one scrollable stage below the HUD. */
.scene-content [class*="-stage"]:has(.scene-korean-replies--required){
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:flex-start!important;gap:12px!important;
  padding-top:max(100px,calc(env(safe-area-inset-top) + 86px))!important;
  padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;
  pointer-events:auto;min-height:0;
}
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>:first-child{margin-top:auto!important}
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>.story-caption,
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>.scene-korean-replies--required,
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>.papa-conversation-panel{
  position:relative!important;inset:auto!important;transform:none!important;
  flex:0 0 auto!important;max-height:none!important;overflow:visible!important;
  width:min(620px,100%)!important;max-width:100%!important;margin-inline:auto!important;
}
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>.story-caption{order:0!important}
.scene-content [class*="-stage"]:has(.scene-korean-replies--required)>.scene-korean-replies--required{order:1!important}
.scene-korean-replies--required{position:relative!important;inset:auto!important;transform:none!important;min-width:0;flex-shrink:0;pointer-events:auto}
@media(max-width:820px){
  .scene-content [class*="-stage"]:has(.scene-korean-replies--required){padding-left:12px!important;padding-right:12px!important;padding-top:max(88px,calc(env(safe-area-inset-top) + 76px))!important}
  .scene-korean-practice{grid-template-columns:minmax(38px,.7fr) minmax(0,1.8fr) minmax(38px,.7fr)!important}
}

/* V17.7.7: show the photo caption inside its frame and keep handoff controls visible. */
.scene12-photo-memory{overflow:visible}.scene12-photo-memory img{background:#efe9e0}
.scene12-stage--phone-returned .scene12-photo-memory{animation:none;opacity:1;transform:rotate(-.4deg) translateY(-4px)}
.scene12-return-phone{animation:scene12ReturnIn .35s 2.3s both;font-size:11px;letter-spacing:.04em}
.scene12-photo-memory figcaption{align-items:center}.scene12-photo-memory figcaption strong{flex:1}
@media(max-width:820px){.scene12-photo-memory figcaption span{font-size:6px}.scene12-photo-memory figcaption strong{font:500 12px/1.25 Georgia,serif}.scene12-return-phone{bottom:max(18px,env(safe-area-inset-bottom));width:max-content;max-width:90%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.scene12-return-phone{animation:none}}

@keyframes scene12ReturnIn{from{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}
