/*
 * YeeStudio R3 narrow-screen, no-JS and legacy-WebView compatibility.
 */
:root {
    --yee-safe-top: env(safe-area-inset-top, 0px);
    --yee-safe-right: env(safe-area-inset-right, 0px);
    --yee-safe-bottom: env(safe-area-inset-bottom, 0px);
    --yee-safe-left: env(safe-area-inset-left, 0px);
}
html {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}
@supports (overflow: clip) {
    body { overflow-x: clip; }
}
*, *::before, *::after { box-sizing: border-box; }
body > *, main, header, footer, nav, section, article, aside,
.container, .container-fluid, .row, [class*="col-"], .card, .card-body,
.modal-content, .dialog-content, .policy-content, .privacy-content,
.error-content, .feature-content {
    min-width: 0;
}
img, picture, svg, video, canvas, iframe { max-width: 100%; }
pre, code, kbd, samp, .long-text, .long-url, .file-path,
.error-code, .error-message, .policy-content a, .privacy-content a {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}
pre {
    white-space: pre-wrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
table { max-width: 100%; }
.table-responsive, .table-scroll, .table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}
input, select, textarea, button {
    max-width: 100%;
    font: inherit;
}
button, [role="button"], a.btn, .navbar-toggler, .icon-button {
    touch-action: manipulation;
}
@media (pointer: coarse) {
    button, [role="button"], a.btn, .nav-link, .dropdown-item, .icon-button {
        min-height: 44px;
    }
    .icon-button, .navbar-toggler, .btn-close { min-width: 44px; }
}
:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}
html:not(.yee-js) #loading-screen,
html:not(.yee-js) .loading-screen,
html:not(.yee-js) #preloader,
html:not(.yee-js) .preloader,
html:not(.yee-js) .loading-overlay,
html:not(.yee-js) .loader-wrapper,
html.yee-loaded #loading-screen,
html.yee-loaded .loading-screen,
html.yee-loaded #preloader,
html.yee-loaded .preloader,
html.yee-loaded .loading-overlay,
html.yee-loaded .loader-wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
html:not(.yee-js) .wow,
html:not(.yee-js) [data-reveal],
html:not(.yee-js) [data-animate] {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}
.min-vh-100, .fullscreen, .full-screen, .loading-screen, .loader-wrapper {
    min-height: 100vh;
}
@supports (height: 100dvh) {
    .min-vh-100, .fullscreen, .full-screen, .loading-screen, .loader-wrapper {
        min-height: 100dvh;
    }
}
.fixed-bottom, .bottom-nav, .bottom-navigation, .mobile-bottom-nav, .mobile-tabbar {
    padding-bottom: .75rem;
    padding-bottom: max(.75rem, var(--yee-safe-bottom));
}
body.site-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
}
body.site-modal-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    background: rgba(8, 12, 22, .62);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}
dialog.site-dialog-fallback {
    display: block !important;
    position: fixed !important;
    z-index: 2147483001 !important;
    top: 50% !important;
    left: 50% !important;
    width: min(92vw, 44rem) !important;
    max-width: calc(100vw - 2rem - var(--yee-safe-left) - var(--yee-safe-right)) !important;
    max-height: calc(100vh - 2rem - var(--yee-safe-top) - var(--yee-safe-bottom)) !important;
    margin: 0 !important;
    overflow: auto !important;
    transform: translate(-50%, -50%) !important;
    -webkit-overflow-scrolling: touch;
}
@supports (height: 100dvh) {
    dialog.site-dialog-fallback {
        max-height: calc(100dvh - 2rem - var(--yee-safe-top) - var(--yee-safe-bottom)) !important;
    }
}
@media (max-width: 360px) {
    .container, .container-fluid {
        padding-left: 12px;
        padding-right: 12px;
        padding-left: max(12px, var(--yee-safe-left));
        padding-right: max(12px, var(--yee-safe-right));
    }
    .modal-dialog, dialog {
        max-width: calc(100vw - 24px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    pre, code, .error-code, .file-path { font-size: .875rem; }
}
@media (max-height: 500px) and (orientation: landscape) {
    dialog.site-dialog-fallback, .modal-dialog {
        max-height: calc(100dvh - 1rem - var(--yee-safe-top) - var(--yee-safe-bottom)) !important;
    }
    .hero, .hero-section, .app-hero {
        min-height: auto !important;
        padding-top: 4rem !important;
        padding-bottom: 2rem !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
    }
}
@media (forced-colors: active) {
    :focus-visible { outline: 2px solid CanvasText; }
    body.site-modal-open::before { background: Canvas; opacity: .75; }
}
