html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
    /* iOS Safari can block trusted-tap flows (e.g. geolocation prompt) with global `none`. */
    touch-action: manipulation;
    /* Support for iOS safe areas */
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    box-sizing: border-box;
}
#root, #ComposeTarget {
    width: 100vw;
    /* Fallback for older browsers */
    height: 100vh;
    /* Modern dynamic viewport height - works on both iOS Safari and Android Chrome */
    height: 100dvh;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
/* Safari-specific fix for older versions that don't support dvh */
@supports (-webkit-touch-callout: none) and (not (height: 100dvh)) {
    #root, #ComposeTarget {
        height: -webkit-fill-available;
    }
}
#root > .compose-web-column > div {
    position: relative;
    width: 100%;
    height: 100%;
}
canvas {
    display: block;
    width: 100vw !important;
    /* Fallback for older browsers */
    height: 100vh !important;
    /* Modern dynamic viewport height - works on both iOS Safari and Android Chrome */
    height: 100dvh !important;
}
/* Safari-specific fix for older versions that don't support dvh */
@supports (-webkit-touch-callout: none) and (not (height: 100dvh)) {
    canvas {
        height: -webkit-fill-available !important;
    }
}

#loading-spinner {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    /* Fallback for older browsers */
    height: 100%;
    /* Modern dynamic viewport height - works on both iOS Safari and Android Chrome */
    height: 100dvh;
    background: #FFFFFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.5s ease-out;
    /* Account for iOS safe areas */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
    box-sizing: border-box;
}
/* Safari-specific fix for older versions that don't support dvh */
@supports (-webkit-touch-callout: none) and (not (height: 100dvh)) {
    #loading-spinner {
        height: -webkit-fill-available;
    }
}

#loading-spinner.hidden {
    opacity: 0;
    pointer-events: none;
}

.spinner {
    width: 93px;
    height: 93px;
    border: 6px solid transparent;
    border-top: 6px solid #24408A;
    border-right: 6px solid #24408A;
    border-bottom: 6px solid #24408A;
    border-radius: 50%;
    animation: spin 1.2s linear infinite;
}

.loading-footer {
    position: absolute;
    /* Include safe-area-inset-bottom for iOS devices */
    bottom: calc(32px + env(safe-area-inset-bottom)); /* Matches Kotlin: 130dp container - 98dp logo = 32dp from bottom */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Adaptive footer positioning to match WelcomeScreen's LogoFooter */
@media (max-height: 800px) {
    .loading-footer {
        bottom: calc(24px + env(safe-area-inset-bottom)); /* MEDIUM screens (600-800px height) */
    }
}

@media (max-height: 600px) {
    .loading-footer {
        bottom: calc(16px + env(safe-area-inset-bottom)); /* SMALL screens (<600px height) */
    }
}

.loading-footer .welcome-logo {
    width: 180px; /* Matches Kotlin LogoFooter width */
    height: 98px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Poppins';
    src: url('composeResources/ekonobarguest.shared.generated.resources/font/Poppins-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-display: swap;
}
