@charset "UTF-8";
@font-face{font-family:PilgrimSerif;src:url('./assets/fonts/NanumMyeongjo-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--pine:#142c26;--deep:#10241f;--ink:#273e34;--muted:#67776e;--paper:#f5f5ee;--white:#fff;--line:#d9dfd4;--gold:#d6b580;--gold-dark:#8d6a34;--serif:PilgrimSerif,'Batang',serif;--sans:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--deep);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{line-height:1.8}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-weight:400;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:break-word}h1,h2{font-family:var(--serif)}button,p{word-break:keep-all;overflow-wrap:break-word}small{font-size:.75rem}.icon{width:21px;height:21px;flex-shrink:0;display:block}.eyebrow{display:none}::selection{color:#10241f;background:#d9c298}*{scrollbar-width:thin;scrollbar-color:#829284 #e6eae0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #bb8f4a;outline-offset:5px}main:focus{outline:none}button,a,summary{transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s}button:not(:disabled):active{transform:translateY(1px)}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);padding:16px;z-index:100}.skip:focus{top:10px}
/* The shell is a game HUD, not a site navigation bar. */
.header{position:absolute;top:0;left:0;right:0;height:94px;padding:0 36px;display:flex;align-items:center;gap:28px;z-index:30;color:#edf1e8;pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand-mark{width:34px;height:42px;color:var(--gold);display:block}.brand-mark svg{width:100%;height:100%}.brand>span:last-child{font-family:var(--serif);font-size:1.22rem;letter-spacing:.04em}.brand small{font-family:var(--sans);display:block;font-size:.54rem;letter-spacing:.19em;margin-top:7px;color:#c2cec2}.header nav{display:flex;align-items:center;gap:5px;margin-left:auto;background:#10241fbf;backdrop-filter:blur(14px);border:1px solid #d6e0d31f;border-radius:12px;padding:5px}.nav{min-height:46px;padding:10px 18px;font-size:.84rem;border-radius:8px;color:#d6e1d5}.nav small{display:none}.nav:hover,.nav.active{background:#e7eddf17;color:#fff}.utilities{display:flex;align-items:center;gap:7px}.utilities button{display:flex;align-items:center;gap:7px;min-height:46px;padding:10px 12px;background:#10241fbf;border:1px solid #d6e0d31f;border-radius:10px;font-size:.82rem;backdrop-filter:blur(14px)}.utilities button:hover{background:#29463a}.utilities .utility-label{font-size:.72rem}.utilities #text-size{font-size:1rem}.utilities #text-size>span[aria-hidden]{font-size:.65rem;margin-left:-5px}body:not([data-view=home]):not([data-view=scene]) .header{position:relative;background:var(--pine)}.footer{display:flex;align-items:center;gap:25px;padding:30px 6%;color:#c1cbbd;background:var(--pine);font-size:.75rem}.footer-brand{font-family:var(--serif);font-size:1.05rem}.footer p{margin:0;line-height:1.6}.footer p span{display:block;font-size:.65rem;color:#a6b8a6}.footer button{margin-left:auto;font-size:.75rem;min-height:44px}.footer>small{font-size:.65rem}body[data-view=home] .footer,body[data-view=scene] .footer{display:none}
/* Fullscreen world map and its game menus. */
body[data-view=home]{overflow:hidden}.game-atlas{height:100dvh;min-height:640px;position:relative;overflow:hidden;background:#172e2b;color:#eef1e7}.game-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 28% 38%,#4d6b593b,transparent 65%);pointer-events:none}.game-map-stage{position:absolute;inset:0 370px 0 0}.game-map-stage>canvas{display:block;width:100%;height:100%;outline:none}.game-atlas:after{content:"";position:absolute;inset:0;background:linear-gradient(#10241f88,transparent 24%,transparent 75%,#10241fbb);pointer-events:none}.map-corner-title{position:absolute;top:128px;left:42px;pointer-events:none;z-index:2}.map-corner-title h1{font-size:clamp(1.7rem,2.3vw,2.4rem);line-height:1.6;color:#e9ecdf;margin:0 0 13px;font-family:var(--serif)}.map-corner-title p{font-size:.73rem;color:#becbbc;line-height:1.8;margin:0}.game-map-toolbar{position:absolute;z-index:4;top:118px;right:407px;display:flex;align-items:center;gap:20px}.game-map-toolbar>span{font-size:.78rem;color:#d5decf}.game-map-toolbar>span small{font-size:.58rem;display:block;margin-top:4px;color:#9fb29f}.atlas-view-switch{display:flex;gap:3px;border:1px solid #c9d9bd35;background:#10241fa6;border-radius:8px;padding:4px;backdrop-filter:blur(12px)}.atlas-view-switch button{min-height:40px;padding:8px 13px;font-size:.72rem;color:#cbd8c5;border-radius:5px}.atlas-view-switch button[aria-pressed=true]{background:#d3dec719;color:#fff}.atlas-view-switch button:hover{background:#d3dec72a}.world-loading{display:grid;align-content:center;justify-items:center;width:100%;height:100%;font-family:var(--serif);font-size:1.2rem;color:#dbe6d5;gap:14px}.world-loading small{font-family:var(--sans);font-size:.68rem;letter-spacing:.1em;color:#b1c0ad}.world-stop{position:absolute;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;color:#f1f1df;min-height:42px;padding:5px 11px 5px 5px;border:1px solid #d7c79a36;background:#153329d9;border-radius:8px;box-shadow:0 4px 12px #10241f22;white-space:nowrap;font-size:.77rem}.world-stop:hover{background:#315240;border-color:#d8c19099}.world-stop.selected{background:#ecebd9;color:#293e2d;border-color:#efe4c5;box-shadow:0 6px 20px #10241f30}.world-stop .stop-number{border:1px solid #d7c79a77;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:.62rem;color:#dcc69b;background:#244533}.world-stop.selected .stop-number{color:#fff4db;background:#55744c;border-color:#55744c}.stop-number .icon{width:16px;height:16px}.world-stop .stop-name{font-weight:500}.world-stop:not(:disabled):active{transform:translate(-50%,-50%)}.map-exploration-note{position:absolute;bottom:105px;left:40px;display:flex;gap:12px;align-items:center;font-size:.76rem;color:#e1e6d7;z-index:2;pointer-events:none}.map-exploration-note>.icon{color:var(--gold);width:26px;height:26px}.map-exploration-note small{display:block;font-size:.64rem;color:#a7bba5;margin-top:8px}.game-chapters{position:absolute;bottom:28px;left:40px;right:408px;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px;border:1px solid #c9d9bd28;border-radius:12px;background:#10241fd9;backdrop-filter:blur(16px)}.game-chapters button{min-height:58px;padding:10px 8px;border-radius:7px;color:#c7d5c1;font-size:.78rem}.game-chapters button.active{background:#d1ddc519;color:#fff0cb}.game-chapters button:hover{background:#d1ddc526}.game-chapters button small{display:block;font-size:.59rem;color:#91a88e;margin-top:6px}.game-chapters button.active small{color:#c7c5a8}.map-scale-note{position:absolute;bottom:11px;right:34px;font-size:.56rem;letter-spacing:.02em;color:#9fb39f;z-index:2}.game-route-list{display:none;position:absolute;z-index:5;top:185px;bottom:118px;left:42px;right:408px;background:#17362fe8;padding:8px 24px;border:1px solid #c8d7bf25;border-radius:12px;overflow:auto;backdrop-filter:blur(18px)}.game-atlas[data-mode=list] .game-route-list{display:block}.game-atlas[data-mode=list] .world-stop{display:none}.atlas-list-item{display:flex;align-items:center;gap:18px;width:100%;min-height:69px;padding:14px 5px;text-align:left;border-bottom:1px solid #d0dfc51c}.atlas-list-item:last-child{border:0}.list-order{font-family:var(--serif);font-size:1.15rem;color:#bdc9ad;width:33px}.atlas-list-item strong{font-size:.92rem;font-weight:400}.atlas-list-item small{font-size:.65rem;display:block;margin-top:6px;color:#a5b9a4}.list-status{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:.65rem;color:#b7cbae}.list-status .icon{width:17px;height:17px}.atlas-list-item:hover,.atlas-list-item.selected{color:#fff1d1}.atlas-list-item.selected .list-order{color:#ebcf9d}.map-fallback{position:absolute;inset:160px 30px auto;text-align:center;font-size:.9rem;color:#e5e7d7;line-height:2}
/* Place preview: the map's destination menu. */
.game-place-detail{position:absolute;z-index:6;right:30px;top:112px;bottom:73px;width:330px;border-radius:14px;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 15px 50px #061b1733}.place-photograph{height:170px;position:relative;overflow:hidden;background:#324b3c}.place-photograph img{width:100%;height:100%;object-fit:cover}.photo-count{position:absolute;left:20px;bottom:17px;font-size:1.8rem;font-family:var(--serif);color:#fff8e8;text-shadow:0 2px 10px #142a20}.photo-count>span{font-family:var(--sans);font-size:.65rem;margin-left:8px;opacity:.8}.place-description{padding:23px 23px 17px}.place-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}.place-heading h3{font-family:var(--serif);font-size:1.75rem;margin:0 0 8px;line-height:1.4}.place-heading p{font-size:.68rem;margin:0;color:var(--muted)}.availability{font-size:.61rem;color:#607253;display:flex;align-items:center;gap:4px;white-space:nowrap;margin-top:9px}.availability .icon{width:12px;height:12px}.place-story{font-size:.82rem;color:#536854;line-height:1.9;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.place-moments{list-style:none;padding:15px 0;margin:0 0 12px;border-top:1px solid #d7dece;display:grid;gap:12px;font-size:.77rem;color:#435b43}.place-moments li{display:flex;align-items:center;gap:10px}.place-moments li>span{font-size:.57rem;color:#8b977c;min-width:17px}.place-save-note{font-size:.61rem;text-align:center;color:#6b7b61;line-height:1.7;margin:12px 0 0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:55px;padding:14px 21px;border-radius:8px;background:var(--pine);color:#f2f0df;border:1px solid transparent;line-height:1.45;font-size:.9rem;text-align:left}.btn small{display:block;font-size:.64rem;font-weight:400;margin-top:5px;color:#bac9b8;line-height:1.4}.btn>.icon{width:20px;height:20px}.btn:hover{background:#294b39}.btn.secondary{background:transparent;color:var(--ink);border-color:#b5c2aa}.btn.secondary small{color:var(--muted)}.btn.secondary:hover{background:#e5ecde}.btn.light{background:#eae7d6;color:#1f3c2a}.btn.light small{color:#536b50}.place-description .btn{width:100%;margin-top:8px}.text-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;font-size:.8rem;text-decoration:underline;text-underline-offset:6px;color:#476044}.text-link .icon{width:17px;height:17px}
/* Fullscreen place, walking HUD and three activity controls. */
body[data-view=scene]{overflow:hidden}.scene-page{position:relative;height:100dvh;min-height:600px;background:var(--deep);color:#f0f1e5;overflow:hidden}.landscape{position:absolute;inset:0;overflow:hidden}.scene-panorama,.scene-image{width:100%;height:100%;object-fit:cover;display:block}.world{position:absolute;inset:0;display:none}.world canvas{display:block;width:100%;height:100%}.landscape[data-mode=walk] .world{display:block}.landscape[data-mode=walk]>.scene-panorama{visibility:hidden}.scene-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#10241fba,transparent 37%,transparent 58%,#10241fc9);pointer-events:none;z-index:2}.scene-top{position:absolute;left:38px;top:118px;right:36px;z-index:5;pointer-events:none}.scene-top>*{pointer-events:auto}.back{display:inline-flex;gap:9px;align-items:center;min-height:44px;font-size:.73rem;color:#e1e6d5;padding:0}.back .icon{width:18px;height:18px}.scene-heading{margin-top:15px}.scene-heading h1{font-family:var(--serif);font-size:2.7rem;margin:0 0 13px;color:#fff5dd}.scene-heading>span{font-size:.72rem;color:#c4d2bc}.scene-mode-switch{position:absolute;right:0;top:0;display:flex;gap:4px;padding:5px;background:#10241fd9;border:1px solid #cfdec329;border-radius:10px;backdrop-filter:blur(15px)}.scene-mode-switch button{display:flex;gap:7px;align-items:center;min-height:42px;padding:9px 14px;font-size:.74rem;color:#bfd0b8;border-radius:6px}.scene-mode-switch button[aria-pressed=true]{color:#fff0cf;background:#d1ddc51c}.scene-mode-switch .icon{width:18px;height:18px}.scene-photo-caption{position:absolute;right:40px;bottom:248px;z-index:3;text-align:right;font-family:var(--serif);font-size:1.2rem;color:#eeeedb;pointer-events:none}.scene-photo-caption small{font-family:var(--sans);display:block;color:#b6c7ae;font-size:.57rem;margin-top:10px}.landscape[data-mode=walk] .scene-photo-caption{display:none}.scene-bar{position:absolute;left:38px;right:38px;bottom:155px;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:15px}.lanterns{display:flex;align-items:center;gap:10px;color:#82987b}.lanterns>span{width:28px;height:34px;display:grid;place-items:center}.lanterns .icon{width:25px;height:30px}.lanterns .on{color:#f0ce8e}.lanterns>small{font-size:.65rem;color:#c0ceb5;margin-left:6px}.scene-tools{display:flex;gap:7px;background:#10241fce;padding:5px;border:1px solid #c7d9bd24;border-radius:10px;backdrop-filter:blur(16px)}.scene-tools button{display:flex;align-items:center;gap:7px;min-height:42px;font-size:.71rem;padding:8px 12px;border-radius:6px;color:#d9e2cf}.scene-tools button:hover{background:#dae3d420;color:#fff}.scene-tools .icon{width:17px;height:17px}.scene-tools small{display:none}.world-instructions{position:absolute;bottom:230px;left:38px;font-size:.66rem;line-height:1.8;color:#c1d0b5;z-index:5;max-width:430px}.scene-guidance{position:absolute;bottom:27px;left:38px;right:38px;z-index:7;display:grid;grid-template-columns:1fr;gap:0}.scene-guidance>section:first-child{display:none}.action-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding:0;margin:0;list-style:none}.action-list button{width:100%;min-height:91px;display:flex;align-items:center;gap:17px;text-align:left;padding:19px 22px;border:1px solid #c3d5b746;border-radius:11px;color:#e8eddd;background:#173a2eed;box-shadow:0 8px 25px #061b1726;backdrop-filter:blur(18px)}.action-list button:hover{background:#2e503c;border-color:#d5c9a278}.action-list button.done{border-color:#ccbe8d8c;background:#294c34ef}.action-number{font-family:var(--serif);font-size:1.8rem;color:#a7b79a;line-height:1}.action-list strong{font-size:.95rem;font-weight:400}.action-list small{font-size:.64rem;color:#acbda1;display:block;margin-top:8px}.action-list .check{margin-left:auto;display:block;border:1px solid #adc1a26b;width:24px;height:24px;border-radius:50%;font-size:0;position:relative;flex-shrink:0}.action-list .check:before,.action-list .check:after{content:"";position:absolute;width:8px;height:1px;background:#bac7ae;top:11px;left:7px}.action-list .check:after{transform:rotate(90deg)}.action-list .done .check{background:#d9c69c;border-color:#d9c69c}.action-list .done .check:before{width:8px;height:4px;border-left:1.5px solid #27452e;border-bottom:1.5px solid #27452e;background:none;transform:rotate(-45deg);top:8px;left:7px}.action-list .done .check:after{display:none}.scene-guidance .helper{margin:10px 0 0;text-align:right;font-size:.58rem;color:#a9bca1}.hotspot{position:absolute;z-index:3;transform:translate(-50%,-50%);background:#15392be8;color:#eef1dd;min-height:43px;padding:10px 15px;border:1px solid #d9d1aa7a;border-radius:8px;box-shadow:0 5px 18px #10241f22;font-size:.73rem;white-space:nowrap}.hotspot:hover{background:#3b5b3b;color:#fff}.hotspot.complete{background:#3d5936;color:#f8e7bc}.hotspot:not(:disabled):active{transform:translate(-50%,-50%)}.intro-overlay{position:absolute;inset:0;z-index:8;background:linear-gradient(90deg,#10241fe0,#10241f6b 65%,#10241f38);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:80px 9% 140px;color:#f4f0dd}.intro-overlay h2{font-family:var(--serif);font-size:clamp(1.7rem,3.1vw,2.9rem);line-height:1.6;max-width:680px;margin:0 0 23px}.intro-overlay>p{font-size:1.05rem;line-height:2;max-width:630px;color:#dbe2cd}.intro-overlay details{max-width:630px;border-color:#dbe2cd33;padding:8px 0;font-size:.76rem;color:#b5c7ab}.intro-overlay summary{min-height:36px}.intro-overlay details p{font-size:.85rem;color:#dbe2cd}.intro-source,.verse-reference{display:block;font-size:.75rem;color:#d6c39b;margin-top:18px}.intro-skip{position:absolute;right:38px;bottom:250px;z-index:9;background:#e8e3d0;color:#274232;border-radius:8px;padding:14px 20px;display:flex;align-items:center;gap:15px;min-height:59px;font-size:.86rem}.intro-skip small{display:none}.intro-skip .icon{width:18px;height:18px}.verse-overlay .arrival-verse{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,2.1rem);line-height:1.9;color:#fbf1db;max-width:840px;margin-top:22px}.verse-overlay .btn{margin-top:22px;min-width:250px}.scene-preview{position:absolute;top:208px;right:36px;z-index:6;max-width:340px;font-size:.73rem}.preview-banner{padding:15px 17px;background:#e6ddc7;color:#675132;border-radius:8px;font-size:.8rem;line-height:1.8}.preview-banner small{display:block;font-size:.66rem;margin-top:5px}.immersive .header,.immersive .scene-top,.immersive .world-instructions{display:none}.immersive .scene-page{height:100dvh}.immersive .scene-bar{bottom:145px}.immersive .scene-guidance{bottom:20px}
/* Dialogs and reading tools share the game world's quiet materials. */
dialog{border:0;border-radius:16px;background:var(--paper);color:var(--ink);width:calc(100% - 40px);max-width:560px;max-height:90dvh;padding:0;box-shadow:0 26px 100px #041b1766}dialog::backdrop{background:#071d16b8;backdrop-filter:blur(6px)}.dialog-content{padding:38px}.dialog-close{position:absolute;right:12px;top:12px;min-width:42px;height:42px;display:grid;place-items:center;background:#f7f7efe8;border:1px solid #dce2d4;border-radius:50%;z-index:5;color:#38523c}.dialog-close:hover{background:white}.dialog-close .icon{width:19px;height:19px}.dialog-content h2{font-family:var(--serif);font-size:1.95rem;line-height:1.5;margin-bottom:18px;padding-right:20px}.dialog-content h2 small{display:block;font-family:var(--sans);font-size:.76rem;letter-spacing:0;color:var(--muted);margin-top:9px}.dialog-content p{font-size:.93rem;color:#546c55;line-height:1.95}.dialog-content .btn{width:100%;margin-top:13px;justify-content:center;text-align:center}.dialog-content .btn .icon{margin-left:auto}.dialog-content .btn.secondary{margin-top:10px}.dialog-content .helper{font-size:.68rem}.place-dialog{max-width:850px;overflow:auto}.place-dialog .dialog-content{padding:0;position:relative;min-height:510px}.dialog-landscape{position:absolute;inset:0 56% 0 0;background:#33523e;overflow:hidden}.dialog-landscape img{height:100%;width:100%;object-fit:cover}.dialog-landscape:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#10241fbb)}.dialog-landscape>span{position:absolute;bottom:28px;left:27px;color:#fff0ce;font-size:.72rem;z-index:2}.dialog-reading{margin-left:44%;padding:39px 33px}.dialog-reading h2{font-size:2.1rem}.dialog-reading>p{font-size:.86rem}.dialog-reading .btn{justify-content:space-between;text-align:left}.action-visual{height:105px;display:grid;place-items:center;background:#e8eddf;border-radius:11px;margin:22px 0;color:#769065}.action-symbol .icon{width:58px;height:58px;stroke-width:1}.action-visual.activated{background:#e5e8d3;color:#a78345}.action-visual.activated .action-symbol{animation:small-light 1.1s ease-out}.optional-note{display:block;width:100%;min-height:100px;border:1px solid #bdcbb5;border-radius:8px;padding:13px;background:#fffef8;color:var(--ink);resize:vertical;caret-color:#647c51}.field-label{display:block;font-size:.8rem;margin-bottom:10px}.story-en{font-size:.79rem;color:var(--muted);line-height:1.9}.helper{font-size:.7rem;color:var(--muted);line-height:1.9}.verse-box{border-top:1px solid #bdcdb1;padding:24px 0 4px;margin-top:28px}.verse-box p{font-family:var(--serif);font-size:1.05rem;line-height:2}.verse-box cite{font-size:.72rem;color:var(--muted);font-style:normal}.completion-inline{padding:25px;background:#e6eddc;border-radius:11px;margin:22px 0}.completion-inline h3{font-size:1.2rem;font-family:var(--serif);margin-bottom:10px}.completion-inline p{font-size:.83rem}.completion-inline .btn{margin-top:8px}.completion-inline .text-link{display:block;margin-top:10px}.reading-page{max-width:1000px;margin:38px auto 50px;padding:42px 55px 55px;background:var(--paper);border-radius:16px;box-shadow:0 20px 70px #0a211d22}.reading-page h1{font-family:var(--serif);font-size:2.65rem;line-height:1.55;margin-bottom:25px}.reading-page>p{font-size:.94rem;color:#596f58;max-width:72ch}.reading-page h2{font-family:var(--serif);font-size:1.5rem;margin-top:38px;margin-bottom:18px}.guide-steps{margin:35px 0;display:grid;gap:0;border-top:1px solid var(--line)}.guide-steps article{padding:25px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:50px 190px 1fr;align-items:start;gap:20px}.guide-steps article>b{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:#859473}.guide-steps h2{font-family:var(--sans);font-size:.95rem;line-height:1.8;margin:0}.guide-steps p{font-size:.82rem;line-height:1.9;color:var(--muted);margin:0}.guide-steps span[lang=en]{font-size:.72rem;color:#74816a}.settings-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:25px 0}.settings-row label{font-size:.8rem}.settings-row .btn{font-size:.8rem}.settings-row select{min-height:48px;border:1px solid #b8c7ac;padding:10px 13px;border-radius:8px;color:var(--ink);background:#fffef7}details{padding:19px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:40px;line-height:1.9;font-size:.83rem;color:#4c6747;list-style-position:outside}details p{font-size:.87rem;color:var(--muted);line-height:1.9;margin:14px 0 0}.journal-summary{display:flex;align-items:center;gap:27px;margin:35px 0;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.journal-summary>b{font-family:var(--serif);font-size:3.3rem;font-weight:400;line-height:1;color:#617c4f}.journal-summary>b small{font-family:var(--sans);font-size:.8rem;color:#809271}.journal-summary p{font-size:.84rem;margin:0;color:#5c7258;line-height:1.9;max-width:62ch}.backup-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.backup-actions .btn{font-size:.78rem}.stamp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stamp{min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 18px;border-radius:12px;background:#edf0e5;text-align:center}.stamp .seal{font-size:0;border:1px solid #acbc9c;width:55px;height:55px;border-radius:50%;margin-bottom:16px;position:relative;color:#8ba078}.stamp .seal:after{content:"";position:absolute;inset:12px;border:1px solid #acbc9c;border-radius:50%}.stamp.received{background:#e5ecd9}.stamp.received .seal{border-color:#64804d;background:#d4dfc3}.stamp.received .seal:after{inset:18px 16px 18px 20px;border:0;border-left:2px solid #668349;border-bottom:2px solid #668349;border-radius:0;transform:rotate(-45deg)}.stamp strong{font-family:var(--serif);font-weight:400;font-size:1.1rem}.stamp small{font-size:.64rem;color:var(--muted);margin-top:8px}.stamp button{min-height:42px;font-size:.72rem;text-decoration:underline;text-underline-offset:6px;margin-top:7px;color:#5b7650}.empty{padding:35px 0;text-align:left}.empty h2{font-family:var(--serif);font-size:1.4rem;margin-top:0}.empty p{font-size:.9rem;color:var(--muted)}.toast{position:fixed;z-index:100;bottom:17px;left:50%;transform:translate(-50%,100px);opacity:0;transition:.25s;background:#f2efdf;color:#304e33;box-shadow:0 10px 30px #061b1733;border-radius:10px;padding:15px 22px;font-size:.8rem;line-height:1.7;max-width:calc(100% - 30px);width:max-content;pointer-events:none}.toast.show{transform:translate(-50%,0);opacity:1}.storage-warning{position:absolute;top:94px;left:15px;right:15px;z-index:40;background:#f1ddb6;color:#735629;padding:12px 18px;border-radius:8px;font-size:.75rem;line-height:1.8}.large-text{font-size:20px}.large-text .game-map-stage .stop-name{display:none}.large-text .game-place-detail{width:360px}.large-text .game-map-stage{right:400px}.large-text .game-chapters{right:438px}.large-text .game-map-toolbar{right:438px}.large-text .place-moments{display:none}.large-text .place-story{-webkit-line-clamp:3}.large-text .nav{padding:10px 12px}.large-text .header{gap:15px}.large-text .utilities .utility-label{display:none}.large-text .place-photograph{height:140px}.large-text .action-list button{padding:15px;gap:10px}.large-text .action-number{font-size:1.3rem}.large-text .action-list strong{font-size:.83rem}.large-text .action-list small{font-size:.57rem}.large-text .world-instructions{font-size:.6rem}.large-text .scene-tools button{padding:7px 9px;font-size:.65rem}
@keyframes small-light{0%{transform:scale(.85);filter:blur(3px)}100%{transform:scale(1);filter:blur(0)}}
.scene-page:has(.intro-overlay) .scene-bar,.scene-page:has(.intro-overlay) .scene-guidance,.scene-page:has(.intro-overlay) .scene-photo-caption{opacity:0;pointer-events:none}.scene-page:has(.intro-overlay) .scene-top .scene-heading,.scene-page:has(.intro-overlay) .scene-mode-switch{visibility:hidden}.control-guide dl{margin:25px 0}.control-guide dl>div{display:grid;grid-template-columns:125px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}.control-guide dt{font-size:.9rem;color:#496141}.control-guide dd{margin:0;font-size:.83rem;line-height:1.9;color:#65775b}
@media(max-width:760px){.control-guide dl>div{grid-template-columns:1fr;gap:10px}.control-guide dt{font-size:.85rem}.control-guide dd{font-size:.78rem}}
.hotspot{width:max-content;max-width:185px}.intro-overlay{overflow-y:auto;padding-bottom:140px}.intro-skip{bottom:58px}.verse-overlay{justify-content:flex-start;padding-top:210px;padding-bottom:70px}.verse-overlay .btn{flex-shrink:0}
@media(max-width:760px){.header .nav{min-height:44px}.utilities button{min-height:44px}.atlas-view-switch button{min-height:44px}.world-stop{min-width:44px;min-height:44px;justify-content:center}.hotspot{width:max-content;max-width:145px;white-space:normal}.intro-overlay{padding:150px 26px 145px;justify-content:flex-start}.intro-skip{bottom:50px}.verse-overlay{padding:150px 26px 55px}.large-text .intro-overlay{padding-bottom:145px}.large-text .intro-skip{bottom:50px}.large-text .verse-overlay{padding-bottom:55px}}
@media(min-width:1550px){.game-place-detail{width:380px;right:42px;top:125px;bottom:100px}.game-map-stage{right:420px}.game-map-toolbar{right:465px}.game-chapters{right:465px;bottom:40px}.place-photograph{height:220px}.place-description{padding:28px}.place-heading h3{font-size:2rem}.place-story{font-size:.9rem}.place-moments{font-size:.85rem;gap:14px;padding:20px 0}.map-corner-title{left:50px;top:145px}.map-exploration-note{left:50px;bottom:140px}.game-route-list{right:465px;bottom:140px;top:200px;left:50px}.map-scale-note{bottom:30px;right:42px}.scene-guidance{left:50px;right:50px;bottom:32px}.scene-bar{left:50px;right:50px;bottom:166px}}
@media(max-width:1100px){.header{padding:0 23px;gap:17px}.brand>span:last-child{font-size:1.05rem}.brand-mark{width:27px;height:36px}.nav{font-size:.75rem;padding:9px 12px}.utilities .utility-label{display:none}.utilities button{padding:10px;min-width:43px;justify-content:center}.game-place-detail{width:295px;right:22px;top:110px;bottom:86px}.game-map-stage{right:310px}.game-map-toolbar{right:340px;top:112px;gap:10px}.game-map-toolbar>span{display:none}.game-chapters{left:25px;right:340px;bottom:25px}.game-chapters button{font-size:.7rem;padding:9px 3px}.game-chapters button small{font-size:.52rem}.map-corner-title{left:28px;top:120px}.map-corner-title h1{font-size:1.65rem}.map-corner-title p{display:none}.map-exploration-note{left:25px;bottom:115px;font-size:.65rem}.map-exploration-note small{font-size:.57rem}.game-route-list{left:25px;right:340px;top:180px;bottom:116px;padding:8px 17px}.list-status{font-size:0}.list-status .icon{width:17px;height:17px}.place-photograph{height:150px}.place-description{padding:19px}.place-heading h3{font-size:1.55rem}.place-heading{margin-bottom:14px}.place-story{font-size:.8rem;margin-bottom:15px}.place-moments{font-size:.74rem;gap:10px;padding:12px 0}.map-scale-note{right:22px;bottom:13px}.scene-mode-switch button{font-size:.67rem;padding:8px 10px}.scene-top{left:27px;right:27px;top:111px}.scene-heading h1{font-size:2.2rem}.scene-guidance,.scene-bar{left:27px;right:27px}.scene-tools button{padding:7px 10px}.action-list button{padding:18px 15px;gap:10px}.action-list strong{font-size:.84rem}.action-number{font-size:1.5rem}.world-instructions{left:27px;font-size:.6rem;max-width:340px}.reading-page{margin:30px 4% 40px;padding:35px}.large-text .game-map-stage{right:330px}.large-text .game-place-detail{width:305px}.large-text .game-chapters,.large-text .game-map-toolbar,.large-text .game-route-list{right:354px}.large-text .game-place-detail .place-moments{display:none}.large-text .game-place-detail .place-heading{display:block}.large-text .availability{margin-top:12px}.large-text .scene-tools .icon{display:none}.large-text .header .nav{font-size:.67rem;padding:9px}.large-text .map-corner-title{display:none}}
@media(max-width:760px){.header{height:77px;padding:0 16px;gap:10px}.brand{gap:8px}.brand-mark{width:23px;height:31px}.brand>span:last-child{font-size:.97rem}.brand small{font-size:.42rem;margin-top:5px;letter-spacing:.15em}.header nav{gap:0;padding:3px;background:#10241fbb;border-radius:9px;margin-left:auto}.nav{min-height:40px;font-size:.65rem;padding:8px 9px}.header .nav[data-view=home]{display:none}.utilities{gap:4px}.utilities button{min-width:34px;min-height:41px;padding:7px;border-radius:8px;font-size:.72rem}.utilities .icon{width:17px;height:17px}.utilities #text-size{font-size:.86rem}.header .utility-label{display:none}.game-atlas{height:100dvh;min-height:650px}.map-corner-title{display:none}.game-map-stage{top:63px;right:0;bottom:245px}.game-map-toolbar{top:88px;left:18px;right:18px;justify-content:space-between;gap:12px}.game-map-toolbar>span{display:block;font-family:var(--serif);font-size:1.05rem}.game-map-toolbar>span small{font-family:var(--sans);font-size:.52rem;color:#a7bca3;margin-top:6px}.atlas-view-switch{padding:3px}.atlas-view-switch button{min-height:38px;padding:7px 11px;font-size:.63rem}.world-stop{min-height:34px;padding:3px;border-radius:50%;border-color:#d5cfa86b;background:#173e30eb}.world-stop .stop-number{width:28px;height:28px;font-size:.61rem;border:0;background:transparent}.world-stop .stop-name{display:none}.world-stop.selected{padding:4px 10px 4px 4px;border-radius:7px;gap:4px}.world-stop.selected .stop-name{display:block;font-size:.72rem}.world-stop.selected .stop-number{background:#55744c;border-radius:50%;width:25px;height:25px}.game-place-detail{top:auto;bottom:91px;left:15px;right:15px;width:auto;height:154px;border-radius:12px;overflow:hidden}.place-photograph{position:absolute;width:88px;height:88px;top:14px;left:14px;border-radius:7px}.place-photograph img{height:100%;object-fit:cover}.photo-count{left:7px;bottom:8px;font-size:1.3rem}.photo-count>span{font-size:.48rem;margin-left:4px}.place-description{padding:12px 14px 12px 116px;height:100%}.place-heading{margin:1px 0 11px;align-items:flex-start;gap:8px}.place-heading h3{font-size:1.4rem;margin-bottom:6px}.place-heading p{font-size:.56rem;line-height:1.5;max-width:170px}.availability{font-size:.5rem;margin-top:5px}.availability .icon{width:10px;height:10px}.place-story,.place-moments,.place-save-note{display:none}.place-description .btn{position:absolute;left:116px;right:14px;bottom:13px;width:calc(100% - 130px);min-height:43px;padding:9px 12px;font-size:.73rem;gap:10px;border-radius:7px;margin:0}.place-description .btn small{display:none}.place-description .btn .icon{width:16px;height:16px}.game-chapters{left:15px;right:15px;bottom:22px;gap:2px;padding:4px;border-radius:10px}.game-chapters button{min-height:52px;font-size:.67rem;padding:7px 1px;line-height:1.3}.game-chapters button small{font-size:.47rem;line-height:1.4;margin-top:6px}.map-exploration-note{bottom:255px;left:18px;font-size:.58rem;gap:7px}.map-exploration-note small{display:none}.map-exploration-note .icon{width:16px;height:16px}.map-scale-note{font-size:.46rem;right:18px;bottom:7px}.game-route-list{top:147px;bottom:252px;left:16px;right:16px;padding:5px 16px;border-radius:10px}.atlas-list-item{min-height:61px;gap:14px;padding:10px 2px}.atlas-list-item strong{font-size:.82rem}.atlas-list-item small{font-size:.58rem;margin-top:4px}.list-order{font-size:1rem;width:26px}.list-status{font-size:.55rem;gap:8px}.list-status .icon{width:15px;height:15px}.scene-page{height:100dvh;min-height:650px}.scene-top{left:18px;right:18px;top:87px}.back{font-size:.65rem;min-height:38px}.scene-heading{margin-top:7px}.scene-heading h1{font-size:1.9rem;margin-bottom:10px}.scene-heading>span{font-size:.6rem;line-height:1.6;display:block;max-width:235px}.scene-mode-switch{top:107px;left:0;right:auto;padding:3px;border-radius:8px}.scene-mode-switch button{font-size:.62rem;min-height:37px;padding:7px 10px;gap:5px}.scene-mode-switch .icon{width:16px;height:16px}.scene-bar{left:17px;right:17px;bottom:257px;flex-wrap:wrap;gap:10px}.lanterns{gap:7px}.lanterns .icon{width:20px;height:25px}.lanterns>span{width:22px;height:28px}.lanterns>small{font-size:.55rem;margin-left:3px}.scene-tools{padding:3px;gap:2px;margin-left:auto;border-radius:8px}.scene-tools button{min-height:36px;font-size:.61rem;padding:7px 8px;gap:4px}.scene-tools button .icon{display:none}.world-instructions{left:18px;right:18px;bottom:310px;font-size:.57rem;max-width:80%;line-height:1.8;display:none}.scene-guidance{left:15px;right:15px;bottom:23px}.action-list{grid-template-columns:1fr;gap:7px}.action-list button{min-height:62px;padding:12px 16px;gap:15px;border-radius:8px;background:#173a2ef5}.action-number{font-size:1.25rem;min-width:24px}.action-list strong{font-size:.82rem}.action-list small{font-size:.56rem;margin-top:5px}.action-list .check{width:22px;height:22px}.scene-guidance .helper{font-size:.5rem;margin-top:8px;text-align:center}.hotspot{min-height:37px;padding:8px 10px;font-size:.61rem;white-space:normal;max-width:135px;line-height:1.5;border-radius:7px}.intro-overlay{padding:155px 26px 285px;justify-content:center;background:#10241fbd}.intro-overlay h2{font-size:1.6rem;line-height:1.7;margin-bottom:18px}.intro-overlay>p{font-size:.85rem;line-height:2;margin-bottom:15px}.intro-overlay details{padding:6px 0;font-size:.65rem}.intro-overlay details p{font-size:.72rem}.intro-source{font-size:.65rem;margin-top:10px}.intro-skip{right:22px;left:22px;bottom:275px;justify-content:space-between;min-height:49px;padding:12px 16px;font-size:.75rem}.verse-overlay{padding-bottom:285px}.verse-overlay .arrival-verse{font-size:1.1rem;line-height:1.9;margin-top:18px}.verse-reference{font-size:.65rem;margin-top:0}.verse-overlay .btn{min-height:49px;margin-top:15px;width:100%;font-size:.77rem}.verse-overlay .btn small{font-size:.55rem}.scene-photo-caption{bottom:330px;right:20px;font-size:.85rem}.scene-photo-caption small{font-size:.48rem;max-width:180px;line-height:1.6}.scene-preview{top:255px;left:18px;right:18px;max-width:none;font-size:.65rem;padding:12px 14px}.scene-preview small{font-size:.53rem}.immersive .scene-bar{bottom:250px}.immersive .scene-guidance{bottom:20px}.reading-page{margin:20px 12px 25px;padding:27px 23px;border-radius:12px}.reading-page h1{font-size:1.9rem;line-height:1.6;margin-bottom:23px}.reading-page>p{font-size:.85rem}.reading-page h2{font-size:1.25rem;margin-top:30px}.guide-steps article{grid-template-columns:30px 1fr;gap:12px;padding:22px 0}.guide-steps article>b{font-size:1.4rem;grid-row:span 2}.guide-steps h2{font-size:.88rem;grid-column:2;margin:0}.guide-steps p{grid-column:2;font-size:.79rem}.settings-row{gap:12px}.settings-row .btn{font-size:.74rem;padding:12px 14px}.settings-row label{font-size:.74rem}.settings-row select{font-size:.75rem}.journal-summary{gap:18px;align-items:flex-start;margin:25px 0}.journal-summary>b{font-size:2.7rem}.journal-summary p{font-size:.76rem}.stamp-grid{grid-template-columns:1fr 1fr;gap:11px}.stamp{min-height:170px;padding:20px 10px}.stamp strong{font-size:.94rem}.stamp small{font-size:.53rem;line-height:1.6}.stamp button{font-size:.65rem}.stamp .seal{width:48px;height:48px}.backup-actions{gap:8px}.backup-actions .btn{font-size:.68rem;padding:11px 13px;min-height:47px}.footer{padding:24px;flex-wrap:wrap;gap:15px}.footer-brand{width:100%}.footer button{margin-left:0}.footer>small{font-size:.56rem}.footer p{font-size:.65rem}dialog{max-height:92dvh;width:calc(100% - 24px);border-radius:12px}.dialog-content{padding:30px 25px}.dialog-content h2{font-size:1.6rem}.dialog-content p{font-size:.84rem;line-height:1.9}.dialog-content .helper{font-size:.62rem}.place-dialog .dialog-content{min-height:0}.dialog-landscape{position:relative;inset:auto;height:175px}.dialog-landscape img{object-position:50% 55%}.dialog-landscape>span{left:23px;bottom:20px;font-size:.64rem}.dialog-reading{margin:0;padding:26px 25px}.dialog-reading h2{font-size:1.8rem}.dialog-reading>p{font-size:.8rem}.place-dialog .dialog-close{background:#f5f5eddf;top:10px;right:10px}.action-visual{height:80px;margin:18px 0}.action-symbol .icon{width:43px;height:43px}.dialog-content .btn{font-size:.8rem;min-height:48px}.toast{font-size:.72rem;padding:13px 17px;bottom:12px}.storage-warning{top:80px;font-size:.65rem;left:12px;right:12px}.large-text .header{gap:7px}.large-text .brand>span:last-child{font-size:.85rem}.large-text .brand small{font-size:.35rem}.large-text .brand-mark{width:18px}.large-text .header .nav{font-size:.5rem;padding:7px 8px}.large-text .utilities button{min-width:30px;padding:7px 5px}.large-text .game-map-stage{right:0;bottom:265px}.large-text .game-place-detail{width:auto;left:15px;right:15px;height:173px;bottom:94px}.large-text .game-map-toolbar{right:18px;left:18px}.large-text .game-route-list{right:16px;left:16px;bottom:275px}.large-text .game-chapters{right:15px;left:15px;bottom:20px}.large-text .game-chapters button{font-size:.57rem}.large-text .game-chapters button small{display:none}.large-text .place-photograph{width:78px;height:95px;top:15px}.large-text .place-description{padding-left:108px}.large-text .place-heading h3{font-size:1.15rem}.large-text .place-heading p{font-size:.5rem}.large-text .place-description .btn{left:108px;right:14px;width:calc(100% - 122px);font-size:.65rem}.large-text .availability{font-size:.42rem}.large-text .place-heading{display:block}.large-text .place-heading .availability{display:none}.large-text .scene-heading h1{font-size:1.6rem}.large-text .scene-heading>span{font-size:.5rem}.large-text .scene-mode-switch{top:115px}.large-text .scene-mode-switch button{font-size:.5rem}.large-text .scene-bar{bottom:273px}.large-text .lanterns>small{display:none}.large-text .scene-tools button{font-size:.52rem;padding:7px 8px}.large-text .scene-guidance{bottom:20px}.large-text .action-list button{min-height:69px;padding:12px 14px}.large-text .action-list strong{font-size:.75rem}.large-text .action-list small{font-size:.5rem}.large-text .action-number{font-size:1.1rem}.large-text .scene-guidance .helper{font-size:.45rem}.large-text .intro-overlay{padding-bottom:310px}.large-text .intro-overlay h2{font-size:1.3rem}.large-text .intro-overlay>p{font-size:.73rem}.large-text .intro-skip{bottom:285px}.large-text .verse-overlay .arrival-verse{font-size:.94rem}.large-text .map-exploration-note{display:none}}
@media(max-height:740px) and (min-width:761px){.place-photograph{height:130px}.place-description{padding:17px 20px}.place-heading{margin-bottom:12px}.place-heading h3{font-size:1.5rem}.place-story{font-size:.78rem;-webkit-line-clamp:2;line-height:1.8;margin-bottom:12px}.place-moments{gap:8px;padding:10px 0;font-size:.71rem}.place-description .btn{min-height:50px;font-size:.8rem;padding:11px 17px}.place-description .btn small{display:none}.place-save-note{font-size:.56rem;margin-top:8px}.game-place-detail{bottom:50px;top:107px}.game-chapters{bottom:22px}.map-exploration-note{bottom:110px}.scene-top{top:99px}.scene-heading h1{font-size:2.2rem}.scene-heading{margin-top:5px}.scene-mode-switch{top:7px}.world-instructions{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.header,.footer,.backup-actions,.btn,.stamp button{display:none}.reading-page{margin:0;padding:15px;max-width:none;box-shadow:none;background:white}.stamp-grid{grid-template-columns:repeat(3,1fr)}.stamp{break-inside:avoid}body{background:white}}
