[hidden]{display:none!important}body{overflow:hidden}#journey{position:fixed;inset:0;margin:auto;width:100%;max-width:540px;height:100dvh;isolation:isolate;color:#fff8ef;font-family:MaruBuri,serif}#journey-media,.journey-shade{position:absolute;inset:0;pointer-events:none}.journey-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 350ms ease}.journey-film.visible{opacity:1}.journey-shade{background:linear-gradient(180deg,transparent 24%,#170c0d55 44%,#170c0de8 83%,#170c0df2)}.journey-nav{position:absolute;z-index:4;top:env(safe-area-inset-top);left:0;width:100%;height:65px;display:flex;align-items:center;justify-content:center}.journey-nav button{position:absolute;left:16px;font-size:28px;border:0;color:#fff4de;background:transparent;padding:10px;cursor:pointer}.thread-marks{color:#db9d92;font-size:15px;letter-spacing:5px;opacity:.75;text-shadow:0 2px 8px #120606}#journey-content{position:relative;z-index:2;height:100%;overflow-y:auto;display:flex;flex-direction:column;padding-top:75px;scrollbar-width:thin}.journey-panel{margin-top:auto;padding:24px 24px max(28px,calc(env(safe-area-inset-bottom) + 16px));animation:journey-enter .35s ease both}.journey-panel h1{font-size:clamp(21px,5.7vw,27px);font-weight:600;line-height:1.65;letter-spacing:-.04em;text-align:center;word-break:keep-all;margin:0 0 26px;text-shadow:0 2px 10px #0007;white-space:pre-line}.journey-choices{display:grid;gap:10px}.two-columns{grid-template-columns:1fr 1fr}.journey-choice{min-height:54px;padding:12px 10px;border:1px solid #e4c9b64f;border-radius:8px;background:#3b2224bb;backdrop-filter:blur(10px);color:#f8eade;font:14px/1.55 Arial,'Malgun Gothic',sans-serif;cursor:pointer;word-break:keep-all}.journey-choice:hover,.journey-choice[aria-pressed=true]{border-color:#dfbd8e;background:#7a4542dc}.journey-primary{width:100%;min-height:56px;background:linear-gradient(110deg,#f0d4a3,#fff0cd);border:0;border-radius:6px;padding:14px;color:#57292c;font:600 16px MaruBuri,serif;cursor:pointer}.journey-text{display:block;width:100%;border:0;background:none;color:#e7d2bc;padding:18px 6px 0;font:12px/1.6 Arial,sans-serif;cursor:pointer}.reaction{padding-bottom:max(110px,20dvh)}.reply-seal{text-align:center;color:#e7bfa0;font-size:30px;margin-bottom:20px;animation:seal-in .6s ease}.paired-seals{display:flex;align-items:center;justify-content:center;gap:80px;position:relative;margin-bottom:35px}.paired-seals:before{content:'';position:absolute;top:50%;left:25%;right:25%;height:1px;background:#bc6263;box-shadow:0 0 10px #bc626355}.paired-seals span{position:relative;background:#58292c;border:1px solid #ce9690;color:#f8e4c4;border-radius:50%;width:57px;height:57px;display:grid;place-items:center;font-size:15px;animation:seal-in .7s ease}.ready-panel{padding-bottom:calc(env(safe-area-inset-bottom) + 45px)}#journey-content>.traditional-input{margin-top:auto;width:100%;padding-top:80px}.arrival-note{text-align:center;font-size:15px;line-height:1.6;margin:0 24px}.traditional-input .saju-form__header h1{font-size:23px}.traditional-input .saju-form__header p{letter-spacing:.06em}.traditional-input .saju-form{animation:journey-enter .35s ease;padding-top:14px}.traditional-input .saju-form__fields{gap:16px}.traditional-input .leap-choice[hidden]{display:none!important}#journey[data-page=person0] .journey-shade,#journey[data-page=person1] .journey-shade{background:linear-gradient(180deg,#160d1015 5%,#160d1077 30%,#160d10ed 70%,#160d10fa)}#journey[data-page=loading]{background:#20151a}.loading-panel{margin:auto 0;padding:40px 26px}.connection-note{font:13px/1.7 Arial,sans-serif;color:#c9b6ae;text-align:center;margin-bottom:25px}:focus-visible{outline:2px solid #f8d79f;outline-offset:3px}@keyframes journey-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes seal-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-height:700px){.journey-panel{padding-top:15px}.journey-panel h1{margin-bottom:18px;font-size:21px}.journey-choice{min-height:46px;padding:9px}.journey-choices{gap:8px}#journey-content>.traditional-input{padding-top:0}.traditional-input .saju-form__fields{gap:12px}.traditional-input .saju-form__header h1{font-size:20px}.arrival-note{font-size:12px}}@media(prefers-reduced-motion:reduce){.journey-film{transition:none}.journey-panel,.paired-seals span,.reply-seal{animation:none}}

.thread-marks{display:flex;align-items:center;gap:22px;letter-spacing:0}.thread-marks span{position:relative;color:#a58b85}.thread-marks span+span:before{content:"";position:absolute;right:20px;top:50%;width:16px;height:1px;background:currentColor}.thread-marks .lit{color:#edb5a4;text-shadow:0 0 8px #bc6666} 

.journey-nav button.replay-opening{font:12px Arial,sans-serif;letter-spacing:0;}

#journey-media{z-index:0}.journey-shade{z-index:1}


/* Let the greeting settle, then fade the entire next scene in over its held frame. */
#journey.opening-entry{opacity:0;transition:opacity 550ms ease-in-out}
#journey.opening-entry.opening-entered{opacity:1}
#opening.is-leaving .dialogue{opacity:0;transition:opacity 350ms ease}
@media(prefers-reduced-motion:reduce){#journey.opening-entry{transition-duration:100ms}}

/* Loading keeps the supplied book animation visible; copy stays below it. */
#journey[data-page=loading] .journey-nav{display:none}
#journey[data-page=loading] .loading-panel{margin-top:auto;margin-bottom:0;padding:24px 26px max(80px,calc(env(safe-area-inset-bottom) + 64px))}
#journey[data-page=loading] .loading-panel h1{font-size:clamp(20px,5.2vw,25px);line-height:1.65;margin-bottom:0}
.loading-rolling{display:grid;overflow:hidden}
.loading-line{display:block;grid-area:1 / 1;align-self:center}
.loading-line.is-entering{animation:loading-line-in .5s ease both}
.loading-line.is-leaving{animation:loading-line-out .5s ease both}
@keyframes loading-line-in{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}
@keyframes loading-line-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}
@media(prefers-reduced-motion:reduce){.loading-line.is-entering,.loading-line.is-leaving{animation-duration:.01s}}
#journey[data-page=loading] .journey-shade{background:linear-gradient(180deg,transparent 40%,#180f1433 60%,#180f14dc 100%)}
#journey[data-page=loading] .loading-panel.has-error{padding-bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));background:linear-gradient(transparent,#180f14e8 25%)}

#journey[data-page=loading].loading-error .journey-nav{display:flex}
#journey[data-page=loading].loading-error .thread-marks{display:none}

/* Optional question: shared seated Yeonwol image, editable context for future answers. */
#journey[data-page=question] .journey-shade{background:linear-gradient(180deg,transparent 15%,#180f1433 35%,#180f14de 68%,#180f14 100%)}
#journey[data-page=question] .question-panel{margin-top:auto;padding:24px 24px max(28px,env(safe-area-inset-bottom));}
.question-panel .question-context{color:#d6b795;font-size:14px;margin:0 0 12px;}
.question-panel h1{font-size:clamp(22px,5.7vw,29px);line-height:1.6;white-space:pre-line;margin:0 0 14px;}
.question-panel .question-help{text-align:center;font-size:16px;color:#d1c3bb;margin:0 0 22px;}
.question-panel textarea{box-sizing:border-box;display:block;width:100%;min-height:142px;resize:vertical;border:1px solid #a88c7566;border-radius:12px;background:#49342fee;color:#fff8ee;padding:18px;font:inherit;font-size:14px;line-height:1.65;}
.question-panel textarea::placeholder{color:#c6b5ac;}
.question-panel textarea:focus{outline:2px solid #edcf96;outline-offset:3px;}
.question-panel .question-count{text-align:right;color:#c6b5ac;font-size:14px;margin:8px 0 20px;}
