/* Fallbacks precede newer CSS so older engines retain a usable layout. */
[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
html, body { touch-action: auto; }
html { overflow-x: hidden; }
.blur-circle { max-width: 100%; }
.blur-circle-1 { left: 0; }
.blur-circle-2 { right: 0; }
body { min-height: 100vh; min-height: 100dvh; }
.shell, .page-shell, .main-card, .brand-text { min-width: 0; }
.hero-title { overflow-wrap: anywhere; }
.flag-me { flex-shrink: 0; }
button, a.btn { touch-action: manipulation; }
a.btn { text-decoration: none; }
button:focus-visible, a:focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
.media-play-button {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    z-index: 8; max-width: 90%; min-height: 44px; padding: 10px 18px;
    border: 1px solid #fff; border-radius: 22px; background: rgba(15,23,42,.94);
    color: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
.connection-status { margin: 8px 0 0; text-align: center; color: #fbbf24; }
.connection-status:empty { display: none; }
.media-error { margin: 12px 0; padding: 10px; border-radius: 10px; background: #fee2e2; color: #991b1b; }
.secure-site-link { display: block; margin: 10px 0; color: #1d4ed8; }
.modal-overlay, .report-modal, .ban-overlay, .language-popup-overlay {
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    -webkit-backdrop-filter: blur(12px);
}
.modal-content, .moderation-card, .language-popup-card {
    max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.language-popup-list { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.small_video, .larg_video { min-width: 0; }
.small_video video, .larg_video video { display: block; }
@supports not (aspect-ratio: 16 / 9) {
    .small_video video, .larg_video video { height: 240px; }
}
@supports (padding: env(safe-area-inset-top)) {
    body {
        padding-top: max(12px, env(safe-area-inset-top));
        padding-right: max(12px, env(safe-area-inset-right));
        padding-bottom: max(12px, env(safe-area-inset-bottom));
        padding-left: max(12px, env(safe-area-inset-left));
    }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
