*{box-sizing:border-box}body{margin:0;background:#101f27;color:#283f40;font-family:"Songti SC","STSong",serif;display:grid;place-items:center;min-height:100vh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #6c88827a;background:#f4ecd9;color:#294e53;padding:.65em 1.1em;border-radius:3px}button:hover{background:#ded6b8}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cf814e;outline-offset:4px}.primary{background:#315e62;color:#fff2d5;border-color:#315e62}.primary:hover{background:#23474b}[hidden]{display:none!important}#stage{width:min(100vw,177.777vh);aspect-ratio:16/9;position:relative;overflow:hidden;background:#eee8d6;font-size:clamp(10px,1.1vw,21px);background-image:radial-gradient(#927d5615 1px,transparent 1px);background-size:5px 5px}header{height:8%;display:flex;align-items:center;justify-content:space-between;padding:0 3%;border-bottom:1px solid #8b99783b}header a{color:#315356;text-decoration:none;letter-spacing:.16em;font-size:1.05em}header span{letter-spacing:.08em;font-size:.75em;margin-left:1.4em}nav{display:flex;gap:.5em}nav button{font-size:.75em}#mapView{height:92%;position:relative}.intro{position:absolute;top:3%;left:4%}.eyebrow{letter-spacing:.18em;font-size:.72em;color:#7c7055}h1{font-weight:500;letter-spacing:.05em;font-size:2em;margin:.4em 0}p{line-height:1.8}.intro>p:last-child{font-size:.86em;margin:.4em 0}#search{position:absolute;right:4%;top:4%;width:30%;z-index:4}label{display:block;font-size:.8em;margin-bottom:.6em}form>div{display:flex;gap:.4em}input{min-width:0;width:100%;border:0;border-bottom:1px solid #789086;background:#f9f3e5;padding:.8em;color:#284b50;border-radius:0}#search button{white-space:nowrap;font-size:.8em}#searchStatus{font-size:.75em;margin:.3em 0}#results{display:block;max-height:17em;overflow:auto;background:#f2ecdbeF;box-shadow:0 10px 20px #183b3c20}#results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #d4d2b8;padding:.8em}#map{position:absolute;top:24%;left:3%;width:94%;height:61%;border:5px solid #d5cfad;box-shadow:0 7px 20px #233e4525;border-radius:48% 3% 4% 3% / 3% 3% 3% 4%;overflow:hidden}#map svg{width:100%;height:100%;display:block}#nodes{position:absolute;inset:0}.node{position:absolute;transform:translate(-50%,-50%);background:#efe8cc;border:2px solid #c5ab7a;border-radius:45% 48% 40% 50%;padding:.65em .8em;font-size:.85em;box-shadow:3px 4px 0 #163d4840;white-space:nowrap}.node small{display:block;font-size:.65em;color:#7f7359}.node:hover{transform:translate(-50%,-50%) scale(1.08)}.node.seen{border-color:#91bba7}.map-note{position:absolute;bottom:3%;left:3%;color:#38595c;letter-spacing:.15em;font-size:.65em}.map-note span{margin-left:1em;opacity:.7}footer{position:absolute;bottom:4%;left:4%;right:4%;display:flex;justify-content:space-between;align-items:center;gap:1em}footer button{font-size:.8em}#extras{display:flex;gap:.45em}#extras button{padding:.55em .65em;background:transparent}#memoryView{height:92%;padding:4%}.book{display:grid;grid-template-columns:55% 45%;height:100%;box-shadow:0 10px 35px #354f4725;background:#f6f0dc;border:1px solid #bdc0a1}.book article{padding:12% 10%;display:flex;flex-direction:column;justify-content:center;position:relative}.book h1{font-size:2.1em}.book article>p:not(.eyebrow){font-size:1.2em;line-height:2}.book-actions{display:flex;gap:.7em;margin-top:2em}.book-actions button{font-size:.8em}#scene{background:#285765;position:relative;overflow:hidden}#scene svg{width:100%;height:100%}#scene::after{content:"";position:absolute;inset:0;background:radial-gradient(#eee7ce20 1px,transparent 1px);background-size:4px 4px;pointer-events:none}#arrivalView{height:92%;display:grid;grid-template-columns:46% 54%;background:linear-gradient(180deg,#dedfc7,#f2ead3)}.arrival-art{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8em;color:#c1934f;background:linear-gradient(180deg,#e4dfbe 45%,#548189 46%,#285a6b);border-radius:0 0 50% 0}.island{font-size:.45em;color:#f2ecd7;background:#899877;padding:.7em;border-radius:50% 45% 0 0;margin-top:.7em}.welcome{padding:12% 10%;align-self:center}.welcome h1{font-size:3.3em}.welcome p{font-size:.95em}#nameForm{margin:2em 0}#nameStatus{min-height:1.8em;color:#936044}#personalView{height:92%;padding:7% 16%;overflow:auto}#personalView h1{font-size:2.4em}#personalView p{font-size:1.15em}#personalView img{max-width:100%}#globalStatus{position:absolute;bottom:0;right:3%;font-size:.7em}section:not([hidden]){animation:unfold .55s ease-out}@keyframes unfold{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}:fullscreen#stage{width:min(100vw,177.777vh);height:min(100vh,56.25vw);margin:auto} #stage::backdrop{background:#101f27} @media(max-width:700px){#stage{font-size:9px}header span{display:none}.intro h1{font-size:1.5em}#search{width:38%}#extras{gap:.2em}.book article{padding:5%}.book h1{font-size:1.6em}}

#memoryText{white-space:pre-line}.book-actions{flex-wrap:wrap}#pageCount{margin:0}#extras button{white-space:nowrap}

#scene.photo-scene{background:#dedbc4;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5%;gap:1em}#scene.photo-scene::after{display:none}.photo-scene>.eyebrow{margin:0;letter-spacing:.25em}.photo-scene figure{margin:0;width:100%;min-height:0}.photo-scene img{display:block;width:100%;max-height:47vh;object-fit:contain;box-shadow:0 6px 18px #243e4528;background:#ebe5d3;border:7px solid #f5eedb}.photo-scene figcaption{text-align:center;font-size:.75em;color:#596f69;margin-top:1em}.photo-actions{display:flex;gap:.5em;justify-content:center;flex-wrap:wrap}.photo-actions button{font-size:.75em}.photo-actions button[aria-pressed=true]{background:#315e62;color:#fff2d5}.return-photos{position:absolute;bottom:4%;left:50%;transform:translateX(-50%);z-index:2;font-size:.8em}

#scene.illustration-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#d9d9bf;padding:3%;gap:1.4em}#scene.illustration-scene::after{display:none}.illustration-scene>img{display:block;width:100%;max-height:58vh;object-fit:contain;box-shadow:0 8px 25px #29474920}.illustration-caption{text-align:center;color:#566d67;font-size:.75em;letter-spacing:.18em;margin:0}.book:has(.illustration-scene){background:#f6eedb}

.arrival-art{position:relative;font-size:1em;overflow:hidden;border-radius:0;background:#d9d9bf;padding:5%;gap:1.5em}.arrival-art img{width:100%;max-height:65vh;object-fit:contain;box-shadow:0 8px 25px #29474920}.arrival-art p{font-size:1em;color:#385b60;letter-spacing:.16em}

.asset-loading{position:absolute;inset:0;z-index:20;background:#eee8d6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2em}.asset-loading h2{font-size:2em;font-weight:500;letter-spacing:.12em;margin:0}.asset-loading progress{width:35%;height:8px;accent-color:#315e62}.asset-loading p{margin:0}.asset-loading>div{display:flex;gap:1em}

/* 归乡之后：舞台始终保持 16:9，以一页一景阅读。 */
#voyageBoat{position:absolute;left:88%;top:21%;width:4%;transform:translate(-50%,-110%);pointer-events:none;filter:drop-shadow(0 3px 2px #173f4a60)}#voyageBoat svg{width:100%;height:auto}
#commonView{height:92%;padding:3% 4%}.common-book{height:100%;display:grid;grid-template-columns:53% 47%;background:#f6eedb;border:1px solid #bcc2a4;box-shadow:0 8px 30px #354f4720}.common-book figure{margin:0;display:grid;place-items:center;background:#d4d7bb;overflow:hidden;padding:3%}.common-book img{width:100%;height:100%;object-fit:contain}.common-book article{padding:8% 9%;display:flex;flex-direction:column;justify-content:center;min-height:0}.common-book h1{font-size:1.85em}.common-book .book-actions{margin-top:1em}.common-book .book-actions button{font-size:.85em}#commonText{white-space:pre-line;font-size:1.18em;line-height:1.85;margin:.5em 0}#commonCount{margin:.4em 0}.welcome-actions{display:flex;gap:.5em;flex-wrap:wrap}.welcome-actions button{font-size:.8em}
#personalView{padding:0;height:92%;overflow:hidden;position:relative;background:#efe8d5}.personal-page{position:absolute;inset:0 0 11%;overflow:hidden;animation:page-ink .65s ease-out}.personal-controls{position:absolute;left:4%;right:4%;bottom:2.8%;display:flex;align-items:center;justify-content:center;gap:1.2em;z-index:8}.personal-controls button{font-size:.85em}.personal-controls .eyebrow{margin:0 auto 0 0}#personalPrev{margin-right:0}.constellation{position:absolute;width:100%;height:100%;inset:0;color:#698d80;opacity:.18;pointer-events:none}.constellation path{stroke:currentColor;stroke-width:2;fill:none;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw-lines 4s ease forwards}.constellation circle{fill:currentColor}
.ritual-content{position:absolute;inset:9% 5% 5%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.ritual-content h1{font-size:2em;margin:.3em 0}.ritual-status{font-size:1.05em;margin:.4em 0}.god-ring{display:flex;justify-content:center;gap:2em;width:100%;margin:2% 0}.god-badge{display:flex;flex-direction:column;align-items:center;color:#6f8779;opacity:0;transform:translateY(12px);width:13%;transition:opacity 1s,transform 1s,color 1s}.god-badge svg{width:5em;height:5em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.god-badge span{font-size:1.03em;letter-spacing:.1em;margin:.5em 0}.god-badge small{font-size:.68em;white-space:nowrap}.god-ring.appeared .god-badge{opacity:.8;transform:none}.answered .god-badge{opacity:.1;transform:scale(.8)}.answered .god-badge.chosen{opacity:1;color:#315f63;transform:scale(1.1)}.god-answer{opacity:0;transition:opacity 1s;margin-top:1em}.god-answer p{margin:.3em 0;font-size:1.12em}.answered .god-answer{opacity:1}.answered .god-badge{transition-delay:0s}.god-ring .god-badge:nth-child(2){transition-delay:.1s}.god-ring .god-badge:nth-child(3){transition-delay:.2s}.god-ring .god-badge:nth-child(4){transition-delay:.3s}.god-ring .god-badge:nth-child(5){transition-delay:.4s}
.memory-card{position:absolute;inset:14% 14%;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center}.memory-card h1{font-size:2.5em;line-height:1.4;margin:.5em 0}.memory-card .narrative{font-size:1.65em;line-height:2;max-width:30em;white-space:pre-line}.memory-card .eyebrow{font-size:.85em}.personal-page.remembered .narrative{font-size:1.5em}
.growing-world{position:absolute;inset:0;clip-path:inset(100% 0 0 0);animation:world-grow 7s cubic-bezier(.2,.7,.3,1) forwards}.growing-world img{width:100%;height:100%;object-fit:cover}.grown .growing-world{clip-path:none;animation:none}.growth-caption{position:absolute;left:0;right:0;bottom:0;padding:8% 6% 3%;color:#fcf5df;background:linear-gradient(transparent,#173e49e8);text-shadow:0 1px 3px #173e49}.growth-caption .eyebrow{color:#efdfb2}.growth-caption h1{font-size:2em}.growth-lines{display:flex;gap:2em}.growth-lines p{font-size:1.05em;max-width:30%;opacity:0;transform:translateY(8px);animation:line-grow 1.2s forwards;animation-delay:calc(1s + var(--beat)*2s)}.grown .growth-lines p{opacity:1;transform:none;animation:none}
.ending-cg{width:100%;height:100%;object-fit:contain;background:#d6d6ba}.cg-title{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,#1c414ee8);padding:6% 5% 2%;color:#fbf0d3;pointer-events:none}.cg-title .eyebrow{color:#f1ddae}.cg-title h1{font-size:2.15em}.egg-toggle{position:absolute;top:3%;right:3%;font-size:.8em;background:#f4ecd9de}.egg-notes{position:absolute;top:12%;right:3%;display:flex;flex-direction:column;gap:.5em;max-width:33%;background:#f4ecd9f2;padding:1em;box-shadow:0 4px 16px #173e4930}.egg-notes span{font-size:.9em;line-height:1.5}.personal-page.story{display:grid;grid-template-columns:48% 52%}.story-art{margin:0;padding:3% 0 3% 5%;display:grid;place-items:center;background:#d8dac0;min-width:0}.story-art img{width:100%;height:100%;object-fit:contain}.story-text{padding:7% 8%;display:flex;flex-direction:column;justify-content:center;min-height:0}.story-text h1{font-size:1.75em;line-height:1.5}.story-text .narrative{font-size:1.27em;line-height:1.9;white-space:pre-line;margin:.5em 0}.keyword-card,.end-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.keyword-card p{font-size:1.55em;letter-spacing:.12em}.keyword-card .the-word{font-size:6.5em;color:#315f63;letter-spacing:.3em;text-indent:.3em;line-height:1.3;margin:.1em 0;animation:word-ink 1.8s ease-out both}.end-card svg{width:5em;height:5em;stroke:#315f63;fill:none;stroke-width:2}.end-card h1{font-size:2.4em}.end-card p{font-size:1.05em;margin:.7em}.end-card .end-mark{font-size:2em;margin:.1em;letter-spacing:.3em;text-indent:.3em}.image-error{position:absolute;inset:30% 10%;z-index:4;background:#eee8d6;color:#294e53;padding:2em;text-align:center}.image-error button{margin:1em}
@keyframes draw-lines{to{stroke-dashoffset:0}}@keyframes page-ink{from{opacity:0}to{opacity:1}}@keyframes world-grow{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}@keyframes line-grow{to{opacity:1;transform:none}}@keyframes word-ink{from{opacity:0;letter-spacing:.6em;filter:blur(5px)}to{opacity:1;letter-spacing:.3em;filter:none}}
@media(prefers-reduced-motion:reduce){#voyageBoat{transition:none}.constellation path{stroke-dashoffset:0}.god-badge{transition:none}.growing-world{clip-path:none}.growth-lines p{opacity:1;transform:none}.keyword-card .the-word{opacity:1;filter:none}}
@media(max-width:700px){.common-book article{padding:5%}.common-book h1{font-size:1.5em}#commonText{font-size:1em}.story-text{padding:4% 6%}.story-text h1{font-size:1.4em}.story-text .narrative{font-size:1.08em}.personal-controls{gap:.5em}.personal-controls button{font-size:.7em}.god-ring{gap:.7em}.ritual-content{inset:4%}.god-badge svg{width:3.5em;height:3.5em}.god-answer p{font-size:.9em}.memory-card{inset:10%}.memory-card h1{font-size:2em}.memory-card .narrative{font-size:1.3em}}

.illustration-scene>img{animation:scene-reveal .8s ease-out both}@keyframes scene-reveal{from{opacity:.15;clip-path:ellipse(5% 5% at 50% 70%)}to{opacity:1;clip-path:ellipse(100% 100% at 50% 50%)}}

.instant .god-badge,.instant .god-answer{transition:none!important}

/* 其余图腾退去，只把回应者留在中央。 */
.answered .god-ring{gap:0}.answered .god-ring .god-badge{width:0;overflow:hidden;opacity:0;transform:scale(.8);transition:width .8s,opacity .8s,transform .8s;transition-delay:0s}.answered .god-ring .god-badge.chosen{width:18%;margin:0 2em;overflow:visible;opacity:1;transform:scale(1.1)}
/* 关键词页也保留导航和翻页控件，鼠标、触屏与键盘均可退出或回看。 */
.keyword-card{cursor:pointer}

#personalView .keyword-card .the-word{font-size:6.5em}#personalView .keyword-card p{font-size:1.55em}

/* 个人书房：神话创作与老师来信分别阅读。 */
footer{gap:.65em}footer #personalEntry{font-size:.76em;white-space:nowrap}#extras{gap:.25em}#extras button{padding:.55em .45em}
#arrivalView .welcome{padding:5% 9%;width:100%}#arrivalView .welcome h1{font-size:2.2em;line-height:1.4}#arrivalView .welcome>p{margin:.6em 0}#nameForm{margin:1.2em 0 .6em}#nameForm label{margin:.65em 0 .35em}#nameForm input{display:block;font-size:.95em;padding:.6em .75em}#nameForm .credential-note{font-size:.68em;color:#6c786c;margin:.6em 0}#nameForm button{font-size:.9em}#nameStatus{font-size:.8em!important;min-height:1.6em;margin:.55em 0}button:disabled{opacity:.65;cursor:wait}
#hubView{height:92%;position:relative;padding:2% 10% 5%;text-align:center;background:radial-gradient(ellipse at 50% 45%,#faf4df,#e4dfc9)}.library-intro h1{font-size:2em}.library-intro p{margin:.4em}.library-books{display:grid;grid-template-columns:1fr 1fr;gap:4%;height:61%;margin-top:2%}.library-book{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65em;background:#315e62;color:#f5ecd2;border:1px solid #b29b67;box-shadow:inset 10px 0 0 #153c4435,4px 7px 0 #d2c9ac;padding:1em}.library-book:hover{background:#284e52}.library-book .eyebrow{color:#dfd2ab}.library-book strong{font-size:2.1em;font-weight:500;letter-spacing:.12em}.library-book>span:not(.eyebrow){line-height:1.7}.library-book .book-symbol{font-size:2.5em;line-height:1!important}.library-book .book-link{font-size:.85em;border-top:1px solid #ddcba85c;padding-top:.6em;width:75%}.report-cover{background:#e8dfc4;color:#385253;box-shadow:inset 10px 0 0 #a9905830,4px 7px 0 #d2c9ac}.report-cover:hover{background:#e0d5b6}.report-cover .eyebrow{color:#776647}.library-exit{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);font-size:.8em;white-space:nowrap}
#reportView{height:92%;position:relative;padding:2% 10% 6%;background:#e8e2cf}.report-heading{text-align:center;height:19%}.report-heading h1{font-size:1.7em;margin:.2em}.report-heading p{margin:.2em;font-size:.8em}#reportScroll{height:81%;overflow-y:auto;overscroll-behavior:contain;background:#fbf6e8;border:1px solid #c1b994;box-shadow:0 6px 24px #344c4020;scrollbar-gutter:stable}#reportBody{padding:3% 8% 6%;font-size:1.04em;line-height:1.95;max-width:62em;margin:auto}#reportBody p{white-space:pre-line;line-height:1.95;margin:1em 0}#reportBody h2{font-size:1.2em;line-height:1.7;margin:1.8em 0 .6em;font-weight:500;color:#315e62}.letter-greeting{font-size:1.1em}.letter-keywords{color:#315e62;background:#e8e9d4;padding:1em;font-size:.95em}.report-controls{position:absolute;bottom:2%;left:10%;right:10%;display:flex;justify-content:center;gap:1em}.report-controls button{font-size:.8em}#personalLibrary{margin-right:0}#personalView .story-text h1{font-size:1.65em}#personalView .story-text .narrative{font-size:1.15em;line-height:1.85}#personalView .story-text{padding:4% 7%}
@media(max-width:700px){
 #stage[data-private]{width:100vw;height:100dvh;aspect-ratio:auto;font-size:15px}
 #stage[data-private] header{height:60px;padding:0 4%;font-size:13px}
 #stage[data-private] #arrivalView{height:calc(100% - 60px);grid-template-columns:1fr;overflow:auto;display:block}
 #stage[data-private] .arrival-art{display:none}
 #stage[data-private] #arrivalView .welcome{padding:7% 8%}
 #stage[data-private] #arrivalView .welcome h1{font-size:1.8em}
 #stage[data-private] #hubView{height:calc(100% - 60px);padding:5% 6% 75px;overflow:auto}
 .library-intro h1{font-size:1.65em}.library-intro p{font-size:.85em}
 .library-books{height:auto;gap:20px;margin-top:25px;grid-template-columns:1fr}
 .library-book{min-height:210px;gap:.35em}.library-book strong{font-size:1.6em}.library-book .book-symbol{font-size:1.7em}
 .library-exit{position:static;transform:none;margin-top:28px}
 #stage[data-private] #reportView{height:calc(100% - 60px);padding:15px 4% 75px}
 .report-heading{height:100px}.report-heading h1{font-size:1.5em}#reportScroll{height:calc(100% - 100px)}
 #reportBody{padding:6% 7%;font-size:1em}.report-controls{left:3%;right:3%;bottom:16px;gap:.4em}.report-controls button{font-size:.72em;padding:.7em}
 #stage[data-private] #personalView{height:calc(100% - 60px)}
 .personal-controls{left:3%;right:3%;gap:.4em;flex-wrap:wrap;bottom:16px}.personal-controls button{font-size:.7em;padding:.65em}.personal-controls .eyebrow{font-size:.65em}
 .personal-page{bottom:100px}.personal-page.story{display:flex;flex-direction:column;overflow:auto}
 .story-art{flex:0 0 140px;height:140px;padding:10px}.story-art img{height:120px}
 #personalView .story-text{padding:18px 7%;display:block}#personalView .story-text h1{font-size:1.5em}#personalView .story-text .narrative{font-size:1.05em;line-height:1.9}
 .god-badge small{white-space:normal}.answered .god-ring .god-badge.chosen{width:35%;margin:0 .6em}
 .growth-caption{padding:10% 6% 4%}.growth-lines{display:block}.growth-lines p{max-width:none;font-size:1em}
 #personalView .keyword-card .the-word{font-size:4em}.keyword-card p{font-size:1.1em!important}
}

#mobileRoute,.mobile-private-entry{display:none}
/* 手机整站：保留桌面舞台，窄屏改为竖向阅读与可触按的航线。 */
@media(max-width:760px), (max-width:960px) and (max-height:600px) and (pointer:coarse){
 body{display:block;min-height:100dvh;background:#eee8d6}
 #stage,#stage[data-private],:fullscreen#stage{--header-height:calc(60px + env(safe-area-inset-top,0px));width:100%;height:100dvh;aspect-ratio:auto;font-size:16px;overflow:hidden;margin:0}
 header,#stage[data-private] header{height:var(--header-height);padding:env(safe-area-inset-top,0px) 16px 0;gap:8px;font-size:13px}
 header span{display:none}header a{white-space:nowrap}nav{gap:6px}nav button{min-height:44px;font-size:12px;padding:8px 10px}
 button{touch-action:manipulation;min-height:44px}input{font-size:16px!important;min-height:46px}label{font-size:14px}
 #mapView{height:calc(100% - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding:20px 18px calc(30px + env(safe-area-inset-bottom,0px))}
 .intro{position:static}.intro .eyebrow{font-size:11px;letter-spacing:.13em}.intro h1{font-size:26px;line-height:1.45;margin:12px 0}.intro>p:last-child{font-size:15px;margin:0}
 #search{position:static;width:100%;margin:23px 0 16px}#search>div:first-of-type{gap:8px}#search button{font-size:13px;padding:9px 12px}#searchStatus{font-size:13px;line-height:1.6}#results{max-height:240px}#results button{font-size:14px;line-height:1.6;min-height:48px}
 #map{display:none}
 .mobile-private-entry{display:flex;flex-direction:column;align-items:flex-start;width:100%;gap:6px;background:#315e62;color:#faf0d8;padding:18px 20px;box-shadow:3px 4px 0 #c9c2a7;margin:16px 0 28px;text-align:left}.mobile-private-entry:hover{background:#284f53}.mobile-private-entry strong{font-size:19px;font-weight:500}.mobile-private-entry span{font-size:13px;opacity:.9}
 #mobileRoute{display:flex;flex-direction:column;position:relative;gap:12px;padding:4px 0 12px}#mobileRoute::before{content:'';position:absolute;left:28px;top:0;bottom:0;border-left:2px dashed #9bac9b;pointer-events:none}
 .mobile-stop{display:flex;align-items:center;gap:15px;text-align:left;position:relative;padding:14px 15px;background:#f6f0df;border:1px solid #c4bba0;box-shadow:2px 3px 0 #ddd4b9;min-height:78px}.mobile-stop .stop-number{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;color:#f7efda;background:#50767a;font-size:12px;z-index:1}.stop-info{flex:1;min-width:0}.stop-info small{display:block;color:#7a715a;font-size:11px;letter-spacing:.1em;margin-bottom:5px}.stop-info strong{display:block;font-weight:500;font-size:17px;line-height:1.5}.mobile-stop>span:last-child{color:#6b8276}
 footer{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}footer button,footer #personalEntry{font-size:14px;padding:11px}#extras{grid-column:1/-1;grid-row:2;display:flex;gap:8px;flex-wrap:wrap}#extras button{flex:1;font-size:13px;min-height:44px;padding:9px 5px}footer #personalEntry{grid-column:1/-1;white-space:normal}
 #memoryView,#commonView{height:calc(100% - var(--header-height));overflow-y:auto;overscroll-behavior:contain;padding:16px 12px calc(18px + env(safe-area-inset-bottom,0px))}
 .book,.common-book{display:flex;flex-direction:column;height:auto;min-height:100%;overflow:visible;box-shadow:0 5px 16px #354f4715}
 #scene{min-height:210px;flex-shrink:0}#scene:not(.photo-scene):not(.illustration-scene){height:260px}#scene svg{display:block;max-height:260px}
 #scene.illustration-scene{padding:12px;gap:10px}.illustration-scene>img{max-height:38dvh;width:100%;height:auto;min-height:160px;object-fit:contain}.illustration-caption{font-size:11px;letter-spacing:.1em;line-height:1.6}
 #scene.photo-scene{padding:16px 12px;gap:12px}.photo-scene>.eyebrow{font-size:11px}.photo-scene img{max-height:42dvh;border-width:5px;width:100%}.photo-scene figcaption{font-size:12px;margin-top:10px}.photo-actions{gap:6px}.photo-actions button{font-size:13px;padding:9px 12px;min-height:44px}
 .book article,.common-book article{display:block;padding:22px 22px 14px;min-width:0}.book h1,.common-book h1{font-size:24px;line-height:1.5;overflow-wrap:anywhere}.book .eyebrow,.common-book .eyebrow{font-size:11px;line-height:1.8}.book article>p:not(.eyebrow),#commonText{font-size:17px;line-height:1.95;overflow-wrap:anywhere;margin:16px 0}#pageCount,#commonCount{font-size:12px;margin:18px 0 8px}
 .book-actions,.common-book .book-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px;padding:10px 0}.book-actions button,.common-book .book-actions button{font-size:14px;min-height:44px;padding:9px 13px}
 .common-book figure{padding:12px;min-height:200px;flex-shrink:0}.common-book img{width:100%;height:auto;max-height:36dvh;object-fit:contain}
 #arrivalView,#stage[data-private] #arrivalView{height:calc(100% - var(--header-height));display:block;overflow-y:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
 .arrival-art,#stage[data-private] .arrival-art{display:none}#arrivalView .welcome,#stage[data-private] #arrivalView .welcome{padding:30px 24px}.welcome h1,#arrivalView .welcome h1,#stage[data-private] #arrivalView .welcome h1{font-size:28px;line-height:1.5}.welcome>p{font-size:16px}#nameForm label{font-size:14px;margin:16px 0 8px}#nameForm input{padding:12px}#nameForm button{font-size:16px;min-height:46px}#nameForm .credential-note{font-size:12px}#nameStatus{font-size:14px!important}.welcome-actions{margin-top:22px;gap:8px}.welcome-actions button{font-size:13px;padding:10px}
 #hubView,#stage[data-private] #hubView{height:calc(100% - var(--header-height));padding:24px 20px calc(30px + env(safe-area-inset-bottom,0px));overflow-y:auto}.library-intro h1{font-size:25px;line-height:1.5}.library-intro .eyebrow{font-size:11px}.library-intro p{font-size:15px}.library-books{grid-template-columns:1fr;height:auto;gap:20px;margin-top:24px}.library-book{min-height:235px;padding:20px;gap:8px}.library-book strong{font-size:27px}.library-book .eyebrow{font-size:11px}.library-book>span{font-size:15px}.library-book .book-symbol{font-size:30px}.library-book .book-link{font-size:14px}.library-exit{position:static;transform:none;display:block;margin:28px auto 0;white-space:normal;font-size:14px;min-height:44px}
 #reportView,#stage[data-private] #reportView{height:calc(100% - var(--header-height));padding:16px 12px calc(82px + env(safe-area-inset-bottom,0px))}.report-heading{height:100px}.report-heading h1{font-size:23px;line-height:1.5}.report-heading .eyebrow{font-size:11px}.report-heading>p{font-size:13px}#reportScroll{height:calc(100% - 100px);-webkit-overflow-scrolling:touch}#reportBody{font-size:16px;padding:16px 22px 30px}#reportBody h2{font-size:19px}.letter-greeting{font-size:17px}.letter-keywords{font-size:14px;overflow-wrap:anywhere}.report-controls{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:6px}.report-controls button{flex:1;font-size:12px;line-height:1.5;padding:8px 5px;min-height:44px}
 #personalView,#stage[data-private] #personalView{height:calc(100% - var(--header-height));display:flex;flex-direction:column;overflow:hidden}
 .personal-page{position:relative;inset:auto;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
 .personal-controls{position:relative;left:auto;right:auto;bottom:auto;flex-shrink:0;padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px));gap:8px;display:flex;flex-wrap:wrap;background:#efe8d5;border-top:1px solid #b6bda04f}.personal-controls button{font-size:13px;min-height:44px;padding:8px 12px}.personal-controls .eyebrow{font-size:11px;order:-1;flex-basis:100%;text-align:center;margin:0}.personal-controls #personalNext,.personal-controls #another{margin-left:auto}
 .ritual-content{position:relative;inset:auto;min-height:100%;padding:24px 18px;justify-content:center}.ritual-content .eyebrow{font-size:11px}#personalView .ritual-content h1{font-size:25px;line-height:1.6}.ritual-status{font-size:15px!important}.god-ring{gap:6px;margin:20px 0}.god-badge{width:18%;min-width:0}.god-badge svg{width:38px;height:38px}.god-badge span{font-size:12px}.god-badge small{font-size:10px;white-space:normal}.answered .god-ring .god-badge.chosen{width:35%;margin:0 10px}.god-answer{margin:16px 0}#personalView .god-answer p{font-size:16px;line-height:1.9}
 .personal-page.story{display:block;overflow:auto}.story-art{height:auto;max-height:230px;padding:12px}.story-art img{width:100%;height:200px;max-height:26dvh;object-fit:contain}#personalView .story-text{display:block;padding:22px 24px 30px}#personalView .story-text .eyebrow{font-size:11px}#personalView .story-text h1{font-size:25px;line-height:1.5}#personalView .story-text .narrative{font-size:17px;line-height:1.95;white-space:pre-line}
 .growth-caption{padding:40px 20px 18px}.growth-caption .eyebrow{font-size:11px}#personalView .growth-caption h1{font-size:25px;line-height:1.5}.growth-lines{display:block}.growth-lines p{max-width:none;font-size:15px!important;line-height:1.8;margin:8px 0}.ending-cg{height:100%;width:100%;object-fit:contain}.cg-title{padding:40px 20px 20px}.cg-title .eyebrow{font-size:11px}#personalView .cg-title h1{font-size:26px;line-height:1.5}.egg-toggle{font-size:12px;max-width:80%;min-height:44px}.egg-notes{top:70px;right:12px;max-width:80%;font-size:14px}
 #personalView .keyword-card .the-word{font-size:64px;line-height:1.5}#personalView .keyword-card p{font-size:18px;letter-spacing:.05em}#personalView .end-card h1{font-size:26px}.end-card{padding:20px}#personalView .end-card p{font-size:16px}
 .asset-loading{position:fixed;inset:0;padding:25px;text-align:center}.asset-loading h2{font-size:25px;line-height:1.5}.asset-loading p{font-size:15px}.asset-loading progress{width:75%}.asset-loading>div{flex-wrap:wrap;justify-content:center}#globalStatus{font-size:12px;max-width:90%}
}
@media(max-width:360px){.intro h1{font-size:23px}#search button{padding:8px}.personal-controls{gap:5px}.personal-controls button{font-size:12px;padding:8px}.report-controls button{font-size:11px}.book article,.common-book article{padding-left:18px;padding-right:18px}#personalView .story-text{padding-left:20px;padding-right:20px}}
