/* Scenic stage over the unchanged original map. */
:root{--stage-gold:#dfbc78;--stage-red:#702d2c;--stage-ink:#102a29}
[hidden]{display:none!important}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #dfbc78;outline-offset:4px}button{touch-action:manipulation}
.stage-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:48px;padding:13px 25px;border:1px solid #d8b36c;color:#f9e8c2;background:linear-gradient(125deg,#863731,#552424);box-shadow:inset 0 0 0 4px #552424,0 8px 30px #0003;font:500 14px/1.4 "Microsoft YaHei",sans-serif;letter-spacing:.12em;cursor:pointer;transition:transform .25s,filter .25s}
.stage-button:hover{transform:translateY(-2px);filter:brightness(1.18)}.stage-button:disabled{opacity:.5;cursor:default}
.stage-wings{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.stage-wings>i{position:absolute;top:0;bottom:0;width:40px;background:repeating-linear-gradient(90deg,#2c1414,#632623 12px,#361817 23px);box-shadow:10px 0 30px #0009}.stage-wings>i:first-child{left:0;clip-path:polygon(0 0,100% 0,45% 65%,65% 100%,0 100%)}.stage-wings>i:nth-child(2){right:0;transform:scaleX(-1)}.stage-wings>b{position:absolute;top:0;left:0;right:0;height:20px;background:linear-gradient(#481d1d,#2c1110);border-bottom:2px solid #af824c}.stage-wings>span{position:absolute;inset:20px 25px 16px;border:1px solid #dab77955;box-shadow:inset 0 0 65px #06111155}
.map-stage:before{pointer-events:none}.stage-plaque{top:32px!important}.stage-plaque .plaque-mark{display:none}.stage-plaque .plaque-title{font-size:18px;letter-spacing:.22em}.stage-plaque .plaque-sub{font-size:10px}.stage-acts{top:100px!important;background:#102a28df;z-index:10;border-radius:4px;padding:5px}.stage-acts button{min-height:36px;padding:8px 13px}.stage-acts button b{font-size:12px}.stage-acts button span{display:none}.stage-acts button:hover{color:#f2dba7;background:#b18c4433}
.intro-copy{top:170px!important;left:5%!important;max-width:245px;pointer-events:none}.intro-copy h2{font-family:"Songti SC",SimSun,serif!important;font-size:clamp(28px,3vw,45px)!important;line-height:1.5!important;font-weight:500!important}.intro-copy h2 em{font-style:normal;color:#e1bd7c}.intro-copy>p:last-child{max-width:210px;font-size:11px!important;line-height:1.8}.intro-copy .eyebrow{font-size:8px!important}
.topbar{border-bottom-color:#d1ab6240;background:#0a201ee8}.wordmark span{background:#652a27;border-color:#b48b51}.topbar nav .nav-btn.active{color:#edce8d}.commerce-dock{top:auto;bottom:22px;right:4%;border-radius:4px;background:#0b2424e8;z-index:32}.commerce-dock button{min-height:48px}.map-legend{top:164px!important;right:4%!important}.journey-ledger{top:218px!important;right:4%!important;left:auto!important;bottom:auto!important;background:#0b2522d9!important;max-width:190px}.mood-oracle{bottom:105px!important;right:4%!important}.character-dock{left:5%!important;bottom:25px!important}.speech{max-width:250px}.travel-status{bottom:100px!important}
.map-pin>i{width:45px!important;height:45px!important;border:2px solid #d3ab64!important;background:radial-gradient(circle,#ad5b3c,#682e27)!important;color:#fae7b9!important;box-shadow:0 0 0 4px #091c1a,0 0 0 5px #c69d5c77,0 6px 18px #0008;font-family:Georgia,serif!important}.map-pin.is-selected>i{box-shadow:0 0 0 5px #d6b66b44,0 0 35px #ffd886cc}.map-pin>b{background:#0d211eef!important;color:#f3dfb6!important;padding:7px 12px!important;border:1px solid #bc94535c;box-shadow:0 5px 20px #0005}.map-pin.has-arrived>i{background:radial-gradient(circle,#78966b,#224e40)!important}.map-pin small{color:#ddc9a3!important;background:#0a221dcc;padding:2px 6px}.map-pin:focus-visible{outline-offset:12px}
.destination-preview{position:absolute;left:5%;top:162px;width:270px;z-index:29;background:#102b29f5;color:#e6d5b4;border:1px solid #be995c;box-shadow:0 20px 70px #0009;animation:previewEnter .3s ease-out}.destination-preview>img{width:100%;height:145px;object-fit:cover;display:block}.destination-preview>div{padding:19px}.destination-preview small{font-size:9px;letter-spacing:.1em;color:#b89b68}.destination-preview h3{font:26px/1.4 "Songti SC",SimSun,serif;margin:10px 0}.destination-preview p{font-size:12px;line-height:1.8;margin-bottom:18px}.destination-preview .stage-button{width:100%;font-size:12px}.preview-close{position:absolute;right:8px;top:8px;width:36px;height:36px;background:#122820dd;border:1px solid #cfac66;color:#eed7a7;font-size:24px}
.stage-prologue{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:#081719a8;backdrop-filter:blur(9px);padding:25px;transition:opacity .85s,filter .85s}.stage-prologue.leaving{opacity:0;filter:blur(15px);pointer-events:none}.prologue-frame{position:relative;width:min(540px,100%);padding:34px 40px;text-align:center;color:#eeddb8;background:radial-gradient(ellipse at top,#263b32,#101f1e 75%);border:1px solid #bd9655;outline:1px solid #bd96554a;outline-offset:8px;box-shadow:0 35px 100px #0009}.red-seal{display:inline-grid;place-items:center;width:40px;height:44px;background:#783530;border:1px solid #c2a168;font-family:serif;font-size:24px;transform:rotate(-5deg)}.prologue-frame .eyebrow{font-size:9px;letter-spacing:.3em;margin-top:20px;color:#bcaa88}.prologue-frame h2{font:400 clamp(32px,5vw,50px)/1.5 "Songti SC",SimSun,serif;letter-spacing:.13em;margin:18px 0}.prologue-frame>p:not(.eyebrow){font-size:13px;color:#bfb9a4;line-height:1.9}.admission-ticket{display:grid;gap:7px;margin:22px auto;padding:15px;border-block:1px dashed #b4925c60}.admission-ticket small{font-size:10px;color:#b7a780}.admission-ticket strong{font:22px "Songti SC",SimSun,serif}.admission-ticket span{font-size:12px}.prologue-frame>small{display:block;color:#9c987e;font-size:10px;margin-top:17px}
.character-avatar>*:not(.regional-sprite),.journey-character>*:not(.regional-sprite){display:none!important}.regional-sprite{display:block;background-image:url('assets/drama/characters-cutout.png');background-size:300% 100%;background-repeat:no-repeat;background-position:var(--sprite-position,0%) center;aspect-ratio:1/2;filter:drop-shadow(0 8px 5px #0005)}[data-variant=red]{--sprite-position:50%}[data-variant=gold]{--sprite-position:100%}.character-avatar .regional-sprite{position:absolute;inset:auto;width:100px;height:200px;bottom:-5px;left:0}.character-avatar{width:100px!important;height:190px!important;transform:none!important;background:none!important;box-shadow:none!important}.journey-character .regional-sprite{position:absolute;width:50px;height:100px;bottom:0;left:-8px}.journey-character{width:34px;height:44px;background:none!important;box-shadow:none!important;z-index:8;transform-origin:center bottom}.map-stage[data-phase=moving] .journey-character .regional-sprite{animation:travelerStep .35s ease-in-out infinite alternate}.map-stage[data-phase=unlocking] .journey-character .regional-sprite{animation:none}.character-options .mini-avatar.regional-sprite{width:100px;height:200px;margin:0 auto;background-color:transparent;border:0;border-radius:0}.character-options button{padding-top:15px}.character-options{align-items:stretch}.chooser-card{max-height:90dvh;overflow:auto}.journey-character:after{content:"";position:absolute;width:43px;height:9px;bottom:-5px;left:-5px;border:1px solid #ebcc82;border-radius:50%;box-shadow:0 0 16px #ddbd66a1;z-index:-1}
.drama-viewer{position:fixed;inset:0;background:#090f10;color:#f1e5d0;z-index:110;overflow:auto;min-height:100dvh;isolation:isolate}.drama-picture,.drama-vignette{position:absolute;inset:0;min-height:100%;z-index:-2}.drama-picture{overflow:hidden}.drama-picture img{width:100%;height:100%;object-fit:cover;object-position:center;animation:sceneDrift 18s ease-out both}.drama-vignette{z-index:-1;background:linear-gradient(90deg,#061819f2 0%,#081b1bcf 26%,#07181955 62%,#07181920),linear-gradient(0deg,#081312 0%,transparent 35%,transparent 75%,#081312b8)}.drama-viewer::after{content:"";position:fixed;inset:18px;border:1px solid #d1b77b55;pointer-events:none;z-index:1}.drama-top{display:flex;align-items:center;justify-content:space-between;padding:26px 4%;font-size:12px;letter-spacing:.2em}.drama-top i{color:#a5895c;padding:0 12px}.drama-top button{width:44px;height:44px;border:1px solid #a78b5a;background:#111e1c99;color:#e9d5ad;font-size:28px}.drama-content{width:min(630px,49%);padding:30px 0 32px;margin-left:7%;min-height:470px;animation:sceneCopy .8s both}.drama-content .eyebrow{color:#d9b97c;font-size:12px;letter-spacing:.25em}.drama-content h2{font:400 clamp(32px,3.7vw,60px)/1.4 "Songti SC",SimSun,serif;margin:25px 0;letter-spacing:.06em;text-wrap:balance}.drama-content blockquote{font:19px/1.8 "Songti SC",SimSun,serif;color:#ead9b6;margin:0 0 19px}.drama-narration{font-size:15px;line-height:2.2;max-width:520px;color:#d6d3c7}.drama-interaction{margin-top:25px;display:grid;gap:14px;max-width:490px}.drama-interaction label{font-size:12px;color:#bbaa85;display:flex;align-items:center;gap:20px}.drama-interaction select{background:#142a28;color:#ecdfc4;border:1px solid #ad8b54;padding:9px 16px;font-size:14px}.clue-button{justify-self:start;background:#d6b97512;border:1px solid #c9a66680;color:#efd79d;padding:11px 16px;min-height:44px}.clue-copy{font-size:12px;line-height:1.9;color:#d1c5ac;background:#0a1a19a8;border-left:2px solid #c5a56b;padding:12px;margin:0}.memory-choices{display:flex;gap:10px;flex-wrap:wrap}.memory-choices button{padding:10px 13px;color:#ded4bc;background:#102825;border:1px solid #aa8e5e;min-height:44px;font-size:12px}.memory-choices button.chosen{background:#725438;color:#fff3cf}.drama-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 7%;padding:22px 0;border-top:1px solid #ccb07850}.drama-progress{display:flex;gap:17px}.drama-progress button{display:grid;gap:5px;padding:7px 14px;background:none;color:#b6ae99;border:0;border-bottom:2px solid #bd9c4e35;font-size:12px;min-height:48px}.drama-progress button span{font-size:10px;letter-spacing:.12em}.drama-progress button[aria-current]{color:#e9ce91;border-color:#e9ce91}.drama-controls{display:flex;align-items:center;gap:20px}.drama-controls>button:not(.stage-button){color:#e0d1b1;border:0;background:none;font-size:12px;min-height:44px}.drama-controls>button:disabled{opacity:.3}.drama-footnote{display:flex;align-items:center;justify-content:space-between;margin:0 7%;padding-bottom:22px;color:#9d9e8e;font-size:10px}.drama-footnote button{color:#c5b699;background:none;border:0;font-size:11px;min-height:44px}
.curtain{z-index:145!important}.curtain-left,.curtain-right{background:repeating-linear-gradient(90deg,#260e12 0,#602127 4%,#8c3635 8%,#391317 13%)!important;box-shadow:0 0 40px #000;border-bottom:3px solid #b18850}.curtain-title strong{font-family:"Songti SC",SimSun,serif;color:#e6c486}.curtain-title small{letter-spacing:.3em}
.place-modal{background:#f1ecdf!important}.place-hero{min-height:500px}.place-heading h2{font-weight:400!important;letter-spacing:.08em}.story-column .lead{line-height:2.1!important}.deep-story:empty{display:none}.drama-editorial{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;margin:35px 0}.drama-editorial>img{width:100%;height:400px;object-fit:cover}.drama-editorial small{color:#987849;font-size:12px}.drama-editorial h4{font:28px/1.6 "Songti SC",SimSun,serif;margin:12px 0}.drama-editorial p,.chapter-guide p{font-size:14px;line-height:2.1}.experience-flow{display:grid;grid-template-columns:repeat(6,1fr);border-block:1px solid #bcaa8666;padding:25px 0;gap:15px}.experience-flow span{font-size:12px;line-height:1.7}.experience-flow b{display:block;font:24px Georgia;color:#aa895a;margin-bottom:12px}.chapter-guide{margin-top:30px}.place-gallery{gap:24px}.source-note{line-height:1.8}
.offers-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-card{border-radius:10px;overflow:hidden;box-shadow:0 8px 25px #6551390b}.offer-photo{aspect-ratio:1/1}.offer-photo img{transition:transform .6s}.offer-card:hover .offer-photo img{transform:scale(1.035)}.offer-copy{padding:22px}.offer-copy>p{line-height:1.9}.catalog-intro{border-radius:10px}.commerce-tabs{background:#eee6d7e8;backdrop-filter:blur(15px)}.checkout-total{border-radius:10px;background:#122e29!important;color:#f1e1bc!important}.checkout-total .checkout-note{color:#c6c8b5!important}.checkout-total .text-action{color:#d9c79e!important}.checkout-section{border-radius:10px}.purchase-success-popup{position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:#071917b8;backdrop-filter:blur(8px);padding:24px}.purchase-success-popup>div{text-align:center;max-width:440px;width:100%;background:radial-gradient(circle at top,#284d3d,#0f2622);border:1px solid #c4a36d;color:#efe1bf;padding:44px 28px;box-shadow:0 25px 90px #0007;animation:successAppear .4s ease-out}.success-ring{display:grid;place-items:center;width:70px;height:70px;border:1px solid #dfc88b;border-radius:50%;font-size:34px;margin:0 auto 24px;box-shadow:0 0 0 9px #d2b57912,0 0 40px #c3aa5d33;color:#e9d9a6}.purchase-success-popup h2{font:34px "Songti SC",SimSun,serif;margin:20px 0}.purchase-success-popup p{font-size:13px;line-height:1.9}.purchase-success-popup small{display:block;font-size:10px;color:#b5ac8f;overflow-wrap:anywhere}.success-caption{color:#bdc3ac;margin:22px 0}.purchase-success-popup .eyebrow{font-size:9px;letter-spacing:.18em}
@keyframes sceneDrift{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes sceneCopy{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes previewEnter{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}@keyframes travelerStep{from{transform:rotate(-3deg) translateY(-2px)}to{transform:rotate(3deg) translateY(0)}}@keyframes successAppear{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:1100px){.stage-acts{top:110px!important}.drama-content{width:65%;min-height:430px}.offers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drama-bottom{flex-wrap:wrap}.drama-editorial{gap:25px}.intro-copy{max-width:180px}.journey-ledger{top:190px!important}.speech{display:none!important}}
@media(max-width:600px){.topbar{padding-inline:16px}.topbar .wordmark small{display:none}.topbar nav{gap:5px}.topbar nav .nav-btn{font-size:10px;padding:7px}.stage-plaque{top:23px!important;width:92%;}.stage-plaque .plaque-title{font-size:14px}.stage-plaque .plaque-sub{font-size:8px;letter-spacing:.07em}.stage-acts{top:79px!important;max-width:88%;gap:0}.stage-acts button{padding:6px 10px;font-size:10px}.stage-acts button b{font-size:10px}.intro-copy{display:none}.stage-wings>i{width:18px}.stage-wings>span{inset:15px 12px;border-color:#d4ab5d44}.stage-wings>b{height:13px}.map-legend{display:none!important}.journey-ledger{top:137px!important;right:5%!important;max-width:145px;padding:8px 10px!important}.journey-ledger>span{font-size:8px!important}.journey-ledger>b{font-size:12px!important}.journey-ledger>small{font-size:7px!important}.map-pin>i{width:34px!important;height:34px!important;font-size:12px!important}.map-pin>b{font-size:10px!important;padding:5px 7px!important}.map-pin small{font-size:7px!important}.map-pin.has-arrived::after{font-size:7px}.commerce-dock{bottom:0;left:0;right:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom);gap:0}.commerce-dock button{flex:1;padding:10px 4px;font-size:10px}.character-dock{left:6%!important;bottom:68px!important;gap:5px!important}.character-avatar{width:58px!important;height:115px!important}.character-avatar .regional-sprite{width:58px;height:116px}.character-copy strong{font-size:11px!important}.character-copy small{font-size:8px!important}.character-copy button{min-height:32px}.mood-oracle{bottom:88px!important;right:5%!important}.mood-oracle>span{display:none}.mood-oracle button{font-size:10px;padding:10px!important}.travel-status{bottom:190px!important;min-width:220px}.destination-preview{left:6%;top:auto;bottom:190px;width:88%;display:grid;grid-template-columns:105px 1fr;box-shadow:0 15px 50px #000b}.destination-preview>img{height:100%;min-height:155px}.destination-preview>div{padding:14px}.destination-preview h3{font-size:21px;margin:5px 0}.destination-preview p{font-size:10px;margin:0 0 12px}.destination-preview small{font-size:8px}.destination-preview .stage-button{min-height:40px;padding:8px;font-size:10px}.preview-close{top:-15px;right:-8px}.journey-character .regional-sprite{width:40px;height:80px;left:-3px}.prologue-frame{padding:25px 22px}.prologue-frame h2{font-size:35px}.prologue-frame>p:not(.eyebrow){font-size:12px}.drama-viewer::after{inset:9px}.drama-top{padding:20px 6% 10px;font-size:10px}.drama-top button{width:36px;height:36px}.drama-picture{position:fixed;height:100dvh}.drama-picture img{object-position:60% center}.drama-vignette{position:fixed;background:linear-gradient(0deg,#091b19 0%,#091b19f0 40%,#081a1970 78%,#081a1980)}.drama-content{width:auto;min-height:0;margin:0;padding:clamp(160px,28vh,260px) 8% 25px}.drama-content h2{font-size:30px;line-height:1.5;margin:12px 0}.drama-content .eyebrow{font-size:10px}.drama-content blockquote{font-size:16px;margin-bottom:10px}.drama-narration{font-size:13px;line-height:2}.drama-interaction{margin-top:18px}.drama-bottom{margin:0 8%;padding:15px 0;gap:18px}.drama-progress{width:100%;justify-content:space-between;gap:5px}.drama-progress button{font-size:10px;padding:5px 10px}.drama-controls{width:100%;gap:15px;justify-content:space-between}.drama-controls .stage-button{padding:12px;font-size:12px;gap:8px}.drama-controls>button:not(.stage-button){font-size:10px}.drama-footnote{margin:0 8%;font-size:8px;gap:10px;align-items:flex-start}.drama-footnote button{font-size:9px;padding:0;text-align:right;min-height:20px}.place-hero{min-height:400px}.drama-editorial{grid-template-columns:1fr;gap:25px}.drama-editorial>img{height:auto;aspect-ratio:16/9}.drama-editorial h4{font-size:24px}.drama-editorial p,.chapter-guide p{font-size:13px}.experience-flow{grid-template-columns:repeat(3,1fr);gap:22px 12px}.experience-flow span{font-size:10px}.experience-flow b{font-size:20px;margin-bottom:5px}.offers-grid{grid-template-columns:1fr}.offer-photo{aspect-ratio:1.25}.character-options .mini-avatar.regional-sprite{width:65px;height:130px}.character-options button{padding:14px 6px}.character-options b{font-size:11px}.character-options small{font-size:9px}.purchase-success-popup>div{padding:35px 22px}}
@media(prefers-reduced-motion:reduce){.drama-picture img,.drama-content,.destination-preview,.regional-sprite,.purchase-success-popup>div{animation:none!important}.stage-button,.stage-prologue{transition:none!important}}
html[data-motion=reduced] .drama-picture img,html[data-motion=reduced] .drama-content,html[data-motion=reduced] .regional-sprite{animation:none!important}
.preview-stop button{border:0;background:none;color:inherit;min-width:32px;min-height:32px;cursor:pointer}.drama-viewer,.commerce-panel,.route-panel{overscroll-behavior:contain}button{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #cfab61;outline-offset:4px}.stage-plaque{display:none}.drama-viewer{color-scheme:dark;padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:600px){#routeBtn{display:inline-flex!important;font-size:9px!important}.topbar{gap:5px!important}.topbar nav{gap:2px!important}.topbar .brand{gap:6px!important}}
@media(max-width:600px){.mood-oracle{width:auto!important;max-width:145px!important;bottom:190px!important}.mood-oracle button{width:auto!important;white-space:nowrap}.character-dock{max-width:78%}.character-copy{min-width:0}.character-copy strong{overflow-wrap:anywhere}}
