/* Dedicated map canvas, framed by reserved sponsor inventory. */
:root{--ad-rail:150px;--ad-bottom:88px;--map-top:112px;--map-gap:12px}
body.viewer{background:#110e18}
.stage{inset:var(--map-top) calc(var(--ad-rail) + var(--map-gap)) calc(var(--ad-bottom) + 14px);border:1px solid #c5a36c40;border-radius:3px;background:radial-gradient(ellipse at 50% 45%,#665e5c,#312638 72%,#19141e)}
.stage:after{opacity:.2}.atlas-ui{position:relative;z-index:20;font-family:var(--font-ui);pointer-events:none}.atlas-ui button,.atlas-ui a,.atlas-ui input,.atlas-ui aside,.atlas-ui dialog{pointer-events:auto}
.atlas-header{position:fixed;top:0;left:0;right:0;height:70px;display:flex;align-items:center;gap:26px;padding:0 26px;border-bottom:1px solid #c8aa7130;background:#18131e}
.atlas-brand{color:#e7d5b0;white-space:nowrap;font:600 14px var(--font-caps);letter-spacing:.16em;display:flex;gap:10px;align-items:center}.atlas-brand small{font:9px var(--font-mono);letter-spacing:.2em;opacity:.65}.atlas-brand span{font-size:29px}.atlas-brand:hover{text-decoration:none;color:#fff4da}
.atlas-book{display:flex;flex-direction:column;gap:3px;padding-left:24px;border-left:1px solid #c5a36c40}.atlas-book strong{font:500 17px var(--font-label);letter-spacing:.04em}.atlas-book>span{font:10px var(--font-mono);color:#ae9db8}
.atlas-search{margin-left:auto;position:relative;pointer-events:auto}.atlas-search input{width:220px;color:#ede3d5;background:#292132;border:1px solid #ddc7a52b;border-radius:4px;padding:10px 14px;font:12px var(--font-ui)}
#place-results{position:absolute;top:46px;right:0;width:300px;max-height:60vh;overflow:auto;background:#211a2a;border:1px solid #b99b6655;box-shadow:0 12px 40px #0008;border-radius:6px;z-index:35}
#place-results button{display:flex;flex-direction:column;gap:5px;text-align:left;padding:12px 16px;background:transparent;border:0;border-bottom:1px solid #fff1;width:100%;color:#e7d5b0;cursor:pointer}#place-results button:hover,#place-results button:focus{background:#ffffff10}#place-results small{color:#aa9aae}#place-results p{padding:16px}
.atlas-tabs{position:fixed;top:70px;height:42px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:24px}.atlas-tabs button{border:0;border-bottom:2px solid transparent;color:#b0a5bb;background:none;font:11px var(--font-mono);height:42px;cursor:pointer}.atlas-tabs button[aria-current=true]{color:#ead5ab;border-color:#d0af73}
.atlas-ad{position:fixed;display:flex;flex-direction:column;gap:14px;align-items:center;color:#807487;pointer-events:none!important}.atlas-ad>span{font:8px var(--font-mono);letter-spacing:.17em}.atlas-ad--left,.atlas-ad--right{top:calc(var(--map-top) + 20px);bottom:calc(var(--ad-bottom) + 30px);width:var(--ad-rail);justify-content:center}.atlas-ad--left{left:0}.atlas-ad--right{right:0}.atlas-ad .ad-slot{width:calc(100% - 24px);height:min(540px,70%);display:flex;flex-direction:column;gap:20px;justify-content:center;background:#19141e;border:1px solid #d2b78317;border-radius:2px;letter-spacing:normal}.atlas-ad .ad-slot:before{content:none}.atlas-ad i{font-style:normal;font-size:30px;color:#8c78534d}.atlas-ad small{text-align:center;font:italic 13px/1.5 var(--font-body);text-transform:none;color:#756b7a}
.atlas-ad--bottom{bottom:10px;height:var(--ad-bottom);left:calc(var(--ad-rail) + 12px);right:calc(var(--ad-rail) + 12px);flex-direction:row;gap:14px;justify-content:center}.atlas-ad--bottom .ad-slot{width:min(728px,100%);height:64px;flex-direction:row;gap:18px}.atlas-ad--bottom>span{writing-mode:vertical-rl;font-size:7px}.atlas-ad--bottom i{font-size:22px}.atlas-ad--bottom small{font-size:15px}
.atlas-btn{border:1px solid #d1b68235;border-radius:5px;background:#251d30;color:#e9d9bb;min-width:36px;height:36px;padding:0 10px;font:13px var(--font-ui);cursor:pointer;transition:background .16s}.atlas-btn:hover{background:#3d2e4e}.atlas-btn[aria-pressed=true]{background:#5f4764;border-color:#c2a172}
.atlas-caption{position:fixed;top:calc(var(--map-top) + 18px);left:calc(var(--ad-rail) + 30px);display:flex;flex-direction:column;gap:7px;text-shadow:0 2px 10px #000;color:#f3dfb7}.atlas-caption>span{font:17px var(--font-caps);letter-spacing:.05em}.atlas-caption small{font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.15em;opacity:.8}
.atlas-tools{position:fixed;bottom:calc(var(--ad-bottom) + 32px);right:calc(var(--ad-rail) + 28px);display:flex;gap:4px;padding:6px;border:1px solid #d1b68230;border-radius:7px;background:#17121de8;pointer-events:auto;box-shadow:0 8px 24px #0004}.atlas-tool-divider{width:1px;background:#fff2;margin:5px}
.atlas-instructions{position:fixed;bottom:calc(var(--ad-bottom) + 45px);left:calc(var(--ad-rail) + 32px);font:10px var(--font-mono);color:#d9c7ae;text-shadow:0 1px 8px #000}.atlas-instructions span{opacity:.4;margin:0 8px}
.location-card{position:fixed;right:calc(var(--ad-rail) + 30px);top:calc(var(--map-top) + 18px);width:290px;max-height:calc(100dvh - 280px);overflow:auto;background:#1f1827f2;border:1px solid #d1b68250;padding:22px;border-radius:8px;box-shadow:0 10px 40px #0005;backdrop-filter:blur(15px)}.location-close{position:absolute;right:8px;top:8px;background:none;border:0;font-size:21px}.location-kind{font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:#bea4cb;margin-bottom:10px;padding-right:20px}.location-card h2{font:25px/1.1 var(--font-label);margin:0 0 10px;color:#ead8b8}.location-card p:not(.location-kind){font:17px/1.45 var(--font-body);color:#cec2d4}.location-note{display:block;font:9px/1.5 var(--font-mono);color:#a797ad;margin-top:12px}.location-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.location-actions .atlas-btn{font-size:11px}
.atlas-transition{position:fixed;inset:var(--map-top) calc(var(--ad-rail) + 12px) calc(var(--ad-bottom) + 14px);display:grid;place-items:center;background:#221b2cf0;color:#d7bf91;font:20px var(--font-label);z-index:40}
#map-help{max-width:480px;border:1px solid #bca16b66;border-radius:10px;background:#211a2a;color:#ede0cc;padding:36px;box-shadow:0 20px 90px #000a}#map-help::backdrop{background:#08060dba;backdrop-filter:blur(5px)}#map-help h2{font:32px var(--font-label);margin:12px 0}#map-help p{font:18px/1.45 var(--font-body)}#map-help dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font:12px var(--font-ui);padding:16px 0}#map-help dd{color:#bbaec6;margin:0}.dialog-close{position:absolute;right:10px;top:10px}#atlas-toast{position:fixed;bottom:120px;left:50%;transform:translateX(-50%);background:#211a2a;padding:14px 22px;border:1px solid #d1b68250;border-radius:5px}
@media(max-width:1199px){:root{--ad-rail:96px}.atlas-ad small{font-size:11px}.atlas-brand small{display:none}.atlas-instructions{display:none}.atlas-header{gap:16px;padding:0 18px}}
@media(max-width:760px){:root{--ad-rail:0px;--ad-bottom:65px;--map-top:138px;--map-gap:8px}.atlas-header{height:96px;flex-wrap:wrap;gap:6px 12px;padding:10px 14px}.atlas-brand{font-size:11px;flex:1}.atlas-brand span{font-size:21px}.atlas-book{padding:0;border:0;align-items:flex-end}.atlas-book strong{font-size:14px}.atlas-book>span{font-size:8px}.atlas-search{order:4;width:100%;margin:0}.atlas-search input{width:100%;height:32px}.atlas-header>#help-toggle{min-width:30px;width:30px;height:30px}.atlas-tabs{top:96px;gap:14px}.atlas-tabs button{font-size:9px}.atlas-ad--left,.atlas-ad--right{display:none}.atlas-ad--bottom{height:55px;bottom:8px;left:8px;right:8px}.atlas-ad--bottom .ad-slot{height:50px}.atlas-caption{left:22px;top:154px}.atlas-caption>span{font-size:13px}.atlas-caption small{font-size:8px}.atlas-tools{right:18px;left:18px;justify-content:center;bottom:calc(var(--ad-bottom) + 25px);gap:3px}.atlas-btn{min-width:32px;height:34px;padding:0 8px}.atlas-tools .atlas-btn{flex:1}.location-card{width:min(300px,calc(100vw - 44px));right:22px;top:198px;max-height:calc(100dvh - 360px)}#place-results{width:100%;top:36px}.atlas-transition{left:8px;right:8px}}
.lbl--interpreted .lbl__text{font-style:italic}
.atlas-caption{background:linear-gradient(90deg,#22182ecc,transparent);padding:10px 20px 10px 12px;border-radius:3px;pointer-events:none}
.atlas-instructions{background:#211b2aba;padding:6px 8px;border-radius:3px}

/* Each book carries its own light and atmosphere. */
html[data-book="mistborn-the-final-empire"] .aerial-viewer{--book-bg:#101620;--book-surface:#242e3d;background:#101620}html[data-book="mistborn-the-final-empire"] body{background:#101620}html[data-book="mistborn-the-final-empire"] .stage::after{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 20% 50%,#b0c4de12,transparent 50%),radial-gradient(ellipse at 85% 65%,#d3dcea14,transparent 55%);animation:mist-drift 24s ease-in-out infinite alternate;z-index:2}@keyframes mist-drift{to{transform:translateX(3%);opacity:.5}}@media(prefers-reduced-motion:reduce){html[data-book="mistborn-the-final-empire"] .stage::after{animation:none}}

html[data-book="mistborn-the-final-empire"] .atlas-header,html[data-book="mistborn-the-final-empire"] .atlas-tools,html[data-book="mistborn-the-final-empire"] .location-card,html[data-book="mistborn-the-final-empire"] .atlas-search input,html[data-book="mistborn-the-final-empire"] #place-results{background:#1a2332}html[data-book="mistborn-the-final-empire"] .atlas-btn{background:#253041;border-color:#79899d66}html[data-book="mistborn-the-final-empire"] .atlas-ad .ad-slot{background:#151d2a;border-color:#8da2bb22}html[data-book="mistborn-the-final-empire"] .atlas-caption{background:linear-gradient(90deg,#182737d9,#18273700)}
html[data-book="mistborn-the-final-empire"] .stage{background:radial-gradient(ellipse at 50% 45%,#5a6878,#253142 72%,#141c29)}html[data-book="mistborn-the-final-empire"] .stage::before{background:radial-gradient(ellipse at 50% 45%,#34455b66,transparent 70%),linear-gradient(#090f19,#172335,#090f19)}html[data-book="mistborn-the-final-empire"] .loader{background:radial-gradient(ellipse at 50% 42%,#334359,#192436 40%,#0b121e)}

.atlas-weather{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.stage{overflow:hidden!important}.atlas-brand{white-space:nowrap;font-size:12px;letter-spacing:.13em}.atlas-brand small{display:none}
html[data-book="mistborn-the-final-empire"] .stage::after{display:none}

.atlas-cartography{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
@media(max-width:760px){
 .atlas-header{display:grid;grid-template-columns:auto minmax(0,1fr) 30px;grid-template-rows:1fr 32px;gap:6px 8px}
 .atlas-brand{font-size:10px;gap:6px;grid-column:1;grid-row:1}
 .atlas-book{min-width:0;grid-column:2;grid-row:1;overflow:hidden}
 .atlas-book strong{max-width:100%;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .atlas-book>span{font-size:7px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .atlas-header>#help-toggle{grid-column:3;grid-row:1}
 .atlas-search{grid-column:1/-1;grid-row:2}
}

/* Prythian keeps its own garden-and-copper art direction. */
html[data-book="a-court-of-thorns-and-roses"] body{background:#102522}
html[data-book="a-court-of-thorns-and-roses"] .atlas-header{background:#17322f}
html[data-book="a-court-of-thorns-and-roses"] .stage{background:radial-gradient(ellipse at 50% 45%,#82988b,#304c47 72%,#142d2b)}
html[data-book="a-court-of-thorns-and-roses"] .stage::before{background:linear-gradient(#183935,#46645a,#193a35)}
html[data-book="a-court-of-thorns-and-roses"] .atlas-btn,html[data-book="a-court-of-thorns-and-roses"] .atlas-tools,html[data-book="a-court-of-thorns-and-roses"] .location-card,html[data-book="a-court-of-thorns-and-roses"] #place-results,html[data-book="a-court-of-thorns-and-roses"] .atlas-search input{background:#243e38;color:#eee4ce;border-color:#cab18b55}
html[data-book="a-court-of-thorns-and-roses"] .atlas-ad .ad-slot{background:#18312c}
html[data-book="a-court-of-thorns-and-roses"] .atlas-transition,html[data-book="a-court-of-thorns-and-roses"] .loader{background:#16332e}

/* Short court titles fit the narrow, published outline of Prythian. */
html[data-book="a-court-of-thorns-and-roses"] .lbl--region .lbl__text { font-size:13px; letter-spacing:.09em; padding-left:.09em; }
