/* The supplied script owns each screen and paragraph boundary. */
.scene .words p{white-space:normal}
.scene.master .words{margin-top:0;padding-top:22svh}
.scene.master .words p{font-size:clamp(20px,5.6vw,27px);line-height:1.9}
.scene.reassurance{align-items:flex-end;padding-bottom:130px}
.scene.reassurance .words{margin:0;padding:0}
.scene.reassurance img{filter:brightness(.82) saturate(.88);object-position:50% 25%}
.scene.reassurance:before{background:radial-gradient(ellipse 68% 43% at 50% 27%,#08050208 8%,#08050240 40%,#080502b8 76%,#080502f2 100%),linear-gradient(#08050273,transparent 24%,#08050240 47%,#080502d9 72%,#080502 100%)}
.scene.illustrated.waiting .words p{font-size:clamp(17px,4.6vw,22px);line-height:1.95}
.notion-scene{position:relative;isolation:isolate;min-height:calc(100svh - 48px);display:flex;align-items:flex-end;padding:42px 26px 145px;text-align:center;cursor:pointer}
.notion-scene>img{position:absolute;inset:-48px 0 0;z-index:-2;width:100%;height:calc(100% + 48px);object-fit:cover;object-position:50% 25%}
.notion-scene:after{content:'';position:absolute;inset:-48px 0 0;z-index:-1;background:linear-gradient(0deg,#080604 4%,#080604d9 28%,#08060433 68%,#08060450)}
.notion-scene-words{width:100%;text-shadow:0 2px 20px #000}
.notion-scene h1{font-size:clamp(25px,6.5vw,32px);line-height:1.9;outline:none}
.notion-speaker{font-size:16px;line-height:1.8;color:#c0a275;margin:0 0 30px;text-align:center}
.notion-next{position:absolute;bottom:35px;left:26px;width:calc(100% - 52px);border:0;background:transparent;padding:20px;font-size:14px;color:#cfbd9e}
.notion-loading-mark{position:absolute;bottom:75px;left:calc(50% - 9px);color:#dfc28e;animation:notion-pulse 1.2s infinite alternate}
@keyframes notion-pulse{to{opacity:.2}}
.notion-preview{padding-bottom:160px}
.notion-letter{padding:0 25px 70px;text-align:center}
.notion-portrait{display:block;width:calc(100% + 50px);max-width:none;margin:0 -25px -30px;height:390px;object-fit:cover;object-position:50% 20%;mask-image:linear-gradient(#000 55%,transparent)}
.notion-letter>.notion-speaker{position:relative;margin-bottom:60px}
.notion-paragraph{font-size:20px;line-height:2.05;margin:0 0 56px;letter-spacing:-.025em}
.notion-paragraph strong{color:#edd5a7}
.notion-card.fate-card{margin:8px 0 64px;padding:30px 23px;text-align:left;border:1px solid #8c7045;background:linear-gradient(135deg,#2a2116,#14110b);border-radius:3px;box-shadow:0 14px 45px #0005}
.notion-card ul{padding:0;margin:0;list-style:none}
.notion-card li{padding:19px 0;border-bottom:1px solid #b7975938;font-size:17px;line-height:1.9}
.notion-card li:last-child{border:0}
.notion-blur{filter:blur(4px);user-select:none}
.notion-report.book-checkout{display:block;padding:35px 23px 45px;margin:0 18px 65px;text-align:center;background:#eee3c9;color:#3b2b1c;border-radius:3px}
.notion-report.book-checkout>img{width:160px;height:190px;object-fit:cover;margin:0 auto 30px;display:block}
.notion-report h2{font-size:26px;line-height:1.7;margin-bottom:35px}
.notion-report ol{list-style:none;padding:0;text-align:left;margin:0 0 42px}
.notion-report li{padding:22px 0;border-bottom:1px solid #6b543633}
.notion-report h3{font-size:18px;line-height:1.8;margin:0 0 12px}
.notion-report li p{font-size:16px;line-height:1.9;color:#6c5439}
.notion-hidden{display:inline-block;width:80px;height:12px;margin-left:6px;background:repeating-linear-gradient(90deg,#6c5439aa 0 4px,transparent 4px 6px);filter:blur(4px)}
.notion-original{font-size:19px;color:#8d7b63}
.notion-report .book-price{font-size:36px!important;color:#95382a;margin-top:4px!important}
.notion-dock .promotion-strip{display:flex;align-items:center;justify-content:center;gap:9px;padding:8px 0 13px}
.notion-dock .promotion-label,.notion-dock .promotion-clock{font-size:16px}
.notion-dock #continue-book{font-size:18px;min-height:58px}
@media(max-width:360px){.notion-letter{padding-inline:20px}.notion-portrait{width:calc(100% + 40px);margin-inline:-20px}.notion-paragraph{font-size:18px}.notion-card li{font-size:16px}.notion-report h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.notion-loading-mark{animation:none}}

/* Keep every input step on the same stationary sheet. */
#reunion-flow .stable-input{position:relative;min-height:calc(100svh - 48px);height:calc(100svh - 48px);padding:0;overflow:hidden}
#reunion-flow .stable-input .question-content{position:static;padding:0}
#reunion-flow .stable-input h1{position:absolute;top:calc(15svh - 48px);left:26px;right:26px;margin:0;padding:0;animation:none}
#reunion-flow .stable-input .form-intro{position:absolute;top:calc(15svh + 12px);left:26px;right:26px;margin:0;animation:none}
#reunion-flow .stable-input .input-sheet{position:absolute;top:calc(60svh - 48px);bottom:auto;left:0;right:0;width:auto;max-width:none;height:auto;max-height:calc(100svh - 48px - calc(60svh - 48px));margin:0;padding:24px 20px max(24px,env(safe-area-inset-bottom));border:0;border-radius:16px;background:radial-gradient(ellipse at 20% 10%,#fffbee80,transparent 65%),repeating-linear-gradient(105deg,#a08b5908 0 1px,transparent 1px 5px),#f0e7d0;color:#483922;box-shadow:0 -14px 40px -22px #000c;overflow-y:auto;overscroll-behavior:contain;animation:none;transform:none;display:flex;flex-direction:column;justify-content:flex-start;gap:12px}
#reunion-flow .stable-input .input-sheet>label{margin:0;color:#483922}
#reunion-flow .stable-input .input-sheet input:not([type=radio]){background:#fff9ec80;color:#483922;border:1px solid #ab9670;border-radius:7px;margin:0;padding:14px 12px;font-size:22px;min-height:56px}
#reunion-flow .stable-input .input-sheet>.cta{width:100%;max-width:none;margin:8px 0 0;background:#ae3426;border-color:#bc4734;color:#fff1cf;min-height:56px;font-size:17px;padding:14px}
#reunion-flow .stable-input .input-sheet>.flow-note{color:#79664a;font-size:12px;margin:0;text-align:center}
#reunion-flow .stable-input .calendar-options{display:flex;flex-direction:row;gap:8px;border:0;margin:0;padding:0;width:100%}
#reunion-flow .stable-input .calendar-options .choice{color:#483922;flex:1;min-width:0;margin:0;padding:10px 4px;display:flex;justify-content:center;font-size:16px;border:1px solid #b6a17b;border-radius:7px}
#reunion-flow .stable-input .calendar-options input{accent-color:#8c5c37}
#reunion-flow .stable-input .birth-summary{position:static;color:#79664a;padding:0;margin:0;font-size:14px;line-height:1.5;text-align:left}
#reunion-flow .stable-input .time-range-grid{margin:0;gap:8px;flex-shrink:0}
#reunion-flow .stable-input .time-range-grid button{min-height:54px;padding:8px 3px}
#reunion-flow .stable-input .exact-time{margin:0;color:#483922;flex-shrink:0}
#reunion-flow .stable-input .exact-time label{color:#483922}
#reunion-flow .stable-input.gender-form .journey-options button{min-height:70px;flex-shrink:0}
@media(max-height:560px){#reunion-flow .stable-input h1{top:18px}#reunion-flow .stable-input .form-intro{top:70px}#reunion-flow .stable-input .input-sheet{top:135px;max-height:calc(100svh - 183px)}}

/* Keep Sawol's face clear while the hair, shoulders, and room fall into shadow. */
.scene:has(>img[src*="sawol-closeup-grave"])>img{filter:brightness(1)}
.scene:has(>img[src*="sawol-closeup-grave"]):before{background:radial-gradient(ellipse 48% 36% at 50% 34%,transparent 28%,#08050245 58%,#080502c9 86%,#080502f5 110%),linear-gradient(transparent 40%,#08050299 65%,#080502 88%)}
.notion-scene:has(>img[src*="sawol-closeup-grave"]):after{background:radial-gradient(ellipse 48% 36% at 50% 34%,transparent 28%,#08060445 58%,#080604c9 86%,#080604f5 110%),linear-gradient(transparent 40%,#08060499 65%,#080604 88%)}
.notion-portrait[src*="sawol-closeup-grave"]{mask-image:radial-gradient(ellipse 54% 66% at 50% 38%,#000 34%,#000000b3 60%,transparent 100%)}
.scene>img[src*="sawol-closeup-grave"],.notion-scene>img[src*="sawol-closeup-grave"]{transform:scale(.8);transform-origin:50% 20%;object-fit:contain;object-position:50% 20%;mask-image:radial-gradient(ellipse 65% 72% at 50% 38%,#000 45%,transparent 100%)}
.notion-portrait[src*="sawol-closeup-grave"]{object-fit:contain;height:340px;object-position:50% 20%}
.scene:has(>img[src*="sawol-closeup-grave"]){align-items:flex-end;padding-bottom:130px}
.scene:has(>img[src*="sawol-closeup-grave"]) .words{padding-top:0;margin-top:0}
.scene.illustrated.departure{align-items:flex-end;padding-bottom:130px}
.scene.illustrated.departure .words{padding-top:0;margin-top:0}

.scene:has(>img[src*="punishment-costume"]){align-items:flex-end;padding-bottom:175px}
.scene:has(>img[src*="punishment-costume"]) .words{padding-top:0;margin-top:0}
.notion-portrait[src*="sawol-closeup-grave"]{height:220px;object-fit:cover;object-position:50% 26%;mask-image:radial-gradient(ellipse 57% 46% at 50% 43%,#000 20%,#000000b3 48%,transparent 100%)}
.notion-gold,.notion-paragraph .notion-gold{color:#dcb66b}
.notion-paragraph .notion-emphasis{font-size:1.45em;color:#e8c477;font-weight:600}
.notion-card .card-photo{display:block;width:100%;height:220px;object-fit:cover;filter:blur(4px);opacity:.85;margin-bottom:14px;pointer-events:none}
.notion-card{overflow:hidden}
.notion-report .book-discount{font-size:clamp(44px,12vw,62px);font-weight:800;line-height:1.25;color:#ae3426;margin:24px 0 10px}
.notion-report .book-price{font-size:48px!important}
.notion-dock .promotion-strip{position:relative;overflow:hidden;animation:promotion-glow 2.8s ease-in-out infinite}
.notion-dock .promotion-strip:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,#f5ce7738 50%,transparent 70%);transform:translateX(-100%);animation:promotion-shine 4s ease-in-out infinite;pointer-events:none}
.notion-dock .promotion-clock{color:#f0bf5a;font-weight:700;font-variant-numeric:tabular-nums}
@keyframes promotion-glow{50%{text-shadow:0 0 14px #efb94780}}
@keyframes promotion-shine{60%,100%{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.notion-dock .promotion-strip,.notion-dock .promotion-strip:after{animation:none}}

.scene:has(>img[src*="yeonjeong-shadow"]){align-items:flex-end;padding-bottom:130px}
.scene:has(>img[src*="yeonjeong-shadow"]) .words{padding-top:0;margin-top:0}

.scene:has(>img[src*="sawol-closeup-grave"]) .words p{font-size:clamp(18px,4.6vw,22px);line-height:1.9}
.scene:has(>img[src*="sawol-closeup-grave"]) .words strong{color:#dcb66b;font-weight:inherit}

.notion-scene>img[src*="record-opening.webp"]{filter:brightness(.55)}

.notion-paragraph .scroll-line{transition-duration:1.6s}
.notion-dock .promotion-strip:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#a97831,#f0ca78);transform-origin:left;transform:scaleX(var(--remaining,1));transition:transform 1s linear;box-shadow:0 0 8px #ddb65b70}
@media(prefers-reduced-motion:reduce){.notion-paragraph .scroll-line,.notion-dock .promotion-strip:before{transition:none}}

/* Fit all thirteen time ranges and the unknown option without an inner scroll. */
#reunion-flow .stable-input.field-3 .input-sheet{top:min(calc(60svh - 48px),calc(100svh - 400px));max-height:none;overflow:visible;padding:16px 18px;gap:8px}
#reunion-flow .stable-input.field-3 .birth-summary{font-size:13px;line-height:1.5}
#reunion-flow .stable-input.field-3 .time-range-grid{gap:6px}
#reunion-flow .stable-input.field-3 .time-range-grid button{height:52px;min-height:52px;padding:4px 2px;gap:2px;font-size:13px;line-height:1.35}
#reunion-flow .stable-input.field-3 .time-range-grid strong{font-size:12px;line-height:1.35;white-space:nowrap}
@media(max-width:360px){#reunion-flow .stable-input.field-3 .input-sheet{padding-inline:12px}#reunion-flow .stable-input.field-3 .time-range-grid strong{font-size:11px}}

/* Introduction portrait: tighter face framing with the entire room in shadow. */
.scene>img[src*="sawol-closeup-grave"]{transform:scale(1);transform-origin:50% 20%;mask-image:radial-gradient(ellipse 38% 34% at 50% 34%,#000 32%,#000000a6 60%,transparent 100%)}
.scene:has(>img[src*="sawol-closeup-grave"]):before{background:radial-gradient(ellipse 37% 30% at 50% 34%,transparent 30%,#08050245 57%,#080502d9 85%,#080502 115%),linear-gradient(transparent 40%,#080502cc 60%,#080502 76%)}
.notion-scene-words{animation:words-in .8s .12s both}@media(prefers-reduced-motion:reduce){.notion-scene-words{animation:none}}

.notion-hidden{display:inline-block;width:auto;max-width:100%;height:auto;margin-left:6px;background:none;filter:blur(4px);line-height:1.6;vertical-align:baseline;color:inherit;user-select:none}
#book-checkout.notion-report .book-discount{display:inline-block;font-size:clamp(22px,5.5vw,27px)!important;line-height:1.5!important;font-weight:600!important;color:#8a693c!important;border:1px solid #9c7e4940;border-radius:3px;padding:7px 20px;margin:22px 0 12px!important;letter-spacing:.025em;background:#a8894210}

#book-checkout .report-hidden{font-size:inherit;filter:blur(3.5px);opacity:.85;letter-spacing:.03em}

.notion-reading-inset{display:block;width:100%;height:190px;object-fit:cover;object-position:50% 60%;margin:-26px auto -40px;opacity:.48;filter:brightness(.65) saturate(.7);mask-image:radial-gradient(ellipse 52% 45% at 50% 50%,#000 12%,#00000080 48%,transparent 100%)}

.locked-photo{position:relative;overflow:hidden;margin:0 0 14px;border-radius:3px;isolation:isolate}
.notion-card .locked-photo .card-photo,.locked-photo.photo-only .card-photo{display:block;width:100%;height:220px;object-fit:cover;filter:blur(2px);opacity:.85;margin:0;transform:scale(1.04)}
.locked-photo:after{content:'';position:absolute;inset:0;background:#08060420;pointer-events:none}
.photo-lock{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border:1px solid #f0d8ab66;border-radius:50%;color:#f5e9cc;background:#19130cb3;box-shadow:0 3px 18px #0004}
.photo-lock svg{width:25px;height:25px}
.locked-photo.photo-only{margin:-38px 0 64px;border:1px solid #8c704566}

.locked-photo.photo-only{padding:18px;border:1px solid #8c7045;background:linear-gradient(135deg,#2a2116,#14110b);border-radius:3px;box-shadow:0 14px 45px #0005}
.locked-photo.photo-only .card-photo{height:auto;aspect-ratio:3/4;object-fit:cover;transform:none}
.locked-photo.photo-only:after{inset:18px}

.notion-letter > .fate-card:first-of-type .locked-photo .card-photo{height:auto;aspect-ratio:4/3}
