#sound-gate{position:absolute;top:2%;left:50%;transform:translateX(-50%);z-index:15;font-size:11px;padding:7px 13px;color:#e8d7aa;background:#14252bea;border-color:#b3a071;pointer-events:auto}
#sound-gate.playing{opacity:.55;font-size:10px;padding:4px 9px}#sound-gate:hover{opacity:1;transform:translateX(-50%)}
#mini-map{display:block;width:150px;height:88px;border:1px solid #827352;margin:6px auto 8px;image-rendering:pixelated}.rooms[hidden]{display:none}
#exploration-hint{position:absolute;left:2.5%;top:15%;max-width:36%;padding:8px 12px;border-left:2px solid #a7c1a0;background:linear-gradient(90deg,#14292af2,#18252b8f);font-size:12px;color:#e3dfc4;text-shadow:0 1px 3px #000}
.npc-dialogue{background:#101c2388;padding:23px;margin:20px 0;border-left:2px solid #b4955d}.npc-dialogue p{font-family:Batang,serif;font-size:17px;line-height:2.1;color:#e7ddc3}.npc-dialogue small{display:block;margin-top:16px;color:#b7b9a0}
.expedition-map{position:relative;line-height:0;margin:16px 0 0;border:2px solid #8c7147;box-shadow:0 7px 30px #0008}.expedition-map>img{width:100%;height:auto;display:block;filter:brightness(.65)}
.map-pin,.map-find,.map-player{position:absolute;transform:translate(-50%,-50%);line-height:1;font-size:22px;color:#f0c772;text-shadow:0 1px 6px #000}.map-pin.active{color:#f48c67;animation:pulse 1s infinite}.map-pin.cleared{color:#a1d5aa}.map-pin small{position:absolute;top:25px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:4px 7px;background:#0c2025dd;color:#efe3bf;font-size:11px}.map-player{font-size:20px;color:#bbffee;filter:drop-shadow(0 0 4px #8cfce1)}.map-find{color:#92d3c5;font-size:17px}
.dialog[data-kind=worldmap]{width:min(1020px,94%)}
@container(max-width:1050px){#mini-map{width:116px;height:68px}#exploration-hint{font-size:10px;top:16%;padding:6px 9px}.npc-dialogue p{font-size:14px}.npc-dialogue{padding:16px;margin:12px 0}}
@container(max-width:700px){#mini-map{width:85px;height:50px;margin:4px 0}#exploration-hint{font-size:8px;max-width:45%;padding:4px 7px;top:18%}#sound-gate{font-size:9px;padding:4px 7px}.map-pin small{font-size:8px;top:16px}.map-pin,.map-player{font-size:15px}.npc-dialogue p{font-size:12px}}
/* Relics are presented as small lit objects on velvet, with explicit acquisition. */
.dialog[data-kind="discovery"]{max-width:640px;text-align:center;background:radial-gradient(ellipse at 50% 25%,#31443d 0,#152625 40%,#111d20 75%);border:1px solid #b19a63;box-shadow:0 0 0 5px #101b20,0 0 0 6px #77613f,0 25px 100px #000a}
.discovery-stage{padding:18px 28px 26px}.discovery-stage .eyebrow{letter-spacing:.27em;color:#beae80}.discovery-art{height:240px;display:grid;place-items:center;position:relative;margin:12px 0;background:radial-gradient(ellipse at 50% 55%,#c4aa683b,transparent 57%)}
.discovery-art:before{content:'';position:absolute;width:210px;height:205px;border:1px solid #746440;border-radius:5px;background:radial-gradient(ellipse at 45% 35%,#30473f,#172c28 78%);box-shadow:inset 0 0 0 5px #172824,inset 0 0 28px #091512,0 4px 8px #08141080;pointer-events:none}.discovery-art:after{display:none}
.discovery-art img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 2px 2px #030d0dbb);animation:relic-reveal .65s cubic-bezier(.18,.72,.3,1) both;z-index:1}.relic-ribbon{color:#ddc48c;font-size:12px;letter-spacing:.23em;margin-bottom:10px}.discovery-stage h2{font-size:31px;margin:0 0 14px}.discovery-stage p{line-height:1.9;color:#c8c8b5;max-width:440px;margin:0 auto 16px}.discovery-status{font-size:12px;color:#9ab7aa;margin-bottom:27px}.discovery-stage button{min-width:225px}
@keyframes relic-reveal{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.dialog[data-kind="reward"] .relic-card{background:linear-gradient(145deg,#243a34,#182a29 50%,#152220);border-color:#827348;box-shadow:inset 0 0 0 3px #101a1b,0 10px 28px #0005;transition:transform .18s,border-color .18s}.dialog[data-kind="reward"] .relic-card:hover{transform:translateY(-7px);border-color:#ead396}.dialog[data-kind="reward"] .art{background:radial-gradient(ellipse,#b8a25b32,transparent 70%);height:170px;display:grid;place-items:center}.dialog[data-kind="reward"] .art img{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 2px 2px #050f10aa)}
.dialog[data-kind="reward"] .badge{color:#f0dba6}.dialog[data-kind="reward"] .choose-label{border-top:1px solid #86754866;background:#a18c4812;color:#e0c892;padding:10px}.room-banner{pointer-events:none}
@media(max-width:800px){.discovery-stage{padding:0 8px}.discovery-art{height:180px}.discovery-art img{width:130px;height:130px}.discovery-art:before{width:165px;height:165px}.discovery-art:after{display:none}.dialog[data-kind="reward"] .art{height:110px}.dialog[data-kind="reward"] .art img{width:90px;height:90px}}
.dialog[data-kind="reward"] .relic-card h3{color:#f0dfb4}.dialog[data-kind="reward"] .relic-card p{color:#cad3c3}.dialog[data-kind="reward"] .relic-card .tag{color:#b8ad87}.dialog[data-kind="reward"] .relic-card .combo{color:#8cd1b8}.dialog[data-kind="reward"] .badge{background:#33433a;color:#e8d49f}
/* Quiet, warm museum labels and a four-scene opening. */
.dialog[data-kind="story"]{padding:0;width:min(960px,94vw);max-width:960px;overflow:hidden;border:1px solid #ab8750;background:#101c20;}
.story-scene{position:relative;min-height:min(580px,85vh);background:url('../assets/live/shop-empty.png') center/cover;animation:story-arrive .65s ease-out;}
.story-0{background-image:url('../assets/live/world-department.png')}.story-2{background-image:url('../assets/live/world-station.png')}
.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,19,.94),rgba(10,18,23,.78) 60%,rgba(10,18,23,.4));}
.story-copy{position:relative;padding:60px 56px;max-width:790px}.story-copy h2{font-size:clamp(26px,4vw,42px);margin:22px 0 28px;color:#ecdfbd}.story-copy p{line-height:2;color:#bfc6bc;font-size:16px}.story-copy blockquote{margin:30px 0;border-left:2px solid #a7834a;padding:8px 22px;color:#e2c994;font-size:18px;line-height:1.9}.story-copy .row{margin-top:30px}
.treasure-detail{display:flex;gap:32px;align-items:center;padding:28px 10px}.treasure-detail img{width:150px;image-rendering:pixelated;filter:drop-shadow(0 8px 8px #0006)}.treasure-detail p{font-size:18px;line-height:2;color:#d2cfbd}.secured-treasures{text-align:center;padding:16px;background:#14292766}.secured-treasures img{width:48px;height:48px;image-rendering:pixelated}.secured-treasures p{font-size:12px;color:#c0b68e}.shop-set button{margin-top:12px}.collection-item img{object-fit:contain}
@keyframes story-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:640px){.story-copy{padding:26px 24px}.story-copy blockquote{margin:16px 0;font-size:15px}.story-copy p{font-size:14px}.treasure-detail{flex-direction:column;gap:12px}.story-scene{min-height:0}}
@media(prefers-reduced-motion:reduce){.story-scene{animation:none}}
.museum-receipt{display:flex;align-items:center;gap:18px;padding:12px 20px;margin:12px 0;background:#243c344d;border:1px solid #9e824144}.museum-receipt img{width:58px;height:58px;image-rendering:pixelated}.museum-receipt small{color:#a9bdab;font-size:11px}.museum-receipt strong{display:block;color:#e5cb96;margin:4px 0}.museum-receipt p{color:#c3c3b3;font-size:12px;line-height:1.6}
.chapter-body{display:flex;gap:24px;align-items:flex-start;padding:20px 0}.chapter-body p,.letter-page p{line-height:1.95;color:#d6d4c6;margin:0 0 18px}.chapter-body blockquote{border-left:2px solid #af8b4c;padding:12px 20px;color:#dec492;line-height:1.9;margin:14px 0}.granny-portrait{flex:0 0 128px;width:128px;height:128px;background:url('../assets/live/npcs.png') 0 0/1024px 384px;image-rendering:pixelated;border-bottom:1px solid #ae874c}.letter-index{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.letter-index h3{grid-column:1/-1;color:#d4bd8c}.letter-index button{text-align:left;font-size:12px;padding:10px}.letter-index button:disabled{opacity:.4}.letter-page{padding:30px;border:1px solid #a98a4a55;background:#40503b22}.promise-line{color:#adcdb7;border-bottom:1px solid #456451;padding:12px 0}.room-banner small{color:#c4b797;font-size:12px}@media(max-width:640px){.chapter-body{display:block}.granny-portrait{margin:auto}.letter-index{grid-template-columns:1fr}}
.shop-set{width:260px}.shop-set h3{display:block;line-height:1.5}.shop-set>small{display:block;white-space:normal;overflow-wrap:anywhere;line-height:1.7;margin-top:9px}.shop-set button{margin-top:10px}
.hub-progress{height:4px;background:#292e2a;margin:9px 0 6px;overflow:hidden}.hub-progress i{display:block;height:100%;background:linear-gradient(90deg,#688d7b,#d6b477)}
.shop-collection>.eyebrow{display:block;font-family:'Malgun Gothic',sans-serif;margin-bottom:5px;font-size:9px}.shop-set .story-depart{display:block;width:100%;background:#24483f;border-color:#6e9980;text-align:left}.chapter-tabs{display:flex;gap:7px;padding-bottom:10px;border-bottom:1px solid #8a744544}.chapter-tabs .selected{border-color:#b3cdb3;background:#315549}
.journey-recommendation{border-left:2px solid #9abf9e;padding:10px 14px;background:#3e61402b;margin:12px 0 16px}.journey-recommendation strong{display:block;color:#d7d5b6;font-size:13px;margin:3px 0}.journey-recommendation p{font-size:11px;color:#adbbaa;line-height:1.6}
@media(max-height:850px){.dialog[data-kind=prepare]{padding:14px 20px;max-height:98%;width:94%}.dialog[data-kind=prepare] .dialog-head{margin-bottom:6px}.dialog[data-kind=prepare] h2{font-size:21px;margin:2px 0 4px}.dialog[data-kind=prepare] .lede{font-size:10px;line-height:1.5}.dialog[data-kind=prepare] .journey-recommendation{padding:6px 10px;margin:8px 0}.dialog[data-kind=prepare] .journey-recommendation strong{font-size:11px;margin:2px 0}.dialog[data-kind=prepare] .journey-recommendation p{font-size:9px}.dialog[data-kind=prepare] .region{padding:9px 12px}.dialog[data-kind=prepare] .region h3{font-size:18px;margin:4px 0}.dialog[data-kind=prepare] .region p{font-size:10px;line-height:1.5;margin-top:3px!important}.dialog[data-kind=prepare] .rule{margin:8px 0}.dialog[data-kind=prepare] .starter-options{margin:7px 0}.dialog[data-kind=prepare] .starter{padding:6px 9px}.dialog[data-kind=prepare] .starter img{width:30px;height:30px}.dialog[data-kind=prepare] .starter strong{font-size:11px}.dialog[data-kind=prepare] .starter small{font-size:9px}.dialog[data-kind=prepare] .setting{margin:7px 0;font-size:11px}.dialog[data-kind=prepare] .dialog-foot button{padding:8px 10px;font-size:11px}}
.dialog-head .close{flex-shrink:0;position:sticky;top:0;background:#172329;z-index:1}.dialog-foot{flex-wrap:wrap}.dialog-foot>span{flex:1;min-width:150px}.chapter-tabs button{flex:1}.hud-tools{max-width:24%;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1000px){.shop-set{width:230px;padding:12px}.shop-set h3{font-size:15px}.shop-set>small{font-size:10px}.shop-set button{font-size:10px;padding:6px 9px}.shop-collection{min-width:155px;font-size:16px;padding:10px 12px}.reference-shop-nav{bottom:3%;gap:6px}.reference-shop-nav button{padding:8px 12px}.controls-hint{bottom:17%}.hud-tools{bottom:17%}.chapter-body{gap:15px;padding:12px 0}.granny-portrait{flex-basis:96px;width:96px;height:96px;background-size:768px 288px}}
@media(max-width:650px){.shop-set{width:185px;top:2%;right:2%;padding:9px}.shop-set h3{font-size:12px}.shop-set>small{font-size:9px;line-height:1.5}.shop-set button{margin-top:6px;font-size:9px;padding:5px}.shop-collection{min-width:125px;font-size:13px;top:2%;padding:7px}.shop-collection small{font-size:8px}.shop-depart{bottom:16%;right:2%}.reference-shop-nav button{padding:5px 10px}.journey-recommendation{padding:8px}.chapter-tabs{gap:4px}.chapter-tabs button{padding:6px}.hud-tools{max-width:35%;bottom:18%}.story-copy{padding:22px}.story-copy h2{margin:12px 0}.story-copy .row{margin-top:16px}}
@media(max-height:850px){.dialog[data-kind=prepare] .region{min-height:90px}}
