/* Compact dock, manual chat preview, and anchored map markers. */
.world-land629 .world-cell>img{margin:0!important;right:auto;bottom:auto}
.game-hud598 #dockToggle648{position:fixed;left:50%;transform:translateX(-50%);z-index:36;width:52px;height:22px;min-height:22px;padding:0 10px;border:1px solid #d9bc78;border-radius:11px 11px 0 0;background:linear-gradient(#28566a,#15394d);color:#f4d38c;box-shadow:0 -2px 10px #082d3c44;touch-action:manipulation}
#dockToggle648 svg{width:21px;height:19px;vertical-align:middle}
.game-hud598[data-dock648=closed] #hudDock598{visibility:hidden;pointer-events:none;transform:translate(-50%,110%)}
.game-hud598:not(.signed-in) #dockToggle648{display:none}
.game-hud598 .edge-handle635{top:calc(var(--hud-top) + 6px);width:28px;min-width:28px;min-height:56px;padding:7px 2px;gap:5px;box-shadow:0 2px 5px #082b4533}
.game-hud598 .edge-handle635>b{display:none}
.game-hud598 .edge-handle635>span{font-size:17px}
.game-hud598 .edge-handle635>small{font-size:9px;padding:1px 4px}
.game-hud598 .edge-handle635.edge-left635{border-radius:0 9px 9px 0}
.game-hud598 .edge-handle635.edge-right635{border-radius:9px 0 0 9px}
.visual-menu622 .menu-art622>img{width:108px;height:90px;object-fit:contain}
.visual-menu622 .menu-art622 .avatar612 img{width:100%;height:100%;max-width:none;object-fit:cover}
.visual-menu622 .menu-art622 .avatar-sprite-fallback612 img{width:400%;height:200%;object-fit:fill}
@media(max-width:600px){.visual-menu622 .menu-art622>img{width:82px;height:72px}}
#hudDock598 [data-hud598=chatStrip648]{position:relative}
#hudDock598 .unread648::after,[data-dock648=closed][data-chat-unread648=true] #dockToggle648::after{content:'';position:absolute;top:5px;right:18%;width:9px;height:9px;border-radius:50%;background:#c64e48;border:1px solid #ffe0b0;box-shadow:0 1px 4px #3b1c26}
#hudDock598 .chat-open648{background:#49748355!important;border-color:#d9bd77aa!important}
.game-hud598[data-hud-view598=world] .world-minimap629{bottom:calc(var(--hud-bottom) + var(--chat-strip-height604,0px) + 12px)!important}
.world-land629 .world-cell.art-anchored648 .tile-name,.world-land629 .world-cell.art-anchored648 .tile-resource{bottom:auto!important;top:calc(var(--art-y648,45%) + var(--art-h648)/2 + 3px)!important;max-width:max(110px,var(--art-w648))!important}
.world-land629 .world-cell.art-anchored648 .castle-badge602{right:auto!important;left:calc(50% + var(--art-w648)/2 - 25px)!important;top:calc(var(--art-y648,45%) - var(--art-h648)/2 + 8px)!important;transform:translateX(-50%)!important}
.world-land629 .world-cell.art-anchored648 .npc-level,.world-land629 .world-cell.art-anchored648 .resource-node-level617{right:auto!important;left:calc(50% + var(--art-w648)/2 - 12px)!important;top:calc(var(--art-y648,45%) + var(--art-h648)/2 - 17px)!important;bottom:auto!important;transform:translateX(-50%)}
.world-land629 .world-cell.art-anchored648 .resource-node-owner617{bottom:auto!important;top:calc(var(--art-y648,45%) + var(--art-h648)/2 + 23px)!important}
.world-land629 .world-cell.player-cell.art-anchored648>.siege-fire588{left:50%!important;top:calc(var(--art-y648) - var(--art-h648)*.4)!important;right:auto!important;bottom:auto!important;width:calc(var(--art-w648)*.65)!important;height:calc(var(--art-h648)*.9)!important;transform:translateX(-50%)!important;z-index:2;pointer-events:none}
/* Individual translate/rotate leave the camera's transform and target coordinates intact. */
.npc-moving648>img[data-npc-kind648=land]{animation:motor648 2.8s ease-in-out infinite;animation-delay:var(--npc-delay648)}
.npc-moving648>img[data-npc-kind648=sea]{animation:sailing648 3.8s ease-in-out infinite;animation-delay:var(--npc-delay648)}
.npc-moving648>img[data-npc-kind648=air]{animation:flying648 3.2s ease-in-out infinite;animation-delay:var(--npc-delay648)}
.npc-fx648{display:none;position:absolute;pointer-events:none;left:50%;top:var(--art-y648,45%);z-index:0;width:var(--art-w648);height:var(--art-h648)}
.npc-moving648 .npc-fx648{display:block}
.npc-moving648:has([data-npc-kind648=land]) .npc-fx648:before{content:'';position:absolute;width:16%;height:22%;left:-40%;top:-5%;border-radius:50%;background:radial-gradient(ellipse,#dfd4ae65,#d6c89d10 65%,transparent);animation:exhaust648 2.8s ease-out infinite;animation-delay:var(--npc-delay648)}
.npc-moving648:has([data-npc-kind648=sea]) .npc-fx648:before{content:'';position:absolute;width:78%;height:24%;left:-40%;top:15%;border:2px solid #d9f6ef7a;border-top:0;border-radius:50%;animation:wake648 3.8s ease-out infinite;animation-delay:var(--npc-delay648)}
.npc-moving648:has([data-npc-kind648=air]) .npc-fx648:before{content:'';position:absolute;width:40%;height:15%;left:-22%;top:30%;background:#17382c27;border-radius:50%;animation:airshadow648 3.2s ease-in-out infinite;animation-delay:var(--npc-delay648)}
@keyframes motor648{0%,40%,100%{translate:0 0;rotate:0deg}45%,55%{translate:0 -.6px;rotate:.25deg}50%,60%{translate:.5px .5px;rotate:-.2deg}}
@keyframes sailing648{0%,100%{translate:0 0;rotate:-1deg}50%{translate:0 -3px;rotate:1deg}}
@keyframes flying648{0%,100%{translate:-2px 0;rotate:-2deg}50%{translate:3px -6px;rotate:2deg}}
@keyframes exhaust648{0%{translate:0 0;scale:.6;opacity:0}20%{opacity:.65}100%{translate:-12px -18px;scale:1.5;opacity:0}}
@keyframes wake648{0%{scale:.8;opacity:0}25%{opacity:.6}100%{scale:1.2;translate:-4px 5px;opacity:0}}
@keyframes airshadow648{0%,100%{scale:1;opacity:.8}50%{scale:.8;opacity:.45}}
.dragging602 .npc-moving648>img,.dragging602 .npc-fx648:before,.map-paused648 .npc-moving648>img,.map-paused648 .npc-fx648:before{animation-play-state:paused!important}
[data-quality=light] .npc-moving648>img,[data-quality=light] .npc-fx648:before{animation:none!important}
[data-quality=light] .npc-fx648{display:none!important}
@media(prefers-reduced-motion:reduce){.npc-moving648>img,.npc-fx648:before{animation:none!important}.npc-fx648{display:none!important}}

/* Retired empty coordinate badge must never leave a dark pill above the dock. */
.world-location629{display:none!important}
