.er-map-dialog--world3d .er-map-toolbar{gap:.55rem;flex-wrap:wrap}
.er-world3d-modes{display:inline-flex;align-items:center;gap:.18rem;padding:.18rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(4,8,13,.72);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.er-world3d-modes button{appearance:none;border:0;border-radius:9px;background:transparent;color:rgba(238,240,244,.66);font:700 .72rem/1.1 inherit;letter-spacing:.08em;padding:.55rem .72rem;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.er-world3d-modes button:hover{color:#fff;background:rgba(255,255,255,.08)}
.er-world3d-modes button.is-active{color:#fff;background:linear-gradient(180deg,rgba(199,157,80,.38),rgba(110,78,31,.30));box-shadow:inset 0 0 0 1px rgba(228,191,117,.42),0 5px 16px rgba(0,0,0,.22)}
.er-world3d-modes button:active{transform:translateY(1px)}
.er-map-open-3d{min-width:3rem}

.er-world3d-host{position:relative;min-height:min(76vh,820px);height:min(76vh,820px);overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(54,69,85,.28),rgba(5,8,12,.96) 72%);border-top:1px solid rgba(255,255,255,.08)}
/* The premium map shell is a two-row CSS grid. Without an explicit row the 3D host
   was auto-placed into an invisible third row behind shell overflow. */
.er-map-dialog--premium-board.er-map-dialog--world3d .er-world3d-host{grid-column:1;grid-row:2;min-width:0;min-height:0;width:100%;height:100%;align-self:stretch}
.er-world3d-host[hidden]{display:none!important}
.er-world3d-canvas{display:block;width:100%;height:100%;touch-action:none;outline:0;cursor:grab}
.er-world3d-canvas:active{cursor:grabbing}
.er-world3d-topbar{position:absolute;z-index:8;left:1rem;right:1rem;top:1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;pointer-events:none}
.er-world3d-floorbar{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap;pointer-events:auto;padding:.34rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(5,9,14,.76);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.er-world3d-floorbar button{appearance:none;border:1px solid transparent;border-radius:8px;background:transparent;color:rgba(241,243,246,.72);font:700 .68rem/1 inherit;letter-spacing:.07em;padding:.48rem .58rem;cursor:pointer}
.er-world3d-floorbar button:hover{background:rgba(255,255,255,.07);color:#fff}
.er-world3d-floorbar button.is-active{border-color:rgba(224,183,105,.42);background:rgba(176,129,57,.27);color:#fff0ce}
.er-world3d-status{max-width:min(52vw,640px);pointer-events:auto;padding:.58rem .72rem;border-radius:10px;border:1px solid rgba(255,255,255,.10);background:rgba(5,9,14,.76);backdrop-filter:blur(10px);color:rgba(238,241,245,.78);font-size:.74rem;line-height:1.35;text-align:right;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.er-world3d-status.is-error{border-color:rgba(205,79,68,.48);color:#ffd0c9;background:rgba(44,10,9,.82)}

.er-world3d-selection{position:absolute;z-index:9;right:1rem;bottom:3.2rem;width:min(360px,calc(100% - 2rem));padding:1rem;border-radius:14px;border:1px solid rgba(222,182,105,.28);background:linear-gradient(180deg,rgba(18,22,28,.93),rgba(7,10,14,.96));box-shadow:0 20px 50px rgba(0,0,0,.42);backdrop-filter:blur(14px);color:#f1eee7}
.er-world3d-selection[hidden]{display:none!important}
.er-world3d-selection small{display:block;color:#c7a86d;font-size:.64rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-right:2rem}
.er-world3d-selection strong{display:block;margin-top:.24rem;font-size:1rem;line-height:1.2}
.er-world3d-selection p{margin:.48rem 0;color:rgba(236,239,243,.73);font-size:.78rem;line-height:1.45}
.er-world3d-selection>span{display:block;color:rgba(236,239,243,.52);font-size:.69rem}
.er-world3d-selection__close{position:absolute;right:.55rem;top:.48rem;width:1.8rem;height:1.8rem;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:1rem;cursor:pointer}
.er-world3d-selection__actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}
.er-world3d-selection__actions button{appearance:none;border:1px solid rgba(221,180,103,.32);border-radius:9px;background:rgba(175,126,53,.20);color:#f8e7c4;font:800 .65rem/1 inherit;letter-spacing:.07em;padding:.58rem .72rem;cursor:pointer}
.er-world3d-selection__actions button:hover{background:rgba(175,126,53,.34);border-color:rgba(231,193,119,.52)}

.er-world3d-help{position:absolute;z-index:7;left:1rem;bottom:1rem;max-width:min(70%,720px);padding:.48rem .65rem;border-radius:9px;background:rgba(4,8,12,.68);border:1px solid rgba(255,255,255,.08);color:rgba(232,236,241,.58);font-size:.67rem;line-height:1.35;backdrop-filter:blur(8px);pointer-events:none}
.er-world3d-loading{position:absolute;z-index:15;inset:0;display:grid;place-items:center;background:rgba(2,5,8,.72);backdrop-filter:blur(5px);color:#f6e4bd;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-align:center;padding:2rem}
.er-world3d-loading[hidden]{display:none!important}

@media (max-width:900px){
    .er-world3d-host{height:min(72vh,720px);min-height:540px}
    .er-map-dialog--premium-board.er-map-dialog--world3d .er-world3d-host{height:100%;min-height:0}
    .er-world3d-topbar{left:.65rem;right:.65rem;top:.65rem;display:grid;grid-template-columns:1fr}
    .er-world3d-status{max-width:none;text-align:left;width:max-content;max-width:100%}
    .er-world3d-selection{right:.65rem;bottom:3rem;width:min(330px,calc(100% - 1.3rem))}
    .er-world3d-help{left:.65rem;bottom:.65rem;max-width:calc(100% - 1.3rem)}
}

@media (max-width:620px){
    .er-map-dialog--world3d .er-map-toolbar{align-items:flex-start}
    .er-world3d-modes{order:20;width:100%;justify-content:stretch}
    .er-world3d-modes button{flex:1}
    .er-world3d-host{height:70vh;min-height:460px}
    .er-map-dialog--premium-board.er-map-dialog--world3d .er-world3d-host{height:100%;min-height:0}
    .er-world3d-floorbar{max-width:100%;overflow-x:auto;flex-wrap:nowrap}
    .er-world3d-selection{left:.55rem;right:.55rem;bottom:2.8rem;width:auto}
    .er-world3d-help{font-size:.61rem}
}