/* Six-stage buildings, live dock countdown and player emblem. */
html body #base-app .brand-mark{
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    position:relative!important;
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    overflow:hidden!important;
    border-color:#d7a94f!important;
    border-radius:50%!important;
    background:radial-gradient(circle,#6f4a23 0%,#25170d 72%)!important;
    box-shadow:inset 0 0 0 2px rgba(255,226,157,.22),0 3px 8px rgba(20,12,6,.48)!important;
}

html body #base-app .brand-pirate-emblem{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:36px!important;
    height:36px!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:translate(-50%,-50%)!important;
    pointer-events:none!important;
    filter:drop-shadow(0 3px 3px rgba(20,12,6,.48))!important;
}

html body #base-app .brand{
    gap:8px!important;
}

html body #base-app .building-tab small[hidden]{
    display:none!important;
}

html body #base-app .building-tab.upgrading{
    padding:5px 34px 5px 5px!important;
}

html body #base-app .building-tab.upgrading .building-tab-png,
html body #base-app .building-tab.upgrading > span{
    transform:translateY(-6px)!important;
}

html body #base-app .building-tab.upgrading small{
    display:block!important;
    position:absolute!important;
    left:5px!important;
    right:5px!important;
    top:auto!important;
    bottom:3px!important;
    width:auto!important;
    max-width:none!important;
    grid-column:1 / -1!important;
    justify-self:stretch!important;
    height:13px!important;
    padding:2px 4px!important;
    border:1px solid rgba(255,222,150,.58)!important;
    border-radius:4px!important;
    background:linear-gradient(180deg,#bd762b,#714018)!important;
    color:#fff4d4!important;
    font-size:8px!important;
    line-height:8px!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    text-shadow:0 1px 1px rgba(35,18,7,.8)!important;
}

html body #base-app .building-tab.active.upgrading small{
    border-color:rgba(73,37,12,.42)!important;
    background:rgba(67,35,14,.76)!important;
    color:#fff4d4!important;
    text-shadow:0 1px 1px rgba(20,10,4,.75)!important;
}

html body #base-app .island-map.layered-assets .building .b-img{
    --tier-fit:1;
    position:absolute!important;
    z-index:2!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    image-rendering:auto!important;
    transform-origin:50% 100%!important;
    scale:var(--tier-fit)!important;
    filter:drop-shadow(0 9px 6px rgba(38,24,12,.32)) saturate(.98) contrast(.98) brightness(1.05)!important;
}

html body #base-app .island-map.layered-assets .building[data-tier-stage="1"] .b-img{--tier-fit:1}
html body #base-app .island-map.layered-assets .building[data-tier-stage="2"] .b-img{--tier-fit:1}
html body #base-app .island-map.layered-assets .building[data-tier-stage="3"] .b-img{--tier-fit:1}
html body #base-app .island-map.layered-assets .building[data-tier-stage="4"] .b-img{--tier-fit:1.02}
html body #base-app .island-map.layered-assets .building[data-tier-stage="5"] .b-img{--tier-fit:1.04}
html body #base-app .island-map.layered-assets .building[data-tier-stage="6"] .b-img{--tier-fit:1.06}

html body #base-app .island-map.layered-assets .b-forge .b-img{
    transform:translate(-2%,1%) scale(1.75)!important;
}

html body #base-app .island-map.layered-assets .b-carpenter .b-img{
    transform:scale(1.75)!important;
}

html body #base-app .island-map.layered-assets .b-quarry .b-img{
    transform:scale(1.85)!important;
}

html body #base-app .island-map.layered-assets .b-training .b-img{
    transform:scale(1.95)!important;
}

html body #base-app .island-map.layered-assets .b-captain .b-img,
html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    transform:scale(1.9)!important;
}

/* Island camera: the dock and the details panel stay fixed while the island moves. */
html body #base-app .island-map.layered-assets.camera-enabled{
    cursor:grab;
    touch-action:none;
    user-select:none;
}

html body #base-app .island-map.layered-assets.camera-enabled.is-panning{
    cursor:grabbing;
}

html body #base-app .island-map.layered-assets .island-camera{
    position:absolute;
    inset:0;
    z-index:0;
    transform-origin:0 0;
    will-change:transform;
}

html body #base-app .island-map.layered-assets .island-camera .building{
    cursor:pointer;
}

html body #base-app .island-map.layered-assets .building-dock,
html body #base-app .island-map.layered-assets .island-visual-toast{
    z-index:50;
}

html body #base-app .panel-head-icon{
    display:grid!important;
    place-items:center!important;
    overflow:hidden!important;
}

html body #base-app .panel-head-icon .panel-building-logo{
    display:block;
    width:78%;
    height:78%;
    object-fit:contain;
    filter:drop-shadow(0 2px 2px rgba(18,10,3,.55));
}

html body #base-app .panel-head-icon .panel-building-logo[hidden],
html body #base-app .panel-head-icon svg[hidden]{
    display:none!important;
}

html body #base-app .panel-head-icon svg:not([hidden]){
    display:block;
    width:58%;
    height:58%;
}

/* Final grounding pass: remove button-shaped plates and blend sprites into the plot. */
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor),
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor):hover,
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor).active{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor)::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:0!important;
    left:20%!important;
    right:20%!important;
    bottom:1%!important;
    width:auto!important;
    height:13%!important;
    opacity:.52!important;
    pointer-events:none!important;
    border-radius:50%!important;
    background:radial-gradient(ellipse at center,rgba(58,37,16,.48) 0%,rgba(73,49,21,.22) 48%,rgba(73,49,21,0) 76%)!important;
    filter:blur(2.5px)!important;
    mix-blend-mode:multiply!important;
    transform:scaleX(1.08)!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor)::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    left:15%!important;
    right:15%!important;
    bottom:-1%!important;
    width:auto!important;
    height:10%!important;
    opacity:.45!important;
    pointer-events:none!important;
    border-radius:50%!important;
    background:
        radial-gradient(ellipse at 22% 52%,rgba(112,137,44,.38),transparent 35%),
        radial-gradient(ellipse at 78% 52%,rgba(103,130,39,.34),transparent 34%),
        radial-gradient(ellipse at center,rgba(173,126,56,.30),transparent 68%)!important;
    filter:blur(1.6px) saturate(.86)!important;
    mix-blend-mode:multiply!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor) .b-img{
    z-index:2!important;
}

/* The shipyard has a wide deck; keep it clear of the plot's side crates. */
html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    width:96%!important;
    height:96%!important;
    left:2%!important;
    right:auto!important;
    bottom:4%!important;
}

html body #base-app .island-map.layered-assets .b-shipyard::before{
    left:25%!important;
    right:25%!important;
    bottom:5%!important;
}

/* Fit the three marked production structures fully inside their plots. */
html body #base-app .island-map.layered-assets .b-forge .b-img,
html body #base-app .island-map.layered-assets .b-carpenter .b-img,
html body #base-app .island-map.layered-assets .b-quarry .b-img{
    scale:calc(var(--tier-growth) * .84)!important;
}

html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    scale:calc(var(--tier-growth) * .93)!important;
}

/* Put the terrain fringe over the final 2-3 pixels of each sprite footprint. */
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor)::after{
    z-index:4!important;
    left:18%!important;
    right:18%!important;
    bottom:0!important;
    height:12%!important;
    opacity:.72!important;
    background:
        radial-gradient(ellipse at 50% 70%,rgba(194,146,72,.42) 0%,rgba(179,128,60,.22) 42%,transparent 72%),
        radial-gradient(ellipse at 18% 76%,rgba(105,133,40,.48) 0%,rgba(105,133,40,.18) 24%,transparent 46%),
        radial-gradient(ellipse at 82% 74%,rgba(96,126,36,.44) 0%,rgba(96,126,36,.16) 23%,transparent 45%),
        radial-gradient(circle at 29% 62%,rgba(83,111,32,.36) 0 3%,transparent 4%),
        radial-gradient(circle at 68% 67%,rgba(88,116,34,.34) 0 2.5%,transparent 3.5%)!important;
    filter:blur(1.15px) saturate(.82)!important;
    mix-blend-mode:multiply!important;
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 82%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 82%,transparent 100%)!important;
}

html body #base-app .island-map.layered-assets .b-shipyard::after{
    left:20%!important;
    right:20%!important;
    bottom:3%!important;
    height:11%!important;
}

html body #base-app .island-map.layered-assets .b-armory .b-img{
    transform:scale(1.8)!important;
}

html body #base-app .island-map.layered-assets .b-infirmary .b-img{
    transform:scale(2)!important;
}

html body #base-app .island-map.layered-assets .building::before,
html body #base-app .island-map.layered-assets .building.active::before{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:10%!important;
    right:10%!important;
    bottom:-5%!important;
    top:auto!important;
    height:27%!important;
    border-radius:50%!important;
    opacity:.66!important;
    pointer-events:none!important;
    background:radial-gradient(ellipse at center,rgba(54,35,15,.42) 0%,rgba(54,35,15,.22) 48%,rgba(54,35,15,0) 76%)!important;
    box-shadow:none!important;
    filter:blur(2px)!important;
    transform:none!important;
}

html body #base-app .island-map.layered-assets .building.unbuilt::before{
    opacity:0!important;
}

html body #base-app .island-map.layered-assets .building.active::before,
html body #base-app .island-map.layered-assets .building:hover::before{
    opacity:.82!important;
    background:radial-gradient(ellipse at center,rgba(76,45,17,.5) 0%,rgba(219,162,67,.2) 48%,rgba(219,162,67,0) 78%)!important;
}

html body #base-app .island-map.layered-assets .building[data-tier-stage="4"] .b-img,
html body #base-app .island-map.layered-assets .building[data-tier-stage="5"] .b-img,
html body #base-app .island-map.layered-assets .building[data-tier-stage="6"] .b-img{
    filter:drop-shadow(0 11px 7px rgba(38,24,12,.37)) saturate(1.01) contrast(.99) brightness(1.04)!important;
}

@media (max-width:1400px){
    html body #base-app .brand-mark{
        width:38px!important;
        height:38px!important;
        flex-basis:38px!important;
    }

    html body #base-app .brand-pirate-emblem{
        width:32px!important;
        height:32px!important;
    }

    html body #base-app .building-tab.upgrading small{
        display:block!important;
        left:3px!important;
        right:3px!important;
        font-size:7px!important;
    }

    html body #base-app .building-tab.upgrading{
        padding:4px!important;
    }
}

@media (max-width:950px) and (max-height:520px) and (orientation:landscape){
    html body #base-app .brand-mark{
        width:30px!important;
        height:30px!important;
        flex-basis:30px!important;
        border-radius:9px!important;
    }

    html body #base-app .brand-pirate-emblem{
        width:26px!important;
        height:26px!important;
    }
}

/* Keep every rendered building grounded to its matching painted plot. */
html body #base-app .island-map.layered-assets .island-bg{
    animation:none!important;
    transform:none!important;
    transform-origin:center!important;
    object-fit:cover!important;
    object-position:center center!important;
}

html body #base-app .island-map.layered-assets .building{
    transform:translate(-50%,-100%)!important;
    transform-origin:50% 100%!important;
}

html body #base-app .island-map.layered-assets .building:hover,
html body #base-app .island-map.layered-assets .building.active{
    transform:translate(-50%,calc(-100% - 3px)) scale(1.03)!important;
}

html body #base-app .island-map.layered-assets .building::before{
    bottom:-2%!important;
    height:22%!important;
}

/* Per-asset optical fitting: all PNGs share a 512px canvas, not the same silhouette. */
/* Normalize visible alpha widths to 420,430,440,450,460,470px by evolution stage. */
html body #base-app .b-forge[data-tier-stage="1"] .b-img{--tier-fit:1.31}
html body #base-app .b-forge[data-tier-stage="2"] .b-img{--tier-fit:1.04}
html body #base-app .b-forge[data-tier-stage="3"] .b-img{--tier-fit:1.09}
html body #base-app .b-forge[data-tier-stage="4"] .b-img{--tier-fit:1.05}
html body #base-app .b-forge[data-tier-stage="5"] .b-img{--tier-fit:1.03}
html body #base-app .b-forge[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .b-carpenter[data-tier-stage="1"] .b-img{--tier-fit:.90}
html body #base-app .b-carpenter[data-tier-stage="2"] .b-img{--tier-fit:.92}
html body #base-app .b-carpenter[data-tier-stage="3"] .b-img{--tier-fit:1.05}
html body #base-app .b-carpenter[data-tier-stage="4"] .b-img{--tier-fit:.96}
html body #base-app .b-carpenter[data-tier-stage="5"] .b-img{--tier-fit:.98}
html body #base-app .b-carpenter[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .b-quarry[data-tier-stage="1"] .b-img{--tier-fit:1.17}
html body #base-app .b-quarry[data-tier-stage="2"] .b-img{--tier-fit:1.01}
html body #base-app .b-quarry[data-tier-stage="3"] .b-img{--tier-fit:1.06}
html body #base-app .b-quarry[data-tier-stage="4"] .b-img{--tier-fit:1.04}
html body #base-app .b-quarry[data-tier-stage="5"] .b-img{--tier-fit:.98}
html body #base-app .b-quarry[data-tier-stage="6"] .b-img{--tier-fit:1.08}

html body #base-app .b-training[data-tier-stage="1"] .b-img{--tier-fit:.90}
html body #base-app .b-training[data-tier-stage="2"] .b-img{--tier-fit:.92}
html body #base-app .b-training[data-tier-stage="3"] .b-img{--tier-fit:.97}
html body #base-app .b-training[data-tier-stage="4"] .b-img{--tier-fit:.97}
html body #base-app .b-training[data-tier-stage="5"] .b-img{--tier-fit:.99}
html body #base-app .b-training[data-tier-stage="6"] .b-img{--tier-fit:1.01}

html body #base-app .b-captain[data-tier-stage="1"] .b-img{--tier-fit:.90}
html body #base-app .b-captain[data-tier-stage="2"] .b-img{--tier-fit:.93}
html body #base-app .b-captain[data-tier-stage="3"] .b-img{--tier-fit:1.07}
html body #base-app .b-captain[data-tier-stage="4"] .b-img{--tier-fit:.96}
html body #base-app .b-captain[data-tier-stage="5"] .b-img{--tier-fit:.98}
html body #base-app .b-captain[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .b-shipyard[data-tier-stage="1"] .b-img{--tier-fit:1.28}
html body #base-app .b-shipyard[data-tier-stage="2"] .b-img{--tier-fit:.92}
html body #base-app .b-shipyard[data-tier-stage="3"] .b-img{--tier-fit:.97}
html body #base-app .b-shipyard[data-tier-stage="4"] .b-img{--tier-fit:.98}
html body #base-app .b-shipyard[data-tier-stage="5"] .b-img{--tier-fit:1}
html body #base-app .b-shipyard[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .b-armory[data-tier-stage="1"] .b-img{--tier-fit:1.15}
html body #base-app .b-armory[data-tier-stage="2"] .b-img{--tier-fit:1.02}
html body #base-app .b-armory[data-tier-stage="3"] .b-img{--tier-fit:.99}
html body #base-app .b-armory[data-tier-stage="4"] .b-img{--tier-fit:.96}
html body #base-app .b-armory[data-tier-stage="5"] .b-img{--tier-fit:.98}
html body #base-app .b-armory[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .b-infirmary[data-tier-stage="1"] .b-img{--tier-fit:1.06}
html body #base-app .b-infirmary[data-tier-stage="2"] .b-img{--tier-fit:1.11}
html body #base-app .b-infirmary[data-tier-stage="3"] .b-img{--tier-fit:1.06}
html body #base-app .b-infirmary[data-tier-stage="4"] .b-img{--tier-fit:.96}
html body #base-app .b-infirmary[data-tier-stage="5"] .b-img{--tier-fit:.99}
html body #base-app .b-infirmary[data-tier-stage="6"] .b-img{--tier-fit:1}

html body #base-app .island-map.layered-assets .b-forge .b-img{
    transform:translate(1%,-1%) scale(1.60,2.02)!important;
}

html body #base-app .island-map.layered-assets .b-carpenter .b-img{
    transform:translate(0,-1%) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-quarry .b-img{
    transform:translate(0,0) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-training .b-img{
    transform:translate(.5%,0) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-captain .b-img{
    transform:translate(.5%,-1%) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    transform:translate(.5%,-1%) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-armory .b-img{
    transform:translate(.5%,0) scale(1.60)!important;
}

html body #base-app .island-map.layered-assets .b-infirmary .b-img{
    transform:translate(0,-1%) scale(1.60)!important;
}

/* Composite pass: match the rendered PNGs to the softer painted island art. */
html body #base-app .island-map.layered-assets .building .b-img{
    filter:
        drop-shadow(0 8px 6px rgba(47,29,12,.32))
        saturate(.98)
        contrast(1.01)
        brightness(1.01)!important;
}

html body #base-app .island-map.layered-assets .building:hover .b-img,
html body #base-app .island-map.layered-assets .building.active .b-img{
    filter:
        drop-shadow(0 10px 8px rgba(42,25,10,.38))
        drop-shadow(0 0 7px rgba(239,202,118,.16))
        saturate(1.02)
        contrast(1.02)
        brightness(1.025)!important;
}

html body #base-app .island-map.layered-assets .building[data-tier-stage="4"] .b-img,
html body #base-app .island-map.layered-assets .building[data-tier-stage="5"] .b-img,
html body #base-app .island-map.layered-assets .building[data-tier-stage="6"] .b-img{
    filter:
        drop-shadow(0 10px 8px rgba(47,29,12,.36))
        saturate(1)
        contrast(1.01)
        brightness(1.01)!important;
}

html body #base-app .island-map.layered-assets .building::before{
    z-index:1!important;
    left:15%!important;
    right:15%!important;
    bottom:0!important;
    height:15%!important;
    opacity:.72!important;
    background:radial-gradient(ellipse at center,rgba(54,34,14,.46) 0%,rgba(75,48,19,.25) 45%,rgba(75,48,19,0) 76%)!important;
    filter:blur(3px)!important;
}

html body #base-app .island-map.layered-assets .building .b-ready,
html body #base-app .island-map.layered-assets .building .b-build{
    opacity:0!important;
    visibility:hidden!important;
    transform:scale(.78)!important;
    pointer-events:none!important;
    transition:opacity .16s ease,transform .16s ease!important;
}

html body #base-app .island-map.layered-assets .building.ready:hover .b-ready,
html body #base-app .island-map.layered-assets .building.ready.active .b-ready,
html body #base-app .island-map.layered-assets .building.upgrading:hover .b-build,
html body #base-app .island-map.layered-assets .building.upgrading.active .b-build,
html body #base-app .island-map.layered-assets .building.constructing:hover .b-build,
html body #base-app .island-map.layered-assets .building.constructing.active .b-build{
    opacity:1!important;
    visibility:visible!important;
    transform:scale(1)!important;
    pointer-events:auto!important;
}

/* Grounding pass: soften the painted plot edge where each sprite meets the island. */
html body #base-app .island-map.layered-assets .building::before,
html body #base-app .island-map.layered-assets .building.active::before{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:18%!important;
    right:18%!important;
    width:auto!important;
    bottom:-2%!important;
    top:auto!important;
    height:22%!important;
    border-radius:50%!important;
    opacity:.68!important;
    pointer-events:none!important;
    background:radial-gradient(ellipse at center,rgba(48,29,11,.52) 0%,rgba(73,47,20,.28) 45%,rgba(73,47,20,0) 76%)!important;
    filter:blur(3px)!important;
    mix-blend-mode:multiply!important;
    transform:scaleX(1.08)!important;
}

html body #base-app .island-map.layered-assets .building::after,
html body #base-app .island-map.layered-assets .building.active::after{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    left:-5%!important;
    right:-5%!important;
    width:auto!important;
    bottom:-13%!important;
    top:auto!important;
    height:38%!important;
    opacity:.72!important;
    pointer-events:none!important;
    background:
        radial-gradient(ellipse at 50% 18%,rgba(100,66,25,.30) 0%,rgba(90,59,23,.17) 42%,transparent 70%),
        radial-gradient(ellipse at 15% 72%,rgba(76,103,29,.34) 0%,rgba(76,103,29,.12) 30%,transparent 52%),
        radial-gradient(ellipse at 85% 70%,rgba(71,98,27,.32) 0%,rgba(71,98,27,.10) 29%,transparent 50%),
        linear-gradient(90deg,transparent 4%,rgba(72,47,19,.18) 28%,rgba(72,47,19,.22) 50%,rgba(72,47,19,.18) 72%,transparent 96%)!important;
    clip-path:polygon(50% 0,100% 48%,78% 100%,22% 100%,0 48%)!important;
    filter:blur(2px) saturate(.88)!important;
    mix-blend-mode:multiply!important;
    transform:scaleX(1.08)!important;
    transform-origin:50% 50%!important;
}

html body #base-app .island-map.layered-assets .building.unbuilt::before,
html body #base-app .island-map.layered-assets .building.unbuilt::after{
    opacity:0!important;
}

/* V27 spacious cartoon island: final positioning and sprite normalization. */
html body #base-app .island-map.layered-assets .island-bg{
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor){
    width:clamp(126px,10.2vw,184px)!important;
    height:clamp(126px,10.2vw,184px)!important;
    min-width:0!important;
    min-height:0!important;
    transform:translate(-50%,-100%)!important;
    transform-origin:50% 100%!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor):hover,
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor).active{
    transform:translate(-50%,calc(-100% - 3px)) scale(1.025)!important;
}

html body #base-app .island-map.layered-assets .building .b-img{
    --tier-growth:.90;
    display:block!important;
    position:absolute!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center bottom!important;
    transform:none!important;
    transform-origin:50% 100%!important;
    scale:var(--tier-growth)!important;
    filter:drop-shadow(0 7px 5px rgba(54,35,16,.28)) saturate(.98) contrast(.99) brightness(1.02)!important;
}

html body #base-app .island-map.layered-assets .building[data-tier-stage="1"] .b-img{--tier-growth:.88}
html body #base-app .island-map.layered-assets .building[data-tier-stage="2"] .b-img{--tier-growth:.92}
html body #base-app .island-map.layered-assets .building[data-tier-stage="3"] .b-img{--tier-growth:.96}
html body #base-app .island-map.layered-assets .building[data-tier-stage="4"] .b-img{--tier-growth:1}
html body #base-app .island-map.layered-assets .building[data-tier-stage="5"] .b-img{--tier-growth:1.04}
html body #base-app .island-map.layered-assets .building[data-tier-stage="6"] .b-img{--tier-growth:1.08}

html body #base-app .island-map.layered-assets .building::before{
    display:block!important;
    left:24%!important;
    right:24%!important;
    bottom:1%!important;
    height:10%!important;
    opacity:.36!important;
    background:radial-gradient(ellipse at center,rgba(67,44,20,.42),rgba(67,44,20,0) 72%)!important;
    filter:blur(2px)!important;
    mix-blend-mode:multiply!important;
    transform:none!important;
}

html body #base-app .island-map.layered-assets .building::after{
    display:none!important;
}

html body #base-app .island-map.layered-assets .b-research-hub{
    left:50%!important;
    top:45.5%!important;
    width:86px!important;
    height:62px!important;
    min-width:0!important;
    min-height:0!important;
    transform:translate(-50%,-50%)!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .b-research-hub .research-hub-core{
    opacity:0!important;
}

html body #base-app .island-map.layered-assets .b-harbor{
    left:82%!important;
    top:83%!important;
    width:120px!important;
    height:80px!important;
    min-width:0!important;
    min-height:0!important;
    transform:translate(-50%,-50%)!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .b-harbor .b-img{
    display:none!important;
}

@media(max-width:900px){
    html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor){
        width:clamp(92px,17vw,136px)!important;
        height:clamp(92px,17vw,136px)!important;
    }
}

/* Optical fit for the two open-footprint sprites. */
html body #base-app .island-map.layered-assets .b-training .b-img{
    width:105%!important;
    height:105%!important;
    left:-2.5%!important;
    right:auto!important;
    bottom:0!important;
}

html body #base-app .island-map.layered-assets .b-training::after{
    content:none!important;
    display:none!important;
}

html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    width:110%!important;
    height:110%!important;
    left:-5%!important;
    right:auto!important;
    bottom:-2%!important;
}

/* V30 natural grounding: no painted foundation, only a restrained contact shadow. */
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor),
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor):hover,
html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor).active{
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor)::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:0!important;
    left:25%!important;
    right:25%!important;
    bottom:1%!important;
    width:auto!important;
    height:9%!important;
    opacity:.34!important;
    pointer-events:none!important;
    border-radius:50%!important;
    background:radial-gradient(ellipse at center,rgba(55,37,18,.48) 0%,rgba(67,45,22,.20) 50%,transparent 76%)!important;
    box-shadow:none!important;
    filter:blur(2px)!important;
    mix-blend-mode:multiply!important;
    transform:scaleX(1.04)!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor)::after{
    content:none!important;
    display:none!important;
}

html body #base-app .island-map.layered-assets .building:not(.b-research-hub):not(.b-harbor) .b-img{
    z-index:2!important;
    scale:calc(var(--tier-growth) * .88)!important;
}

html body #base-app .island-map.layered-assets .b-forge .b-img,
html body #base-app .island-map.layered-assets .b-carpenter .b-img,
html body #base-app .island-map.layered-assets .b-quarry .b-img{
    scale:calc(var(--tier-growth) * .82)!important;
}

html body #base-app .island-map.layered-assets .b-shipyard .b-img{
    width:96%!important;
    height:96%!important;
    left:2%!important;
    right:auto!important;
    bottom:4%!important;
}

html body #base-app .island-map.layered-assets .b-shipyard::before{
    left:27%!important;
    right:27%!important;
    bottom:5%!important;
}

html body #base-app .island-map.layered-assets .building.unbuilt::before,
html body #base-app .island-map.layered-assets .building.unbuilt::after{
    display:none!important;
}

/* Speedup inventory entry in the fixed island menu. */
@media(min-width:1001px){
    html body #base-app .island-map.layered-assets .building-dock{
        grid-template-columns:repeat(9,minmax(0,1fr))!important;
    }
}

html body #base-app .speedup-menu-tab .speedup-menu-logo{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    height:42px!important;
    border-radius:50%!important;
    color:#3b2108!important;
    background:radial-gradient(circle at 35% 28%,#fff1a8 0%,#f3b52e 42%,#b86a12 76%,#6d3507 100%)!important;
    border:2px solid #ffe393!important;
    box-shadow:0 3px 0 #5a2d09,0 5px 10px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.72)!important;
    pointer-events:none!important;
}

html body #base-app .speedup-menu-tab .speedup-menu-logo svg{
    width:25px!important;
    height:25px!important;
    padding:0!important;
    color:#3b2108!important;
    background:transparent!important;
    border:0!important;
}

html body #base-app .speedup-system-card.menu-focus{
    animation:speedupMenuFocus 1.1s ease-out 1;
}

@keyframes speedupMenuFocus{
    0%{box-shadow:0 0 0 0 rgba(255,199,67,.85)}
    55%{box-shadow:0 0 0 5px rgba(255,199,67,.28),0 0 22px rgba(255,180,45,.38)}
    100%{box-shadow:0 0 0 0 rgba(255,199,67,0)}
}

@media(max-width:1400px){
    html body #base-app .speedup-menu-tab .speedup-menu-logo{
        width:30px!important;
        height:30px!important;
    }
    html body #base-app .speedup-menu-tab .speedup-menu-logo svg{
        width:19px!important;
        height:19px!important;
    }
}

html body #base-app .speedup-open-btn{
    width:100%!important;
    min-height:48px!important;
    margin:8px 0 0!important;
    padding:6px 14px!important;
    display:grid!important;
    grid-template-columns:38px 1fr auto!important;
    align-items:center!important;
    gap:10px!important;
    border:1px solid #ffe08a!important;
    border-radius:10px!important;
    color:#2b1805!important;
    background:linear-gradient(180deg,#ffd663 0%,#e69620 55%,#aa5a10 100%)!important;
    box-shadow:0 4px 0 #693509,0 8px 15px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.65)!important;
    font-weight:950!important;
    cursor:pointer!important;
}

html body #base-app .speedup-open-btn[hidden]{display:none!important}
html body #base-app .speedup-open-btn:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}

html body #base-app .speedup-open-btn .speedup-open-icon{
    display:grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    color:#ffe991!important;
    background:#4b2909!important;
    border:1px solid rgba(255,238,161,.7)!important;
}

html body #base-app .speedup-open-btn svg{width:22px!important;height:22px!important}
html body #base-app .speedup-open-btn > span:not(.speedup-open-icon){text-align:left!important;font-size:14px!important}
html body #base-app .speedup-open-btn b{
    padding:5px 8px!important;
    border-radius:999px!important;
    color:#fff1bf!important;
    background:rgba(54,27,4,.82)!important;
    font-size:11px!important;
}

/* Inline speedups live directly under their active building/training control. */
@media(min-width:1001px){
    html body #base-app .island-map.layered-assets .building-dock{
        grid-template-columns:repeat(8,minmax(0,1fr))!important;
    }
}

html body #base-app .inline-speedup-panel{
    margin:9px 0 4px!important;
    padding:9px!important;
    border:1px solid rgba(184,125,35,.58)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,#f8ecd1,#e7d0a3)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 3px 7px rgba(54,31,11,.16)!important;
}

html body #base-app .inline-speedup-panel[hidden]{display:none!important}

html body #base-app .inline-speedup-head{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    margin:0 0 8px!important;
    color:#40250c!important;
}

html body #base-app .inline-speedup-logo{
    display:grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    border-radius:50%!important;
    color:#fff0a1!important;
    background:linear-gradient(180deg,#9a5c12,#5d3108)!important;
    border:1px solid #d99b34!important;
}

html body #base-app .inline-speedup-logo svg{width:19px!important;height:19px!important}
html body #base-app .inline-speedup-head strong{display:block!important;font-size:13px!important;line-height:1.1!important}
html body #base-app .inline-speedup-head small{display:block!important;margin-top:2px!important;color:#72512c!important;font-size:10px!important;line-height:1.2!important}

html body #base-app .inline-speedup-options{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
}

html body #base-app .inline-speedup-option{display:grid!important;gap:4px!important;min-width:0!important}
html body #base-app .inline-speedup-use,
html body #base-app .inline-speedup-buy{
    min-width:0!important;
    border-radius:7px!important;
    font-weight:900!important;
    cursor:pointer!important;
}

html body #base-app .inline-speedup-use{
    min-height:38px!important;
    padding:5px 7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:4px!important;
    color:#fff5cf!important;
    background:linear-gradient(180deg,#173b43,#0a2026)!important;
    border:1px solid #3d737b!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;
}

html body #base-app .inline-speedup-use b{padding:3px 5px!important;border-radius:999px!important;background:rgba(0,0,0,.38)!important;font-size:10px!important}
html body #base-app .inline-speedup-buy{
    min-height:24px!important;
    padding:3px 5px!important;
    color:#5b3209!important;
    background:#f4d88f!important;
    border:1px solid #c58a27!important;
    font-size:9px!important;
}

html body #base-app .inline-speedup-use:hover:not(:disabled),
html body #base-app .inline-speedup-buy:hover:not(:disabled){filter:brightness(1.08)!important;transform:translateY(-1px)!important}
html body #base-app .inline-speedup-use:disabled,
html body #base-app .inline-speedup-buy:disabled{opacity:.42!important;cursor:not-allowed!important}

/* Professional compact speedup controls: icon, duration and clean stock badge. */
html body #base-app .inline-speedup-panel{
    padding:10px!important;
    border-color:#c28a30!important;
    background:linear-gradient(180deg,#fbf0d7 0%,#ead5aa 100%)!important;
}

html body #base-app .inline-speedup-head{
    grid-template-columns:34px minmax(0,1fr) auto!important;
    gap:8px!important;
    padding-bottom:8px!important;
    border-bottom:1px solid rgba(126,81,24,.22)!important;
}

html body #base-app .inline-speedup-title{min-width:0!important}
html body #base-app .inline-speedup-title strong{display:block!important;color:#3b230c!important;font-size:13px!important}
html body #base-app .inline-speedup-title small{
    display:block!important;
    overflow:hidden!important;
    color:#75532d!important;
    font-size:10px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
}

html body #base-app .inline-speedup-remaining{
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    padding:5px 7px!important;
    border-radius:999px!important;
    color:#fff0bf!important;
    background:#56320d!important;
    font-size:9px!important;
    font-weight:900!important;
    white-space:nowrap!important;
}

html body #base-app .inline-speedup-remaining svg{width:12px!important;height:12px!important}
html body #base-app .inline-speedup-options{gap:7px!important}
html body #base-app .inline-speedup-option{display:block!important}

html body #base-app .inline-speedup-use{
    width:100%!important;
    min-height:52px!important;
    padding:6px!important;
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    grid-template-rows:1fr 1fr!important;
    align-items:center!important;
    gap:6px!important;
    border-color:#2b626c!important;
    background:linear-gradient(180deg,#17434c 0%,#09262d 100%)!important;
}

html body #base-app .inline-speedup-action-icon{
    display:grid!important;
    place-items:center!important;
    width:28px!important;
    height:28px!important;
    border-radius:50%!important;
    color:#442608!important;
    background:linear-gradient(180deg,#ffe27c,#d9951c)!important;
    border:1px solid #fff0a6!important;
    box-shadow:0 2px 0 #75400b!important;
    grid-column:1!important;
    grid-row:1/3!important;
}

html body #base-app .inline-speedup-action-icon svg{width:17px!important;height:17px!important}
html body #base-app .inline-speedup-use strong{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    color:#fff5d2!important;
    font-size:12px!important;
    line-height:1!important;
    white-space:nowrap!important;
}

html body #base-app .inline-speedup-use b{
    grid-column:2!important;
    grid-row:2!important;
    align-self:start!important;
    min-width:0!important;
    padding:1px 0 0!important;
    color:#e7cf8a!important;
    background:transparent!important;
    font-size:9px!important;
    line-height:1!important;
    text-align:left!important;
}

html body #base-app .inline-speedup-buy{
    width:100%!important;
    min-height:26px!important;
    margin-top:4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
}

html body #base-app .inline-speedup-buy img{width:16px!important;height:16px!important;object-fit:contain!important}
html body #base-app .inline-speedup-buy span{color:#56300a!important;font-size:10px!important;font-weight:950!important}

/* Keşif Divanı: merkezdeki gömülü pusulayı örten dairesel korsan pusulası. */
html body #base-app .island-map.layered-assets .b-research-hub{
    left:49.6%!important;
    top:44.5%!important;
    width:clamp(121px,8.45vw,144px)!important;
    height:clamp(121px,8.45vw,144px)!important;
    min-width:0!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:translate(-50%,-50%)!important;
    z-index:12!important;
}

html body #base-app .island-map.layered-assets .b-research-hub::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:102%!important;
    height:69%!important;
    border:0!important;
    border-radius:50%!important;
    background:
        radial-gradient(ellipse at center,
            rgba(62,42,22,.12) 0 67%,
            rgba(62,42,22,.06) 68% 70%,
            rgba(194,168,117,.72) 71% 74%,
            rgba(116,101,82,.68) 75% 77%,
            transparent 78%)!important;
    box-shadow:0 2px 3px rgba(48,34,18,.13)!important;
    opacity:.82!important;
    pointer-events:none!important;
    transform:translate(-50%,-50%)!important;
    filter:none!important;
    z-index:0!important;
}

html body #base-app .island-map.layered-assets .b-research-hub .research-hub-asset{
    display:block!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    pointer-events:none!important;
    transform:translate(-50%,-50%) scaleY(.68) rotateZ(45deg)!important;
    transform-origin:center!important;
    filter:drop-shadow(0 7px 4px rgba(43,25,9,.34))!important;
    transition:transform .16s ease,filter .16s ease!important;
    z-index:1!important;
}

html body #base-app .island-map.layered-assets .b-research-hub:hover .research-hub-asset,
html body #base-app .island-map.layered-assets .b-research-hub.active .research-hub-asset{
    transform:translate(-50%,calc(-50% - 2px)) scaleY(.68) rotateZ(45deg) scale(1.012)!important;
    filter:drop-shadow(0 7px 5px rgba(43,25,9,.38)) brightness(1.025)!important;
}

html body #base-app .island-map.layered-assets .b-research-hub:hover,
html body #base-app .island-map.layered-assets .b-research-hub.active{
    transform:translate(-50%,-50%)!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .b-research-hub:hover::before,
html body #base-app .island-map.layered-assets .b-research-hub.active::before{
    transform:translate(-50%,-50%)!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .torch-flicker{
    display:none!important;
}

html body #base-app .island-map.layered-assets .b-research-hub .research-hub-core{
    display:none!important;
}

html body #base-app .island-map.layered-assets .island-road-overlay{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:visible!important;
    pointer-events:none!important;
    z-index:2!important;
}

html body #base-app .island-map.layered-assets .island-road-overlay path{
    fill:none!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    filter:none!important;
}

html body #base-app .island-map.layered-assets .central-road-edge{
    stroke:#e2b65b!important;
    stroke-width:32!important;
    opacity:.48!important;
    filter:blur(1.4px)!important;
}

html body #base-app .island-map.layered-assets .central-road-fill{
    stroke:#edc263!important;
    stroke-width:27!important;
    opacity:.92!important;
}

html body #base-app .island-map.layered-assets .central-road-light{
    display:none!important;
}
