#journey:has(.title-screen) {background:linear-gradient(90deg,#082b32b8,#0b25264f),url('/assets/cutscenes/bg_classroom_book.png') center/cover no-repeat;}
.title-screen {width:76%;position:relative;border-block:1px solid #d1b57e!important;background:linear-gradient(120deg,#103936e6,#092b32db)!important;box-shadow:0 10px 45px #071c2670,inset 0 0 0 5px #ceaf6a10;}
.title-screen::before,.title-screen::after {content:'◆';position:absolute;top:45%;color:#d4b67b;font-size:12px;}
.title-screen::before {left:2%;}.title-screen::after {right:2%;}
.title-screen nav {display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.title-screen .save-detail {line-height:1.7!important;}
#journey .title-screen button,#intro-play {position:relative;background:linear-gradient(135deg,#204f47,#0c3037);border:1px solid #d0b37a;color:#f6ead1;border-radius:2px;padding:12px 26px;min-height:44px;font-family:serif;letter-spacing:.12em;box-shadow:inset 0 0 0 3px #102e31,inset 0 0 0 4px #bd9b5b80,0 4px 9px #0003;transition:box-shadow .25s,background .25s;cursor:pointer;}
#journey .title-screen button:hover,#intro-play:hover {background:linear-gradient(135deg,#386050,#153d3e);box-shadow:inset 0 0 0 3px #173a35,inset 0 0 0 4px #e2c584,0 0 20px #e5c07160;}
#journey .title-screen button::before {content:'';position:absolute;width:5px;height:5px;left:11px;top:calc(50% - 3px);border:1px solid #dfc48c;transform:rotate(45deg);}
#journey .title-screen button:focus-visible,#intro-play:focus-visible {outline:2px solid #ffe3a4;outline-offset:4px;}
body:has(.title-active) #journey-open,body:has(.prologue-active) #journey-open {visibility:hidden;}
#prologue-cinema {position:absolute;inset:0;z-index:45;background:#000;overflow:hidden;container-type:inline-size;pointer-events:auto;}
#prologue-discovery {position:absolute;inset:0;z-index:4;background:#291f16;}
#prologue-discovery img {width:100%;height:100%;object-fit:cover;}
.book-discovery-caption {position:absolute;left:4%;bottom:4%;max-width:55%;padding:14px 22px;background:#17352fe8;color:var(--ui-ivory);border-left:2px solid var(--ui-gold);font:500 clamp(18px,2cqw,28px)/1.7 var(--ui-font-body);}
.book-discovery-caption p {margin:0 0 12px;}
#prologue-discovery .book-discovery-caption p {font:inherit;color:inherit;letter-spacing:.02em;}
#prologue-touch-book {padding:12px 24px;min-height:52px;border:1px solid var(--ui-gold);background:var(--ui-ink);color:var(--ui-ivory);font:600 clamp(20px,2cqw,28px)/1.4 var(--ui-font-body);cursor:pointer;}
#prologue-touch-book small {margin-left:12px;opacity:.7;}
#player-profile {position:absolute;inset:0;z-index:85;display:grid;place-items:center;background:#101d19a6;backdrop-filter:blur(3px);}
.profile-flyleaf {box-sizing:border-box;width:min(80%,640px);max-height:94%;overflow:auto;text-align:center;padding:clamp(24px,4cqw,58px);color:#243e34;background:linear-gradient(100deg,#d8c7a2 0,#efe7cf 6%,#faf3de 48%,#e8dcbe 97%,#c9b38b);border:1px solid #ad9768;border-radius:3px 12px 12px 3px;box-shadow:inset 10px 0 14px #78624020,0 16px 48px #071c2666;}
.profile-flyleaf h2 {margin:12px 0 24px;font:600 clamp(28px,3cqw,40px)/1.4 var(--ui-font-title);}
.profile-whisper {font:500 clamp(18px,1.8cqw,24px)/1.7 var(--ui-font-title);}
#player-profile .profile-whisper {color:#526154;}
.profile-flyleaf label,.profile-flyleaf small {display:block;font:500 clamp(16px,1.4cqw,20px)/1.6 var(--ui-font-body);}
.profile-flyleaf input {box-sizing:border-box;width:100%;margin:14px 0 8px;padding:12px 8px;border:0;border-bottom:2px solid #83794e;border-radius:0;background:#fffaf23d;color:#193c32;font:600 clamp(26px,2.5cqw,34px)/1.4 var(--ui-font-title);text-align:center;}
.profile-flyleaf button {min-height:54px;min-width:180px;margin-top:10px;padding:14px 28px;border:1px solid #b59d65;border-radius:3px;background:#193f36;color:#fff5dd;font:600 clamp(22px,2cqw,28px)/1.3 var(--ui-font-body);cursor:pointer;}
.profile-flyleaf :is(input,button):focus-visible,#prologue-touch-book:focus-visible {outline:3px solid #b08835;outline-offset:4px;}
#player-name-error {min-height:1.6em;margin:10px 0;color:#8d3325;font:500 18px/1.6 var(--ui-font-body);}
.profile-written-name {font:600 clamp(30px,3cqw,42px)/1.6 var(--ui-font-title);overflow-wrap:anywhere;}
@media(max-width:650px) {.book-discovery-caption{max-width:90%;left:3%;right:3%;bottom:3%;padding:10px 14px;}.profile-flyleaf{width:94%;padding:24px;}}
#prologue-video {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;pointer-events:none;opacity:0;transition:opacity .2s;}
#intro-veil {position:absolute;inset:0;background:#000;z-index:2;pointer-events:none;}
#intro-whisper {position:absolute;z-index:5;bottom:5%;left:6%;right:6%;min-height:21%;padding:3% 4%;border:1px solid #c7ad76;background:linear-gradient(115deg,#123936f5,#0c292ff5);box-shadow:inset 0 0 0 4px #d0b37617;color:#f6ead0;font:clamp(17px,2.6cqw,34px)/1.7 serif;letter-spacing:.12em;}
#intro-whisper::before {content:'◆';color:#d1b278;position:absolute;right:2%;bottom:8%;font-size:10px;}
#intro-caption {position:absolute;z-index:6;bottom:10%;left:8%;right:8%;text-align:center;color:#fff0cf;background:#102f34ed;font:clamp(14px,2cqw,24px)/1.5 serif;padding:1%;}
#intro-caption:empty {display:none;}#intro-play {position:absolute;z-index:7;left:50%;top:40%;transform:translateX(-50%);}
#prologue-cinema.eyes-opening {background:transparent;}
#intro-eyes {position:absolute;inset:0;z-index:3;--lid:50%;}
#intro-eyes i {position:absolute;left:0;right:0;height:var(--lid);background:#000;}
#intro-eyes i:first-child {top:0;}#intro-eyes i:last-child {bottom:0;}
#prologue-motes {position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;}
#prologue-motes i {position:absolute;width:3px;height:3px;border-radius:50%;background:#f6d99c;box-shadow:0 0 7px #f6d99c;animation:fragment-float 6s calc(var(--i)*-.6s) infinite alternate ease-in-out;}
#prologue-motes i:nth-child(4n) {width:6px;height:9px;border-radius:1px;background:#fff3d7;transform:rotate(25deg);}
#prologue-motes i:nth-child(7n) {background:#a8dcd0;}
@keyframes fragment-float {from {translate:0 0;opacity:.3;}to {translate:8px -18px;opacity:.8;}}
#prologue-book {position:absolute;z-index:15;left:61.5%;top:64%;transform:translate(-50%,-100%);padding:1.5% 2.5%;color:#f7e6bd;background:linear-gradient(110deg,#123f3ced,#1c5046ed);border:1px solid #c9ae72;border-radius:3px 12px 12px 3px;box-shadow:inset 5px 0 #c2a56970,0 0 22px #c3e6b75c;text-align:center;pointer-events:none;}
#prologue-book strong,#prologue-book span {display:block;font-family:serif;line-height:1.6;white-space:nowrap;}
#prologue-book strong {font-size:clamp(18px,2.6cqw,34px);}
#prologue-book span {font-size:clamp(13px,1.8cqw,23px);color:#ffe3a2;}
.prologue-active :is(#lushan-world,#lushan-scholar-label,#lushan-focus,#lushan-book,#lushan-discovery,#lushan-journal,#vista-debug,#finale-world,#finale-focus,#finale-fog,#decode-world,#decode-focus,#decode-help,#closing-world,#closing-focus,#market-dusk,.location,#distance,#market-timer,#result) {display:none!important;}
.prologue-active #momo-bubble {top:19%!important;left:70%!important;max-width:45%;}
body:has(.title-active) #reset-confirm {position:fixed;inset:0;z-index:90;}
@media(max-width:600px) and (orientation:portrait) {
  #journey:has(.title-screen) {position:fixed;inset:0;z-index:70;padding:5vw;background-position:57% center;}
  .title-screen {width:100%;max-height:90vh;padding:8% 4%;}
  .title-screen h2 {font-size:27px;line-height:1.5;}
  .title-screen nav {flex-direction:column;margin-top:15px;}
  #journey .title-screen button {min-height:46px;min-width:70%;font-size:17px;}
}
@media(prefers-reduced-motion:reduce) {#prologue-motes i {animation:none;}.title-screen button {transition:none;}}

.prologue-active #interact:not([hidden]) {display:block;border:1px solid #d2b579;box-shadow:inset 0 0 0 2px #143635,inset 0 0 0 3px #bca06a70;background:#163f3be8;color:#f7ead0;}

/* The legacy book card is retained only for old selectors, never rendered. */
#prologue-book {display:none!important;}
body:has(.hub-active) #journey-open {visibility:visible;}
.hub-active #task {max-width:80%;}

.prologue-active :is(#walkable-debug-overlay,#walkable-debug-control) {display:none!important;}
