.map-page{min-height:100vh;background:radial-gradient(ellipse at 25% 40%,#10252780,transparent 65%),#050c0e;color:#ead7ae}.map-page nav [aria-current=page]{color:#f8d998;box-shadow:inset 0 -2px #b98c43;background:linear-gradient(0deg,#69201666,transparent)}.atlas{max-width:1800px;margin:auto;padding:28px 2.7% 10px}.atlas-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:stretch}.atlas-map-section{min-width:0}.atlas-heading h1{font-size:clamp(30px,3.5vw,54px);line-height:1.1;font-weight:400;font-style:italic;letter-spacing:0;text-transform:none;margin:0 0 7px;color:#efd09b}.atlas-heading p{font-size:clamp(13px,1.3vw,19px);font-style:italic;margin:0 0 15px;color:#e3d3ad}.map-shell{position:relative}.map-viewport{overflow:hidden;aspect-ratio:1672/941;position:relative;background:#071b1f;outline-offset:4px}.map-world{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.world-map{width:100%;height:100%;display:block;pointer-events:none;user-select:none}.map-viewport.is-zoomed{cursor:grab;touch-action:none}.map-viewport.dragging{cursor:grabbing}.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-40px) scale(var(--pin-scale,1));transform-origin:50% 40px;background:none;display:flex;flex-direction:column;align-items:center;padding:0;z-index:1;color:#ffe1a1;width:110px;filter:drop-shadow(0 2px 3px #000)}.map-pin>img{width:25px;height:40px;object-fit:contain;display:block;margin-bottom:3px;pointer-events:none}.map-pin span{font-size:12px;text-transform:uppercase;white-space:nowrap;background:url('assets/atlas-placa-v40.webp') center/100% 100% no-repeat;padding:9px 13px;min-width:103px;line-height:1.1}.map-pin[data-place=bruma],.map-pin[data-place=elyntar]{width:130px}.map-pin:hover,.map-pin[aria-pressed=true]{filter:brightness(1.22) drop-shadow(0 0 5px #e8b34f88);z-index:2}.map-pin:focus-visible,.atlas button:focus-visible,.atlas a:focus-visible{outline:2px solid #ffe3a1;outline-offset:3px}.map-controls{position:absolute;right:16px;bottom:16px;display:flex;align-items:center;background:#061013ee;border:1px solid #b2873f;z-index:4;box-shadow:0 2px 8px #0008}.map-controls button{background:none;color:#f4d59c;width:31px;height:30px;font-size:20px}.map-controls button:hover{background:#99773a55}.map-controls button:disabled{opacity:.35;cursor:default}.map-controls output{font-size:10px;min-width:36px;text-align:center}.place-panel{border:1px solid #b48439;outline:1px solid #755322;outline-offset:-5px;padding:19px 17px 17px;background:linear-gradient(140deg,#101618,#040808);display:flex;flex-direction:column;position:relative;box-shadow:0 8px 30px #0007}.place-panel:before,.place-panel:after{content:'◇';position:absolute;color:#d9a34c;font-size:15px;background:#080f10;line-height:1;left:12px;top:-7px;padding:0 3px}.place-panel:after{top:auto;left:auto;right:12px;bottom:-7px}.place-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px;min-height:57px}.place-heading img{object-fit:contain;width:58px;height:58px}.place-heading h2{font-size:29px;line-height:1.1;text-transform:uppercase;font-weight:400;margin:0 0 5px;color:#f4d6a0;overflow-wrap:anywhere}.place-heading p{font-size:9px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;margin:0;color:#d8c8a5}.place-image{display:block;width:100%;aspect-ratio:2.1;height:auto;object-fit:cover;border:1px solid #b78a40;clip-path:polygon(3% 0,97% 0,100% 8%,100% 92%,97% 100%,3% 100%,0 92%,0 8%)}#place-description{font-size:14px;line-height:1.48;margin:14px 5px 8px;color:#e0d9c7}.panel-divider{display:flex;align-items:center;gap:8px;color:#d1a254;margin:2px 0 8px}.panel-divider:before,.panel-divider:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#b2873f)}.panel-divider:after{transform:rotate(180deg)}#place-facts{margin:0 4px 16px;font-size:12px;line-height:1.5}#place-facts>div{display:grid;grid-template-columns:90px 1fr;gap:5px;margin:5px 0}#place-facts dt{color:#c7a363}#place-facts dd{margin:0;color:#eadfc9}.place-actions{display:grid;gap:7px;margin-top:auto}.atlas-button{min-height:43px;display:flex;align-items:center;justify-content:center;gap:18px;background:url('assets/atlas-placa-v40.webp') center/100% 100% no-repeat;color:#f1d69b;font-size:15px;letter-spacing:.03em;text-transform:uppercase;padding:10px 25px;text-decoration:none}.atlas-button span{font-size:24px;line-height:1}.atlas-button:hover{filter:brightness(1.3);background-color:#55150d66}.featured-heading{display:flex;align-items:center;gap:20px;margin:22px 0 15px}.featured-heading h2{font-size:22px;letter-spacing:.04em;font-weight:400;text-transform:uppercase;margin:0;color:#eacb96;text-align:center}.featured-heading>span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#c08e3d);position:relative}.featured-heading>span:after{content:'◇';position:absolute;right:-3px;top:-9px;color:#d5a457}.featured-heading>span:last-child{transform:rotate(180deg)}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.featured-place{position:relative;padding:0;height:116px;overflow:hidden;background:#0c181a;border:1px solid #b58b46;clip-path:polygon(4% 0,96% 0,100% 9%,100% 91%,96% 100%,4% 100%,0 91%,0 9%)}.featured-place>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s,filter .3s;filter:brightness(.85)}.featured-place>span{position:absolute;inset:0;background:linear-gradient(0deg,#020809f0,transparent 95%);display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;padding:14px 12px;color:#f4ddb3;text-shadow:0 2px 4px #000}.featured-place strong{font-size:19px;line-height:1.1;font-weight:400;text-transform:uppercase}.featured-place small{font-style:italic;font-size:12px;margin-top:5px}.featured-place:hover>img{transform:scale(1.05);filter:brightness(1.1)}.featured-place[aria-pressed=true]{border-color:#ffe4a7;box-shadow:inset 0 0 10px #f6c575}.map-status{font-size:11px;text-align:center;color:#b6b7a6;margin:14px 0 8px}.map-page footer{margin-top:0;background:#03090a}.territory-dialog{padding:0;width:min(680px,calc(100% - 28px));max-height:90dvh;overflow:auto;background:#081215;color:#e7ddc7;border:1px solid #bc9451}.territory-dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}.territory-dialog>img{width:100%;aspect-ratio:2;object-fit:cover;display:block}.territory-close{position:absolute;right:12px;top:12px;background:#061013eb;border:1px solid #b39051;color:#efd8a8;width:38px;height:38px;font-size:25px}.territory-copy{padding:25px}.territory-copy h2{font-weight:400;font-size:34px;margin:12px 0}.territory-copy>p:not(.eyebrow){white-space:pre-line;line-height:1.7;font-size:15px}.territory-copy .atlas-button{max-width:260px;margin-top:22px}.territory-copy [hidden]{display:none}@media(min-width:1500px){.atlas-layout{grid-template-columns:minmax(0,1fr) 365px}.place-heading h2{font-size:34px}#place-description{font-size:17px}.featured-place{height:140px}}@media(max-width:1050px){.atlas-layout{grid-template-columns:minmax(0,1fr) 265px;gap:16px}.place-panel{padding:15px 13px}.place-heading{gap:8px}.place-heading h2{font-size:24px}.place-heading img{width:45px;height:45px}#place-description{font-size:12px}.map-pin{width:90px}.map-pin>img{width:20px;height:30px}.map-pin span{font-size:10px;min-width:85px;padding:8px 10px}.featured-place strong{font-size:15px}.featured-place{height:100px}}@media(max-width:760px){.atlas{padding:24px 16px 8px}.atlas-layout{grid-template-columns:1fr}.atlas-heading h1{font-size:36px}.atlas-heading p{font-size:14px;max-width:90%}.map-shell{overflow:hidden}.map-viewport{aspect-ratio:1672/941}.map-world{width:100%;height:100%;top:0;left:0}.map-pin{width:90px}.map-pin span{font-size:9px;min-width:80px}.map-pin>img{width:19px;height:28px}.map-controls{bottom:10px;right:10px}.place-panel{padding:20px}.place-heading h2{font-size:28px}.place-image{aspect-ratio:2.4}.place-heading img{width:54px;height:54px}#place-description{font-size:15px}.place-actions{grid-template-columns:1fr 1fr}.atlas-button{font-size:12px;padding:10px 15px;gap:10px}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.featured-place{height:120px}.featured-place:last-child{grid-column:1/-1}.featured-heading{gap:12px}.featured-heading h2{font-size:17px}.featured-place strong{font-size:19px}}@media(prefers-reduced-motion:reduce){.featured-place>img{transition:none}}

@media(max-width:760px){.map-pin{width:70px;transform:translate(-50%,-28px) scale(var(--pin-scale,1));transform-origin:50% 28px}.map-pin span{font-size:8px;min-width:66px;padding:6px 8px}.map-pin[data-place=bruma],.map-pin[data-place=elyntar]{width:95px}.map-pin>img{height:25px;margin-bottom:3px}.map-controls{bottom:7px;right:7px}.map-controls button{width:26px;height:26px}.map-controls output{min-width:30px;font-size:9px}}
.atlas-heading h1{width:auto;max-width:100%}.atlas-layout>*{min-width:0}

/* Título oficial fornecido para a página Mapa. */
.atlas-heading h1:has(.atlas-title-image){width:240px;max-width:65%;margin:0 0 12px;line-height:0}.atlas-title-image{display:block;width:100%;height:auto}@media(max-width:760px){.atlas-heading h1:has(.atlas-title-image){width:210px}}

/* Entrada de Oakhaven. */
.oakhaven-road[hidden],.atlas-layout[hidden]{display:none}.road-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px}.road-heading h1{font-size:42px;font-weight:400;line-height:1.1;width:auto;margin:8px 0 0}.road-heading .eyebrow{font-size:10px;margin:0}.road-heading .atlas-button{font-size:11px;min-width:230px}.road-hint{font-size:12px;line-height:1.6;color:#c6c2af;margin:0 0 18px}.road-scroll{overflow:auto;max-width:100%;border:1px solid #9c783c;scrollbar-width:thin;scrollbar-color:#a4834e #081215}.road-canvas{position:relative;min-width:950px;container-type:inline-size}.road-canvas>img{display:block;width:100%;height:auto}.road-sign{position:absolute;background:transparent;color:#f4efdc;text-shadow:0 1px 3px #000;font-family:Arial,sans-serif;font-size:1.6cqw;font-weight:600;letter-spacing:.01em;line-height:1.1;transform:translateY(-50%) rotate(-5deg);border-radius:5px;display:flex;align-items:center;justify-content:center;padding:0}.sign-oakhaven{left:76.9%;top:27.6%;width:16.2%;height:8.3%;padding-left:3.5cqw}.sign-haven{left:79.8%;top:38.2%;width:14%;height:7.9%;padding-right:3.2cqw;font-size:1.45cqw}.sign-ann{left:79%;top:48.1%;width:14.1%;height:7.8%;padding-left:3cqw;transform:translateY(-50%) rotate(-2deg)}.road-sign:hover{color:#fff;background:#e7d18a12;box-shadow:0 0 12px #e9d18444}.road-sign:focus-visible{outline:2px solid #ffe3a1;outline-offset:3px}@media(max-width:760px){.road-heading{align-items:flex-start;flex-direction:column;gap:14px}.road-heading h1{font-size:34px}.road-heading .atlas-button{min-width:220px}.road-canvas{min-width:950px}}

/* Isola o resumo das regras de texto dos cartões da homepage. */
#territory-dialog .territory-copy{display:block;width:100%;max-width:none;min-width:0;flex:none;text-align:left;padding:28px 32px 32px}#territory-dialog .territory-copy h2{width:auto;max-width:none;margin:10px 0 18px}#territory-dialog #territory-description{width:100%;max-width:none;text-align:left;line-height:1.75;font-size:16px;font-weight:400;white-space:pre-line;overflow-wrap:break-word}#territory-dialog .territory-copy .atlas-button{width:280px;max-width:100%;margin:24px 0 0;text-align:center;font-size:13px}#territory-dialog .territory-copy .eyebrow{max-width:none}#territory-dialog>img{aspect-ratio:16/9;object-fit:cover}.map-page #place-description{font-weight:400}@media(max-width:600px){#territory-dialog .territory-copy{padding:22px}#territory-dialog #territory-description{font-size:15px}}

.oakhaven-city[hidden]{display:none}.city-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.city-toolbar h1{width:auto;max-width:100%;font-size:36px;font-weight:400}.city-toolbar .atlas-button{font-size:12px;min-width:210px}.city-scroll{max-width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#b18c4c #081215}.city-canvas{position:relative;min-width:1100px;container-type:inline-size}.city-canvas>img{display:block;width:100%;height:auto}.city-map-title{position:absolute;top:4%;left:10.3%;color:#e7bb7f;font-size:2.9cqw;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 5px #000;line-height:1.2}.city-map-title small{display:block;font-size:.95cqw;letter-spacing:.3em;text-align:center;margin-top:.5cqw}.city-destination{position:absolute;left:var(--left);top:var(--top);width:var(--width);height:var(--height);transform:translateY(-50%);padding:0 2px;background:transparent;color:#ffe2ac;text-align:center;font-size:1.15cqw;line-height:1.07;text-shadow:0 2px 3px #000;display:block;align-content:center}.city-destination small{font-size:.9cqw}.city-destination:hover{color:#fff5d5;background:#e5b65318;box-shadow:0 0 12px #f1ca6c33}.city-destination:focus-visible{outline:2px solid #ffe3a1;outline-offset:3px}@media(max-width:760px){.city-toolbar{flex-direction:column;align-items:flex-start}.city-toolbar h1{font-size:30px}.city-canvas{min-width:1100px}}

.city-map-title{font-size:2.6cqw;line-height:1}.city-map-title small{margin-top:.3cqw}

.ravenwood-view[hidden]{display:none}.ravenwood-scroll{max-width:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#b18c4c #081215}.ravenwood-canvas{position:relative;min-width:1000px;container-type:inline-size}.ravenwood-canvas>img{display:block;width:100%;height:auto}.mansion-sign{position:absolute;background:transparent;color:#f1d6a5;font-size:1.35cqw;line-height:1.1;text-align:center;padding:0 3px;display:flex;align-items:center;justify-content:center;text-shadow:0 2px 3px #000;transform:translateY(-50%) rotate(-3deg)}.mansion-fairchild{left:80.6%;top:39.1%;width:14%;height:5.8%}.mansion-hargraves{left:75.8%;top:49.7%;width:14%;height:6%;transform:translateY(-50%) rotate(-2deg)}.mansion-thorne{left:80.3%;top:61.3%;width:14.2%;height:6%;transform:translateY(-50%)}.mansion-sign:hover{color:#fff3d5;background:#f5ce7514;box-shadow:0 0 10px #f1ce6c33}.mansion-sign:focus-visible{outline:2px solid #ffe3a1;outline-offset:3px}
