#scene{cursor:default}#scene:active{cursor:default}.scene-nav{display:flex;align-items:center;gap:20px}.scene-plan-link{font-size:14px;color:#ead7a2}.scene-top{align-items:flex-start}.scene-title{padding-top:4px}.guided-bottom{position:absolute;bottom:0;left:0;right:0;padding:55px 5% 16px;background:linear-gradient(transparent,#04110fed 40%,#04110f);z-index:2}.guided-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;font-size:14px;color:#d1d9c8}.guided-heading>div{display:flex;gap:24px;align-items:center}.guided-heading button{background:none;border:0;border-bottom:1px solid #b6c38955;padding:6px 0;font-size:14px;color:#e1d19a}.guided-heading a{font-size:14px;color:#e1d19a}.guided-choices{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #bcc79755;max-width:980px;margin:auto;background:#071c14e0;backdrop-filter:blur(10px)}.guided-choices .guide-point{padding:17px 22px;border-top:0;border-right:1px solid #bcc79740;gap:20px;font-size:18px}.guided-choices .guide-point:last-child{border-right:0}.guided-choices .guide-point:hover{background:#78995730}.guided-choices .guide-point>span:first-child{font:26px 'Cormorant Garamond',Georgia,serif;color:#c7c493}.guided-choices .guide-point>span:nth-child(2){font:26px 'Cormorant Garamond',Georgia,serif}.scene-disclaimer{margin:14px 0 0;text-align:center;font-size:10px;color:#94a58b;letter-spacing:.04em}.hotspot .hotspot-title{display:none}.hotspot:hover .hotspot-title,.hotspot:focus-visible .hotspot-title{display:block}.hotspot .beacon{width:37px;height:37px;box-shadow:0 0 28px #ffe49a38;background:#182c1ac9}.hotspot.discovered .beacon{border-color:#a3c2a7;background:#214435d9}.scene-status{top:120px}.scene-top .glass-button{padding:13px 17px}.scene-title h1{font-size:28px}.hero-copy{font-size:16px}.hero-copy br{display:initial}@media(max-width:850px){.scene-top{padding:19px 20px;flex-wrap:wrap}.scene-title{order:3;width:100%;padding-top:4px}.scene-nav{gap:15px}.scene-top .glass-button{margin-left:auto}.scene-title h1{font-size:27px}.guided-heading{font-size:13px}.guided-heading>div{gap:15px}.guided-choices .guide-point{padding:15px;gap:13px}.guided-choices .guide-point>span:nth-child(2){font-size:23px}}@media(max-width:650px){.scene-top{padding:14px;gap:12px}.scene-nav{gap:13px}.scene-plan-link{font-size:12px}.scene-back{padding:11px 10px}.scene-top .glass-button{font-size:12px;padding:11px}.scene-title{padding-top:0}.scene-title h1{font-size:28px}.scene-title .tiny-label{font-size:9px}.guided-bottom{padding:36px 14px 14px}.guided-heading{flex-wrap:wrap;gap:10px;margin-bottom:12px}.guided-heading>span{width:100%;font-size:13px}.guided-heading>div{width:100%;justify-content:space-between;gap:20px}.guided-heading a,.guided-heading button{font-size:12px}.guided-choices .guide-point{padding:14px 8px;gap:6px;justify-content:center}.guided-choices .guide-point>span:first-child{font-size:18px}.guided-choices .guide-point>span:nth-child(2){font-size:20px}.scene-disclaimer{font-size:9px;line-height:1.5;margin-top:12px}.hotspot .beacon{width:33px;height:33px;font-size:17px}.hero-copy{font-size:16px}.hero-copy br{display:none}.scene-status{top:133px}}

@media(max-width:850px){.guided-choices{grid-template-columns:repeat(2,1fr)}.guided-choices .guide-point:nth-child(2){border-right:0}.guided-choices .guide-point:nth-child(n+3){border-top:1px solid #bcc79740}}

.hero-caption{top:47%;right:6%;z-index:1;padding:12px 17px;background:#04100fe6;border:1px solid #d9cf9755;box-shadow:0 8px 30px #0005}.hero-caption>span{color:#fff0bb}.hero-caption p{color:#f4edd6}.hero-caption small{color:#dbe5d2}.guided-heading #scene-read{background:#d3c48c;color:#102017;padding:10px 14px;border:1px solid #eddfa9;font-weight:700}.section-art{margin:0 0 28px;position:relative;overflow:hidden}.section-art img{display:block;width:100%;height:clamp(200px,35vh,360px);object-fit:cover}.section-art::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#07120f88);pointer-events:none}#reader-copy{opacity:1}.guided-heading>div{flex-wrap:wrap}@media(max-width:850px){.hero-caption{top:auto;bottom:210px;right:5%;max-width:230px}.guided-heading #scene-read{font-size:13px}}@media(max-width:650px){.hero-caption{display:none}.guided-heading>div{gap:12px}.guided-heading #scene-read{padding:8px 10px}}

.library-view{grid-template-columns:1fr;padding:130px 5.4% 60px;gap:42px;background:#07121b}.library-intro{position:relative;isolation:isolate;min-height:650px;padding:56px 5%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden;border:1px solid #a5794f55}.library-intro #library-art{position:absolute;inset:0;margin:0;z-index:-2}.library-intro #library-art img{height:100%;width:100%;object-fit:cover;object-position:center}.library-intro #library-art::after{background:linear-gradient(90deg,#020e19ed 0%,#031323b3 34%,#04132410 65%),linear-gradient(0deg,#020b16aa,transparent 50%)}.library-intro>*:not(figure){position:relative;max-width:540px}.library-intro .back-link{color:#e3e6e4;margin-bottom:34px}.library-intro h1 em{color:#badbe8}.library-intro p{color:#e0e8e9;text-shadow:0 2px 8px #000}.library-intro .eyebrow{color:#e6bd8d}.library-view .article-list{padding-top:0;width:min(100%,1050px);margin:auto}.library-view .library-footer{margin:0}.library-intro .primary{background:linear-gradient(110deg,#d6b98f,#b9895c);border-color:#edd1a7;color:#13222b}@media(max-width:650px){.library-view{padding:100px 5% 35px;gap:25px}.library-intro{min-height:650px;padding:34px 7%;justify-content:flex-end}.library-intro #library-art img{object-position:42% center}.library-intro #library-art::after{background:linear-gradient(0deg,#020d1bf5 0%,#031526b3 40%,#03122215 80%)}.library-intro h1{font-size:56px}.library-intro .back-link{margin-bottom:30px}.library-intro p{font-size:16px}}

.library-view{gap:24px}.library-intro{min-height:340px;padding:30px 5%;justify-content:center}.library-intro .back-link{margin-bottom:20px}.library-intro h1{font-size:64px;line-height:.96;margin:17px 0}.library-intro p{margin-bottom:0}.library-view .article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:none}.library-view .article-row{min-height:158px;padding:24px;border:1px solid #a97d565e;background:linear-gradient(130deg,#112a3be8,#0b1924);align-items:center;gap:18px}.library-view .article-row:hover{background:#17364b}.library-view .article-row h2{font-size:32px;line-height:1.1;color:#f0e5cf}.library-view .article-row small{font-size:12px;color:#d9b98a}.library-view .article-row p{color:#c4d4df;font-size:14px}.library-view .article-index{font-size:30px;color:#b39e7e}.library-explore{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 0;border-top:1px solid #b6946344}.library-explore h2{font-size:34px}.library-explore p{font-size:16px;line-height:1.6;color:#b9c7ce;margin-top:8px}.library-explore .primary{flex-shrink:0}@media(max-width:650px){.library-intro{min-height:280px;padding:24px 7%}.library-intro h1{font-size:43px}.library-intro .back-link{margin-bottom:16px}.library-intro p{font-size:14px;line-height:1.6}.library-view .article-list{grid-template-columns:1fr;gap:12px}.library-view .article-row{min-height:122px;padding:18px 15px;gap:14px}.library-view .article-row h2{font-size:29px}.library-view .article-index{font-size:25px}.library-explore{flex-direction:column;align-items:flex-start;gap:20px}}

#reader-art{background:#080f18;border:1px solid #8197a533}#reader-art img{height:auto;max-height:660px;object-fit:contain;object-position:center}#reader-art::after{background:linear-gradient(0deg,#07120f33,transparent 25%)}@media(max-width:650px){#reader-art img{max-height:none}}

#reader-art{width:fit-content;max-width:100%;margin:0 auto 34px}#reader-art img{width:auto;max-width:100%}

dialog.illustrated{background-image:linear-gradient(#040d17b8,#040d17b8),var(--reader-image);background-size:cover;background-position:center;background-attachment:local,fixed;color:#f3eee1}dialog.illustrated article{background:transparent}dialog.illustrated #reader-copy{color:#f3eee1;text-shadow:0 1px 3px #000}dialog.illustrated h1{color:#fff2d9;text-shadow:0 2px 8px #000}dialog.illustrated .reader-toolbar{background:#07121ce0}dialog.illustrated .reader-meta,dialog.illustrated .reader-end{color:#dfe5e8}dialog.illustrated #reader-art{display:none}

dialog.illustrated{background-size:cover,auto max(140vh,177.7vw);background-position:center,center var(--art-progress,0%);background-repeat:no-repeat;background-attachment:local,fixed}@media(prefers-reduced-motion:reduce){dialog.illustrated{scroll-behavior:auto}}

dialog.illustrated.copper{--gold:#d7dade;--muted:#c6c9cd;--line:#cbd0d344;background-image:linear-gradient(#090b0ebd,#090b0ebd),var(--reader-image);color:#f2f3f5}dialog.illustrated.copper h1,dialog.illustrated.copper #reader-copy{color:#f2f3f5}dialog.illustrated.copper .reader-toolbar{background:#111318ed}

/* Keep the first-realm caption over its canal reflection, clear of the realm strip. */
.hero-caption{left:58%;right:auto;top:65%;bottom:auto;transform:translateX(-50%);padding:8px 12px;background:#04100f55;border-color:#d9cf9728;box-shadow:none;pointer-events:none}.hero-caption>span{font-size:42px}.hero-caption p{font-size:11px}.hero-caption small{font-size:11px}@media(min-width:651px) and (max-width:850px){.hero-caption{left:72%;top:auto;bottom:340px;max-width:none}}@media(max-width:650px){.hero-caption{display:none}}

.guided-choices{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1120px}.guided-choices .guide-point{padding:15px 12px}.guided-choices .guide-point>span:first-child{font-size:22px}@media(max-width:850px){.guided-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-choices .guide-point:last-child{grid-column:1/-1}}@media(max-width:650px){.guided-choices .guide-point>span:first-child{font-size:17px}.guided-choices .guide-point{padding:10px 8px}}

@media(min-width:1100px){.hero-caption{left:auto;right:6%;transform:none}}

dialog.illustrated.amber{--gold:#ebc788;--muted:#d8c9b1;background-image:linear-gradient(#120c06bd,#120c06bd),var(--reader-image)}dialog.illustrated.amber .reader-toolbar{background:#171108ed}

dialog.illustrated.crimson{--gold:#e6b8aa;--muted:#d9c4bf;background-image:linear-gradient(#130609bd,#130609bd),var(--reader-image)}dialog.illustrated.crimson .reader-toolbar{background:#1a0a0eed}

/* Let crimson artwork remain visible; concentrate contrast behind the reading column. */
dialog.illustrated.four-houses{background-image:linear-gradient(#08101844,#08101844),var(--reader-image);background-size:cover,min(1040px,94vw) auto;--gold:#ecd8ad}dialog.illustrated.four-houses article{background:linear-gradient(90deg,transparent,#08101899 10%,#08101899 90%,transparent)}dialog.illustrated.four-houses #reader-copy{text-shadow:0 1px 3px #000,0 0 6px #0009}@media(max-width:650px){dialog.illustrated.four-houses{background-size:cover,auto max(110svh,177.7vw)}}
dialog.illustrated.crimson{background-image:linear-gradient(#13060966,#13060966),var(--reader-image)}dialog.illustrated.crimson article{background:linear-gradient(90deg,transparent,#10060970 10%,#10060970 90%,transparent)}

/* Preserve the blue dawn and amber street detail around the Districts reading column. */
dialog.illustrated.districts{background-image:linear-gradient(#08101833,#08101833),var(--reader-image);background-size:cover,min(1040px,94vw) auto;--gold:#ecd0a0}dialog.illustrated.districts article{background:linear-gradient(90deg,transparent,#08101888 10%,#08101888 90%,transparent)}dialog.illustrated.districts #reader-copy{text-shadow:0 1px 3px #000,0 0 6px #0009}@media(max-width:650px){dialog.illustrated.districts{background-size:cover,auto max(110svh,177.7vw)}}

/* Keep the Peoples workshop violet and gold visible around readable text. */
dialog.illustrated.peoples{background-image:linear-gradient(#100b1833,#100b1833),var(--reader-image);background-size:cover,min(1040px,94vw) auto;--gold:#ebd1a1}dialog.illustrated.peoples article{background:linear-gradient(90deg,transparent,#100b1888 10%,#100b1888 90%,transparent)}dialog.illustrated.peoples #reader-copy{text-shadow:0 1px 3px #000,0 0 6px #0009}@media(max-width:650px){dialog.illustrated.peoples{background-size:cover,auto max(110svh,177.7vw)}}

/* Preserve the market lanterns and jewel accents around the reading column. */
dialog.illustrated.shadow-market{background-image:linear-gradient(#17090622,#17090622),var(--reader-image);background-size:cover,min(1040px,94vw) auto;--gold:#edc88c}dialog.illustrated.shadow-market article{background:linear-gradient(90deg,transparent,#17090688 10%,#17090688 90%,transparent)}dialog.illustrated.shadow-market #reader-copy{text-shadow:0 1px 3px #000,0 0 6px #0009}@media(max-width:650px){dialog.illustrated.shadow-market{background-size:cover,auto max(110svh,177.7vw)}}

/* Eight named stops; looking rotates the camera only at a stopped position. */
.guided-choices .guide-point{min-width:0}.guided-choices .guide-point>span:nth-child(2){min-width:0}#scene canvas{touch-action:none}
.guided-bottom{padding:14px 4%;background:#071510ed;border-top:1px solid #b7c49344;max-height:32svh;overflow:auto}.guided-heading{margin-bottom:10px}.guided-choices{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.guided-choices .guide-point{padding:9px 12px;gap:10px}.guided-choices .guide-point>span:nth-child(2){font:14px Manrope,Arial,sans-serif}.guided-choices .guide-point:last-child{grid-column:auto}.guide-point[aria-pressed=true]{background:#8b9d5544;border-color:#d8c991}.scene-disclaimer{margin:7px 0 0}#scene canvas{cursor:grab;outline-offset:-3px}#scene canvas.looking{cursor:grabbing}#scene canvas[data-navigation=travelling]{cursor:wait}.scene-status{top:112px;background:#071510c9;padding:7px 12px;pointer-events:none}.scene-status:empty{display:none}@media(max-width:650px){.guided-bottom{max-height:31svh;padding:10px 12px}.guided-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-choices .guide-point{justify-content:flex-start;padding:8px;min-height:48px}.guided-choices .guide-point>span:nth-child(2){font-size:12px}.guided-heading>span{font-size:12px}.guided-heading>div{gap:12px}.scene-status{top:143px;font-size:10px;max-width:90%;text-align:center}.scene-title h1{font-size:22px}.scene-disclaimer{display:none}}
/* Tablet navigation uses the same readable two-column layout as phones. */
@media(min-width:651px) and (max-width:850px){.guided-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-choices .guide-point{min-height:48px}.scene-status{top:158px;font-size:11px;max-width:90%;text-align:center}.guided-heading{flex-wrap:wrap;gap:8px}.guided-heading>span{width:100%}}
/* Keep the arrival title and Read action visible while the destination list scrolls. */
@media(max-width:850px){.guided-bottom{max-height:none;overflow:visible}.guided-choices{max-height:22svh;overflow:auto;overscroll-behavior:contain}.guided-heading>div{width:100%;justify-content:space-between}.scene-disclaimer{display:none}}

/* Stable, ordered travel controls; reading and starting-view reset stay separate. */
.guided-bottom{padding:12px 4%;max-height:48svh;overflow:auto;background:#071510f5}
.guide-instructions{max-width:1100px;margin:0 0 10px;color:#c6d3c0;font:13px/1.5 Manrope,Arial,sans-serif}
.guided-heading{display:block;min-height:22px;margin:0 0 10px;font:600 14px/1.5 Manrope,Arial,sans-serif}
.guide-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:1100px}
.guide-travel{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.guide-actions button{min-height:44px;border:1px solid #b8c18b66;background:#152a20;color:#e2dec6;font:600 14px/1.4 Manrope,Arial,sans-serif;padding:10px 14px;cursor:pointer}
.guide-actions #scene-next{background:#d3c48c;color:#102017;border-color:#eddfa9}
.guide-actions #scene-read{background:#203b35;color:#e8e4cd;border-color:#92ada3}
.guide-actions button:disabled,.guide-secondary button:disabled{opacity:.45;cursor:default}
.guide-all-stops{margin-top:12px;max-width:1100px}.guide-all-stops summary{font:13px/1.5 Manrope,Arial,sans-serif;color:#d6d8bc;cursor:pointer;padding:5px 0}
.guide-all-stops .guided-choices{margin-top:8px;max-height:20svh;overflow:auto;overscroll-behavior:contain}
.guide-secondary{display:flex;justify-content:space-between;gap:24px;max-width:1100px;margin-top:12px;padding-top:9px;border-top:1px solid #b8c18b33}
.guide-secondary button,.guide-secondary a{background:none;border:0;padding:5px 0;color:#b6c2ad;font:12px/1.5 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.guided-bottom button:focus-visible,.guided-bottom a:focus-visible,.guide-all-stops summary:focus-visible{outline:2px solid #eddfa9;outline-offset:3px}
@media(max-width:650px){.guided-bottom{padding:10px 12px;max-height:52svh}.guide-instructions{font-size:12px;margin-bottom:8px}.guided-heading{font-size:12px;min-height:36px;margin-bottom:7px}.guide-actions{grid-template-columns:1fr;gap:8px}.guide-actions button{font-size:13px;padding:8px 10px;min-height:42px}.guide-secondary{margin-top:9px;padding-top:6px}.guide-secondary button,.guide-secondary a{font-size:11px}.guide-all-stops{margin-top:8px}.guide-all-stops .guided-choices{max-height:17svh}.guide-all-stops summary{font-size:12px}}

#scene canvas[data-lore-hover]{cursor:pointer}
.lore-object-hint{position:absolute;z-index:1;pointer-events:none;background:#071510ed;border:1px solid #aebd8f70;border-radius:4px;padding:6px 9px;color:#eee4c8;font:12px/1.4 Manrope,Arial,sans-serif;max-width:220px}

.guide-exits{display:flex;gap:20px;justify-content:center;max-width:1100px;margin-top:9px;border-top:1px solid #b8c18b33;padding-top:4px}
.guide-exits a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:4px 12px;color:#c9d5c2;font:13px/1.5 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:4px}
.guide-exits a:hover{color:#f0e1b0;background:#a8b79b12}
.guide-utilities{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;max-width:1100px}
.guide-utilities .guide-all-stops{flex:1;min-width:0;margin-top:0}
.guide-utilities .guide-all-stops summary{display:list-item;min-height:40px;padding-top:10px;padding-bottom:10px}
.guide-utilities .guide-secondary{flex:none;margin:0;padding:0;border:0}
.guide-utilities .guide-secondary button{min-height:40px}
@media(max-width:650px){.guide-exits{margin-top:7px;gap:14px;padding-top:3px}.guide-exits a{font-size:12px}.guide-utilities{gap:10px}.guide-utilities .guide-all-stops summary{font-size:11px}.guide-utilities .guide-secondary button{font-size:10px}}
.guide-utilities:has(.guide-all-stops[open]){display:block}

/* Compact persistent dock; optional guidance opens above it without moving travel controls. */
.guided-bottom{padding:8px max(12px,4%);max-height:none;overflow:visible}
.guided-heading{min-height:21px;margin:0 0 6px;font-size:13px;line-height:21px}
.guide-actions{max-width:none;grid-template-columns:2fr 1fr;gap:10px}
.guide-actions button{min-height:44px;padding:8px 10px}
.guide-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.guide-exits{margin:0;padding:0;border:0;gap:12px;justify-content:flex-start}
.guide-exits a{min-height:44px;padding:4px 8px;font-size:13px}
.guide-options>summary{min-height:44px;display:flex;align-items:center;gap:6px;padding:4px 8px;font:13px/1.4 Manrope,Arial,sans-serif;cursor:pointer;color:#e1d19a}
.guide-options>summary::before{content:'+';font-size:18px}.guide-options[open]>summary::before{content:'−'}
.guide-options-panel{position:absolute;bottom:calc(100% + 8px);right:max(12px,4%);width:min(620px,92%);max-height:55svh;overflow:auto;overscroll-behavior:contain;padding:16px;background:#071510fa;border:1px solid #b7c49377;box-shadow:0 6px 30px #0008}
.guide-options-panel h2{font:600 18px/1.4 Manrope,Arial,sans-serif;margin:0 0 10px}.guide-options-panel h3{font:600 14px/1.4 Manrope,Arial,sans-serif;margin:12px 0 8px}
.guide-options-panel .guided-choices{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}
.guide-options-panel .guide-point{min-height:44px}.guide-options-panel .guide-secondary{margin-top:8px;padding-top:8px}.guide-options-panel .guide-secondary button{min-height:44px;font-size:13px}
.guide-options summary:focus-visible{outline:2px solid #eddfa9;outline-offset:2px}
@media(max-width:650px){.guided-heading{height:36px;min-height:36px;display:flex;align-items:center;font-size:12px;line-height:18px}.guide-actions{grid-template-columns:1fr;gap:6px}.guide-actions button{min-height:44px;font-size:13px}.guide-footer{gap:2px}.guide-exits{gap:0}.guide-exits a,.guide-options>summary{font-size:12px;padding:4px 6px}.guide-options-panel{max-height:45svh}.guide-options-panel .scene-disclaimer{display:block}}
@media(min-width:651px) and (max-height:600px){.scene-title h1{font-size:20px}.scene-title .tiny-label{display:none}.scene-top{padding:10px 4%;flex-wrap:nowrap}.scene-title{order:0;width:auto;padding:0}.scene-status{top:62px;font-size:11px;padding:4px 8px}.guide-options-panel{max-height:45svh}}

/* Reserve real canvas space above the dock, so the canal is never hidden behind it. */
.explore-view{display:grid;grid-template-rows:minmax(0,1fr) auto}
#scene{grid-row:1;min-height:0;position:relative}
.guided-bottom{position:relative;grid-row:2;bottom:auto;left:auto;right:auto}
@media(max-width:650px){.guide-actions{grid-template-columns:2fr 1fr;gap:6px}.guide-travel{gap:6px}.guide-actions button{height:60px;padding:6px;font-size:12px}.guided-heading{height:36px}.guide-options-panel .guided-choices{grid-template-columns:1fr}.scene-title{display:none}.scene-status{top:68px;font-size:11px;padding:4px 8px}.scene-top{flex-wrap:nowrap}}
