: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: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.png') 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:14px;color:inherit;text-decoration:none;min-width:0}.brand__seal{width:62px;height:62px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#29211d;background:#f7f1e7;border:1px solid rgba(70,52,42,.16);box-shadow:0 9px 28px rgba(0,0,0,.20);flex:0 0 auto;line-height:1}.brand__seal-main{font-family:Georgia,"Times New Roman",serif;font-size:12px;font-weight:700;letter-spacing:.10em}.brand__seal-rule{margin-top:6px;font-size:6.5px;font-weight:700;letter-spacing:.18em}.brand__wordmark{display:grid;gap:5px;text-shadow:0 2px 15px rgba(0,0,0,.48)}.brand__wordmark strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,1.38vw,23px);letter-spacing:.13em;white-space:nowrap}.brand__wordmark small{color:rgba(255,250,241,.72);font-size:9px;letter-spacing:.20em;white-space:nowrap}.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.png') 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.85s}@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}@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:0;pointer-events:none;animation:actions-in .45s 2.05s forwards}@keyframes actions-in{to{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:rgba(5,7,7,.58);backdrop-filter:blur(8px)}.passport-modal{position:relative;width:min(480px,92vw);padding:34px;border-radius:20px;background:#f3eadc;color:#493a30;box-shadow:0 32px 100px rgba(0,0,0,.4)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#5f493a;font-size:25px;cursor:pointer}.modal-kicker{margin:0;color:#9b5f4c;font-size:9px;font-weight:800;letter-spacing:.18em}.passport-modal h2{margin:8px 0 10px;font:500 34px/1 Georgia,serif}.modal-copy{margin:0 0 22px;color:#756153;font:400 15px/1.5 Georgia,serif}.passport-form{display:grid;gap:13px}.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:10px;background:#fffaf2;color:#43352c;padding:12px 13px}.modal-primary,.modal-secondary{width:100%;margin-top:4px;border-radius:999px;padding:12px 18px;cursor:pointer}.modal-primary{border:0;background:#8d4938;color:#fff}.modal-secondary{border:1px solid rgba(91,65,49,.2);background:transparent;color:#624f42;margin-top:10px}.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)}

@media(max-width:820px){
  :root{--safe-x:16px}.topbar{padding-top:max(16px,env(safe-area-inset-top))}.brand__seal{width:48px;height:48px}.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}
}
@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,1.8s) 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--good{border-color:rgba(146,183,137,.30);background:rgba(118,156,110,.08)}
.speech-feedback--mid{border-color:rgba(213,178,109,.28);background:rgba(185,148,75,.06)}
.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,1.8s) 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,1.8s) 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:190px!important}
.choice-language-actions{display:flex;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)}}

/* =========================================================
   BUILD 2026.09.07 · S1–S4 RC1
   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-scroll-stage{position:absolute;inset:0;z-index:12;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:none;background:#111414;pointer-events:auto;-webkit-overflow-scrolling:touch}
.scene4-scroll-stage::-webkit-scrollbar{display:none}
.scene4-scroll-panel{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;scroll-snap-align:start;isolation:isolate}
.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)}
.scene4-panel-picture--drift img{animation:scene4-drift 11s ease-in-out infinite alternate}
@keyframes scene4-drift{from{transform:scale(1.045) translate3d(-.8%,0,0)}to{transform:scale(1.075) translate3d(.9%,-.5%,0)}}
.scene4-scroll-veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(6,9,10,.12) 0,rgba(6,9,10,.04) 40%,rgba(5,7,8,.68) 100%);pointer-events:none}
.scene4-scroll-veil--soft{background:linear-gradient(180deg,rgba(5,8,9,.10),rgba(5,8,9,.08) 48%,rgba(5,7,8,.54))}
.scene4-scroll-copy{width:min(720px,calc(100% - 2*var(--safe-x)));margin:0 var(--safe-x) max(34px,env(safe-area-inset-bottom));padding:19px 20px;border:1px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(11,14,14,.56);backdrop-filter:blur(14px);box-shadow:0 18px 55px rgba(0,0,0,.22)}
.scene4-scroll-copy--hero{width:min(620px,calc(100% - 2*var(--safe-x)))}
.scene4-scroll-copy>small,.scene4-ride-caption>small,.scene4-observation>span{display:block;margin:0 0 10px;color:#e2a288;font-size:9px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}
.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}
.scene4-scroll-cue{position:absolute;left:50%;bottom:max(13px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;padding:7px 10px;border-radius:999px;background:rgba(7,9,9,.42);backdrop-filter:blur(8px);color:rgba(255,255,255,.62);font-size:9px;letter-spacing:.07em;animation:scene4-cue 2s ease-in-out infinite}
@keyframes scene4-cue{50%{transform:translate(-50%,4px);opacity:.58}}
.scene4-observation{width:min(650px,calc(100% - 2*var(--safe-x)));margin:0 var(--safe-x) max(52px,env(safe-area-inset-bottom));padding:17px 18px;border-left:1px solid rgba(226,162,136,.72);background:linear-gradient(90deg,rgba(8,10,10,.52),rgba(8,10,10,.12),transparent);text-shadow:0 2px 16px rgba(0,0,0,.32)}
.scene4-observation p{margin:0;color:rgba(255,255,255,.87);font:400 clamp(17px,1.4vw,22px)/1.5 Georgia,serif}
.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-scroll-panel--bus{align-items:flex-end}.scene4-bus-glass{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,rgba(255,255,255,.08),transparent 24%,transparent 74%,rgba(163,192,205,.08)),linear-gradient(180deg,rgba(8,11,13,.10),rgba(7,9,10,.34));box-shadow:inset 42px 0 0 rgba(10,12,13,.26),inset -42px 0 0 rgba(10,12,13,.26)}
.scene4-ride-caption{margin:0 var(--safe-x) max(48px,env(safe-area-inset-bottom));max-width:510px;padding:14px 16px;border-left:1px solid rgba(224,159,132,.65);background:linear-gradient(90deg,rgba(5,7,8,.55),transparent);text-shadow:0 2px 12px rgba(0,0,0,.4)}.scene4-ride-caption--right{margin-left:auto}.scene4-ride-caption p{margin:0;color:rgba(255,255,255,.88);font:400 clamp(17px,1.5vw,22px)/1.5 Georgia,serif}
.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-scroll-copy,.scene4-observation{width:auto;margin-left:12px;margin-right:12px;margin-bottom:max(20px,env(safe-area-inset-bottom));padding:15px;border-radius:16px}.scene4-scroll-copy--hero{width:auto}.scene4-mae>img{width:34px;height:34px;flex-basis:34px}.scene4-mae p{font-size:15px}.scene4-observation p{font-size:16px}.scene4-inline-route{align-items:flex-end}.scene4-scroll-cue{bottom:max(7px,env(safe-area-inset-bottom));font-size:8px}
  .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-bus-glass{box-shadow:inset 13px 0 0 rgba(10,12,13,.26),inset -13px 0 0 rgba(10,12,13,.26)}.scene4-ride-caption{margin:0 12px max(30px,env(safe-area-inset-bottom));padding:12px}.scene4-ride-caption--right{margin-left:12px}.scene4-ride-caption p{font-size:16px}.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-scroll-stage{scroll-snap-type:none}.scene4-panel-picture--drift img,.scene4-scroll-cue{animation:none!important}.scene4-validator.is-tapping .scene4-transport-card{animation:none!important}}


/* =========================================================
   POLISH 2026.09.07 · S1–S4 RC1.1
   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}
.scene4-passing-shadow{position:absolute;inset:-20%;z-index:-1;background:linear-gradient(110deg,transparent 34%,rgba(4,7,8,.20) 45%,rgba(255,220,180,.06) 50%,transparent 58%);transform:translateX(-55%);animation:scene4-shadow-pass 5.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-passing-shadow,.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-primary{align-self:flex-start;margin-top:12px;border:1px solid rgba(255,255,255,.2);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;padding:12px 17px;font-weight:700;cursor:pointer;backdrop-filter:blur(10px)}.scene5-primary:hover{background:rgba(255,255,255,.14)}
.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-korean-option{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.1)}.scene5-korean-option>span{display:block;margin-bottom:7px;color:#e0a084;font-size:9px;font-weight:800}.scene5-korean-option button{width:100%;text-align:left;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.05);padding:11px 13px;color:#fff}.scene5-korean-option strong{display:block;font-size:21px}.scene5-korean-option small{display:block;margin-top:3px;color:rgba(255,255,255,.65)}
.scene5-threshold{align-items:flex-start}.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-primary{width:100%;text-align:center;margin-top:9px;padding:11px 12px}.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}.scene5-korean-option strong{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.scene5-bell.is-ringing{animation:none}}
