* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --screen-width: 1280px;
    --screen-height: 1100px;
}

body {
    font-family: 'Roboto Mono', monospace;
    background: #FFFFFF;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100vw;
    height: 100vh;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 50px;
}

.container {
    width: var(--screen-width);
    min-height: var(--screen-height);
    position: relative;
    transform-origin: center top;
    padding-bottom: 100px;
}

/* Logo */
.logo {
    position: absolute;
    left: 77px;
    top: 76px;
    width: 98px;
    height: 65px;
    z-index: 100;
    transition: transform 0.3s ease;
}

.logo:hover {
    transform: scale(1.05);
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Language Icon */
.language-icon {
    position: absolute;
    right: calc(100% - 1153px - 50px);
    top: 74px;
    width: 50px;
    height: 50px;
    z-index: 100;
    transition: transform 0.3s ease;
}

.language-icon:hover {
    transform: scale(1.1);
}

.language-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Select Region Title */
.select-region-title {
    position: absolute;
    left: 50%;
    top: 192px;
    width: 158px;
    height: 31px;
    font-family: 'Roboto Slab', serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 24px;
    color: #000000;
    text-align: left;
    z-index: 50;
    transform: translateX(-50%);
}

/* For 1280px screen, use specific right positioning */
@media (min-width: 1280px) {
    .select-region-title {
        left: auto;
        right: 691px;
        transform: none;
    }
}

/* Region List */
.region-list {
    position: absolute;
    left: 50%;
    width: 419px;
    z-index: 50;
    transform: translateX(-50%);
}

/* For 1280px screen, use specific right positioning */
@media (min-width: 1280px) {
    .region-list {
        left: auto;
        right: 430px;
        transform: none;
    }
}

.region-item {
    position: absolute;
    width: 419px;
    height: 64px;
    display: flex;
    align-items: center;
    font-family: 'Roboto Mono', monospace;
    font-weight: 400;
    font-size: 32px;
    line-height: 28px;
    color: #000000;
    cursor: pointer;
    transition: transform 0.3s ease;
    text-align: left;
    user-select: none;
    padding-left: 0;
}

/* Position each item with 46px spacing */
.region-item:nth-child(1) { top: 240px; }
.region-item:nth-child(2) { top: 286px; }
.region-item:nth-child(3) { top: 332px; }
.region-item:nth-child(4) { top: 378px; }
.region-item:nth-child(5) { top: 424px; }
.region-item:nth-child(6) { top: 470px; }
.region-item:nth-child(7) { top: 516px; }
.region-item:nth-child(8) { top: 562px; }
.region-item:nth-child(9) { top: 608px; }
.region-item:nth-child(10) { top: 654px; }
.region-item:nth-child(11) { top: 700px; }
.region-item:nth-child(12) { top: 746px; }

.region-item:hover {
    transform: scale(1.5);
    transform-origin: left center;
}

.region-item .currency {
    margin-right: 8px;
}

.region-item .region-name {
    margin-left: 8px;
}

/* Footer */
.footer {
    position: absolute;
    left: 50%;
    top: 804px;
    width: 239px;
    height: 29px;
    z-index: 100;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    transform: translateX(-50%);
}

.footer a {
    font-family: 'Roboto Mono', monospace;
    font-weight: 400;
    font-size: 12px;
    line-height: 24px;
    color: #000000;
    text-decoration: none;
    text-align: center;
    transition: opacity 0.3s ease;
}

.footer a:hover {
    opacity: 0.7;
}

/* Responsive Scaling */
@media (max-width: 1280px) {
    .container {
        transform: scale(calc(100vw / var(--screen-width)));
        transform-origin: center top;
    }
}

@media (max-height: 1100px) {
    .container {
        transform: scale(calc(100vh / var(--screen-height)));
        transform-origin: center top;
    }
}

@media (max-width: 1280px) and (max-height: 1100px) {
    .container {
        transform: scale(min(calc(100vw / var(--screen-width)), calc(100vh / var(--screen-height))));
        transform-origin: center top;
    }
}


