/* O mapa tem sua própria moldura: não herda o layout de páginas editoriais. */
body.metaverse-app {
    --mv-surface: rgba(13, 16, 23, .92);
    --mv-line: rgba(223, 206, 152, .16);
    background: #06080d;
}
body.metaverse-app #starfield-bg { opacity: .55; }
.metaverse-app .panel,
body.metaverse-app #mage-orb,
body.metaverse-app #presence-pill {
    background: var(--mv-surface);
    border-color: var(--mv-line);
    box-shadow: 0 12px 36px rgba(0, 0, 0, .2);
}
.metaverse-app :is(.panel, #mage-orb, #map-controls, #presence-feed) { border-radius: 14px !important; }
.metaverse-app :is(.ctrl-btn, .shell-btn, .shell-tab, .auth-btn, #mv-join-cta, .cp-go, .cp-x) { border-radius: 9px !important; }
.metaverse-app :is(#presence-pill, #token-balloon, .me-chip, .mo-track, .mo-track > span) { border-radius: 999px !important; }
.metaverse-app :is(.legend-dot, .pr-dot, .me-avatar) { border-radius: 50% !important; }
.metaverse-app :is(button, a, summary, input):focus-visible { outline: 2px solid #facc15; outline-offset: 4px; }
body.metaverse-app #shell-bar { min-height: 58px; padding: 9px 20px; gap: 10px; background: rgba(9, 11, 17, .97); border-color: var(--mv-line); }
body.metaverse-app #shell-brand img { height: 34px; }
body.metaverse-app #shell-tabs { min-width: 0; }
body.metaverse-app #mv-join-cta {
    min-height: 42px; padding: 10px 16px; font-weight: 700; letter-spacing: 0;
    background: linear-gradient(110deg, #f5d46c, #dfab36);
    border-color: #f5d46c; box-shadow: 0 4px 20px rgba(223, 171, 54, .14); animation: none;
}
body.metaverse-app #mv-join-cta:hover { filter: brightness(1.08); }
body.metaverse-app #map-controls { padding: 7px; gap: 6px; border: 1px solid var(--mv-line); background: var(--mv-surface); backdrop-filter: blur(12px); }
.metaverse-app .ctrl-btn { background: rgba(255, 255, 255, .025); border-color: rgba(255, 255, 255, .09); color: #b9bdc9; }
.metaverse-app .ctrl-btn:hover,
.metaverse-app .ctrl-btn.active { color: #f3d477; border-color: rgba(243, 212, 119, .5); background: rgba(243, 212, 119, .09); }
body.metaverse-app #legend { overflow: hidden; display: flex; flex-direction: column; }
body.metaverse-app #legend-toggle { flex: 0 0 auto; padding: 3px 2px 13px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
body.metaverse-app #legend-toggle > span { color: #d9d7d0; letter-spacing: .16em; }
body.metaverse-app #legend-items { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 5px 2px 0 0; margin-top: 7px; gap: 2px; scrollbar-width: thin; scrollbar-color: #685b36 transparent; }
body.metaverse-app #legend.collapsed { bottom: auto; }
body.metaverse-app #legend.collapsed #legend-toggle { padding-bottom: 3px; border-bottom: 0; }
.metaverse-app .mv-legend-row { width: 100%; min-height: 30px; padding: 5px 6px; text-align: left; color: #c7c9d1; font: inherit; border: 0; border-radius: 6px !important; background: transparent; }
.metaverse-app .mv-legend-row:hover { color: #f3d477; background: rgba(243, 212, 119, .07); }
.metaverse-app .mv-legend-row > span:last-child { font-variant-numeric: tabular-nums; color: #8e94a6; font-size: 10px; }
.metaverse-app .legend-dot { width: 7px; height: 7px; box-shadow: 0 0 7px color-mix(in srgb, currentColor 45%, transparent); }
body.metaverse-app #search-bar { min-height: 54px; padding: 10px 15px; border-color: rgba(236, 201, 104, .36); box-shadow: 0 6px 28px rgba(0, 0, 0, .3); }
body.metaverse-app #search-bar:focus-within { border-color: #f3d477; box-shadow: 0 0 0 3px rgba(243, 212, 119, .08); }
body.metaverse-app #search { min-width: 0; }
body.metaverse-app #search-bar kbd { flex-shrink: 0; border-radius: 5px !important; }
.metaverse-app .sw-hint { color: #9096a7; }
body.metaverse-app #mv-ticker { height: 36px; border-color: var(--mv-line); background: rgba(9, 11, 17, .97); }
.metaverse-app .mvt-item { font-size: 11px; }
body.metaverse-app #map-count { background: transparent; border: 0; box-shadow: none; color: #959cad; }
body.metaverse-app #map-count #page-count { color: #e6ce83; }
#map-heading { position: fixed; z-index: 20; pointer-events: none; }
.map-eyebrow { display: block; margin-bottom: 7px; color: #c5ad68; font-size: 9px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
#map-heading h1 { margin: 0; font-size: 30px; font-weight: 400; line-height: 1.2; color: #f4f0e7; }
#map-heading p { margin: 8px 0 0; color: #9097a9; font-size: 12px; }
.metaverse-app .mv-menu-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
body.metaverse-app #mv-resources { margin: 0 16px; padding: 16px 0; border-top: 1px solid var(--mv-line); font-size: 12px; color: #c9b374; }
body.metaverse-app #mv-resources summary { cursor: pointer; padding: 6px 0; }
body.metaverse-app #mv-resources .search-section { margin: 0; padding: 0; border: 0; background: transparent; font: 12px/1.6 'Lato', sans-serif; }
body.metaverse-app #mv-resources .public-seo-links { padding: 12px 0 0; }
body.metaverse-app #mv-resources h2 { margin: 18px 0 10px; color: #d7d9e0; font: 700 12px/1.4 'Lato', sans-serif; }
body.metaverse-app #mv-resources nav { display: block; }
body.metaverse-app #mv-resources a { display: block; margin: 0; padding: 7px 0; color: #b7bdcc; }
body.metaverse-app #chaos-legal-bar { padding: 16px; margin: 0; border-top: 1px solid var(--mv-line); background: transparent; text-align: left; font: 10px/1.7 'Lato', sans-serif; color: #8c93a5; }
body.metaverse-app #chaos-legal-bar p { margin: 0 0 10px; }
body.metaverse-app #chaos-legal-bar strong { font-weight: 400; color: #bcc1cd; }
body.metaverse-app #chaos-legal-bar .clb-links { display: flex; flex-wrap: wrap; gap: 6px 12px; }
body.metaverse-app #chaos-legal-bar a { color: #bcc1cd; text-decoration: none; }
body.metaverse-app #chaos-legal-bar a:hover { color: #f3d477; }

@media (min-width: 641px) {
    body.metaverse-app #graph-view { inset: 204px 96px 152px 300px; width: auto; height: auto; }
    #map-heading { top: 86px; left: 312px; }
    body.metaverse-app #mage-orb { top: 82px; left: 24px; width: 252px; max-width: none; min-height: 140px; padding: 17px 14px; gap: 12px; align-items: flex-start; text-align: left; }
    body.metaverse-app #mage-orb .mo-ring { width: 48px; height: 48px; margin-top: 5px; }
    body.metaverse-app #mage-orb .mo-name { max-width: 160px; font-size: 18px; }
    body.metaverse-app #mage-orb .mo-sub { flex-wrap: wrap; gap: 3px 6px; }
    body.metaverse-app #mage-orb .mo-title { font-size: 11px; }
    body.metaverse-app #mage-orb .mo-cap { font-size: 9px; letter-spacing: .08em; }
    body.metaverse-app #mage-orb .mo-cap::before { margin-right: 5px; }
    body.metaverse-app #mage-orb .mo-bars { width: 160px; gap: 9px; margin-top: 12px; }
    body.metaverse-app #mage-orb .mo-track { height: 4px; }
    body.metaverse-app #mage-orb :is(.mo-xptext, .mo-entext) { font-size: 9px; letter-spacing: 0; text-align: left; }
    body.metaverse-app #legend { top: 240px; left: 24px; bottom: 78px; width: 252px; max-height: none; padding: 16px 12px; }
    body.metaverse-app #presence { top: 174px; left: 312px; transform: none; align-items: flex-start; }
    body.metaverse-app #presence-pill { padding: 7px 11px; font-size: 10px; }
    body.metaverse-app #presence-feed { position: absolute; top: calc(100% + 8px); left: 0; }
    body.metaverse-app #mv-join-cta { top: 88px; right: 24px; }
    body.metaverse-app #map-controls { right: 24px; }
    body.metaverse-app #search-wrap { left: calc(50% + 102px); bottom: 66px; width: min(540px, calc(100vw - 420px)); max-width: none; }
    body.metaverse-app #search-wrap.spotlight { left: 50%; width: min(620px, 86vw); }
    body.metaverse-app #map-count { bottom: 127px; left: 300px; right: 96px; text-align: center; font-size: 10px; }
    body.metaverse-app #continue-pill { top: auto; bottom: 158px; left: calc(50% + 102px); }
    body.metaverse-app #token-toast-wrap { top: 152px; left: auto; right: 24px; transform: none; align-items: flex-end; }
    body.metaverse-app #cs-don-fab { bottom: 66px !important; right: 24px !important; }
    body.metaverse-app #cs-fb-fab { bottom: 118px !important; right: 24px !important; }
}
@media (min-width: 641px) and (max-width: 1100px) {
    body.metaverse-app #mage-orb, body.metaverse-app #legend { left: 16px; width: 220px; }
    body.metaverse-app #mage-orb { gap: 9px; padding: 14px 11px; }
    body.metaverse-app #mage-orb .mo-ring { width: 38px; height: 38px; }
    body.metaverse-app #mage-orb .mo-name { max-width: 140px; }
    body.metaverse-app #graph-view { left: 252px; top: 244px; right: 84px; }
    #map-heading { left: 260px; top: 84px; }
    #map-heading h1 { font-size: 26px; }
    #map-heading p { max-width: 290px; line-height: 1.5; }
    body.metaverse-app #mv-join-cta { top: 170px; right: 24px; font-size: 11px; }
    body.metaverse-app #presence { top: 220px; left: 260px; }
    body.metaverse-app #search-wrap { left: calc(50% + 84px); width: calc(100vw - 350px); }
    body.metaverse-app #map-count { left: 252px; right: 84px; }
    body.metaverse-app #shell-brand { display: none !important; }
}
@media (max-width: 640px) {
    #map-heading { display: none; }
    body.metaverse-app #graph-view { inset: calc(env(safe-area-inset-top) + 216px) 8px calc(env(safe-area-inset-bottom) + 168px); width: auto; height: auto; }
    body.metaverse-app #shell-bar { min-height: 48px; padding: max(6px, env(safe-area-inset-top)) 8px 6px; gap: 6px; }
    body.metaverse-app #mage-orb { padding: 3px; }
    body.metaverse-app #mv-join-cta:hover { transform: translateX(-50%); }
    body.metaverse-app #legend-toggle { min-height: 28px; padding: 0 2px; }
    body.metaverse-app #legend.collapsed { top: auto; bottom: calc(env(safe-area-inset-bottom) + 108px); }
    body.metaverse-app #legend { max-height: min(36dvh, 290px); max-width: 58vw; }
    body.metaverse-app #legend-items { font-size: 11px; }
    body.metaverse-app #map-controls { padding: 5px; }
    body.metaverse-app #map-count { bottom: calc(env(safe-area-inset-bottom) + 108px); }
    body.metaverse-app #search-bar { min-height: 50px; }
    body.metaverse-app #mv-ticker { height: 32px; }
    body.metaverse-app #continue-pill { top: 216px; }
    body.metaverse-app #token-toast-wrap { top: 268px; }
    body.metaverse-app #chaos-legal-bar { display: block !important; }
    .metaverse-app :is(#cs-don-fab, #cs-fb-fab) { display: none !important; }
}
@media (min-width: 641px) and (max-height: 620px) {
    #map-heading { display: none; }
    #map-heading h1 { font-size: 23px; }
    #map-heading :is(p, .map-eyebrow) { display: none; }
    body.metaverse-app #mage-orb { top: 76px; left: 16px; width: 212px; min-height: 0; padding: 10px; }
    body.metaverse-app #mage-orb .mo-ring { width: 36px; height: 36px; }
    body.metaverse-app #mage-orb .mo-bars { margin-top: 6px; gap: 4px; }
    body.metaverse-app #legend { top: 216px; left: 16px; bottom: 48px; width: 212px; padding: 10px; }
    body.metaverse-app #presence { top: 76px; left: 252px; }
    body.metaverse-app #mv-join-cta { top: 76px; right: 16px; min-height: 34px; font-size: 10px; padding: 8px; }
    body.metaverse-app #graph-view { inset: 122px 16px 150px 244px; }
    body.metaverse-app #map-controls { top: auto; bottom: 98px; left: 252px; right: 16px; transform: none; flex-direction: row; overflow-x: auto; padding: 4px; }
    body.metaverse-app #map-controls .ctrl-btn { flex: 0 0 32px; width: 32px; height: 32px; }
    body.metaverse-app #search-wrap { bottom: 40px; left: 252px; right: 16px; width: auto; transform: none; }
    body.metaverse-app #search-wrap.spotlight { left: 50%; right: auto; width: 70vw; transform: translate(-50%, -50%); }
    body.metaverse-app #search-bar { min-height: 44px; padding: 5px 12px; }
    .metaverse-app .sw-hint, body.metaverse-app #map-count, body.metaverse-app #continue-pill,
    .metaverse-app :is(#cs-don-fab, #cs-fb-fab) { display: none !important; }
    body.metaverse-app #shell-brand { display: none !important; }
}
/* A vitrine embutida mantém apenas o mapa, sem reservar espaço para o perfil. */
.modo-embed #map-heading { display: none; }
.modo-embed body.metaverse-app #graph-view { inset: 16px 84px 108px 268px; width: auto; height: auto; }
.modo-embed body.metaverse-app #legend { top: 16px; bottom: 16px; }
.modo-embed body.metaverse-app #presence { display: none; }
@media (max-width: 640px) {
    .modo-embed body.metaverse-app #graph-view { inset: 80px 8px 136px; }
    .modo-embed body.metaverse-app #map-controls { top: 8px; }
    .modo-embed body.metaverse-app #legend { top: auto; bottom: 72px; }
    .modo-embed body.metaverse-app #search-wrap { bottom: 8px; }
    .modo-embed body.metaverse-app #map-count { bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
    body.metaverse-app #mvt-track { animation: none; }
    body.metaverse-app #mv-ticker .mvt-mask { overflow-x: auto; }
}

@media (max-width: 640px) and (max-height: 560px) {
    body.metaverse-app #graph-view { top: calc(env(safe-area-inset-top) + 204px); bottom: calc(env(safe-area-inset-bottom) + 144px); }
}
