/* Single navigation style. Fixed slots prevent legacy neighbour magnification. */
.home-actions.home-dock,#shop-dock,#sceneNav{--slot:58px;--art:34px;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px 24px!important;border:1px solid #ffffff66!important;border-radius:21px;background:linear-gradient(135deg,#ffffff26,#ffffff08),#23343bbd!important;box-shadow:inset 0 1px #ffffff55,0 8px 22px #0003!important;backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%);overflow:visible;isolation:isolate}
.home-actions.home-dock{--slot:72px;--art:58px;gap:14px;width:max-content;margin:0 auto 8px;padding:12px 16px 27px!important}
#shop-dock{display:none}body[data-view=shop] #shop-dock{display:flex}
#shop-dock,#sceneNav{bottom:max(12px,env(safe-area-inset-bottom))}
#sceneNav{width:max-content;max-width:calc(100vw - 16px)}
#shop-dock:before,#sceneNav .nav-progress{display:none}
body #backHome{display:none!important}.chrome #account-open{margin-left:auto}
.home-dock .home-dock-button,#shop-dock button,#sceneNav button{position:relative;display:grid!important;grid-template-columns:1fr;place-items:center;box-sizing:border-box;flex:0 0 var(--slot)!important;width:var(--slot)!important;min-width:0!important;height:var(--art)!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:10px;background:transparent!important;box-shadow:none!important;transform:none!important;transition:none!important;cursor:pointer;touch-action:manipulation;text-decoration:none}
.home-dock .home-dock-label,#shop-dock button>span,#sceneNav button>b{position:absolute;display:block!important;left:50%!important;top:calc(100% + 6px)!important;bottom:auto!important;width:var(--slot);box-sizing:border-box;padding:0!important;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;backdrop-filter:none;color:#fff!important;font:600 10px/1.25 system-ui!important;text-align:center;white-space:normal;opacity:1!important;transform:translateX(-50%)!important;transition:none!important;pointer-events:none;text-shadow:0 1px 2px #0008}
.home-dock .home-dock-label{font-size:11px!important}
:is(.home-dock,#shop-dock,#sceneNav) .nav-icon-tile{display:grid;place-items:center;box-sizing:border-box;position:relative;width:var(--art)!important;height:var(--art)!important;border-radius:11px;border:1px solid #ffffff38;color:#fff5e7;background:linear-gradient(145deg,#456f76,#25434b);box-shadow:inset 0 1px #ffffff35,0 3px 5px #0003;transition:transform .24s cubic-bezier(.22,1,.36,1),filter .24s ease;pointer-events:none}
:is(.home-dock,#shop-dock,#sceneNav) .nav-icon-tile svg.nav-lucide{display:block;width:22px!important;height:22px!important;padding:0!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8;filter:none!important;transform:none!important}
.home-dock .nav-icon-tile svg.nav-lucide{width:30px!important;height:30px!important}
:is(.home-dock,#shop-dock,#sceneNav) .tile-store{background:linear-gradient(145deg,#ac617b,#733b53)}
:is(.home-dock,#shop-dock,#sceneNav) .tile-gamepad-2,:is(.home-dock,#shop-dock,#sceneNav) .tile-users-round{background:linear-gradient(145deg,#80739e,#534965)}
:is(.home-dock,#shop-dock,#sceneNav) .tile-plug-zap{background:linear-gradient(145deg,#638c7d,#385c50)}
:is(.home-dock,#shop-dock,#sceneNav) .tile-shield-check{background:linear-gradient(145deg,#ac8d5f,#715a3c)}
:is(.home-dock,#shop-dock,#sceneNav) .tile-message-circle{background:linear-gradient(145deg,#74889f,#43566c)}
.home-dock .home-dock-art,#shop-dock button .dock-art{width:var(--art)!important;height:var(--art)!important;box-sizing:border-box;object-fit:contain;padding:0;transition:transform .24s cubic-bezier(.22,1,.36,1);pointer-events:none}
#shop-dock #dock-avatar{border:2px solid #ffffff88;border-radius:10px}
#sceneNav button.active:after{content:'';position:absolute;top:-6px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#ffe0ed}
#sceneNav button.active .nav-icon-tile{border-color:#ffe0ed;box-shadow:0 0 0 2px #ffe0ed20}
#sceneNav button[data-go=shop]:after{content:'';position:absolute;left:auto;right:-4px;top:5px;bottom:5px;width:1px;height:auto;border-radius:0;background:#ffffff26}
@media(hover:hover){:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>.nav-icon-tile,:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>img{transform:translateY(-3px) scale(1.06);filter:brightness(1.08)}}
:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):active>.nav-icon-tile,:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):active>img{transform:translateY(1px) scale(.94);transition-duration:.1s}
:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):focus-visible{outline:2px solid #ffd4e5!important;outline-offset:4px}
#dock-history.pointer-used:hover .chest-lid{transform:rotateX(100deg)}
.dock-flight{position:fixed!important;z-index:1000!important;margin:0!important;pointer-events:none!important;transform-origin:center center!important;will-change:transform,opacity;contain:layout style}
.dock-flight .home-dock-label{visibility:hidden}
body.dock-transferring :is(#shop-dock,#sceneNav){opacity:0!important;pointer-events:none!important}
body.dock-transferring .home-dock:not(.dock-flight){visibility:hidden}
@media(max-width:600px){#sceneNav,#shop-dock{--slot:43px;--art:31px;gap:2px;padding:8px 6px 26px!important}#sceneNav button>b,#shop-dock button>span{font-size:8px!important}.home-actions.home-dock{--slot:66px;--art:54px;gap:12px}}
@media(max-width:360px){#sceneNav{--slot:41px;gap:1px;padding-left:4px!important;padding-right:4px!important}}
@media(prefers-reduced-motion:reduce){:is(.home-dock,#shop-dock,#sceneNav) .nav-icon-tile,:is(.home-dock,#shop-dock,#sceneNav) img{transition:none!important;transform:none!important}}
/* Original vanilla item sprites: retain crisp pixels and transparent silhouettes. */
:is(.home-dock,#shop-dock,#sceneNav) img.mc-nav-item{display:block;width:var(--art)!important;height:var(--art)!important;padding:2px!important;box-sizing:border-box;object-fit:contain;image-rendering:pixelated;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;filter:drop-shadow(0 3px 2px #0007);pointer-events:none;transition:transform .25s cubic-bezier(.22,1,.36,1),filter .25s ease}
@media(hover:hover){:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>img.mc-nav-item{transform:translateY(-3px) scale(1.12);filter:drop-shadow(0 5px 3px #0007) brightness(1.12)}:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>.mc-nav-diamond_pickaxe{transform:translateY(-3px) rotate(-14deg) scale(1.12)}:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>.mc-nav-compass_16{transform:translateY(-3px) rotate(12deg) scale(1.12)}}
:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):active>img.mc-nav-item{transform:translateY(1px) scale(.92)}
@media(prefers-reduced-motion:reduce){:is(.home-dock,#shop-dock,#sceneNav) img.mc-nav-item{transition:none!important;transform:none!important}}
/* JS springs replace CSS hover transforms on artwork, avoiding competing motion. */
:is(.home-dock,#shop-dock,#sceneNav) :is(button,a)>img.spring-art{transition:filter .2s ease;transform:translateY(0) scale(1)}
:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):hover>img.spring-art,:is(.home-dock,#shop-dock,#sceneNav) :is(button,a):active>img.spring-art{transform:translateY(0) scale(1)}
