* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow: hidden;
}

html,
body {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    background-color: #f1f1f1;
}


main {
    height: 94%;
    width: 100%;
    position: relative;
}

footer{
    width: 100%;
    flex-grow: 1;
    background-color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #eee;
}
footer a{
    color: #eee;
    font-style: none;
}

footer a:link{
    text-decoration: none;
}


#main-container {
    height: 100%;
    width: 100%;
    position: absolute;
    background-color: #fff;

    >svg {
        height: 100%;
        width: 100%;
    }

}

#sub-container {
    height: 100%;
    width: 100%;
    position: absolute;
    background-color: #eee;
}

#sub-map {
    height: 100%;
    width: 100%;
    position: relative;
}

#sub-map>:nth-child(n) {
    position: absolute;
}

#sub-map>#close {
    right: 20px;
    top: 20px;
    height: 30px;
    z-index: 2;
}

@keyframes scaleIn {
    from {
        transform: scale(0);
        /* Starting point: 0% size */
    }

    to {
        transform: scale(1);
        /* Ending point: 100% size */
    }
}

#zoom-container{
    z-index: 1;
    height: 100%;
    width: 100%;
}

#zoom-container>#map-pic {
    height: 100%;
    width: 100%;
    object-fit: contain;
    transition: transform 0.1s ease-out; /* 让缩放更平滑 */
    transform-origin: center center;  /* 从图片中心开始缩放 */
}

.down-layer {
    z-index: 1;
}

.up-layer {
    z-index: 2;
}

.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.animated-img {
    animation-name: scaleIn;
    animation-duration: 0.6s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

.tag-border{
    stroke: black;
    stroke-width: 0.5;
}

.tag-font{
    font-size: 10px;
    font-weight:bold;
}