html,
body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    background: #050713;
}

#unity-container {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #050713;
}

#unity-canvas {
    width: 100%;
    height: 100%;
    display: block;
    background: #050713;
}

#unity-loading-bar {
    position: fixed;
    inset: 0;
    z-index: 10;
    display: none;
    place-items: center;
    background: #050713;
}

#unity-loading-content {
    position: relative;
    width: min(100vw, 46.13vh);
    max-height: 100vh;
    aspect-ratio: 786 / 1704;
    background: url('splash.png') center / 100% 100% no-repeat;
}

#unity-progress-bar-empty {
    position: absolute;
    left: 50%;
    bottom: 20.2%;
    width: 46.6%;
    height: 0.7%;
    min-height: 6px;
    transform: translateX(-50%);
    overflow: hidden;
    border-radius: 999px;
    background: url('loading-bg.png') center / 100% 100% no-repeat;
    box-shadow: 0 0 10px rgba(10, 5, 20, 0.55);
}

#unity-progress-bar-full {
    width: 0%;
    height: 100%;
    border-radius: inherit;
    background: url('loading-bar.png') left center / 100% 270% no-repeat;
    transition: width 120ms linear;
}

#loading-tip {
    position: absolute;
    left: 50%;
    top: 58.2%;
    width: 82%;
    min-height: 17.4%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

#loading-tip-title {
    width: 24.6%;
    height: auto;
    margin-bottom: 4.3%;
}

#loading-tip-text {
    width: 79.2%;
    height: auto;
    object-fit: contain;
}

#loading-tip-dots {
    position: absolute;
    left: 50%;
    bottom: -4.2%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(8px, min(1.8vw, 0.83vh), 14px);
}

.loading-tip-dot {
    width: clamp(8px, min(1.6vw, 0.73vh), 12px);
    height: clamp(8px, min(1.6vw, 0.73vh), 12px);
    image-rendering: auto;
    opacity: 0.45;
    transition: opacity 180ms ease, transform 180ms ease;
}

.loading-tip-dot.active {
    opacity: 1;
    transform: scale(1.08);
}

#unity-progress-text {
    position: absolute;
    left: 50%;
    bottom: 15.4%;
    width: 100%;
    transform: translateX(-50%);
    font-family: "Tomorrow", Arial, sans-serif;
    font-size: clamp(16px, min(3.6vw, 1.66vh), 28px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75);
}

#unity-warning {
    position: absolute;
    left: 50%;
    top: 5%;
    z-index: 20;
    max-width: min(90vw, 720px);
    transform: translateX(-50%);
    background: white;
    padding: 10px;
    display: none;
}
